diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 03436231162..295c704e4f4 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -85,7 +85,7 @@ jobs: echo "✓ docker_tags: ${{ steps.extract_version.outputs.docker_tags }}" echo "✓ registry_image: ${{ steps.extract_version.outputs.registry_image }}" - name: Cache NPM - uses: runs-on/cache@v4 + uses: runs-on/cache@v5 with: path: | frontend/node_modules @@ -93,7 +93,7 @@ jobs: key: nodejs-x64-${{ hashFiles('**/package-lock.json') }} restore-keys: nodejs-x64- - name: Cache angular - uses: runs-on/cache@v4 + uses: runs-on/cache@v5 with: path: frontend/.angular key: angular-${{ github.ref }} diff --git a/.github/workflows/pullpreview.yml b/.github/workflows/pullpreview.yml index ae3324f1907..bc62f22c36f 100644 --- a/.github/workflows/pullpreview.yml +++ b/.github/workflows/pullpreview.yml @@ -48,7 +48,7 @@ jobs: compose_files: docker-compose.pullpreview.yml provider: hetzner region: fsn1 - instance_type: cx53 + instance_type: cpx42 ports: 80,443 default_port: 443 ttl: 10d diff --git a/.github/workflows/test-core.yml b/.github/workflows/test-core.yml index fb9a5cf3d5c..bff718303ff 100644 --- a/.github/workflows/test-core.yml +++ b/.github/workflows/test-core.yml @@ -38,7 +38,7 @@ jobs: - uses: actions/checkout@v6 - name: Cache DOCKER id: cache_docker - uses: runs-on/cache@v4 + uses: runs-on/cache@v5 with: path: cache/docker # Note: no restore keys since whenever the files below change, we want to rebuild the full image from scratch @@ -47,28 +47,28 @@ jobs: if: steps.cache_docker.outputs.cache-hit == 'true' run: docker load -i cache/docker/image.tar - name: Cache GEM - uses: runs-on/cache@v4 + uses: runs-on/cache@v5 with: path: cache/bundle key: gem-trixie-${{ hashFiles('.ruby-version') }}-${{ hashFiles('Gemfile.lock') }} restore-keys: | gem-trixie-${{ hashFiles('.ruby-version') }}- - name: Cache NPM - uses: runs-on/cache@v4 + uses: runs-on/cache@v5 with: path: cache/node key: node-${{ hashFiles('package.json', 'frontend/package-lock.json') }} restore-keys: | node- - name: Cache ANGULAR - uses: runs-on/cache@v4 + uses: runs-on/cache@v5 with: path: cache/angular key: angular-${{ hashFiles('package.json', 'frontend/package-lock.json') }} restore-keys: | angular- - name: Cache TEST RUNTIME - uses: runs-on/cache@v4 + uses: runs-on/cache@v5 with: path: cache/runtime-logs key: runtime-logs-${{ github.head_ref || github.ref }}-${{ github.sha }} diff --git a/.github/workflows/version-check.yml b/.github/workflows/version-check.yml index c738fc7ba88..3798a0269fc 100644 --- a/.github/workflows/version-check.yml +++ b/.github/workflows/version-check.yml @@ -32,7 +32,7 @@ jobs: - name: Add comment if versions differ if: steps.version-check.outputs.version_mismatch == 'true' - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 with: header: version-mismatch-comment message: | @@ -50,7 +50,7 @@ jobs: - The work package version OR your pull request target branch is correct - name: Version check passed if: steps.version-check.outputs.version_mismatch != 'true' - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 with: header: version-mismatch-comment delete: true diff --git a/.rubocop.yml b/.rubocop.yml index ed6d645fa8d..415242606cd 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -60,7 +60,8 @@ Layout/MultilineOperationIndentation: Enabled: false Lint/AmbiguousBlockAssociation: - AllowedMethods: [change] + AllowedMethods: + - change Lint/AmbiguousOperator: Enabled: false @@ -147,9 +148,9 @@ Naming/PredicatePrefix: Naming/VariableNumber: AllowedPatterns: - - '\w_20\d\d' # allow dates like christmas_2022 or date_2034_04_12 - - '\w\d++(_\d++)+' # allow hierarchical data like child1_2_5 (second + in regex is possessive qualifier) - - 'custom_field_\d+' # allow custom field method names to be called with send :custom_field_1001 + - "\\w_20\\d\\d" # allow dates like christmas_2022 or date_2034_04_12 + - "\\w\\d++(_\\d++)+" # allow hierarchical data like child1_2_5 (second + in regex is possessive qualifier) + - "custom_field_\\d+" # allow custom field method names to be called with send :custom_field_1001 OpenProject/AddPreviewForViewComponent: Include: @@ -181,6 +182,10 @@ Rails/DynamicFindBy: - find_by_login - find_by_mail - find_by_plaintext_value + - find_by_rss_key + - find_by_unique + - find_by_unique! + - find_by_api_key # Allow reorder to prevent find each cop triggering Rails/FindEach: @@ -333,6 +338,7 @@ RSpec/SpecFilePathFormat: CustomTransform: OpenIDConnect: openid_connect OAuthClients: oauth_clients + XWiki: xwiki XWikiProviders: xwiki_providers EnforcedInflector: active_support IgnoreMethods: true @@ -402,7 +408,8 @@ Style/FormatString: Enabled: false Style/FormatStringToken: - AllowedMethods: [redirect] + AllowedMethods: + - redirect Style/FrozenStringLiteralComment: Enabled: true diff --git a/Gemfile b/Gemfile index 1e18d5725cd..412ea426131 100644 --- a/Gemfile +++ b/Gemfile @@ -124,10 +124,10 @@ gem "sys-filesystem", "~> 1.5.0", require: false gem "bcrypt", "~> 3.1.22" gem "multi_json", "~> 1.20.0" -gem "oj", "~> 3.16.16" +gem "oj", "~> 3.17.0" gem "daemons" -gem "good_job", "~> 4.14.2" # update should be done manually in sync with saas-openproject version. +gem "good_job", "~> 4.18.1" # update should be done manually in sync with saas-openproject version. gem "rack-protection", "~> 3.2.0" @@ -161,7 +161,7 @@ gem "ttfunk", "~> 1.7.0" # remove after https://github.com/prawnpdf/prawn/issues # prawn implicitly depends on matrix gem no longer in ruby core with 3.1 gem "matrix", "~> 0.4.3" -gem "mcp", "~> 0.10.0" +gem "mcp", "~> 0.14.0" gem "meta-tags", "~> 2.23.0" @@ -237,10 +237,10 @@ gem "yabeda-rails" # opentelemetry gem "opentelemetry-exporter-otlp", "~> 0.33.0", require: false -gem "opentelemetry-instrumentation-all", "~> 0.91.0", require: false +gem "opentelemetry-instrumentation-all", "~> 0.93.0", require: false gem "opentelemetry-sdk", "~> 1.10", require: false -gem "view_component", "~> 4.6.0" +gem "view_component", "~> 4.8.0" # Lookbook gem "lookbook", "2.3.14" @@ -384,7 +384,7 @@ group :development, :test do gem "active_record_doctor", "~> 2.0.1" end -gem "bootsnap", "~> 1.23.0", require: false +gem "bootsnap", "~> 1.24.0", require: false # API gems gem "grape", "~> 3.2.0" @@ -405,7 +405,7 @@ gem "disposable", "~> 0.6.2" gem "dentaku", "~> 3.5" # Used for more powerful counter caches -gem "counter_culture", "~> 3.11" +gem "counter_culture", "~> 3.13" group :postgres do gem "pg", "~> 1.6.2" diff --git a/Gemfile.lock b/Gemfile.lock index eb2bb8a81fb..73046f9e47a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -356,8 +356,8 @@ GEM awesome_nested_set (3.9.0) activerecord (>= 4.0.0, < 8.2) aws-eventstream (1.4.0) - aws-partitions (1.1238.0) - aws-sdk-core (3.244.0) + aws-partitions (1.1242.0) + aws-sdk-core (3.246.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -365,10 +365,10 @@ GEM bigdecimal jmespath (~> 1, >= 1.6.1) logger - aws-sdk-kms (1.123.0) + aws-sdk-kms (1.124.0) aws-sdk-core (~> 3, >= 3.244.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.219.0) + aws-sdk-s3 (1.220.0) aws-sdk-core (~> 3, >= 3.244.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -377,12 +377,12 @@ GEM aws-sigv4 (~> 1.5) aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) - axe-core-api (4.11.2) + axe-core-api (4.11.3) dumb_delegator ostruct virtus - axe-core-rspec (4.11.2) - axe-core-api (= 4.11.2) + axe-core-rspec (4.11.3) + axe-core-api (= 4.11.3) dumb_delegator ostruct virtus @@ -400,9 +400,9 @@ GEM erubi (~> 1.4) parser (>= 2.4) smart_properties - bigdecimal (4.1.1) + bigdecimal (4.1.2) bindata (2.5.1) - bootsnap (1.23.0) + bootsnap (1.24.1) msgpack (~> 1.2) brakeman (8.0.4) racc @@ -462,14 +462,14 @@ GEM cose (1.3.1) cbor (~> 0.5.9) openssl-signature_algorithm (~> 1.0) - counter_culture (3.13.0) + counter_culture (3.13.1) activerecord (>= 4.2) activesupport (>= 4.2) crack (1.0.1) bigdecimal rexml crass (1.0.6) - css_parser (2.0.0) + css_parser (2.1.0) addressable csv (3.3.5) cuprite (0.17) @@ -517,7 +517,7 @@ GEM concurrent-ruby (~> 1.0) dry-core (~> 1.1) zeitwerk (~> 2.6) - dry-monads (1.9.0) + dry-monads (1.10.0) concurrent-ruby (~> 1.0) dry-core (~> 1.1) zeitwerk (~> 2.6) @@ -558,7 +558,7 @@ GEM activemodel equivalent-xml (0.6.0) nokogiri (>= 1.4.3) - erb (6.0.3) + erb (6.0.4) erb_lint (0.9.0) activesupport better_html (>= 2.0.1) @@ -603,7 +603,7 @@ GEM ffi (1.17.4-x86_64-linux-gnu) ffi (1.17.4-x86_64-linux-musl) flamegraph (0.9.5) - fog-aws (3.33.1) + fog-aws (3.33.2) base64 (>= 0.2, < 0.4) fog-core (~> 2.6) fog-json (~> 1.1) @@ -613,7 +613,7 @@ GEM excon (~> 1.0) formatador (>= 0.2, < 2.0) mime-types - fog-json (1.2.0) + fog-json (1.3.0) fog-core multi_json (~> 1.10) fog-xml (0.1.5) @@ -633,7 +633,7 @@ GEM glob (0.4.0) globalid (1.3.0) activesupport (>= 6.1) - good_job (4.14.2) + good_job (4.18.1) activejob (>= 6.1.0) activerecord (>= 6.1.0) concurrent-ruby (>= 1.3.1) @@ -648,7 +648,7 @@ GEM mini_mime (~> 1.1) representable (~> 3.0) retriable (~> 3.1) - google-apis-gmail_v1 (0.47.0) + google-apis-gmail_v1 (0.48.0) google-apis-core (>= 0.15.0, < 2.a) google-cloud-env (2.3.1) base64 (~> 0.2) @@ -685,7 +685,7 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) - grape (3.2.0) + grape (3.2.1) activesupport (>= 7.2) dry-configurable dry-types (>= 1.1) @@ -745,16 +745,16 @@ GEM nokogiri (>= 1.6) interception (0.5) io-console (0.8.2) - irb (1.17.0) + irb (1.18.0) pp (>= 0.6.0) prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso8601 (0.13.0) jmespath (1.6.2) - job-iteration (1.13.0) + job-iteration (1.13.1) activejob (>= 7.0) - json (2.19.3) + json (2.19.5) json-jwt (1.17.0) activesupport (>= 4.2) aes_key_wrap @@ -828,7 +828,7 @@ GEM marcel (1.0.4) markly (0.16.0) matrix (0.4.3) - mcp (0.10.0) + mcp (0.14.0) json-schema (>= 4.1) messagebird-rest (5.0.0) jwt (< 4) @@ -838,21 +838,21 @@ GEM mime-types (3.7.0) logger mime-types-data (~> 3.2025, >= 3.2025.0507) - mime-types-data (3.2026.0407) + mime-types-data (3.2026.0414) mini_magick (5.3.1) logger mini_mime (1.1.5) - minitest (6.0.4) + minitest (6.0.6) drb (~> 2.0) prism (~> 1.5) msgpack (1.8.0) multi_json (1.20.1) - mustermann (3.1.0) + mustermann (4.0.0) mustermann-grape (1.1.0) mustermann (>= 1.0.0) net-http (0.9.1) uri (>= 0.11.1) - net-imap (0.6.3) + net-imap (0.6.4) date net-protocol net-ldap (0.20.0) @@ -865,23 +865,23 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.5) - nokogiri (1.19.2-aarch64-linux-gnu) + nokogiri (1.19.3-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.19.2-aarch64-linux-musl) + nokogiri (1.19.3-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.19.2-arm-linux-gnu) + nokogiri (1.19.3-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.19.2-arm-linux-musl) + nokogiri (1.19.3-arm-linux-musl) racc (~> 1.4) - nokogiri (1.19.2-arm64-darwin) + nokogiri (1.19.3-arm64-darwin) racc (~> 1.4) - nokogiri (1.19.2-x86_64-darwin) + nokogiri (1.19.3-x86_64-darwin) racc (~> 1.4) - nokogiri (1.19.2-x86_64-linux-gnu) + nokogiri (1.19.3-x86_64-linux-gnu) racc (~> 1.4) - nokogiri (1.19.2-x86_64-linux-musl) + nokogiri (1.19.3-x86_64-linux-musl) racc (~> 1.4) - oj (3.16.17) + oj (3.17.0) bigdecimal (>= 3.0) ostruct (>= 0.2) okcomputer (1.19.1) @@ -929,155 +929,155 @@ GEM opentelemetry-common (~> 0.20) opentelemetry-sdk (~> 1.10) opentelemetry-semantic_conventions - opentelemetry-helpers-mysql (0.5.0) + opentelemetry-helpers-mysql (0.6.0) opentelemetry-api (~> 1.7) opentelemetry-common (~> 0.21) - opentelemetry-helpers-sql (0.3.0) + opentelemetry-helpers-sql (0.4.0) opentelemetry-api (~> 1.7) - opentelemetry-helpers-sql-processor (0.4.0) + opentelemetry-helpers-sql-processor (0.5.0) opentelemetry-api (~> 1.0) opentelemetry-common (~> 0.21) - opentelemetry-instrumentation-action_mailer (0.6.1) + opentelemetry-instrumentation-action_mailer (0.8.0) opentelemetry-instrumentation-active_support (~> 0.10) - opentelemetry-instrumentation-action_pack (0.16.0) + opentelemetry-instrumentation-action_pack (0.18.0) opentelemetry-instrumentation-rack (~> 0.29) - opentelemetry-instrumentation-action_view (0.11.2) + opentelemetry-instrumentation-action_view (0.13.0) opentelemetry-instrumentation-active_support (~> 0.10) - opentelemetry-instrumentation-active_job (0.10.1) + opentelemetry-instrumentation-active_job (0.12.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-active_model_serializers (0.24.0) + opentelemetry-instrumentation-active_model_serializers (0.25.0) opentelemetry-instrumentation-active_support (>= 0.7.0) - opentelemetry-instrumentation-active_record (0.11.1) + opentelemetry-instrumentation-active_record (0.13.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-active_storage (0.3.1) + opentelemetry-instrumentation-active_storage (0.5.0) opentelemetry-instrumentation-active_support (~> 0.10) - opentelemetry-instrumentation-active_support (0.10.1) + opentelemetry-instrumentation-active_support (0.12.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-all (0.91.0) - opentelemetry-instrumentation-active_model_serializers (~> 0.24.0) - opentelemetry-instrumentation-anthropic (~> 0.4.0) - opentelemetry-instrumentation-aws_lambda (~> 0.6.0) - opentelemetry-instrumentation-aws_sdk (~> 0.11.0) - opentelemetry-instrumentation-bunny (~> 0.24.0) - opentelemetry-instrumentation-concurrent_ruby (~> 0.24.0) - opentelemetry-instrumentation-dalli (~> 0.29.2) - opentelemetry-instrumentation-delayed_job (~> 0.25.1) - opentelemetry-instrumentation-ethon (~> 0.28.0) - opentelemetry-instrumentation-excon (~> 0.28.0) - opentelemetry-instrumentation-faraday (~> 0.32.0) - opentelemetry-instrumentation-grape (~> 0.6.0) - opentelemetry-instrumentation-graphql (~> 0.31.2) - opentelemetry-instrumentation-grpc (~> 0.4.1) - opentelemetry-instrumentation-gruf (~> 0.5.0) - opentelemetry-instrumentation-http (~> 0.29.0) - opentelemetry-instrumentation-http_client (~> 0.28.0) - opentelemetry-instrumentation-httpx (~> 0.7.0) - opentelemetry-instrumentation-koala (~> 0.23.0) - opentelemetry-instrumentation-lmdb (~> 0.25.0) - opentelemetry-instrumentation-mongo (~> 0.25.0) - opentelemetry-instrumentation-mysql2 (~> 0.33.0) - opentelemetry-instrumentation-net_http (~> 0.28.0) - opentelemetry-instrumentation-pg (~> 0.35.0) - opentelemetry-instrumentation-que (~> 0.12.0) - opentelemetry-instrumentation-racecar (~> 0.6.1) - opentelemetry-instrumentation-rack (~> 0.30.0) - opentelemetry-instrumentation-rails (~> 0.40.0) - opentelemetry-instrumentation-rake (~> 0.5.0) - opentelemetry-instrumentation-rdkafka (~> 0.9.0) - opentelemetry-instrumentation-redis (~> 0.28.0) - opentelemetry-instrumentation-resque (~> 0.8.0) - opentelemetry-instrumentation-restclient (~> 0.27.0) - opentelemetry-instrumentation-ruby_kafka (~> 0.24.0) - opentelemetry-instrumentation-sidekiq (~> 0.28.1) - opentelemetry-instrumentation-sinatra (~> 0.29.0) - opentelemetry-instrumentation-trilogy (~> 0.67.0) - opentelemetry-instrumentation-anthropic (0.4.0) + opentelemetry-instrumentation-all (0.93.0) + opentelemetry-instrumentation-active_model_serializers (~> 0.25.0) + opentelemetry-instrumentation-anthropic (~> 0.5.0) + opentelemetry-instrumentation-aws_lambda (~> 0.7.0) + opentelemetry-instrumentation-aws_sdk (~> 0.12.0) + opentelemetry-instrumentation-bunny (~> 0.25.0) + opentelemetry-instrumentation-concurrent_ruby (~> 0.25.0) + opentelemetry-instrumentation-dalli (~> 0.30.0) + opentelemetry-instrumentation-delayed_job (~> 0.26.0) + opentelemetry-instrumentation-ethon (~> 0.29.0) + opentelemetry-instrumentation-excon (~> 0.29.0) + opentelemetry-instrumentation-faraday (~> 0.33.0) + opentelemetry-instrumentation-grape (~> 0.7.0) + opentelemetry-instrumentation-graphql (~> 0.32.0) + opentelemetry-instrumentation-grpc (~> 0.5.0) + opentelemetry-instrumentation-gruf (~> 0.6.0) + opentelemetry-instrumentation-http (~> 0.30.0) + opentelemetry-instrumentation-http_client (~> 0.29.0) + opentelemetry-instrumentation-httpx (~> 0.8.0) + opentelemetry-instrumentation-koala (~> 0.24.0) + opentelemetry-instrumentation-lmdb (~> 0.26.0) + opentelemetry-instrumentation-mongo (~> 0.26.0) + opentelemetry-instrumentation-mysql2 (~> 0.34.0) + opentelemetry-instrumentation-net_http (~> 0.29.0) + opentelemetry-instrumentation-pg (~> 0.36.0) + opentelemetry-instrumentation-que (~> 0.13.0) + opentelemetry-instrumentation-racecar (~> 0.7.0) + opentelemetry-instrumentation-rack (~> 0.31.0) + opentelemetry-instrumentation-rails (~> 0.42.0) + opentelemetry-instrumentation-rake (~> 0.6.0) + opentelemetry-instrumentation-rdkafka (~> 0.10.0) + opentelemetry-instrumentation-redis (~> 0.29.0) + opentelemetry-instrumentation-resque (~> 0.9.0) + opentelemetry-instrumentation-restclient (~> 0.28.0) + opentelemetry-instrumentation-ruby_kafka (~> 0.25.0) + opentelemetry-instrumentation-sidekiq (~> 0.29.0) + opentelemetry-instrumentation-sinatra (~> 0.30.0) + opentelemetry-instrumentation-trilogy (~> 0.68.0) + opentelemetry-instrumentation-anthropic (0.5.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-aws_lambda (0.6.0) + opentelemetry-instrumentation-aws_lambda (0.7.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-aws_sdk (0.11.0) + opentelemetry-instrumentation-aws_sdk (0.12.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-base (0.25.0) + opentelemetry-instrumentation-base (0.26.0) opentelemetry-api (~> 1.7) opentelemetry-common (~> 0.21) opentelemetry-registry (~> 0.1) - opentelemetry-instrumentation-bunny (0.24.0) + opentelemetry-instrumentation-bunny (0.25.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-concurrent_ruby (0.24.0) + opentelemetry-instrumentation-concurrent_ruby (0.25.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-dalli (0.29.2) + opentelemetry-instrumentation-dalli (0.30.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-delayed_job (0.25.1) + opentelemetry-instrumentation-delayed_job (0.26.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-ethon (0.28.0) + opentelemetry-instrumentation-ethon (0.29.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-excon (0.28.0) + opentelemetry-instrumentation-excon (0.29.1) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-faraday (0.32.0) + opentelemetry-instrumentation-faraday (0.33.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-grape (0.6.0) + opentelemetry-instrumentation-grape (0.7.0) opentelemetry-instrumentation-rack (~> 0.29) - opentelemetry-instrumentation-graphql (0.31.2) + opentelemetry-instrumentation-graphql (0.32.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-grpc (0.4.1) + opentelemetry-instrumentation-grpc (0.5.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-gruf (0.5.0) + opentelemetry-instrumentation-gruf (0.6.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-http (0.29.0) + opentelemetry-instrumentation-http (0.30.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-http_client (0.28.0) + opentelemetry-instrumentation-http_client (0.29.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-httpx (0.7.0) + opentelemetry-instrumentation-httpx (0.8.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-koala (0.23.0) + opentelemetry-instrumentation-koala (0.24.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-lmdb (0.25.0) + opentelemetry-instrumentation-lmdb (0.26.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-mongo (0.25.1) + opentelemetry-instrumentation-mongo (0.26.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-mysql2 (0.33.0) + opentelemetry-instrumentation-mysql2 (0.34.0) opentelemetry-helpers-mysql opentelemetry-helpers-sql opentelemetry-helpers-sql-processor opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-net_http (0.28.0) + opentelemetry-instrumentation-net_http (0.29.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-pg (0.35.0) + opentelemetry-instrumentation-pg (0.36.0) opentelemetry-helpers-sql opentelemetry-helpers-sql-processor opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-que (0.12.0) + opentelemetry-instrumentation-que (0.13.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-racecar (0.6.1) + opentelemetry-instrumentation-racecar (0.7.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-rack (0.30.0) + opentelemetry-instrumentation-rack (0.31.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-rails (0.40.0) - opentelemetry-instrumentation-action_mailer (~> 0.6) - opentelemetry-instrumentation-action_pack (~> 0.15) - opentelemetry-instrumentation-action_view (~> 0.11) - opentelemetry-instrumentation-active_job (~> 0.10) - opentelemetry-instrumentation-active_record (~> 0.11) - opentelemetry-instrumentation-active_storage (~> 0.3) - opentelemetry-instrumentation-active_support (~> 0.10) - opentelemetry-instrumentation-concurrent_ruby (~> 0.23) - opentelemetry-instrumentation-rake (0.5.0) + opentelemetry-instrumentation-rails (0.42.0) + opentelemetry-instrumentation-action_mailer (~> 0.7) + opentelemetry-instrumentation-action_pack (~> 0.17) + opentelemetry-instrumentation-action_view (~> 0.12) + opentelemetry-instrumentation-active_job (~> 0.11) + opentelemetry-instrumentation-active_record (~> 0.12) + opentelemetry-instrumentation-active_storage (~> 0.4) + opentelemetry-instrumentation-active_support (~> 0.11) + opentelemetry-instrumentation-concurrent_ruby (~> 0.25) + opentelemetry-instrumentation-rake (0.6.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-rdkafka (0.9.0) + opentelemetry-instrumentation-rdkafka (0.10.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-redis (0.28.0) + opentelemetry-instrumentation-redis (0.29.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-resque (0.8.0) + opentelemetry-instrumentation-resque (0.9.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-restclient (0.27.0) + opentelemetry-instrumentation-restclient (0.28.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-ruby_kafka (0.24.0) + opentelemetry-instrumentation-ruby_kafka (0.25.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-sidekiq (0.28.1) + opentelemetry-instrumentation-sidekiq (0.29.0) opentelemetry-instrumentation-base (~> 0.25) - opentelemetry-instrumentation-sinatra (0.29.0) + opentelemetry-instrumentation-sinatra (0.30.0) opentelemetry-instrumentation-rack (~> 0.29) - opentelemetry-instrumentation-trilogy (0.67.0) + opentelemetry-instrumentation-trilogy (0.68.0) opentelemetry-helpers-mysql opentelemetry-helpers-sql opentelemetry-helpers-sql-processor @@ -1096,16 +1096,16 @@ GEM optimist (3.2.1) os (1.1.4) ostruct (0.6.3) - ox (2.14.23) + ox (2.14.25) bigdecimal (>= 3.0) - pagy (43.5.1) + pagy (43.5.3) json uri yaml paper_trail (17.0.0) activerecord (>= 7.1) request_store (~> 1.4) - parallel (2.0.1) + parallel (2.1.0) parallel_tests (4.10.1) parallel parser (3.3.11.1) @@ -1198,8 +1198,8 @@ GEM multi_json puma (7.2.0) nio4r (~> 2.0) - puma-plugin-statsd (2.7.0) - puma (>= 5.0, < 8) + puma-plugin-statsd (2.8.0) + puma (>= 5.0, < 9) raabro (1.4.0) racc (1.8.1) rack (2.2.23) @@ -1269,13 +1269,12 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.4.2) - rake-compiler-dock (1.11.0) + rake-compiler-dock (1.12.0) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rb_sys (0.9.126) - json (>= 2) - rake-compiler-dock (= 1.11.0) + rb_sys (0.9.127) + rake-compiler-dock (= 1.12.0) rbtrace (0.5.3) ffi (>= 1.0.6) msgpack (>= 0.4.3) @@ -1349,9 +1348,9 @@ GEM rubocop-ast (1.49.1) parser (>= 3.3.7.2) prism (~> 1.7) - rubocop-capybara (2.22.1) + rubocop-capybara (2.23.0) lint_roller (~> 1.1) - rubocop (~> 1.72, >= 1.72.1) + rubocop (~> 1.81) rubocop-factory_bot (2.28.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) @@ -1421,7 +1420,7 @@ GEM multi_json (~> 1.10) simpleidn (0.2.3) smart_properties (1.17.0) - spreadsheet (1.3.4) + spreadsheet (1.3.5) bigdecimal logger ruby-ole @@ -1477,7 +1476,7 @@ GEM turbo-rails (>= 1.3.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2026.1) + tzinfo-data (1.2026.2) tzinfo (>= 1.0.0) uber (0.1.0) unicode-display_width (3.2.0) @@ -1493,7 +1492,7 @@ GEM public_suffix vcr (6.4.0) vernier (1.10.0) - view_component (4.6.0) + view_component (4.8.0) actionview (>= 7.1.0) activesupport (>= 7.1.0) concurrent-ruby (~> 1) @@ -1554,7 +1553,7 @@ GEM railties yabeda (~> 0.8) yaml (0.4.0) - yard (0.9.42) + yard (0.9.43) zeitwerk (2.7.5) PLATFORMS @@ -1587,7 +1586,7 @@ DEPENDENCIES aws-sdk-s3 (~> 1.217) axe-core-rspec bcrypt (~> 3.1.22) - bootsnap (~> 1.23.0) + bootsnap (~> 1.24.0) brakeman (~> 8.0.1) browser (~> 6.2.0) budgets! @@ -1604,7 +1603,7 @@ DEPENDENCIES compare-xml (~> 0.66) connection_pool (~> 3.0.2) costs! - counter_culture (~> 3.11) + counter_culture (~> 3.13) csv (~> 3.3) cuprite (~> 0.17.0) daemons @@ -1631,7 +1630,7 @@ DEPENDENCIES friendly_id (~> 5.6.0) fuubar (~> 2.5.0) globalid (~> 1.3) - good_job (~> 4.14.2) + good_job (~> 4.18.1) google-apis-gmail_v1 googleauth grape (~> 3.2.0) @@ -1657,7 +1656,7 @@ DEPENDENCIES mail (= 2.9.0) markly (~> 0.15) matrix (~> 0.4.3) - mcp (~> 0.10.0) + mcp (~> 0.14.0) md_to_pdf! meta-tags (~> 2.23.0) mini_magick (~> 5.3.0) @@ -1665,7 +1664,7 @@ DEPENDENCIES my_page! net-ldap (~> 0.20.0) nokogiri (~> 1.19.2) - oj (~> 3.16.16) + oj (~> 3.17.0) okcomputer (~> 1.19.1) omniauth! omniauth-openid-connect! @@ -1699,7 +1698,7 @@ DEPENDENCIES openproject-wikis! openproject-xls_export! opentelemetry-exporter-otlp (~> 0.33.0) - opentelemetry-instrumentation-all (~> 0.91.0) + opentelemetry-instrumentation-all (~> 0.93.0) opentelemetry-sdk (~> 1.10) overviews! ox @@ -1783,7 +1782,7 @@ DEPENDENCIES validate_url vcr vernier - view_component (~> 4.6.0) + view_component (~> 4.8.0) warden (~> 1.2) warden-basic_auth (~> 0.2.1) webmock (~> 3.26) @@ -1829,22 +1828,22 @@ CHECKSUMS auto_strip_attributes (2.6.0) sha256=a7e2e0cf744de2bcd947fd68014220702bcc88c81274c1cd9ce6f7316aae39b0 awesome_nested_set (3.9.0) sha256=3ce99e816550f97f4de118e621630070aacf24928b920fe4a68846578a8daaed aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b - aws-partitions (1.1238.0) sha256=fa3d1bdea6d7e7619e8cee22ebce8a569d2119296d3ec8c5f9b9b7c81fb0602c - aws-sdk-core (3.244.0) sha256=3e458c078b0c5bdee95bc370c3a483374b3224cf730c1f9f0faf849a5d9a18ea - aws-sdk-kms (1.123.0) sha256=d405f37e82f8fa32045ca8980be266c0b45b37aaf2012afe0254321a1e811f20 - aws-sdk-s3 (1.219.0) sha256=6a755d7377978525758b3c29185ca6a10128ce2b07555ca37c4549de10c2f1c7 + aws-partitions (1.1242.0) sha256=58886ab5484ccf9287a8d55e603c3c0fb004241dfb4c0c7690b67d18e4c39352 + aws-sdk-core (3.246.0) sha256=393864ec8948560e69fcccc2e4d256b40c7028eb98930608dd295279e3c4ddcc + aws-sdk-kms (1.124.0) sha256=40d00ab706d7e49fd620270bd0dcb546f266295abdd49b54fec2611e2a41f37c + aws-sdk-s3 (1.220.0) sha256=237fda5e6ac7ecdd9c848e27187bfdc370edad5c5a141aeec389fb450fa28c7c aws-sdk-sns (1.113.0) sha256=15fe37d010e86f4c28b4c2f2133c463ce5c14189ec3673a1f43c30dfee511b0f aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00 - axe-core-api (4.11.2) sha256=c05c342941e0c29f17b00268302457da9e7b644f753c8bbab274d0083319344f - axe-core-rspec (4.11.2) sha256=50c5a5f1b4b991da6857c5df4d6645dfac285a84c7f7f904a6ef23e53f4895eb + axe-core-api (4.11.3) sha256=f5f6e802743644a50e2d8ef24c22aefbb6df49dd169024ff0144b47f37e652ba + axe-core-rspec (4.11.3) sha256=246c8d443517354e9a9962a10a8cc456bcef4c617516c0924b051a9af9d7da99 axiom-types (0.1.1) sha256=c1ff113f3de516fa195b2db7e0a9a95fd1b08475a502ff660d04507a09980383 base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b bcrypt (3.1.22) sha256=1f0072e88c2d705d94aff7f2c5cb02eb3f1ec4b8368671e19112527489f29032 benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c better_html (2.2.0) sha256=e68ab66ab09696b708333bbf35e8aa3c107500ba7892f528e2111624bdd8cf76 - bigdecimal (4.1.1) sha256=1c09efab961da45203c8316b0cdaec0ff391dfadb952dd459584b63ebf8054ca + bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd bindata (2.5.1) sha256=53186a1ec2da943d4cb413583d680644eb810aacbf8902497aac8f191fad9e58 - bootsnap (1.23.0) sha256=c1254f458d58558b58be0f8eb8f6eec2821456785b7cdd1e16248e2020d3f214 + bootsnap (1.24.1) sha256=d7faea1dc24aa5b22dacc049c9236b64ebf60b14dd49c615e15d8402375d39ef brakeman (8.0.4) sha256=7bf921fa9638544835df9aa7b3e720a9a72c0267f34f92135955edd80d4dcf6f browser (6.2.0) sha256=281d5295788825c9396427c292c2d2be0a5c91875c93c390fde6e5d61a5ace2d budgets (1.0.0) @@ -1877,10 +1876,10 @@ CHECKSUMS cookiejar (0.3.4) sha256=11b16acfc4baf7a0f463c21a6212005e04e25f5554d4d9f24d97f3492dfda0df cose (1.3.1) sha256=d5d4dbcd6b035d513edc4e1ab9bc10e9ce13b4011c96e3d1b8fe5e6413fd6de5 costs (1.0.0) - counter_culture (3.13.0) sha256=a2cde20642ddd27aec9ff0c09b73fa5b4fd729da368079e67c177bface3148bf + counter_culture (3.13.1) sha256=c297961933d9a9b96683fc298d68fde44039eca7c5876a2b05c3b180fe1c6328 crack (1.0.1) sha256=ff4a10390cd31d66440b7524eb1841874db86201d5b70032028553130b6d4c7e crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d - css_parser (2.0.0) sha256=af5c759a127b125b635006a6c6c2e05b96a1ebdeec21b3c415fd5f09ec714a0a + css_parser (2.1.0) sha256=bfb7c9cf3896426b53337e34b4ad391c3cfe8c2f2c839e72f2cdccf615fb5247 csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f cuprite (0.17) sha256=b140d5dc70d08b97ad54bcf45cd95d0bd430e291e9dffe76fff851fddd57c12b daemons (1.4.1) sha256=8fc76d76faec669feb5e455d72f35bd4c46dc6735e28c420afb822fac1fa9a1d @@ -1903,7 +1902,7 @@ CHECKSUMS dry-inflector (1.3.1) sha256=7fb0c2bb04f67638f25c52e7ba39ab435d922a3a5c3cd196120f63accb682dcc dry-initializer (3.2.0) sha256=37d59798f912dc0a1efe14a4db4a9306989007b302dcd5f25d0a2a20c166c4e3 dry-logic (1.6.0) sha256=da6fedbc0f90fc41f9b0cc7e6f05f5d529d1efaef6c8dcc8e0733f685745cea2 - dry-monads (1.9.0) sha256=9348a67b5c862c7a876342dbd94737fdf3fb3c17978382cf6801a85b27215816 + dry-monads (1.10.0) sha256=68c90d77617c6ce88d60704fc3b233907e6320974152fe75ad947f968006ca39 dry-schema (1.16.0) sha256=cd3aaeabc0f1af66ec82a29096d4c4fb92a0a58b9dae29a22b1bbceb78985727 dry-types (1.9.1) sha256=baebeecdb9f8395d6c9d227b62011279440943e3ef2468fe8ccc1ba11467f178 dry-validation (1.11.1) sha256=70900bb5a2d911c8aab566d3e360c6bff389b8bf92ea8e04885ce51c41ff8085 @@ -1913,7 +1912,7 @@ CHECKSUMS em-synchrony (1.0.6) sha256=6e7470a684d9bbc00d61d552911b65711540bd89e95c157156f5aacdd6f306ca email_validator (2.2.4) sha256=5ab238095bec7aef9389f230e9e0c64c5081cdf91f19d6c5cecee0a93af20604 equivalent-xml (0.6.0) sha256=8919761efa848ad0846369ff8be1f646b17e5061698c4867b09829000cc3f487 - erb (6.0.3) sha256=e43685a8a0a0ea6a924871b2162e8953ef73147ce46b75b36d1f6774fd286e91 + erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9 erb_lint (0.9.0) sha256=dfb5e40ad839e8d1f0d56ca85ec9a7ac4c9cd966ec281138282f35b323ca7c31 erblint-github (1.0.1) sha256=9f28f7dc381a0dc68a0093ef7af3424ed9d2bb2b3e39bdc8e8cba86a0d31f2d0 erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9 @@ -1937,9 +1936,9 @@ CHECKSUMS ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e flamegraph (0.9.5) sha256=a683020637ffa0e14a72640fa41babf14d926bfeaed87e31907cfd06ab2de8dc - fog-aws (3.33.1) sha256=20c7336ed978be6cbf2765844c53f30676288af98f1cb49945aa7b7b45a799a5 + fog-aws (3.33.2) sha256=bd9c1b045f19daad8942d65d7e9c9c7c1cd144beeabde63e34df7c58a9bb0f5b fog-core (2.6.0) sha256=3fe08aa83a23cddce42f4ba412040c08f890d7ff04c175c0ee59119371245be6 - fog-json (1.2.0) sha256=dd4f5ab362dbc72b687240bba9d2dd841d5dfe888a285797533f85c03ea548fe + fog-json (1.3.0) sha256=8c2e4feb221c14f92ceeffb0aa5c8b6e8dd7c614a9141dfe7905f2dffebea217 fog-xml (0.1.5) sha256=52b9fea10701461dd3eaf9d9839702169b418dbbf50426786b9b74fade373bd6 formatador (1.2.3) sha256=19fa898133c2c26cdbb5d09f6998c1e137ad9427a046663e55adfe18b950d894 friendly_id (5.6.0) sha256=28e221cd53fbd21586321164c1c6fd0c9ba8dde13969cb2363679f44726bb0c3 @@ -1948,9 +1947,9 @@ CHECKSUMS fuubar (2.5.1) sha256=b272a7804b282661c7fab583a3764f92543cb482c365ae39c685cd218fdd4880 glob (0.4.0) sha256=893dc9e2d24abe13dda907ce0cda576f680ff382f2a6cf9e543f98ecbe29238c globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11 - good_job (4.14.2) sha256=f38f164346aee724bbfbdaed73e1a0bd382cc6354146029e0adcc619245ab6d1 + good_job (4.18.1) sha256=cdd3f764752c47ab5d52b71d6e09097572c51c0a48cabb86157d403ac5269972 google-apis-core (1.0.2) sha256=ba4579aaadc902d6cc7bc8db88f566ab00f5e31ea87ab41e9f9a032c470f2629 - google-apis-gmail_v1 (0.47.0) sha256=3064434b6da55b85e2828ce4bb0f4d04e8cfd187a4ab262ceb1dcb01f98e49ef + google-apis-gmail_v1 (0.48.0) sha256=561534bb3d93610032720d0459153c432dc8e47e7096a1250fbe0ee8dcc6540c google-cloud-env (2.3.1) sha256=0faac01eb27be78c2591d64433663b1a114f8f7af55a4f819755426cac9178e7 google-logging-utils (0.2.0) sha256=675462b4ea5affa825a3442694ca2d75d0069455a1d0956127207498fca3df7b google-protobuf (4.34.1) sha256=347181542b8d659c60f028fa3791c9cccce651a91ad27782dbc5c5e374796cdc @@ -1962,7 +1961,7 @@ CHECKSUMS google-protobuf (4.34.1-x86_64-linux-musl) sha256=8c0e91436fbe504ffc64f0bd621f2e69adbcce8ed2c58439d7a21117069cfdd7 googleapis-common-protos-types (1.22.0) sha256=f97492b77bd6da0018c860d5004f512fe7cd165554d7019a8f4df6a56fbfc4c7 googleauth (1.16.2) sha256=15009502e2e38af71948cda918f230e27d327f6882a1e47967a5a4664930a638 - grape (3.2.0) sha256=2aeeb020e5605f6314ce8ca8d30d90c9ee8f26bc959c5b34db7b8486764e4d2c + grape (3.2.1) sha256=448072f55904e5a4dca2e3781f0a373942514be65402cafb6177f5bc73db1b94 grape_logging (3.0.0) sha256=7b62d984ce96df15d120508668debe307e6a59ac1c511f1d9b5f3b4bea793e13 gravatar_image_tag (1.2.0) sha256=eb5630fea846b711e713b934a0178fb9785f02f4eb9ced8d6faa4d537c40fdcf grids (1.0.0) @@ -1988,11 +1987,11 @@ CHECKSUMS inline_svg (1.10.0) sha256=5b652934236fd9f8adc61f3fd6e208b7ca3282698b19f28659971da84bf9a10f interception (0.5) sha256=a53818d636752a8df90d8c1bb2f7b6e13a7b828543cb02b50fbde98b849d7907 io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc - irb (1.17.0) sha256=168c4ddb93d8a361a045c41d92b2952c7a118fa73f23fe14e55609eb7a863aae + irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3 iso8601 (0.13.0) sha256=298c2b15b7be5fa95a1372813d36a2257656cd8e906dfbc1f5cb409851425aa2 jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1 - job-iteration (1.13.0) sha256=3300844e81309fbd06fd2310d6aa8e1f43bf30fe03a3fc5067580b62f456b7e1 - json (2.19.3) sha256=289b0bb53052a1fa8c34ab33cc750b659ba14a5c45f3fcf4b18762dc67c78646 + job-iteration (1.13.1) sha256=af4d5ac624c35ed2f32ed78de92d4673f0a93212105b96d46877b8422e3ff5a3 + json (2.19.5) sha256=218a18553e4801d579ca7e0f5bc72bafd776d7397238a1fb4e74db5b0a812c59 json-jwt (1.17.0) sha256=6ff99026b4c54281a9431179f76ceb81faa14772d710ef6169785199caadc4cc json-schema (6.2.0) sha256=e8bff46ed845a22c1ab2bd0d7eccf831c01fe23bb3920caa4c74db4306813666 json_schemer (2.5.0) sha256=2f01fb4cce721a4e08dd068fc2030cffd0702a7f333f1ea2be6e8991f00ae396 @@ -2014,37 +2013,37 @@ CHECKSUMS marcel (1.0.4) sha256=0d5649feb64b8f19f3d3468b96c680bae9746335d02194270287868a661516a4 markly (0.16.0) sha256=6f70d79e385b1efc9e171f74c81628826259039fe6c778e03c3924c71dac5511 matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b - mcp (0.10.0) sha256=09b9231eb16dff75cc7b8a95817c8acfcf4d1cab8d34f350671e43e765242b57 + mcp (0.14.0) sha256=9e3ca2e6b5e568739e8c07090982829896f2e4d884ffbb668d06f0fe758489e1 md_to_pdf (0.2.6) messagebird-rest (5.0.0) sha256=da4cc1efba3d5e4aa021fad07426c2cb6b326ce5670da5104bb8f6056a39d59c meta-tags (2.23.0) sha256=ffe78b5bee398de4ff5ac3316f5a786049538a651643b8476def06c3acc762c1 method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5 mime-types (3.7.0) sha256=dcebf61c246f08e15a4de34e386ebe8233791e868564a470c3fe77c00eed5e56 - mime-types-data (3.2026.0407) sha256=909395cf029731355136527aa11bf58ea0655ee782359ccbf32c66238a8cadb3 + mime-types-data (3.2026.0414) sha256=461c4c655373a44bd6c5fe54bcf5b7776026ea96e808144b1ec465c4b99148cc mini_magick (5.3.1) sha256=29395dfd76badcabb6403ee5aff6f681e867074f8f28ce08d78661e9e4a351c4 mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef - minitest (6.0.4) sha256=df1304664589d40f46089247fdc451f866b0ce0d7cae1457a15fc1eb7d48dca1 + minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1 msgpack (1.8.0) sha256=e64ce0212000d016809f5048b48eb3a65ffb169db22238fb4b72472fecb2d732 multi_json (1.20.1) sha256=2f3934e805cc45ef91b551a1f89d0e9191abd06a5e04a2ef09a6a036c452ca6d - mustermann (3.1.0) sha256=e73b006ffb7f743eae9303a7d6622e0dd9e1e5522718a2139c006085878768b9 + mustermann (4.0.0) sha256=91f67411bb208d1d93c41e6128cb3b0f8ddd9ec7c45966f1007e1c43c08040d7 mustermann-grape (1.1.0) sha256=8d258a986004c8f01ce4c023c0b037c168a9ed889cf5778068ad54398fa458c5 my_page (1.0.0) net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996 - net-imap (0.6.3) sha256=9bab75f876596d09ee7bf911a291da478e0cd6badc54dfb82874855ccc82f2ad + net-imap (0.6.4) sha256=9a5598c67a3022c284d98430ef1d4948e7dbdb62596f61081ea8ca933270a02b net-ldap (0.20.0) sha256=b2080b350753a9ac4930869ded8e61a1d2151c01e03b0bf07b4675cbd9ce5372 net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3 net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1 - nokogiri (1.19.2-aarch64-linux-gnu) sha256=c34d5c8208025587554608e98fd88ab125b29c80f9352b821964e9a5d5cfbd19 - nokogiri (1.19.2-aarch64-linux-musl) sha256=7f6b4b0202d507326841a4f790294bf75098aef50c7173443812e3ac5cb06515 - nokogiri (1.19.2-arm-linux-gnu) sha256=b7fa1139016f3dc850bda1260988f0d749934a939d04ef2da13bec060d7d5081 - nokogiri (1.19.2-arm-linux-musl) sha256=61114d44f6742ff72194a1b3020967201e2eb982814778d130f6471c11f9828c - nokogiri (1.19.2-arm64-darwin) sha256=58d8ea2e31a967b843b70487a44c14c8ba1866daa1b9da9be9dbdf1b43dee205 - nokogiri (1.19.2-x86_64-darwin) sha256=7d9af11fda72dfaa2961d8c4d5380ca0b51bc389dc5f8d4b859b9644f195e7a4 - nokogiri (1.19.2-x86_64-linux-gnu) sha256=fa8feca882b73e871a9845f3817a72e9734c8e974bdc4fbad6e4bc6e8076b94f - nokogiri (1.19.2-x86_64-linux-musl) sha256=93128448e61a9383a30baef041bf1f5817e22f297a1d400521e90294445069a8 - oj (3.16.17) sha256=a6688f666143632a1ef11a8d80c8d631b1112733c7da698ffafa4a22a8488244 + nokogiri (1.19.3-aarch64-linux-gnu) sha256=46b89e5d7b9e844c2ee360794240c6ea2a4e6fa0c5892a4ed487db621224b639 + nokogiri (1.19.3-aarch64-linux-musl) sha256=8392dfdcd21be7a94dbbe9ccc138dea01b97b24cb2dc02a114ca98bfb1d9a0b7 + nokogiri (1.19.3-arm-linux-gnu) sha256=3919d5ffc334ad778a4a9eb88fda7dcb8b1fb58c8a52ac640c6dcd2f038e774f + nokogiri (1.19.3-arm-linux-musl) sha256=9ce1cb6346bb9c67b1550eb537aa183ead91e4b6eadb2f36ade02d8dd2a79fb6 + nokogiri (1.19.3-arm64-darwin) sha256=71b9bd424b1b7abc18b05052a1a3cfd3627abdca62be280854cc411791357e42 + nokogiri (1.19.3-x86_64-darwin) sha256=77f3fba57d46c53ab31e62fc6c28f705109d1bf6264356c76f132b2be5728d4d + nokogiri (1.19.3-x86_64-linux-gnu) sha256=2f5078620fe12e83669b5b17311b32532a8153d02eee7ad06948b926d6080976 + nokogiri (1.19.3-x86_64-linux-musl) sha256=248c906d2166eca5efb56d52fdee5f9a1f51d69a72e2b64fdac647b4ce39ea3f + oj (3.17.0) sha256=5684b2127fb70e650fae90df521b91336ff8e55e2e1011ed80eb0283beac5360 okcomputer (1.19.1) sha256=7df770e768434816d228407f0786563827cbf34cb379933578829720cb4f1e77 omniauth (1.9.2) omniauth-openid-connect (0.5.0) @@ -2085,55 +2084,55 @@ CHECKSUMS opentelemetry-api (1.9.0) sha256=d24065dd26583babd8d498d38ea35f74dfa193fb7102512e6e161649440079fb opentelemetry-common (0.24.0) sha256=f1647b233b8ac667feeb74d66a65b702008d9ab55aae825c220b4fe2c14fa773 opentelemetry-exporter-otlp (0.33.0) sha256=6e9ce38e393c7eb9aea3fb57b128174a0066767bf495f4fd9e63d7607e0b2ad3 - opentelemetry-helpers-mysql (0.5.0) sha256=8c2a5d5428aec271a7d2e25c158d06d4d8a914143b5004305964d1fcbc176eca - opentelemetry-helpers-sql (0.3.0) sha256=4bb08017d6a16dd41c4d1c53c7fd30f9c5bb691195d8b458933724627b3f37f9 - opentelemetry-helpers-sql-processor (0.4.0) sha256=ec238d7a2887219bd247dc31d0eb8a1a03d414a899963b68e14bb9f4d18b23f4 - opentelemetry-instrumentation-action_mailer (0.6.1) sha256=8384866bdb066ae14b9a1fe686ffaf1f23468326a35af64390c0395fcd471057 - opentelemetry-instrumentation-action_pack (0.16.0) sha256=f4d54806b96dff89af31fb971fe5b1f79dd41fcc46489ed7c5340a47ee12a7f9 - opentelemetry-instrumentation-action_view (0.11.2) sha256=e6a099015d672dabc19993d6fca99ef1e7210361ef21549a6e2076a67719fafc - opentelemetry-instrumentation-active_job (0.10.1) sha256=aea1311224c20d064a8f218a44299171152dc36eeb531b9eba84bed8b3942a89 - opentelemetry-instrumentation-active_model_serializers (0.24.0) sha256=8fe81e44167d17e45d9acfa588d20140c7640c323e58aca99e266de1bb3fce15 - opentelemetry-instrumentation-active_record (0.11.1) sha256=1b083f34eea0449f8d6f4370b3fb4b935757fac6e4e538e67bb98211809e7c92 - opentelemetry-instrumentation-active_storage (0.3.1) sha256=f89b0fef54921f17c0c4c38a6e0926d29afabd0ac98436fcdbb8bde85dfde89e - opentelemetry-instrumentation-active_support (0.10.1) sha256=82ea98367158797e33c6de96581f10aa4fe8adf0ebec832dcff5fd04c59bc57d - opentelemetry-instrumentation-all (0.91.0) sha256=b077ce47da94e70e167157206034405f37ed0a4641d12ca8180a4b655c5727e2 - opentelemetry-instrumentation-anthropic (0.4.0) sha256=0040e0d97e9a66ef32cc35612ff28d7310d4ec1cd2f949805a2017f00f4d2de0 - opentelemetry-instrumentation-aws_lambda (0.6.0) sha256=1a3161393cfe9bc9eddd81a0668d076c38a0a2c3d5df40e95d02f5a8fcd3334c - opentelemetry-instrumentation-aws_sdk (0.11.0) sha256=67a21e754ddf51e2bb8c3e46e116aa9158d8db800f34c2a9b1e0da5a6ca911e3 - opentelemetry-instrumentation-base (0.25.0) sha256=642a3a7f08354e6e969423327a4fa67ed2cca7ac6fe5ee09e55b17d1c576da27 - opentelemetry-instrumentation-bunny (0.24.0) sha256=1ec484e48a5f42a1d0c33e8e6bc7e9e78dd80f3ed9d63520b8a22ba564aa2585 - opentelemetry-instrumentation-concurrent_ruby (0.24.0) sha256=229bd8b72000c59de693609bb637b8a9114992f5e0ab03730d7fd7ef91f7d1d2 - opentelemetry-instrumentation-dalli (0.29.2) sha256=21b82772ced1529288c7f08285d44d5690de11f3d275e24558a062f39a270f4f - opentelemetry-instrumentation-delayed_job (0.25.1) sha256=47f35b10d2bfd9ac7c2bbbe10dea095a2e25db2a84f5351860ead969d180c3ec - opentelemetry-instrumentation-ethon (0.28.0) sha256=5ab5eb0733fec27300047f1f0906453171732c663d0484968ce0582026256b2d - opentelemetry-instrumentation-excon (0.28.0) sha256=00bfd0bce489d5f924ab81c440098e99b6e4234f8968f942ce0753e2a326b99b - opentelemetry-instrumentation-faraday (0.32.0) sha256=21f78858c4d8986a9b89a330bc1f6ef03007d6893d009865b4539269f686cdfd - opentelemetry-instrumentation-grape (0.6.0) sha256=bc6f0ac3416b42bf096032ab79193326d6b50b12e8ccbcf028a78a4df492d057 - opentelemetry-instrumentation-graphql (0.31.2) sha256=a4455f225427f8f9058247c8c0b351b8932567913c35ef049f7958801d401b1f - opentelemetry-instrumentation-grpc (0.4.1) sha256=5ffa2bb1d5ec69bcd1fe23e1d8c1a563a00351ce052fe9d76885cc43f21ebc87 - opentelemetry-instrumentation-gruf (0.5.0) sha256=ee21be36e312e71b847c9a87168225625890121140a364b68d3668e0df58dacd - opentelemetry-instrumentation-http (0.29.0) sha256=c2981f22dac791f1768595c08b5338d29ad57bd98e23e9a2c0df7a1dc54122f1 - opentelemetry-instrumentation-http_client (0.28.0) sha256=f6dadfed166d75d5632ae0b3521ed6a491080972923031489b85711e6d58fcb8 - opentelemetry-instrumentation-httpx (0.7.0) sha256=3928185b62066cf6d8fe3b011dc5587ba53b09a5c7b573e36481b8d713d6aa03 - opentelemetry-instrumentation-koala (0.23.0) sha256=8f324b50a2a64fd4994bb2b105a4cb0c80b64ec05cf5487d2daa906c650bc6f9 - opentelemetry-instrumentation-lmdb (0.25.0) sha256=1e4d66d583ea242d4f72051062971f5af1ea353484d224abbd0aabdd1ce5f5cb - opentelemetry-instrumentation-mongo (0.25.1) sha256=b66a8544bb0c60ab032ecd224333d50138f2b280d2d394c508d2ff8ca3fb94b9 - opentelemetry-instrumentation-mysql2 (0.33.0) sha256=b49b7957d5eef59e046e73be3ca370518965d61495745b4cb7ece3ef5470bcf9 - opentelemetry-instrumentation-net_http (0.28.0) sha256=63b00c1c8fcfba15cd293ece8383d19bbc35e9b5cc04056b3e95799be11026f5 - opentelemetry-instrumentation-pg (0.35.0) sha256=65a6e78bd45282b56021f1ee1b88b9fd318abf6812c32bd740465e6b9997aad4 - opentelemetry-instrumentation-que (0.12.0) sha256=3b7a84341f6af5a04f8c57860aeba4033f87c855d40c611a2fc40dde849944fb - opentelemetry-instrumentation-racecar (0.6.1) sha256=833f6611906fb661f577e841d4ec52549474d32b4e8edea8048162348d35b845 - opentelemetry-instrumentation-rack (0.30.0) sha256=30a54f7b44d4b91839622a20eb0b25a7c47084b37c2b03cfc149bfc4ef62303c - opentelemetry-instrumentation-rails (0.40.0) sha256=f794d477e8b48d9167ac1dbaf71dfc88e2a5647f76394cab7d1dfc6d5217b983 - opentelemetry-instrumentation-rake (0.5.0) sha256=fa6bd019078975ac8a67eaea06294e4fe6707e6770d8ced88d74dc573b0a01ef - opentelemetry-instrumentation-rdkafka (0.9.0) sha256=f3beb56828c584d7d91a2c46f6e5a2ef82289b1d4445b1eb5bc13b80ab6aca89 - opentelemetry-instrumentation-redis (0.28.0) sha256=8721957d1c527dd22bd564d17f3a8db252081abb302be189511282d023693900 - opentelemetry-instrumentation-resque (0.8.0) sha256=559edde9d6273dd757ae5149ed36e26d147b63028d084121203f51c8cff805e5 - opentelemetry-instrumentation-restclient (0.27.0) sha256=1abe208f5f43eff8648fa3ec3393c021bcbf30512f0fd69e4edbe8345ac3f899 - opentelemetry-instrumentation-ruby_kafka (0.24.0) sha256=257e891f4ce630ba3e0669408d497b44afcc493cd49aed09343d5a51fa8952c2 - opentelemetry-instrumentation-sidekiq (0.28.1) sha256=abc85d62996a5362e7a9fd7af9f6c709d01ce04795514d12fee5126335ae97ae - opentelemetry-instrumentation-sinatra (0.29.0) sha256=08595fec08d198df581d96aceb4b27998b84431e44a679950af7d00ab6559bdb - opentelemetry-instrumentation-trilogy (0.67.0) sha256=40394d3071d92aa418ef5aedab8e74f7683c0566c285a5418f75ca0586fd025f + opentelemetry-helpers-mysql (0.6.0) sha256=7eeb5e6950c434775a8cf28b5fde4defc12e8b865c86479ce3119fcf593d9337 + opentelemetry-helpers-sql (0.4.0) sha256=b10e8c3a2cca28a98af951bbb3e4efdc59e68b25ba0825e055574af543420afb + opentelemetry-helpers-sql-processor (0.5.0) sha256=b199241bc9451fcbd9f00b2f454830af19d4ca27c2219ea379c9b0d53cd0e0f1 + opentelemetry-instrumentation-action_mailer (0.8.0) sha256=bd3e423f0179834d51804b86aaaecf723a6fe4cc952a19f98e0b6e16ba755da2 + opentelemetry-instrumentation-action_pack (0.18.0) sha256=90ba2c826b15539f7d02a4f37898592a41317e5c02785a7c2e7a8f782cbd5681 + opentelemetry-instrumentation-action_view (0.13.0) sha256=5b855610d1143972c527d4482d238ecc3d343c8d59e3c1390bad4056317f1568 + opentelemetry-instrumentation-active_job (0.12.0) sha256=cb3f36fd385cd0806d601d9307116146b6a249f2c0a28c279c2574a40e0db992 + opentelemetry-instrumentation-active_model_serializers (0.25.0) sha256=98bb004f38781aff425f1fc52636eafd0e7b32d5479957f343e361f946786ad7 + opentelemetry-instrumentation-active_record (0.13.0) sha256=239fceaae5a42e82dd9dd87bc63b1888bea32058dac0779b5ea36110fcb3a299 + opentelemetry-instrumentation-active_storage (0.5.0) sha256=39920d405fd111cd98c01a90a24b19413f4cb5bc8de2a24d7882f785e8f02c19 + opentelemetry-instrumentation-active_support (0.12.0) sha256=29a2cbdcb3aad4a42f4c9e829dab11167b71ed8a5205ad54587fe4d59d8ee704 + opentelemetry-instrumentation-all (0.93.0) sha256=e1f918add0d5ec48502cb2fbb49c122457fc2bd2cb54ee85e2db872308bfcb24 + opentelemetry-instrumentation-anthropic (0.5.0) sha256=a6b1e1f324d35323d4714a7f204c9d34c46da07529877a725829420a4a44bb13 + opentelemetry-instrumentation-aws_lambda (0.7.0) sha256=50e5a32c454f2d38ecb53cc94e77dc646b33c47294cc6e6363e7c226097fa132 + opentelemetry-instrumentation-aws_sdk (0.12.0) sha256=e2f48bf471cefe4d4bd9cfdafabffce65790b73381040e82d337933ac8bfb366 + opentelemetry-instrumentation-base (0.26.0) sha256=fdec8bff9a8de04d113bd4e8d490b17414c92d6c79dd457dfa079c97ba922be0 + opentelemetry-instrumentation-bunny (0.25.0) sha256=a8b20b7b4cdbfcfd64036b41c160061b164da2938aa7a7621849ee9f7ecb81b8 + opentelemetry-instrumentation-concurrent_ruby (0.25.0) sha256=722912e7078e3025a84a25d0b6085702417598c58187c19a762234702cbf7b2d + opentelemetry-instrumentation-dalli (0.30.0) sha256=5e2fc0ef1f7eb684c6a987789ad0bad22ea9350376e134cd7c803e5eb02776ee + opentelemetry-instrumentation-delayed_job (0.26.0) sha256=98beac35860800e3235b7b79bed9e53af07f601733f5a0020ce9db2f906ce79c + opentelemetry-instrumentation-ethon (0.29.0) sha256=878135c550d01e2900348a92e9ca8e508e131d9d59d0e698c6a021fc7723181f + opentelemetry-instrumentation-excon (0.29.1) sha256=7a9f1c52f6c804e81db5b8e06ea7cbcd3c1dae803e46407727ce9f62e7fed3c6 + opentelemetry-instrumentation-faraday (0.33.0) sha256=f4320bece35997b8ce2ba520eaf52499b89a0c048fce9ce0a10c1ae5d783f801 + opentelemetry-instrumentation-grape (0.7.0) sha256=1b7dddd8e2baad62de6cd20fc924089fb5b8953e23ba41b83b4116ad5bcc03bf + opentelemetry-instrumentation-graphql (0.32.0) sha256=c3af73b42ac5ac873476f2c4c4cf46de2fb81bb74612cea61214a9911708afaa + opentelemetry-instrumentation-grpc (0.5.0) sha256=09bd9ccbedea4668e80546a24dbc1b148fd3775658228050f7378fc0e03b863d + opentelemetry-instrumentation-gruf (0.6.0) sha256=b2a2455b2c622962fc27a943572ee0c660297206bc5eb51b61095d5eb37eae0c + opentelemetry-instrumentation-http (0.30.0) sha256=36d2639eab81d386b25e99e0d91fe31888a255159a1213b9648e8359751055c8 + opentelemetry-instrumentation-http_client (0.29.0) sha256=92363f0aa7a4286cb02e551c483078a2d5323e9f4ca2b706f2066834f7793d3d + opentelemetry-instrumentation-httpx (0.8.0) sha256=694b6e3eb6df04f1534d7713b5bd67ab5c2e2f2d5438f2c972542b1617378fec + opentelemetry-instrumentation-koala (0.24.0) sha256=70acc5e23bec54de26f3741e35056523cf9746329e7789f5be99ba1424b955f9 + opentelemetry-instrumentation-lmdb (0.26.0) sha256=e032b0a95c2df84e8f23a3c9b24af2ffa4f75ec3b3a72171951ef16ace490cd7 + opentelemetry-instrumentation-mongo (0.26.0) sha256=511407dd4fe06cb11be54b40b0a38f684aba1fc0569a5f6982c013e07e370ffd + opentelemetry-instrumentation-mysql2 (0.34.0) sha256=3c38c7ac7251d2ac3f7fc744f0f0efb05459635b74232d264727874e9e8552b8 + opentelemetry-instrumentation-net_http (0.29.0) sha256=fae5eb6a794bbf87fb15752343b74d5cfd2bb830353f42cab3483fd2f3f84fe7 + opentelemetry-instrumentation-pg (0.36.0) sha256=f7346f8c4377c053ca2720ac112eacef884840e3f97621ec6f553f3cb23baec7 + opentelemetry-instrumentation-que (0.13.0) sha256=95e04b8c17e89eaa446f5dff7975cf72c2e74f7e1e84717be47facf510613112 + opentelemetry-instrumentation-racecar (0.7.0) sha256=93a991917687aa0a6e785ccd8d0de5746af110122552b2bf1e3abe12ab04584a + opentelemetry-instrumentation-rack (0.31.0) sha256=bae9f424a2bb1dde2aa5e2c7e02dbbb80c972e7f4964ab820431229f276e0bfc + opentelemetry-instrumentation-rails (0.42.0) sha256=5ea3808373ca73ee9fa4ecf337471bad1c28e98ea64460b89ab225f5b6eaf8b3 + opentelemetry-instrumentation-rake (0.6.0) sha256=71746e4e172560f8ccf1d3c91354196f5aa0fd9b0c477d6ff17a451cef901822 + opentelemetry-instrumentation-rdkafka (0.10.0) sha256=ad1a4aa78c0ab43c1f130d961f54e1d6ac20c674b0180b87d4364770b81ec209 + opentelemetry-instrumentation-redis (0.29.0) sha256=5f855d31ff7f72f79ef97e846655eaf31455a5c9549578725918196df09545ec + opentelemetry-instrumentation-resque (0.9.0) sha256=c79de5ed739ebe8acc9e13f0c69d6b2b81266806a3b3fec6cb6a8ef8151a0e05 + opentelemetry-instrumentation-restclient (0.28.0) sha256=749b76d46c85a78882d924ba2edeff408f50def33099a67d95d88ddc4fa10307 + opentelemetry-instrumentation-ruby_kafka (0.25.0) sha256=33ceccd5cef4f648e652fa45896d0b014da1a71b3a80f17064829ee5aa84e285 + opentelemetry-instrumentation-sidekiq (0.29.0) sha256=b1d2a0cb9041a5e14239fe7c94d99e3dd07f870e2759460ab63592d7cdd8aadc + opentelemetry-instrumentation-sinatra (0.30.0) sha256=b67301153420f43264a0c68cdb3ca5bd77467cf5054e57b83a2bf891aaaa0361 + opentelemetry-instrumentation-trilogy (0.68.0) sha256=24b31efdf21a08644ad26038b574f4b0876195b1502f3f64b1065eff3fe0f588 opentelemetry-registry (0.5.0) sha256=726ca58ada93a23efaa5f7bb81b8ab7a8a1e14602935c9c65dfa2e597a19fb4f opentelemetry-sdk (1.11.0) sha256=427c6708f4732105ffa46c11afecb91807085c59e92538eaa6cf46b97b1850c6 opentelemetry-semantic_conventions (1.37.0) sha256=1e2dc5ad649e19ba2fb0fa7c6f9303e5cdd8d3952511415cb07efe28a0f8f4c3 @@ -2141,10 +2140,10 @@ CHECKSUMS os (1.1.4) sha256=57816d6a334e7bd6aed048f4b0308226c5fb027433b67d90a9ab435f35108d3f ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912 overviews (1.0.0) - ox (2.14.23) sha256=4a9aedb4d6c78c5ebac1d7287dc7cc6808e14a8831d7adb727438f6a1b461b66 - pagy (43.5.1) sha256=ca5aaa6d65d21eee67a48fe8801d022d07ee72afbc5bea6a9e21b13a27b7c0b9 + ox (2.14.25) sha256=c938bcfce4d8ff2bd2bdbffe1277222a76c0a6e62078d6854bd4d40f34f2f7db + pagy (43.5.3) sha256=f9d73e690648d484706661dcb815647775cf8330fcc5c6e62ec87b9df431290b paper_trail (17.0.0) sha256=1c2842061d3874ca7015908e821e2aa14f9b982af2acb2a7974713bf79021c85 - parallel (2.0.1) sha256=337782d3e39f4121e67563bf91dd8ece67f48923d90698614773a0ec9a5b2c7d + parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356 parallel_tests (4.10.1) sha256=df05458c691462b210f7a41fc2651d4e4e8a881e8190e6d1e122c92c07735d70 parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54 pdf-core (0.9.0) sha256=4f368b2f12b57ec979872d4bf4bd1a67e8648e0c81ab89801431d2fc89f4e0bb @@ -2178,7 +2177,7 @@ CHECKSUMS public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623 puffing-billy (4.0.4) sha256=87015b0c41e0722b2171a0c5aa8130fd3f58aa1c016a1dc6dc569b2028aa846f puma (7.2.0) sha256=bf8ef4ab514a4e6d4554cb4326b2004eba5036ae05cf765cfe51aba9706a72a8 - puma-plugin-statsd (2.7.0) sha256=04f243a7233f4d06ec0e26f1a3522bce18a5910ae711763fabff22681bdad08b + puma-plugin-statsd (2.8.0) sha256=e515445f93232b6b3571a23b832f93a776d4ce0fc8a5edee798013b82f3488f3 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f rack (2.2.23) sha256=a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c @@ -2200,10 +2199,10 @@ CHECKSUMS railties (8.1.3) sha256=913eb0e0cb520aac687ffd74916bd726d48fa21f47833c6292576ef6a286de22 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701 - rake-compiler-dock (1.11.0) sha256=eab51f2cd533eb35cea6b624a75281f047123e70a64c58b607471bb49428f8c2 + rake-compiler-dock (1.12.0) sha256=f13205c2738f3d2053afcd03491a9e4541b22a59a0bfc53fc8bc883bd8188023 rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e - rb_sys (0.9.126) sha256=ba958e0b8b4b89eeae0b3d24b64c809eb2c37e0ab0773a49e9b1c2e22c95aef8 + rb_sys (0.9.127) sha256=e9f90df3bb0577472d26d96127d5b5774b98f44de881e7d36aeefd28d6337847 rbtrace (0.5.3) sha256=c432292f305d9ab12fd47d9722e0d5210d983758a951fe6107c36cc955cb923f rbtree3 (0.7.1) sha256=ab60ead728a5491b70df4f4065e180b18dbab5319f817ce1dbf5dd906f26d8ba rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192 @@ -2232,7 +2231,7 @@ CHECKSUMS rspec-wait (1.0.2) sha256=865f921239325d3d26fc10ded4bdd485d8b58bcaaad1a28dd85ed15266b5a912 rubocop (1.86.1) sha256=44415f3f01d01a21e01132248d2fd0867572475b566ca188a0a42133a08d4531 rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035 - rubocop-capybara (2.22.1) sha256=ced88caef23efea53f46e098ff352f8fc1068c649606ca75cb74650970f51c0c + rubocop-capybara (2.23.0) sha256=f9ea1ba3a7561ee8e88cf76fc378ce517ce5327155f305ee7b5c2500e5aee357 rubocop-factory_bot (2.28.0) sha256=4b17fc02124444173317e131759d195b0d762844a71a29fe8139c1105d92f0cb rubocop-openproject (0.4.0) sha256=ce56d9e591f9be5a4d98125b10a73564b0557a5e408f97918f9630fb15ae66ae rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834 @@ -2261,7 +2260,7 @@ CHECKSUMS signet (0.21.0) sha256=d617e9fbf24928280d39dcfefba9a0372d1c38187ffffd0a9283957a10a8cd5b simpleidn (0.2.3) sha256=08ce96f03fa1605286be22651ba0fc9c0b2d6272c9b27a260bc88be05b0d2c29 smart_properties (1.17.0) sha256=f9323f8122e932341756ddec8e0ac9ec6e238408a7661508be99439ca6d6384b - spreadsheet (1.3.4) sha256=0aefd6f3dfdc8b43528109f7fbd54db54f85ce5920429413d48305906bc59253 + spreadsheet (1.3.5) sha256=cd83ea66803d9cae4ac258dfe16cd8c2b85da33eec18a6d7b48fd4a45840ab7d spring (4.4.2) sha256=22f61bacd8dc8595cedcdc738de46d7fc18be4d7a770986760344c924f485ce7 spring-commands-rspec (1.0.4) sha256=6202e54fa4767452e3641461a83347645af478bf45dddcca9737b43af0dd1a2c spring-commands-rubocop (0.4.0) sha256=3e677a2c8a27ae8a986f04bfb69e66d5d55b017541e8be93bf0dc48a7f5690c1 @@ -2293,7 +2292,7 @@ CHECKSUMS turbo_power (0.7.0) sha256=ad95d147e0fa761d0023ad9ca00528c7b7ddf6bba8ca2e23755d5b21b290d967 turbo_tests (2.2.0) tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b - tzinfo-data (1.2026.1) sha256=4ea36519ae5ae2cf0fad471207a519be006daf42e3b2359ee9e9c53f113609fd + tzinfo-data (1.2026.2) sha256=7db0d3d3d53b8d7601fc183fccc8c6d056a3004e14eb59ea995bf6aec4ae10bc uber (0.1.0) sha256=5beeb407ff807b5db994f82fa9ee07cfceaa561dad8af20be880bc67eba935dc unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42 unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f @@ -2303,7 +2302,7 @@ CHECKSUMS validate_url (1.0.15) sha256=72fe164c0713d63a9970bd6700bea948babbfbdcec392f2342b6704042f57451 vcr (6.4.0) sha256=077ac92cc16efc5904eb90492a18153b5e6ca5398046d8a249a7c96a9ea24ae6 vernier (1.10.0) sha256=5b1dc57012e08ed23e14f4d2943540140d454aa8434c7c35e7eb97befd4969bf - view_component (4.6.0) sha256=aabbcc68ab4af8a0135bd3f488e1a4132180cb611aa2565f86cb6e9135f4ed7e + view_component (4.8.0) sha256=0a1b716cce87f8f6799d7aefb57911ef6eee5ef8214466a7ca22c421853f7309 virtus (2.0.0) sha256=8841dae4eb7fcc097320ba5ea516bf1839e5d056c61ee27138aa4bddd6e3d1c2 warden (1.2.9) sha256=46684f885d35a69dbb883deabf85a222c8e427a957804719e143005df7a1efd0 warden-basic_auth (0.2.1) sha256=bfc752e0109c0182c3e69e930284c5e1e81e7b4a354aeb2b5914ead1391f3c6e @@ -2323,7 +2322,7 @@ CHECKSUMS yabeda-puma-plugin (0.9.0) sha256=b78673ecc7ee30bc50691ddc41b7022c1c1801843900d5101418f4a14b550bc8 yabeda-rails (0.11.0) sha256=afa2581bd44c8f419cb3f2bbf9f6fb40f817c30476f7caf5d1c55c48d69a5b29 yaml (0.4.0) sha256=240e69d1e6ce3584d6085978719a0faa6218ae426e034d8f9b02fb54d3471942 - yard (0.9.42) sha256=4e2be01f8623556093497731d44c801e600d7c9759ec7a35a2dd5dd83bbbba68 + yard (0.9.43) sha256=cf8733a8f0485df2a162927e9b5f182215a61f6d22de096b8f402c726a1c5821 zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd RUBY VERSION diff --git a/app/components/my/access_token/oauth_client/row_component.rb b/app/components/my/access_token/oauth_client/row_component.rb index 8cb448b2254..8567c248274 100644 --- a/app/components/my/access_token/oauth_client/row_component.rb +++ b/app/components/my/access_token/oauth_client/row_component.rb @@ -60,6 +60,8 @@ module My end def expires_on + return I18n.t(:label_never) if client_token.expires_in.blank? + helpers.format_time(client_token.updated_at + client_token.expires_in.seconds) end diff --git a/app/components/op_primer/inline_macro_component.html.erb b/app/components/op_primer/inline_macro_component.html.erb index 71fb370380f..8624a9ea2ec 100644 --- a/app/components/op_primer/inline_macro_component.html.erb +++ b/app/components/op_primer/inline_macro_component.html.erb @@ -28,6 +28,8 @@ See COPYRIGHT and LICENSE files for more details. ++#%> <%= render(Primer::BaseComponent.new(tag: :span, **@system_arguments)) do %> - <%= leading_visual_icon %> - <%= content %> + <%= render(Primer::BaseComponent.new(tag: :span, display: :inline_flex, align_items: :center)) do %> + <%= leading_visual_icon %> + <%= content %> + <% end %> <% end %> diff --git a/app/components/op_primer/inline_macro_component.rb b/app/components/op_primer/inline_macro_component.rb index 008e0f47df5..77e78377b0f 100644 --- a/app/components/op_primer/inline_macro_component.rb +++ b/app/components/op_primer/inline_macro_component.rb @@ -31,7 +31,7 @@ module OpPrimer class InlineMacroComponent < Primer::Component renders_one :leading_visual_icon, ->(icon:, color: :muted) do - Primer::Beta::Octicon.new(icon:, color:, mr: 2, vertical_align: :middle) + Primer::Beta::Octicon.new(icon:, color:, size: :xsmall, mr: 2) end def initialize(**system_arguments) diff --git a/app/components/op_primer/inline_macro_component.sass b/app/components/op_primer/inline_macro_component.sass index 0356f0647d7..50bc0740b85 100644 --- a/app/components/op_primer/inline_macro_component.sass +++ b/app/components/op_primer/inline_macro_component.sass @@ -1,7 +1,2 @@ -@media screen - .op-inline-macro - display: inline - background: var(--bgColor-muted) - border: 1px solid transparent - border-radius: var(--borderRadius-medium) - padding: 4px 8px +.op-inline-macro + @include macro--text-style diff --git a/app/components/user_filter_component.rb b/app/components/user_filter_component.rb index def2b0086f1..62f9f7753d2 100644 --- a/app/components/user_filter_component.rb +++ b/app/components/user_filter_component.rb @@ -55,7 +55,7 @@ class UserFilterComponent < IndividualPrincipalBaseFilterComponent end def base_query - Queries::Users::UserQuery + UserQuery end protected diff --git a/app/components/work_packages/details/tab_component.html.erb b/app/components/work_packages/details/tab_component.html.erb index 534aa534a38..6903e91125f 100644 --- a/app/components/work_packages/details/tab_component.html.erb +++ b/app/components/work_packages/details/tab_component.html.erb @@ -70,7 +70,7 @@ icon: :"screen-full", tag: :a, classes: "hidden-for-small-laptops", - href: work_package_path(work_package.id, full_screen_tab), + href: work_package_path(work_package.display_id, full_screen_tab), target: "_top", scheme: :invisible, test_selector: "wp-details-tab-component--full-screen", diff --git a/app/components/work_packages/info_line_component.html.erb b/app/components/work_packages/info_line_component.html.erb index 1f590ec6550..e4e05ec8bdf 100644 --- a/app/components/work_packages/info_line_component.html.erb +++ b/app/components/work_packages/info_line_component.html.erb @@ -16,7 +16,7 @@ font_size: @font_size, color: :muted ) - ) { "##{@work_package.id}" } + ) { @work_package.formatted_id } end if @show_status diff --git a/app/components/work_packages/split_create_component.html.erb b/app/components/work_packages/split_create_component.html.erb new file mode 100644 index 00000000000..8e389eff581 --- /dev/null +++ b/app/components/work_packages/split_create_component.html.erb @@ -0,0 +1,2 @@ +<%= helpers.angular_component_tag "opce-wp-split-create", + inputs: { projectIdentifier: @project_identifier } %> diff --git a/modules/backlogs/app/models/version_setting.rb b/app/components/work_packages/split_create_component.rb similarity index 86% rename from modules/backlogs/app/models/version_setting.rb rename to app/components/work_packages/split_create_component.rb index 717dbd0b4d7..b33309649ed 100644 --- a/modules/backlogs/app/models/version_setting.rb +++ b/app/components/work_packages/split_create_component.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + #-- copyright # OpenProject is an open source project management software. # Copyright (C) the OpenProject GmbH @@ -26,13 +28,10 @@ # See COPYRIGHT and LICENSE files for more details. #++ -class VersionSetting < ApplicationRecord - belongs_to :project - belongs_to :version +class WorkPackages::SplitCreateComponent < ApplicationComponent + def initialize(project_identifier:) + super - validates_presence_of :project - - DISPLAY_NONE = 1 - DISPLAY_LEFT = 2 - DISPLAY_RIGHT = 3 + @project_identifier = project_identifier + end end diff --git a/app/components/workflows/blankslate_component.html.erb b/app/components/workflows/blankslate_component.html.erb index da7a8b2ae1c..48aedf4b9bc 100644 --- a/app/components/workflows/blankslate_component.html.erb +++ b/app/components/workflows/blankslate_component.html.erb @@ -32,7 +32,7 @@ See COPYRIGHT and LICENSE files for more details. blankslate.with_heading(tag: :h2).with_content(t("admin.workflows.blankslate.title")) blankslate.with_description_content(t("admin.workflows.blankslate.description")) blankslate.with_primary_action( - href: helpers.status_dialog_workflow_tab_path(@type, @tab, role_id: @role.id), + href: helpers.status_dialog_workflow_tab_path(@type, @tab, role_ids: @roles.map(&:id)), scheme: :secondary, data: { controller: "async-dialog" } ) do |button| diff --git a/app/components/workflows/blankslate_component.rb b/app/components/workflows/blankslate_component.rb index ed4c14ef797..0f92b6ea2f4 100644 --- a/app/components/workflows/blankslate_component.rb +++ b/app/components/workflows/blankslate_component.rb @@ -32,9 +32,9 @@ module Workflows class BlankslateComponent < ApplicationComponent include OpPrimer::ComponentHelpers - def initialize(role:, type:, tab:) + def initialize(roles:, type:, tab:) super - @role = role + @roles = roles @type = type @tab = tab end diff --git a/app/components/workflows/page_headers/edit_component.rb b/app/components/workflows/page_headers/edit_component.rb index fac6786a992..794dbed58e8 100644 --- a/app/components/workflows/page_headers/edit_component.rb +++ b/app/components/workflows/page_headers/edit_component.rb @@ -30,7 +30,7 @@ module Workflows::PageHeaders class EditComponent < BaseComponent - options :tabs, :role + options :tabs, :roles def type = model @@ -49,7 +49,7 @@ module Workflows::PageHeaders mobile_icon: :copy, mobile_label: t(:button_copy), size: :medium, - href: new_workflow_copy_path(type, source_role_id: role&.id), + href: new_workflow_copy_path(type, source_role_id: roles&.first&.id), aria: { label: helpers.t(:button_copy) }, title: helpers.t(:button_copy) ) do |button| diff --git a/app/components/workflows/status_dialog_component.html.erb b/app/components/workflows/status_dialog_component.html.erb index 3727681676f..d9fe0c12065 100644 --- a/app/components/workflows/status_dialog_component.html.erb +++ b/app/components/workflows/status_dialog_component.html.erb @@ -42,7 +42,7 @@ See COPYRIGHT and LICENSE files for more details. Workflows::StatusFormComponent.new( all_statuses: @all_statuses, current_statuses: @current_statuses, - role: @role, + roles: @roles, type: @type, tab: @tab ) diff --git a/app/components/workflows/status_dialog_component.rb b/app/components/workflows/status_dialog_component.rb index 0f0ccde4560..2c724a58002 100644 --- a/app/components/workflows/status_dialog_component.rb +++ b/app/components/workflows/status_dialog_component.rb @@ -35,11 +35,11 @@ module Workflows DIALOG_ID = "workflows-status-dialog" - def initialize(all_statuses:, current_statuses:, role:, type:, tab:) + def initialize(all_statuses:, current_statuses:, roles:, type:, tab:) super @all_statuses = all_statuses @current_statuses = current_statuses - @role = role + @roles = roles @type = type @tab = tab end diff --git a/app/components/workflows/status_form_component.html.erb b/app/components/workflows/status_form_component.html.erb index d9bf8ef27b7..c41534cb44f 100644 --- a/app/components/workflows/status_form_component.html.erb +++ b/app/components/workflows/status_form_component.html.erb @@ -29,7 +29,7 @@ See COPYRIGHT and LICENSE files for more details. <%= primer_form_with( - url: helpers.confirm_statuses_workflow_tab_path(@type, @tab, role_id: @role.id), + url: helpers.confirm_statuses_workflow_tab_path(@type, @tab, role_ids: @roles.map(&:id)), method: :post, id: FORM_ID, data: { turbo_frame: "workflow-table" } @@ -39,7 +39,6 @@ See COPYRIGHT and LICENSE files for more details. f, all_statuses: @all_statuses, current_statuses: @current_statuses, - role: @role, type: @type, tab: @tab, dialog_id: diff --git a/app/components/workflows/status_form_component.rb b/app/components/workflows/status_form_component.rb index 114351c64b8..8b99cfc125e 100644 --- a/app/components/workflows/status_form_component.rb +++ b/app/components/workflows/status_form_component.rb @@ -32,11 +32,11 @@ module Workflows class StatusFormComponent < ApplicationComponent FORM_ID = "status-selection-form" - def initialize(all_statuses:, current_statuses:, role:, type:, tab:) + def initialize(all_statuses:, current_statuses:, roles:, type:, tab:) super @all_statuses = all_statuses @current_statuses = current_statuses - @role = role + @roles = roles @type = type @tab = tab end diff --git a/app/components/workflows/status_matrix_form_component.html.erb b/app/components/workflows/status_matrix_form_component.html.erb index 93522276a2f..a4fca03b305 100644 --- a/app/components/workflows/status_matrix_form_component.html.erb +++ b/app/components/workflows/status_matrix_form_component.html.erb @@ -32,21 +32,39 @@ See COPYRIGHT and LICENSE files for more details. render Primer::OpenProject::SubHeader.new do |subheader| if @type && @available_roles.any? subheader.with_filter_component do - render(Primer::Alpha::ActionMenu.new(select_variant: :single)) do |menu| - menu.with_show_button(scheme: :secondary) do |button| + render( + Primer::Alpha::SelectPanel.new( + select_variant: :multiple, + fetch_strategy: :local, + title: t("admin.workflows.role_selector.title"), + data: data_attributes + ) + ) do |panel| + panel.with_show_button(scheme: :secondary) do |button| button.with_trailing_visual_icon(icon: :"triangle-down") - @role ? t("admin.workflows.role_selector.label", role: @role.name) : t("admin.workflows.role_selector.no_role") + if @roles.many? + t("admin.workflows.role_selector.roles", count: @roles.size) + elsif @roles.one? + t("admin.workflows.role_selector.label", role: @roles.first.name) + else + t("admin.workflows.role_selector.no_role") + end end @available_roles.each do |available_role| - menu.with_item( + panel.with_item( label: available_role.name, - active: available_role == @role, - tag: :a, - href: helpers.edit_workflow_tab_path(@type, @tab, role_id: available_role.id), - content_arguments: { data: { "admin--workflow-checkbox-state-confirmation-trigger": "click", - turbo_action: "advance" } } + active: @roles.include?(available_role), + item_id: available_role.id ) end + panel.with_footer(show_divider: true) do + render( + Primer::Beta::Button.new( + scheme: :primary, + data: { action: "click->admin--workflow-role-select#apply" } + ) + ) { t(:button_apply) } + end end end end @@ -56,7 +74,7 @@ See COPYRIGHT and LICENSE files for more details. scheme: :secondary, leading_icon: :plus, label: t("admin.workflows.status_button"), - href: helpers.status_dialog_workflow_tab_path(@type, @tab, role_id: @role&.id, status_ids: @statuses.pluck(:id).presence), + href: helpers.status_dialog_workflow_tab_path(@type, @tab, role_ids: @roles.map(&:id), status_ids: @statuses.pluck(:id).presence), data: { controller: "async-dialog" } ) do t("admin.workflows.status_button") @@ -67,7 +85,7 @@ See COPYRIGHT and LICENSE files for more details. <% if @statuses.any? %> <%= form_tag( workflow_tab_path(@type), - id: "workflow_form", + id: form_id, method: :patch, autocomplete: "off", data: { @@ -76,7 +94,9 @@ See COPYRIGHT and LICENSE files for more details. } ) do %> <%= hidden_field_tag "type_id", @type.id %> - <%= hidden_field_tag "role_id", @role.id %> + <% @roles.each do |role| %> + <%= hidden_field_tag "role_ids[]", role.id %> + <% end %> <%= hidden_field_tag "tab", @tab %> <%= helpers.render_tabs helpers.workflow_tabs(@type) %> @@ -94,7 +114,7 @@ See COPYRIGHT and LICENSE files for more details. Primer::OpenProject::FeedbackDialog.new( title: t("admin.workflows.leave_confirmation.title"), data: { - "admin--workflow-checkbox-state-target": "confirmationDialog", + "admin--workflow-checkbox-state-target": "confirmationDialog" } ) ) do |dialog| @@ -118,6 +138,6 @@ See COPYRIGHT and LICENSE files for more details. %> <% end %> <% else %> - <%= render Workflows::BlankslateComponent.new(role: @role, type: @type, tab: @tab) %> + <%= render Workflows::BlankslateComponent.new(roles: @roles, type: @type, tab: @tab) %> <% end %> <% end %> diff --git a/app/components/workflows/status_matrix_form_component.rb b/app/components/workflows/status_matrix_form_component.rb index 14c3ade5fdb..5af6570d32f 100644 --- a/app/components/workflows/status_matrix_form_component.rb +++ b/app/components/workflows/status_matrix_form_component.rb @@ -33,14 +33,29 @@ module Workflows include OpTurbo::Streamable include OpPrimer::ComponentHelpers - def initialize(tab:, role:, type:, available_roles:, statuses:, has_status_changes:) + FORM_ID = "workflow_form" + + def initialize(tab:, roles:, type:, available_roles:, statuses:, has_status_changes:) super @tab = tab - @role = role + @roles = roles @type = type @available_roles = available_roles @statuses = statuses @has_status_changes = has_status_changes end + + private + + def form_id = FORM_ID + + def data_attributes + { + controller: "admin--workflow-role-select", + "admin--workflow-role-select-base-url-value": helpers.edit_workflow_tab_path(@type, @tab), + "admin--workflow-role-select-current-role-ids-value": @roles.map(&:id), + "admin--workflow-role-select-admin--workflow-checkbox-state-outlet": "##{form_id}" + } + end end end diff --git a/app/components/workflows/status_removal_danger_dialog_component.html.erb b/app/components/workflows/status_removal_danger_dialog_component.html.erb index c2b020ff5b7..9846295eb11 100644 --- a/app/components/workflows/status_removal_danger_dialog_component.html.erb +++ b/app/components/workflows/status_removal_danger_dialog_component.html.erb @@ -46,7 +46,7 @@ See COPYRIGHT and LICENSE files for more details. # The reason this is done here is because the submit is not a DELETE, and GET form submissions # strip url params dialog.with_additional_details do - concat(hidden_field_tag(:role_id, @role.id)) + @roles.each { |role| concat(hidden_field_tag("role_ids[]", role.id)) } @status_ids.each { |id| concat(hidden_field_tag("status_ids[]", id)) } end end diff --git a/app/components/workflows/status_removal_danger_dialog_component.rb b/app/components/workflows/status_removal_danger_dialog_component.rb index 1753687632a..d3f926f24c3 100644 --- a/app/components/workflows/status_removal_danger_dialog_component.rb +++ b/app/components/workflows/status_removal_danger_dialog_component.rb @@ -35,9 +35,9 @@ module Workflows DIALOG_ID = "workflows-status-removal-dialog" - def initialize(role:, type:, tab:, status_ids:, removed_count:) + def initialize(roles:, type:, tab:, status_ids:, removed_count:) super - @role = role + @roles = roles @type = type @tab = tab @status_ids = Array(status_ids).flatten.map(&:to_i) diff --git a/app/contracts/custom_actions/execute_contract.rb b/app/contracts/custom_actions/execute_contract.rb index ea0d2b76ac7..8f327dd7806 100644 --- a/app/contracts/custom_actions/execute_contract.rb +++ b/app/contracts/custom_actions/execute_contract.rb @@ -35,6 +35,7 @@ module CustomActions validates :work_package_id, presence: true validate :work_package_visible + validate :custom_action_conditions_fulfilled private @@ -45,5 +46,17 @@ module CustomActions errors.add(:work_package_id, :does_not_exist) end end + + def custom_action_conditions_fulfilled + return unless model.work_package_id + return unless options[:custom_action] + + work_package = WorkPackage.visible(user).find_by(id: model.work_package_id) + return unless work_package + + unless options[:custom_action].conditions_fulfilled?(work_package, user) + errors.add(:base, :error_unauthorized) + end + end end end diff --git a/app/contracts/oauth_clients/create_contract.rb b/app/contracts/oauth_clients/create_contract.rb index 826932020c8..83df00f5397 100644 --- a/app/contracts/oauth_clients/create_contract.rb +++ b/app/contracts/oauth_clients/create_contract.rb @@ -36,7 +36,10 @@ module OAuthClients validates :client_id, presence: true, length: { maximum: 255 } attribute :client_secret, writable: true - validates :client_secret, presence: true, length: { maximum: 255 } + validates :client_secret, presence: true, if: :client_secret_required? + validates :client_secret, length: { maximum: 255 } + + def client_secret_required? = true attribute :integration_type, writable: true validates :integration_type, presence: true diff --git a/app/contracts/users/base_contract.rb b/app/contracts/users/base_contract.rb index 2b1580e5808..876de56e4a8 100644 --- a/app/contracts/users/base_contract.rb +++ b/app/contracts/users/base_contract.rb @@ -102,13 +102,11 @@ module Users errors.add(:identity_url, :error_readonly) if model.user_auth_provider_links.any?(&:changed?) end - # rubocop:disable Rails/DynamicFindBy def existing_auth_source if ldap_auth_source_id && LdapAuthSource.find_by_unique(ldap_auth_source_id).nil? errors.add :auth_source, :error_not_found end end - # rubocop:enable Rails/DynamicFindBy def can_create_or_manage_users? user.allowed_globally?(:manage_user) || user.allowed_globally?(:create_user) diff --git a/app/controllers/my/sessions_controller.rb b/app/controllers/my/sessions_controller.rb index b2ac09c4d35..9246776456d 100644 --- a/app/controllers/my/sessions_controller.rb +++ b/app/controllers/my/sessions_controller.rb @@ -52,7 +52,7 @@ module My token = cookies[OpenProject::Configuration["autologin_cookie_name"]] if token - @current_token = @autologin_tokens.find_by_plaintext_value(token) # rubocop:disable Rails/DynamicFindBy + @current_token = @autologin_tokens.find_by_plaintext_value(token) end end diff --git a/app/controllers/oauth_clients_controller.rb b/app/controllers/oauth_clients_controller.rb index 30590a48ff9..90b0b977740 100644 --- a/app/controllers/oauth_clients_controller.rb +++ b/app/controllers/oauth_clients_controller.rb @@ -77,19 +77,20 @@ class OAuthClientsController < ApplicationController storage_id = params.fetch(:storage_id) oauth_client = OAuthClient.find_by(client_id:, integration_id: storage_id) - handle_absent_oauth_client unless oauth_client + return handle_absent_oauth_client unless oauth_client - storage = oauth_client.integration - # check if the origin is the same + integration = oauth_client.integration destination_url = destination_url(params.fetch(:destination_url, "")) - auth_state = ::Storages::Adapters::Authentication.authorization_state(storage:, user: User.current) + configuration = integration.oauth_configuration + connection = ::OAuthClients::ConnectionManager.new(user: User.current, configuration:) + .get_access_token - if auth_state == :connected + if connection.success? redirect_to(destination_url) else nonce = SecureRandom.uuid cookies["oauth_state_#{nonce}"] = { value: { href: destination_url, storageId: storage_id }.to_json, expires: 1.hour } - redirect_to(storage.oauth_configuration.authorization_uri(state: nonce), allow_other_host: true) + redirect_to(configuration.authorization_uri(state: nonce), allow_other_host: true) end end diff --git a/app/controllers/workflows/tabs_controller.rb b/app/controllers/workflows/tabs_controller.rb index 94c9805c22a..a6c2c175787 100644 --- a/app/controllers/workflows/tabs_controller.rb +++ b/app/controllers/workflows/tabs_controller.rb @@ -38,27 +38,37 @@ class Workflows::TabsController < ApplicationController before_action :set_type before_action :set_tab before_action :set_eligible_roles - before_action :set_role + before_action :set_roles def edit unless turbo_frame_request? - redirect_to edit_workflow_path(@type, role_id: params[:role_id], tab: @tab) + redirect_to edit_workflow_path(@type, role_ids: params[:role_ids], tab: @tab) return end statuses_for_form - if @type && @role && @statuses.any? + if @type && @roles.any? && @statuses.any? workflows_for_form end end - def update - call = Workflows::BulkUpdateService - .new(role: @role, type: @type, tab: @tab) - .call(permitted_status_params) + def update # rubocop:disable Metrics/AbcSize + success = false + Workflow.transaction do + success = true + base_params = permitted_status_params + indeterminate = permitted_indeterminate_params + @roles.each do |role| + role_params = indeterminate.empty? ? base_params : role_specific_params(base_params, indeterminate, role) + result = Workflows::BulkUpdateService.new(role:, type: @type, tab: @tab) + .call(role_params) + success = false unless result.success? + end + raise ActiveRecord::Rollback unless success + end - if call.success? + if success render_flash_message_via_turbo_stream( message: I18n.t(:notice_successful_update), scheme: :success @@ -69,7 +79,7 @@ class Workflows::TabsController < ApplicationController update_via_turbo_stream( component: Workflows::StatusMatrixFormComponent.new( tab: @tab, - role: @role, + roles: @roles, type: @type, available_roles: @eligible_roles, statuses:, @@ -92,8 +102,8 @@ class Workflows::TabsController < ApplicationController all_statuses = Status.order(:position) current_statuses = if params[:status_ids].present? Status.where(id: params[:status_ids].map(&:to_i)).order(:position) - elsif @type && @role - statuses_for_role_and_type + elsif @type && @roles.any? + statuses_for_roles_and_type else Status.none end @@ -101,7 +111,7 @@ class Workflows::TabsController < ApplicationController respond_with_dialog Workflows::StatusDialogComponent.new( all_statuses:, current_statuses:, - role: @role, + roles: @roles, type: @type, tab: @tab ) @@ -114,7 +124,7 @@ class Workflows::TabsController < ApplicationController if removed_count > 0 respond_with_dialog Workflows::StatusRemovalDangerDialogComponent.new( - role: @role, + roles: @roles, type: @type, tab: @tab, status_ids: current_status_ids, @@ -125,7 +135,7 @@ class Workflows::TabsController < ApplicationController update_via_turbo_stream( component: Workflows::StatusMatrixFormComponent.new( tab: @tab, - role: @role, + roles: @roles, type: @type, available_roles: @eligible_roles, statuses:, @@ -150,8 +160,9 @@ class Workflows::TabsController < ApplicationController @eligible_roles = Workflow.eligible_roles.order(:builtin, :position) end - def set_role - @role = @eligible_roles.find(params[:role_id]) + def set_roles + @roles = @eligible_roles.where(id: params[:role_ids]) + @roles = [@eligible_roles.first] if @roles.empty? end def statuses_for_form @@ -159,8 +170,8 @@ class Workflows::TabsController < ApplicationController @has_status_changes = false @statuses = if @type && params[:status_ids].present? statuses_from_params - elsif @type && @role - statuses_for_role_and_type + elsif @type && @roles.any? + statuses_for_roles_and_type elsif @type @type.statuses else @@ -170,18 +181,19 @@ class Workflows::TabsController < ApplicationController def statuses_from_params status_ids = params[:status_ids].map(&:to_i) - saved_ids = statuses_for_role_and_type.pluck(:id) + saved_ids = statuses_for_roles_and_type.pluck(:id) @added_status_ids = status_ids - saved_ids @has_status_changes = @added_status_ids.any? || (saved_ids - status_ids).any? Status.where(id: status_ids).order(:position) end - def statuses_for_role_and_type - @type.statuses(role: @role, tab: @tab) + def statuses_for_roles_and_type + status_ids = @roles.map { |role| @type.statuses(role:, tab: @tab).pluck(:id) }.flatten.uniq + Status.where(id: status_ids) end def workflows_for_form - workflows = Workflow.where(role_id: @role.id, type_id: @type.id) + workflows = Workflow.where(role_id: @roles.map(&:id), type_id: @type.id) @workflows = {} @workflows["always"] = workflows.select { |w| !w.author && !w.assignee } @workflows["author"] = workflows.select(&:author) @@ -189,10 +201,40 @@ class Workflows::TabsController < ApplicationController end def permitted_status_params - return {} if params["status"].blank? + status_params("status") + end - params["status"] + def permitted_indeterminate_params + status_params("indeterminate_status") + end + + def status_params(key) + return {} if params[key].blank? + + params[key] .to_unsafe_h - .select { |key, value| /\A\d+\z/.match?(key) && value.keys.all? { /\A\d+\z/.match?(it) } } + .select { |k, value| /\A\d+\z/.match?(k) && value.keys.all? { /\A\d+\z/.match?(it) } } + end + + def role_specific_params(base_params, indeterminate, role) + params = base_params.deep_dup + indeterminate.each do |old_id, new_ids| + new_ids.each_key do |new_id| + # Restore from DB so that it isn't overwritten by indeterminate state (unchecked) + had_transition = Workflow.exists?( + role_id: role.id, + type_id: @type.id, + old_status_id: old_id.to_i, + new_status_id: new_id.to_i, + author: @tab == "author", + assignee: @tab == "assignee" + ) + if had_transition + params[old_id] ||= {} + params[old_id][new_id] = "1" + end + end + end + params end end diff --git a/app/controllers/workflows_controller.rb b/app/controllers/workflows_controller.rb index 82b03b15118..3de82fd8d54 100644 --- a/app/controllers/workflows_controller.rb +++ b/app/controllers/workflows_controller.rb @@ -38,7 +38,7 @@ class WorkflowsController < ApplicationController before_action :find_types, only: %i[index] before_action :find_type, only: %i[edit] - before_action :find_optional_role, only: %i[edit] + before_action :find_optional_roles, only: %i[edit] def index; end @@ -56,16 +56,14 @@ class WorkflowsController < ApplicationController @types = ::Type.order(:position) end - def find_role - @role = eligible_roles.find(params[:role_id]) - end - def find_type @type = ::Type.find(params[:type_id]) end - def find_optional_role - @role = eligible_roles.find_by(id: params[:role_id]) || eligible_roles.order(:builtin, :position).first + def find_optional_roles + ordered = eligible_roles.order(:builtin, :position) + @roles = ordered.where(id: params[:role_ids]) + @roles = [ordered.first] if @roles.empty? end def eligible_roles diff --git a/app/forms/settings/new_project_settings_form.rb b/app/forms/settings/new_project_settings_form.rb index 0e97ca72108..d3c8befceee 100644 --- a/app/forms/settings/new_project_settings_form.rb +++ b/app/forms/settings/new_project_settings_form.rb @@ -51,19 +51,42 @@ module Settings f.select_list( name: :new_project_user_role_id, label: I18n.t(:setting_new_project_user_role_id), + caption: I18n.t(:setting_new_project_user_role_id_caption), input_width: :medium, - include_blank: I18n.t(:actionview_instancetag_blank_option) + include_blank: false ) do |select| - ProjectRole.givable.each do |role| - select.option( - value: role.id.to_s, - label: role.name, - selected: Setting.new_project_user_role_id == role.id - ) - end + build_new_project_user_role_options(select) end f.submit end + + # Adds the role options to the new_project_user_role_id select. Roles that pass the + # `assignable_to_project_creator` filter are listed first; the currently configured role is + # always included even when it has lost required permissions (with a label suffix), so the + # admin can see and change the current selection. + def build_new_project_user_role_options(select) + assignable = ProjectRole.assignable_to_project_creator.to_a + assignable.each { |role| add_assignable_role_option(select, role) } + + configured = ProjectRole.givable.find_by(id: Setting.new_project_user_role_id) + add_non_qualifying_role_option(select, configured) if configured && assignable.exclude?(configured) + end + + def add_assignable_role_option(select, role) + select.option( + value: role.id.to_s, + label: role.name, + selected: Setting.new_project_user_role_id == role.id + ) + end + + def add_non_qualifying_role_option(select, role) + select.option( + value: role.id.to_s, + label: I18n.t(:label_role_missing_permissions, role: role.name), + selected: true + ) + end end end diff --git a/app/forms/workflows/status_select_form.rb b/app/forms/workflows/status_select_form.rb index cb6c4cf106f..f650969ea3e 100644 --- a/app/forms/workflows/status_select_form.rb +++ b/app/forms/workflows/status_select_form.rb @@ -30,18 +30,16 @@ module Workflows class StatusSelectForm < ApplicationForm - def initialize(all_statuses:, current_statuses:, role:, type:, tab:, dialog_id:) + def initialize(all_statuses:, current_statuses:, type:, tab:, dialog_id:) super() @all_statuses = all_statuses @current_statuses = current_statuses - @role = role @type = type @tab = tab @dialog_id = dialog_id end form do |f| - f.hidden(name: :role_id, value: @role.id) f.hidden(name: :type_id, value: @type.id) f.hidden(name: :tab, value: @tab || "always") @current_statuses.each { |status| f.hidden(name: "original_status_ids[]", value: status.id) } diff --git a/app/helpers/work_packages/split_view_helper.rb b/app/helpers/work_packages/split_view_helper.rb index 9fc30f347ab..5b12485489a 100644 --- a/app/helpers/work_packages/split_view_helper.rb +++ b/app/helpers/work_packages/split_view_helper.rb @@ -33,6 +33,14 @@ module WorkPackages::SplitViewHelper params[:work_package_split_view].present? end + def render_work_package_split_create? + params[:work_package_split_create].present? + end + + def split_create_instance + WorkPackages::SplitCreateComponent.new(project_identifier: params[:project_id]) + end + def split_view_instance WorkPackages::SplitViewComponent.new(id: params[:work_package_id], tab: params[:tab], diff --git a/app/helpers/workflow_helper.rb b/app/helpers/workflow_helper.rb index a56b291fce3..61c7007adb0 100644 --- a/app/helpers/workflow_helper.rb +++ b/app/helpers/workflow_helper.rb @@ -37,7 +37,7 @@ module WorkflowHelper ].map do |tab| tab.merge( partial: "workflows/form", - path: edit_workflow_tab_path(type, tab[:name], params.permit(:role_id)), + path: edit_workflow_tab_path(type, tab[:name], params.permit(role_ids: [])), data: { "admin--workflow-checkbox-state-confirmation-trigger": "click", turbo_frame: "workflow-table", turbo_action: "advance" } diff --git a/app/models/oauth_client_token.rb b/app/models/oauth_client_token.rb index 78965079dcd..41abc5cdda1 100644 --- a/app/models/oauth_client_token.rb +++ b/app/models/oauth_client_token.rb @@ -36,7 +36,7 @@ class OAuthClientToken < ApplicationRecord validates :user, uniqueness: { scope: :oauth_client } validates :access_token, presence: true - validates :refresh_token, presence: true + validates :refresh_token, presence: true, if: -> { expires_in.present? } scope :for_user_and_client, ->(user, client) { where(user:, oauth_client: client) } end diff --git a/modules/backlogs/lib/open_project/backlogs/patches/api/v3/utilities/resource_link_generator_patch.rb b/app/models/ordered_persisted_query_entity.rb similarity index 78% rename from modules/backlogs/lib/open_project/backlogs/patches/api/v3/utilities/resource_link_generator_patch.rb rename to app/models/ordered_persisted_query_entity.rb index bb807597a5b..55931d9b251 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/api/v3/utilities/resource_link_generator_patch.rb +++ b/app/models/ordered_persisted_query_entity.rb @@ -28,20 +28,12 @@ # See COPYRIGHT and LICENSE files for more details. #++ -module OpenProject::Backlogs::Patches::API::V3::Utilities::ResourceLinkGeneratorPatch - extend ActiveSupport::Concern +class OrderedPersistedQueryEntity < ApplicationRecord + belongs_to :persisted_query, optional: false + belongs_to :entity, polymorphic: true, optional: false - included do - singleton_class.prepend(ClassMethods) - end + validates :position, presence: true + validates :entity_id, uniqueness: { scope: %i[persisted_query_id entity_type] } - module ClassMethods - private - - def determine_path_method(record) - return :sprint if record.is_a?(Agile::Sprint) - - super - end - end + default_scope { order(position: :asc) } end diff --git a/app/models/persisted_query.rb b/app/models/persisted_query.rb new file mode 100644 index 00000000000..19532a062ac --- /dev/null +++ b/app/models/persisted_query.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +class PersistedQuery < ApplicationRecord + include Queries::BaseQuery + include Queries::Serialization::Hash + include ::Scopes::Scoped + + belongs_to :project, optional: true + belongs_to :principal, optional: true, inverse_of: :persisted_queries + + has_many :views, class_name: "PersistedView", + as: :query, + dependent: :restrict_with_error, + inverse_of: :query + + has_many :ordered_entities, -> { order(position: :asc) }, + class_name: "OrderedPersistedQueryEntity", + dependent: :destroy, + inverse_of: :persisted_query + + validates :name, length: { maximum: 255, allow_nil: true } + + def self.inherited(subclass) + super + subclass.serialize :filters, coder: Queries::Serialization::Filters.new(subclass) + subclass.serialize :orders, coder: Queries::Serialization::Orders.new(subclass) + subclass.serialize :selects, coder: Queries::Serialization::Selects.new(subclass) + end + + def self.register_query(&) + Queries::Register.register(self, &) + end + + def user + principal if principal.is_a?(User) + end + + def user=(user) + self.principal = user + end + + # Returns the query results, bypassing filters and orders when the query has + # manually-added entities — in that case they are returned in the order + # stored on the join records. + def results + return super if ordered_entities.empty? + + entity_ids = ordered_entities.pluck(:entity_id) + self.class.model.where(id: entity_ids).in_order_of(:id, entity_ids) + end +end diff --git a/app/models/persisted_view.rb b/app/models/persisted_view.rb new file mode 100644 index 00000000000..1dc64a272ab --- /dev/null +++ b/app/models/persisted_view.rb @@ -0,0 +1,75 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +class PersistedView < ApplicationRecord + belongs_to :project, optional: true + belongs_to :principal, optional: true, inverse_of: :persisted_views + belongs_to :query, polymorphic: true, optional: true + + belongs_to :parent, class_name: "PersistedView", optional: true + has_many :children, class_name: "PersistedView", foreign_key: "parent_id", dependent: :destroy, inverse_of: :parent + + acts_as_favoritable + + enum :category, { + work_package: "work_package", + project: "project", + resource_management: "resource_management" + }, validate: { allow_nil: true } + + validates :name, presence: true, length: { maximum: 255 } + + scope :public_views, -> { where(public: true) } + scope :private_views, ->(principal: User.current) { where(public: false, principal:) } + + scope :visible, (lambda do |principal: User.current| + public_views.or(private_views(principal:)) + end) + + after_destroy :destroy_query_if_orphaned + + # Returns the query of this view or, if not set, the query of the parent view. + def effective_query + query || parent&.effective_query + end + + private + + # When this view is destroyed, also destroy its query unless another public + # view still references it. Views belonging to the same owner that are also + # going away (e.g. during user deletion) do not count as "still referencing" + # since only public views keep a query alive. + def destroy_query_if_orphaned + return if query.nil? + return if PersistedView.exists?(query:, public: true) + + query.destroy! + end +end diff --git a/app/models/principal.rb b/app/models/principal.rb index 1ec1c24a00e..156b31dfcd1 100644 --- a/app/models/principal.rb +++ b/app/models/principal.rb @@ -77,6 +77,9 @@ class Principal < ApplicationRecord inverse_of: :principal has_many :auth_providers, through: :user_auth_provider_links + has_many :persisted_views, inverse_of: :principal, dependent: :nullify + has_many :persisted_queries, inverse_of: :principal, dependent: :nullify + has_paper_trail scopes :like, diff --git a/app/models/principals/scopes/ordered_by_name.rb b/app/models/principals/scopes/ordered_by_name.rb index ae34fb0548d..eaab098794b 100644 --- a/app/models/principals/scopes/ordered_by_name.rb +++ b/app/models/principals/scopes/ordered_by_name.rb @@ -41,7 +41,7 @@ module Principals::Scopes def ordered_by_name(desc: false) direction = desc ? "DESC" : "ASC" - order_case = Arel.sql <<~SQL + order_case = Arel.sql(<<~SQL.squish) CASE WHEN users.type = 'User' THEN LOWER(#{user_concat_sql}) WHEN users.type != 'User' THEN LOWER(users.lastname) diff --git a/app/models/project_role.rb b/app/models/project_role.rb index 430c78e2e10..f103f7e2171 100644 --- a/app/models/project_role.rb +++ b/app/models/project_role.rb @@ -29,6 +29,20 @@ # ++ class ProjectRole < Role + # Permissions a role must grant in order to be assignable as the default + # role for a non-admin user who creates a project. Without these, the + # creator cannot complete project setup (filling out the PIR, adding + # members, etc.). + PERMISSIONS_FOR_PROJECT_CREATOR = %i[ + view_project + + view_project_attributes + edit_project_attributes + + view_members + manage_members + ].freeze + has_many :custom_fields_roles, foreign_key: "role_id", dependent: :restrict_with_error, @@ -39,6 +53,20 @@ class ProjectRole < Role .where(type: "ProjectRole") end + # Roles eligible to be granted to a non-admin user upon project creation. + # Restricted to givable roles that include all PERMISSIONS_FOR_PROJECT_CREATOR. + def self.assignable_to_project_creator + permissions = PERMISSIONS_FOR_PROJECT_CREATOR.map(&:to_s) + + role_ids = RolePermission + .where(permission: permissions) + .group(:role_id) + .having("COUNT(DISTINCT permission) = ?", permissions.size) + .select(:role_id) + + givable.where(id: role_ids) + end + # Return the builtin 'non member' role. If the role doesn't exist, # it will be created on the fly. def self.non_member @@ -66,9 +94,12 @@ class ProjectRole < Role end def self.in_new_project - givable + assignable_to_project_creator .except(:order) - .order(Arel.sql("COALESCE(#{Setting.new_project_user_role_id.to_i} = id, false) DESC, position")) + .reorder(Arel.sql( + "COALESCE(#{Setting.new_project_user_role_id.to_i} = #{quoted_table_name}.id, false) DESC, " \ + "#{quoted_table_name}.position" + )) .first end end diff --git a/app/models/projects/identifier.rb b/app/models/projects/identifier.rb index eaed2ca133b..330953b7348 100644 --- a/app/models/projects/identifier.rb +++ b/app/models/projects/identifier.rb @@ -31,18 +31,20 @@ module Projects::Identifier extend ActiveSupport::Concern - IDENTIFIER_MAX_LENGTH = 100 + CLASSIC_IDENTIFIER_MAX_LENGTH = 100 SEMANTIC_IDENTIFIER_MAX_LENGTH = 10 - RESERVED_IDENTIFIERS = %w[new menu queries filters identifier_update_dialog identifier_suggestion].freeze # Classic identifier format: lowercase letters, digits, hyphens, underscores — but not all-numeric. CLASSIC_IDENTIFIER_FORMAT = /\A(?!\d+\z)[a-z0-9\-_]+\z/ + # Semantic identifier format is covered by validate_identifier_semantic_format via multiple validators + + RESERVED_IDENTIFIERS = %w[new menu queries filters identifier_update_dialog identifier_suggestion].freeze included do extend FriendlyId normalizes :identifier, with: OpenProject::RemoveInvisibleCharacters - ### ID generators + # Generators # There are two supported formats: # 1. slug identifiers (e.g. "project_one"), generated by acts_as_url # * work package ID = global ID (e.g. "#123") @@ -52,7 +54,7 @@ module Projects::Identifier url_attribute: :identifier, sync_url: false, # Don't update identifier when name changes only_when_blank: true, # Only generate when identifier not set - limit: IDENTIFIER_MAX_LENGTH, + limit: CLASSIC_IDENTIFIER_MAX_LENGTH, blacklist: RESERVED_IDENTIFIERS, adapter: OpenProject::ActsAsUrl::Adapter::OpActiveRecord, # use a custom adapter able to handle edge cases skip_if: -> { Setting::WorkPackageIdentifier.semantic? } @@ -62,28 +64,13 @@ module Projects::Identifier on: :create, if: -> { Setting::WorkPackageIdentifier.semantic? && identifier.blank? } - ### ID validators - # Shared validators for all identifier formats + # Validators validates :identifier, presence: true, uniqueness: { case_sensitive: false }, - length: { maximum: IDENTIFIER_MAX_LENGTH }, if: ->(p) { p.persisted? || p.identifier.present? } - # Validators for the numeric (legacy) identifier format (e.g. "my-project", "project_one") - validate :identifier_numeric_format, - if: ->(p) { p.identifier_changed? && p.identifier.present? && Setting::WorkPackageIdentifier.classic? } - - # Validators for the semantic (alphanumeric) identifier format (e.g. "PROJ1") - validate :identifier_alphanumeric_format, - if: ->(p) { p.identifier_changed? && p.identifier.present? && Setting::WorkPackageIdentifier.semantic? } - - validate :identifier_not_reserved, if: -> { identifier.present? } - - # Complements the uniqueness validation above: once an identifier has been used by a - # project, it remains reserved for that project even after the project moves to a new - # identifier. This prevents another project from claiming a "retired" identifier. - validate :identifier_not_historically_reserved, if: ->(p) { p.identifier_changed? } + validate :validate_identifier, if: ->(p) { p.identifier_changed? && p.identifier.present? } friendly_id :identifier, use: %i[finders history], slug_column: :identifier @@ -96,23 +83,61 @@ module Projects::Identifier def unset_slug_if_invalid; end end + # Domain-named scopes for the FriendlyId::Slug relation returned by Project.identifier_slugs. + # Lets callers compose against verbs like .historically_reserved / .for_identifier / .upcased_values + # instead of raw SQL fragments — keeping FriendlyId::Slug column knowledge in one place. + module IdentifierSlugScopes + # Slugs that are no longer used as any active project's identifier, but remain reserved + # because FriendlyId still owns them — so they cannot be reused by another project. + def historically_reserved + where("LOWER(slug) NOT IN (SELECT LOWER(identifier) FROM projects)") + end + + # Slugs whose lowercase form equals the lowercased input. + def for_identifier(value) + where("LOWER(slug) = ?", value.downcase) + end + + # Excludes the given project's own slug history. No-op when project is nil. + def excluding_project(project) + project ? where.not(sluggable_id: project) : self + end + + def upcased_values = pluck(Arel.sql("UPPER(slug)")) + def downcased_values = pluck(Arel.sql("LOWER(slug)")) + # Verbatim values, no case folding. Named `raw_values` to avoid colliding + # with `ActiveRecord::Relation#values` (an internal Rails method). + def raw_values = pluck(:slug) + end + class_methods do def classic_identifier_format?(str) str.match?(CLASSIC_IDENTIFIER_FORMAT) end - def suggest_identifier(name) - if Setting::WorkPackageIdentifier.semantic? + # FriendlyId's :history module records a row on every save, so this relation contains + # both currently-used identifiers and historically-reserved ones. Compose with + # `.historically_reserved` to filter to the latter. The name aligns with FriendlyId's + # `project.slugs` association for vocabulary consistency. + def identifier_slugs + FriendlyId::Slug.where(sluggable_type: name).extending(IdentifierSlugScopes) + end + + def suggest_identifier(name, mode: Setting[:work_packages_identifier]) + if mode == Setting::WorkPackageIdentifier::SEMANTIC exclude = ProjectIdentifiers::IdentifierAutofix::ProblematicIdentifiers.reserved_identifiers ProjectIdentifiers::IdentifierAutofix::ProjectIdentifierSuggestionGenerator .suggest_identifier(name, exclude:) - else # This should closely enough emulate Project models' usage of acts_as_url - name.to_url.first(IDENTIFIER_MAX_LENGTH).presence || - "project-#{SecureRandom.alphanumeric(5).downcase}" + else + ProjectIdentifiers::ClassicIdentifierSuggestionGenerator.new.suggest_identifier(name) end end end + def suggest_identifier(mode: Setting[:work_packages_identifier]) + self.class.suggest_identifier(name, mode:) + end + # Override the `validation_context` getter to include the `default_validation_context` when the # context is `:saving_custom_fields`. This is required, because the `acts_as_url` plugin from # `stringex` defines a callback on the `:create` context for initialising the `identifier` field. @@ -133,15 +158,26 @@ module Projects::Identifier private - # Contains only a-z, 0-9, dashes and underscores but cannot consist of numbers only - # as that would clash with the numeric id. - def identifier_numeric_format - unless identifier.match?(CLASSIC_IDENTIFIER_FORMAT) - errors.add(:identifier, :invalid) + def validate_identifier + validate_identifier_not_reserved_keyword + + if Setting::WorkPackageIdentifier.semantic? || Array(validation_context).include?(:semantic_conversion) + validate_identifier_semantic_format + else + validate_identifier_classic_format + end + + validate_identifier_not_historically_reserved + end + + def validate_identifier_classic_format + errors.add(:identifier, :invalid) unless self.class.classic_identifier_format?(identifier) + if identifier.length > CLASSIC_IDENTIFIER_MAX_LENGTH + errors.add(:identifier, :too_long, count: CLASSIC_IDENTIFIER_MAX_LENGTH) end end - def identifier_alphanumeric_format + def validate_identifier_semantic_format errors.add(:identifier, :must_start_with_letter) unless identifier.match?(/\A[A-Z]/) errors.add(:identifier, :no_special_characters) unless identifier.match?(/\A[A-Z0-9_]*\z/) if identifier.length > SEMANTIC_IDENTIFIER_MAX_LENGTH @@ -149,8 +185,8 @@ module Projects::Identifier end end - def identifier_not_reserved - if RESERVED_IDENTIFIERS.include?(identifier&.downcase) + def validate_identifier_not_reserved_keyword + if RESERVED_IDENTIFIERS.include?(identifier.downcase) errors.add(:identifier, :exclusion) end end @@ -158,17 +194,18 @@ module Projects::Identifier # Checks friendly_id_slugs for any project that previously used this identifier and # has since changed it. It allows a project to switch back to an identifier it has # used before. Uses LOWER() because slugs may be stored in a different case than the - # incoming identifier (e.g. old lowercase slug vs new uppercase alphanumeric identifier). - def identifier_not_historically_reserved + # incoming identifier (e.g. old lowercase slug vs new uppercase semantic identifier). + def validate_identifier_not_historically_reserved return if errors.any? { |error| error.attribute == :identifier && error.type == :taken } - already_existing = FriendlyId::Slug - .where("LOWER(slug) = LOWER(?)", identifier) - .where(sluggable_type: self.class.to_s) - .where.not(sluggable_id: id) - .exists? + errors.add(:identifier, :taken, value: identifier) if identifier_used_by_other_project_in_past? + end - errors.add(:identifier, :taken, value: identifier) if already_existing + def identifier_used_by_other_project_in_past? + self.class.identifier_slugs + .for_identifier(identifier) + .where.not(sluggable_id: id) + .exists? end def generate_semantic_identifier diff --git a/app/models/queries/users.rb b/app/models/queries/users.rb deleted file mode 100644 index 8c09b0a743d..00000000000 --- a/app/models/queries/users.rb +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true - -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) the OpenProject GmbH -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version 3. -# -# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -# Copyright (C) 2006-2013 Jean-Philippe Lang -# Copyright (C) 2010-2013 the ChiliProject Team -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# See COPYRIGHT and LICENSE files for more details. -#++ - -module Queries::Users - ::Queries::Register.register(UserQuery) do - filter Filters::NameFilter - filter Filters::AnyNameAttributeFilter - filter Filters::GroupFilter - filter Filters::StatusFilter - filter Filters::LoginFilter - filter Filters::BlockedFilter - - order Orders::DefaultOrder - order Orders::NameOrder - order Orders::GroupOrder - end -end diff --git a/app/models/user_card_view.rb b/app/models/user_card_view.rb new file mode 100644 index 00000000000..f568951f75f --- /dev/null +++ b/app/models/user_card_view.rb @@ -0,0 +1,64 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +class UserCardView < PersistedView + SECONDARY_INFO = %w[role email login none].freeze + TAG_SOURCES = %w[groups roles none].freeze + CARD_SIZES = %w[compact default expanded].freeze + + store_attribute :options, :secondary_info, :string, default: "role" + store_attribute :options, :show_status_badge, :boolean, default: true + store_attribute :options, :show_email, :boolean, default: false + store_attribute :options, :tag_source, :string, default: "groups" + store_attribute :options, :tag_limit, :integer, default: 3 + store_attribute :options, :card_size, :string, default: "default" + store_attribute :options, :columns_per_row, :integer, default: 3 + + validates :secondary_info, inclusion: { in: SECONDARY_INFO } + validates :tag_source, inclusion: { in: TAG_SOURCES } + validates :card_size, inclusion: { in: CARD_SIZES } + validates :tag_limit, numericality: { only_integer: true, in: 0..10 } + validates :columns_per_row, numericality: { only_integer: true, in: 1..4 } + + validate :query_must_be_user_query + + def results + effective_query&.results + end + + private + + def query_must_be_user_query + resolved = effective_query + return if resolved.nil? || resolved.is_a?(UserQuery) + + errors.add(:query, :invalid) + end +end diff --git a/app/models/user_query.rb b/app/models/user_query.rb new file mode 100644 index 00000000000..be81b333f4a --- /dev/null +++ b/app/models/user_query.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +class UserQuery < PersistedQuery + def self.model + User + end + + def default_scope + # Excludes the SystemUser, DeletedUser, AnonymousUser STI descendants of User. + User.user + end + + register_query do + filter Queries::Users::Filters::NameFilter + filter Queries::Users::Filters::AnyNameAttributeFilter + filter Queries::Users::Filters::GroupFilter + filter Queries::Users::Filters::StatusFilter + filter Queries::Users::Filters::LoginFilter + filter Queries::Users::Filters::BlockedFilter + + order Queries::Users::Orders::DefaultOrder + order Queries::Users::Orders::NameOrder + order Queries::Users::Orders::GroupOrder + end +end diff --git a/app/models/work_package/semantic_identifier.rb b/app/models/work_package/semantic_identifier.rb index d5dd57486a9..a1608d74860 100644 --- a/app/models/work_package/semantic_identifier.rb +++ b/app/models/work_package/semantic_identifier.rb @@ -88,6 +88,27 @@ module WorkPackage::SemanticIdentifier identifier.presence || id end + # Returns the identifier formatted for inline UI display. + # Semantic mode: "PROJ-42" (no prefix — self-describing) + # Classic mode: "#42" (hash-prefixed) + def formatted_id + did = display_id + did.is_a?(String) && did.match?(/[A-Za-z]/) ? did : "##{did}" + end + + # Override ActiveRecord's default `to_param` so Rails URL helpers + # (work_package_path, polymorphic_path, form_for, etc.) automatically + # produce semantic-id URLs in semantic mode. In classic mode display_id + # returns the integer primary key, so this is behaviourally identical + # to the inherited `id&.to_s`. + # + # API v3 deliberately bypasses this by passing `id:` kwargs explicitly + # (see lib/api/v3/work_packages/work_package_representer.rb) so HAL + # self-links remain numeric and stable for API consumers. + def to_param + display_id&.to_s + end + # Allocates the next semantic identifier in the current project and assigns it to the WP. # Also writes alias rows for every identifier the project has ever used (including "ghost" aliases). # diff --git a/app/models/work_packages/costs.rb b/app/models/work_packages/costs.rb index 4a9ed1cd631..52a1f942113 100644 --- a/app/models/work_packages/costs.rb +++ b/app/models/work_packages/costs.rb @@ -118,7 +118,7 @@ module WorkPackages::Costs reassign_to = ::WorkPackage .joins(:project) .merge(Project.allowed_to(user, :edit_cost_entries)) - .find_by_id(ids) + .find_by(id: ids) if reassign_to.nil? work_packages.each do |wp| diff --git a/app/services/mcp_resources/user.rb b/app/services/mcp_resources/user.rb index b9f522f10ea..c7fc64b4e79 100644 --- a/app/services/mcp_resources/user.rb +++ b/app/services/mcp_resources/user.rb @@ -37,7 +37,7 @@ module McpResources default_description "Access users of this OpenProject instance." def read(id:) - user = ::User.visible(current_user).find_by_unique(id) # rubocop:disable Rails/DynamicFindBy + user = ::User.visible(current_user).find_by_unique(id) return nil if user.nil? API::V3::Users::UserRepresenter.create(user, current_user:) diff --git a/app/services/project_identifiers/classic_identifier_suggestion_generator.rb b/app/services/project_identifiers/classic_identifier_suggestion_generator.rb new file mode 100644 index 00000000000..ca74eea1687 --- /dev/null +++ b/app/services/project_identifiers/classic_identifier_suggestion_generator.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module ProjectIdentifiers + # Generates a unique classic-format (acts_as_url-style) identifier from a project name, + # mirroring acts_as_url's own duplicate loop: appends -1, -2, … until a free slug is found. + # + # Instantiate once to load the taken-identifier set from the DB, then call +suggest_identifier+. + class ClassicIdentifierSuggestionGenerator + FALLBACK_BASE = "project" + + def initialize(project: nil) + @exclude = taken_identifiers(project:) + end + + # Returns the most-recent classic-format slug from the project's FriendlyId history, + # or nil if none exists. Availability is not checked — callers must handle conflicts. + def restore_identifier(project) + project.slugs + .order(created_at: :desc) + .pluck(:slug) + .find { |slug| Project.classic_identifier_format?(slug) } + end + + # Generates a unique classic-format identifier from +name+, mirroring acts_as_url's + # duplicate loop: appends -1, -2, … until a slug not in the taken set is found. + # Falls back to a randomised +FALLBACK_BASE+ slug when +name+ produces a blank slug. + def suggest_identifier(name) + base = slugify(name) || fallback_base + + candidate = base + n = 1 + loop do + return candidate if @exclude.exclude?(candidate.downcase) + + candidate = "#{base}-#{n}" + n += 1 + end + end + + private + + def slugify(name) + name.to_url.first(Projects::Identifier::CLASSIC_IDENTIFIER_MAX_LENGTH).presence + end + + def fallback_base + "#{FALLBACK_BASE}-#{SecureRandom.alphanumeric(5).downcase}" + end + + def taken_identifiers(project: nil) + current = Project.unscoped.pluck(:identifier).compact.to_set(&:downcase) + historical = Project.identifier_slugs.excluding_project(project).downcased_values.to_set + reserved = Projects::Identifier::RESERVED_IDENTIFIERS.to_set + current | historical | reserved + end + end +end diff --git a/app/services/project_identifiers/convert_project_to_semantic_service.rb b/app/services/project_identifiers/convert_project_to_semantic_service.rb index 23170b66a2d..788f120665f 100644 --- a/app/services/project_identifiers/convert_project_to_semantic_service.rb +++ b/app/services/project_identifiers/convert_project_to_semantic_service.rb @@ -71,23 +71,17 @@ module ProjectIdentifiers end def assign_semantic_identifier - # Re-instantiate inside the lock so the exclusion set reflects all - # identifiers committed since this job started. - detector = ProjectIdentifiers::IdentifierAutofix::ProblematicIdentifiers.new - generator = ProjectIdentifiers::IdentifierAutofix::ProjectIdentifierSuggestionGenerator - # Prefer restoring the project's last known semantic identifier (from # FriendlyId history) so that existing WP identifiers remain valid and # aliases need no update. Fall back to generating a fresh suggestion. new_identifier = project.previous_semantic_identifier || - generator.suggest_identifier(project.name, exclude: detector.exclusion_set) + project.suggest_identifier(mode: Setting::WorkPackageIdentifier::SEMANTIC) raise "Generated identifier is blank for project #{project.id}" if new_identifier.blank? project.identifier = new_identifier - # Bypass validation, because we're technically still in classic mode, so the model would be applying - # validation for classic identifiers. - project.save!(validate: false) + # Save with the validation context that allows to save semantic ID while system is in classic mode + project.save!(context: :semantic_conversion) end def reset_stale_identifiers diff --git a/app/services/project_identifiers/identifier_autofix/preview_query.rb b/app/services/project_identifiers/identifier_autofix/preview_query.rb index 11f9f22ff04..f1cfe3aa0a0 100644 --- a/app/services/project_identifiers/identifier_autofix/preview_query.rb +++ b/app/services/project_identifiers/identifier_autofix/preview_query.rb @@ -53,7 +53,7 @@ module ProjectIdentifiers def generate_suggestions(analysis) ProjectIdentifierSuggestionGenerator.call( preview_projects(analysis.scope), - exclude: analysis.exclusion_set.to_set(&:upcase) + exclude: analysis.reserved_identifiers_for_admin_preview.to_set(&:upcase) ) end diff --git a/app/services/project_identifiers/identifier_autofix/problematic_identifiers.rb b/app/services/project_identifiers/identifier_autofix/problematic_identifiers.rb index 769ddb9d633..25ab7a8bb05 100644 --- a/app/services/project_identifiers/identifier_autofix/problematic_identifiers.rb +++ b/app/services/project_identifiers/identifier_autofix/problematic_identifiers.rb @@ -37,7 +37,7 @@ module ProjectIdentifiers # # == Performance notes # - # * +#exclusion_set+ loads all non-problematic identifiers and historical slugs + # * +#reserved_identifiers_for_admin_preview+ loads all non-problematic identifiers and historical slugs # into memory. Fine for a one-off admin migration; if this ever becomes a hot # path, consider a DB-backed exclusion check instead. # @@ -47,11 +47,15 @@ module ProjectIdentifiers # # class ProblematicIdentifiers - # Returns all project identifiers (current and historical) tracked by - # FriendlyId's slug history. Useful as an exclusion set when generating - # new identifiers, since any slug that was ever in use must not be reused. + # Returns a Set of uppercased identifiers that must not be reused. + # Combines all FriendlyId slug history for projects (current and historical slugs) + # with system-reserved keywords from Projects::Identifier::RESERVED_IDENTIFIERS. def self.reserved_identifiers - FriendlyId::Slug.where(sluggable_type: Project.name).pluck(:slug).to_set + Project.identifier_slugs.upcased_values.to_set | model_reserved_identifiers + end + + def self.model_reserved_identifiers + Projects::Identifier::RESERVED_IDENTIFIERS.to_set(&:upcase) end # Priority-ordered format rules for identifier classification. @@ -77,7 +81,7 @@ module ProjectIdentifiers end def self.max_identifier_length - ProjectIdentifierSuggestionGenerator::IDENTIFIER_LENGTH[:max] + Projects::Identifier::SEMANTIC_IDENTIFIER_MAX_LENGTH end def scope @@ -96,20 +100,17 @@ module ProjectIdentifiers end # Returns a Set of identifiers that must not be suggested for new assignments. - # Combines currently active identifiers from non-problematic projects with - # historically reserved identifiers from FriendlyId slug history. - def exclusion_set - historical_identifiers | in_use_identifiers + # Unions currently active identifiers (non-problematic projects), historical FriendlyId slugs, + # and system-reserved keywords — the full exclusion set used by #collision_error_reason. + # Uses instance-level memoization so the same loaded sets power both this method and collision checks. + def reserved_identifiers_for_admin_preview + historical_identifiers | current_identifiers | self.class.model_reserved_identifiers end private def historical_identifiers - @historical_identifiers ||= FriendlyId::Slug - .where(sluggable_type: Project.name) - .where("LOWER(slug) NOT IN (SELECT LOWER(identifier) FROM projects)") - .pluck(:slug) - .to_set + @historical_identifiers ||= Project.identifier_slugs.historically_reserved.upcased_values.to_set end def exceeds_max_length = Project.where("length(identifier) > ?", self.class.max_identifier_length) @@ -118,17 +119,18 @@ module ProjectIdentifiers def not_fully_uppercased = Project.where("identifier != UPPER(identifier)") def collision_error_reason(identifier) - if in_use_identifiers.include?(identifier) + if self.class.model_reserved_identifiers.include?(identifier) + :reserved_by_system + elsif current_identifiers.include?(identifier) :in_use elsif historical_identifiers.include?(identifier) - :reserved + :used_in_past end end - def in_use_identifiers - @in_use_identifiers ||= Project.where.not(id: scope.select(:id)).pluck(:identifier).to_set + def current_identifiers + @current_identifiers ||= Project.where.not(id: scope.select(:id)).pluck(:identifier).to_set end - end end end diff --git a/app/services/project_identifiers/revert_project_to_classic_service.rb b/app/services/project_identifiers/revert_project_to_classic_service.rb index 87ad2d7b080..7a1045d574e 100644 --- a/app/services/project_identifiers/revert_project_to_classic_service.rb +++ b/app/services/project_identifiers/revert_project_to_classic_service.rb @@ -51,18 +51,9 @@ module ProjectIdentifiers attr_reader :project def restore_classic_identifier - classic = previous_classic_identifier.presence || Project.suggest_identifier(project.name) + generator = ProjectIdentifiers::ClassicIdentifierSuggestionGenerator.new + classic = generator.restore_identifier(project) || generator.suggest_identifier(project.name) project.update!(identifier: classic) end - - # Returns the most-recent FriendlyId slug for this project that is in classic - # acts_as_url format (lowercase letters, digits, hyphens, underscores; not - # all-numeric), or nil if no such slug exists. - def previous_classic_identifier - project.slugs - .order(created_at: :desc) - .pluck(:slug) - .find { |slug| Project.classic_identifier_format?(slug) } - end end end diff --git a/app/views/journals/index.atom.builder b/app/views/journals/index.atom.builder index 50e0a67e65f..206c8350b5e 100644 --- a/app/views/journals/index.atom.builder +++ b/app/views/journals/index.atom.builder @@ -41,7 +41,12 @@ xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do xml.entry do xml.title "#{work_package.project.name} - #{work_package.type.name} ##{work_package.id}: #{work_package.subject}" xml.link "rel" => "alternate", "href" => work_package_url(work_package) - xml.id url_for(controller: "/work_packages", action: "show", id: work_package, journal_id: change, + # RFC 4287 §4.2.6.1: atom:id MUST NOT change over time. Feed readers + # key entry deduplication on its byte value, so flipping the URL + # across a work_packages_identifier mode change would re-surface every + # historical entry as new in subscribers' readers. Pin to the numeric + # primary key to keep the id stable. + xml.id url_for(controller: "/work_packages", action: "show", id: work_package.id, journal_id: change, only_path: false) xml.updated change.created_at.xmlschema xml.author do diff --git a/app/views/roles/edit.html.erb b/app/views/roles/edit.html.erb index a5d59733886..7ee773cf81b 100644 --- a/app/views/roles/edit.html.erb +++ b/app/views/roles/edit.html.erb @@ -32,16 +32,29 @@ See COPYRIGHT and LICENSE files for more details. <%= render Primer::OpenProject::PageHeader.new do |header| header.with_title { @role.name } - header.with_breadcrumbs([{ href: admin_index_path, text: t("label_administration") }, - { href: admin_settings_users_path, text: t(:label_user_and_permission) }, - { href: roles_path, text: t(:label_role_and_permissions) }, - @role.name]) + header.with_breadcrumbs( + [{ href: admin_index_path, text: t("label_administration") }, + { href: admin_settings_users_path, text: t(:label_user_and_permission) }, + { href: roles_path, text: t(:label_role_and_permissions) }, + @role.name] + ) end %> -<%= labelled_tabular_form_for @role, :url => { :action => 'update' }, :html => {:id => 'role_form'}, :as => :role do |f| %> - <%= hidden_field_tag :id, @role.id %> - <%= render partial: 'form', locals: { f: f , role: @role } %> -
- <%= styled_button_tag t(:button_save), class: '-with-icon icon-checkmark' %> +<% if @role.is_a?(ProjectRole) && Setting.new_project_user_role_id.to_i == @role.id %> + <%= render(Primer::Alpha::Banner.new(scheme: :warning, icon: :alert, mb: 3)) do %> +

<%= t("roles.edit.default_for_new_projects_warning") %>

+ + <% end %> +<% end %> + +<%= labelled_tabular_form_for @role, url: { action: "update" }, html: { id: "role_form" }, as: :role do |f| %> + <%= hidden_field_tag :id, @role.id %> + <%= render partial: "form", locals: { f: f, role: @role } %> +
+ <%= styled_button_tag t(:button_save), class: "-with-icon icon-checkmark" %> <% end %> diff --git a/app/views/work_packages/split_create.html.erb b/app/views/work_packages/split_create.html.erb new file mode 100644 index 00000000000..f6140ad4c93 --- /dev/null +++ b/app/views/work_packages/split_create.html.erb @@ -0,0 +1,3 @@ +<%= turbo_frame_tag "content-bodyRight" do %> + <%= render(split_create_instance) %> +<% end %> diff --git a/app/views/workflows/_form.html.erb b/app/views/workflows/_form.html.erb index 95e3a7469a4..11cbe41d944 100644 --- a/app/views/workflows/_form.html.erb +++ b/app/views/workflows/_form.html.erb @@ -187,9 +187,11 @@ See COPYRIGHT and LICENSE files for more details. <% end %> <% @statuses.each do |new_status| -%> - <% transition_saved = workflows.any? { it.old_status_id == old_status.id && it.new_status_id == new_status.id } - newly_added_status = @added_status_ids.include?(old_status.id) || @added_status_ids.include?(new_status.id) %> + <% transition_role_ids = workflows.select { it.old_status_id == old_status.id && it.new_status_id == new_status.id }.map(&:role_id).uniq + newly_added_status = @added_status_ids.include?(old_status.id) || @added_status_ids.include?(new_status.id) + some_roles = !transition_role_ids.empty? && transition_role_ids.size < @roles.size && !newly_added_status %> + <%= hidden_field_tag "indeterminate_status[#{old_status.id}][#{new_status.id}]", "1" if some_roles %> <%= render(Primer::BaseComponent.new(tag: :div, display: :flex, align_items: :center, mx: 1)) do render( @@ -198,13 +200,14 @@ See COPYRIGHT and LICENSE files for more details. name: "status[#{old_status.id}][#{new_status.id}]", id: "status_#{old_status.id}_#{new_status.id}", # See BUG https://github.com/primer/view_components/issues/3811 value: name, - checked: transition_saved || newly_added_status, + checked: !some_roles && (transition_role_ids.any? || newly_added_status), label: t(".matrix_checkbox_label", old_status: old_status.name, new_status: new_status.name), visually_hide_label: true, data: { checkable_target: "checkbox", old_status: old_status.id, - new_status: new_status.id + new_status: new_status.id, + indeterminate: (true if some_roles) } ) ) diff --git a/app/views/workflows/edit.html.erb b/app/views/workflows/edit.html.erb index 49db69fe7cc..b7bdacd0a47 100644 --- a/app/views/workflows/edit.html.erb +++ b/app/views/workflows/edit.html.erb @@ -28,9 +28,9 @@ See COPYRIGHT and LICENSE files for more details. ++#%> <% html_title t(:label_administration), t(:label_workflow_plural), @type.name -%> <% content_for :content_header do %> - <%= render Workflows::PageHeaders::EditComponent.new(@type, role: @role, tabs: workflow_tabs(@type)) %> + <%= render Workflows::PageHeaders::EditComponent.new(@type, roles: @roles, tabs: workflow_tabs(@type)) %> <% end %> -<% if @type && @role %> - <%= turbo_frame_tag "workflow-table", src: edit_workflow_tab_path(@type, @current_tab, role_id: @role.id, status_ids: params[:status_ids]) %> +<% if @type && @roles.any? %> + <%= turbo_frame_tag "workflow-table", src: edit_workflow_tab_path(@type, @current_tab, role_ids: @roles.map(&:id), status_ids: params[:status_ids]) %> <% end %> diff --git a/app/views/workflows/summaries/show.html.erb b/app/views/workflows/summaries/show.html.erb index 034123f66d9..f5ed8bcff9e 100644 --- a/app/views/workflows/summaries/show.html.erb +++ b/app/views/workflows/summaries/show.html.erb @@ -61,7 +61,7 @@ See COPYRIGHT and LICENSE files for more details. <%= h type %> <% roles.each do |role, count| -%> - <%= link_to((count > 0 ? count : content_tag(:span, "", class: "icon-close icon-context icon-button")), edit_workflow_path(type, role_id: role), title: t(:button_edit)) %> + <%= link_to((count > 0 ? count : content_tag(:span, "", class: "icon-close icon-context icon-button")), edit_workflow_path(type, role_ids: [role]), title: t(:button_edit)) %> <% end -%> diff --git a/app/views/workflows/tabs/edit.html.erb b/app/views/workflows/tabs/edit.html.erb index f665ac5cd3c..cc5624dbda9 100644 --- a/app/views/workflows/tabs/edit.html.erb +++ b/app/views/workflows/tabs/edit.html.erb @@ -28,8 +28,8 @@ See COPYRIGHT and LICENSE files for more details. ++#%> <%= turbo_frame_tag "workflow-table", data: { turbo_cache: false } do %> - <%= render Workflows::StatusMatrixFormComponent.new(tab: @tab, role: @role, type: @type, available_roles: @eligible_roles, statuses: @statuses, has_status_changes: @has_status_changes) %> + <%= render Workflows::StatusMatrixFormComponent.new(tab: @tab, roles: @roles, type: @type, available_roles: @eligible_roles, statuses: @statuses, has_status_changes: @has_status_changes) %> <%= turbo_stream.replace(Workflows::PageHeaders::EditComponent.wrapper_key) do %> - <%= render Workflows::PageHeaders::EditComponent.new(@type, role: @role, tabs: workflow_tabs(@type)) %> + <%= render Workflows::PageHeaders::EditComponent.new(@type, roles: @roles, tabs: workflow_tabs(@type)) %> <% end %> <% end %> diff --git a/app/workers/principals/delete_job.rb b/app/workers/principals/delete_job.rb index 68b35d0dca1..f7dc88960bd 100644 --- a/app/workers/principals/delete_job.rb +++ b/app/workers/principals/delete_job.rb @@ -67,6 +67,9 @@ class Principals::DeleteJob < ApplicationJob def delete_associated(principal) delete_notifications(principal) delete_private_queries(principal) + delete_private_persisted_views(principal) + nullify_persisted_query_principals(principal) + delete_user_ordered_query_entities(principal) delete_tokens(principal) delete_favorites(principal) end @@ -84,6 +87,30 @@ class Principals::DeleteJob < ApplicationJob CostQuery.where(user_id: principal.id, is_public: false).delete_all end + # Private persisted views belong to their owner and are removed with them. + # Public views are kept, but their principal reference is nullified so the + # view becomes "ownerless" rather than pointing at the soon-to-be-deleted + # user. Destroying the private views also triggers the view's after_destroy + # hook, which cleans up queries that are no longer referenced by any public + # view. + def delete_private_persisted_views(principal) + PersistedView.where(principal_id: principal.id, public: false).destroy_all + PersistedView.where(principal_id: principal.id, public: true).update_all(principal_id: nil) + end + + # Queries have no public/private flag — their visibility is derived from the + # views that reference them. Any query still reachable after the view + # cleanup above stays; we just drop the owner pointer. + def nullify_persisted_query_principals(principal) + PersistedQuery.where(principal_id: principal.id).update_all(principal_id: nil) + end + + # Manually curated entries that point at the deleted user are dropped — a + # list of "Deleted user, Deleted user, …" is worse than just removing them. + def delete_user_ordered_query_entities(principal) + OrderedPersistedQueryEntity.where(entity: principal).delete_all + end + def delete_favorites(principal) Favorite.where(user_id: principal.id).delete_all end diff --git a/bin/compose b/bin/compose index 76861cedbb4..f5e4d56799f 100755 --- a/bin/compose +++ b/bin/compose @@ -13,6 +13,10 @@ fi COMPOSE_FILE=docker-compose.yml +if [ -f docker-compose.override.yml ]; then + COMPOSE_FILE="$COMPOSE_FILE -f docker-compose.override.yml" +fi + if [ $# -eq 0 ]; then echo "Usage: bin/compose [args*]" echo @@ -21,6 +25,7 @@ if [ $# -eq 0 ]; then echo " reset - Resets everything by removing all containers and deleting all volumes. You need to run \`setup\` again afterwards. " echo " start - Starts both backend and frontend in the background. Access via http://localhost:3000/ by default." echo " run - Starts the frontend in the background and backend in the foreground. Useful for debugging using pry." + echo " restart [service] - Restarts one or all running services." echo " rspec - Runs rspec inside the \`backend-test\` container which will be started if it's not running yet." echo " * - Everything else will be passed straight to \`docker-compose\`." echo @@ -54,6 +59,8 @@ elif [[ "$@" = "run" ]]; then elif [[ "$1" = "setup" ]]; then $DOCKER_COMPOSE -f $COMPOSE_FILE run backend setup yes no | $DOCKER_COMPOSE -f $COMPOSE_FILE run frontend npm install +elif [[ "$1" = "restart" ]]; then + $DOCKER_COMPOSE -f $COMPOSE_FILE restart "${@:2}" elif [[ "$1" = "reset" ]]; then $DOCKER_COMPOSE -f $COMPOSE_FILE down && docker volume rm `docker volume ls -q | grep ${PWD##*/}_` elif [[ "$1" = "rspec" ]]; then @@ -84,5 +91,5 @@ elif [[ "$1" = "rspec" ]]; then $DOCKER_COMPOSE -f $COMPOSE_FILE exec backend-test bundle exec rspec "${@:2}" else - $DOCKER_COMPOSE -f $COMPOSE_FILE $* + $DOCKER_COMPOSE -f $COMPOSE_FILE "$@" fi diff --git a/config/database.yml.example b/config/database.yml.example index 2350dd56640..8a897bf14c8 100644 --- a/config/database.yml.example +++ b/config/database.yml.example @@ -38,7 +38,7 @@ development: adapter: postgresql encoding: unicode database: openproject_development - pool: 5 + pool: 100 username: openproject_development password: diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb index a10767864f3..f9c1afa3f2e 100644 --- a/config/initializers/content_security_policy.rb +++ b/config/initializers/content_security_policy.rb @@ -121,7 +121,7 @@ Rails.application.config.after_initialize do # Configure CSP directives policy.default_src(*default_src) policy.base_uri("'self'") - policy.font_src(*assets_src, "data:", "'self'") + policy.font_src(*assets_src, "data:") policy.form_action(*form_action) policy.frame_src(*frame_src, "'self'") policy.frame_ancestors("'self'") diff --git a/config/initializers/database_pool_size.rb b/config/initializers/database_pool_size.rb index da9aaa73a1b..9248ae85ad3 100644 --- a/config/initializers/database_pool_size.rb +++ b/config/initializers/database_pool_size.rb @@ -28,12 +28,33 @@ # See COPYRIGHT and LICENSE files for more details. #++ -config = Rails.env.production? && Rails.application.config.database_configuration[Rails.env] -pool_size = config && [OpenProject::Configuration.web_max_threads + 1, config["pool"].to_i].max +if Rails.env.production? + config = Rails.application.config.database_configuration[Rails.env] + pool_size = config && [OpenProject::Configuration.web_max_threads + 1, config["pool"].to_i].max -# make sure we have enough connections in the pool for each thread and then some -if pool_size && pool_size > ActiveRecord::Base.connection_pool.size - Rails.logger.info { "Increasing database pool size to #{pool_size} to match max threads" } + # make sure we have enough connections in the pool for each thread and then some + if pool_size && pool_size > ActiveRecord::Base.connection_pool.size + Rails.logger.info { "Increasing database pool size to #{pool_size} to match max threads" } - ActiveRecord::Base.establish_connection config.merge(pool: pool_size) + ActiveRecord::Base.establish_connection config.merge(pool: pool_size) + end +end + +# Log a warning if we encounter an under-provisioned dev setup +if Rails.env.local? + utility_connections = 1 + GoodJob::SharedExecutor::MAX_THREADS # based on GoodJob documentation + required_pool_size = OpenProject::Configuration.web_max_threads + + OpenProject::Configuration.good_job_max_threads + + utility_connections + + if ActiveRecord::Base.connection_pool.size < required_pool_size + Rails.logger.warn do + "DB pool size of #{ActiveRecord::Base.connection_pool.size} is too small and could cause problems. " \ + "The recommended sizing is at least #{required_pool_size} " \ + "(#{OpenProject::Configuration.web_max_threads} for web_max_threads + " \ + "#{OpenProject::Configuration.good_job_max_threads} for web_max_threads + " \ + "#{utility_connections} for GoodJob utility connections). " \ + "Please adjust the pool parameter in database.yml or \"?pool=N\" parameter in DATABASE_URL." + end + end end diff --git a/config/locales/crowdin/af.yml b/config/locales/crowdin/af.yml index cad254090cf..70f47d3ba83 100644 --- a/config/locales/crowdin/af.yml +++ b/config/locales/crowdin/af.yml @@ -419,7 +419,8 @@ af: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ af: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ af: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ af: type: Soort version: Weergawe watcher: Dophouer + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ af: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Rolle + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ af: setting_mail_handler_body_delimiter_regex: Stomp eposse af wat ooreenstem met hierdie "regular expression" setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index 0b54508c63e..db98d984c8e 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -443,7 +443,8 @@ ar: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: zero: "... %{count} more projects" @@ -492,8 +493,16 @@ ar: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + zero: "%{count} roles selected" + one: "%{count} role selected" + two: "%{count} roles selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1170,6 +1179,8 @@ ar: no_results_title_text: لا يوجد حالياً أخبار لتقدم. no_results_content_text: أضف عنصر أخبار roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2080,6 +2091,29 @@ ar: type: النّوع version: الإصدار watcher: المشاهد + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: يجب أن تقبل. @@ -4461,6 +4495,7 @@ ar: label_role_new: دور جديد label_role_grantable: Grantable role label_role_plural: دور + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: تعيين دور للأعضاء الجدد label_scm: اختصاراً لِ:"Supply Chain Management" إدارة سلسة الإمداد label_scroll_left: Scroll left @@ -5411,6 +5446,9 @@ ar: setting_mail_handler_body_delimiter_regex: حذف رسائل البريد الإلكتروني المطابقة لهذا التعبير الاعتيادي setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: الدور الممنوح لمستخدم غير مسؤول الذي يقوم بإنشاء مشروع + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index 6ae68684992..26da71eb001 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -419,7 +419,8 @@ az: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ az: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ az: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ az: type: Type version: Version watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ az: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ az: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index f9c230c3077..de79a0346f8 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -431,7 +431,8 @@ be: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -476,8 +477,14 @@ be: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1140,6 +1147,8 @@ be: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2040,6 +2049,29 @@ be: type: Type version: Version watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4341,6 +4373,7 @@ be: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5289,6 +5322,9 @@ be: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index 21c5cc58575..ee18302cc79 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -419,7 +419,8 @@ bg: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ bg: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ bg: no_results_title_text: Няма новини за докладване. no_results_content_text: Добави новина roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ bg: type: Тип version: Версия watcher: Наблюдател + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: трябва да бъде одобрено. @@ -4217,6 +4247,7 @@ bg: label_role_new: Нова роля label_role_grantable: Grantable role label_role_plural: Роли + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5151,6 +5182,9 @@ bg: setting_mail_handler_body_delimiter_regex: Съкрати мейл адресите от една област setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index 2e5a2015ba0..efe8ef2a9ef 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -419,7 +419,8 @@ ca: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ ca: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1109,6 +1114,8 @@ ca: no_results_title_text: Actualment no hi ha cap novetat per a informar. no_results_content_text: Afegir una notícia roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1999,6 +2006,29 @@ ca: type: Classe version: Versió watcher: Observador + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: hauran de ser acceptats. @@ -4216,6 +4246,7 @@ ca: label_role_new: Nou rol label_role_grantable: Grantable role label_role_plural: Rols + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assignar rols als nous membres label_scm: SCM label_scroll_left: Scroll left @@ -5144,6 +5175,9 @@ ca: setting_mail_handler_body_delimiter_regex: Trunca els missatges de correu electrònic que coincideixen amb aquesta expressió regular setting_mail_handler_ignore_filenames: Ignora els fitxers adjunts del correu electrònic setting_new_project_user_role_id: Rol donat per un usuari no-admin que crea un projecte + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index b4bb261425f..a5b9a94329f 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -419,7 +419,8 @@ ckb-IR: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ ckb-IR: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ ckb-IR: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ ckb-IR: type: Type version: Version watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ ckb-IR: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ ckb-IR: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index b69fdcf31fa..8c059e67c01 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -431,7 +431,8 @@ cs: error_special_characters: Speciální znaky nejsou povoleny error_not_fully_uppercased: Musí být napsán velkými písmeny error_in_use: Již se používá jako identifikátor jiného projektu - error_reserved: Již se dříve používal jako identifikátor jiného projektu + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Potřebuje ruční revizi remaining_projects: one: "... 1 další projekt" @@ -476,8 +477,14 @@ cs: ignore: Ignorovat změny save: Uložit změny a pokračovat role_selector: + title: Select roles label: 'Role: %{role}' no_role: Vybrat roli + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: Nejsou nakonfigurovány žádné stavové přechody description: Add statuses to start configuring workflows for this role @@ -1140,6 +1147,8 @@ cs: no_results_title_text: V současné době neexistují žádné zprávy k zobrazení. no_results_content_text: Přidat příspěvek roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1800,7 +1809,7 @@ cs: enabled_modules: Povolené moduly identifier: Identifikátor latest_activity_at: Poslední aktivita - parent: Nadřazený projekt + parent: Podprojekt project_creation_wizard_enabled: Project initiation request public_value: title: Viditelnost @@ -2042,6 +2051,29 @@ cs: type: Typ version: Verze watcher: Sledující + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: musí být přijato. @@ -2212,7 +2244,7 @@ cs: message: cannot_move_message_to_forum_of_different_project: A message cannot be moved to a forum of a different project. notifications: - at_least_one_channel: Pro odesílání notifikací musí být specifikován alespoň jeden kanál + at_least_one_channel: Alespoň jeden kanál pro odesílání oznámení musí být specifikován. attributes: read_ian: read_on_creation: 'nelze nastavit na pravdivé při vytváření oznámení ' @@ -2522,11 +2554,11 @@ cs: member: Člen news: Novinky notification: - one: Notifikace - few: Notifikací - many: Notifikací - other: Notifikace - placeholder_user: Placeholder uživatel + one: Oznámení + few: Oznámení + many: Oznámení + other: Oznámení + placeholder_user: placeholder uživatel project: one: Projekt few: Projekty @@ -3617,7 +3649,7 @@ cs: ai: Umělá Inteligence (AI) aggregation: Agregace api_and_webhooks: API & Webhooky - mail_notification: E-mailové notifikace + mail_notification: E-mailová upozornění mails_and_notifications: E-maily a oznámení mcp_configurations: Protokol MCP (Model Context Protocol) quick_add: @@ -3779,7 +3811,7 @@ cs: by_project: Nepřečteno dle projektu by_reason: Důvod inbox: Doručená pošta - send_notifications: Pro tuto akci odeslat notifikaci + send_notifications: Odeslat oznámení pro tuto akci work_packages: subject: created: Pracovní balíček byl vytvořen. @@ -4244,9 +4276,9 @@ cs: label_permissions: Práva label_permissions_report: Přehled oprávnění label_personalize_page: Přizpůsobit tuto stránku - label_placeholder_user: Placeholder uživatel + label_placeholder_user: placeholder uživatel label_placeholder_user_new: '' - label_placeholder_user_plural: Placeholder uživatelé + label_placeholder_user_plural: placeholder uživatelé label_planning: Plánování label_please_login: Přihlaste se prosím label_plugins: Pluginy @@ -4271,7 +4303,7 @@ cs: label_project_attribute_plural: Atributy projektu label_project_attribute_manage_link: Správa atributů produktu label_project_count: Celkový počet projektů - label_project_copy_notifications: Během kopírování projektu odeslat notifikace e-mailem + label_project_copy_notifications: Během kopie projektu odeslat oznámení e-mailem label_project_initiation_export_pdf: Export PDF for %{project_creation_name} label_project_latest: Nejnovější projekty label_project_default_type: Povolit prázdný typ @@ -4343,6 +4375,7 @@ cs: label_role_new: Nová role label_role_grantable: Udělitelná role label_role_plural: Role + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Přiřadit roli novým členům label_scm: SCM label_scroll_left: Rolovat vlevo @@ -4432,7 +4465,7 @@ cs: label_version_new: Nová verze label_version_edit: Upravit verzi label_version_plural: Verze - label_version_sharing_descendants: S podprojekty + label_version_sharing_descendants: S Podprojekty label_version_sharing_hierarchy: S hierarchií projektu label_version_sharing_none: Není sdíleno label_version_sharing_system: Se všemi projekty @@ -4570,28 +4603,28 @@ cs: digests: including_mention_singular: včetně zmínky including_mention_plural: včetně %{number_mentioned} zmínění - unread_notification_singular: 1 nepřečtená notifikace - unread_notification_plural: "%{number_unread} nepřečtených notifikací" + unread_notification_singular: 1 nepřečtené oznámení + unread_notification_plural: "%{number_unread} nepřečtených oznámení" you_have: Máte logo_alt_text: Logo mention: subject: "%{user_name} vás zmínil v #%{id} - %{subject}" notification: - center: Centrum notifikací + center: Centrum oznámení see_in_center: Zobrazit komentář v oznamovacím centru settings: Změnit nastavení e-mailu salutation: Dobrý den, %{user}, salutation_full_name: Jméno a příjmení work_packages: created_at: 'Vytvořeno v %{timestamp} uživatelem %{user} ' - login_to_see_all: Přihlaste se pro zobrazení všech notifikací. + login_to_see_all: Přihlaste se pro zobrazení všech oznámení. mentioned: Byli jste zmíněni v komentáři mentioned_by: "%{user} vás zmínil v komentáři OpenProject" more_to_see: - one: Existuje ještě 1 pracovní balíček s notifikací. - few: Existuje ještě %{count} pracovních balíčků s notifikacema. - many: Existuje ještě %{count} pracovních balíčků s notifikacema. - other: Existuje ještě %{count} pracovních balíčků s notifikacema. + one: Máte ještě 1 pracovní balíček s notifikací. + few: Existuje ještě %{count} pracovních balíčků s oznámeními. + many: Máte ještě %{count} pracovních balíčků s notifikacemi. + other: Existuje ještě %{count} pracovních balíčků s oznámeními. open_in_browser: Otevřít v prohlížeči reason: watched: Sledováno @@ -4600,7 +4633,7 @@ cs: mentioned: Zmíněné shared: Sdílené subscribed: vše - prefix: 'Obdrženo z důvodu nastavení notifikací: %{reason}' + prefix: 'Obdrženo z důvodu nastavení oznámení: %{reason}' date_alert_start_date: Upozornění na datum date_alert_due_date: Upozornění na datum reminder: Připomínka @@ -4913,7 +4946,7 @@ cs: permission_move_work_packages: Přesun pracovních balíčků permission_protect_wiki_pages: Ochrana stránky wiki permission_rename_wiki_pages: Přejmenovat stránky wiki - permission_save_queries: Uložit zobrazení + permission_save_queries: Uložit pohled permission_search_project: Hledat projekt permission_select_custom_fields: Vybrat vlastní pole permission_select_project_custom_fields: Vyberte atributy projektu @@ -5291,6 +5324,9 @@ cs: setting_mail_handler_body_delimiter_regex: Zkrátit e-maily odpovídající tomuto regexu setting_mail_handler_ignore_filenames: Ignorované přílohy e-mailů setting_new_project_user_role_id: Role přiřazená uživateli bez práv administrátora, který projekt vytvořil + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Text notifikace setting_password_active_rules: Password requirements @@ -5441,7 +5477,7 @@ cs: enable_subscriptions_text_html: Umožňuje uživatelům s nezbytnými oprávněními přihlásit se do OpenProject kalendářů a získat přístup k informacím o pracovním balíčku prostřednictvím externího klienta kalendáře. Poznámka: Před povolením si prosím přečtěte podrobnosti o odběru. language_name_being_default: "%{language_name} (výchozí)" notifications: - events_explanation: Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože notifikace pro ně mohou být nastavena speciálně pro každého uživatele. + events_explanation: Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože oznámení pro ně mohou být nastavena speciálně pro každého uživatele. delay_minutes_explanation: Odesílání e-mailu může být pozdrženo, aby bylo uživatelům s nakonfigurovaným v oznámení aplikace před odesláním pošty potvrzeno oznámení. Uživatelé, kteří si přečtou oznámení v aplikaci, nedostanou e-mail pro již přečtené oznámení. other: Ostatní passwords: Hesla @@ -5646,7 +5682,7 @@ cs: text_destroy_what_to_do: Co chcete udělat? text_diff_truncated: "... Toto rozlišení bylo zkráceno, protože přesahuje maximální velikost, kterou lze zobrazit." text_email_delivery_not_configured: |- - Doručení e-mailu není nakonfigurováno a notifikace jsou zakázány. + Doručení e-mailu není nakonfigurováno a oznámení jsou zakázána. Nakonfigurujte váš SMTP server pro jejich povolení. text_enumeration_category_reassign_to: 'Přiřadit je k této hodnotě:' text_enumeration_destroy_question: "%{count} objektů je přiřazeno k této hodnotě." diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index a1c7a2f7be1..720e18784b2 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -419,7 +419,8 @@ da: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ da: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1109,6 +1114,8 @@ da: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1999,6 +2006,29 @@ da: type: Type version: Version watcher: Tilsynsførende + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: skal accepteres. @@ -4218,6 +4248,7 @@ da: label_role_new: Ny rolle label_role_grantable: Grantable role label_role_plural: Rollee + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: Versionskontrolsystem label_scroll_left: Scroll left @@ -5150,6 +5181,9 @@ da: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Rolle givet til bruger der opretter projekt uden at være administrator + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 4eb8242b87f..74cb0bf769d 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -87,11 +87,11 @@ de: type_token_text: Ihr Enterprise-Token-Text token_placeholder: Enterprise-Token Text hier einfügen token_caption: Weitere Informationen über die Aktivierung der Enterprise Edition finden Sie in unserer [Dokumentation](docs_url). - add_token: Enterprise-Edition Support Token hochladen + add_token: Enterprise edition Support Token hochladen replace_token: Aktuellen Enterprise edition Support Token ersetzen order: Enterprise on-premises bestellen - paste: Enterprise-Edition Support Token hier einfügen - required_for_feature: Dieses Add-on ist nur mit einem aktiven Enterprise-Edition Support-Token verfügbar. + paste: Enterprise edition Support Token hier einfügen + required_for_feature: Dieses Add-on ist nur mit einem aktiven Enterprise edition Support-Token verfügbar. enterprise_link: Klicken Sie hier für weitere Informationen. start_trial: Kostenlose Testversion starten book_now: Jetzt buchen @@ -419,7 +419,8 @@ de: error_special_characters: Sonderzeichen sind nicht erlaubt error_not_fully_uppercased: Muss in Großbuchstaben sein error_in_use: Bereits als aktive Kennung für ein anderes Projekt verwendet - error_reserved: Reserviert durch eine frühere Kennung eines anderen Projekts + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Benötigt manuelle Überprüfung remaining_projects: one: "... 1 weiteres Projekt" @@ -460,8 +461,12 @@ de: ignore: Änderungen ignorieren save: Änderungen speichern und fortfahren role_selector: + title: Select roles label: 'Rolle: %{role}' no_role: Rolle auswählen + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: Keine Statusübergänge konfiguriert description: Status hinzufügen, um mit der Konfiguration von Arbeitsabläufen für diese Rolle zu beginnen @@ -1109,6 +1114,8 @@ de: no_results_title_text: Es gibt aktuell keine Neuigkeiten. no_results_content_text: Neuigkeit hinzufügen roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Alle %{module} Berechtigungen zuweisen section_uncheck_all_label: Alle %{module} Berechtigungen zuweisen @@ -1342,10 +1349,10 @@ de: tab: Titel konfigurieren manually_editable_subjects: label: Manuell bearbeitbare Titel - caption: Nutzer:innen können die Titel der Arbeitspakete ohne Einschränkungen manuell eingeben und bearbeiten. + caption: Benutzer können die Titel der Arbeitspakete ohne Einschränkungen manuell eingeben und bearbeiten. automatically_generated_subjects: label: Automatisch generierte Titel - caption: Definieren Sie ein Schema aus referenzierten Attributen und Freitext für die automatische Generierung von Arbeitspakettiteln. Nutzer:innen können diese nicht manuell editieren. + caption: Definieren Sie ein Schema aus referenzierten Attributen und Freitext für die automatische Generierung von Arbeitspakettiteln. Nutzer können diese nicht manuell editieren. token: label_with_context: "%{attribute_context}: %{attribute_label}" context: @@ -1446,7 +1453,7 @@ de: manual_with_children: Hat Unteraufgaben aber ihre Startdaten werden ignoriert. title: automatic_mobile: Automatisch geplant. - automatic_with_children: Unteraufgaben bestimmen Termine. + automatic_with_children: Die Termine sind durch untergeordnete Arbeitspakete bestimmt. automatic_with_predecessor: Der Anfangstermin wird von einem Vorgänger festgelegt. manual_mobile: Manuell geplant. manually_scheduled: Manuell geplant – Daten unabhängig von Beziehungen. @@ -1549,7 +1556,7 @@ de: label_child_plural: Unteraufgaben new_child: Neue Unteraufgabe new_child_description: Erstellt ein zugehöriges Arbeitspaket als Unteraufgabe des aktuellen (übergeordneten) Arbeitspakets - child: Unteraufgabe + child: Kind child_description: Macht das zugehörige Arbeitspaket zu einer Unteraufgabe des aktuellen (übergeordneten) Arbeitspakets parent: Übergeordnetes Arbeitspaket parent_description: Wandelt das verknüpfte in ein übergeordnetes Arbeitspaket dieses Arbeitspakets um @@ -1809,7 +1816,7 @@ de: column_names: Spalten relations_to_type_column: Beziehungen zu %{type} relations_of_type_column: 'Beziehungen der Art: %{type}' - child_work_packages: Unteraufgaben + child_work_packages: Kinder group_by: Gruppiere Ergebnisse nach sort_by: Ergebnisse sortieren nach filters: Filter @@ -1996,6 +2003,29 @@ de: type: Typ version: Version watcher: Beobachter + ordered_persisted_query_entity: + persisted_query: Gespeicherte Abfrage + entity: Entität + position: Position + persisted_query: + name: Name + views: Ansichten + filters: Filter + orders: Sortierungen + selects: Ausgewählte Attribute + persisted_view: + name: Name + query: Abfrage + parent: Übergeordnete Ansicht + public: Öffentlich + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: muss akzeptiert werden. @@ -2355,7 +2385,7 @@ de: status_transition_invalid: ist ungültig, da kein valider Übergang vom alten zum neuen Status für die aktuelle Rolle des Nutzers existiert. status_invalid_in_type: ist ungültig, da der aktuelle Status nicht in diesem Typ vorhanden ist. type: - cannot_be_milestone_due_to_children: kann kein Meilenstein werden, da dieses Arbeitspaket Unteraufgaben besitzt. + cannot_be_milestone_due_to_children: kann kein Meilenstein werden, da dieses Arbeitspaket Unterelemente besitzt. priority_id: only_active_priorities_allowed: muss aktiv sein. category: @@ -3174,7 +3204,7 @@ de: error_custom_option_not_found: Option ist nicht vorhanden. error_enterprise_plan_needed: Sie benötigen den Enterprise-Plan %{plan}, um diese Aktion durchzuführen. error_enterprise_activation_user_limit: Ihr Konto konnte nicht aktiviert werden (Nutzerlimit erreicht). Bitte kontaktieren Sie Ihren Administrator um Zugriff zu erhalten. - error_enterprise_token_invalid_domain: Die Enterprise-Edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected}). + error_enterprise_token_invalid_domain: Die Enterprise edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected}). error_failed_to_delete_entry: Fehler beim Löschen dieses Eintrags. error_in_dependent: 'Fehler beim Versuch, abhängiges Objekt zu ändern: %{dependent_class} #%{related_id} - %{related_subject}: %{error}' error_in_new_dependent: 'Fehler beim Versuch, abhängiges Objekt zu erstellen: %{dependent_class} - %{related_subject}: %{error}' @@ -3461,7 +3491,7 @@ de: dates: working: "%{date} ist jetzt ein Arbeitstag" non_working: "%{date} ist jetzt ein arbeitsfreier Tag" - progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-bezogen gesetzt + progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-basiert gesetzt status_excluded_from_totals_set_to_false_message: jetzt in den Gesamtwerten der Hierarchie enthalten status_excluded_from_totals_set_to_true_message: jetzt von den Hierarchie-Gesamtwerten ausgeschlossen status_percent_complete_changed: "% abgeschlossen von %{old_value}% auf %{new_value} % geändert" @@ -3864,7 +3894,7 @@ de: label_enumerations: Aufzählungen label_enterprise: Enterprise label_enterprise_active_users: "%{current}/%{limit} gebuchte aktive Nutzer" - label_enterprise_edition: Enterprise Edition + label_enterprise_edition: Enterprise edition label_enterprise_support: Enterprise Support label_environment: Umgebung label_estimates_and_progress: Schätzungen und Fortschritt @@ -4213,6 +4243,7 @@ de: label_role_new: Neue Rolle label_role_grantable: Zuweisbare Rolle label_role_plural: Rollen + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Rolle für neue Mitglieder zuweisen label_scm: Versionskontrollsystem label_scroll_left: Nach links scrollen @@ -4982,7 +5013,7 @@ de: Erhöhen Sie diesen Wert zur Verbesserung der Performance, da die Erfassung des genutzten Festplattenspeichers Ressourcen-intensiv ist. oauth_application_details_html: 'Der Client Geheimcode wird nach dem Schließen dieses Fensters nicht mehr zugänglich sein. Bitte kopieren Sie diese Werte in die Nextcloud OpenProject Integrationseinstellungen:' oauth_application_details_link_text: Zu den Einstellungen gehen - setup_documentation_details: 'Wenn Sie Hilfe bei der Konfiguration eines neuen Dateispeichers benötigen, konsultieren Sie bitte die Dokumentation: ' + setup_documentation_details: 'Wenn Sie Hilfe bei der Konfiguration eines neuen Datei-Speichers benötigen, konsultieren Sie bitte die Dokumentation: ' setup_documentation_details_link_text: Dateispeicher einrichten show_warning_details: Um diesen Dateispeicher nutzen zu können, müssen Sie das Modul und den spezifischen Speicher in den Projekteinstellungen jedes gewünschten Projekts aktivieren. subversion: @@ -5153,6 +5184,9 @@ de: setting_mail_handler_body_delimiter_regex: Schneide E-Mails nach Zeile ab, die diesem regulären Ausdruck entspricht setting_mail_handler_ignore_filenames: Ignorierte E-Mail-Anhänge setting_new_project_user_role_id: Rolle, die einem Nicht-Administrator zugeordnet wird, der ein Projekt erstellt + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Benachrichtigung an den Autor senden, wenn ein neues Projekt erstellt wird setting_new_project_notification_text: Benachrichtigungstext setting_password_active_rules: Password requirements @@ -5692,7 +5726,7 @@ de: warning_user_limit_reached_admin_html: 'Das Hinzufügen zusätzlicher Benutzer überschreitet das aktuelle Benutzerlimit. Bitte [aktualisieren Sie Ihr Abonnement](upgrade_url) um sicherzustellen, dass externe Benutzer auf diese Instanz zugreifen können. ' - warning_user_limit_reached_instructions: 'Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise Edition Plan upzugraden und weitere Nutzer hinzuzufügen. + warning_user_limit_reached_instructions: 'Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise edition Plan upzugraden und weitere Nutzer hinzuzufügen. ' warning_protocol_mismatch_html: '' diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index 57d950c4f27..6974f13902e 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -419,7 +419,8 @@ el: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ el: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1109,6 +1114,8 @@ el: no_results_title_text: Δεν υπάρχουν προς το παρόν νέα για αναφορά. no_results_content_text: Προσθέστε ένα στοιχείο νέων roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1999,6 +2006,29 @@ el: type: Τύπος version: Έκδοση watcher: Παρατηρητής + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: πρέπει να γίνει αποδεκτό. @@ -4218,6 +4248,7 @@ el: label_role_new: Νέος ρόλος label_role_grantable: Grantable role label_role_plural: Ρόλοι + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Ανάθεση ρόλων σε νέα μέλη label_scm: SCM label_scroll_left: Scroll left @@ -5152,6 +5183,9 @@ el: setting_mail_handler_body_delimiter_regex: Περικοπή των email που ταιριάζουμε με αυτό το regex setting_mail_handler_ignore_filenames: Συνημμένα mail που αγνοήθηκαν setting_new_project_user_role_id: Ο ρόλος δόθηκε σε μη-διαχειριστή χρήστη ο οποίος δημιουργεί ένα έργο + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index 4e903a8c0c8..59ea8d31a68 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -419,7 +419,8 @@ eo: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ eo: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ eo: no_results_title_text: Nun estas neniu novaĵo por informi. no_results_content_text: Aldoni novan eron roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ eo: type: Tipo version: Versio watcher: Atentanto + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: devas esti akceptita. @@ -4219,6 +4249,7 @@ eo: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roloj + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ eo: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 1cec92cb2bc..2ba10c064c7 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -419,7 +419,8 @@ es: error_special_characters: No se permiten caracteres especiales error_not_fully_uppercased: Debe estar en mayúsculas error_in_use: Ya está en uso como identificador activo de otro proyecto - error_reserved: Reservado por el historial de identificadores de otro proyecto + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Necesita revisión manual remaining_projects: one: "... 1 proyecto más" @@ -460,8 +461,12 @@ es: ignore: Descartar cambios save: Guardar cambios y continuar role_selector: + title: Select roles label: 'Rol: %{role}' no_role: Seleccionar rol + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No hay transiciones de estado configuradas description: Añade estados para empezar a configurar los flujos de trabajo de este rol @@ -1107,6 +1112,8 @@ es: no_results_title_text: No hay noticias sobre las que informar por el momento. no_results_content_text: Añadir un elemento de noticias roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Asignar todos los permisos de %{module} section_uncheck_all_label: Quitar todos los permisos de %{module} @@ -1448,7 +1455,7 @@ es: automatic_with_children: Fechas determinadas por paquetes de trabajo secundarios. automatic_with_predecessor: La fecha de inicio la fija un predecesor. manual_mobile: Programado manualmente. - manually_scheduled: Programado manualmente. No afectadas por relaciones. + manually_scheduled: Programado manualmente. Fechas no afectadas por relaciones. blankslate: title: Sin predecesores description: Para activar la programación automática, este paquete de trabajo debe tener al menos un predecesor. Entonces se programará automáticamente para que comience después del predecesor más cercano. @@ -1995,6 +2002,29 @@ es: type: Tipo version: Versión watcher: Observador + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: debe ser aceptado. @@ -4210,6 +4240,7 @@ es: label_role_new: Nuevo rol label_role_grantable: Rol otorgable label_role_plural: Perfiles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Asignar rol a nuevos miembros label_scm: SCM label_scroll_left: Desplazar hacia la izquierda @@ -5142,6 +5173,9 @@ es: setting_mail_handler_body_delimiter_regex: Truncar correos que coincidan con esta expresión regular setting_mail_handler_ignore_filenames: Archivos adjuntos de email ignorados setting_new_project_user_role_id: Papel ortorgado a usuario no administrador que crea un proyecto + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Enviar notificación al autor al crear un nuevo proyecto setting_new_project_notification_text: Texto de la notificación setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index 77209f3e265..4ed23e74020 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -419,7 +419,8 @@ et: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ et: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ et: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ et: type: Tüüp version: Versioon watcher: Jälgija + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ et: label_role_new: Uus roll label_role_grantable: Grantable role label_role_plural: Rollid + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: Lähtekoodi haldusvahendid label_scroll_left: Scroll left @@ -5155,6 +5186,9 @@ et: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Projekti looja vaikimisi roll oma loodud projektis + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index 90b9c1a1272..bcab07b47dd 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -419,7 +419,8 @@ eu: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ eu: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ eu: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ eu: type: Type version: Bertsioa watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ eu: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ eu: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index 0ee83cefb5c..c1cb4f81221 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -419,7 +419,8 @@ fa: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ fa: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ fa: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ fa: type: نوع version: نسخه watcher: ناظر + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ fa: label_role_new: New role label_role_grantable: Grantable role label_role_plural: نقش‌ها + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ fa: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index 7ee940b6efa..5008ec13405 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -419,7 +419,8 @@ fi: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ fi: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ fi: no_results_title_text: Tällä hetkellä ei ole uutisia. no_results_content_text: Lisää uutinen roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ fi: type: Tyyppi version: Versio watcher: Seuraajat + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: täytyy olla hyväksytty. @@ -4217,6 +4247,7 @@ fi: label_role_new: Uusi rooli label_role_grantable: Grantable role label_role_plural: Roolit + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Määritä rooli uusille jäsenille label_scm: SCM label_scroll_left: Scroll left @@ -5155,6 +5186,9 @@ fi: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Rooli joka annetaan projektin luojalle, joka ei ole hallinnoija (admin) + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index 46d18822625..1849185f916 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -419,7 +419,8 @@ fil: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ fil: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ fil: no_results_title_text: Sa kasalukuyan ay walang mga balita para ma-ireport. no_results_content_text: Magdagdag ng bagong news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ fil: type: Uri version: Bersyon watcher: Tagapagmasid + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: kailangang tanggapin. @@ -4219,6 +4249,7 @@ fil: label_role_new: Bagong tungkulin label_role_grantable: Grantable role label_role_plural: Ang mga tungkulin + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Magtalaga ng tungkulin ss mga bagong miyembro label_scm: SCM label_scroll_left: Scroll left @@ -5153,6 +5184,9 @@ fil: setting_mail_handler_body_delimiter_regex: Ang nga truncate email ay nagkakatugma sa regex na ito setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Ibinigay na tungkulin para sa non-admin na gumagamit isa sa mga lumilikha ng proyekto + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index 013f9befc89..8f4eda4ae3c 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -419,7 +419,8 @@ fr: error_special_characters: Caractères spéciaux non autorisés error_not_fully_uppercased: Doit être en majuscules error_in_use: Déjà utilisé comme alias actif d'un autre projet - error_reserved: Réservé par l'historique des alias d'un autre projet + error_used_in_past: Réservé par l'historique des alias d'un autre projet + error_reserved_by_system: Réservé comme mot-clé du système error_unknown: Nécessite une vérification manuelle remaining_projects: one: "... 1 projet supplémentaire" @@ -460,8 +461,12 @@ fr: ignore: Ignorer les changements save: Enregistrer les modifications et continuer role_selector: + title: Sélectionner les rôles label: 'Rôle : %{role}' no_role: Sélectionner un rôle + roles: + one: "%{count} rôle sélectionné" + other: "%{count} rôles sélectionnés" blankslate: title: Aucune transition de statut configurée description: Ajouter des statuts pour commencer à configurer des workflows pour ce rôle @@ -1110,6 +1115,8 @@ fr: no_results_title_text: Il n'y a actuellement aucune actualité à publier. no_results_content_text: Ajouter une actualité roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Attribuer toutes les autorisations %{module} section_uncheck_all_label: Désattribuer toutes les autorisations %{module} @@ -1993,6 +2000,29 @@ fr: type: Type version: Version watcher: Observateur + ordered_persisted_query_entity: + persisted_query: Requête persistante + entity: Entité + position: Position + persisted_query: + name: Nom + views: Affichages + filters: Filtres + orders: Commandes + selects: Sélectionne + persisted_view: + name: Nom + query: Requête + parent: Vue parente + public: Public + user_card_view: + secondary_info: Informations secondaires + show_status_badge: Afficher le badge d'état + show_email: Afficher l'adresse électronique + tag_source: Source des étiquettes + tag_limit: Limite des étiquettes + card_size: Taille des cartes + columns_per_row: Colonne par ligne errors: messages: accepted: doi(ven)t être accepté(e)(s). @@ -4212,6 +4242,7 @@ fr: label_role_new: Nouveau rôle label_role_grantable: Rôle admissible label_role_plural: Rôles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assigner un rôle aux nouveaux membres label_scm: SCM label_scroll_left: Défilement vers la gauche @@ -5148,6 +5179,9 @@ fr: setting_mail_handler_body_delimiter_regex: Tronquer les e-mails correspondant à cette expression régulière setting_mail_handler_ignore_filenames: Pièces jointes du courrier ignorées setting_new_project_user_role_id: Rôle donné à un utilisateur non administrateur qui crée un projet + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Envoyer une notification à l'auteur lors de la création d'un nouveau projet setting_new_project_notification_text: Texte de la notification setting_password_active_rules: Exigences relatives au mot de passe diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index 089e5ebfd4f..ae49bb63d4b 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -431,7 +431,8 @@ he: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -476,8 +477,14 @@ he: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + two: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1140,6 +1147,8 @@ he: no_results_title_text: There is currently no news to report. no_results_content_text: להוסיף פריט חדשות roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2040,6 +2049,29 @@ he: type: סוג version: גירסה watcher: צופה + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4341,6 +4373,7 @@ he: label_role_new: New role label_role_grantable: Grantable role label_role_plural: תפקידים + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5289,6 +5322,9 @@ he: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index ee5060945cd..40ca5f5d271 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -419,7 +419,8 @@ hi: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ hi: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ hi: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ hi: type: प्रकार version: संस्करण watcher: वॉचर + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ hi: label_role_new: New role label_role_grantable: Grantable role label_role_plural: भूमिकाएं + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ hi: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index d1e6969bdf7..c3e9b9b9d46 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -425,7 +425,8 @@ hr: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -468,8 +469,13 @@ hr: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1125,6 +1131,8 @@ hr: no_results_title_text: Nema novih vijesti. no_results_content_text: Nova vijest roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2020,6 +2028,29 @@ hr: type: Tip version: Verzija watcher: Nadglednik + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: mora biti prihvaćeno. @@ -4278,6 +4309,7 @@ hr: label_role_new: Nova rola label_role_grantable: Grantable role label_role_plural: Role + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Dodijeli uloge novim korisnicima label_scm: SCM label_scroll_left: Scroll left @@ -5219,6 +5251,9 @@ hr: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index 1924140b512..d883ef22ae3 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -419,7 +419,8 @@ hu: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ hu: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1116,6 +1121,8 @@ hu: no_results_title_text: Nincs megjeleníthető hír. no_results_content_text: Hír hozzáadása roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2024,6 +2031,29 @@ hu: type: Típus version: Verzió watcher: Megfigyelő + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: el kell fogadni. @@ -4283,6 +4313,7 @@ hu: label_role_new: Új szerepkör label_role_grantable: Grantable role label_role_plural: Szerepkörök + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Szerep hozzárendelése az új tagokhoz label_scm: SCM label_scroll_left: Scroll left @@ -5245,6 +5276,9 @@ hu: setting_mail_handler_body_delimiter_regex: E-mailek csonkítása a megegyező kifejezéssel setting_mail_handler_ignore_filenames: Összes melléklet figyelmen kívül hagyva setting_new_project_user_role_id: Szerepkör a nem admin felhasználónak, aki létrehoz egy projektet, + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index 7f365c62972..dd7eaa8a2d9 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -413,7 +413,8 @@ id: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" @@ -452,8 +453,11 @@ id: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1094,6 +1098,8 @@ id: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1984,6 +1990,29 @@ id: type: Tipe version: Versi watcher: Pemantau + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: harus disetujui. @@ -4169,6 +4198,7 @@ id: label_role_new: Role baru label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Menetapkan role kepada anggota baru label_scm: SCM label_scroll_left: Scroll left @@ -5092,6 +5122,9 @@ id: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role yang diberikan kepada user non-admin yang membuat Project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index 72e81862056..6f1d97a6277 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -419,7 +419,8 @@ it: error_special_characters: I caratteri speciali non sono consentiti error_not_fully_uppercased: Deve essere maiuscolo error_in_use: Già in uso come identificatore attivo di un altro progetto - error_reserved: Riservato dalla cronologia degli identificatori di un altro progetto + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Necessita di controllo manuale remaining_projects: one: "... 1 altro progetto" @@ -460,8 +461,12 @@ it: ignore: Ignora le modifiche save: Salva le modifiche e continua role_selector: + title: Select roles label: 'Ruolo: %{role}' no_role: Seleziona il ruolo + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: Nessuna transizione di stato configurata description: Aggiungi stati per iniziare a configurare i flussi di lavoro per questo ruolo @@ -1109,6 +1114,8 @@ it: no_results_title_text: Al momento non c'è nessuna notizia da segnalare. no_results_content_text: Aggiungi una notizia roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assegna tutti i permessi di %{module} section_uncheck_all_label: Annulla l'assegnazione di tutti i permessi di %{module} @@ -1998,6 +2005,29 @@ it: type: Tipo version: Versione watcher: Osservatore + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: deve essere accettato. @@ -4219,6 +4249,7 @@ it: label_role_new: Nuovo ruolo label_role_grantable: Ruolo ammissibile label_role_plural: Ruoli + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assegna ruolo ai nuovi membri label_scm: SCM label_scroll_left: Scorri a sinistra @@ -5155,6 +5186,9 @@ it: setting_mail_handler_body_delimiter_regex: Troncare le email che corrispondono a questa espressione regolare setting_mail_handler_ignore_filenames: Allegati email ignorati setting_new_project_user_role_id: Ruolo assegnato ad un utente non amministratore che crea un progetto + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Invia una notifica all'autore quando crea un nuovo progetto setting_new_project_notification_text: Testo della notifica setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index da24bc02b34..79dbf2f99ef 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -339,13 +339,13 @@ ja: success: MCP configuration was updated successfully. scim_clients: authentication_methods: - sso: IDプロバイダーからのJWT - oauth2_client: OAuth 2.0クライアント認証情報 + sso: アイデンティティプロバイダからのJWT + oauth2_client: OAuth 2.0 クライアント資格情報 oauth2_token: 静的アクセストークン created_client_credentials_dialog_component: - title: クライアント認証情報の作成 - heading: クライアント認証情報が生成されました - one_time_hint: クライアント・シークレットが表示されるのはこの時だけです。必ずコピーしてください。 + title: クライアントの資格情報が作成されました + heading: クライアントの資格情報が生成されました + one_time_hint: クライアントのシークレットが表示される唯一の時間です。今すぐコピーしてください。 created_token_dialog_component: title: トークンを作成しました heading: トークンが生成されました @@ -358,21 +358,21 @@ ja: edit: label_delete_scim_client: SCIM クライアントを削除 form: - auth_provider_description: これは、SCIM プロバイダによって追加されたユーザが OpenProject で認証するために使用するサービスです。 - authentication_method_description_html: これは SCIM クライアントが OpenProject で認証する方法です。OAuth トークンにscim_v2スコープが含まれていることを確認してください。 - description: これらの設定オプションの詳細については、[SCIMクライアントの設定に関する文書](docs_url)を参照してください。 + auth_provider_description: これは、SCIMプロバイダが追加したユーザーがOpenProjectでの認証に使用するサービスです。 + authentication_method_description_html: これは SCIM クライアントが OpenProject で認証する方法です。OAuth トークンに scim_v2 スコープが含まれていることを確認してください。 + description: 設定オプションの詳細については、[SCIM クライアントの設定に関するドキュメント](docs_url)を参照してください。 jwt_sub_description: 例えば、Keycloakの場合、これはSCIMクライアントに関連付けられたサービスアカウントのUUIDです。あなたのユースケースにあった Subject claim を見つける方法については [ドキュメント](docs_url) を参照してください。 - name_description: このクライアントが設定された理由を他の管理者が理解しやすい名前を選んでください。 + name_description: 他の管理者がこのクライアントが設定された理由を理解するのに役立つ名前を選択してください。 index: - description: ここで設定された SCIM クライアントは、OpenProject SCIM サーバ API と対話し、ユーザアカウントやグループのプロビジョニング、更新、デプロビジョニングを行うことができます。 - label_create_button: SCIMクライアントの追加 + description: ここで設定されたSCIMクライアントは、OpenProjectのSCIMサーバー APIと相互作用して、ユーザーアカウントとグループのプロビジョニング、更新、およびデプロビジョニングを行うことができます。 + label_create_button: SCIMクライアントを追加 new: title: 新しいSCIMクライアント revoke_static_token_dialog_component: confirm_button: 取り消す - title: 静的トークンの失効 - heading: このトークンを本当に取り消しますか? - description: このトークンを使っている SCIM クライアントは、OpenProject の SCIM サーバ API にアクセスできなくなります。 + title: 静的トークンを取り消す + heading: このトークンを取り消してもよろしいですか? + description: このトークンを使用する SCIM クライアントは、OpenProject の SCIM サーバ API にアクセスできなくなります。 table_component: blank_slate: title: SCIMクライアントがまだ設定されていません @@ -413,7 +413,8 @@ ja: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" @@ -452,8 +453,11 @@ ja: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1043,26 +1047,26 @@ ja: other: また、 %{shared_work_packages_link} はこのユーザーと共有されています。 remove_project_membership_or_work_package_shares_too: 直接のメンバーとしてのユーザーだけを削除したい(および共有を維持したい)、またはワークパッケージの共有も削除しますか? will_remove_all_user_access_priveleges: このメンバーを削除すると、プロジェクトへのユーザーのすべてのアクセス権が削除されます。ユーザーはまだサイトの一部として存在します。 - will_remove_all_group_access_priveleges: このメンバを削除すると、プロジェクトに対するグループのすべてのアクセス権が削除されます。グループはサイトの一部としてまだ存在します。 - cannot_delete_inherited_membership: このプロジェクトのメンバーであるグループに所属しているため、このメンバーを削除することはできません。 - cannot_delete_inherited_membership_note_admin_html: "%{administration_settings_link}で、プロジェクトのメンバーとしてグループを削除することも、特定のメンバーをグループから削除することもできます。" - cannot_delete_inherited_membership_note_non_admin: プロジェクトのメンバーとしてグループを削除するか、管理者に連絡してこの特定のメンバーをグループから削除することができます。 + will_remove_all_group_access_priveleges: このメンバーを削除すると、グループのすべてのアクセス権がプロジェクトに削除されます。グループはサイトの一部として存在します。 + cannot_delete_inherited_membership: このメンバーはこのプロジェクトのメンバーであるグループに属しているため、削除できません。 + cannot_delete_inherited_membership_note_admin_html: プロジェクトのメンバーとしてグループを削除するか、 %{administration_settings_link} のグループからこの特定のメンバーを削除することができます。 + cannot_delete_inherited_membership_note_non_admin: プロジェクトのメンバーとしてグループを削除するか、管理者に問い合わせてグループから特定のメンバーを削除することができます。 delete_work_package_shares_dialog: - title: ワーク・パッケージ・シェアの破棄 + title: ワークパッケージの共有の取り消し shared_with_this_user_html: other: "%{all_shared_work_packages_link} はこのユーザーと共有されています。" shared_with_this_group_html: other: "%{all_shared_work_packages_link} はこのグループと共有されています。" shared_with_permission_html: other: "%{shared_work_packages_link} のみが %{shared_role_name} 権限と共有されています。" - revoke_all_or_with_role: すべての共有ワークパッケージ、または %{shared_role_name} 権限を持つワークパッケージのみへのアクセス権を剥奪しますか? - will_not_affect_inherited_shares: "(これは、そのグループと共有しているワークパッケージには影響しません)。" - cannot_remove_inherited: グループで共有されたワークパッケージの共有は削除できません。 - cannot_remove_inherited_with_role: ロール %{shared_role_name} で共有されるワークパッケージは、グループを介して共有され、削除することはできません。 - cannot_remove_inherited_note_admin_html: "%{administration_settings_link}、グループへの共有を取り消すか、グループからこの特定のメンバーを削除することができます。" - cannot_remove_inherited_note_non_admin: グループへの共有を取り消すか、管理者に連絡して特定のメンバーをグループから削除することができます。 - will_revoke_directly_granted_access: このアクションは、グループと共有されているワークパッケージ以外の、すべてのワークパッケージへのアクセス権を剥奪する。 - will_revoke_access_to_all: このアクションは、すべてのアクセス権を剥奪する。 + revoke_all_or_with_role: 共有されたワークパッケージ、または %{shared_role_name} 権限を持つワークパッケージのみへのアクセスを取り消しますか? + will_not_affect_inherited_shares: "(これはグループと共有されているワークパッケージには影響しません)。" + cannot_remove_inherited: グループ間で共有されるワークパッケージは削除できません。 + cannot_remove_inherited_with_role: ワークパッケージとロール %{shared_role_name} が共有されているため、削除できません。 + cannot_remove_inherited_note_admin_html: あなたは、グループへの共有を取り消すか、 %{administration_settings_link} のグループからこの特定のメンバーを削除することができます。 + cannot_remove_inherited_note_non_admin: 共有をグループに取り消すか、管理者に問い合わせてグループから特定のメンバーを削除することができます。 + will_revoke_directly_granted_access: このアクションは、すべてのユーザーへのアクセスを取り消しますが、グループと共有されているワークパッケージです。 + will_revoke_access_to_all: このアクションは、すべてのユーザーへのアクセスを取り消します。 my: access_token: dialog: @@ -1086,7 +1090,7 @@ ja: no_results_title_text: 現在、有効なアクセス トークンはありません。 notice_api_token_revoked: APIトークンが削除されました。新しいトークンを作成するには、APIセクションの作成ボタンを使用してください。 notice_rss_token_revoked: RSSトークンが削除されました。新しいトークンを作成するには、RSSセクションのリンクを使用してください。 - notice_ical_token_revoked: プロジェクト "%{project_name}" のカレンダー "%{calendar_name}" の iCalendar トークン "%{token_name}" が失効しました。このトークンを持つiCalendar URLは無効になりました。 + notice_ical_token_revoked: プロジェクト "%{token_name}" のカレンダー "%{calendar_name}" の iCalendar トークン "%{project_name}" が取り消されました。 このトークンのiCalendar URLは無効です。 password_confirmation_dialog: confirmation_required: You need to enter your account password to confirm this change. title: Confirm your password to continue @@ -1095,6 +1099,8 @@ ja: no_results_title_text: 現在、報告するニュースはありません。 no_results_content_text: ニュース項目を追加 roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1109,7 +1115,7 @@ ja: force_password_change_hint: The user must set a new password on their next login. Automatically enabled when sending credentials via email. send_information_hint: Emails the password in plain text. When checked, the user will be required to change their password on first login. autologins: - prompt: ログインしたまま %{num_days} + prompt: "%{num_days} のログインを維持" sessions: session_name: "%{browser_name} %{browser_version} の %{os_name}" browser: ブラウザ @@ -1123,17 +1129,17 @@ ja: current: Current (this device) title: セッション管理 instructions: You are logged in to your account through the following devices. Revoke sessions that you do not recognise or from devices you do not control. - may_not_delete_current: 現在のセッションを削除することはできません。 + may_not_delete_current: 現在のセッションは削除できません。 deletion_warning: Are you sure you want to revoke this session? You will be logged out on this device. groups: member_in_these_groups: このユーザーは現在以下のグループのメンバーです: no_results_title_text: このユーザーは現在どのグループのメンバーでもありません。 summary_with_more_html: Member of %{names} and %{count_link}. - more: "%{count} もっと見る" + more: "%{count} 以上" summary_html: Member of %{names}. memberships: no_results_title_text: このユーザは現在プロジェクトのメンバーではありません。 - open_profile: プロフィール + open_profile: プロファイルを開く invite_user_modal: invite: 招待 title: @@ -1250,7 +1256,7 @@ ja: right_to_manage_members_missing: 'プレースホルダーユーザを削除する権限がありません。 プレースホルダー ユーザーがメンバーであるすべてのプロジェクトのメンバーを管理する権利はありません。 ' - delete_tooltip: プレースホルダー・ユーザーの削除 + delete_tooltip: プレースホルダー ユーザーを削除 deletion_info: heading_html: Delete placeholder user %{name} data_consequences: 'プレースホルダー ユーザのすべての発生(担当者、担当者、その他のユーザ値など)は、「削除されたユーザー」というアカウントに再割り当てられます。 削除されたすべてのアカウントのデータがこのアカウントに再割り当てられるため、ユーザーが作成したデータと別の削除されたアカウントのデータを区別することはできません。 @@ -1269,11 +1275,11 @@ ja: reactions: action_title: リアクト add_reaction: リアクションを追加 - react_with: "%{reaction} と リアクト" - and_user: および %{user} + react_with: "%{reaction} で反応する" + and_user: と %{user} and_others: other: と %{count} その他 - reaction_by: "%{reaction} によって" + reaction_by: "%{reaction} による" reportings: index: no_results_title_text: 現在、ステータス報告はありません。 @@ -1283,19 +1289,20 @@ ja: status_color_text: | このステータスの色を割り当てたり変更する場合にクリックします。 ステータスボタンに表示され、テーブル内のワークパッケージを強調表示するために使用できます。 - status_default_text: 新しいワークパッケージは、デフォルトでこのタイプに設定される。読み取り専用にはできない。 + status_default_text: 新しいワークパッケージはデフォルトでこのタイプに設定されています。読み取り専用にすることはできません。 status_excluded_from_totals_text: |- - このステータスを持つワークパッケージを、階層内の「作業」、「 - 残作業」、「完了率」の合計から除外するには、このオプションをオンにします。 + このオプションをオンにすると、このステータスのワークパッケージを合計作業量、 + 残作業量、および階層構造で完了させることができます。 status_percent_complete_text_html: |- In [status-based progress calculation mode](setting_url), the % Complete of a work package is automatically set to this value when this status is selected. Ignored in work-based mode. status_readonly_html: | - このステータスを持つワークパッケージを読み取り専用としてマークするには、このオプションをチェックする。 - ステータス以外の属性は変更できません。 + ワークパッケージを読み取り専用としてマークするには、このオプションをオンにしてください。 + ステータスを除いて変更することはできません。 +
- 注意: 継承された値 (子やリレーションなど) は適用されます。 + メモ: 継承された値 (例えば、子や関連) が適用されます。 index: no_results_title_text: 現在、ワークパッケージのステータスはありません。 no_results_content_text: 新しいステータスを追加 @@ -1305,7 +1312,7 @@ ja: is_readonly: 読み取り専用 excluded_from_totals: 合計から除外 themes: - dark: 暗い + dark: ダーク light: ライト sync_with_os: 自動(OSのテーマ設定に追従) types: @@ -1468,15 +1475,15 @@ ja: could_not_be_saved: '次のワークパッケージを保存できませんでした:' none_could_be_saved: "%{total} ワークパッケージのどれも更新できませんでした。" x_out_of_y_could_be_saved: "%{failing} の %{total} ワークパッケージのうち、 %{success} を更新できませんでした。" - selected_because_descendants: "%{selected} のワークパッケージが選択されたが、合計 %{total} のワークパッケージが影響を受け、その中には子孫も含まれる。" - descendant: 選択された子孫 + selected_because_descendants: "%{selected} ワークパッケージが選択されている間、合計で %{total} ワークパッケージが子孫を含む影響を受けます。" + descendant: 選択された子孫です move: no_common_statuses_exists: 選択されたすべてのワークパッケージに利用できるステータスはありません。 それらの状態は変更できません。 unsupported_for_multiple_projects: 複数のプロジェクトからのワークパッケージの一括移動 / コピーはサポートされていません - current_type_not_available_in_target_project: 'ワークパッケージの現在のタイプがターゲットプロジェクトで有効になっていません。変更しない場合は、ターゲットプロジェクトでタイプを有効にしてください。そうでない場合は、リストからターゲットプロジェクトで使用可能なタイプを選択してください。 + current_type_not_available_in_target_project: 'ターゲット プロジェクトで現在のワークパッケージのタイプが有効になっていません。 変更を行わないようにしたい場合は、対象プロジェクトのタイプを有効にしてください。 それ以外の場合は、リストからターゲット プロジェクトで使用可能なタイプを選択します。 ' - bulk_current_type_not_available_in_target_project: 'ワークパッケージの現在のタイプがターゲットプロジェクトで有効になっていません。変更しない場合は、ターゲットプロジェクトでタイプを有効にしてください。そうでない場合は、リストからターゲットプロジェクトで使用可能なタイプを選択してください。 + bulk_current_type_not_available_in_target_project: '現在のタイプのワークパッケージはターゲット プロジェクトで有効になっていません。 変更を行わないようにしたい場合は、対象プロジェクトのタイプを有効にしてください。 それ以外の場合は、リストからターゲット プロジェクトで使用可能なタイプを選択します。 ' sharing: @@ -1502,9 +1509,9 @@ ja: no_results_title_text: 現在、有効なバージョンはありません。 work_package_relations_tab: index: - action_bar_title: 他のワークパッケージとのリレーションを追加して、それらの間にリンクを作成する。 - no_results_title_text: 現在、利用可能な関係はない。 - blankslate_heading: 関係なし + action_bar_title: 他のワークパッケージにリレーションを追加して、その間にリンクを作成します。 + no_results_title_text: 現在利用可能なリレーションはありません。 + blankslate_heading: リレーションなし blankslate_description: このワークパッケージにはまだリレーションがありません。 label_add_child_button: 子要素 label_add_x: "%{x} を追加" @@ -1982,6 +1989,29 @@ ja: type: タイプ version: バージョン watcher: ウォッチャー + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: は受諾しなければなりません。 @@ -4160,6 +4190,7 @@ ja: label_role_new: 新しいロール label_role_grantable: 権限のある役割 label_role_plural: ロール + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: 新しいメンバーに役割を割り当てる label_scm: バージョン管理システム label_scroll_left: 左にスクロール @@ -5087,6 +5118,9 @@ ja: setting_mail_handler_body_delimiter_regex: この正規表現に一致するメールを切り捨てる setting_mail_handler_ignore_filenames: 無視するメールの添付ファイル setting_new_project_user_role_id: システム管理者以外のプロジェクト作成者に設定するロール + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/js-ca.yml b/config/locales/crowdin/js-ca.yml index 0cd230a4873..a8234eddcfa 100644 --- a/config/locales/crowdin/js-ca.yml +++ b/config/locales/crowdin/js-ca.yml @@ -109,7 +109,7 @@ ca: button_save: Desa button_settings: Configuració button_uncheck_all: Desmarca-ho tot - button_update: Actualitzar + button_update: Actualitza button_export-atom: Descarregar Atom button_generate_pdf: Generate PDF button_create: Crear diff --git a/config/locales/crowdin/js-de.yml b/config/locales/crowdin/js-de.yml index 68e7adcb98e..86a946bc6f1 100644 --- a/config/locales/crowdin/js-de.yml +++ b/config/locales/crowdin/js-de.yml @@ -143,7 +143,7 @@ de: description_available_columns: Verfügbare Spalten description_current_position: 'Sie sind hier: ' description_select_work_package: 'Arbeitspaket #%{id} auswählen' - description_subwork_package: 'Unteraufgabe von Arbeitspaket #%{id}' + description_subwork_package: 'Kind von Arbeitspaket #%{id}' editor: revisions: Lokale Änderungen anzeigen no_revisions: Keine lokalen Änderungen gefunden @@ -460,7 +460,7 @@ de: label_total_progress: "%{percent}% Gesamtfortschritt" label_total_amount: 'Gesamt: %{amount}' label_updated_on: aktualisiert am - label_value_derived_from_children: "(aggregierter Wert von Unteraufgaben)" + label_value_derived_from_children: "(aggregierter Wert von Kindelementen)" label_children_derived_duration: Aggregierte Dauer der Unteraufgaben label_warning: Warnung label_work_package: Arbeitspaket @@ -790,7 +790,7 @@ de: title: Neues Arbeitspaket header: 'Neu: %{type}' header_no_type: Neues Arbeitspaket (Typ noch nicht gesetzt) - header_with_parent: 'Neu: %{type} (Unteraufgabe von %{parent_type} #%{id})' + header_with_parent: 'Neu: %{type} (Kind von %{parent_type} #%{id})' button: Erstellen duplicate: title: Arbeitspaket duplizieren diff --git a/config/locales/crowdin/js-ja.yml b/config/locales/crowdin/js-ja.yml index be306617859..e92442dacf1 100644 --- a/config/locales/crowdin/js-ja.yml +++ b/config/locales/crowdin/js-ja.yml @@ -34,12 +34,12 @@ ja: draggable_hint: | 埋め込み画像または添付ファイルをエディタにドラッグします。 ドラッグしつづけると閉じているエディタ領域が開きます。 - quarantined_hint: ウイルスが発見されたように、ファイルは隔離されています。ダウンロードできません。 + quarantined_hint: ウイルスが発見されたため,ファイルは隔離されています。ダウンロードできません。 autocomplete_ng_select: - add_tag: アイテムを追加 + add_tag: 項目を追加 clear_all: すべてクリア loading: 読み込み中... - not_found: アイテムが見つかりません + not_found: 見つかりませんでした type_to_search: 検索キーワードを入力 autocomplete_select: placeholder: @@ -71,7 +71,7 @@ ja: button_back_to_list_view: リスト表示に戻る button_cancel: キャンセル button_close: 閉じる - button_change_project: 別のプロジェクトに移動 + button_change_project: 他のプロジェクトに移る button_check_all: 全てを選択 button_configure-form: フォームを設定 button_confirm: 確認 @@ -79,7 +79,7 @@ ja: button_copy: コピー button_copy_to_clipboard: クリップボードにコピー button_copy_link_to_clipboard: クリップボードにリンクをコピー - button_copy_to_other_project: 別のプロジェクトで複製 + button_copy_to_other_project: 別のプロジェクトで複製する button_custom-fields: カスタムフィールド button_delete: 削除 button_delete_watcher: ウォッチャーを削除 @@ -101,7 +101,7 @@ ja: button_open_fullscreen: 全画面表示を開く button_show_cards: カードビュー表示 button_show_list: リストビュー表示 - button_show_table: テーブルビューを表示 + button_show_table: テーブル表示 button_show_gantt: ガントビューを表示 button_show_fullscreen: 全画面表示 button_more_actions: その他の操作 @@ -111,7 +111,7 @@ ja: button_uncheck_all: 全てを選択解除 button_update: 更新 button_export-atom: Atomをダウンロード - button_generate_pdf: PDFを生成 + button_generate_pdf: PDF作成 button_create: 作成 card: add_new: 新規カード追加 @@ -145,8 +145,8 @@ ja: description_select_work_package: 'ワークパッケージを選択 #%{id}' description_subwork_package: 'ワークパッケージの子 #%{id}' editor: - revisions: ローカルの変更を表示 - no_revisions: ローカルの変更は見つかりませんでした + revisions: ローカルの修正を表示 + no_revisions: ローカルでの修正は見つからず preview: プレビューモードの切り替え source_code: Markdown ソースモードの切り替え error_saving_failed: '次のエラーで文書を保存するのに失敗しました: %{error}' @@ -159,7 +159,7 @@ ja: attribute_reference: macro_help_tooltip: このテキストセグメントはマクロによって動的にレンダリングされています。 not_found: 要求されたリソースが見つかりませんでした - nested_macro: このマクロは %{model} %{id} を再帰的に参照しています。 + nested_macro: このマクロは %{model} %{id}を再帰的に参照している。 invalid_attribute: 選択した属性 '%{name}' は存在しません。 child_pages: button: 子ページへのリンク @@ -216,10 +216,10 @@ ja: calendar: empty_state_header: 休業日 empty_state_description: 休業日が定義されていません。「休業日を追加」ボタンをクリックして日付を追加してください。 - new_date: "(新規)" + new_date: "(新)" add_non_working_day: 休業日を追加 - already_added_error: この日付の非作業日はすでに存在します。それぞれの日付に1つの非作業日が作成されます。 - change_button: 保存してスケジュールを変更 + already_added_error: この日付の非営業日はすでに存在します。一意の日付に対して作成できる非営業日は1つだけです。 + change_button: 保存して再スケジュール change_title: 営業日を変更する removed_title: 以下の日を非稼働日リストから削除します: change_description: 営業日とみなす曜日を変更すると、このサイト内のすべてのプロジェクトのすべてのワークパッケージの開始日と終了日に影響を与える可能性があります。 @@ -301,14 +301,14 @@ ja: ical_sharing_modal: title: カレンダーを購読する inital_setup_error_message: データ取得中にエラーが発生しました。 - description: URL(iCalendar)を使って外部クライアントでこのカレンダーを購読し、そこから最新のワークパッケージ情報を見ることができます。 - warning: このURLを他のユーザーと共有しないでください。このリンクがあれば、誰でもアカウントやパスワードなしでワークパッケージの詳細を見ることができます。 - token_name_label: どこで使うのですか? + description: URL(iCalendar)を使用して、外部クライアントでこのカレンダーを購読し、そこから最新のワークパッケージ情報を表示することができます。 + warning: このURLを他のユーザーと共有しないでください。このリンクを持つ誰でもアカウントやパスワードなしでワークパッケージの詳細を表示することができます。 + token_name_label: どこで使うのですか?? token_name_placeholder: 名前を入力してください。例:"電話" token_name_description_text: If you subscribe to this calendar from multiple devices, this name will help you distinguish between them in your access tokens list. copy_url_label: URLをコピー - ical_generation_error_text: カレンダー URL の生成中にエラーが発生しました。 - success_message: URL "%{name}" は正常にクリップボードにコピーされました。サブスクリプションを完了するためにカレンダークライアントに貼り付けてください。 + ical_generation_error_text: カレンダーのURL生成時にエラーが発生しました。 + success_message: URL "%{name}" がクリップボードにコピーされました。カレンダークライアントに貼り付けて購読を完了してください。 label_activate: 有効にする label_assignee: 担当者 label_assignee_alt_text: This work package is assigned to %{name} @@ -321,7 +321,7 @@ ja: label_add_row_before: 前に行を追加 label_add_selected_columns: 選択した列を追加 label_added_by: 追加した人 - label_added_time_by: %{author} が %{age} に追加しました + label_added_time_by: 追加 %{author} %{age} label_ago: "○日前" label_all: 全て label_all_projects: すべてのプロジェクト @@ -432,7 +432,7 @@ ja: label_repository_plural: リポジトリ label_resize_project_menu: Resize project menu label_save_as: 名前をつけて保存 - label_search_columns: 列を検索 + label_search_columns: 列を検索する label_select_watcher: ウォッチャーを選択... label_selected_filter_list: 選択されたフィルタ label_show_attributes: すべての属性を表示 @@ -470,8 +470,8 @@ ja: label_watch_work_package: ワークパッケージをウォッチ label_watcher_added_successfully: ウォッチャーが正常に追加されました ! label_watcher_deleted_successfully: ウォッチャーが正常に削除されました ! - label_work_package_details_you_are_here: あなたは %{tab} %{type} %{subject} のタブにいます。 - label_work_package_context_menu: ワークパッケージのコンテキスト メニュー + label_work_package_details_you_are_here: あなたは %{type} %{subject}の %{tab} タブを表示しています。 + label_work_package_context_menu: ワークパッケージのコンテキストメニュー label_unwatch: ウォッチしない label_unwatch_work_package: ワークパッケージのウォッチを削除 label_uploaded_by: アップロードした人 @@ -502,7 +502,7 @@ ja: label_version_plural: バージョン label_view_has_changed: このビューには未保存の変更があります。 クリックすると保存します。 help_texts: - show_modal: ヘルプテキストを表示 + show_modal: ヘルプテキストを表示する onboarding: buttons: skip: スキップ @@ -510,7 +510,7 @@ ja: got_it: 了承 steps: help_menu: ヘルプ(?)メニューは、その他のヘルプリソースを提供します。ここでは、ユーザーガイド、役立つハウツービデオなどを見つけることができます。
OpenProjectでの作業をお楽しみください! - members: 新しい メンバー をプロジェクトに招待します。 + members: 新しいメンバーをプロジェクトに招待する。 quick_add_button: ヘッダーナビゲーションにあるプラス(+)アイコンをクリックして、新規プロジェクトを作成したり、同僚を招待したりできます。 sidebar_arrow: プロジェクトのメインメニューに戻るには、左上の矢印を使います。 welcome: 3分間のイントロダクションツアーで、最も重要な機能を学びましょう。
最後までステップを完了することをお勧めします。ツアーはいつでも再開できます。 @@ -587,12 +587,12 @@ ja: title: 通知設定 pagination: no_other_page: このページだけです。 - pages_skipped: ページがスキップされました。 + pages_skipped: ページスキップ。 page_navigation: ページネーション・ナビゲーション per_page_navigation: ページ毎のアイテム選択 pages: page_number: ページ %{number} - show_per_page: ページあたり %{number} を表示 + show_per_page: ページごとに %{number} placeholders: default: "-" subject: ここにタイトルを入力します @@ -602,7 +602,7 @@ ja: project: autocompleter: label: プロジェクト名の入力補完 - click_to_switch_to_project: 'プロジェクト: %{projectname}' + click_to_switch_to_project: プロジェクト: %{projectname} context: プロジェクトのコンテキスト not_available: プロジェクトなし required_outside_context: 'ワークパッケージを作成するプロジェクトを選択して、すべての属性を確認してください。 上記で有効になっているタイプのプロジェクトのみ選択できます。 @@ -1087,7 +1087,7 @@ ja: toggle_title: ベースライン clear: クリア apply: 適用 - header_description: 過去のいずれかの時点からこのリストに加えられた変更を強調する。 + header_description: 過去の選択した時点からこのリストに加えられた変更をハイライト show_changes_since: 以降の変更を表示する help_description: ベースラインの基準タイムゾーン。 time_description: '現地時間: %{datetime}' diff --git a/config/locales/crowdin/js-no.yml b/config/locales/crowdin/js-no.yml index c261aa86e33..5595dae373e 100644 --- a/config/locales/crowdin/js-no.yml +++ b/config/locales/crowdin/js-no.yml @@ -109,7 +109,7 @@ button_save: Lagre button_settings: Innstillinger button_uncheck_all: Avmerk alle - button_update: Oppdater + button_update: Oppdatèr button_export-atom: Last ned Atom button_generate_pdf: Generate PDF button_create: Opprett diff --git a/config/locales/crowdin/js-ro.yml b/config/locales/crowdin/js-ro.yml index ac2dc0963f8..05b6cff6b0c 100644 --- a/config/locales/crowdin/js-ro.yml +++ b/config/locales/crowdin/js-ro.yml @@ -109,7 +109,7 @@ ro: button_save: Salvează button_settings: Setări button_uncheck_all: Deselectează tot - button_update: Actualizează + button_update: Actualizare button_export-atom: Descarcă Atom button_generate_pdf: Generează PDF button_create: Creează diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 35ccc335455..2420a7ae5af 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -109,7 +109,7 @@ ru: button_save: Сохранить button_settings: Настройки button_uncheck_all: Снять все отметки - button_update: Обновить + button_update: Обновление button_export-atom: Скачать Atom button_generate_pdf: Создать PDF button_create: Создать diff --git a/config/locales/crowdin/js-vi.yml b/config/locales/crowdin/js-vi.yml index f567b660ecf..4e34fc537bc 100644 --- a/config/locales/crowdin/js-vi.yml +++ b/config/locales/crowdin/js-vi.yml @@ -109,7 +109,7 @@ vi: button_save: lưu lại button_settings: cài đặt button_uncheck_all: Bỏ chọn tất cả - button_update: cập nhật + button_update: Cập Nhật button_export-atom: Tải xuống nguyên tử button_generate_pdf: Tạo PDF button_create: Tạo mới diff --git a/config/locales/crowdin/ka.yml b/config/locales/crowdin/ka.yml index cdcac202258..c522d2908f4 100644 --- a/config/locales/crowdin/ka.yml +++ b/config/locales/crowdin/ka.yml @@ -419,7 +419,8 @@ ka: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ ka: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ ka: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ ka: type: ტიპი version: ვერსია watcher: მეთვალყურე + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ ka: label_role_new: ახალი როლი label_role_grantable: Grantable role label_role_plural: როლები + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ ka: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/kk.yml b/config/locales/crowdin/kk.yml index 1e990e281be..5688926e546 100644 --- a/config/locales/crowdin/kk.yml +++ b/config/locales/crowdin/kk.yml @@ -419,7 +419,8 @@ kk: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ kk: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ kk: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ kk: type: Type version: Version watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ kk: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ kk: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index 7f46d97929e..34d762b2ff4 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -411,7 +411,8 @@ ko: error_special_characters: 특수 문자는 허용되지 않음 error_not_fully_uppercased: 대문자여야 함 error_in_use: 이미 다른 프로젝트의 활성 핸들로 사용 중입니다 - error_reserved: 다른 프로젝트의 핸들 기록에 의해 예약되었습니다 + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: 수동 검토가 필요합니다 remaining_projects: other: "... %{count}개의 추가 프로젝트" @@ -450,8 +451,11 @@ ko: ignore: 변경 사항 무시 save: 변경 사항을 저장하고 계속하기 role_selector: + title: Select roles label: '역할: %{role}' no_role: 역할 선택 + roles: + other: "%{count} roles selected" blankslate: title: 구성된 상태 전환 없음 description: 상태를 추가하여 이 역할에 대한 워크플로 구성을 시작합니다 @@ -1093,6 +1097,8 @@ ko: no_results_title_text: 보고할 소식이 없습니다. no_results_content_text: 소식 항목 추가 roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: 모든 %{module} 권한 할당 section_uncheck_all_label: 모든 %{module} 권한 할당 취소 @@ -1978,6 +1984,29 @@ ko: type: 타입 version: 버전 watcher: 주시자 + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: 허용 되어야 합니다. @@ -4174,6 +4203,7 @@ ko: label_role_new: 새 역할 label_role_grantable: 부여 가능한 역할 label_role_plural: 역할 + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: 새 멤버에게 역할 할당 label_scm: SCM label_scroll_left: 왼쪽으로 스크롤 @@ -5102,6 +5132,9 @@ ko: setting_mail_handler_body_delimiter_regex: 이 정규식에 일치하는 이메일을 자름 setting_mail_handler_ignore_filenames: 무시된 메일 첨부 파일 setting_new_project_user_role_id: 프로젝트를 만드는 비관리자 사용자에게 지정된 역할 + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: 새 프로젝트 생성 시 작성자에게 알림 보내기 setting_new_project_notification_text: 알림 텍스트 setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml index c224ad0f7d6..0641b25c721 100644 --- a/config/locales/crowdin/lt.yml +++ b/config/locales/crowdin/lt.yml @@ -431,7 +431,8 @@ lt: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -476,8 +477,14 @@ lt: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1139,6 +1146,8 @@ lt: no_results_title_text: Nėra jokių naujienų. no_results_content_text: Pridėti kaip naujieną roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2039,6 +2048,29 @@ lt: type: Tipas version: Versija watcher: Stebėtojas + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: turi būti patvirtinta. @@ -4340,6 +4372,7 @@ lt: label_role_new: Naujas vaidmuo label_role_grantable: Grantable role label_role_plural: Vaidmenys + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Priskirti vaidmenį naujiems nariams label_scm: SCM label_scroll_left: Scroll left @@ -5284,6 +5317,9 @@ lt: setting_mail_handler_body_delimiter_regex: Sutrumpinti laiškus, atitinkančius šią reguliarią išraišką setting_mail_handler_ignore_filenames: Ignoruoti laiško priedai setting_new_project_user_role_id: Vaidmuo suteiktas naudotojui, kuris nėra administratorius ir kuris kuria projektą + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/lv.yml b/config/locales/crowdin/lv.yml index 65092f71a24..94d94c108ef 100644 --- a/config/locales/crowdin/lv.yml +++ b/config/locales/crowdin/lv.yml @@ -425,7 +425,8 @@ lv: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: zero: "... %{count} more projects" @@ -468,8 +469,13 @@ lv: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + zero: "%{count} roles selected" + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1125,6 +1131,8 @@ lv: no_results_title_text: Pašlaik nav nevienu ziņu. no_results_content_text: Pievienot ziņu vienumu roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2020,6 +2028,29 @@ lv: type: Veids version: Versija watcher: Sekotājs + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: ir jāapstiprina. @@ -4280,6 +4311,7 @@ lv: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Lomas + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5223,6 +5255,9 @@ lv: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index 5cbbc346fce..243a523446e 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -419,7 +419,8 @@ mn: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ mn: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ mn: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ mn: type: Type version: Хувилбар watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ mn: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ mn: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ms.yml b/config/locales/crowdin/ms.yml index 2817546d0dd..30039c6e778 100644 --- a/config/locales/crowdin/ms.yml +++ b/config/locales/crowdin/ms.yml @@ -413,7 +413,8 @@ ms: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" @@ -452,8 +453,11 @@ ms: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1095,6 +1099,8 @@ ms: no_results_title_text: Tiada berita untuk dipaparkan buat masa ini. no_results_content_text: Tambah item berita roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1980,6 +1986,29 @@ ms: type: Jenis version: Versi watcher: Pemerhati + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: mesti diterima. @@ -4170,6 +4199,7 @@ ms: label_role_plural: 'Peranan ' + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Tetapkan peranan ke ahli baharu label_scm: SCM label_scroll_left: Skrol kiri @@ -5101,6 +5131,9 @@ ms: setting_mail_handler_body_delimiter_regex: Memangkas e-mel yang hampir sama dengan regex ini setting_mail_handler_ignore_filenames: Lampiran mel yang diabaikan setting_new_project_user_role_id: Peranan yang diberikan kepada pengguna bukan pentadbir yang mencipta projek + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ne.yml b/config/locales/crowdin/ne.yml index 7e35ddf2cc5..11d4f46ba53 100644 --- a/config/locales/crowdin/ne.yml +++ b/config/locales/crowdin/ne.yml @@ -419,7 +419,8 @@ ne: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ ne: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ ne: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ ne: type: Type version: Version watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ ne: label_role_new: New role label_role_grantable: Grantable role label_role_plural: भूमिकाहरु + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ ne: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: इमेलमा संलग्नहरु बेवास्ता गरियो setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/nl.yml b/config/locales/crowdin/nl.yml index 239c59ca65a..30f1e200b40 100644 --- a/config/locales/crowdin/nl.yml +++ b/config/locales/crowdin/nl.yml @@ -419,7 +419,8 @@ nl: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ nl: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1108,6 +1113,8 @@ nl: no_results_title_text: Er is momenteel geen nieuws om te rapporteren. no_results_content_text: Voeg een nieuwsitem toe roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1998,6 +2005,29 @@ nl: type: Type version: Versie watcher: Kijker + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: moet geaccepteerd worden. @@ -4215,6 +4245,7 @@ nl: label_role_new: Nieuwe rol label_role_grantable: Grantable role label_role_plural: Rollen + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Rol toewijzen aan nieuwe leden label_scm: SCM label_scroll_left: Scroll left @@ -5143,6 +5174,9 @@ nl: setting_mail_handler_body_delimiter_regex: E-mails die overeenkomen met deze regex afkappen setting_mail_handler_ignore_filenames: Genegeerde e-mailbijlagen setting_new_project_user_role_id: Rol gegeven aan een niet-admin-gebruiker die een project maakt + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/no.yml b/config/locales/crowdin/no.yml index 3adcd2ecb4a..1985498b211 100644 --- a/config/locales/crowdin/no.yml +++ b/config/locales/crowdin/no.yml @@ -419,7 +419,8 @@ error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ no_results_title_text: Det er ingen nyheter å vise. no_results_content_text: Legg til nyhet roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1998,6 +2005,29 @@ type: Type version: Versjon watcher: Overvåker + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: må aksepteres @@ -4217,6 +4247,7 @@ label_role_new: Ny rolle label_role_grantable: Grantable role label_role_plural: Rolle + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Tilordne rolle til nye medlemmer label_scm: SCM label_scroll_left: Bla til venstre @@ -5155,6 +5186,9 @@ setting_mail_handler_body_delimiter_regex: Avkort e-post som samsvarer med denne regex setting_mail_handler_ignore_filenames: Ignorert e-postvedlegg setting_new_project_user_role_id: Rolle gitt til en ikke-administrativ bruker som oppretter et prosjekt + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index c27991968ac..0824e4d81cb 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -431,7 +431,8 @@ pl: error_special_characters: Znaki specjalne są niedozwolone error_not_fully_uppercased: Musi być pisany wielkimi literami error_in_use: Już używany jako aktywne dojście innego projektu - error_reserved: Zarezerwowany przez historię dojść innego projektu + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Wymaga ręcznego sprawdzenia remaining_projects: one: "...jeszcze 1 projekt" @@ -476,8 +477,14 @@ pl: ignore: Zignoruj zmiany save: Zapisz zmiany i kontynuuj role_selector: + title: Select roles label: 'Rola: %{role}' no_role: Wybierz rolę + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: Nie skonfigurowano przejść statusów description: Dodaj statusy, aby rozpocząć konfigurowanie przepływów pracy dla tej roli @@ -1139,6 +1146,8 @@ pl: no_results_title_text: Nie ma jeszcze żadnych wiadomości do wyświetlenia. no_results_content_text: Dodaj nowy element roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Przypisz wszystkie uprawnienia do %{module} section_uncheck_all_label: Cofnij przypisanie wszystkich uprawnień do %{module} @@ -2036,6 +2045,29 @@ pl: type: Typ version: Wersja watcher: Obserwator + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: musi być zaakceptowane. @@ -4333,6 +4365,7 @@ pl: label_role_new: Nowa rola label_role_grantable: Przyznawana rola label_role_plural: Role + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Przydziel role nowemu członkowi label_scm: SCM label_scroll_left: Przewiń w lewo @@ -5273,6 +5306,9 @@ pl: setting_mail_handler_body_delimiter_regex: Skróć wiadomości e-mail pasujące to wyrażenia regularnego setting_mail_handler_ignore_filenames: Ignorowane załączniki do poczty setting_new_project_user_role_id: Rola dla użytkownika bez uprawnień administratora, który tworzy projekt + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Wyślij powiadomienie do autora podczas tworzenia nowego projektu setting_new_project_notification_text: Tekst powiadomienia setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/pt-BR.yml b/config/locales/crowdin/pt-BR.yml index 57f7ba25ba0..39559f2a04a 100644 --- a/config/locales/crowdin/pt-BR.yml +++ b/config/locales/crowdin/pt-BR.yml @@ -419,7 +419,8 @@ pt-BR: error_special_characters: Caracteres especiais não são permitidos error_not_fully_uppercased: Deve estar em maiúsculas error_in_use: Já está em uso como identificador ativo de outro projeto - error_reserved: Reservado pelo histórico de identificadores de outro projeto + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Requer revisão manual remaining_projects: one: "… mais 1 projeto" @@ -460,8 +461,12 @@ pt-BR: ignore: Ignorar alterações save: Salvar alterações e continuar role_selector: + title: Select roles label: 'Função: %{role}' no_role: Selecionar função + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: Nenhuma transição de status configurada description: Adicione status para começar a configurar fluxos de trabalho para esta função @@ -1110,6 +1115,8 @@ pt-BR: no_results_title_text: Atualmente, não há notícias para comunicar. no_results_content_text: Adicionar um item de notícias roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Atribuir todas as permissões de %{module} section_uncheck_all_label: Remover todas as permissões de %{module} @@ -1997,6 +2004,29 @@ pt-BR: type: Tipo version: Versão watcher: Observador + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: deve ser aceito. @@ -4216,6 +4246,7 @@ pt-BR: label_role_new: Nova função label_role_grantable: Função concedível label_role_plural: Papéis + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Atribuir papéis aos novos membros label_scm: SCM label_scroll_left: Rolar para a esquerda @@ -5145,6 +5176,9 @@ pt-BR: setting_mail_handler_body_delimiter_regex: Truncar e-mails correspondentes a esta expressão regular setting_mail_handler_ignore_filenames: Anexos de e-mail ignorados setting_new_project_user_role_id: Função atribuída a um usuário não administrador que cria um projeto + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Enviar notificação ao autor ao criar um novo projeto setting_new_project_notification_text: Texto de notificação setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/pt-PT.yml b/config/locales/crowdin/pt-PT.yml index 52e5921a54a..ad0017e58d2 100644 --- a/config/locales/crowdin/pt-PT.yml +++ b/config/locales/crowdin/pt-PT.yml @@ -419,7 +419,8 @@ pt-PT: error_special_characters: Caracteres especiais não são permitidos error_not_fully_uppercased: Deve estar em maiúsculas error_in_use: Já está a ser utilizado como identificador ativo de outro projeto - error_reserved: Reservado pelo histórico do identificador de outro projeto + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Precisa de revisão manual remaining_projects: one: "... mais 1 projeto" @@ -460,8 +461,12 @@ pt-PT: ignore: Ignorar alterações save: Guardar as alterações e continuar role_selector: + title: Select roles label: 'Função: %{role}' no_role: Selecionar função + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: Não há transições de estado configuradas description: Adicione estados para começar a configurar fluxos de trabalho para esta função @@ -1109,6 +1114,8 @@ pt-PT: no_results_title_text: Atualmente, não existem notícias para comunicar. no_results_content_text: Adicione um item de notícias roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Atribua todas as permissões de %{module} section_uncheck_all_label: Anular a atribuição de todas as permissões de %{module} @@ -1998,6 +2005,29 @@ pt-PT: type: Tipo version: Versão watcher: Monitor + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: deve ser aceite. @@ -4217,6 +4247,7 @@ pt-PT: label_role_new: Nova função label_role_grantable: Função concedível label_role_plural: Papel + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Atribuir função aos novos membros label_scm: SCM label_scroll_left: Deslocar para a esquerda @@ -5140,6 +5171,9 @@ pt-PT: setting_mail_handler_body_delimiter_regex: Truncar emails com correspondência a este regex setting_mail_handler_ignore_filenames: Anexos de e-mail ignorados setting_new_project_user_role_id: Função atribuída a um utilizador não-administrador que cria um projeto + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Enviar notificação ao autor ao criar um novo projeto setting_new_project_notification_text: Texto da notificação setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index d04cc5c7337..b9775aaefbc 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -425,7 +425,8 @@ ro: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -468,8 +469,13 @@ ro: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1125,6 +1131,8 @@ ro: no_results_title_text: În acest moment nu există știri de raportat. no_results_content_text: Adaugă știre nouă roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2020,6 +2028,29 @@ ro: type: Tip version: Versiune watcher: Observator + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: trebuie acceptat. @@ -3917,7 +3948,7 @@ ro: label_duplicated_by: dublat de label_duplicate: duplicat label_duplicates: dublează - label_edit: Editează + label_edit: Editare label_edit_x: 'Editare: %{x}' label_view_x: 'View: %{x}' label_enable_multi_select: Comutare selecție multiplă @@ -3974,7 +4005,7 @@ ro: label_global_roles: Roluri globale label_git_path: Calea catre directorul .git label_greater_or_equal: ">=" - label_group_by: Grupează după + label_group_by: Grupare după label_group_new: Grupare nouă label_group: Grup label_group_named: Grup %{name} @@ -4280,6 +4311,7 @@ ro: label_role_new: Rol nou label_role_grantable: Grantable role label_role_plural: Roluri + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Atribuirea rolului noilor membri label_scm: SCM label_scroll_left: Derulează la stânga @@ -5221,6 +5253,9 @@ ro: setting_mail_handler_body_delimiter_regex: Trunchiază email-uri care se potrivesc cu acest regex setting_mail_handler_ignore_filenames: Atașamente de e-mail ignorate setting_new_project_user_role_id: Rol atribuit unui utilizator non-administrator care crează un proiect + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Trimite notificare autorului la crearea unui proiect nou setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 47246524baf..5a5305c2b5b 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -431,7 +431,8 @@ ru: error_special_characters: Специальные символы не допускаются error_not_fully_uppercased: Должно быть заглавными error_in_use: Уже используется в другом проекте - error_reserved: Зарезервировано другим проектом + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Требуется ручная проверка remaining_projects: one: "... еще 1 проект" @@ -476,8 +477,14 @@ ru: ignore: Игнорировать изменения save: Сохранить изменения и продолжить role_selector: + title: Select roles label: 'Роль: %{role}' no_role: Выберите роль + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: Переходы статуса не настроены description: Добавьте статусы, чтобы начать настройку рабочих процессов для этой роли @@ -1139,6 +1146,8 @@ ru: no_results_title_text: На данный момент новостей для отчета нет. no_results_content_text: Добавить новость roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Назначьте все разрешения %{module} section_uncheck_all_label: Отменить все разрешения %{module} @@ -2043,6 +2052,29 @@ ru: type: Тип version: Этапы watcher: Наблюдатель + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: нужно подтвердить. @@ -4344,6 +4376,7 @@ ru: label_role_new: Новая роль label_role_grantable: Назначаемая роль label_role_plural: Роли + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Назначить роль для новых участников label_scm: SCM label_scroll_left: Прокрутить влево @@ -5278,6 +5311,9 @@ ru: setting_mail_handler_body_delimiter_regex: Сообщение усекается по этому регулярному выражению setting_mail_handler_ignore_filenames: Игнорируемые вложения почты setting_new_project_user_role_id: Роль, назначаемая пользователю-создателю проекта, не являющемуся администратором + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Отправить уведомление автору при создании нового проекта setting_new_project_notification_text: Текст уведомления setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/rw.yml b/config/locales/crowdin/rw.yml index 33cb7bb7bd4..3f1045b0aa7 100644 --- a/config/locales/crowdin/rw.yml +++ b/config/locales/crowdin/rw.yml @@ -419,7 +419,8 @@ rw: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ rw: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ rw: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ rw: type: Type version: Version watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ rw: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ rw: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/si.yml b/config/locales/crowdin/si.yml index c7e0a47fcdc..556184c4e94 100644 --- a/config/locales/crowdin/si.yml +++ b/config/locales/crowdin/si.yml @@ -419,7 +419,8 @@ si: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ si: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ si: no_results_title_text: වාර්තා කිරීමට දැනට කිසිදු ප්රවෘත්තියක් නොමැත. no_results_content_text: ප්රවෘත්ති අයිතමයක් එක් කරන්න roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ si: type: වර්ගය version: අනුවාදය watcher: මුරකරු + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: පිළිගත යුතුය. @@ -4219,6 +4249,7 @@ si: label_role_new: නව භූමිකාව label_role_grantable: Grantable role label_role_plural: භූමිකාවන් + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: නව සාමාජිකයින්ට කාර්යභාරය පැවරීම label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ si: setting_mail_handler_body_delimiter_regex: මෙම regex ගැලපෙන ඊමේල් Truncate setting_mail_handler_ignore_filenames: නොසලකා හරින ලද තැපැල් ඇමුණුම් setting_new_project_user_role_id: ව්යාපෘතියක් නිර්මාණය කරන පරිපාලක නොවන පරිශීලකයෙකුට ලබා දී ඇති කාර්යභාරය + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/sk.yml b/config/locales/crowdin/sk.yml index 9bdd48b2c8c..c7a252eea32 100644 --- a/config/locales/crowdin/sk.yml +++ b/config/locales/crowdin/sk.yml @@ -431,7 +431,8 @@ sk: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -476,8 +477,14 @@ sk: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1140,6 +1147,8 @@ sk: no_results_title_text: V súčasnosti nie sú žiadne novinky pre nahlásenie. no_results_content_text: Pridať novinku roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2040,6 +2049,29 @@ sk: type: Typ version: Verzia watcher: Pozorovateľ + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: musí byť akceptovaný. @@ -4339,6 +4371,7 @@ sk: label_role_new: Nová rola label_role_grantable: Grantable role label_role_plural: Roly + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Priradenie role pre nových užívateľov label_scm: SCM label_scroll_left: Scroll left @@ -5289,6 +5322,9 @@ sk: setting_mail_handler_body_delimiter_regex: Skrátiť e-maily zodpovedajúce tomuto regex setting_mail_handler_ignore_filenames: Ignorované prílohy e-mailu setting_new_project_user_role_id: Rola priradená užívateľovi bez práv administrátora, ktorý projekt vytvoril + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index 41db6590cd5..1bbe62a95c0 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -433,7 +433,8 @@ sl: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -478,8 +479,14 @@ sl: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + two: "%{count} roles selected" + few: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1141,6 +1148,8 @@ sl: no_results_title_text: Trenutno ni nobenih novic za poročanje. no_results_content_text: Dodajte novico roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2041,6 +2050,29 @@ sl: type: Vrsta version: Različica watcher: Opazovalec + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: mora biti sprejeto. @@ -2978,8 +3010,8 @@ sl: - avgust - september - oktober - - november - - december + - November + - December order: - :leto - :mesec @@ -4354,6 +4386,7 @@ sl: label_role_new: Nova vloga label_role_grantable: Grantable role label_role_plural: Vloge + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Dodelite vlogo novim članom label_scm: SCM label_scroll_left: Scroll left @@ -5308,6 +5341,9 @@ sl: setting_mail_handler_body_delimiter_regex: skrajšaj e-poštna sporočila, ki se ujemajo s tem izražanjem setting_mail_handler_ignore_filenames: Zanemarjene priloge e-pošte setting_new_project_user_role_id: Vloga, dodeljena neadministratorskemu uporabniku, ki je ustvaril projekt + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/sr.yml b/config/locales/crowdin/sr.yml index 04239b58486..4c30f0e5342 100644 --- a/config/locales/crowdin/sr.yml +++ b/config/locales/crowdin/sr.yml @@ -425,7 +425,8 @@ sr: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -468,8 +469,13 @@ sr: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1125,6 +1131,8 @@ sr: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2020,6 +2028,29 @@ sr: type: Type version: Verzija watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4280,6 +4311,7 @@ sr: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5223,6 +5255,9 @@ sr: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index 4d91893bab0..d406fa6cc0c 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -419,7 +419,8 @@ sv: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ sv: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ sv: no_results_title_text: Det finns för närvarande inget att rapportera. no_results_content_text: Lägg till nyhet roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ sv: type: Typ version: Version watcher: Bevakare + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: måste accepteras. @@ -4219,6 +4249,7 @@ sv: label_role_new: Ny roll label_role_grantable: Grantable role label_role_plural: Roll + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Tilldela rollen till nya medlemmar label_scm: SCM label_scroll_left: Scroll left @@ -5145,6 +5176,9 @@ sv: setting_mail_handler_body_delimiter_regex: Trunkera e-postmeddelanden enligt följande regex setting_mail_handler_ignore_filenames: Ignorerade e-postbilagor setting_new_project_user_role_id: Roll som ges till en icke-administratör som skapar ett projekt + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/th.yml b/config/locales/crowdin/th.yml index fce9fdf9d5c..595f6a4f769 100644 --- a/config/locales/crowdin/th.yml +++ b/config/locales/crowdin/th.yml @@ -413,7 +413,8 @@ th: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" @@ -452,8 +453,11 @@ th: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1095,6 +1099,8 @@ th: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -1980,6 +1986,29 @@ th: type: ประเภท version: เวอร์ชัน watcher: ผู้ดูข้อมูล + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4158,6 +4187,7 @@ th: label_role_new: บทบาทใหม่ label_role_grantable: Grantable role label_role_plural: บทบาท + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5091,6 +5121,9 @@ th: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: 'บทบาทที่ให้กับผู้ใช้ที่สร้างโครงการ ซึ่งไม่ใช่ผู้ดูแลระบบ ' + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index 84624de5851..9fb681ca2cd 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -419,7 +419,8 @@ tr: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ tr: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1111,6 +1116,8 @@ tr: no_results_title_text: Şu anda rapor edilecek bir haber yok. no_results_content_text: Haber öğesi ekle roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2001,6 +2008,29 @@ tr: type: Tür version: Sürüm watcher: Takip eden + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: kabul edilmelidir. @@ -4224,6 +4254,7 @@ tr: label_role_new: Yeni rol label_role_grantable: Verilebilir rol label_role_plural: Yetkiler + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Yeni üyelere rol atama label_scm: YKM label_scroll_left: Sola kaydır @@ -5159,6 +5190,9 @@ tr: setting_mail_handler_body_delimiter_regex: Bu düzenli ifade ile uyuşan e-postaları kırp setting_mail_handler_ignore_filenames: Yoksayılan posta ekleri setting_new_project_user_role_id: Bir proje oluşturan yönetici olmayan bir kullanıcıya verilen rolü + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 9b4707447cf..54ed8f994c8 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -431,7 +431,8 @@ uk: error_special_characters: Не дозволяється використовувати спеціальні символи error_not_fully_uppercased: Літери мають бути великими error_in_use: Уже використовується як активний дескриптор іншого проєкту - error_reserved: Зарезервовано в історії дескрипторів іншого проєкту + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Потребує ручної перевірки remaining_projects: one: "… ще 1 проєкт" @@ -476,8 +477,14 @@ uk: ignore: Ігнорувати зміни save: Зберегти зміни й продовжити role_selector: + title: Select roles label: 'Роль: %{role}' no_role: Виберіть роль + roles: + one: "%{count} role selected" + few: "%{count} roles selected" + many: "%{count} roles selected" + other: "%{count} roles selected" blankslate: title: Переходи статусів не налаштовано description: Додайте статуси, щоб почати налаштовувати робочі процеси для цієї ролі @@ -1140,6 +1147,8 @@ uk: no_results_title_text: Наразі немає жодної новини. no_results_content_text: Додати новину roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Призначити всі дозволи модуля «%{module}» section_uncheck_all_label: Скасувати призначення всіх дозволів модуля «%{module}» @@ -2035,6 +2044,29 @@ uk: type: Тип version: Версія watcher: Спостерігач + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: повинні бути прийняті. @@ -4062,7 +4094,7 @@ uk: label_index_by_title: Індекс за назвою label_information: Інформація label_information_plural: Інформація - label_installation_guides: Інструкції із встановлення + label_installation_guides: Інструкції зі встановлення label_integer: Ціле число label_interface: Інтерфейс label_internal: Власне @@ -4340,6 +4372,7 @@ uk: label_role_new: Нова роль label_role_grantable: Роль, що надається label_role_plural: Роль + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Призначити роль для нових членів label_scm: Тип сховища label_scroll_left: Гортати вліво @@ -5287,6 +5320,9 @@ uk: setting_mail_handler_body_delimiter_regex: Обрізати електронні листи, які відповідають цьому регулярному виразу setting_mail_handler_ignore_filenames: Проігноровані вкладення пошти setting_new_project_user_role_id: Роль, що призначається користувачу, створившому проект + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Надсилати сповіщення автору при створенні нового проєкту setting_new_project_notification_text: Текст сповіщення setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/uz.yml b/config/locales/crowdin/uz.yml index 110c789510a..7eb49806d35 100644 --- a/config/locales/crowdin/uz.yml +++ b/config/locales/crowdin/uz.yml @@ -419,7 +419,8 @@ uz: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -460,8 +461,12 @@ uz: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1110,6 +1115,8 @@ uz: no_results_title_text: There is currently no news to report. no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Assign all %{module} permissions section_uncheck_all_label: Unassign all %{module} permissions @@ -2000,6 +2007,29 @@ uz: type: Type version: Version watcher: Watcher + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: must be accepted. @@ -4219,6 +4249,7 @@ uz: label_role_new: New role label_role_grantable: Grantable role label_role_plural: Roles + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Assign role to new members label_scm: SCM label_scroll_left: Scroll left @@ -5157,6 +5188,9 @@ uz: setting_mail_handler_body_delimiter_regex: Truncate emails matching this regex setting_mail_handler_ignore_filenames: Ignored mail attachments setting_new_project_user_role_id: Role given to a non-admin user who creates a project + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Send notification to author when creating a new project setting_new_project_notification_text: Notification text setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index 31dc12d4ece..13c890600a0 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -413,7 +413,8 @@ vi: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" @@ -452,8 +453,11 @@ vi: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1097,6 +1101,8 @@ vi: no_results_title_text: Hiện không có tin tức báo cáo. no_results_content_text: Thêm một mục tin tức roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: Gán tất cả các quyền %{module} section_uncheck_all_label: Bỏ gán tất cả quyền %{module} @@ -1982,6 +1988,29 @@ vi: type: loại version: Phiên bản watcher: Người quan sát + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: phải được đồng ý @@ -2537,7 +2566,7 @@ vi: base: 'Lỗi tổng quan:' body: cơ thể category: thể loại - comment: bình luận + comment: Nhận xét comments: bình luận content: Nội dung color: màu sắc @@ -4160,6 +4189,7 @@ vi: label_role_new: Vai trò mới label_role_grantable: Vai trò có thể cấp label_role_plural: Vai trò + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: Chỉ định vai trò cho các thành viên mới label_scm: SCM label_scroll_left: Cuộn sang trái @@ -4234,7 +4264,7 @@ vi: label_used_by: Được dùng bởi label_used_by_types: Được sử dụng bởi các loại label_used_in_projects: Được sử dụng trong các dự án - label_user: người dùng + label_user: Người dùng label_user_and_permission: Người dùng và quyền label_user_named: Người dùng %{name} label_user_activity_html: "%{value}'s activity" @@ -5101,6 +5131,9 @@ vi: setting_mail_handler_body_delimiter_regex: Xén các email phù hợp với biểu thức này setting_mail_handler_ignore_filenames: Tập tin đính kèm mail bị bỏ qua setting_new_project_user_role_id: Vai trò được cấp cho người dùng không phải quản trị viên tạo dự án + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: Gửi thông báo cho tác giả khi tạo dự án mới setting_new_project_notification_text: Văn bản thông báo setting_password_active_rules: Password requirements diff --git a/config/locales/crowdin/zh-CN.seeders.yml b/config/locales/crowdin/zh-CN.seeders.yml index 30e63f026bc..212a0e3692c 100644 --- a/config/locales/crowdin/zh-CN.seeders.yml +++ b/config/locales/crowdin/zh-CN.seeders.yml @@ -97,7 +97,7 @@ zh-CN: demo-project: name: 演示项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示 Scrum 项目目标的简短摘要。 + description: 这是对此演示项目目标的简短摘要。 news: item_0: title: 欢迎来到您的演示项目 @@ -201,7 +201,7 @@ zh-CN: scrum-project: name: Scrum 项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示 Scrum 项目目标的简短摘要。 + description: 这是对此演示Scrum项目目标的简短摘要。 news: item_0: title: 欢迎来到您的 Scrum 演示项目 diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index c231a2c4eb9..0d786f72d5a 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -89,7 +89,7 @@ zh-CN: token_caption: 要详细了解如何激活企业版,请查阅我们的[文档](docs_url)。 add_token: 上传企业版支持令牌 replace_token: 替换您当前的支持令牌 - order: 订购本地部署版的 Enterprise edition + order: 订购本地部署的 Enterprise edition paste: 粘贴您企业版的支持令牌 required_for_feature: 此功能仅限具激活的企业版支持令牌的订阅者使用。 enterprise_link: 如需了解详细信息,请单击此处。 @@ -411,7 +411,8 @@ zh-CN: error_special_characters: 不允许使用特殊字符 error_not_fully_uppercased: 必须为大写字母 error_in_use: 已用作另一个项目的有效标识名 - error_reserved: 由另一个项目的标识名历史保留 + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: 需要手动检查 remaining_projects: other: "…其他 %{count} 个项目" @@ -450,8 +451,11 @@ zh-CN: ignore: 忽略更改 save: 保存更改并继续 role_selector: + title: Select roles label: 角色:%{role} no_role: 选择角色 + roles: + other: "%{count} roles selected" blankslate: title: 未配置状态过渡 description: 添加状态,以开始为此角色配置工作流 @@ -1092,6 +1096,8 @@ zh-CN: no_results_title_text: 目前没有消息报告。 no_results_content_text: 添加新闻项 roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: 指定所有 %{module} 权限 section_uncheck_all_label: 取消指定所有 %{module} 权限 @@ -1697,7 +1703,7 @@ zh-CN: page: 页 row_count: 行数 column_count: 列数 - widgets: 微件 + widgets: 小部件 journal: notes: 备注 cause_type: Cause 类型 @@ -1976,6 +1982,29 @@ zh-CN: type: 类型 version: 版本 watcher: 关注者 + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: 必须接受。 @@ -4146,7 +4175,7 @@ zh-CN: label_revision_id: 修订版本 %{value} label_revision_plural: 修订 label_roadmap: 路线图 - label_roadmap_edit: 编辑路线图%{name} + label_roadmap_edit: 编辑路线图 %{name} label_roadmap_due_in: "%{value} 到期" label_roadmap_no_work_packages: 该版本没有工作包。 label_roadmap_overdue: "%{value} 超时" @@ -4154,6 +4183,7 @@ zh-CN: label_role_new: 新的角色 label_role_grantable: 可授予的角色 label_role_plural: 角色 + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: 将角色分配给新成员 label_scm: SCM label_scroll_left: 向左滚动 @@ -4906,7 +4936,7 @@ zh-CN: managed: 在 OpenProject 中创建新的存储库 storage: not_available: 磁盘存储开销不可用于此存储库。 - update_timeout: 在 N 分钟内保留存储库最后所需的磁盘空间信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。 + update_timeout: 在 N 分钟内保留存储库最后所需磁盘空间的信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。 oauth_application_details_html: 关闭此窗口后,将无法再次访问客户端密钥值。请将这些值复制到 Nextcloud OpenProject 集成设置中: oauth_application_details_link_text: 转到设置页面 setup_documentation_details: 如果您在配置新文件存储方面需要帮助,请查看文档: @@ -5080,6 +5110,9 @@ zh-CN: setting_mail_handler_body_delimiter_regex: 清空符合此正则表达式的电子邮件 setting_mail_handler_ignore_filenames: 忽略的邮件附件 setting_new_project_user_role_id: 给创建项目的非管理员用户的角色 + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: 创建新项目时向作者发送通知 setting_new_project_notification_text: 通知文本 setting_password_active_rules: Password requirements @@ -5134,7 +5167,7 @@ zh-CN: setting_session_ttl_hint: 当设置的值低于5时,其作用类似于禁用。 setting_session_ttl_enabled: 会话过期 setting_start_of_week: 一周起始日 - setting_sys_api_enabled: 启用存储库管理网页服务 + setting_sys_api_enabled: 启用版本库管理 web 服务 setting_sys_api_description: 存储库管理网页服务提供了集成的,用户授权的存储库访问。 setting_time_format: 时间 setting_total_percent_complete_mode: 计算 完成% 层次结构总数 @@ -5620,7 +5653,7 @@ zh-CN: warning_user_limit_reached_admin_html: '添加额外的用户将超出当前限值。请[升级您的方案](upgrade_url),以确保外部用户能够访问此实例。 ' - warning_user_limit_reached_instructions: '您已达到用户限制(%{current}/%{max} 活跃用户)。请联系 sales@openproject.com 升级您的企业版计划以添加额外用户。 + warning_user_limit_reached_instructions: '您达到了用户限制(%{current}/%{max}活跃用户)。 请联系sales@openproject.com以升级您的Enterprise edition计划并添加其他用户。 ' warning_protocol_mismatch_html: '' diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 1bef1113ef5..561bb05c150 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -413,7 +413,8 @@ zh-TW: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" @@ -452,8 +453,11 @@ zh-TW: ignore: Ignore changes save: Save changes and continue role_selector: + title: Select roles label: 'Role: %{role}' no_role: Select role + roles: + other: "%{count} roles selected" blankslate: title: No status transitions configured description: Add statuses to start configuring workflows for this role @@ -1095,6 +1099,8 @@ zh-TW: no_results_title_text: 目前沒有新消息報告 no_results_content_text: 新增一個消息 roles: + edit: + default_for_new_projects_warning: 'This role is configured as the default role given to non-admin users who create a project. Do not remove the following permissions, otherwise project creators will be unable to complete the setup of their newly created projects:' permissions: section_check_all_label: 指定所有 %{module} 權限 section_uncheck_all_label: 取消指定所有 %{module} 權限 @@ -1976,6 +1982,29 @@ zh-TW: type: 類型 version: 版本 watcher: 監看者 + ordered_persisted_query_entity: + persisted_query: Persisted query + entity: Entity + position: Position + persisted_query: + name: Name + views: Views + filters: Filters + orders: Orders + selects: Selects + persisted_view: + name: Name + query: Query + parent: Parent view + public: Public + user_card_view: + secondary_info: Secondary info + show_status_badge: Show status badge + show_email: Show email + tag_source: Tag source + tag_limit: Tag limit + card_size: Card size + columns_per_row: Columns per row errors: messages: accepted: 必須被接受 @@ -3831,7 +3860,7 @@ zh-TW: label_filter_add: 新增條件 label_filter_by: 篩選條件: label_filter_any_name_attribute: 名稱屬性 - label_filter_plural: 篩選條件 + label_filter_plural: 篩選器 label_filters_toggle: 顯示/隱藏篩選條件 label_float: 浮點數 label_folder: 資料夾 @@ -3845,8 +3874,8 @@ zh-TW: label_global_modules: 全域模組 label_global_roles: 全域角色 label_git_path: ".git 目錄的路徑" - label_greater_or_equal: 之前 - label_group_by: 分類 + label_greater_or_equal: ">=" + label_group_by: 分組依據 label_group_new: 新增群組 label_group: 群組 label_group_named: 群組名稱 %{name} @@ -3858,7 +3887,7 @@ zh-TW: label_hierarchy: 階層 label_hierarchy_leaf: 頁面結構頁 label_home: Home - label_subject_or_id: 名稱或 id + label_subject_or_id: 主旨或 id label_calendar_subscriptions: 訂閱行事曆 label_identifier: 識別碼 label_project_identifier: Project identifier @@ -3910,7 +3939,7 @@ zh-TW: label_latest_revision_plural: 最新版本 label_ldap_authentication: LDAP 認證 label_learn_more: 了解更多 - label_less_or_equal: 之後 + label_less_or_equal: "<=" label_less_than_ago: 幾天內 label_link_url: 連結(URL) label_list: 清單 @@ -4152,6 +4181,7 @@ zh-TW: label_role_new: 新增角色 label_role_grantable: 可授予的角色 label_role_plural: 角色 + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: 為新成員分配角色 label_scm: SCM label_scroll_left: 向左捲動 @@ -5086,6 +5116,9 @@ zh-TW: setting_mail_handler_body_delimiter_regex: 清空符合正規表達式的電子郵件 setting_mail_handler_ignore_filenames: 依附件名稱排除 setting_new_project_user_role_id: 非管理員用户新建專案時將被赋予的(在該專案中的)角色 + setting_new_project_user_role_id_caption: 'Only roles that include the permissions to edit project attributes and to manage members are listed, so that the creator can complete the project setup. + + ' setting_new_project_send_confirmation_email: 建立新專案時傳送通知給作者 setting_new_project_notification_text: 通知文字 setting_password_active_rules: Password requirements diff --git a/config/locales/en.yml b/config/locales/en.yml index 969e4a63270..0f28ab425de 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -431,7 +431,8 @@ en: error_special_characters: Special characters not allowed error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle - error_reserved: Reserved by another project's handle history + error_used_in_past: Reserved by another project's handle history + error_reserved_by_system: Reserved as a system keyword error_unknown: Needs manual review remaining_projects: one: "... 1 more project" @@ -473,8 +474,12 @@ en: ignore: "Ignore changes" save: "Save changes and continue" role_selector: + title: "Select roles" label: "Role: %{role}" no_role: "Select role" + roles: + one: "%{count} role selected" + other: "%{count} roles selected" blankslate: title: "No status transitions configured" description: "Add statuses to start configuring workflows for this role" @@ -1160,6 +1165,11 @@ en: no_results_content_text: Add a news item roles: + edit: + default_for_new_projects_warning: >- + This role is configured as the default role given to non-admin users who create a project. + Do not remove the following permissions, otherwise project creators will be unable to complete + the setup of their newly created projects: permissions: section_check_all_label: "Assign all %{module} permissions" section_uncheck_all_label: "Unassign all %{module} permissions" @@ -2083,6 +2093,29 @@ en: type: "Type" version: "Version" watcher: "Watcher" + ordered_persisted_query_entity: + persisted_query: "Persisted query" + entity: "Entity" + position: "Position" + persisted_query: + name: "Name" + views: "Views" + filters: "Filters" + orders: "Orders" + selects: "Selects" + persisted_view: + name: "Name" + query: "Query" + parent: "Parent view" + public: "Public" + user_card_view: + secondary_info: "Secondary info" + show_status_badge: "Show status badge" + show_email: "Show email" + tag_source: "Tag source" + tag_limit: "Tag limit" + card_size: "Card size" + columns_per_row: "Columns per row" errors: messages: @@ -4357,6 +4390,7 @@ en: label_role_new: "New role" label_role_grantable: "Grantable role" label_role_plural: "Roles" + label_role_missing_permissions: "%{role} (missing required permissions)" label_role_search: "Assign role to new members" label_scm: "SCM" label_scroll_left: "Scroll left" @@ -5323,6 +5357,9 @@ en: setting_mail_handler_body_delimiter_regex: "Truncate emails matching this regex" setting_mail_handler_ignore_filenames: "Ignored mail attachments" setting_new_project_user_role_id: "Role given to a non-admin user who creates a project" + setting_new_project_user_role_id_caption: > + Only roles that include the permissions to edit project attributes and to manage members are listed, + so that the creator can complete the project setup. setting_new_project_send_confirmation_email: "Send notification to author when creating a new project" setting_new_project_notification_text: "Notification text" setting_password_active_rules: "Password requirements" diff --git a/config/routes.rb b/config/routes.rb index bc9cf3b0732..0b53becfc63 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1131,9 +1131,16 @@ Rails.application.routes.draw do work_package_split_view: true end + concern :with_split_create do + get "details/new", + action: :split_create, + as: :split_create, + work_package_split_create: true + end + resources :notifications, only: :index do collection do - concerns :with_split_view, base_route: :notifications_path + concerns :with_split_view post :mark_all_read resource :menu, module: :notifications, only: %i[show], as: :notifications_menu diff --git a/config/static_links.yml b/config/static_links.yml index 934980ae3f1..41255a2c525 100644 --- a/config/static_links.yml +++ b/config/static_links.yml @@ -184,10 +184,12 @@ sysadmin_docs: href: https://www.openproject.org/docs/system-admin-guide/users-permissions/roles-permissions/#roles-and-permissions ldap: href: https://www.openproject.org/docs/system-admin-guide/authentication/ldap-connections/ + ldap_group_sync: + href: https://www.openproject.org/docs/system-admin-guide/authentication/ldap-connections/ldap-group-synchronization/ mcp_resources: - href: https://www.openproject.org/docs/system-admin-guide/integrations/mcp-server/#resources + href: https://www.openproject.org/docs/system-admin-guide/integrations/mcp-server/#resources mcp_tools: - href: https://www.openproject.org/docs/system-admin-guide/integrations/mcp-server/#tools + href: https://www.openproject.org/docs/system-admin-guide/integrations/mcp-server/#tools oidc: href: https://www.openproject.org/docs/system-admin-guide/authentication/openid-providers/ oidc_acr_values: diff --git a/app/models/queries/users/user_query.rb b/db/migrate/20260422081417_create_persisted_queries.rb similarity index 73% rename from app/models/queries/users/user_query.rb rename to db/migrate/20260422081417_create_persisted_queries.rb index 5a63afd3b3f..35b28e08883 100644 --- a/app/models/queries/users/user_query.rb +++ b/db/migrate/20260422081417_create_persisted_queries.rb @@ -28,20 +28,20 @@ # See COPYRIGHT and LICENSE files for more details. #++ -class Queries::Users::UserQuery - include Queries::BaseQuery - include Queries::UnpersistedQuery +class CreatePersistedQueries < ActiveRecord::Migration[8.1] + def change + create_table :persisted_queries do |t| + t.string :type + t.string :name, null: true + t.references :project, foreign_key: true, null: true + t.references :principal, foreign_key: { to_table: :users }, null: true + t.jsonb :filters, default: [] + t.jsonb :selects, default: [] + t.jsonb :orders, default: [] - def self.model - User - end + t.timestamps - def default_scope - # This seemingly duplication is necessary because of the builtin classes - # * SystemUser - # * DeletedUser - # * AnonymousUser - # inheriting from user. Without it, instances of those classes would show up. - User.user + t.index :type + end end end diff --git a/db/migrate/20260422081810_create_persisted_views.rb b/db/migrate/20260422081810_create_persisted_views.rb new file mode 100644 index 00000000000..86712cf334e --- /dev/null +++ b/db/migrate/20260422081810_create_persisted_views.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +class CreatePersistedViews < ActiveRecord::Migration[8.1] + def change + create_table :persisted_views do |t| + t.string :type + t.string :name + t.references :project, foreign_key: true, null: true + t.references :principal, foreign_key: { to_table: :users }, null: true + t.references :query, polymorphic: true, null: true + t.references :parent, foreign_key: { to_table: :persisted_views }, null: true + t.jsonb :options, default: {}, null: false + t.boolean :public, default: false, null: false + + t.timestamps + + t.index :type + end + end +end diff --git a/db/migrate/20260422110809_create_ordered_persisted_query_entities.rb b/db/migrate/20260422110809_create_ordered_persisted_query_entities.rb new file mode 100644 index 00000000000..f162dd06dd1 --- /dev/null +++ b/db/migrate/20260422110809_create_ordered_persisted_query_entities.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +class CreateOrderedPersistedQueryEntities < ActiveRecord::Migration[8.1] + def change + create_table :ordered_persisted_query_entities do |t| # rubocop:disable Rails/CreateTableWithTimestamps + t.integer :position, null: false + t.references :persisted_query, + null: false, + foreign_key: { on_delete: :cascade } + t.references :entity, polymorphic: true, null: false + + t.index %i[persisted_query_id entity_type entity_id], + unique: true, + name: "index_ordered_pq_entities_on_query_and_entity" + t.index %i[persisted_query_id position], + name: "index_ordered_pq_entities_on_query_and_position" + end + end +end diff --git a/db/migrate/20260424094655_add_category_to_persisted_view.rb b/db/migrate/20260424094655_add_category_to_persisted_view.rb new file mode 100644 index 00000000000..faf108f1bcc --- /dev/null +++ b/db/migrate/20260424094655_add_category_to_persisted_view.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class AddCategoryToPersistedView < ActiveRecord::Migration[8.1] + def change + add_column :persisted_views, :category, :string, null: true + add_index :persisted_views, :category + end +end diff --git a/docker-compose.yml b/docker-compose.yml index c7c9ad81806..fb409e6138d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,7 +42,7 @@ x-op-backend: &backend OPENPROJECT_CACHE__MEMCACHE__SERVER: cache:11211 OPENPROJECT_RAILS__CACHE__STORE: file_store OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}" - DATABASE_URL: postgresql://${DB_USERNAME:-postgres}:${DB_PASSWORD:-postgres}@${DB_HOST:-db}:${DB_PORT:-5432}/${DB_DATABASE:-openproject} + DATABASE_URL: postgresql://${DB_USERNAME:-postgres}:${DB_PASSWORD:-postgres}@${DB_HOST:-db}:${DB_PORT:-5432}/${DB_DATABASE:-openproject}?pool=100 OPENPROJECT_EDITION: ${OPENPROJECT_EDITION:-standard} OPENPROJECT_WEB_MAX__THREADS: 1 OPENPROJECT_WEB_MIN__THREADS: 1 diff --git a/docker/prod/entrypoint.sh b/docker/prod/entrypoint.sh index 0cc2e095162..d9697b635cd 100755 --- a/docker/prod/entrypoint.sh +++ b/docker/prod/entrypoint.sh @@ -49,17 +49,17 @@ if [ "$(id -u)" = '0' ]; then echo "-----> Setting PGVERSION=$PGVERSION PGBIN=$PGBIN PGCONF_FILE=$PGCONF_FILE" export PATH="$PGBIN:$PATH" - mkdir -p $APP_DATA_PATH/{files,git,svn} + mkdir -p "$APP_DATA_PATH"/{files,git,svn} # The $APP_DATA_PATH may be hosted on a NAS that creates snapshots (or a btrfs filesystem). In such a case, the .snapshot folder cannot be touched. - find $APP_DATA_PATH | grep -v .snapshot | xargs -n 1 chown $APP_USER:$APP_USER + find "$APP_DATA_PATH" -path '*/.snapshot*' -prune -o -exec chown "$APP_USER:$APP_USER" {} + if [ -d /etc/apache2/sites-enabled ]; then - chown -R $APP_USER:$APP_USER /etc/apache2/sites-enabled + chown -R "$APP_USER:$APP_USER" /etc/apache2/sites-enabled echo "OpenProject currently expects to be reached on the following domain: ${SERVER_NAME:=localhost}, which does not seem to be how your installation is configured." > /var/www/html/index.html echo "If you are an administrator, please ensure you have correctly set the SERVER_NAME variable when launching your container." >> /var/www/html/index.html fi # Clean up any dangling PID file - rm -f $APP_PATH/tmp/pids/* + rm -f "$APP_PATH"/tmp/pids/* # Clean up a dangling PID file of apache if [ -e "$APACHE_PIDFILE" ]; then diff --git a/extensions/op-blocknote-hocuspocus/package-lock.json b/extensions/op-blocknote-hocuspocus/package-lock.json index 7fc972ded74..396522626f3 100644 --- a/extensions/op-blocknote-hocuspocus/package-lock.json +++ b/extensions/op-blocknote-hocuspocus/package-lock.json @@ -18,7 +18,7 @@ "devDependencies": { "@blocknote/core": "^0.44.2", "@eslint/js": "^9.35.0", - "@eslint/json": "^0.14.0", + "@eslint/json": "^1.2.0", "@stylistic/eslint-plugin": "^5.3.1", "@types/node": "^25.0.2", "eslint": "^9.35.0", @@ -317,13 +317,12 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -334,13 +333,12 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -351,13 +349,12 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -368,13 +365,12 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -385,13 +381,12 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -402,13 +397,12 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -419,13 +413,12 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -436,13 +429,12 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -453,13 +445,12 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -470,13 +461,12 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -487,13 +477,12 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -504,13 +493,12 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -521,13 +509,12 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -538,13 +525,12 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -555,13 +541,12 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -572,13 +557,12 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -589,13 +573,12 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -606,13 +589,12 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -623,13 +605,12 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -640,13 +621,12 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -657,13 +637,12 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -674,13 +653,12 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -691,13 +669,12 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -708,13 +685,12 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -725,13 +701,12 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -742,13 +717,12 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -892,19 +866,46 @@ } }, "node_modules/@eslint/json": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@eslint/json/-/json-0.14.0.tgz", - "integrity": "sha512-rvR/EZtvUG3p9uqrSmcDJPYSH7atmWr0RnFWN6m917MAPx82+zQgPUmDu0whPFG6XTyM0vB/hR6c1Q63OaYtCQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@eslint/json/-/json-1.2.0.tgz", + "integrity": "sha512-CEFEyNgvzu8zn5QwVYDg3FaG+ZKUeUsNYitFpMYJAqoAlnw68EQgNbUfheSmexZr4n0wZPrAkPLuvsLaXO6wRw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0", - "@eslint/plugin-kit": "^0.4.1", + "@eslint/core": "^1.1.1", + "@eslint/plugin-kit": "^0.6.1", "@humanwhocodes/momoa": "^3.3.10", "natural-compare": "^1.4.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/json/node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/json/node_modules/@eslint/plugin-kit": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz", + "integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.1.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/object-schema": { @@ -3093,10 +3094,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "dev": true, + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -3106,32 +3106,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "node_modules/escalade": { @@ -6648,463 +6648,6 @@ "fsevents": "~2.3.3" } }, - "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz", - "integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-arm": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz", - "integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz", - "integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz", - "integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.1.tgz", - "integrity": "sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/darwin-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz", - "integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz", - "integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz", - "integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-arm": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz", - "integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz", - "integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-ia32": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz", - "integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-loong64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz", - "integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz", - "integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz", - "integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz", - "integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-s390x": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz", - "integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz", - "integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz", - "integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz", - "integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz", - "integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz", - "integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz", - "integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/sunos-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz", - "integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/win32-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz", - "integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/win32-ia32": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz", - "integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/win32-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz", - "integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/esbuild": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.1.tgz", - "integrity": "sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.1", - "@esbuild/android-arm": "0.27.1", - "@esbuild/android-arm64": "0.27.1", - "@esbuild/android-x64": "0.27.1", - "@esbuild/darwin-arm64": "0.27.1", - "@esbuild/darwin-x64": "0.27.1", - "@esbuild/freebsd-arm64": "0.27.1", - "@esbuild/freebsd-x64": "0.27.1", - "@esbuild/linux-arm": "0.27.1", - "@esbuild/linux-arm64": "0.27.1", - "@esbuild/linux-ia32": "0.27.1", - "@esbuild/linux-loong64": "0.27.1", - "@esbuild/linux-mips64el": "0.27.1", - "@esbuild/linux-ppc64": "0.27.1", - "@esbuild/linux-riscv64": "0.27.1", - "@esbuild/linux-s390x": "0.27.1", - "@esbuild/linux-x64": "0.27.1", - "@esbuild/netbsd-arm64": "0.27.1", - "@esbuild/netbsd-x64": "0.27.1", - "@esbuild/openbsd-arm64": "0.27.1", - "@esbuild/openbsd-x64": "0.27.1", - "@esbuild/openharmony-arm64": "0.27.1", - "@esbuild/sunos-x64": "0.27.1", - "@esbuild/win32-arm64": "0.27.1", - "@esbuild/win32-ia32": "0.27.1", - "@esbuild/win32-x64": "0.27.1" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -7458,13 +7001,13 @@ } }, "node_modules/vite": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", - "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.25.0", + "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", diff --git a/extensions/op-blocknote-hocuspocus/package.json b/extensions/op-blocknote-hocuspocus/package.json index 53c994eb0e5..eb6c394f33a 100644 --- a/extensions/op-blocknote-hocuspocus/package.json +++ b/extensions/op-blocknote-hocuspocus/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@blocknote/core": "^0.44.2", "@eslint/js": "^9.35.0", - "@eslint/json": "^0.14.0", + "@eslint/json": "^1.2.0", "@stylistic/eslint-plugin": "^5.3.1", "@types/node": "^25.0.2", "eslint": "^9.35.0", diff --git a/frontend/angular.json b/frontend/angular.json index ca103122a9e..b3d7664e71b 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -61,7 +61,8 @@ "src/vendor/jquery-ui-1.14.1/jquery-ui.css", "src/vendor/jquery-ui-1.14.1/jquery-ui.structure.css", "src/vendor/jquery-ui-1.14.1/jquery-ui.theme.css", - "node_modules/flatpickr/dist/flatpickr.min.css" + "node_modules/flatpickr/dist/flatpickr.min.css", + "src/vendor/ckeditor/ckeditor.css" ], "stylePreprocessorOptions": { "includePaths": [ diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 0d4a840144e..4318f06abc6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,18 +9,18 @@ "version": "0.1.0", "license": "GPLv3", "dependencies": { - "@angular/animations": "^21.1.6", - "@angular/cdk": "^21.1.6", - "@angular/cli": "^21.1.5", - "@angular/common": "^21.1.6", - "@angular/compiler": "^21.1.6", - "@angular/compiler-cli": "^21.1.6", - "@angular/core": "^21.2.4", - "@angular/elements": "^21.1.6", - "@angular/forms": "^21.1.6", - "@angular/platform-browser": "^21.1.6", - "@angular/platform-browser-dynamic": "^21.1.6", - "@angular/router": "^21.1.6", + "@angular/animations": "^21.2.10", + "@angular/cdk": "^21.2.8", + "@angular/cli": "^21.2.8", + "@angular/common": "^21.2.10", + "@angular/compiler": "^21.2.10", + "@angular/compiler-cli": "^21.2.10", + "@angular/core": "^21.2.10", + "@angular/elements": "^21.2.10", + "@angular/forms": "^21.2.10", + "@angular/platform-browser": "^21.2.10", + "@angular/platform-browser-dynamic": "^21.2.10", + "@angular/router": "^21.2.10", "@appsignal/javascript": "^1.6.1", "@appsignal/plugin-breadcrumbs-console": "^1.1.37", "@appsignal/plugin-breadcrumbs-network": "^1.1.24", @@ -48,7 +48,7 @@ "@hotwired/stimulus": "^3.2.2", "@hotwired/turbo": "^8.0.20", "@hotwired/turbo-rails": "^8.0.20", - "@knowledgecode/delegate": "^0.10.0", + "@knowledgecode/delegate": "^0.10.3", "@kolkov/ngx-gallery": "^2.0.1", "@mantine/core": "^8.3.13", "@mantine/hooks": "^8.3.6", @@ -68,7 +68,7 @@ "@stimulus-components/reveal": "^5.0.0", "@tiptap/extensions": "^3.20.0", "@uirouter/angular": "^17.0.0", - "@uirouter/core": "^6.1.0", + "@uirouter/core": "^6.1.2", "@uirouter/rx": "^1.0.0", "@w11k/ngx-componentdestroyed": "^5.0.2", "@xeokit/xeokit-bim-viewer": "2.7.1", @@ -94,7 +94,7 @@ "jquery.caret": "^0.3.1", "json5": "^2.2.2", "lit-html": "^3.3.2", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "luxon": "^3.7.2", "mark.js": "^8.11.0", "mdx-embed": "^1.1.2", @@ -103,7 +103,7 @@ "moment-timezone": "^0.6.0", "mousetrap": "~1.6.3", "ng-dynamic-component": "^10.7.0", - "ng2-charts": "^8.0.0", + "ng2-charts": "^10.0.0", "ng2-dragula": "^6.0.0", "ngx-cookie-service": "^21.1.0", "observable-array": "0.0.4", @@ -111,8 +111,8 @@ "openapi-explorer": "^2.4.788", "pako": "^2.0.3", "qr-creator": "^1.0.0", - "react": "^19.2.4", - "react-dom": "^19.2.4", + "react": "^19.2.5", + "react-dom": "^19.2.5", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.0", "screenfull": "^6.0.2", @@ -124,20 +124,20 @@ "turbo_power": "^0.7.1", "typedjson": "^1.5.1", "urijs": "^1.19.11", - "uuid": "^13.0.0" + "uuid": "^14.0.0" }, "devDependencies": { "@angular-builders/custom-esbuild": "^21.0.3", - "@angular-devkit/build-angular": "^21.1.5", + "@angular-devkit/build-angular": "^21.2.8", "@angular-eslint/builder": "20.7.0", "@angular-eslint/eslint-plugin": "20.7.0", "@angular-eslint/eslint-plugin-template": "20.7.0", "@angular-eslint/schematics": "20.7.0", "@angular-eslint/template-parser": "20.7.0", - "@angular/language-service": "21.1.6", + "@angular/language-service": "21.2.10", "@eslint/js": "^9.39.2", - "@html-eslint/eslint-plugin": "^0.58.1", - "@html-eslint/parser": "^0.58.1", + "@html-eslint/eslint-plugin": "^0.59.0", + "@html-eslint/parser": "^0.59.0", "@jsdevtools/coverage-istanbul-loader": "3.0.5", "@stylistic/eslint-plugin": "^5.7.1", "@types/codemirror": "5.60.5", @@ -190,195 +190,181 @@ } }, "node_modules/@algolia/abtesting": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.2.tgz", - "integrity": "sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==", - "license": "MIT", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.14.1.tgz", + "integrity": "sha512-Dkj0BgPiLAaim9sbQ97UKDFHJE/880wgStAM18U++NaJ/2Cws34J5731ovJifr6E3Pv4T2CqvMXf8qLCC417Ew==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-abtesting": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.2.tgz", - "integrity": "sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.48.1.tgz", + "integrity": "sha512-LV5qCJdj+/m9I+Aj91o+glYszrzd7CX6NgKaYdTOj4+tUYfbS62pwYgUfZprYNayhkQpVFcrW8x8ZlIHpS23Vw==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-analytics": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.46.2.tgz", - "integrity": "sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.48.1.tgz", + "integrity": "sha512-/AVoMqHhPm14CcHq7mwB+bUJbfCv+jrxlNvRjXAuO+TQa+V37N8k1b0ijaRBPdmSjULMd8KtJbQyUyabXOu6Kg==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-common": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.46.2.tgz", - "integrity": "sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.48.1.tgz", + "integrity": "sha512-VXO+qu2Ep6ota28ktvBm3sG53wUHS2n7bgLWmce5jTskdlCD0/JrV4tnBm1l7qpla1CeoQb8D7ShFhad+UoSOw==", "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-insights": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.46.2.tgz", - "integrity": "sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.48.1.tgz", + "integrity": "sha512-zl+Qyb0nLg+Y5YvKp1Ij+u9OaPaKg2/EPzTwKNiVyOHnQJlFxmXyUZL1EInczAZsEY8hVpPCLtNfhMhfxluXKQ==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-personalization": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.46.2.tgz", - "integrity": "sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.48.1.tgz", + "integrity": "sha512-r89Qf9Oo9mKWQXumRu/1LtvVJAmEDpn8mHZMc485pRfQUMAwSSrsnaw1tQ3sszqzEgAr1c7rw6fjBI+zrAXTOw==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-query-suggestions": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.46.2.tgz", - "integrity": "sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.48.1.tgz", + "integrity": "sha512-TPKNPKfghKG/bMSc7mQYD9HxHRUkBZA4q1PEmHgICaSeHQscGqL4wBrKkhfPlDV1uYBKW02pbFMUhsOt7p4ZpA==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-search": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.46.2.tgz", - "integrity": "sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", + "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/ingestion": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.46.2.tgz", - "integrity": "sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==", - "license": "MIT", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.48.1.tgz", + "integrity": "sha512-/RFq3TqtXDUUawwic/A9xylA2P3LDMO8dNhphHAUOU51b1ZLHrmZ6YYJm3df1APz7xLY1aht6okCQf+/vmrV9w==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/monitoring": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.46.2.tgz", - "integrity": "sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==", - "license": "MIT", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.48.1.tgz", + "integrity": "sha512-Of0jTeAZRyRhC7XzDSjJef0aBkgRcvRAaw0ooYRlOw57APii7lZdq+layuNdeL72BRq1snaJhoMMwkmLIpJScw==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/recommend": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.46.2.tgz", - "integrity": "sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.48.1.tgz", + "integrity": "sha512-bE7JcpFXzxF5zHwj/vkl2eiCBvyR1zQ7aoUdO+GDXxGp0DGw7nI0p8Xj6u8VmRQ+RDuPcICFQcCwRIJT5tDJFw==", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.46.2.tgz", - "integrity": "sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.48.1.tgz", + "integrity": "sha512-MK3wZ2koLDnvH/AmqIF1EKbJlhRS5j74OZGkLpxI4rYvNi9Jn/C7vb5DytBnQ4KUWts7QsmbdwHkxY5txQHXVw==", "dependencies": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-fetch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.46.2.tgz", - "integrity": "sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.48.1.tgz", + "integrity": "sha512-2oDT43Y5HWRSIQMPQI4tA/W+TN/N2tjggZCUsqQV440kxzzoPGsvv9QP1GhQ4CoDa+yn6ygUsGp6Dr+a9sPPSg==", "dependencies": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-node-http": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.46.2.tgz", - "integrity": "sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.48.1.tgz", + "integrity": "sha512-xcaCqbhupVWhuBP1nwbk1XNvwrGljozutEiLx06mvqDf3o8cHyEgQSHS4fKJM+UAggaWVnnFW+Nne5aQ8SUJXg==", "dependencies": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" }, "engines": { "node": ">= 14.0.0" @@ -646,63 +632,63 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-21.1.5.tgz", - "integrity": "sha512-B2jOBAiVl+hA3PLwpxfrbW/gA7SDu9Uv+hQwHYrdwL2XXDVwaQ+c3z9BS3yJDQTkb/TrAJ0sfa2zVLC4b/rHzg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-21.2.8.tgz", + "integrity": "sha512-NvTsu4+aDxj/mObw/tlFH7iyiDlFA7uVmk5jdicaV7TeY8QbMA0ona1mlSqehhyE0dgrROeYV6rXeJ4BcX7waw==", "dev": true, "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2101.5", - "@angular-devkit/build-webpack": "0.2101.5", - "@angular-devkit/core": "21.1.5", - "@angular/build": "21.1.5", - "@babel/core": "7.28.5", - "@babel/generator": "7.28.5", + "@angular-devkit/architect": "0.2102.8", + "@angular-devkit/build-webpack": "0.2102.8", + "@angular-devkit/core": "21.2.8", + "@angular/build": "21.2.8", + "@babel/core": "7.29.0", + "@babel/generator": "7.29.1", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.28.0", - "@babel/plugin-transform-async-to-generator": "7.27.1", - "@babel/plugin-transform-runtime": "7.28.5", - "@babel/preset-env": "7.28.5", - "@babel/runtime": "7.28.4", + "@babel/plugin-transform-async-generator-functions": "7.29.0", + "@babel/plugin-transform-async-to-generator": "7.28.6", + "@babel/plugin-transform-runtime": "7.29.0", + "@babel/preset-env": "7.29.2", + "@babel/runtime": "7.29.2", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "21.1.5", + "@ngtools/webpack": "21.2.8", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.23", + "autoprefixer": "10.4.27", "babel-loader": "10.0.0", "browserslist": "^4.26.0", - "copy-webpack-plugin": "13.0.1", - "css-loader": "7.1.2", - "esbuild-wasm": "0.27.2", + "copy-webpack-plugin": "14.0.0", + "css-loader": "7.1.3", + "esbuild-wasm": "0.27.3", "http-proxy-middleware": "3.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", "less": "4.4.2", - "less-loader": "12.3.0", + "less-loader": "12.3.1", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.9.4", + "mini-css-extract-plugin": "2.10.0", "open": "11.0.0", - "ora": "9.0.0", - "picomatch": "4.0.3", + "ora": "9.3.0", + "picomatch": "4.0.4", "piscina": "5.1.4", "postcss": "8.5.6", "postcss-loader": "8.2.0", "resolve-url-loader": "5.0.0", "rxjs": "7.8.2", - "sass": "1.97.1", - "sass-loader": "16.0.6", - "semver": "7.7.3", + "sass": "1.97.3", + "sass-loader": "16.0.7", + "semver": "7.7.4", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.44.1", + "terser": "5.46.0", "tinyglobby": "0.2.15", "tree-kill": "1.2.2", "tslib": "2.8.1", - "webpack": "5.105.0", + "webpack": "5.105.2", "webpack-dev-middleware": "7.4.5", - "webpack-dev-server": "5.2.2", + "webpack-dev-server": "5.2.3", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, @@ -712,7 +698,7 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.27.2" + "esbuild": "0.27.3" }, "peerDependencies": { "@angular/compiler-cli": "^21.0.0", @@ -721,7 +707,7 @@ "@angular/platform-browser": "^21.0.0", "@angular/platform-server": "^21.0.0", "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.1.5", + "@angular/ssr": "^21.2.8", "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", "jest": "^30.2.0", @@ -778,12 +764,12 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" }, "bin": { @@ -796,15 +782,15 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dev": true, "dependencies": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" }, @@ -869,7 +855,6 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -877,48 +862,11 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@angular-devkit/build-angular/node_modules/autoprefixer": { - "version": "10.4.23", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", - "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001760", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/chalk": { "version": "5.6.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -931,7 +879,6 @@ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz", "integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.20" }, @@ -976,7 +923,6 @@ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz", "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==", "dev": true, - "license": "MIT", "dependencies": { "is-unicode-supported": "^2.0.0", "yoctocolors": "^2.1.1" @@ -1010,11 +956,10 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^5.6.2", "cli-cursor": "^5.0.0", @@ -1022,9 +967,8 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" }, "engines": { "node": ">=20" @@ -1034,9 +978,9 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "engines": { "node": ">=12" @@ -1045,15 +989,38 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@angular-devkit/build-angular/node_modules/string-width": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", - "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/string-width": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "dev": true, - "license": "MIT", "dependencies": { - "get-east-asian-width": "^1.3.0", - "strip-ansi": "^7.1.0" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, "engines": { "node": ">=20" @@ -1063,13 +1030,12 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -1096,12 +1062,12 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2101.5.tgz", - "integrity": "sha512-G3mvUXiSU3DL1QKngq/yXT94Wr+IdqtOM/1VC3NmsV9KX3OSfwfc560dmhY1efqc9gBA5qL+7kLlgV7Kx/Su3A==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2102.8.tgz", + "integrity": "sha512-XBSfx302hMcnF7ABxObIInusYr8S0R9vqORKe48/bKhI5J15gyGXrlRvjXEPCY3s3w3ysLKcw5POBo5zEmmuGQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.2101.5", + "@angular-devkit/architect": "0.2102.8", "rxjs": "7.8.2" }, "engines": { @@ -1115,12 +1081,12 @@ } }, "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" }, "bin": { @@ -1133,15 +1099,15 @@ } }, "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dev": true, "dependencies": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" }, @@ -1193,9 +1159,9 @@ } }, "node_modules/@angular-devkit/build-webpack/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "engines": { "node": ">=12" @@ -1439,9 +1405,9 @@ "license": "MIT" }, "node_modules/@angular/animations": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.1.6.tgz", - "integrity": "sha512-Ft8B0tHBRyd7ORpbaa2S0yRqHSdsyMH6oot7ODAA3kv03k4GTwp74U6Y/NyV4JoZ+lr28+EV4YMv3mAqJwIy/g==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.10.tgz", + "integrity": "sha512-sIzAcxwtRCJ/fu0tK4mo1ooiEaDxJ+Nl6s9nK1D1NP1em12VX03Jx8CMixp/kVtgh4mZnm1x6psBB0FUz3U3Ug==", "dependencies": { "tslib": "^2.3.0" }, @@ -1449,25 +1415,25 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.1.6" + "@angular/core": "21.2.10" } }, "node_modules/@angular/build": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.5.tgz", - "integrity": "sha512-v2eDinWKlSKuk5pyMMY8j5TMFW8HA9B1l13TrDDpxsRGAAzekg7TFNyuh1x9Y6Rq4Vn+8/8pCjMUPZigzWbMhQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.8.tgz", + "integrity": "sha512-t0PHT7ONDMLwcjC9GaClNF+gsUKN78ofBikw4huiu6np5Rwmxp8KKCrdoRx20lOiibSolXgjZ2Ny0xxjNdNdQA==", "dev": true, "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2101.5", - "@babel/core": "7.28.5", + "@angular-devkit/architect": "0.2102.8", + "@babel/core": "7.29.0", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", "@inquirer/confirm": "5.1.21", - "@vitejs/plugin-basic-ssl": "2.1.0", - "beasties": "0.3.5", + "@vitejs/plugin-basic-ssl": "2.1.4", + "beasties": "0.4.1", "browserslist": "^4.26.0", - "esbuild": "0.27.2", + "esbuild": "0.27.3", "https-proxy-agent": "7.0.6", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", @@ -1475,16 +1441,16 @@ "magic-string": "0.30.21", "mrmime": "2.0.1", "parse5-html-rewriting-stream": "8.0.0", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "piscina": "5.1.4", - "rolldown": "1.0.0-beta.58", - "sass": "1.97.1", - "semver": "7.7.3", + "rolldown": "1.0.0-rc.4", + "sass": "1.97.3", + "semver": "7.7.4", "source-map-support": "0.5.21", "tinyglobby": "0.2.15", - "undici": "7.20.0", - "vite": "7.3.0", - "watchpack": "2.5.0" + "undici": "7.24.4", + "vite": "7.3.2", + "watchpack": "2.5.1" }, "engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0", @@ -1492,7 +1458,7 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "lmdb": "3.4.4" + "lmdb": "3.5.1" }, "peerDependencies": { "@angular/compiler": "^21.0.0", @@ -1502,7 +1468,7 @@ "@angular/platform-browser": "^21.0.0", "@angular/platform-server": "^21.0.0", "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.1.5", + "@angular/ssr": "^21.2.8", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^21.0.0", @@ -1552,12 +1518,12 @@ } }, "node_modules/@angular/build/node_modules/@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" }, "bin": { @@ -1570,15 +1536,15 @@ } }, "node_modules/@angular/build/node_modules/@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dev": true, "dependencies": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" }, @@ -1657,9 +1623,9 @@ } }, "node_modules/@angular/build/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "engines": { "node": ">=12" @@ -1668,10 +1634,22 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@angular/build/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@angular/cdk": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.1.6.tgz", - "integrity": "sha512-a6isY8eWxfRO99KPs8GLMQRDE06diNbPmD9tcYi+EWxjPFOZ88QJmMN8a0yja+LDQaG2kRbNBLjYUEro3qCpTQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.8.tgz", + "integrity": "sha512-WdvMLpuFcRgDWLDyin3sw5a65PQYdI0Y+4BxiMxOkesoZ2RZTBAlLKIfQ9Nz5CY3LamUTO3Qel2T8ZhJ+Cqfuw==", "dependencies": { "parse5": "^8.0.0", "tslib": "^2.3.0" @@ -1708,29 +1686,28 @@ } }, "node_modules/@angular/cli": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.5.tgz", - "integrity": "sha512-ljqvAzSk8FKMaYW/aZhR+SXjudbQViYYkMlJvJUClGpokjDM9KfJWPX+QZfr2J+piW5yaaHmFaIMddO9QxkUDQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.8.tgz", + "integrity": "sha512-Y+/US12o+7X2774oeKPsEfHeeYM2SxwnyoXfcaLR8vrMn0zxUrhHebmlz9h83th4EJEuex1Qk0JtF7j5vcwrqQ==", "dependencies": { - "@angular-devkit/architect": "0.2101.5", - "@angular-devkit/core": "21.1.5", - "@angular-devkit/schematics": "21.1.5", + "@angular-devkit/architect": "0.2102.8", + "@angular-devkit/core": "21.2.8", + "@angular-devkit/schematics": "21.2.8", "@inquirer/prompts": "7.10.1", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.1.5", + "@schematics/angular": "21.2.8", "@yarnpkg/lockfile": "1.1.0", - "algoliasearch": "5.46.2", + "algoliasearch": "5.48.1", "ini": "6.0.0", "jsonc-parser": "3.3.1", "listr2": "9.0.5", "npm-package-arg": "13.0.2", - "pacote": "21.0.4", + "pacote": "21.3.1", "parse5-html-rewriting-stream": "8.0.0", - "resolve": "1.22.11", - "semver": "7.7.3", + "semver": "7.7.4", "yargs": "18.0.0", - "zod": "4.3.5" + "zod": "4.3.6" }, "bin": { "ng": "bin/ng.js" @@ -1742,11 +1719,11 @@ } }, "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dependencies": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" }, "bin": { @@ -1759,14 +1736,14 @@ } }, "node_modules/@angular/cli/node_modules/@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dependencies": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" }, @@ -1785,14 +1762,14 @@ } }, "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.5.tgz", - "integrity": "sha512-CGmoorQL5+mVCJEHwHWOrhSd1hFxB3h66i9wUDizJAEQUM3mSml5SiglHArpWY/G4GmFwi6XVe+Jm3U8J/mcFg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.8.tgz", + "integrity": "sha512-UTEMM1JXzzxufLsTGDsWth2E7+8e9PaFT7nbjUvJ2qevltACkiqAbHEpiD2ISzrSRIO3OirJ+cZtnzXO0FyoBQ==", "dependencies": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", - "ora": "9.0.0", + "ora": "9.3.0", "rxjs": "7.8.2" }, "engines": { @@ -1922,9 +1899,9 @@ } }, "node_modules/@angular/cli/node_modules/ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "dependencies": { "chalk": "^5.6.2", "cli-cursor": "^5.0.0", @@ -1932,9 +1909,8 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" }, "engines": { "node": ">=20" @@ -1944,9 +1920,9 @@ } }, "node_modules/@angular/cli/node_modules/ora/node_modules/string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "dependencies": { "get-east-asian-width": "^1.5.0", "strip-ansi": "^7.1.2" @@ -1959,9 +1935,9 @@ } }, "node_modules/@angular/cli/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "engines": { "node": ">=12" }, @@ -1969,6 +1945,28 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@angular/cli/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/cli/node_modules/stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@angular/cli/node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -2045,9 +2043,9 @@ } }, "node_modules/@angular/common": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.6.tgz", - "integrity": "sha512-qEfwyJhebl2tHwFhKHE/ZzsCLMWnQ0u/UDS23KUA4tTWaOKH8Usu7DS1B3KnUravII8R6ZpYn86L+B903v9WxA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.10.tgz", + "integrity": "sha512-WLyi/CRLtgALg2mmaqIuKuPnE4i+8PGt/uuz26pVqx+ASh28/TWr5KSCAMomgxEc8kt4OE7lopoQsTihrQCfEw==", "dependencies": { "tslib": "^2.3.0" }, @@ -2055,14 +2053,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.1.6", + "@angular/core": "21.2.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.6.tgz", - "integrity": "sha512-8RFdfbWTyx+OiRkiK2LsYPuhv8b65S3x/4+98kZRCrzP6YNjq/qsuqpfMUIKwnjok78FfhGyEx4I5LOV3Vkabw==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.10.tgz", + "integrity": "sha512-IrgdFuzzD7NTK3WQaSfowjAPxPbnTqsgR92NsOs5ZaWu3RgLl21dHThNc0BK1KwVwppLUSWmD4qePbcLW71VzQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -2071,11 +2069,11 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.6.tgz", - "integrity": "sha512-0JU2cBDMSB4hU4KwDS2ThrkGh+Njf8Yfm11CKR0NWbHGwW1xHa7whlcpUzX/USqL+FNGXQ75R0fOcZrT86YvrA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.10.tgz", + "integrity": "sha512-FDcnj3ogRmnTca4m2GbKP2khFOCtoVvWDZyfw2ZCPAf+zsQlKTyscKvx4GpTFo+KHrYXpawUpDIWHORFpuqFEA==", "dependencies": { - "@babel/core": "7.28.5", + "@babel/core": "7.29.0", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^5.0.0", "convert-source-map": "^1.5.1", @@ -2092,8 +2090,8 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.1.6", - "typescript": ">=5.9 <6.0" + "@angular/compiler": "21.2.10", + "typescript": ">=5.9 <6.1" }, "peerDependenciesMeta": { "typescript": { @@ -2249,9 +2247,9 @@ } }, "node_modules/@angular/core": { - "version": "21.2.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.4.tgz", - "integrity": "sha512-2+gd67ZuXHpGOqeb2o7XZPueEWEP81eJza2tSHkT5QMV8lnYllDEmaNnkPxnIjSLGP1O3PmiXxo4z8ibHkLZwg==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.10.tgz", + "integrity": "sha512-uxH+mbPiCE7rInWKYOPe9Ytas97+mFM6FhFORoN234yBK3b8he+iDuxX6dsbhEFCxhRmfS6hLxe7BdLY6U6kIA==", "dependencies": { "tslib": "^2.3.0" }, @@ -2259,7 +2257,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.2.4", + "@angular/compiler": "21.2.10", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0 || ~0.16.0" }, @@ -2273,9 +2271,9 @@ } }, "node_modules/@angular/elements": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-21.1.6.tgz", - "integrity": "sha512-LvF0kgh1XxLlXyw5CS5C787HYFAIGVHAg9HNgGZKINeu16Og7KCnsVszAyWiVn1t3trcLARcScYgrOcuwBYzIg==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-21.2.10.tgz", + "integrity": "sha512-2Bo41w9sg/1gUtA+b1lEMnuby/llpVt2MfJeuCE4/hbaseXYZfMFRS71ro9DhmNyzG8GHAS9sToCkrfrhB/99g==", "dependencies": { "tslib": "^2.3.0" }, @@ -2283,14 +2281,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.1.6", + "@angular/core": "21.2.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/forms": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.6.tgz", - "integrity": "sha512-Bw3nVDWihGUGyys7oq2zdJ2MjvJvU1x1WaExYmp3rKU3S7rQXGq6IxY8bopTtHirTANrY2KUEnJ2IlK+xVg9OA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.10.tgz", + "integrity": "sha512-XOo9qkuBqCLzSBXmyga9ke2tSulxWl+E7Y9Uwqgz8sJtQUlyP/0GYJfu60jiC3NAYobk9K/6h6MsU8zftQKdaA==", "dependencies": { "@standard-schema/spec": "^1.0.0", "tslib": "^2.3.0" @@ -2299,25 +2297,25 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.6", - "@angular/core": "21.1.6", - "@angular/platform-browser": "21.1.6", + "@angular/common": "21.2.10", + "@angular/core": "21.2.10", + "@angular/platform-browser": "21.2.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.1.6.tgz", - "integrity": "sha512-I2gYI9cKP/B/rUz8WVaWNpuULSdq4W+ZUm6YQyUXdGEh3dDEssK1xLucPBfUT7RAr6h7+w5/RS+zKWC1q9g24w==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.2.10.tgz", + "integrity": "sha512-9f5XgigqdscuCmUZ2WAbuCKgOZfq6dennEOsvqjfposnaU90Y01cD9O75xKf4ONEANOfTwVcQCqGZeZ6Cnpdvw==", "dev": true, "engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.6.tgz", - "integrity": "sha512-im6aNcgYdIYIVW2262ATkC39WUmhc+KVNVKwKtO5jlOsq9TWmxT1/esncEAlokMe5os6eeb/Ga4D6Ghj0gj4Ig==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.10.tgz", + "integrity": "sha512-5WMoHGU8BOV3eO9h3vGMIUDPf+3SHis7+X2dHKMtKfFBUtiO8m/lq2x3PzkkKj1782i7KYt92EqPHuADd/eWOw==", "dependencies": { "tslib": "^2.3.0" }, @@ -2325,9 +2323,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.1.6", - "@angular/common": "21.1.6", - "@angular/core": "21.1.6" + "@angular/animations": "21.2.10", + "@angular/common": "21.2.10", + "@angular/core": "21.2.10" }, "peerDependenciesMeta": { "@angular/animations": { @@ -2336,9 +2334,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.1.6.tgz", - "integrity": "sha512-lVtHkhK/jnrGdX+4S8ItfMO+5buHAU9NMHeDq+QqalnXznMaC7Qd4BPLcRWW4QAI177zG0NE1Bet5cjO75N9+w==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.10.tgz", + "integrity": "sha512-+/HMJSLnF87EODkHj0AKE3Q8AfYO/8jpTfr731QmplqBtCoLlA/1XR8aYow2hB9YKL9HZWDb2qGkRtCXhrtt+w==", "dependencies": { "tslib": "^2.3.0" }, @@ -2346,16 +2344,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.6", - "@angular/compiler": "21.1.6", - "@angular/core": "21.1.6", - "@angular/platform-browser": "21.1.6" + "@angular/common": "21.2.10", + "@angular/compiler": "21.2.10", + "@angular/core": "21.2.10", + "@angular/platform-browser": "21.2.10" } }, "node_modules/@angular/router": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.6.tgz", - "integrity": "sha512-JJn0gfeRks2czbeLmtxxjIlmKtOmjYi3yAaoAwiwpbfVHPLJeJ32axLJREAU0dBkThF8YD+r18uEJ9UrvkqrtA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.10.tgz", + "integrity": "sha512-4cHHwewIhFEAAaRgJ80371EOtNlydFHbjj/UENLZitjU0azal0mfFCBdkaEdVehd7+mH5xO7MRjy6eFTcTYR5Q==", "dependencies": { "tslib": "^2.3.0" }, @@ -2363,9 +2361,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.6", - "@angular/core": "21.1.6", - "@angular/platform-browser": "21.1.6", + "@angular/common": "21.2.10", + "@angular/core": "21.2.10", + "@angular/platform-browser": "21.2.10", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -2419,10 +2417,9 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", - "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", - "license": "MIT", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", @@ -2433,29 +2430,27 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", - "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", - "license": "MIT", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", - "license": "MIT", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -2485,13 +2480,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", - "license": "MIT", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -2542,7 +2536,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-member-expression-to-functions": "^7.28.5", @@ -2564,7 +2557,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -2574,7 +2566,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "regexpu-core": "^6.3.1", @@ -2592,23 +2583,21 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", - "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "debug": "^4.4.1", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", "lodash.debounce": "^4.0.8", - "resolve": "^1.22.10" + "resolve": "^1.22.11" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -2619,7 +2608,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -2646,7 +2634,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5" @@ -2690,7 +2677,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.27.1" }, @@ -2703,7 +2689,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -2713,7 +2698,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-wrap-function": "^7.27.1", @@ -2731,7 +2715,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", @@ -2749,7 +2732,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" @@ -2803,7 +2785,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", "@babel/traverse": "^7.28.6", @@ -2827,12 +2808,11 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", - "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", - "license": "MIT", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dependencies": { - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -2846,7 +2826,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.28.5" @@ -2863,7 +2842,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -2879,7 +2857,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -2895,7 +2872,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", @@ -2913,7 +2889,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6", "@babel/traverse": "^7.28.6" @@ -2930,7 +2905,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -2943,7 +2917,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -2959,7 +2932,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -2975,7 +2947,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -2992,7 +2963,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3004,15 +2974,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", - "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.28.0" + "@babel/traverse": "^7.29.0" }, "engines": { "node": ">=6.9.0" @@ -3022,14 +2991,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", - "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { @@ -3044,7 +3012,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3060,7 +3027,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3076,7 +3042,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" @@ -3093,7 +3058,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" @@ -3110,7 +3074,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-compilation-targets": "^7.28.6", @@ -3131,7 +3094,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6", "@babel/template": "^7.28.6" @@ -3148,7 +3110,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.28.5" @@ -3165,7 +3126,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" @@ -3182,7 +3142,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3194,11 +3153,10 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.28.6.tgz", - "integrity": "sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" @@ -3215,7 +3173,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3231,7 +3188,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6", "@babel/plugin-transform-destructuring": "^7.28.5" @@ -3248,7 +3204,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3264,7 +3219,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3280,7 +3234,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" @@ -3297,7 +3250,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", @@ -3315,7 +3267,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3331,7 +3282,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3347,7 +3297,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3363,7 +3312,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3379,7 +3327,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" @@ -3396,7 +3343,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" @@ -3409,16 +3355,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", - "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.5" + "@babel/traverse": "^7.29.0" }, "engines": { "node": ">=6.9.0" @@ -3432,7 +3377,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" @@ -3445,14 +3389,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -3466,7 +3409,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3482,7 +3424,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3498,7 +3439,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3514,7 +3454,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", @@ -3534,7 +3473,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1" @@ -3551,7 +3489,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3567,7 +3504,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" @@ -3584,7 +3520,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3600,7 +3535,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" @@ -3617,7 +3551,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-create-class-features-plugin": "^7.28.6", @@ -3635,7 +3568,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3647,11 +3579,10 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.6.tgz", - "integrity": "sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -3667,7 +3598,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" @@ -3684,7 +3614,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3696,14 +3625,13 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz", - "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "babel-plugin-polyfill-corejs2": "^0.4.14", "babel-plugin-polyfill-corejs3": "^0.13.0", "babel-plugin-polyfill-regenerator": "^0.6.5", @@ -3721,7 +3649,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -3731,7 +3658,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3747,7 +3673,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" @@ -3764,7 +3689,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3780,7 +3704,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3796,7 +3719,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3812,7 +3734,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -3828,7 +3749,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" @@ -3845,7 +3765,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" @@ -3862,7 +3781,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" @@ -3875,81 +3793,80 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", - "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", + "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.28.0", - "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.5", - "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.28.3", - "@babel/plugin-transform-classes": "^7.28.4", - "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.28.6", "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", "@babel/plugin-transform-member-expression-literals": "^7.27.1", "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-modules-systemjs": "^7.28.5", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", - "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.27.1", - "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.28.4", - "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", "@babel/plugin-transform-sticky-regex": "^7.27.1", "@babel/plugin-transform-template-literals": "^7.27.1", "@babel/plugin-transform-typeof-symbol": "^7.27.1", "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "core-js-compat": "^3.43.0", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", "semver": "^6.3.1" }, "engines": { @@ -3959,12 +3876,24 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.8", + "core-js-compat": "^3.48.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -3974,7 +3903,6 @@ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -3985,10 +3913,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", - "license": "MIT", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "engines": { "node": ">=6.9.0" } @@ -4020,44 +3947,26 @@ } }, "node_modules/@babel/traverse": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", - "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", - "license": "MIT", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.6", + "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", - "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/types": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", - "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", - "license": "MIT", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" @@ -4228,40 +4137,6 @@ "tslib": "2.4.1" } }, - "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@emoji-mart/data": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emoji-mart/data/-/data-1.2.1.tgz", @@ -4290,14 +4165,13 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", - "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", "cpu": [ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -4307,14 +4181,13 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", - "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -4324,14 +4197,13 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", - "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -4341,14 +4213,13 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", - "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -4358,14 +4229,13 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", - "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -4375,14 +4245,13 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", - "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -4392,14 +4261,13 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", - "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -4409,14 +4277,13 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", - "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -4426,14 +4293,13 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", - "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4443,14 +4309,13 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", - "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4460,14 +4325,13 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", - "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4477,14 +4341,13 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", - "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", "cpu": [ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4494,14 +4357,13 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", - "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", "cpu": [ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4511,14 +4373,13 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", - "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", "cpu": [ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4528,14 +4389,13 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", - "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", "cpu": [ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4545,14 +4405,13 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", - "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", "cpu": [ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4562,14 +4421,13 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", - "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4579,14 +4437,13 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", - "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -4596,14 +4453,13 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", - "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -4613,14 +4469,13 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", - "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -4630,14 +4485,13 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", - "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -4647,14 +4501,13 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", - "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openharmony" @@ -4664,14 +4517,13 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", - "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -4681,14 +4533,13 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", - "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -4698,14 +4549,13 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", - "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -4715,14 +4565,13 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", - "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -5139,6 +4988,14 @@ "@fullcalendar/core": "~6.1.20" } }, + "node_modules/@gar/promise-retry": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/@github/auto-check-element": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@github/auto-check-element/-/auto-check-element-6.0.0.tgz", @@ -5230,6 +5087,13 @@ "prosemirror-view": "^1.0.0" } }, + "node_modules/@harperfast/extended-iterable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@harperfast/extended-iterable/-/extended-iterable-1.0.3.tgz", + "integrity": "sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==", + "dev": true, + "optional": true + }, "node_modules/@hocuspocus/common": { "version": "3.4.4", "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-3.4.4.tgz", @@ -5287,12 +5151,12 @@ } }, "node_modules/@html-eslint/core": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/core/-/core-0.58.1.tgz", - "integrity": "sha512-GHYDt2Q3ws9aa0/bmMhkv21ExQJnrjKY/iByjdBVp3lBq49wlzIzvAfcx4Bsp+RMV3oPZhzlnLhPpXLuVYt2mQ==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/core/-/core-0.59.0.tgz", + "integrity": "sha512-/s5W9Iivmf2RXVzQlFboXQRqK62JQdKvcIdFMP5K1kxbVEJxha/VUo1Rafn1GKgLQsP5QIbUjoZbzGlN7fVxog==", "dev": true, "dependencies": { - "@html-eslint/types": "^0.58.1", + "@html-eslint/types": "^0.59.0", "html-standard": "^0.0.13" }, "engines": { @@ -5300,17 +5164,17 @@ } }, "node_modules/@html-eslint/eslint-plugin": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.58.1.tgz", - "integrity": "sha512-aizTTKbNF2sW+lXWP+uWBoo5Ud9xtUkr70+0pYhItwJF0yhRqLQ91PhW+9afC0daymQjn13MunzDPwGPG0seDg==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.59.0.tgz", + "integrity": "sha512-RMABPGdTkBtDIqexNBzxB3d4S1C+3PvxC8bLV2/U6tTmrRj8oNOqJ7Bwwtt35HJEQclfZvL0y3XZk+/E/MhNsQ==", "dev": true, "dependencies": { "@eslint/plugin-kit": "^0.4.1", - "@html-eslint/core": "^0.58.1", - "@html-eslint/parser": "^0.58.1", - "@html-eslint/template-parser": "^0.58.1", - "@html-eslint/template-syntax-parser": "^0.58.1", - "@html-eslint/types": "^0.58.1", + "@html-eslint/core": "^0.59.0", + "@html-eslint/parser": "^0.59.0", + "@html-eslint/template-parser": "^0.59.0", + "@html-eslint/template-syntax-parser": "^0.59.0", + "@html-eslint/types": "^0.59.0", "@rviscomi/capo.js": "^2.1.0", "html-standard": "^0.0.13" }, @@ -5322,40 +5186,40 @@ } }, "node_modules/@html-eslint/parser": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.58.1.tgz", - "integrity": "sha512-a87peH9HcVDrKZZIYdfMlPZ+72nIktAitKcdoHQevuaXWsgvDtClKihJyy5dZS9md6hIbCh62Og5gQRhl85ZMg==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.59.0.tgz", + "integrity": "sha512-dsUdpOkFrq0HmPyy8kuw2uN98LIzEepdI/Xj6QimgPQ4GOmjDRocuOCcuBI1K+F9O+NYXdaKMtZ3SzI1V/jB4g==", "dev": true, "dependencies": { - "@html-eslint/template-syntax-parser": "^0.58.1", - "@html-eslint/types": "^0.58.1", + "@html-eslint/template-syntax-parser": "^0.59.0", + "@html-eslint/types": "^0.59.0", "css-tree": "^3.1.0", "es-html-parser": "0.3.1" } }, "node_modules/@html-eslint/template-parser": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.58.1.tgz", - "integrity": "sha512-qo6jTc4Y6vVgwPc2w+EQigH7uCAn+LExxE5oG1URRT98UiJ7dItX0Qk44r/+5XQwSS1TsdvBNLxM2NAktETSWA==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.59.0.tgz", + "integrity": "sha512-3MN4uizEeSVP2l6jgy5COAH6V3PnnJUcaq2jU6elbB4EP+zBfh6KOG2yk9DmnjfNTL2SgXOlk3WkEY3LXDluqQ==", "dev": true, "dependencies": { - "@html-eslint/types": "^0.58.1", + "@html-eslint/types": "^0.59.0", "es-html-parser": "0.3.1" } }, "node_modules/@html-eslint/template-syntax-parser": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.58.1.tgz", - "integrity": "sha512-P1ZhxIPm9qFWSees2/EZ7Etg1OXziqzRZEuI9goO91fJS6dmdT4JnHLugN06FLL706RwpvenBUlE0iZA9/MXdg==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.59.0.tgz", + "integrity": "sha512-CMPPLP0EcgoJyU3k6girTPtxuXssHTh3/eFO8S2LagnBCXtJfMu5F3IahXamwMCMVbzaCDzIhg1doXL5Rw7vUQ==", "dev": true, "dependencies": { - "@html-eslint/types": "^0.58.1" + "@html-eslint/types": "^0.59.0" } }, "node_modules/@html-eslint/types": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/types/-/types-0.58.1.tgz", - "integrity": "sha512-1F2A5XXpgfHQ8dm14E/EztyERoVldT91VGMZCJECZpidf5Cbc21vxeHLT6/POTJm0ICJOmyBlocF62i/rkoVEQ==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/types/-/types-0.59.0.tgz", + "integrity": "sha512-YwNaTUQW5ObFFUohbGe1X0az2biDOH/6e6GR9VympbFUObUoWlXasGqRRMKi7IbxGPOZ8ucZK89ZWeAFm56Pwg==", "dev": true, "dependencies": { "@types/css-tree": "^2.3.11", @@ -5795,7 +5659,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "license": "ISC", "dependencies": { "minipass": "^7.0.4" }, @@ -5903,7 +5766,6 @@ "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -5916,11 +5778,10 @@ } }, "node_modules/@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", + "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -5937,7 +5798,269 @@ "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", "dev": true, - "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-core": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.57.2.tgz", + "integrity": "sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ==", + "dev": true, + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-fsa": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.2.tgz", + "integrity": "sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g==", + "dev": true, + "dependencies": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.57.2.tgz", + "integrity": "sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg==", + "dev": true, + "dependencies": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", + "glob-to-regex.js": "^1.0.0", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-builtins": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.2.tgz", + "integrity": "sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-to-fsa": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.2.tgz", + "integrity": "sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ==", + "dev": true, + "dependencies": { + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-utils": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.2.tgz", + "integrity": "sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ==", + "dev": true, + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.57.2" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-print": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.57.2.tgz", + "integrity": "sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ==", + "dev": true, + "dependencies": { + "@jsonjoy.com/fs-node-utils": "4.57.2", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.2.tgz", + "integrity": "sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw==", + "dev": true, + "dependencies": { + "@jsonjoy.com/buffers": "^17.65.0", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/json-pack": "^17.65.0", + "@jsonjoy.com/util": "^17.65.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.67.0.tgz", + "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", + "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", + "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", + "dev": true, + "dependencies": { + "@jsonjoy.com/base64": "17.67.0", + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0", + "@jsonjoy.com/json-pointer": "17.67.0", + "@jsonjoy.com/util": "17.67.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", + "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", + "dev": true, + "dependencies": { + "@jsonjoy.com/util": "17.67.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.67.0.tgz", + "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", + "dev": true, + "dependencies": { + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0" + }, "engines": { "node": ">=10.0" }, @@ -5954,7 +6077,6 @@ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/base64": "^1.1.2", "@jsonjoy.com/buffers": "^1.2.0", @@ -5976,12 +6098,27 @@ "tslib": "2" } }, + "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@jsonjoy.com/json-pointer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/codegen": "^1.0.0", "@jsonjoy.com/util": "^1.9.0" @@ -6002,7 +6139,6 @@ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/buffers": "^1.0.0", "@jsonjoy.com/codegen": "^1.0.0" @@ -6018,11 +6154,26 @@ "tslib": "2" } }, + "node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@knowledgecode/delegate": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@knowledgecode/delegate/-/delegate-0.10.0.tgz", - "integrity": "sha512-bu6T27FlgX+rZY6xKGvM7M6dPXtSaHTj/RpFXoD7bkFths3hn/dqg84uqQWSJTGFljeBBjyzdAlI9eSV0bI1HA==", - "license": "MIT" + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@knowledgecode/delegate/-/delegate-0.10.3.tgz", + "integrity": "sha512-iuee+vI4XhtiSHv+UpjTU4mDl2Og9FS+Rgvk645At92P3U+GJ3YJfYgC/Gi+fNdAzXCXK2yPHSyc4fF4x93crw==" }, "node_modules/@kolkov/ngx-gallery": { "version": "2.0.1", @@ -6085,98 +6236,91 @@ } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.4.tgz", - "integrity": "sha512-XaKL705gDWd6XVls3ATDj13ZdML/LqSIxwgnYpG8xTzH2ifArx8fMMDdvqGE/Emd+W6R90W2fveZcJ0AyS8Y0w==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.1.tgz", + "integrity": "sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.4.tgz", - "integrity": "sha512-GPHGEVcwJlkD01GmIr7B4kvbIcUDS2+kBadVEd7lU4can1RZaZQLDDBJRrrNfS2Kavvl0VLI/cMv7UASAXGrww==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.1.tgz", + "integrity": "sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.4.tgz", - "integrity": "sha512-cmev5/dZr5ACKri9f6GU6lZCXTjMhV72xujlbOhFCgFXrt4W0TxGsmY8kA1BITvH60JBKE50cSxsiulybAbrrw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.1.tgz", + "integrity": "sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.4.tgz", - "integrity": "sha512-mALqr7DE42HsiwVTKpQWxacjHoJk+e9p00RWIJqTACh/hpucxp/0lK/XMh5XzWnU/TDCZLukq1+vNqnNumTP/Q==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.1.tgz", + "integrity": "sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.4.tgz", - "integrity": "sha512-QjLs8OcmCNcraAcLoZyFlo0atzBJniQLLwhtR+ymQqS5kLYpV5RqwriL87BW+ZiR9ZiGgZx3evrz5vnWPtJ1fQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.1.tgz", + "integrity": "sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@lmdb/lmdb-win32-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.4.tgz", - "integrity": "sha512-tr/pwHDlZ33forLGAr0tI04cRmP4SgF93yHbb+2zvZiDEyln5yMHhbKDySxY66aUOkhvBvTuHq9q/3YmTj6ZHQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.1.tgz", + "integrity": "sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.4.tgz", - "integrity": "sha512-KRzfocJzB/mgoTCqnMawuLSKheHRVTqWfSmouIgYpFs6Hx4zvZSvsZKSCEb5gHmICy7qsx9l06jk3MFTtiFVAQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.1.tgz", + "integrity": "sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -6549,25 +6693,6 @@ "node": ">= 0.8" } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/@modelcontextprotocol/sdk/node_modules/iconv-lite": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", @@ -6690,14 +6815,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/@modelcontextprotocol/sdk/node_modules/type-is": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", @@ -6719,7 +6836,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -6733,7 +6849,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -6747,7 +6862,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -6761,7 +6875,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -6775,7 +6888,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -6789,7 +6901,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -7101,20 +7212,21 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@ng-select/ng-option-highlight": { @@ -7159,9 +7271,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-21.1.5.tgz", - "integrity": "sha512-5nG9v/nEzsaKxgw5NurM6tPKPw0OYsCM3DL4ZI8+TidT55hYbsroTnyBcHBouJ1qlZlQXNtlsjsjBmBDtF7JZA==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-21.2.8.tgz", + "integrity": "sha512-e3A9NBuco6QdIqi4jKB8ateTGDEB2Nlby9Y5zG/uvbK0ggV6GPcEkqmVNX0LqyIQYv2Br9WmPLnJnegvl5lqEA==", "dev": true, "engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0", @@ -7174,11 +7286,22 @@ "webpack": "^5.54.0" } }, + "node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@npmcli/agent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==", - "license": "ISC", "dependencies": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", @@ -7191,10 +7314,9 @@ } }, "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", - "license": "BlueOak-1.0.0", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "engines": { "node": "20 || >=22" } @@ -7203,7 +7325,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", - "license": "ISC", "dependencies": { "semver": "^7.3.5" }, @@ -7212,17 +7333,16 @@ } }, "node_modules/@npmcli/git": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz", - "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==", - "license": "ISC", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.2.tgz", + "integrity": "sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==", "dependencies": { + "@gar/promise-retry": "^1.0.0", "@npmcli/promise-spawn": "^9.0.0", "ini": "^6.0.0", "lru-cache": "^11.2.1", "npm-pick-manifest": "^11.0.1", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^6.0.0" }, @@ -7231,30 +7351,27 @@ } }, "node_modules/@npmcli/git/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", - "license": "BlueOak-1.0.0", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "engines": { "node": "20 || >=22" } }, "node_modules/@npmcli/git/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", - "license": "ISC", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "dependencies": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" @@ -7267,7 +7384,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==", - "license": "ISC", "dependencies": { "npm-bundled": "^5.0.0", "npm-normalize-package-bin": "^5.0.0" @@ -7283,16 +7399,14 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==", - "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/@npmcli/package-json": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.4.tgz", - "integrity": "sha512-0wInJG3j/K40OJt/33ax47WfWMzZTm6OQxB9cDhTt5huCP2a9g2GnlsxmfN+PulItNPIpPrZ+kfwwUil7eHcZQ==", - "license": "ISC", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.5.tgz", + "integrity": "sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==", "dependencies": { "@npmcli/git": "^7.0.0", "glob": "^13.0.0", @@ -7300,7 +7414,7 @@ "json-parse-even-better-errors": "^5.0.0", "proc-log": "^6.0.0", "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" + "spdx-expression-parse": "^4.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -7310,7 +7424,6 @@ "version": "9.0.1", "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==", - "license": "ISC", "dependencies": { "which": "^6.0.0" }, @@ -7319,21 +7432,19 @@ } }, "node_modules/@npmcli/promise-spawn/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", - "license": "ISC", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "dependencies": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" @@ -7346,47 +7457,20 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", - "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/@npmcli/run-script": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz", - "integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==", - "license": "ISC", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz", + "integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==", "dependencies": { "@npmcli/node-gyp": "^5.0.0", "@npmcli/package-json": "^7.0.0", "@npmcli/promise-spawn": "^9.0.0", "node-gyp": "^12.1.0", - "proc-log": "^6.0.0", - "which": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" + "proc-log": "^6.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -7446,27 +7530,26 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.106.0.tgz", - "integrity": "sha512-QdsH3rZq480VnOHSHgPYOhjL8O8LBdcnSjM408BpPCCUc0JYYZPG9Gafl9i3OcGk/7137o+gweb4cCv3WAUykg==", + "version": "0.113.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", + "integrity": "sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" } }, "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", "dev": true, "hasInstallScript": true, "optional": true, "dependencies": { - "detect-libc": "^1.0.3", + "detect-libc": "^2.0.3", "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">= 10.0.0" @@ -7476,25 +7559,25 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", "cpu": [ "arm64" ], @@ -7512,9 +7595,9 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", "cpu": [ "arm64" ], @@ -7532,9 +7615,9 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", "cpu": [ "x64" ], @@ -7552,9 +7635,9 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", "cpu": [ "x64" ], @@ -7572,9 +7655,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", "cpu": [ "arm" ], @@ -7592,9 +7675,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", "cpu": [ "arm" ], @@ -7612,9 +7695,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", "cpu": [ "arm64" ], @@ -7632,9 +7715,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", "cpu": [ "arm64" ], @@ -7652,9 +7735,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", "cpu": [ "x64" ], @@ -7672,9 +7755,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", "cpu": [ "x64" ], @@ -7692,9 +7775,9 @@ } }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", "cpu": [ "arm64" ], @@ -7712,9 +7795,9 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", "cpu": [ "ia32" ], @@ -7732,9 +7815,9 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", "cpu": [ "x64" ], @@ -7751,19 +7834,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/@parcel/watcher/node_modules/node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", @@ -7771,6 +7841,167 @@ "dev": true, "optional": true }, + "node_modules/@parcel/watcher/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@peculiar/asn1-cms": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz", + "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-csr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz", + "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-ecc": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz", + "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pfx": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz", + "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==", + "dev": true, + "dependencies": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-rsa": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs8": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz", + "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs9": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz", + "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==", + "dev": true, + "dependencies": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pfx": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-rsa": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz", + "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz", + "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==", + "dev": true, + "dependencies": { + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz", + "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509-attr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz", + "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/x509": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", + "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "dev": true, + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-csr": "^2.6.0", + "@peculiar/asn1-ecc": "^2.6.0", + "@peculiar/asn1-pkcs9": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "pvtsutils": "^1.3.6", + "reflect-metadata": "^0.2.2", + "tslib": "^2.8.1", + "tsyringe": "^4.10.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/@primer/behaviors": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.3.5.tgz", @@ -7874,14 +8105,13 @@ "license": "MIT" }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-mWj5eE4Qc8TbPdGGaaLvBb9XfDPvE1EmZkJQgiGKwchkWH4oAJcRAKMTw7ZHnb1L+t7Ah41sBkAecaIsuUgsug==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-vRq9f4NzvbdZavhQbjkJBx7rRebDKYR9zHfO/Wg486+I7bSecdUapzCm5cyXoK+LHokTxgSq7A5baAXUZkIz0w==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -7891,14 +8121,13 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-wFxUymI/5R8bH8qZFYDfAxAN9CyISEIYke+95oZPiv6EWo88aa5rskjVcCpKA532R+klFmdqjbbaD56GNmTF4Q==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-kFgEvkWLqt3YCgKB5re9RlIrx9bRsvyVUnaTakEpOPuLGzLpLapYxE9BufJNvPg8GjT6mB1alN4yN1NjzoeM8Q==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -7908,14 +8137,13 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.58.tgz", - "integrity": "sha512-ybp3MkPj23VDV9PhtRwdU5qrGhlViWRV5BjKwO6epaSlUD5lW0WyY+roN3ZAzbma/9RrMTgZ/a/gtQq8YXOcqw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-JXmaOJGsL/+rsmMfutcDjxWM2fTaVgCHGoXS7nE8Z3c9NAYjGqHvXrAhMUZvMpHS/k7Mg+X7n/MVKb7NYWKKww==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -7925,14 +8153,13 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.58.tgz", - "integrity": "sha512-Evxj3yh7FWvyklUYZa0qTVT9N2zX9TPDqGF056hl8hlCZ9/ndQ2xMv6uw9PD1VlLpukbsqL+/C6M0qwipL0QMg==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-ep3Catd6sPnHTM0P4hNEvIv5arnDvk01PfyJIJ+J3wVCG1eEaPo09tvFqdtcaTrkwQy0VWR24uz+cb4IsK53Qw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -7942,14 +8169,13 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.58.tgz", - "integrity": "sha512-tYeXprDOrEgVHUbPXH6MPso4cM/c6RTkmJNICMQlYdki4hGMh92aj3yU6CKs+4X5gfG0yj5kVUw/L4M685SYag==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.4.tgz", + "integrity": "sha512-LwA5ayKIpnsgXJEwWc3h8wPiS33NMIHd9BhsV92T8VetVAbGe2qXlJwNVDGHN5cOQ22R9uYvbrQir2AB+ntT2w==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -7959,14 +8185,13 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.58.tgz", - "integrity": "sha512-N78vmZzP6zG967Ohr+MasCjmKtis0geZ1SOVmxrA0/bklTQSzH5kHEjW5Qn+i1taFno6GEre1E40v0wuWsNOQw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-AC1WsGdlV1MtGay/OQ4J9T7GRadVnpYRzTcygV1hKnypbYN20Yh4t6O1Sa2qRBMqv1etulUknqXjc3CTIsBu6A==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -7976,14 +8201,13 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.58.tgz", - "integrity": "sha512-l+p4QVtG72C7wI2SIkNQw/KQtSjuYwS3rV6AKcWrRBF62ClsFUcif5vLaZIEbPrCXu5OFRXigXFJnxYsVVZqdQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -7993,14 +8217,13 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.58.tgz", - "integrity": "sha512-urzJX0HrXxIh0FfxwWRjfPCMeInU9qsImLQxHBgLp5ivji1EEUnOfux8KxPPnRQthJyneBrN2LeqUix9DYrNaQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -8010,14 +8233,13 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.58.tgz", - "integrity": "sha512-7ijfVK3GISnXIwq/1FZo+KyAUJjL3kWPJ7rViAL6MWeEBhEgRzJ0yEd9I8N9aut8Y8ab+EKFJyRNMWZuUBwQ0A==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -8027,14 +8249,13 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-/m7sKZCS+cUULbzyJTIlv8JbjNohxbpAOA6cM+lgWgqVzPee3U6jpwydrib328JFN/gF9A99IZEnuGYqEDJdww==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openharmony" @@ -8044,14 +8265,13 @@ } }, "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.58.tgz", - "integrity": "sha512-6SZk7zMgv+y3wFFQ9qE5P9NnRHcRsptL1ypmudD26PDY+PvFCvfHRkJNfclWnvacVGxjowr7JOL3a9fd1wWhUw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.4.tgz", + "integrity": "sha512-wz7ohsKCAIWy91blZ/1FlpPdqrsm1xpcEOQVveWoL6+aSPKL4VUcoYmmzuLTssyZxRpEwzuIxL/GDsvpjaBtOw==", "cpu": [ "wasm32" ], "dev": true, - "license": "MIT", "optional": true, "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" @@ -8061,14 +8281,13 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.58.tgz", - "integrity": "sha512-sFqfYPnBZ6xBhMkadB7UD0yjEDRvs7ipR3nCggblN+N4ODCXY6qhg/bKL39+W+dgQybL7ErD4EGERVbW9DAWvg==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -8078,14 +8297,13 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.58.tgz", - "integrity": "sha512-AnFWJdAqB8+IDPcGrATYs67Kik/6tnndNJV2jGRmwlbeNiQQ8GhRJU8ETRlINfII0pqi9k4WWLnb00p1QCxw/Q==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-p6UeR9y7ht82AH57qwGuFYn69S6CZ7LLKdCKy/8T3zS9VTrJei2/CGsTUV45Da4Z9Rbhc7G4gyWQ/Ioamqn09g==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -8095,16 +8313,15 @@ } }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.58.tgz", - "integrity": "sha512-qWhDs6yFGR5xDfdrwiSa3CWGIHxD597uGE/A9xGqytBjANvh4rLCTTkq7szhMV4+Ygh+PMS90KVJ8xWG/TkX4w==", - "dev": true, - "license": "MIT" + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.4.tgz", + "integrity": "sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==", + "dev": true }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", "cpu": [ "arm" ], @@ -8115,9 +8332,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", "cpu": [ "arm64" ], @@ -8128,9 +8345,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", "cpu": [ "arm64" ], @@ -8141,9 +8358,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", "cpu": [ "x64" ], @@ -8154,9 +8371,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", "cpu": [ "arm64" ], @@ -8167,9 +8384,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", "cpu": [ "x64" ], @@ -8180,9 +8397,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", "cpu": [ "arm" ], @@ -8193,9 +8410,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", "cpu": [ "arm" ], @@ -8206,9 +8423,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", "cpu": [ "arm64" ], @@ -8219,9 +8436,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", "cpu": [ "arm64" ], @@ -8232,9 +8449,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", "cpu": [ "loong64" ], @@ -8245,9 +8462,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", "cpu": [ "loong64" ], @@ -8258,9 +8475,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", "cpu": [ "ppc64" ], @@ -8271,9 +8488,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", "cpu": [ "ppc64" ], @@ -8284,9 +8501,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", "cpu": [ "riscv64" ], @@ -8297,9 +8514,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", "cpu": [ "riscv64" ], @@ -8310,9 +8527,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", "cpu": [ "s390x" ], @@ -8323,9 +8540,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", "cpu": [ "x64" ], @@ -8336,9 +8553,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", "cpu": [ "x64" ], @@ -8349,9 +8566,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", "cpu": [ "x64" ], @@ -8362,9 +8579,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", "cpu": [ "arm64" ], @@ -8375,9 +8592,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", "cpu": [ "arm64" ], @@ -8388,9 +8605,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", "cpu": [ "ia32" ], @@ -8401,9 +8618,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", "cpu": [ "x64" ], @@ -8414,9 +8631,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", "cpu": [ "x64" ], @@ -8439,12 +8656,12 @@ "dev": true }, "node_modules/@schematics/angular": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.5.tgz", - "integrity": "sha512-AndJ17ePYUoqJqiIF9VaXbGAFfOqDcHuAxhwozsQlWDzwgQSOUC/WWeG9hKVCgMD6tE02Sxr2ova9DiBKsLQNg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.8.tgz", + "integrity": "sha512-Kx3PmuZIXhwQqAqoERAXqDCORHFbKTMd+eflXwZfpKkrbWJTVPqKpL4R9RVdEr2E6/VEXDFrdL1whIvGd1xmDg==", "dependencies": { - "@angular-devkit/core": "21.1.5", - "@angular-devkit/schematics": "21.1.5", + "@angular-devkit/core": "21.2.8", + "@angular-devkit/schematics": "21.2.8", "jsonc-parser": "3.3.1" }, "engines": { @@ -8454,14 +8671,14 @@ } }, "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dependencies": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" }, @@ -8480,14 +8697,14 @@ } }, "node_modules/@schematics/angular/node_modules/@angular-devkit/schematics": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.5.tgz", - "integrity": "sha512-CGmoorQL5+mVCJEHwHWOrhSd1hFxB3h66i9wUDizJAEQUM3mSml5SiglHArpWY/G4GmFwi6XVe+Jm3U8J/mcFg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.8.tgz", + "integrity": "sha512-UTEMM1JXzzxufLsTGDsWth2E7+8e9PaFT7nbjUvJ2qevltACkiqAbHEpiD2ISzrSRIO3OirJ+cZtnzXO0FyoBQ==", "dependencies": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", - "ora": "9.0.0", + "ora": "9.3.0", "rxjs": "7.8.2" }, "engines": { @@ -8584,9 +8801,9 @@ } }, "node_modules/@schematics/angular/node_modules/ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "dependencies": { "chalk": "^5.6.2", "cli-cursor": "^5.0.0", @@ -8594,9 +8811,8 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" }, "engines": { "node": ">=20" @@ -8606,9 +8822,9 @@ } }, "node_modules/@schematics/angular/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "engines": { "node": ">=12" }, @@ -8616,10 +8832,21 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@schematics/angular/node_modules/stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@schematics/angular/node_modules/string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "dependencies": { "get-east-asian-width": "^1.5.0", "strip-ansi": "^7.1.2" @@ -8665,7 +8892,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz", "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==", - "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.5.0" }, @@ -8674,45 +8900,41 @@ } }, "node_modules/@sigstore/core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.0.tgz", - "integrity": "sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==", - "license": "Apache-2.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz", + "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==", "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/@sigstore/protobuf-specs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", - "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==", - "license": "Apache-2.0", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz", + "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==", "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@sigstore/sign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.0.tgz", - "integrity": "sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==", - "license": "Apache-2.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", + "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", "dependencies": { + "@gar/promise-retry": "^1.0.2", "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", + "@sigstore/core": "^3.2.0", "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.3", - "proc-log": "^6.1.0", - "promise-retry": "^2.0.1" + "make-fetch-happen": "^15.0.4", + "proc-log": "^6.1.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/@sigstore/tuf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz", - "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==", - "license": "Apache-2.0", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", + "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", "dependencies": { "@sigstore/protobuf-specs": "^0.5.0", "tuf-js": "^4.1.0" @@ -8725,7 +8947,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.0.tgz", "integrity": "sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==", - "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", "@sigstore/core": "^3.1.0", @@ -9121,7 +9342,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "license": "MIT", "engines": { "node": "^16.14.0 || >=18.0.0" } @@ -9130,7 +9350,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz", "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==", - "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", "minimatch": "^10.1.1" @@ -9148,9 +9367,9 @@ } }, "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dependencies": { "balanced-match": "^4.0.2" }, @@ -9159,11 +9378,11 @@ } }, "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -9177,7 +9396,6 @@ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "tslib": "^2.4.0" @@ -9212,9 +9430,9 @@ } }, "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, "dependencies": { "@types/node": "*" @@ -9302,21 +9520,21 @@ "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", - "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", "dev": true, "dependencies": { "@types/node": "*", @@ -9450,6 +9668,12 @@ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "license": "MIT" }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, "node_modules/@types/mousetrap": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/@types/mousetrap/-/mousetrap-1.6.15.tgz", @@ -9468,15 +9692,6 @@ "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", "dev": true }, - "node_modules/@types/node-forge": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.13.tgz", - "integrity": "sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/pako": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", @@ -9484,9 +9699,9 @@ "dev": true }, "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", "dev": true }, "node_modules/@types/rails__request.js": { @@ -9539,21 +9754,14 @@ "dev": true }, "node_modules/@types/send": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", - "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "dependencies": { - "@types/mime": "^1", "@types/node": "*" } }, - "node_modules/@types/send/node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, "node_modules/@types/serve-index": { "version": "1.9.4", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", @@ -9564,14 +9772,24 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", - "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "dependencies": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" } }, "node_modules/@types/sizzle": { @@ -9645,6 +9863,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.53.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz", @@ -9808,9 +10035,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "dependencies": { "balanced-match": "^1.0.0" @@ -10140,9 +10367,9 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "dependencies": { "balanced-match": "^1.0.0" @@ -10233,9 +10460,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "dependencies": { "balanced-match": "^1.0.0" @@ -10417,9 +10644,9 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dev": true, "dependencies": { "balanced-match": "^4.0.2" @@ -10519,9 +10746,9 @@ } }, "node_modules/@uirouter/core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@uirouter/core/-/core-6.1.1.tgz", - "integrity": "sha512-vA+OolBOe0R8dbFk5mgaj30LzYzOoGhMJzj356KVQcx+wKdZHUs0dnMPuuHbKe/CEbErTgFA3MfRAW96qVc2hA==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@uirouter/core/-/core-6.1.2.tgz", + "integrity": "sha512-pYcg+cxVd9E9poC7AJf7ZrlQQrwAV6KVkiPvlbLJX5km+pBWrUOGQhdd87oIGc7/5iVQ7qSiAdl9QD+l55yegg==", "engines": { "node": ">=4.0.0" } @@ -10541,11 +10768,10 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "node_modules/@vitejs/plugin-basic-ssl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", - "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.4.tgz", + "integrity": "sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==", "dev": true, - "license": "MIT", "engines": { "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, @@ -10759,7 +10985,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", - "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" } @@ -10897,25 +11122,24 @@ } }, "node_modules/algoliasearch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.46.2.tgz", - "integrity": "sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==", - "license": "MIT", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", + "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", "dependencies": { - "@algolia/abtesting": "1.12.2", - "@algolia/client-abtesting": "5.46.2", - "@algolia/client-analytics": "5.46.2", - "@algolia/client-common": "5.46.2", - "@algolia/client-insights": "5.46.2", - "@algolia/client-personalization": "5.46.2", - "@algolia/client-query-suggestions": "5.46.2", - "@algolia/client-search": "5.46.2", - "@algolia/ingestion": "1.46.2", - "@algolia/monitoring": "1.46.2", - "@algolia/recommend": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/abtesting": "1.14.1", + "@algolia/client-abtesting": "5.48.1", + "@algolia/client-analytics": "5.48.1", + "@algolia/client-common": "5.48.1", + "@algolia/client-insights": "5.48.1", + "@algolia/client-personalization": "5.48.1", + "@algolia/client-query-suggestions": "5.48.1", + "@algolia/client-search": "5.48.1", + "@algolia/ingestion": "1.48.1", + "@algolia/monitoring": "1.48.1", + "@algolia/recommend": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" @@ -11534,6 +11758,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asn1js": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", + "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", + "dev": true, + "dependencies": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.5", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -11637,14 +11875,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", - "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.7", - "@babel/helper-define-polyfill-provider": "^0.6.5", + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", "semver": "^6.3.1" }, "peerDependencies": { @@ -11656,7 +11893,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -11666,7 +11902,6 @@ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.5", "core-js-compat": "^3.43.0" @@ -11676,13 +11911,12 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", - "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5" + "@babel/helper-define-polyfill-provider": "^0.6.8" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -11775,9 +12009,9 @@ "dev": true }, "node_modules/beasties": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", - "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.1.tgz", + "integrity": "sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==", "dev": true, "dependencies": { "css-select": "^6.0.0", @@ -11787,10 +12021,11 @@ "htmlparser2": "^10.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.49", - "postcss-media-query-parser": "^0.2.3" + "postcss-media-query-parser": "^0.2.3", + "postcss-safe-parser": "^7.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, "node_modules/big.js": { @@ -11853,43 +12088,12 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/body-parser/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -11907,11 +12111,10 @@ "dev": true }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -12032,11 +12235,19 @@ "node": ">= 0.8" } }, + "node_modules/bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/cacache": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", - "license": "ISC", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", "dependencies": { "@npmcli/fs": "^5.0.0", "fs-minipass": "^3.0.0", @@ -12047,18 +12258,16 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", - "ssri": "^13.0.0", - "unique-filename": "^5.0.0" + "ssri": "^13.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", - "license": "BlueOak-1.0.0", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "engines": { "node": "20 || >=22" } @@ -12272,7 +12481,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "license": "BlueOak-1.0.0", "engines": { "node": ">=18" } @@ -12544,26 +12752,6 @@ "node": ">= 0.6" } }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -12621,26 +12809,6 @@ "node": ">= 0.6" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", @@ -12672,9 +12840,9 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "dev": true }, "node_modules/copy-anything": { @@ -12702,19 +12870,19 @@ } }, "node_modules/copy-webpack-plugin": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz", - "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-14.0.0.tgz", + "integrity": "sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==", "dev": true, "dependencies": { "glob-parent": "^6.0.1", "normalize-path": "^3.0.0", "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2", + "serialize-javascript": "^7.0.3", "tinyglobby": "^0.2.12" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 20.9.0" }, "funding": { "type": "opencollective", @@ -12749,9 +12917,9 @@ } }, "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -12778,13 +12946,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", - "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", "dev": true, - "license": "MIT", "dependencies": { - "browserslist": "^4.28.0" + "browserslist": "^4.28.1" }, "funding": { "type": "opencollective", @@ -12916,19 +13083,19 @@ } }, "node_modules/css-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.3.tgz", + "integrity": "sha512-frbERmjT0UC5lMheWpJmMilnt9GEhbZJN/heUb7/zaJYeIzj5St9HvDcfshzzOqbsS+rYpMk++2SD3vGETDSyA==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.33", + "postcss": "^8.4.40", "postcss-modules-extract-imports": "^3.1.0", "postcss-modules-local-by-default": "^4.0.5", "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" + "semver": "^7.6.3" }, "engines": { "node": ">= 18.12.0" @@ -13247,7 +13414,6 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, - "license": "Apache-2.0", "optional": true, "engines": { "node": ">=8" @@ -13506,29 +13672,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/engine.io": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz", @@ -13572,13 +13715,13 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", - "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", + "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" + "tapable": "^2.3.3" }, "engines": { "node": ">=10.13.0" @@ -13625,8 +13768,7 @@ "node_modules/err-code": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "license": "MIT" + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, "node_modules/errno": { "version": "0.1.8", @@ -13772,9 +13914,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", "dev": true }, "node_modules/es-object-atoms": { @@ -13834,6 +13976,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-toolkit": { + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.46.1.tgz", + "integrity": "sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==" + }, "node_modules/es5-ext": { "version": "0.10.64", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", @@ -13932,12 +14079,11 @@ } }, "node_modules/esbuild": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", - "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -13945,40 +14091,39 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.2", - "@esbuild/android-arm": "0.27.2", - "@esbuild/android-arm64": "0.27.2", - "@esbuild/android-x64": "0.27.2", - "@esbuild/darwin-arm64": "0.27.2", - "@esbuild/darwin-x64": "0.27.2", - "@esbuild/freebsd-arm64": "0.27.2", - "@esbuild/freebsd-x64": "0.27.2", - "@esbuild/linux-arm": "0.27.2", - "@esbuild/linux-arm64": "0.27.2", - "@esbuild/linux-ia32": "0.27.2", - "@esbuild/linux-loong64": "0.27.2", - "@esbuild/linux-mips64el": "0.27.2", - "@esbuild/linux-ppc64": "0.27.2", - "@esbuild/linux-riscv64": "0.27.2", - "@esbuild/linux-s390x": "0.27.2", - "@esbuild/linux-x64": "0.27.2", - "@esbuild/netbsd-arm64": "0.27.2", - "@esbuild/netbsd-x64": "0.27.2", - "@esbuild/openbsd-arm64": "0.27.2", - "@esbuild/openbsd-x64": "0.27.2", - "@esbuild/openharmony-arm64": "0.27.2", - "@esbuild/sunos-x64": "0.27.2", - "@esbuild/win32-arm64": "0.27.2", - "@esbuild/win32-ia32": "0.27.2", - "@esbuild/win32-x64": "0.27.2" + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" } }, "node_modules/esbuild-wasm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.27.2.tgz", - "integrity": "sha512-eUTnl8eh+v8UZIZh4MrMOKDAc8Lm7+NqP3pyuTORGFY1s/o9WoiJgKnwXy+te2J3hX7iRbFSHEyig7GsPeeJyw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.27.3.tgz", + "integrity": "sha512-AUXuOxZ145/5Az+lIqk6TdJbxKTyDGkXMJpTExmBdbnHR6n6qAFx+F4oG9ORpVYJ9dQYeQAqzv51TO4DFKsbXw==", "dev": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -14578,8 +14723,7 @@ "node_modules/exponential-backoff": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", - "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", - "license": "Apache-2.0" + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==" }, "node_modules/express": { "version": "4.22.1", @@ -14663,17 +14807,17 @@ } }, "node_modules/express/node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "statuses": "2.0.1", + "statuses": "~2.0.2", "unpipe": "~1.0.0" }, "engines": { @@ -14686,26 +14830,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/ext": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", @@ -14812,11 +14936,10 @@ } }, "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -14950,9 +15073,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", @@ -15031,7 +15154,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "license": "ISC", "dependencies": { "minipass": "^7.0.3" }, @@ -15218,7 +15340,6 @@ "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -15234,8 +15355,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause" + "dev": true }, "node_modules/glob/node_modules/balanced-match": { "version": "4.0.4", @@ -15246,9 +15366,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dependencies": { "balanced-match": "^4.0.2" }, @@ -15753,7 +15873,6 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", - "license": "ISC", "dependencies": { "lru-cache": "^11.1.0" }, @@ -15762,10 +15881,9 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", - "license": "BlueOak-1.0.0", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "engines": { "node": "20 || >=22" } @@ -15803,6 +15921,21 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -15870,9 +16003,9 @@ } }, "node_modules/htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -15884,14 +16017,14 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" + "domutils": "^3.2.2", + "entities": "^7.0.1" } }, "node_modules/htmlparser2/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "dev": true, "engines": { "node": ">=0.12" @@ -15903,8 +16036,7 @@ "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "license": "BSD-2-Clause" + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==" }, "node_modules/http-deceiver": { "version": "1.2.7", @@ -15913,19 +16045,22 @@ "dev": true }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/http-parser-js": { @@ -15951,7 +16086,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -16040,7 +16174,6 @@ "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.18" } @@ -16150,7 +16283,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", - "license": "ISC", "dependencies": { "minimatch": "^10.0.3" }, @@ -16167,9 +16299,9 @@ } }, "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dependencies": { "balanced-match": "^4.0.2" }, @@ -16178,11 +16310,11 @@ } }, "node_modules/ignore-walk/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -16231,6 +16363,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "engines": { "node": ">=0.8.19" } @@ -16254,7 +16387,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", - "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" } @@ -16283,9 +16415,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", "dev": true, "engines": { "node": ">= 10" @@ -16397,6 +16529,7 @@ "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -16602,9 +16735,9 @@ } }, "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", + "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", "dev": true, "engines": { "node": ">=16" @@ -17123,7 +17256,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==", - "license": "MIT", "engines": { "node": "^20.17.0 || >=22.9.0" } @@ -17176,8 +17308,7 @@ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "engines": [ "node >= 0.2.0" - ], - "license": "MIT" + ] }, "node_modules/jsx-ast-utils": { "version": "3.3.5", @@ -17550,13 +17681,13 @@ } }, "node_modules/launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.2.tgz", + "integrity": "sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==", "dev": true, "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "node_modules/laz-perf": { @@ -17592,11 +17723,10 @@ } }, "node_modules/less-loader": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.0.tgz", - "integrity": "sha512-0M6+uYulvYIWs52y0LqN4+QM9TqWAohYSNTo4htE8Z7Cn3G/qQMEmktfHmyJT23k+20kU9zHH2wrfFXkxNLtVw==", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.1.tgz", + "integrity": "sha512-JZZmG7gMzoDP3VGeEG8Sh6FW5wygB5jYL7Wp29FFihuRTsIBacqO3LbRPr2yStYD11riVf13selLm/CPFRDBRQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 18.12.0" }, @@ -17605,7 +17735,7 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "@rspack/core": "0.x || 1.x", + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", "less": "^3.5.0 || ^4.0.0", "webpack": "^5.0.0" }, @@ -17868,14 +17998,14 @@ } }, "node_modules/lmdb": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.4.tgz", - "integrity": "sha512-+Y2DqovevLkb6DrSQ6SXTYLEd6kvlRbhsxzgJrk7BUfOVA/mt21ak6pFDZDKxiAczHMWxrb02kXBTSTIA0O94A==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.1.tgz", + "integrity": "sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==", "dev": true, "hasInstallScript": true, - "license": "MIT", "optional": true, "dependencies": { + "@harperfast/extended-iterable": "^1.0.3", "msgpackr": "^1.11.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", @@ -17886,19 +18016,19 @@ "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.4.4", - "@lmdb/lmdb-darwin-x64": "3.4.4", - "@lmdb/lmdb-linux-arm": "3.4.4", - "@lmdb/lmdb-linux-arm64": "3.4.4", - "@lmdb/lmdb-linux-x64": "3.4.4", - "@lmdb/lmdb-win32-arm64": "3.4.4", - "@lmdb/lmdb-win32-x64": "3.4.4" + "@lmdb/lmdb-darwin-arm64": "3.5.1", + "@lmdb/lmdb-darwin-x64": "3.5.1", + "@lmdb/lmdb-linux-arm": "3.5.1", + "@lmdb/lmdb-linux-arm64": "3.5.1", + "@lmdb/lmdb-linux-x64": "3.5.1", + "@lmdb/lmdb-win32-arm64": "3.5.1", + "@lmdb/lmdb-win32-x64": "3.5.1" } }, "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", "dev": true, "engines": { "node": ">=6.11.5" @@ -17933,14 +18063,9 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" - }, - "node_modules/lodash-es": { "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", - "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", @@ -17958,8 +18083,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lodash.get": { "version": "4.4.2", @@ -18236,12 +18360,13 @@ "dev": true }, "node_modules/make-fetch-happen": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", - "integrity": "sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==", - "license": "ISC", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", "dependencies": { + "@gar/promise-retry": "^1.0.0", "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", "cacache": "^20.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", @@ -18250,7 +18375,6 @@ "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "ssri": "^13.0.0" }, "engines": { @@ -18261,7 +18385,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -18576,12 +18699,19 @@ } }, "node_modules/memfs": { - "version": "4.52.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.52.0.tgz", - "integrity": "sha512-dG5ZY1wUCPWhtl4M2mlc7Wx4OrMGtiI79axnScxwDoPR/25biQYrYm21OpKyZcnKv8pvWaX95SRtZgecZ84gFg==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.2.tgz", + "integrity": "sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-to-fsa": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", "@jsonjoy.com/json-pack": "^1.11.0", "@jsonjoy.com/util": "^1.9.0", "glob-to-regex.js": "^1.0.1", @@ -18592,6 +18722,9 @@ "funding": { "type": "github", "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, "node_modules/memoizee": { @@ -19279,9 +19412,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", - "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", + "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", "dev": true, "dependencies": { "schema-utils": "^4.0.0", @@ -19311,9 +19444,9 @@ } }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -19367,7 +19500,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "license": "ISC", "dependencies": { "minipass": "^7.0.3" }, @@ -19376,27 +19508,41 @@ } }, "node_modules/minipass-fetch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.0.tgz", - "integrity": "sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A==", - "license": "MIT", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", "dependencies": { "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", + "minipass-sized": "^2.0.0", "minizlib": "^3.0.1" }, "engines": { "node": "^20.17.0 || >=22.9.0" }, "optionalDependencies": { - "encoding": "^0.1.13" + "iconv-lite": "^0.7.2" + } + }, + "node_modules/minipass-fetch/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "license": "ISC", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", "dependencies": { "minipass": "^3.0.0" }, @@ -19408,7 +19554,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -19419,14 +19564,12 @@ "node_modules/minipass-flush/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -19438,7 +19581,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -19449,44 +19591,23 @@ "node_modules/minipass-pipeline/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "license": "ISC", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", "dependencies": { - "minipass": "^3.0.0" + "minipass": "^7.1.2" }, "engines": { "node": ">=8" } }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/minizlib": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "license": "MIT", "dependencies": { "minipass": "^7.1.2" }, @@ -19545,11 +19666,10 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/msgpackr": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz", - "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==", + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.10.tgz", + "integrity": "sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==", "dev": true, - "license": "MIT", "optional": true, "optionalDependencies": { "msgpackr-extract": "^3.0.2" @@ -19561,7 +19681,6 @@ "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", "dev": true, "hasInstallScript": true, - "license": "MIT", "optional": true, "dependencies": { "node-gyp-build-optional-packages": "5.2.2" @@ -19668,8 +19787,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/next-tick": { "version": "1.1.0", @@ -19690,19 +19808,18 @@ } }, "node_modules/ng2-charts": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-8.0.0.tgz", - "integrity": "sha512-nofsNHI2Zt+EAwT+BJBVg0kgOhNo9ukO4CxULlaIi7VwZSr7I1km38kWSoU41Oq6os6qqIh5srnL+CcV+RFPFA==", - "license": "MIT", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-10.0.0.tgz", + "integrity": "sha512-mdL75XJrk/0s0YO2ySPQpAHPja85ECDEGNWFlcElJiy/bYliTNGEpeCtctAqZuozTff/E2CwGjyfPFM1ScP2og==", "dependencies": { - "lodash-es": "^4.17.15", + "es-toolkit": "^1.39.7", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/cdk": ">=19.0.0", - "@angular/common": ">=19.0.0", - "@angular/core": ">=19.0.0", - "@angular/platform-browser": ">=19.0.0", + "@angular/cdk": ">=21.0.0", + "@angular/common": ">=21.0.0", + "@angular/core": ">=21.0.0", + "@angular/platform-browser": ">=21.0.0", "chart.js": "^3.4.0 || ^4.0.0", "rxjs": "^6.5.3 || ^7.4.0" } @@ -19741,33 +19858,22 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true, - "license": "MIT", "optional": true }, - "node_modules/node-forge": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", - "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, "node_modules/node-gyp": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.1.0.tgz", - "integrity": "sha512-W+RYA8jBnhSr2vrTtlPYPc1K+CSjGpVDRZxcqJcERZ8ND3A1ThWPHRwctTx3qC3oW99jt726jhdz3Y6ky87J4g==", - "license": "MIT", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.3.0.tgz", + "integrity": "sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^15.0.0", "nopt": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", - "tar": "^7.5.2", + "tar": "^7.5.4", "tinyglobby": "^0.2.12", + "undici": "^6.25.0", "which": "^6.0.0" }, "bin": { @@ -19782,7 +19888,6 @@ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "detect-libc": "^2.0.1" @@ -19794,21 +19899,27 @@ } }, "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", "engines": { - "node": ">=16" + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/undici": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", + "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==", + "engines": { + "node": ">=18.17" } }, "node_modules/node-gyp/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", - "license": "ISC", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "dependencies": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" @@ -19827,7 +19938,6 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", - "license": "ISC", "dependencies": { "abbrev": "^4.0.0" }, @@ -19851,7 +19961,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz", "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==", - "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^5.0.0" }, @@ -19863,7 +19972,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz", "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==", - "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" }, @@ -19875,7 +19983,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==", - "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" } @@ -19884,7 +19991,6 @@ "version": "13.0.2", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.2.tgz", "integrity": "sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==", - "license": "ISC", "dependencies": { "hosted-git-info": "^9.0.0", "proc-log": "^6.0.0", @@ -19896,10 +20002,9 @@ } }, "node_modules/npm-packlist": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz", - "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==", - "license": "ISC", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", + "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", "dependencies": { "ignore-walk": "^8.0.0", "proc-log": "^6.0.0" @@ -19912,7 +20017,6 @@ "version": "11.0.3", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==", - "license": "ISC", "dependencies": { "npm-install-checks": "^8.0.0", "npm-normalize-package-bin": "^5.0.0", @@ -19927,7 +20031,6 @@ "version": "19.1.1", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", "integrity": "sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==", - "license": "ISC", "dependencies": { "@npmcli/redact": "^4.0.0", "jsonparse": "^1.3.1", @@ -20370,7 +20473,6 @@ "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz", "integrity": "sha512-QkCdPooczexPLiXIrbVOPYkR3VO3T6v2OyKRkR1Xbhpy7/LAVXwahnRCgRp78Oe/Ehf0C/HATAxfSr6eA1oX+w==", "dev": true, - "license": "MIT", "optional": true }, "node_modules/orderedmap": { @@ -20430,7 +20532,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", - "license": "MIT", "engines": { "node": ">=18" }, @@ -20465,10 +20566,9 @@ } }, "node_modules/pacote": { - "version": "21.0.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz", - "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==", - "license": "ISC", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.3.1.tgz", + "integrity": "sha512-O0EDXi85LF4AzdjG74GUwEArhdvawi/YOHcsW6IijKNj7wm8IvEWNF5GnfuxNpQ/ZpO3L37+v8hqdVh8GgWYhg==", "dependencies": { "@npmcli/git": "^7.0.0", "@npmcli/installed-package-contents": "^4.0.0", @@ -20664,7 +20764,8 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-to-regexp": { "version": "0.1.13", @@ -20720,6 +20821,23 @@ "node": ">=16.20.0" } }, + "node_modules/pkijs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", + "dev": true, + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -20883,10 +21001,36 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, "node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -20946,7 +21090,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", - "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" } @@ -20961,7 +21104,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "license": "MIT", "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -21291,6 +21433,24 @@ "node": ">=6" } }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "dev": true, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", @@ -21332,15 +21492,6 @@ "node": ">=4" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -21365,54 +21516,23 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/raw-body/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.4" + "react": "^19.2.5" } }, "node_modules/react-i18next": { @@ -21617,15 +21737,13 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/regenerate-unicode-properties": { "version": "10.2.2", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", "dev": true, - "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -21664,7 +21782,6 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", "dev": true, - "license": "MIT", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.2", @@ -21681,15 +21798,13 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/regjsparser": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", - "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", + "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "jsesc": "~3.1.0" }, @@ -21873,6 +21988,7 @@ "version": "1.22.11", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.16.1", @@ -21993,7 +22109,6 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "license": "MIT", "engines": { "node": ">= 4" } @@ -22039,14 +22154,13 @@ } }, "node_modules/rolldown": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.58.tgz", - "integrity": "sha512-v1FCjMZCan7f+xGAHBi+mqiE4MlH7I+SXEHSQSJoMOGNNB2UYtvMiejsq9YuUOiZjNeUeV/a21nSFbrUR+4ZCQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.4.tgz", + "integrity": "sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==", "dev": true, - "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.106.0", - "@rolldown/pluginutils": "1.0.0-beta.58" + "@oxc-project/types": "=0.113.0", + "@rolldown/pluginutils": "1.0.0-rc.4" }, "bin": { "rolldown": "bin/cli.mjs" @@ -22055,25 +22169,25 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-x64": "1.0.0-beta.58", - "@rolldown/binding-freebsd-x64": "1.0.0-beta.58", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-musl": "1.0.0-beta.58", - "@rolldown/binding-openharmony-arm64": "1.0.0-beta.58", - "@rolldown/binding-wasm32-wasi": "1.0.0-beta.58", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.58", - "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.58" + "@rolldown/binding-android-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-x64": "1.0.0-rc.4", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.4", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.4", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.4", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.4", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.4" } }, "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", "dev": true, "dependencies": { "@types/estree": "1.0.8" @@ -22086,31 +22200,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", "fsevents": "~2.3.2" } }, @@ -22201,10 +22315,24 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/safe-push-apply": { "version": "1.0.0", @@ -22245,11 +22373,10 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.1.tgz", - "integrity": "sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==", + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "dev": true, - "license": "MIT", "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -22266,11 +22393,10 @@ } }, "node_modules/sass-loader": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.6.tgz", - "integrity": "sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", + "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", "dev": true, - "license": "MIT", "dependencies": { "neo-async": "^2.6.2" }, @@ -22282,7 +22408,7 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "@rspack/core": "0.x || 1.x", + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "sass-embedded": "*", @@ -22311,7 +22437,6 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, - "license": "MIT", "dependencies": { "readdirp": "^4.0.1" }, @@ -22327,7 +22452,6 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 14.18.0" }, @@ -22415,16 +22539,16 @@ "dev": true }, "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", + "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", "dev": true, "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "@peculiar/x509": "^1.14.2", + "pkijs": "^3.3.3" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/semver": { @@ -22440,24 +22564,24 @@ } }, "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "dev": true, "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "range-parser": "~1.2.1", - "statuses": "2.0.1" + "statuses": "~2.0.2" }, "engines": { "node": ">= 0.8.0" @@ -22478,6 +22602,15 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/send/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -22491,30 +22624,34 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.5.tgz", + "integrity": "sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==", "dev": true, - "dependencies": { - "randombytes": "^2.1.0" + "engines": { + "node": ">=20.0.0" } }, "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", "dev": true, "dependencies": { - "accepts": "~1.3.4", + "accepts": "~1.3.8", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" }, "engines": { "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/serve-index/node_modules/debug": { @@ -22536,38 +22673,27 @@ } }, "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "dependencies": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -22578,15 +22704,15 @@ } }, "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "dev": true, "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.19.0" + "send": "~0.19.1" }, "engines": { "node": ">= 0.8.0" @@ -22773,7 +22899,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.1.0.tgz", "integrity": "sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==", - "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", "@sigstore/core": "^3.1.0", @@ -22848,7 +22973,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "license": "MIT", "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -22921,7 +23045,6 @@ "version": "2.8.7", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", - "license": "MIT", "dependencies": { "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" @@ -22935,7 +23058,6 @@ "version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", @@ -23137,37 +23259,24 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "license": "CC-BY-3.0" + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" }, "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "license": "MIT", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", - "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", - "license": "CC0-1.0" + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==" }, "node_modules/spdy": { "version": "4.0.2", @@ -23205,10 +23314,9 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/ssri": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz", - "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==", - "license": "ISC", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", "dependencies": { "minipass": "^7.0.3" }, @@ -23217,10 +23325,9 @@ } }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "engines": { "node": ">= 0.8" } @@ -23229,6 +23336,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -23275,12 +23383,12 @@ } }, "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/string-width": { @@ -23538,6 +23646,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -23560,11 +23669,10 @@ } }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -23574,9 +23682,9 @@ } }, "node_modules/tar": { - "version": "7.5.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", - "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", @@ -23592,15 +23700,14 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "license": "BlueOak-1.0.0", "engines": { "node": ">=18" } }, "node_modules/terser": { - "version": "5.44.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -23616,15 +23723,14 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", - "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "engines": { @@ -23712,11 +23818,10 @@ } }, "node_modules/thingies": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", - "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", + "integrity": "sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.18" }, @@ -23824,7 +23929,6 @@ "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -23965,11 +24069,28 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, + "node_modules/tsyringe": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", + "dev": true, + "dependencies": { + "tslib": "^1.9.3" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/tsyringe/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/tuf-js": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz", "integrity": "sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==", - "license": "MIT", "dependencies": { "@tufjs/models": "4.1.0", "debug": "^4.4.3", @@ -23983,7 +24104,6 @@ "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -24374,9 +24494,9 @@ } }, "node_modules/typescript-eslint/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dev": true, "dependencies": { "balanced-match": "^4.0.2" @@ -24482,9 +24602,9 @@ } }, "node_modules/undici": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.20.0.tgz", - "integrity": "sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz", + "integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==", "dev": true, "engines": { "node": ">=20.18.1" @@ -24495,7 +24615,6 @@ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -24505,7 +24624,6 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -24519,7 +24637,6 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -24529,7 +24646,6 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -24564,30 +24680,6 @@ "node": ">= 0.8.0" } }, - "node_modules/unique-filename": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz", - "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==", - "license": "ISC", - "dependencies": { - "unique-slug": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/unique-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz", - "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/unist-util-find-after": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", @@ -24857,9 +24949,9 @@ } }, "node_modules/uuid": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", - "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz", + "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -24875,21 +24967,10 @@ "dev": true, "license": "MIT" }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/validate-npm-package-name": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz", "integrity": "sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==", - "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" } @@ -24945,11 +25026,10 @@ } }, "node_modules/vite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "dev": true, - "license": "MIT", "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -25020,11 +25100,10 @@ } }, "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -25078,11 +25157,10 @@ "license": "MIT" }, "node_modules/watchpack": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", - "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -25105,7 +25183,6 @@ "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", "dev": true, - "license": "MIT", "optional": true }, "node_modules/web-namespaces": { @@ -25119,9 +25196,9 @@ } }, "node_modules/webpack": { - "version": "5.105.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.0.tgz", - "integrity": "sha512-gX/dMkRQc7QOMzgTe6KsYFM7DxeIONQSui1s0n/0xht36HvrgbxtM1xBlgx596NbpHuQU8P7QpKwrZYwUX48nw==", + "version": "5.105.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", + "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.7", @@ -25171,7 +25248,6 @@ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", "dev": true, - "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^4.43.1", @@ -25213,7 +25289,6 @@ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -25223,7 +25298,6 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, @@ -25236,9 +25310,9 @@ } }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -25255,14 +25329,14 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", - "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", + "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", "dev": true, "dependencies": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", + "@types/express": "^4.17.25", "@types/express-serve-static-core": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", @@ -25272,9 +25346,9 @@ "bonjour-service": "^1.2.1", "chokidar": "^3.6.0", "colorette": "^2.0.10", - "compression": "^1.7.4", + "compression": "^1.8.1", "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", + "express": "^4.22.1", "graceful-fs": "^4.2.6", "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", @@ -25282,7 +25356,7 @@ "open": "^10.0.3", "p-retry": "^6.2.0", "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", + "selfsigned": "^5.5.0", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -25311,15 +25385,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/webpack-dev-server/node_modules/ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", @@ -25369,9 +25434,9 @@ } }, "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -25388,9 +25453,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", "dev": true, "engines": { "node": ">=10.0.0" @@ -25511,19 +25576,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/webpack/node_modules/watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -25751,9 +25803,9 @@ } }, "node_modules/wsl-utils/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "dev": true, "dependencies": { "is-inside-container": "^1.0.0" @@ -25893,10 +25945,9 @@ } }, "node_modules/zod": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", - "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", - "license": "MIT", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -25934,142 +25985,142 @@ }, "dependencies": { "@algolia/abtesting": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.2.tgz", - "integrity": "sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.14.1.tgz", + "integrity": "sha512-Dkj0BgPiLAaim9sbQ97UKDFHJE/880wgStAM18U++NaJ/2Cws34J5731ovJifr6E3Pv4T2CqvMXf8qLCC417Ew==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/client-abtesting": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.2.tgz", - "integrity": "sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.48.1.tgz", + "integrity": "sha512-LV5qCJdj+/m9I+Aj91o+glYszrzd7CX6NgKaYdTOj4+tUYfbS62pwYgUfZprYNayhkQpVFcrW8x8ZlIHpS23Vw==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/client-analytics": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.46.2.tgz", - "integrity": "sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.48.1.tgz", + "integrity": "sha512-/AVoMqHhPm14CcHq7mwB+bUJbfCv+jrxlNvRjXAuO+TQa+V37N8k1b0ijaRBPdmSjULMd8KtJbQyUyabXOu6Kg==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/client-common": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.46.2.tgz", - "integrity": "sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==" + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.48.1.tgz", + "integrity": "sha512-VXO+qu2Ep6ota28ktvBm3sG53wUHS2n7bgLWmce5jTskdlCD0/JrV4tnBm1l7qpla1CeoQb8D7ShFhad+UoSOw==" }, "@algolia/client-insights": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.46.2.tgz", - "integrity": "sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.48.1.tgz", + "integrity": "sha512-zl+Qyb0nLg+Y5YvKp1Ij+u9OaPaKg2/EPzTwKNiVyOHnQJlFxmXyUZL1EInczAZsEY8hVpPCLtNfhMhfxluXKQ==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/client-personalization": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.46.2.tgz", - "integrity": "sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.48.1.tgz", + "integrity": "sha512-r89Qf9Oo9mKWQXumRu/1LtvVJAmEDpn8mHZMc485pRfQUMAwSSrsnaw1tQ3sszqzEgAr1c7rw6fjBI+zrAXTOw==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/client-query-suggestions": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.46.2.tgz", - "integrity": "sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.48.1.tgz", + "integrity": "sha512-TPKNPKfghKG/bMSc7mQYD9HxHRUkBZA4q1PEmHgICaSeHQscGqL4wBrKkhfPlDV1uYBKW02pbFMUhsOt7p4ZpA==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/client-search": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.46.2.tgz", - "integrity": "sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", + "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/ingestion": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.46.2.tgz", - "integrity": "sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.48.1.tgz", + "integrity": "sha512-/RFq3TqtXDUUawwic/A9xylA2P3LDMO8dNhphHAUOU51b1ZLHrmZ6YYJm3df1APz7xLY1aht6okCQf+/vmrV9w==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/monitoring": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.46.2.tgz", - "integrity": "sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.48.1.tgz", + "integrity": "sha512-Of0jTeAZRyRhC7XzDSjJef0aBkgRcvRAaw0ooYRlOw57APii7lZdq+layuNdeL72BRq1snaJhoMMwkmLIpJScw==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/recommend": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.46.2.tgz", - "integrity": "sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.48.1.tgz", + "integrity": "sha512-bE7JcpFXzxF5zHwj/vkl2eiCBvyR1zQ7aoUdO+GDXxGp0DGw7nI0p8Xj6u8VmRQ+RDuPcICFQcCwRIJT5tDJFw==", "requires": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "@algolia/requester-browser-xhr": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.46.2.tgz", - "integrity": "sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.48.1.tgz", + "integrity": "sha512-MK3wZ2koLDnvH/AmqIF1EKbJlhRS5j74OZGkLpxI4rYvNi9Jn/C7vb5DytBnQ4KUWts7QsmbdwHkxY5txQHXVw==", "requires": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" } }, "@algolia/requester-fetch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.46.2.tgz", - "integrity": "sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.48.1.tgz", + "integrity": "sha512-2oDT43Y5HWRSIQMPQI4tA/W+TN/N2tjggZCUsqQV440kxzzoPGsvv9QP1GhQ4CoDa+yn6ygUsGp6Dr+a9sPPSg==", "requires": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" } }, "@algolia/requester-node-http": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.46.2.tgz", - "integrity": "sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.48.1.tgz", + "integrity": "sha512-xcaCqbhupVWhuBP1nwbk1XNvwrGljozutEiLx06mvqDf3o8cHyEgQSHS4fKJM+UAggaWVnnFW+Nne5aQ8SUJXg==", "requires": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" } }, "@ampproject/remapping": { @@ -26219,88 +26270,88 @@ } }, "@angular-devkit/build-angular": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-21.1.5.tgz", - "integrity": "sha512-B2jOBAiVl+hA3PLwpxfrbW/gA7SDu9Uv+hQwHYrdwL2XXDVwaQ+c3z9BS3yJDQTkb/TrAJ0sfa2zVLC4b/rHzg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-21.2.8.tgz", + "integrity": "sha512-NvTsu4+aDxj/mObw/tlFH7iyiDlFA7uVmk5jdicaV7TeY8QbMA0ona1mlSqehhyE0dgrROeYV6rXeJ4BcX7waw==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2101.5", - "@angular-devkit/build-webpack": "0.2101.5", - "@angular-devkit/core": "21.1.5", - "@angular/build": "21.1.5", - "@babel/core": "7.28.5", - "@babel/generator": "7.28.5", + "@angular-devkit/architect": "0.2102.8", + "@angular-devkit/build-webpack": "0.2102.8", + "@angular-devkit/core": "21.2.8", + "@angular/build": "21.2.8", + "@babel/core": "7.29.0", + "@babel/generator": "7.29.1", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.28.0", - "@babel/plugin-transform-async-to-generator": "7.27.1", - "@babel/plugin-transform-runtime": "7.28.5", - "@babel/preset-env": "7.28.5", - "@babel/runtime": "7.28.4", + "@babel/plugin-transform-async-generator-functions": "7.29.0", + "@babel/plugin-transform-async-to-generator": "7.28.6", + "@babel/plugin-transform-runtime": "7.29.0", + "@babel/preset-env": "7.29.2", + "@babel/runtime": "7.29.2", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "21.1.5", + "@ngtools/webpack": "21.2.8", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.23", + "autoprefixer": "10.4.27", "babel-loader": "10.0.0", "browserslist": "^4.26.0", - "copy-webpack-plugin": "13.0.1", - "css-loader": "7.1.2", - "esbuild": "0.27.2", - "esbuild-wasm": "0.27.2", + "copy-webpack-plugin": "14.0.0", + "css-loader": "7.1.3", + "esbuild": "0.27.3", + "esbuild-wasm": "0.27.3", "http-proxy-middleware": "3.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", "less": "4.4.2", - "less-loader": "12.3.0", + "less-loader": "12.3.1", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.9.4", + "mini-css-extract-plugin": "2.10.0", "open": "11.0.0", - "ora": "9.0.0", - "picomatch": "4.0.3", + "ora": "9.3.0", + "picomatch": "4.0.4", "piscina": "5.1.4", "postcss": "8.5.6", "postcss-loader": "8.2.0", "resolve-url-loader": "5.0.0", "rxjs": "7.8.2", - "sass": "1.97.1", - "sass-loader": "16.0.6", - "semver": "7.7.3", + "sass": "1.97.3", + "sass-loader": "16.0.7", + "semver": "7.7.4", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.44.1", + "terser": "5.46.0", "tinyglobby": "0.2.15", "tree-kill": "1.2.2", "tslib": "2.8.1", - "webpack": "5.105.0", + "webpack": "5.105.2", "webpack-dev-middleware": "7.4.5", - "webpack-dev-server": "5.2.2", + "webpack-dev-server": "5.2.3", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "dependencies": { "@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dev": true, "requires": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" } }, "@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dev": true, "requires": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" } @@ -26338,19 +26389,6 @@ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true }, - "autoprefixer": { - "version": "10.4.23", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", - "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", - "dev": true, - "requires": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001760", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - } - }, "chalk": { "version": "5.6.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", @@ -26410,9 +26448,9 @@ } }, "ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "dev": true, "requires": { "chalk": "^5.6.2", @@ -26421,34 +26459,45 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" } }, "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true + }, + "semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true + }, + "stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", "dev": true }, "string-width": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", - "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "dev": true, "requires": { - "get-east-asian-width": "^1.3.0", - "strip-ansi": "^7.1.0" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" } }, "strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "requires": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" } }, "wsl-utils": { @@ -26464,35 +26513,35 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2101.5.tgz", - "integrity": "sha512-G3mvUXiSU3DL1QKngq/yXT94Wr+IdqtOM/1VC3NmsV9KX3OSfwfc560dmhY1efqc9gBA5qL+7kLlgV7Kx/Su3A==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2102.8.tgz", + "integrity": "sha512-XBSfx302hMcnF7ABxObIInusYr8S0R9vqORKe48/bKhI5J15gyGXrlRvjXEPCY3s3w3ysLKcw5POBo5zEmmuGQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.2101.5", + "@angular-devkit/architect": "0.2102.8", "rxjs": "7.8.2" }, "dependencies": { "@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dev": true, "requires": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" } }, "@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dev": true, "requires": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" } @@ -26519,9 +26568,9 @@ } }, "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true } } @@ -26694,69 +26743,69 @@ } }, "@angular/animations": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.1.6.tgz", - "integrity": "sha512-Ft8B0tHBRyd7ORpbaa2S0yRqHSdsyMH6oot7ODAA3kv03k4GTwp74U6Y/NyV4JoZ+lr28+EV4YMv3mAqJwIy/g==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.10.tgz", + "integrity": "sha512-sIzAcxwtRCJ/fu0tK4mo1ooiEaDxJ+Nl6s9nK1D1NP1em12VX03Jx8CMixp/kVtgh4mZnm1x6psBB0FUz3U3Ug==", "requires": { "tslib": "^2.3.0" } }, "@angular/build": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.5.tgz", - "integrity": "sha512-v2eDinWKlSKuk5pyMMY8j5TMFW8HA9B1l13TrDDpxsRGAAzekg7TFNyuh1x9Y6Rq4Vn+8/8pCjMUPZigzWbMhQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.8.tgz", + "integrity": "sha512-t0PHT7ONDMLwcjC9GaClNF+gsUKN78ofBikw4huiu6np5Rwmxp8KKCrdoRx20lOiibSolXgjZ2Ny0xxjNdNdQA==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2101.5", - "@babel/core": "7.28.5", + "@angular-devkit/architect": "0.2102.8", + "@babel/core": "7.29.0", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", "@inquirer/confirm": "5.1.21", - "@vitejs/plugin-basic-ssl": "2.1.0", - "beasties": "0.3.5", + "@vitejs/plugin-basic-ssl": "2.1.4", + "beasties": "0.4.1", "browserslist": "^4.26.0", - "esbuild": "0.27.2", + "esbuild": "0.27.3", "https-proxy-agent": "7.0.6", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "listr2": "9.0.5", - "lmdb": "3.4.4", + "lmdb": "3.5.1", "magic-string": "0.30.21", "mrmime": "2.0.1", "parse5-html-rewriting-stream": "8.0.0", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "piscina": "5.1.4", - "rolldown": "1.0.0-beta.58", - "sass": "1.97.1", - "semver": "7.7.3", + "rolldown": "1.0.0-rc.4", + "sass": "1.97.3", + "semver": "7.7.4", "source-map-support": "0.5.21", "tinyglobby": "0.2.15", - "undici": "7.20.0", - "vite": "7.3.0", - "watchpack": "2.5.0" + "undici": "7.24.4", + "vite": "7.3.2", + "watchpack": "2.5.1" }, "dependencies": { "@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dev": true, "requires": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" } }, "@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dev": true, "requires": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" } @@ -26805,17 +26854,23 @@ } }, "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true + }, + "semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true } } }, "@angular/cdk": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.1.6.tgz", - "integrity": "sha512-a6isY8eWxfRO99KPs8GLMQRDE06diNbPmD9tcYi+EWxjPFOZ88QJmMN8a0yja+LDQaG2kRbNBLjYUEro3qCpTQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.8.tgz", + "integrity": "sha512-WdvMLpuFcRgDWLDyin3sw5a65PQYdI0Y+4BxiMxOkesoZ2RZTBAlLKIfQ9Nz5CY3LamUTO3Qel2T8ZhJ+Cqfuw==", "requires": { "parse5": "^8.0.0", "tslib": "^2.3.0" @@ -26837,62 +26892,61 @@ } }, "@angular/cli": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.5.tgz", - "integrity": "sha512-ljqvAzSk8FKMaYW/aZhR+SXjudbQViYYkMlJvJUClGpokjDM9KfJWPX+QZfr2J+piW5yaaHmFaIMddO9QxkUDQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.8.tgz", + "integrity": "sha512-Y+/US12o+7X2774oeKPsEfHeeYM2SxwnyoXfcaLR8vrMn0zxUrhHebmlz9h83th4EJEuex1Qk0JtF7j5vcwrqQ==", "requires": { - "@angular-devkit/architect": "0.2101.5", - "@angular-devkit/core": "21.1.5", - "@angular-devkit/schematics": "21.1.5", + "@angular-devkit/architect": "0.2102.8", + "@angular-devkit/core": "21.2.8", + "@angular-devkit/schematics": "21.2.8", "@inquirer/prompts": "7.10.1", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.1.5", + "@schematics/angular": "21.2.8", "@yarnpkg/lockfile": "1.1.0", - "algoliasearch": "5.46.2", + "algoliasearch": "5.48.1", "ini": "6.0.0", "jsonc-parser": "3.3.1", "listr2": "9.0.5", "npm-package-arg": "13.0.2", - "pacote": "21.0.4", + "pacote": "21.3.1", "parse5-html-rewriting-stream": "8.0.0", - "resolve": "1.22.11", - "semver": "7.7.3", + "semver": "7.7.4", "yargs": "18.0.0", - "zod": "4.3.5" + "zod": "4.3.6" }, "dependencies": { "@angular-devkit/architect": { - "version": "0.2101.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.5.tgz", - "integrity": "sha512-eTo6wWzUW5AyBBLTbaUTpBHhGbZhzteErtNGklWkhjicCr/soNH+2mVtvg8bqA8sNreYffK1VXKFsq5NyMh5qg==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "requires": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" } }, "@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "requires": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" } }, "@angular-devkit/schematics": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.5.tgz", - "integrity": "sha512-CGmoorQL5+mVCJEHwHWOrhSd1hFxB3h66i9wUDizJAEQUM3mSml5SiglHArpWY/G4GmFwi6XVe+Jm3U8J/mcFg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.8.tgz", + "integrity": "sha512-UTEMM1JXzzxufLsTGDsWth2E7+8e9PaFT7nbjUvJ2qevltACkiqAbHEpiD2ISzrSRIO3OirJ+cZtnzXO0FyoBQ==", "requires": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", - "ora": "9.0.0", + "ora": "9.3.0", "rxjs": "7.8.2" } }, @@ -26968,9 +27022,9 @@ } }, "ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "requires": { "chalk": "^5.6.2", "cli-cursor": "^5.0.0", @@ -26978,15 +27032,14 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" }, "dependencies": { "string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "requires": { "get-east-asian-width": "^1.5.0", "strip-ansi": "^7.1.2" @@ -26995,9 +27048,19 @@ } }, "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" + }, + "semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==" + }, + "stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==" }, "string-width": { "version": "7.2.0", @@ -27048,27 +27111,27 @@ } }, "@angular/common": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.6.tgz", - "integrity": "sha512-qEfwyJhebl2tHwFhKHE/ZzsCLMWnQ0u/UDS23KUA4tTWaOKH8Usu7DS1B3KnUravII8R6ZpYn86L+B903v9WxA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.10.tgz", + "integrity": "sha512-WLyi/CRLtgALg2mmaqIuKuPnE4i+8PGt/uuz26pVqx+ASh28/TWr5KSCAMomgxEc8kt4OE7lopoQsTihrQCfEw==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.6.tgz", - "integrity": "sha512-8RFdfbWTyx+OiRkiK2LsYPuhv8b65S3x/4+98kZRCrzP6YNjq/qsuqpfMUIKwnjok78FfhGyEx4I5LOV3Vkabw==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.10.tgz", + "integrity": "sha512-IrgdFuzzD7NTK3WQaSfowjAPxPbnTqsgR92NsOs5ZaWu3RgLl21dHThNc0BK1KwVwppLUSWmD4qePbcLW71VzQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.6.tgz", - "integrity": "sha512-0JU2cBDMSB4hU4KwDS2ThrkGh+Njf8Yfm11CKR0NWbHGwW1xHa7whlcpUzX/USqL+FNGXQ75R0fOcZrT86YvrA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.10.tgz", + "integrity": "sha512-FDcnj3ogRmnTca4m2GbKP2khFOCtoVvWDZyfw2ZCPAf+zsQlKTyscKvx4GpTFo+KHrYXpawUpDIWHORFpuqFEA==", "requires": { - "@babel/core": "7.28.5", + "@babel/core": "7.29.0", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^5.0.0", "convert-source-map": "^1.5.1", @@ -27165,56 +27228,56 @@ } }, "@angular/core": { - "version": "21.2.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.4.tgz", - "integrity": "sha512-2+gd67ZuXHpGOqeb2o7XZPueEWEP81eJza2tSHkT5QMV8lnYllDEmaNnkPxnIjSLGP1O3PmiXxo4z8ibHkLZwg==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.10.tgz", + "integrity": "sha512-uxH+mbPiCE7rInWKYOPe9Ytas97+mFM6FhFORoN234yBK3b8he+iDuxX6dsbhEFCxhRmfS6hLxe7BdLY6U6kIA==", "requires": { "tslib": "^2.3.0" } }, "@angular/elements": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-21.1.6.tgz", - "integrity": "sha512-LvF0kgh1XxLlXyw5CS5C787HYFAIGVHAg9HNgGZKINeu16Og7KCnsVszAyWiVn1t3trcLARcScYgrOcuwBYzIg==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-21.2.10.tgz", + "integrity": "sha512-2Bo41w9sg/1gUtA+b1lEMnuby/llpVt2MfJeuCE4/hbaseXYZfMFRS71ro9DhmNyzG8GHAS9sToCkrfrhB/99g==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.6.tgz", - "integrity": "sha512-Bw3nVDWihGUGyys7oq2zdJ2MjvJvU1x1WaExYmp3rKU3S7rQXGq6IxY8bopTtHirTANrY2KUEnJ2IlK+xVg9OA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.10.tgz", + "integrity": "sha512-XOo9qkuBqCLzSBXmyga9ke2tSulxWl+E7Y9Uwqgz8sJtQUlyP/0GYJfu60jiC3NAYobk9K/6h6MsU8zftQKdaA==", "requires": { "@standard-schema/spec": "^1.0.0", "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.1.6.tgz", - "integrity": "sha512-I2gYI9cKP/B/rUz8WVaWNpuULSdq4W+ZUm6YQyUXdGEh3dDEssK1xLucPBfUT7RAr6h7+w5/RS+zKWC1q9g24w==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.2.10.tgz", + "integrity": "sha512-9f5XgigqdscuCmUZ2WAbuCKgOZfq6dennEOsvqjfposnaU90Y01cD9O75xKf4ONEANOfTwVcQCqGZeZ6Cnpdvw==", "dev": true }, "@angular/platform-browser": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.6.tgz", - "integrity": "sha512-im6aNcgYdIYIVW2262ATkC39WUmhc+KVNVKwKtO5jlOsq9TWmxT1/esncEAlokMe5os6eeb/Ga4D6Ghj0gj4Ig==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.10.tgz", + "integrity": "sha512-5WMoHGU8BOV3eO9h3vGMIUDPf+3SHis7+X2dHKMtKfFBUtiO8m/lq2x3PzkkKj1782i7KYt92EqPHuADd/eWOw==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.1.6.tgz", - "integrity": "sha512-lVtHkhK/jnrGdX+4S8ItfMO+5buHAU9NMHeDq+QqalnXznMaC7Qd4BPLcRWW4QAI177zG0NE1Bet5cjO75N9+w==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.10.tgz", + "integrity": "sha512-+/HMJSLnF87EODkHj0AKE3Q8AfYO/8jpTfr731QmplqBtCoLlA/1XR8aYow2hB9YKL9HZWDb2qGkRtCXhrtt+w==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "21.1.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.6.tgz", - "integrity": "sha512-JJn0gfeRks2czbeLmtxxjIlmKtOmjYi3yAaoAwiwpbfVHPLJeJ32axLJREAU0dBkThF8YD+r18uEJ9UrvkqrtA==", + "version": "21.2.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.10.tgz", + "integrity": "sha512-4cHHwewIhFEAAaRgJ80371EOtNlydFHbjj/UENLZitjU0azal0mfFCBdkaEdVehd7+mH5xO7MRjy6eFTcTYR5Q==", "requires": { "tslib": "^2.3.0" } @@ -27264,9 +27327,9 @@ } }, "@babel/code-frame": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", - "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "requires": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", @@ -27274,24 +27337,24 @@ } }, "@babel/compat-data": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", - "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==" + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==" }, "@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -27313,12 +27376,12 @@ } }, "@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "requires": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -27395,16 +27458,16 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", - "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "debug": "^4.4.1", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", "lodash.debounce": "^4.0.8", - "resolve": "^1.22.10" + "resolve": "^1.22.11" }, "dependencies": { "debug": { @@ -27544,11 +27607,11 @@ } }, "@babel/parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", - "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "requires": { - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" } }, "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { @@ -27644,24 +27707,24 @@ } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", - "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.28.0" + "@babel/traverse": "^7.29.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", - "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1" } }, @@ -27757,9 +27820,9 @@ } }, "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.28.6.tgz", - "integrity": "sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.28.5", @@ -27881,15 +27944,15 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", - "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.5" + "@babel/traverse": "^7.29.0" } }, "@babel/plugin-transform-modules-umd": { @@ -27903,13 +27966,13 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-new-target": { @@ -28021,9 +28084,9 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.6.tgz", - "integrity": "sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.28.6" @@ -28049,13 +28112,13 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz", - "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "babel-plugin-polyfill-corejs2": "^0.4.14", "babel-plugin-polyfill-corejs3": "^0.13.0", "babel-plugin-polyfill-regenerator": "^0.6.5", @@ -28156,83 +28219,93 @@ } }, "@babel/preset-env": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", - "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", + "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", "dev": true, "requires": { - "@babel/compat-data": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.28.0", - "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.5", - "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.28.3", - "@babel/plugin-transform-classes": "^7.28.4", - "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.28.6", "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", "@babel/plugin-transform-member-expression-literals": "^7.27.1", "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-modules-systemjs": "^7.28.5", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", - "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.27.1", - "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.28.4", - "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", "@babel/plugin-transform-sticky-regex": "^7.27.1", "@babel/plugin-transform-template-literals": "^7.27.1", "@babel/plugin-transform-typeof-symbol": "^7.27.1", "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "core-js-compat": "^3.43.0", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", "semver": "^6.3.1" }, "dependencies": { + "babel-plugin-polyfill-corejs3": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.8", + "core-js-compat": "^3.48.0" + } + }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -28253,9 +28326,9 @@ } }, "@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==" + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==" }, "@babel/runtime-corejs3": { "version": "7.28.4", @@ -28276,37 +28349,23 @@ } }, "@babel/traverse": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", - "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "requires": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.6", + "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" - }, - "dependencies": { - "@babel/generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", - "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", - "requires": { - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - } - } } }, "@babel/types": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", - "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "requires": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" @@ -28441,37 +28500,6 @@ "resolved": "https://registry.npmjs.org/@datorama/akita/-/akita-8.0.1.tgz", "integrity": "sha512-0VnPWd+Sy3ColhzjDSBNcEnzAQtbezk6bYmJHvPaLMK5Ysl90KcNls2bE4sj5vaLeGLjhMtqtfp/RgrigPXDxA==" }, - "@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", - "dev": true, - "optional": true, - "requires": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "dev": true, - "optional": true, - "requires": { - "tslib": "^2.4.0" - } - }, - "@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "optional": true, - "requires": { - "tslib": "^2.4.0" - } - }, "@emoji-mart/data": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emoji-mart/data/-/data-1.2.1.tgz", @@ -28496,184 +28524,184 @@ "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" }, "@esbuild/aix-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", - "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", "dev": true, "optional": true }, "@esbuild/android-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", - "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", - "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", - "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", - "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", - "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", - "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", - "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", - "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", - "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", - "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", - "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", - "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", - "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", - "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", - "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", - "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", "dev": true, "optional": true }, "@esbuild/netbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", - "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", - "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", "dev": true, "optional": true }, "@esbuild/openbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", - "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", - "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", "dev": true, "optional": true }, "@esbuild/openharmony-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", - "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", - "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", - "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", - "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", - "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", "dev": true, "optional": true }, @@ -28957,6 +28985,11 @@ "@fullcalendar/scrollgrid": "~6.1.20" } }, + "@gar/promise-retry": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==" + }, "@github/auto-check-element": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@github/auto-check-element/-/auto-check-element-6.0.0.tgz", @@ -29037,6 +29070,13 @@ "prosemirror-transform": "^1.0.0" } }, + "@harperfast/extended-iterable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@harperfast/extended-iterable/-/extended-iterable-1.0.3.tgz", + "integrity": "sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==", + "dev": true, + "optional": true + }, "@hocuspocus/common": { "version": "3.4.4", "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-3.4.4.tgz", @@ -29081,66 +29121,66 @@ } }, "@html-eslint/core": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/core/-/core-0.58.1.tgz", - "integrity": "sha512-GHYDt2Q3ws9aa0/bmMhkv21ExQJnrjKY/iByjdBVp3lBq49wlzIzvAfcx4Bsp+RMV3oPZhzlnLhPpXLuVYt2mQ==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/core/-/core-0.59.0.tgz", + "integrity": "sha512-/s5W9Iivmf2RXVzQlFboXQRqK62JQdKvcIdFMP5K1kxbVEJxha/VUo1Rafn1GKgLQsP5QIbUjoZbzGlN7fVxog==", "dev": true, "requires": { - "@html-eslint/types": "^0.58.1", + "@html-eslint/types": "^0.59.0", "html-standard": "^0.0.13" } }, "@html-eslint/eslint-plugin": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.58.1.tgz", - "integrity": "sha512-aizTTKbNF2sW+lXWP+uWBoo5Ud9xtUkr70+0pYhItwJF0yhRqLQ91PhW+9afC0daymQjn13MunzDPwGPG0seDg==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.59.0.tgz", + "integrity": "sha512-RMABPGdTkBtDIqexNBzxB3d4S1C+3PvxC8bLV2/U6tTmrRj8oNOqJ7Bwwtt35HJEQclfZvL0y3XZk+/E/MhNsQ==", "dev": true, "requires": { "@eslint/plugin-kit": "^0.4.1", - "@html-eslint/core": "^0.58.1", - "@html-eslint/parser": "^0.58.1", - "@html-eslint/template-parser": "^0.58.1", - "@html-eslint/template-syntax-parser": "^0.58.1", - "@html-eslint/types": "^0.58.1", + "@html-eslint/core": "^0.59.0", + "@html-eslint/parser": "^0.59.0", + "@html-eslint/template-parser": "^0.59.0", + "@html-eslint/template-syntax-parser": "^0.59.0", + "@html-eslint/types": "^0.59.0", "@rviscomi/capo.js": "^2.1.0", "html-standard": "^0.0.13" } }, "@html-eslint/parser": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.58.1.tgz", - "integrity": "sha512-a87peH9HcVDrKZZIYdfMlPZ+72nIktAitKcdoHQevuaXWsgvDtClKihJyy5dZS9md6hIbCh62Og5gQRhl85ZMg==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.59.0.tgz", + "integrity": "sha512-dsUdpOkFrq0HmPyy8kuw2uN98LIzEepdI/Xj6QimgPQ4GOmjDRocuOCcuBI1K+F9O+NYXdaKMtZ3SzI1V/jB4g==", "dev": true, "requires": { - "@html-eslint/template-syntax-parser": "^0.58.1", - "@html-eslint/types": "^0.58.1", + "@html-eslint/template-syntax-parser": "^0.59.0", + "@html-eslint/types": "^0.59.0", "css-tree": "^3.1.0", "es-html-parser": "0.3.1" } }, "@html-eslint/template-parser": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.58.1.tgz", - "integrity": "sha512-qo6jTc4Y6vVgwPc2w+EQigH7uCAn+LExxE5oG1URRT98UiJ7dItX0Qk44r/+5XQwSS1TsdvBNLxM2NAktETSWA==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.59.0.tgz", + "integrity": "sha512-3MN4uizEeSVP2l6jgy5COAH6V3PnnJUcaq2jU6elbB4EP+zBfh6KOG2yk9DmnjfNTL2SgXOlk3WkEY3LXDluqQ==", "dev": true, "requires": { - "@html-eslint/types": "^0.58.1", + "@html-eslint/types": "^0.59.0", "es-html-parser": "0.3.1" } }, "@html-eslint/template-syntax-parser": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.58.1.tgz", - "integrity": "sha512-P1ZhxIPm9qFWSees2/EZ7Etg1OXziqzRZEuI9goO91fJS6dmdT4JnHLugN06FLL706RwpvenBUlE0iZA9/MXdg==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.59.0.tgz", + "integrity": "sha512-CMPPLP0EcgoJyU3k6girTPtxuXssHTh3/eFO8S2LagnBCXtJfMu5F3IahXamwMCMVbzaCDzIhg1doXL5Rw7vUQ==", "dev": true, "requires": { - "@html-eslint/types": "^0.58.1" + "@html-eslint/types": "^0.59.0" } }, "@html-eslint/types": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/@html-eslint/types/-/types-0.58.1.tgz", - "integrity": "sha512-1F2A5XXpgfHQ8dm14E/EztyERoVldT91VGMZCJECZpidf5Cbc21vxeHLT6/POTJm0ICJOmyBlocF62i/rkoVEQ==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@html-eslint/types/-/types-0.59.0.tgz", + "integrity": "sha512-YwNaTUQW5ObFFUohbGe1X0az2biDOH/6e6GR9VympbFUObUoWlXasGqRRMKi7IbxGPOZ8ucZK89ZWeAFm56Pwg==", "dev": true, "requires": { "@types/css-tree": "^2.3.11", @@ -29460,9 +29500,9 @@ "dev": true }, "@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", + "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", "dev": true }, "@jsonjoy.com/codegen": { @@ -29471,6 +29511,141 @@ "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", "dev": true }, + "@jsonjoy.com/fs-core": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.57.2.tgz", + "integrity": "sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ==", + "dev": true, + "requires": { + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "thingies": "^2.5.0" + } + }, + "@jsonjoy.com/fs-fsa": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.2.tgz", + "integrity": "sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g==", + "dev": true, + "requires": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "thingies": "^2.5.0" + } + }, + "@jsonjoy.com/fs-node": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.57.2.tgz", + "integrity": "sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg==", + "dev": true, + "requires": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", + "glob-to-regex.js": "^1.0.0", + "thingies": "^2.5.0" + } + }, + "@jsonjoy.com/fs-node-builtins": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.2.tgz", + "integrity": "sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg==", + "dev": true + }, + "@jsonjoy.com/fs-node-to-fsa": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.2.tgz", + "integrity": "sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ==", + "dev": true, + "requires": { + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2" + } + }, + "@jsonjoy.com/fs-node-utils": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.2.tgz", + "integrity": "sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ==", + "dev": true, + "requires": { + "@jsonjoy.com/fs-node-builtins": "4.57.2" + } + }, + "@jsonjoy.com/fs-print": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.57.2.tgz", + "integrity": "sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ==", + "dev": true, + "requires": { + "@jsonjoy.com/fs-node-utils": "4.57.2", + "tree-dump": "^1.1.0" + } + }, + "@jsonjoy.com/fs-snapshot": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.2.tgz", + "integrity": "sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw==", + "dev": true, + "requires": { + "@jsonjoy.com/buffers": "^17.65.0", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/json-pack": "^17.65.0", + "@jsonjoy.com/util": "^17.65.0" + }, + "dependencies": { + "@jsonjoy.com/base64": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.67.0.tgz", + "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", + "dev": true + }, + "@jsonjoy.com/codegen": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", + "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", + "dev": true + }, + "@jsonjoy.com/json-pack": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", + "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", + "dev": true, + "requires": { + "@jsonjoy.com/base64": "17.67.0", + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0", + "@jsonjoy.com/json-pointer": "17.67.0", + "@jsonjoy.com/util": "17.67.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + } + }, + "@jsonjoy.com/json-pointer": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", + "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", + "dev": true, + "requires": { + "@jsonjoy.com/util": "17.67.0" + } + }, + "@jsonjoy.com/util": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.67.0.tgz", + "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", + "dev": true, + "requires": { + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0" + } + } + } + }, "@jsonjoy.com/json-pack": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", @@ -29485,6 +29660,14 @@ "hyperdyperid": "^1.2.0", "thingies": "^2.5.0", "tree-dump": "^1.1.0" + }, + "dependencies": { + "@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true + } } }, "@jsonjoy.com/json-pointer": { @@ -29505,12 +29688,20 @@ "requires": { "@jsonjoy.com/buffers": "^1.0.0", "@jsonjoy.com/codegen": "^1.0.0" + }, + "dependencies": { + "@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true + } } }, "@knowledgecode/delegate": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@knowledgecode/delegate/-/delegate-0.10.0.tgz", - "integrity": "sha512-bu6T27FlgX+rZY6xKGvM7M6dPXtSaHTj/RpFXoD7bkFths3hn/dqg84uqQWSJTGFljeBBjyzdAlI9eSV0bI1HA==" + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@knowledgecode/delegate/-/delegate-0.10.3.tgz", + "integrity": "sha512-iuee+vI4XhtiSHv+UpjTU4mDl2Og9FS+Rgvk645At92P3U+GJ3YJfYgC/Gi+fNdAzXCXK2yPHSyc4fF4x93crw==" }, "@kolkov/ngx-gallery": { "version": "2.0.1", @@ -29558,51 +29749,51 @@ } }, "@lmdb/lmdb-darwin-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.4.tgz", - "integrity": "sha512-XaKL705gDWd6XVls3ATDj13ZdML/LqSIxwgnYpG8xTzH2ifArx8fMMDdvqGE/Emd+W6R90W2fveZcJ0AyS8Y0w==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.1.tgz", + "integrity": "sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==", "dev": true, "optional": true }, "@lmdb/lmdb-darwin-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.4.tgz", - "integrity": "sha512-GPHGEVcwJlkD01GmIr7B4kvbIcUDS2+kBadVEd7lU4can1RZaZQLDDBJRrrNfS2Kavvl0VLI/cMv7UASAXGrww==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.1.tgz", + "integrity": "sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.4.tgz", - "integrity": "sha512-cmev5/dZr5ACKri9f6GU6lZCXTjMhV72xujlbOhFCgFXrt4W0TxGsmY8kA1BITvH60JBKE50cSxsiulybAbrrw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.1.tgz", + "integrity": "sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.4.tgz", - "integrity": "sha512-mALqr7DE42HsiwVTKpQWxacjHoJk+e9p00RWIJqTACh/hpucxp/0lK/XMh5XzWnU/TDCZLukq1+vNqnNumTP/Q==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.1.tgz", + "integrity": "sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.4.tgz", - "integrity": "sha512-QjLs8OcmCNcraAcLoZyFlo0atzBJniQLLwhtR+ymQqS5kLYpV5RqwriL87BW+ZiR9ZiGgZx3evrz5vnWPtJ1fQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.1.tgz", + "integrity": "sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==", "dev": true, "optional": true }, "@lmdb/lmdb-win32-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.4.tgz", - "integrity": "sha512-tr/pwHDlZ33forLGAr0tI04cRmP4SgF93yHbb+2zvZiDEyln5yMHhbKDySxY66aUOkhvBvTuHq9q/3YmTj6ZHQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.1.tgz", + "integrity": "sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==", "dev": true, "optional": true }, "@lmdb/lmdb-win32-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.4.tgz", - "integrity": "sha512-KRzfocJzB/mgoTCqnMawuLSKheHRVTqWfSmouIgYpFs6Hx4zvZSvsZKSCEb5gHmICy7qsx9l06jk3MFTtiFVAQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.1.tgz", + "integrity": "sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==", "dev": true, "optional": true }, @@ -29866,18 +30057,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==" }, - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, "iconv-lite": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", @@ -29954,11 +30133,6 @@ "send": "^1.2.0" } }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" - }, "type-is": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", @@ -30159,14 +30333,12 @@ "optional": true }, "@napi-rs/wasm-runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "dev": true, "optional": true, "requires": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" } }, @@ -30195,9 +30367,15 @@ } }, "@ngtools/webpack": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-21.1.5.tgz", - "integrity": "sha512-5nG9v/nEzsaKxgw5NurM6tPKPw0OYsCM3DL4ZI8+TidT55hYbsroTnyBcHBouJ1qlZlQXNtlsjsjBmBDtF7JZA==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-21.2.8.tgz", + "integrity": "sha512-e3A9NBuco6QdIqi4jKB8ateTGDEB2Nlby9Y5zG/uvbK0ggV6GPcEkqmVNX0LqyIQYv2Br9WmPLnJnegvl5lqEA==", + "dev": true + }, + "@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "dev": true }, "@npmcli/agent": { @@ -30213,9 +30391,9 @@ }, "dependencies": { "lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==" + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" } } }, @@ -30228,36 +30406,36 @@ } }, "@npmcli/git": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz", - "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.2.tgz", + "integrity": "sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==", "requires": { + "@gar/promise-retry": "^1.0.0", "@npmcli/promise-spawn": "^9.0.0", "ini": "^6.0.0", "lru-cache": "^11.2.1", "npm-pick-manifest": "^11.0.1", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^6.0.0" }, "dependencies": { "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==" }, "lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==" + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" }, "which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "requires": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" } } } @@ -30277,9 +30455,9 @@ "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==" }, "@npmcli/package-json": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.4.tgz", - "integrity": "sha512-0wInJG3j/K40OJt/33ax47WfWMzZTm6OQxB9cDhTt5huCP2a9g2GnlsxmfN+PulItNPIpPrZ+kfwwUil7eHcZQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.5.tgz", + "integrity": "sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==", "requires": { "@npmcli/git": "^7.0.0", "glob": "^13.0.0", @@ -30287,7 +30465,7 @@ "json-parse-even-better-errors": "^5.0.0", "proc-log": "^6.0.0", "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" + "spdx-expression-parse": "^4.0.0" } }, "@npmcli/promise-spawn": { @@ -30299,16 +30477,16 @@ }, "dependencies": { "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==" }, "which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "requires": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" } } } @@ -30319,31 +30497,15 @@ "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==" }, "@npmcli/run-script": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz", - "integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz", + "integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==", "requires": { "@npmcli/node-gyp": "^5.0.0", "@npmcli/package-json": "^7.0.0", "@npmcli/promise-spawn": "^9.0.0", "node-gyp": "^12.1.0", - "proc-log": "^6.0.0", - "which": "^6.0.0" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" - }, - "which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", - "requires": { - "isexe": "^3.1.1" - } - } + "proc-log": "^6.0.0" } }, "@oddbird/popover-polyfill": { @@ -30388,144 +30550,289 @@ } }, "@oxc-project/types": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.106.0.tgz", - "integrity": "sha512-QdsH3rZq480VnOHSHgPYOhjL8O8LBdcnSjM408BpPCCUc0JYYZPG9Gafl9i3OcGk/7137o+gweb4cCv3WAUykg==", + "version": "0.113.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", + "integrity": "sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==", "dev": true }, "@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", "dev": true, "optional": true, "requires": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1", - "detect-libc": "^1.0.3", + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6", + "detect-libc": "^2.0.3", "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" }, "dependencies": { - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "optional": true - }, "node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, "optional": true + }, + "picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "optional": true } } }, "@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", "dev": true, "optional": true }, "@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", "dev": true, "optional": true }, "@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", "dev": true, "optional": true }, "@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", "dev": true, "optional": true }, "@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", "dev": true, "optional": true }, "@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", "dev": true, "optional": true }, "@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", "dev": true, "optional": true }, "@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", "dev": true, "optional": true }, "@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", "dev": true, "optional": true }, "@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", "dev": true, "optional": true }, "@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", "dev": true, "optional": true }, "@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", "dev": true, "optional": true }, "@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", "dev": true, "optional": true }, + "@peculiar/asn1-cms": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz", + "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==", + "dev": true, + "requires": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-csr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz", + "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==", + "dev": true, + "requires": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-ecc": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz", + "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==", + "dev": true, + "requires": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-pfx": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz", + "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==", + "dev": true, + "requires": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-rsa": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-pkcs8": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz", + "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==", + "dev": true, + "requires": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-pkcs9": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz", + "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==", + "dev": true, + "requires": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pfx": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-rsa": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz", + "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==", + "dev": true, + "requires": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-schema": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz", + "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==", + "dev": true, + "requires": { + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-x509": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz", + "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==", + "dev": true, + "requires": { + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/asn1-x509-attr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz", + "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", + "dev": true, + "requires": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "@peculiar/x509": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", + "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "dev": true, + "requires": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-csr": "^2.6.0", + "@peculiar/asn1-ecc": "^2.6.0", + "@peculiar/asn1-pkcs9": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "pvtsutils": "^1.3.6", + "reflect-metadata": "^0.2.2", + "tslib": "^2.8.1", + "tsyringe": "^4.10.0" + } + }, "@primer/behaviors": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.3.5.tgz", @@ -30608,79 +30915,79 @@ "integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==" }, "@rolldown/binding-android-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-mWj5eE4Qc8TbPdGGaaLvBb9XfDPvE1EmZkJQgiGKwchkWH4oAJcRAKMTw7ZHnb1L+t7Ah41sBkAecaIsuUgsug==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-vRq9f4NzvbdZavhQbjkJBx7rRebDKYR9zHfO/Wg486+I7bSecdUapzCm5cyXoK+LHokTxgSq7A5baAXUZkIz0w==", "dev": true, "optional": true }, "@rolldown/binding-darwin-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-wFxUymI/5R8bH8qZFYDfAxAN9CyISEIYke+95oZPiv6EWo88aa5rskjVcCpKA532R+klFmdqjbbaD56GNmTF4Q==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-kFgEvkWLqt3YCgKB5re9RlIrx9bRsvyVUnaTakEpOPuLGzLpLapYxE9BufJNvPg8GjT6mB1alN4yN1NjzoeM8Q==", "dev": true, "optional": true }, "@rolldown/binding-darwin-x64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.58.tgz", - "integrity": "sha512-ybp3MkPj23VDV9PhtRwdU5qrGhlViWRV5BjKwO6epaSlUD5lW0WyY+roN3ZAzbma/9RrMTgZ/a/gtQq8YXOcqw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-JXmaOJGsL/+rsmMfutcDjxWM2fTaVgCHGoXS7nE8Z3c9NAYjGqHvXrAhMUZvMpHS/k7Mg+X7n/MVKb7NYWKKww==", "dev": true, "optional": true }, "@rolldown/binding-freebsd-x64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.58.tgz", - "integrity": "sha512-Evxj3yh7FWvyklUYZa0qTVT9N2zX9TPDqGF056hl8hlCZ9/ndQ2xMv6uw9PD1VlLpukbsqL+/C6M0qwipL0QMg==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-ep3Catd6sPnHTM0P4hNEvIv5arnDvk01PfyJIJ+J3wVCG1eEaPo09tvFqdtcaTrkwQy0VWR24uz+cb4IsK53Qw==", "dev": true, "optional": true }, "@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.58.tgz", - "integrity": "sha512-tYeXprDOrEgVHUbPXH6MPso4cM/c6RTkmJNICMQlYdki4hGMh92aj3yU6CKs+4X5gfG0yj5kVUw/L4M685SYag==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.4.tgz", + "integrity": "sha512-LwA5ayKIpnsgXJEwWc3h8wPiS33NMIHd9BhsV92T8VetVAbGe2qXlJwNVDGHN5cOQ22R9uYvbrQir2AB+ntT2w==", "dev": true, "optional": true }, "@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.58.tgz", - "integrity": "sha512-N78vmZzP6zG967Ohr+MasCjmKtis0geZ1SOVmxrA0/bklTQSzH5kHEjW5Qn+i1taFno6GEre1E40v0wuWsNOQw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-AC1WsGdlV1MtGay/OQ4J9T7GRadVnpYRzTcygV1hKnypbYN20Yh4t6O1Sa2qRBMqv1etulUknqXjc3CTIsBu6A==", "dev": true, "optional": true }, "@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.58.tgz", - "integrity": "sha512-l+p4QVtG72C7wI2SIkNQw/KQtSjuYwS3rV6AKcWrRBF62ClsFUcif5vLaZIEbPrCXu5OFRXigXFJnxYsVVZqdQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==", "dev": true, "optional": true }, "@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.58.tgz", - "integrity": "sha512-urzJX0HrXxIh0FfxwWRjfPCMeInU9qsImLQxHBgLp5ivji1EEUnOfux8KxPPnRQthJyneBrN2LeqUix9DYrNaQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==", "dev": true, "optional": true }, "@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.58.tgz", - "integrity": "sha512-7ijfVK3GISnXIwq/1FZo+KyAUJjL3kWPJ7rViAL6MWeEBhEgRzJ0yEd9I8N9aut8Y8ab+EKFJyRNMWZuUBwQ0A==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==", "dev": true, "optional": true }, "@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-/m7sKZCS+cUULbzyJTIlv8JbjNohxbpAOA6cM+lgWgqVzPee3U6jpwydrib328JFN/gF9A99IZEnuGYqEDJdww==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==", "dev": true, "optional": true }, "@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.58.tgz", - "integrity": "sha512-6SZk7zMgv+y3wFFQ9qE5P9NnRHcRsptL1ypmudD26PDY+PvFCvfHRkJNfclWnvacVGxjowr7JOL3a9fd1wWhUw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.4.tgz", + "integrity": "sha512-wz7ohsKCAIWy91blZ/1FlpPdqrsm1xpcEOQVveWoL6+aSPKL4VUcoYmmzuLTssyZxRpEwzuIxL/GDsvpjaBtOw==", "dev": true, "optional": true, "requires": { @@ -30688,197 +30995,197 @@ } }, "@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.58.tgz", - "integrity": "sha512-sFqfYPnBZ6xBhMkadB7UD0yjEDRvs7ipR3nCggblN+N4ODCXY6qhg/bKL39+W+dgQybL7ErD4EGERVbW9DAWvg==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==", "dev": true, "optional": true }, "@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.58.tgz", - "integrity": "sha512-AnFWJdAqB8+IDPcGrATYs67Kik/6tnndNJV2jGRmwlbeNiQQ8GhRJU8ETRlINfII0pqi9k4WWLnb00p1QCxw/Q==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-p6UeR9y7ht82AH57qwGuFYn69S6CZ7LLKdCKy/8T3zS9VTrJei2/CGsTUV45Da4Z9Rbhc7G4gyWQ/Ioamqn09g==", "dev": true, "optional": true }, "@rolldown/pluginutils": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.58.tgz", - "integrity": "sha512-qWhDs6yFGR5xDfdrwiSa3CWGIHxD597uGE/A9xGqytBjANvh4rLCTTkq7szhMV4+Ygh+PMS90KVJ8xWG/TkX4w==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.4.tgz", + "integrity": "sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==", "dev": true }, "@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", "dev": true, "optional": true }, "@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", "dev": true, "optional": true }, "@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", "dev": true, "optional": true }, "@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", "dev": true, "optional": true }, "@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", "dev": true, "optional": true }, "@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", "dev": true, "optional": true }, "@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", "dev": true, "optional": true }, "@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", "dev": true, "optional": true }, "@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", "dev": true, "optional": true }, "@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", "dev": true, "optional": true }, "@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", "dev": true, "optional": true }, "@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", "dev": true, "optional": true }, @@ -30895,37 +31202,37 @@ "dev": true }, "@schematics/angular": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.5.tgz", - "integrity": "sha512-AndJ17ePYUoqJqiIF9VaXbGAFfOqDcHuAxhwozsQlWDzwgQSOUC/WWeG9hKVCgMD6tE02Sxr2ova9DiBKsLQNg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.8.tgz", + "integrity": "sha512-Kx3PmuZIXhwQqAqoERAXqDCORHFbKTMd+eflXwZfpKkrbWJTVPqKpL4R9RVdEr2E6/VEXDFrdL1whIvGd1xmDg==", "requires": { - "@angular-devkit/core": "21.1.5", - "@angular-devkit/schematics": "21.1.5", + "@angular-devkit/core": "21.2.8", + "@angular-devkit/schematics": "21.2.8", "jsonc-parser": "3.3.1" }, "dependencies": { "@angular-devkit/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.5.tgz", - "integrity": "sha512-KUKbllHvHefkAbTBjWNpRPyrpBqecW+6HBBAR+XNbKBuFTHkG+gxtuwMXNsvO5KECKwQphvQt5h3g05Xtaf0LQ==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "requires": { "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" } }, "@angular-devkit/schematics": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.5.tgz", - "integrity": "sha512-CGmoorQL5+mVCJEHwHWOrhSd1hFxB3h66i9wUDizJAEQUM3mSml5SiglHArpWY/G4GmFwi6XVe+Jm3U8J/mcFg==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.8.tgz", + "integrity": "sha512-UTEMM1JXzzxufLsTGDsWth2E7+8e9PaFT7nbjUvJ2qevltACkiqAbHEpiD2ISzrSRIO3OirJ+cZtnzXO0FyoBQ==", "requires": { - "@angular-devkit/core": "21.1.5", + "@angular-devkit/core": "21.2.8", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", - "ora": "9.0.0", + "ora": "9.3.0", "rxjs": "7.8.2" } }, @@ -30981,9 +31288,9 @@ } }, "ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "requires": { "chalk": "^5.6.2", "cli-cursor": "^5.0.0", @@ -30991,20 +31298,24 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" } }, "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" + }, + "stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==" }, "string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "requires": { "get-east-asian-width": "^1.5.0", "strip-ansi": "^7.1.2" @@ -31043,32 +31354,32 @@ } }, "@sigstore/core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.0.tgz", - "integrity": "sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz", + "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==" }, "@sigstore/protobuf-specs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", - "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==" + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz", + "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==" }, "@sigstore/sign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.0.tgz", - "integrity": "sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", + "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", "requires": { + "@gar/promise-retry": "^1.0.2", "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", + "@sigstore/core": "^3.2.0", "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.3", - "proc-log": "^6.1.0", - "promise-retry": "^2.0.1" + "make-fetch-happen": "^15.0.4", + "proc-log": "^6.1.0" } }, "@sigstore/tuf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz", - "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", + "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", "requires": { "@sigstore/protobuf-specs": "^0.5.0", "tuf-js": "^4.1.0" @@ -31306,19 +31617,19 @@ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" }, "brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "requires": { "balanced-match": "^4.0.2" } }, "minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "requires": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" } } } @@ -31362,9 +31673,9 @@ } }, "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, "requires": { "@types/node": "*" @@ -31448,21 +31759,21 @@ "dev": true }, "@types/express": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", - "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", "dev": true, "requires": { "@types/node": "*", @@ -31588,6 +31899,12 @@ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==" }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, "@types/mousetrap": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/@types/mousetrap/-/mousetrap-1.6.15.tgz", @@ -31605,15 +31922,6 @@ "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", "dev": true }, - "@types/node-forge": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.13.tgz", - "integrity": "sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/pako": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", @@ -31621,9 +31929,9 @@ "dev": true }, "@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", "dev": true }, "@types/rails__request.js": { @@ -31674,21 +31982,12 @@ "dev": true }, "@types/send": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", - "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "requires": { - "@types/mime": "^1", "@types/node": "*" - }, - "dependencies": { - "@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - } } }, "@types/serve-index": { @@ -31701,14 +32000,26 @@ } }, "@types/serve-static": { - "version": "1.15.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", - "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "requires": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" + }, + "dependencies": { + "@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + } } }, "@types/sizzle": { @@ -31776,6 +32087,15 @@ "integrity": "sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==", "dev": true }, + "@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "8.53.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz", @@ -31865,9 +32185,9 @@ } }, "brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -32053,9 +32373,9 @@ } }, "brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -32111,9 +32431,9 @@ }, "dependencies": { "brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -32218,9 +32538,9 @@ "dev": true }, "brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dev": true, "requires": { "balanced-match": "^4.0.2" @@ -32279,9 +32599,9 @@ } }, "@uirouter/core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@uirouter/core/-/core-6.1.1.tgz", - "integrity": "sha512-vA+OolBOe0R8dbFk5mgaj30LzYzOoGhMJzj356KVQcx+wKdZHUs0dnMPuuHbKe/CEbErTgFA3MfRAW96qVc2hA==" + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@uirouter/core/-/core-6.1.2.tgz", + "integrity": "sha512-pYcg+cxVd9E9poC7AJf7ZrlQQrwAV6KVkiPvlbLJX5km+pBWrUOGQhdd87oIGc7/5iVQ7qSiAdl9QD+l55yegg==" }, "@uirouter/rx": { "version": "1.0.0", @@ -32294,9 +32614,9 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "@vitejs/plugin-basic-ssl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", - "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.4.tgz", + "integrity": "sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==", "dev": true }, "@vscode/l10n": { @@ -32590,24 +32910,24 @@ "dev": true }, "algoliasearch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.46.2.tgz", - "integrity": "sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", + "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", "requires": { - "@algolia/abtesting": "1.12.2", - "@algolia/client-abtesting": "5.46.2", - "@algolia/client-analytics": "5.46.2", - "@algolia/client-common": "5.46.2", - "@algolia/client-insights": "5.46.2", - "@algolia/client-personalization": "5.46.2", - "@algolia/client-query-suggestions": "5.46.2", - "@algolia/client-search": "5.46.2", - "@algolia/ingestion": "1.46.2", - "@algolia/monitoring": "1.46.2", - "@algolia/recommend": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/abtesting": "1.14.1", + "@algolia/client-abtesting": "5.48.1", + "@algolia/client-analytics": "5.48.1", + "@algolia/client-common": "5.48.1", + "@algolia/client-insights": "5.48.1", + "@algolia/client-personalization": "5.48.1", + "@algolia/client-query-suggestions": "5.48.1", + "@algolia/client-search": "5.48.1", + "@algolia/ingestion": "1.48.1", + "@algolia/monitoring": "1.48.1", + "@algolia/recommend": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" } }, "angular-eslint": { @@ -33012,6 +33332,17 @@ "is-array-buffer": "^3.0.4" } }, + "asn1js": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", + "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", + "dev": true, + "requires": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.5", + "tslib": "^2.8.1" + } + }, "ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -33072,13 +33403,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", - "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", "dev": true, "requires": { - "@babel/compat-data": "^7.27.7", - "@babel/helper-define-polyfill-provider": "^0.6.5", + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", "semver": "^6.3.1" }, "dependencies": { @@ -33101,12 +33432,12 @@ } }, "babel-plugin-polyfill-regenerator": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", - "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.5" + "@babel/helper-define-polyfill-provider": "^0.6.8" } }, "bail": { @@ -33158,9 +33489,9 @@ "dev": true }, "beasties": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", - "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.1.tgz", + "integrity": "sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==", "dev": true, "requires": { "css-select": "^6.0.0", @@ -33170,7 +33501,8 @@ "htmlparser2": "^10.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.49", - "postcss-media-query-parser": "^0.2.3" + "postcss-media-query-parser": "^0.2.3", + "postcss-safe-parser": "^7.0.1" } }, "big.js": { @@ -33219,30 +33551,11 @@ "ms": "2.0.0" } }, - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true - }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true } } }, @@ -33263,9 +33576,9 @@ "dev": true }, "brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -33333,10 +33646,16 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, + "bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true + }, "cacache": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", "requires": { "@npmcli/fs": "^5.0.0", "fs-minipass": "^3.0.0", @@ -33347,14 +33666,13 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", - "ssri": "^13.0.0", - "unique-filename": "^5.0.0" + "ssri": "^13.0.0" }, "dependencies": { "lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==" + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" } } }, @@ -33669,12 +33987,6 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true } } }, @@ -33726,14 +34038,6 @@ "dev": true, "requires": { "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } } }, "content-type": { @@ -33761,9 +34065,9 @@ "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" }, "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "dev": true }, "copy-anything": { @@ -33781,15 +34085,15 @@ "integrity": "sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==" }, "copy-webpack-plugin": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz", - "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-14.0.0.tgz", + "integrity": "sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==", "dev": true, "requires": { "glob-parent": "^6.0.1", "normalize-path": "^3.0.0", "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2", + "serialize-javascript": "^7.0.3", "tinyglobby": "^0.2.12" }, "dependencies": { @@ -33812,9 +34116,9 @@ } }, "schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -33831,12 +34135,12 @@ "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==" }, "core-js-compat": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", - "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", "dev": true, "requires": { - "browserslist": "^4.28.0" + "browserslist": "^4.28.1" } }, "core-js-pure": { @@ -33927,19 +34231,19 @@ } }, "css-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.3.tgz", + "integrity": "sha512-frbERmjT0UC5lMheWpJmMilnt9GEhbZJN/heUb7/zaJYeIzj5St9HvDcfshzzOqbsS+rYpMk++2SD3vGETDSyA==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.4.33", + "postcss": "^8.4.40", "postcss-modules-extract-imports": "^3.1.0", "postcss-modules-local-by-default": "^4.0.5", "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" + "semver": "^7.6.3" } }, "css-select": { @@ -34349,26 +34653,6 @@ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, "engine.io": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz", @@ -34402,13 +34686,13 @@ "dev": true }, "enhanced-resolve": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", - "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", + "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" + "tapable": "^2.3.3" } }, "ent": { @@ -34559,9 +34843,9 @@ } }, "es-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", "dev": true }, "es-object-atoms": { @@ -34604,6 +34888,11 @@ "is-symbol": "^1.0.4" } }, + "es-toolkit": { + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.46.1.tgz", + "integrity": "sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==" + }, "es5-ext": { "version": "0.10.64", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", @@ -34694,43 +34983,43 @@ } }, "esbuild": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", - "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", "dev": true, "requires": { - "@esbuild/aix-ppc64": "0.27.2", - "@esbuild/android-arm": "0.27.2", - "@esbuild/android-arm64": "0.27.2", - "@esbuild/android-x64": "0.27.2", - "@esbuild/darwin-arm64": "0.27.2", - "@esbuild/darwin-x64": "0.27.2", - "@esbuild/freebsd-arm64": "0.27.2", - "@esbuild/freebsd-x64": "0.27.2", - "@esbuild/linux-arm": "0.27.2", - "@esbuild/linux-arm64": "0.27.2", - "@esbuild/linux-ia32": "0.27.2", - "@esbuild/linux-loong64": "0.27.2", - "@esbuild/linux-mips64el": "0.27.2", - "@esbuild/linux-ppc64": "0.27.2", - "@esbuild/linux-riscv64": "0.27.2", - "@esbuild/linux-s390x": "0.27.2", - "@esbuild/linux-x64": "0.27.2", - "@esbuild/netbsd-arm64": "0.27.2", - "@esbuild/netbsd-x64": "0.27.2", - "@esbuild/openbsd-arm64": "0.27.2", - "@esbuild/openbsd-x64": "0.27.2", - "@esbuild/openharmony-arm64": "0.27.2", - "@esbuild/sunos-x64": "0.27.2", - "@esbuild/win32-arm64": "0.27.2", - "@esbuild/win32-ia32": "0.27.2", - "@esbuild/win32-x64": "0.27.2" + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" } }, "esbuild-wasm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.27.2.tgz", - "integrity": "sha512-eUTnl8eh+v8UZIZh4MrMOKDAc8Lm7+NqP3pyuTORGFY1s/o9WoiJgKnwXy+te2J3hX7iRbFSHEyig7GsPeeJyw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.27.3.tgz", + "integrity": "sha512-AUXuOxZ145/5Az+lIqk6TdJbxKTyDGkXMJpTExmBdbnHR6n6qAFx+F4oG9ORpVYJ9dQYeQAqzv51TO4DFKsbXw==", "dev": true }, "escalade": { @@ -35233,17 +35522,17 @@ "dev": true }, "finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "statuses": "2.0.1", + "statuses": "~2.0.2", "unpipe": "~1.0.0" } }, @@ -35252,12 +35541,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true } } }, @@ -35342,9 +35625,9 @@ }, "dependencies": { "brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -35455,9 +35738,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==" }, "for-each": { "version": "0.3.5", @@ -35613,9 +35896,9 @@ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" }, "brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "requires": { "balanced-match": "^4.0.2" } @@ -35983,9 +36266,9 @@ }, "dependencies": { "lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==" + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" } } }, @@ -36021,6 +36304,21 @@ "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, @@ -36075,21 +36373,21 @@ } }, "htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" + "domutils": "^3.2.2", + "entities": "^7.0.1" }, "dependencies": { "entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "dev": true } } @@ -36106,16 +36404,15 @@ "dev": true }, "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" } }, "http-parser-js": { @@ -36269,19 +36566,19 @@ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" }, "brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "requires": { "balanced-match": "^4.0.2" } }, "minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "requires": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" } } } @@ -36312,7 +36609,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true }, "inflight": { "version": "1.0.6", @@ -36351,9 +36649,9 @@ "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==" }, "ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", "dev": true }, "is-array": { @@ -36428,6 +36726,7 @@ "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, "requires": { "hasown": "^2.0.2" } @@ -36541,9 +36840,9 @@ "dev": true }, "is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", + "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", "dev": true }, "is-number-object": { @@ -37237,13 +37536,13 @@ } }, "launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.2.tgz", + "integrity": "sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==", "dev": true, "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "laz-perf": { @@ -37286,9 +37585,9 @@ } }, "less-loader": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.0.tgz", - "integrity": "sha512-0M6+uYulvYIWs52y0LqN4+QM9TqWAohYSNTo4htE8Z7Cn3G/qQMEmktfHmyJT23k+20kU9zHH2wrfFXkxNLtVw==", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.1.tgz", + "integrity": "sha512-JZZmG7gMzoDP3VGeEG8Sh6FW5wygB5jYL7Wp29FFihuRTsIBacqO3LbRPr2yStYD11riVf13selLm/CPFRDBRQ==", "dev": true }, "levn": { @@ -37449,19 +37748,20 @@ } }, "lmdb": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.4.tgz", - "integrity": "sha512-+Y2DqovevLkb6DrSQ6SXTYLEd6kvlRbhsxzgJrk7BUfOVA/mt21ak6pFDZDKxiAczHMWxrb02kXBTSTIA0O94A==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.1.tgz", + "integrity": "sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==", "dev": true, "optional": true, "requires": { - "@lmdb/lmdb-darwin-arm64": "3.4.4", - "@lmdb/lmdb-darwin-x64": "3.4.4", - "@lmdb/lmdb-linux-arm": "3.4.4", - "@lmdb/lmdb-linux-arm64": "3.4.4", - "@lmdb/lmdb-linux-x64": "3.4.4", - "@lmdb/lmdb-win32-arm64": "3.4.4", - "@lmdb/lmdb-win32-x64": "3.4.4", + "@harperfast/extended-iterable": "^1.0.3", + "@lmdb/lmdb-darwin-arm64": "3.5.1", + "@lmdb/lmdb-darwin-x64": "3.5.1", + "@lmdb/lmdb-linux-arm": "3.5.1", + "@lmdb/lmdb-linux-arm64": "3.5.1", + "@lmdb/lmdb-linux-x64": "3.5.1", + "@lmdb/lmdb-win32-arm64": "3.5.1", + "@lmdb/lmdb-win32-x64": "3.5.1", "msgpackr": "^1.11.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", @@ -37470,9 +37770,9 @@ } }, "loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", "dev": true }, "loader-utils": { @@ -37491,14 +37791,9 @@ } }, "lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" - }, - "lodash-es": { "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", - "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==" }, "lodash.clonedeep": { "version": "4.5.0", @@ -37702,11 +37997,13 @@ "dev": true }, "make-fetch-happen": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", - "integrity": "sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", "requires": { + "@gar/promise-retry": "^1.0.0", "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", "cacache": "^20.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", @@ -37715,7 +38012,6 @@ "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "ssri": "^13.0.0" }, "dependencies": { @@ -37945,11 +38241,19 @@ "dev": true }, "memfs": { - "version": "4.52.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.52.0.tgz", - "integrity": "sha512-dG5ZY1wUCPWhtl4M2mlc7Wx4OrMGtiI79axnScxwDoPR/25biQYrYm21OpKyZcnKv8pvWaX95SRtZgecZ84gFg==", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.2.tgz", + "integrity": "sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ==", "dev": true, "requires": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-to-fsa": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", "@jsonjoy.com/json-pack": "^1.11.0", "@jsonjoy.com/util": "^1.9.0", "glob-to-regex.js": "^1.0.1", @@ -38347,9 +38651,9 @@ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==" }, "mini-css-extract-plugin": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", - "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", + "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", "dev": true, "requires": { "schema-utils": "^4.0.0", @@ -38366,9 +38670,9 @@ } }, "schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -38413,20 +38717,31 @@ } }, "minipass-fetch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.0.tgz", - "integrity": "sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", "requires": { - "encoding": "^0.1.13", + "iconv-lite": "^0.7.2", "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", + "minipass-sized": "^2.0.0", "minizlib": "^3.0.1" + }, + "dependencies": { + "iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", "requires": { "minipass": "^3.0.0" }, @@ -38470,26 +38785,11 @@ } }, "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } + "minipass": "^7.1.2" } }, "minizlib": { @@ -38538,9 +38838,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "msgpackr": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz", - "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==", + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.10.tgz", + "integrity": "sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==", "dev": true, "optional": true, "requires": { @@ -38638,11 +38938,11 @@ } }, "ng2-charts": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-8.0.0.tgz", - "integrity": "sha512-nofsNHI2Zt+EAwT+BJBVg0kgOhNo9ukO4CxULlaIi7VwZSr7I1km38kWSoU41Oq6os6qqIh5srnL+CcV+RFPFA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-10.0.0.tgz", + "integrity": "sha512-mdL75XJrk/0s0YO2ySPQpAHPja85ECDEGNWFlcElJiy/bYliTNGEpeCtctAqZuozTff/E2CwGjyfPFM1ScP2og==", "requires": { - "lodash-es": "^4.17.15", + "es-toolkit": "^1.39.7", "tslib": "^2.3.0" } }, @@ -38669,40 +38969,39 @@ "dev": true, "optional": true }, - "node-forge": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", - "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", - "dev": true - }, "node-gyp": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.1.0.tgz", - "integrity": "sha512-W+RYA8jBnhSr2vrTtlPYPc1K+CSjGpVDRZxcqJcERZ8ND3A1ThWPHRwctTx3qC3oW99jt726jhdz3Y6ky87J4g==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.3.0.tgz", + "integrity": "sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==", "requires": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^15.0.0", "nopt": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", - "tar": "^7.5.2", + "tar": "^7.5.4", "tinyglobby": "^0.2.12", + "undici": "^6.25.0", "which": "^6.0.0" }, "dependencies": { "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==" + }, + "undici": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", + "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==" }, "which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "requires": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" } } } @@ -38769,9 +39068,9 @@ } }, "npm-packlist": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz", - "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", + "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", "requires": { "ignore-walk": "^8.0.0", "proc-log": "^6.0.0" @@ -39173,9 +39472,9 @@ } }, "pacote": { - "version": "21.0.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz", - "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.3.1.tgz", + "integrity": "sha512-O0EDXi85LF4AzdjG74GUwEArhdvawi/YOHcsW6IijKNj7wm8IvEWNF5GnfuxNpQ/ZpO3L37+v8hqdVh8GgWYhg==", "requires": { "@npmcli/git": "^7.0.0", "@npmcli/installed-package-contents": "^4.0.0", @@ -39317,7 +39616,8 @@ "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "path-to-regexp": { "version": "0.1.13", @@ -39356,6 +39656,20 @@ "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==" }, + "pkijs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", + "dev": true, + "requires": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + } + }, "portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -39453,10 +39767,16 @@ "icss-utils": "^5.0.0" } }, + "postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true + }, "postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -39745,6 +40065,21 @@ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==" }, + "pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "requires": { + "tslib": "^2.8.1" + } + }, + "pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "dev": true + }, "qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", @@ -39773,15 +40108,6 @@ "ret": "^0.2.0" } }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -39797,38 +40123,17 @@ "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true - } } }, "react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==" + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==" }, "react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "requires": { "scheduler": "^0.27.0" } @@ -39999,9 +40304,9 @@ "dev": true }, "regjsparser": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", - "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", + "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", "dev": true, "requires": { "jsesc": "~3.1.0" @@ -40128,6 +40433,7 @@ "version": "1.22.11", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, "requires": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", @@ -40237,59 +40543,59 @@ } }, "rolldown": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.58.tgz", - "integrity": "sha512-v1FCjMZCan7f+xGAHBi+mqiE4MlH7I+SXEHSQSJoMOGNNB2UYtvMiejsq9YuUOiZjNeUeV/a21nSFbrUR+4ZCQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.4.tgz", + "integrity": "sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==", "dev": true, "requires": { - "@oxc-project/types": "=0.106.0", - "@rolldown/binding-android-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-x64": "1.0.0-beta.58", - "@rolldown/binding-freebsd-x64": "1.0.0-beta.58", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-musl": "1.0.0-beta.58", - "@rolldown/binding-openharmony-arm64": "1.0.0-beta.58", - "@rolldown/binding-wasm32-wasi": "1.0.0-beta.58", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.58", - "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.58", - "@rolldown/pluginutils": "1.0.0-beta.58" + "@oxc-project/types": "=0.113.0", + "@rolldown/binding-android-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-x64": "1.0.0-rc.4", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.4", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.4", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.4", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.4", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.4", + "@rolldown/pluginutils": "1.0.0-rc.4" } }, "rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", "dev": true, "requires": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", "@types/estree": "1.0.8", "fsevents": "~2.3.2" } @@ -40354,9 +40660,9 @@ } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safe-push-apply": { @@ -40386,9 +40692,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.1.tgz", - "integrity": "sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==", + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "dev": true, "requires": { "@parcel/watcher": "^2.4.1", @@ -40415,9 +40721,9 @@ } }, "sass-loader": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.6.tgz", - "integrity": "sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", + "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", "dev": true, "requires": { "neo-async": "^2.6.2" @@ -40483,13 +40789,13 @@ "dev": true }, "selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", + "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", "dev": true, "requires": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "@peculiar/x509": "^1.14.2", + "pkijs": "^3.3.3" } }, "semver": { @@ -40498,24 +40804,24 @@ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==" }, "send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "dev": true, "requires": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "range-parser": "~1.2.1", - "statuses": "2.0.1" + "statuses": "~2.0.2" }, "dependencies": { "debug": { @@ -40535,6 +40841,12 @@ } } }, + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true + }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -40544,27 +40856,24 @@ } }, "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.5.tgz", + "integrity": "sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==", + "dev": true }, "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", "dev": true, "requires": { - "accepts": "~1.3.4", + "accepts": "~1.3.8", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" }, "dependencies": { "debug": { @@ -40583,35 +40892,24 @@ "dev": true }, "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -40621,15 +40919,15 @@ } }, "serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "dev": true, "requires": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.19.0" + "send": "~0.19.1" }, "dependencies": { "encodeurl": { @@ -41029,33 +41327,24 @@ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==" }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, "spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" }, "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", - "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==" + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==" }, "spdy": { "version": "4.0.2", @@ -41090,23 +41379,23 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "ssri": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz", - "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", "requires": { "minipass": "^7.0.3" } }, "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" }, "stdin-discarder": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==" + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true }, "stimulus-use": { "version": "0.52.3", @@ -41135,12 +41424,12 @@ } }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "string-width": { @@ -41318,7 +41607,8 @@ "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true }, "tabbable": { "version": "6.2.0", @@ -41334,15 +41624,15 @@ } }, "tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", "dev": true }, "tar": { - "version": "7.5.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", - "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", "requires": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", @@ -41359,9 +41649,9 @@ } }, "terser": { - "version": "5.44.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -41371,15 +41661,14 @@ } }, "terser-webpack-plugin": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", - "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "dependencies": { @@ -41431,9 +41720,9 @@ } }, "thingies": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", - "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", + "integrity": "sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==", "dev": true }, "thunky": { @@ -41585,6 +41874,23 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, + "tsyringe": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", + "dev": true, + "requires": { + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, "tuf-js": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz", @@ -41838,9 +42144,9 @@ "dev": true }, "brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dev": true, "requires": { "balanced-match": "^4.0.2" @@ -41902,9 +42208,9 @@ } }, "undici": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.20.0.tgz", - "integrity": "sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz", + "integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==", "dev": true }, "unicode-canonical-property-names-ecmascript": { @@ -41957,22 +42263,6 @@ "qs": "^6.4.0" } }, - "unique-filename": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz", - "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==", - "requires": { - "unique-slug": "^6.0.0" - } - }, - "unique-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz", - "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, "unist-util-find-after": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", @@ -42125,9 +42415,9 @@ } }, "uuid": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", - "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==" + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz", + "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==" }, "v8-compile-cache-lib": { "version": "3.0.1", @@ -42135,15 +42425,6 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "validate-npm-package-name": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz", @@ -42182,9 +42463,9 @@ } }, "vite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "dev": true, "requires": { "esbuild": "^0.27.0", @@ -42197,9 +42478,9 @@ }, "dependencies": { "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true } } @@ -42246,9 +42527,9 @@ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" }, "watchpack": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", - "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -42277,9 +42558,9 @@ "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==" }, "webpack": { - "version": "5.105.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.0.tgz", - "integrity": "sha512-gX/dMkRQc7QOMzgTe6KsYFM7DxeIONQSui1s0n/0xht36HvrgbxtM1xBlgx596NbpHuQU8P7QpKwrZYwUX48nw==", + "version": "5.105.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", + "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.7", @@ -42351,16 +42632,6 @@ "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } - }, - "watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } } } }, @@ -42403,9 +42674,9 @@ } }, "schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -42417,14 +42688,14 @@ } }, "webpack-dev-server": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", - "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", + "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", "dev": true, "requires": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", + "@types/express": "^4.17.25", "@types/express-serve-static-core": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", @@ -42434,9 +42705,9 @@ "bonjour-service": "^1.2.1", "chokidar": "^3.6.0", "colorette": "^2.0.10", - "compression": "^1.7.4", + "compression": "^1.8.1", "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", + "express": "^4.22.1", "graceful-fs": "^4.2.6", "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", @@ -42444,7 +42715,7 @@ "open": "^10.0.3", "p-retry": "^6.2.0", "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", + "selfsigned": "^5.5.0", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -42452,15 +42723,6 @@ "ws": "^8.18.0" }, "dependencies": { - "@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", @@ -42490,9 +42752,9 @@ "dev": true }, "schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -42502,9 +42764,9 @@ } }, "ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", "dev": true } } @@ -42684,9 +42946,9 @@ }, "dependencies": { "is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "dev": true, "requires": { "is-inside-container": "^1.0.0" @@ -42759,9 +43021,9 @@ "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==" }, "zod": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", - "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==" + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==" }, "zod-to-json-schema": { "version": "3.25.1", diff --git a/frontend/package.json b/frontend/package.json index cd1e9468d1a..c5427b24533 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,16 +6,16 @@ "private": true, "devDependencies": { "@angular-builders/custom-esbuild": "^21.0.3", - "@angular-devkit/build-angular": "^21.1.5", + "@angular-devkit/build-angular": "^21.2.8", "@angular-eslint/builder": "20.7.0", "@angular-eslint/eslint-plugin": "20.7.0", "@angular-eslint/eslint-plugin-template": "20.7.0", "@angular-eslint/schematics": "20.7.0", "@angular-eslint/template-parser": "20.7.0", - "@angular/language-service": "21.1.6", + "@angular/language-service": "21.2.10", "@eslint/js": "^9.39.2", - "@html-eslint/eslint-plugin": "^0.58.1", - "@html-eslint/parser": "^0.58.1", + "@html-eslint/eslint-plugin": "^0.59.0", + "@html-eslint/parser": "^0.59.0", "@jsdevtools/coverage-istanbul-loader": "3.0.5", "@stylistic/eslint-plugin": "^5.7.1", "@types/codemirror": "5.60.5", @@ -64,18 +64,18 @@ "wscat": "^6.1.0" }, "dependencies": { - "@angular/animations": "^21.1.6", - "@angular/cdk": "^21.1.6", - "@angular/cli": "^21.1.5", - "@angular/common": "^21.1.6", - "@angular/compiler": "^21.1.6", - "@angular/compiler-cli": "^21.1.6", - "@angular/core": "^21.2.4", - "@angular/elements": "^21.1.6", - "@angular/forms": "^21.1.6", - "@angular/platform-browser": "^21.1.6", - "@angular/platform-browser-dynamic": "^21.1.6", - "@angular/router": "^21.1.6", + "@angular/animations": "^21.2.10", + "@angular/cdk": "^21.2.8", + "@angular/cli": "^21.2.8", + "@angular/common": "^21.2.10", + "@angular/compiler": "^21.2.10", + "@angular/compiler-cli": "^21.2.10", + "@angular/core": "^21.2.10", + "@angular/elements": "^21.2.10", + "@angular/forms": "^21.2.10", + "@angular/platform-browser": "^21.2.10", + "@angular/platform-browser-dynamic": "^21.2.10", + "@angular/router": "^21.2.10", "@appsignal/javascript": "^1.6.1", "@appsignal/plugin-breadcrumbs-console": "^1.1.37", "@appsignal/plugin-breadcrumbs-network": "^1.1.24", @@ -103,7 +103,7 @@ "@hotwired/stimulus": "^3.2.2", "@hotwired/turbo": "^8.0.20", "@hotwired/turbo-rails": "^8.0.20", - "@knowledgecode/delegate": "^0.10.0", + "@knowledgecode/delegate": "^0.10.3", "@kolkov/ngx-gallery": "^2.0.1", "@mantine/core": "^8.3.13", "@mantine/hooks": "^8.3.6", @@ -123,7 +123,7 @@ "@stimulus-components/reveal": "^5.0.0", "@tiptap/extensions": "^3.20.0", "@uirouter/angular": "^17.0.0", - "@uirouter/core": "^6.1.0", + "@uirouter/core": "^6.1.2", "@uirouter/rx": "^1.0.0", "@w11k/ngx-componentdestroyed": "^5.0.2", "@xeokit/xeokit-bim-viewer": "2.7.1", @@ -149,7 +149,7 @@ "jquery.caret": "^0.3.1", "json5": "^2.2.2", "lit-html": "^3.3.2", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "luxon": "^3.7.2", "mark.js": "^8.11.0", "mdx-embed": "^1.1.2", @@ -158,7 +158,7 @@ "moment-timezone": "^0.6.0", "mousetrap": "~1.6.3", "ng-dynamic-component": "^10.7.0", - "ng2-charts": "^8.0.0", + "ng2-charts": "^10.0.0", "ng2-dragula": "^6.0.0", "ngx-cookie-service": "^21.1.0", "observable-array": "0.0.4", @@ -166,8 +166,8 @@ "openapi-explorer": "^2.4.788", "pako": "^2.0.3", "qr-creator": "^1.0.0", - "react": "^19.2.4", - "react-dom": "^19.2.4", + "react": "^19.2.5", + "react-dom": "^19.2.5", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.0", "screenfull": "^6.0.2", @@ -179,7 +179,7 @@ "turbo_power": "^0.7.1", "typedjson": "^1.5.1", "urijs": "^1.19.11", - "uuid": "^13.0.0" + "uuid": "^14.0.0" }, "optionalDependencies": { "fsevents": "*" diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index a002c9df85e..1bca3a907a7 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -144,9 +144,15 @@ import { import { WorkPackageSplitViewEntryComponent, } from 'core-app/features/work-packages/routing/wp-split-view/wp-split-view-entry.component'; +import { + WorkPackageSplitCreateEntryComponent, +} from 'core-app/features/work-packages/routing/wp-split-create/wp-split-create-entry.component'; import { BoardEntryComponent, } from 'core-app/features/boards/board/board-partitioned-page/board-entry.component'; +import { CalendarEntryComponent } from 'core-app/features/calendar/calendar-entry.component'; +import { TeamPlannerEntryComponent } from 'core-app/features/team-planner/team-planner/team-planner-entry.component'; +import { TeamPlannerModule } from 'core-app/features/team-planner/team-planner/team-planner.module'; import { StorageLoginButtonComponent, } from 'core-app/shared/components/storages/storage-login-button/storage-login-button.component'; @@ -300,6 +306,8 @@ export function runBootstrap(appRef:ApplicationRef) { OpenprojectWorkPackageGraphsModule, // Calendar module OpenprojectCalendarModule, + // Team Planner module + TeamPlannerModule, // MyPage OpenprojectMyPageModule, @@ -392,7 +400,10 @@ export class OpenProjectModule implements DoBootstrap { registerCustomElement('opce-notification-center', InAppNotificationCenterComponent, { injector }); registerCustomElement('opce-wp-split-view', WorkPackageSplitViewEntryComponent, { injector }); + registerCustomElement('opce-wp-split-create', WorkPackageSplitCreateEntryComponent, { injector }); registerCustomElement('opce-board-view', BoardEntryComponent, { injector }); + registerCustomElement('opce-calendar-view', CalendarEntryComponent, { injector }); + registerCustomElement('opce-team-planner-view', TeamPlannerEntryComponent, { injector }); registerCustomElement('opce-wp-full-view', WorkPackageFullViewEntryComponent, { injector }); registerCustomElement('opce-wp-full-create', WorkPackageFullCreateEntryComponent, { injector }); registerCustomElement('opce-wp-full-copy', WorkPackageFullCopyEntryComponent, { injector }); diff --git a/frontend/src/app/core/global_search/input/global-search-input.component.html b/frontend/src/app/core/global_search/input/global-search-input.component.html index 79ba5b741a7..0a5d28b4fc4 100644 --- a/frontend/src/app/core/global_search/input/global-search-input.component.html +++ b/frontend/src/app/core/global_search/input/global-search-input.component.html @@ -88,7 +88,7 @@ {{ item.type.name }} - #{{ item.id }} + {{ item.formattedId }} {{ item.status.name }} diff --git a/frontend/src/app/core/main-menu/submenu.service.ts b/frontend/src/app/core/main-menu/submenu.service.ts index dff74195f52..5ad6678b260 100644 --- a/frontend/src/app/core/main-menu/submenu.service.ts +++ b/frontend/src/app/core/main-menu/submenu.service.ts @@ -9,31 +9,31 @@ export class SubmenuService { reloadSubmenu(selectedQueryId:string|null, sidemenuId?:string):void { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment const menuIdentifier:string|undefined = sidemenuId ?? this.$state.current.data?.sideMenuOptions?.sidemenuId; + if (!menuIdentifier) { return; } - if (menuIdentifier) { - const menu = document.getElementById(menuIdentifier) as FrameElement; - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - const sideMenuOptions = this.$state.$current.data?.sideMenuOptions as { hardReloadOnBaseRoute?:boolean, defaultQuery?:string }; - const currentSrc = menu.getAttribute('src'); + const menu = document.getElementById(menuIdentifier) as FrameElement|null; + const currentSrc = menu?.getAttribute('src'); + if (!currentSrc || !menu) { return; } - if (currentSrc && menu) { - const frameUrl = new URL(currentSrc, window.location.origin); - const defaultQuery = sideMenuOptions?.defaultQuery; + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + const sideMenuOptions = this.$state.$current.data?.sideMenuOptions as { hardReloadOnBaseRoute?:boolean, defaultQuery?:string }; + const frameUrl = new URL(currentSrc, window.location.origin); - if (selectedQueryId) { - // If there is a default query passed in the route definition, it means that id passed as argument and not as parameter, - // e.g. calendars/:id, team_planner/:id, ... - // Otherwise, we will just replace the params - if (defaultQuery) { - frameUrl.search = `?id=${selectedQueryId}`; - } else { - frameUrl.search = `?query_id=${selectedQueryId}`; - } - } + if (selectedQueryId) { + // Prefer the data attribute on the frame, then fall back to route sideMenuOptions, + // then default to 'query_id'. Modules with path-based IDs (e.g. calendars/:id) + // set data-query-param="id" on the frame. + const queryParam = menu.getAttribute('data-query-param') + ?? (sideMenuOptions?.defaultQuery ? 'id' : 'query_id'); - // Override the frame src to enforce a reload - menu.setAttribute('src', frameUrl.href); - } + frameUrl.search = `?${queryParam}=${selectedQueryId}`; + } + + const newSrc = frameUrl.href; + if (menu.getAttribute('src') !== newSrc) { + menu.setAttribute('src', newSrc); + } else { + void menu.reload(); } } } diff --git a/frontend/src/app/core/routing/openproject.routes.ts b/frontend/src/app/core/routing/openproject.routes.ts index fb01324276b..e36af84a380 100644 --- a/frontend/src/app/core/routing/openproject.routes.ts +++ b/frontend/src/app/core/routing/openproject.routes.ts @@ -39,8 +39,6 @@ import { mobileGuardActivated, redirectToMobileAlternative, } from 'core-app/shared/helpers/routing/mobile-guard.helper'; -import { TEAM_PLANNER_LAZY_ROUTES } from 'core-app/features/team-planner/team-planner/team-planner.lazy-routes'; -import { CALENDAR_LAZY_ROUTES } from 'core-app/features/calendar/calendar.lazy-routes'; export const OPENPROJECT_ROUTES:Ng2StateDeclaration[] = [ { @@ -74,8 +72,6 @@ export const OPENPROJECT_ROUTES:Ng2StateDeclaration[] = [ url: '/bcf', loadChildren: () => import('../../features/bim/ifc_models/openproject-ifc-models.module').then((m) => m.OpenprojectIFCModelsModule), }, - ...TEAM_PLANNER_LAZY_ROUTES, - ...CALENDAR_LAZY_ROUTES, ]; /** diff --git a/frontend/src/app/features/bim/ifc_models/bcf/list/bcf-list.component.ts b/frontend/src/app/features/bim/ifc_models/bcf/list/bcf-list.component.ts index 6593200dd8f..b017ece49e8 100644 --- a/frontend/src/app/features/bim/ifc_models/bcf/list/bcf-list.component.ts +++ b/frontend/src/app/features/bim/ifc_models/bcf/list/bcf-list.component.ts @@ -38,6 +38,7 @@ import { BcfApiService } from 'core-app/features/bim/bcf/api/bcf-api.service'; import { QueryResource } from 'core-app/features/hal/resources/query-resource'; import { BcfViewService } from 'core-app/features/bim/ifc_models/pages/viewer/bcf-view.service'; import { splitViewRoute } from 'core-app/features/work-packages/routing/split-view-routes.helper'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; import { ViewerBridgeService } from 'core-app/features/bim/bcf/bcf-viewer-bridge/viewer-bridge.service'; import { CausedUpdatesService } from 'core-app/features/boards/board/caused-updates/caused-updates.service'; import { IfcModelsDataService } from 'core-app/features/bim/ifc_models/pages/viewer/ifc-models-data.service'; @@ -129,8 +130,10 @@ export class BcfListComponent extends WorkPackageListViewComponent implements Un : 'bim.partitioned.show'; // Passing the card param to the new state because the router doesn't keep // it when going to 'bim.partitioned.show' - const params = { workPackageId, cards, focus }; + const routingId = resolveRoutingId(this.states, workPackageId); + const params = { workPackageId: routingId, cards, focus }; void this.$state.go(stateToGo, params); } + } diff --git a/frontend/src/app/features/boards/board/board-actions/subproject/subproject-action.service.ts b/frontend/src/app/features/boards/board/board-actions/subproject/subproject-action.service.ts index 5e47afbe810..e2a09909add 100644 --- a/frontend/src/app/features/boards/board/board-actions/subproject/subproject-action.service.ts +++ b/frontend/src/app/features/boards/board/board-actions/subproject/subproject-action.service.ts @@ -1,5 +1,4 @@ import { Injectable } from '@angular/core'; -import { UserResource } from 'core-app/features/hal/resources/user-resource'; import { WorkPackageChangeset } from 'core-app/features/work-packages/components/wp-edit/work-package-changeset'; import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; import { SubprojectBoardHeaderComponent } from 'core-app/features/boards/board/board-actions/subproject/subproject-board-header.component'; @@ -8,7 +7,6 @@ import { imagePath } from 'core-app/shared/helpers/images/path-helper'; import { ApiV3FilterBuilder } from 'core-app/shared/helpers/api-v3/api-v3-filter-builder'; import { QueryResource } from 'core-app/features/hal/resources/query-resource'; import { HalResource } from 'core-app/features/hal/resources/hal-resource'; -import { CollectionResource } from 'core-app/features/hal/resources/collection-resource'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; @@ -57,7 +55,7 @@ export class BoardSubprojectActionService extends CachedBoardActionService { ) .get() .pipe( - map((collection:CollectionResource) => collection.elements), + map((collection) => collection.elements), ); } } diff --git a/frontend/src/app/features/boards/board/board-list/board-list.component.ts b/frontend/src/app/features/boards/board/board-list/board-list.component.ts index baa4f648b35..cf85cae64e2 100644 --- a/frontend/src/app/features/boards/board/board-list/board-list.component.ts +++ b/frontend/src/app/features/boards/board/board-list/board-list.component.ts @@ -4,6 +4,7 @@ import { Component, ElementRef, EventEmitter, + inject, Injector, Input, OnDestroy, @@ -26,6 +27,8 @@ import { AuthorisationService } from 'core-app/core/model-auth/model-auth.servic import { Highlighting } from 'core-app/features/work-packages/components/wp-fast-table/builders/highlighting/highlighting.functions'; import { WorkPackageCardViewComponent } from 'core-app/features/work-packages/components/wp-card-view/wp-card-view.component'; import { WorkPackageStatesInitializationService } from 'core-app/features/work-packages/components/wp-list/wp-states-initialization.service'; +import { States } from 'core-app/core/states/states.service'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; import { BoardService } from 'core-app/features/boards/board/board.service'; import { HalResourceEditingService } from 'core-app/shared/components/fields/edit/services/hal-resource-editing.service'; import { HalResourceNotificationService } from 'core-app/features/hal/services/hal-resource-notification.service'; @@ -148,6 +151,8 @@ export class BoardListComponent extends AbstractWidgetComponent implements OnIni public buttonPlaceholder:DisabledButtonPlaceholder|undefined; + private readonly states = inject(States); + constructor( readonly apiv3Service:ApiV3Service, readonly I18n:I18nService, @@ -488,17 +493,19 @@ export class BoardListComponent extends AbstractWidgetComponent implements OnIni openFullViewOnDoubleClick(event:{ workPackageId:string, double:boolean }) { if (event.double) { + const routingId = resolveRoutingId(this.states, event.workPackageId); const projectIdentifier = this.currentProject.identifier; - const link = this.pathHelper.genericWorkPackagePath(projectIdentifier, event.workPackageId) + window.location.search; + const link = this.pathHelper.genericWorkPackagePath(projectIdentifier, routingId) + window.location.search; Turbo.visit(link, { action: 'advance' }); } } openStateLink(event:{ workPackageId:string; requestedState:string }) { + const routingId = resolveRoutingId(this.states, event.workPackageId); if (event.requestedState === 'split') { - this.goToSplitView(event.workPackageId); + this.goToSplitView(routingId); } else { - this.keepTab.goCurrentShowState(event.workPackageId); + this.keepTab.goCurrentShowState(routingId); } } diff --git a/frontend/src/app/features/boards/board/board-partitioned-page/board-entry.component.ts b/frontend/src/app/features/boards/board/board-partitioned-page/board-entry.component.ts index 0503484d44b..1fe536a15eb 100644 --- a/frontend/src/app/features/boards/board/board-partitioned-page/board-entry.component.ts +++ b/frontend/src/app/features/boards/board/board-partitioned-page/board-entry.component.ts @@ -26,7 +26,14 @@ // See COPYRIGHT and LICENSE files for more details. //++ -import { ChangeDetectionStrategy, Component, ElementRef, Injector, Input } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + ElementRef, + Injector, + Input, + OnDestroy, +} from '@angular/core'; import { populateInputsFromDataset } from 'core-app/shared/components/dataset-inputs'; import { WorkPackageIsolatedQuerySpaceDirective, @@ -43,7 +50,7 @@ import { QueryUpdatedService } from 'core-app/features/boards/board/query-update @Component({ selector: 'board-entry', hostDirectives: [WorkPackageIsolatedQuerySpaceDirective], - template: ``, + template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ BoardConfigurationService, @@ -56,7 +63,7 @@ import { QueryUpdatedService } from 'core-app/features/boards/board/query-update ], standalone: false, }) -export class BoardEntryComponent { +export class BoardEntryComponent implements OnDestroy { @Input() boardId:string; constructor( @@ -74,4 +81,8 @@ export class BoardEntryComponent { registry.add('subproject', injector.get(BoardSubprojectActionService)); registry.add('subtasks', injector.get(BoardSubtasksActionService)); } + + ngOnDestroy() { + document.body.classList.remove('router--boards-full-view'); + } } diff --git a/frontend/src/app/features/boards/board/board-partitioned-page/board-list-container.component.ts b/frontend/src/app/features/boards/board/board-partitioned-page/board-list-container.component.ts index fba32f8b51d..d033ea67e5e 100644 --- a/frontend/src/app/features/boards/board/board-partitioned-page/board-list-container.component.ts +++ b/frontend/src/app/features/boards/board/board-partitioned-page/board-list-container.component.ts @@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, ElementRef, + inject, Input, Injector, OnInit, @@ -39,6 +40,8 @@ import { import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { CurrentProjectService } from 'core-app/core/current-project/current-project.service'; +import { States } from 'core-app/core/states/states.service'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; @Component({ selector: 'board-list-container', @@ -91,6 +94,8 @@ export class BoardListContainerComponent extends UntilDestroyedMixin implements private currentQueryUpdatedMonitoring:Subscription; + private readonly wpStates = inject(States); + constructor( readonly I18n:I18nService, readonly state:StateService, @@ -134,7 +139,8 @@ export class BoardListContainerComponent extends UntilDestroyedMixin implements filter(() => window.location.pathname.includes('/details/')), ).subscribe((selection) => { // Update split screen - const base = this.pathHelper.boardDetailsPath(this.currentProject.identifier, id, selection.focusedWorkPackage!); + const routingId = resolveRoutingId(this.wpStates, selection.focusedWorkPackage!); + const base = this.pathHelper.boardDetailsPath(this.currentProject.identifier, id, routingId); const search = window.location.search; Turbo.visit(search ? `${base}${search}` : base, { frame: 'content-bodyRight', action: 'advance' }); }); diff --git a/frontend/src/app/features/boards/board/board-partitioned-page/board-partitioned-page.component.ts b/frontend/src/app/features/boards/board/board-partitioned-page/board-partitioned-page.component.ts index 9d33220ca41..464c05c4a7a 100644 --- a/frontend/src/app/features/boards/board/board-partitioned-page/board-partitioned-page.component.ts +++ b/frontend/src/app/features/boards/board/board-partitioned-page/board-partitioned-page.component.ts @@ -47,7 +47,7 @@ export function boardCardViewHandlerFactory(injector:Injector) { @Component({ selector: 'board-partitioned-page', - templateUrl: './board-partitioned-page.component.html', + templateUrl: '../../../work-packages/routing/partitioned-query-space-page/primerized-partitioned-query-space-page.component.html', styleUrls: [ '../../../work-packages/routing/partitioned-query-space-page/partitioned-query-space-page.component.sass', './board-partitioned-page.component.sass', diff --git a/frontend/src/app/features/team-planner/team-planner/team-planner.lazy-routes.ts b/frontend/src/app/features/calendar/calendar-entry.component.ts similarity index 57% rename from frontend/src/app/features/team-planner/team-planner/team-planner.lazy-routes.ts rename to frontend/src/app/features/calendar/calendar-entry.component.ts index d9449ae243a..645a7efd35d 100644 --- a/frontend/src/app/features/team-planner/team-planner/team-planner.lazy-routes.ts +++ b/frontend/src/app/features/calendar/calendar-entry.component.ts @@ -26,13 +26,33 @@ // See COPYRIGHT and LICENSE files for more details. //++ -import { Ng2StateDeclaration } from '@uirouter/angular'; +import { + ChangeDetectionStrategy, + Component, + ElementRef, + Input, + OnDestroy, +} from '@angular/core'; +import { populateInputsFromDataset } from 'core-app/shared/components/dataset-inputs'; +import { + WorkPackageIsolatedQuerySpaceDirective, +} from 'core-app/features/work-packages/directives/query-space/wp-isolated-query-space.directive'; -export const TEAM_PLANNER_LAZY_ROUTES:Ng2StateDeclaration[] = [ - { - name: 'team_planner.**', - parent: 'optional_project', - url: '/team_planner', - loadChildren: () => import('./team-planner.module').then((m) => m.TeamPlannerModule), - }, -]; +@Component({ + hostDirectives: [WorkPackageIsolatedQuerySpaceDirective], + template: '', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: false, +}) +export class CalendarEntryComponent implements OnDestroy { + @Input() queryId:string; + + constructor(readonly elementRef:ElementRef) { + populateInputsFromDataset(this); + document.body.classList.add('router--calendar'); + } + + ngOnDestroy() { + document.body.classList.add('router--calendar'); + } +} diff --git a/frontend/src/app/features/calendar/calendar.lazy-routes.ts b/frontend/src/app/features/calendar/calendar.lazy-routes.ts deleted file mode 100644 index 70e8ab18acc..00000000000 --- a/frontend/src/app/features/calendar/calendar.lazy-routes.ts +++ /dev/null @@ -1,38 +0,0 @@ -//-- copyright -// OpenProject is an open source project management software. -// Copyright (C) the OpenProject GmbH -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License version 3. -// -// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -// Copyright (C) 2006-2013 Jean-Philippe Lang -// Copyright (C) 2010-2013 the ChiliProject Team -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -// -// See COPYRIGHT and LICENSE files for more details. -//++ - -import { Ng2StateDeclaration } from '@uirouter/angular'; - -export const CALENDAR_LAZY_ROUTES:Ng2StateDeclaration[] = [ - { - name: 'calendar.**', - parent: 'optional_project', - url: '/calendars', - loadChildren: () => import('./openproject-calendar.module').then((m) => m.OpenprojectCalendarModule), - }, -]; diff --git a/frontend/src/app/features/calendar/calendar.routes.ts b/frontend/src/app/features/calendar/calendar.routes.ts deleted file mode 100644 index 4a2e1c34d1c..00000000000 --- a/frontend/src/app/features/calendar/calendar.routes.ts +++ /dev/null @@ -1,84 +0,0 @@ -//-- copyright -// OpenProject is an open source project management software. -// Copyright (C) the OpenProject GmbH -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License version 3. -// -// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -// Copyright (C) 2006-2013 Jean-Philippe Lang -// Copyright (C) 2010-2013 the ChiliProject Team -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -// -// See COPYRIGHT and LICENSE files for more details. -//++ - -import { Ng2StateDeclaration } from '@uirouter/angular'; -import { makeSplitViewRoutes } from 'core-app/features/work-packages/routing/split-view-routes.template'; -import { WorkPackageSplitViewComponent } from 'core-app/features/work-packages/routing/wp-split-view/wp-split-view.component'; -import { WorkPackagesBaseComponent } from 'core-app/features/work-packages/routing/wp-base/wp--base.component'; -import { WorkPackagesCalendarComponent } from 'core-app/features/calendar/wp-calendar/wp-calendar.component'; -import { WorkPackagesCalendarPageComponent } from 'core-app/features/calendar/wp-calendar-page/wp-calendar-page.component'; - -export const sidemenuId = 'calendar_sidemenu'; -export const sideMenuOptions = { - sidemenuId, - hardReloadOnBaseRoute: true, - defaultQuery: 'new', -}; - -export const CALENDAR_ROUTES:Ng2StateDeclaration[] = [ - { - name: 'calendar', - parent: 'optional_project', - url: '/calendars/:query_id?&query_props&cdate&cview', - redirectTo: 'calendar.page', - views: { - '!$default': { component: WorkPackagesBaseComponent }, - }, - params: { - query_id: { type: 'opQueryId', dynamic: true }, - cdate: { type: 'string', dynamic: true }, - cview: { type: 'string', dynamic: true }, - // Use custom encoder/decoder that ensures validity of URL string - query_props: { type: 'opQueryString' }, - }, - }, - { - name: 'calendar.page', - component: WorkPackagesCalendarPageComponent, - redirectTo: 'calendar.page.show', - data: { - bodyClasses: 'router--calendar', - sideMenuOptions, - }, - }, - { - name: 'calendar.page.show', - data: { - baseRoute: 'calendar.page.show', - sideMenuOptions, - }, - views: { - 'content-left': { component: WorkPackagesCalendarComponent }, - }, - }, - ...makeSplitViewRoutes( - 'calendar.page.show', - undefined, - WorkPackageSplitViewComponent, - ), -]; diff --git a/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts b/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts index 86dbd0c0d09..5184f8c5be1 100644 --- a/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts +++ b/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts @@ -1,4 +1,4 @@ -import { Injectable, Injector } from '@angular/core'; +import { inject, Injectable, Injector } from '@angular/core'; import { CalendarOptions, DatesSetArg, @@ -15,9 +15,8 @@ import { ConfigurationService } from 'core-app/core/config/configuration.service import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; import { DomSanitizer } from '@angular/platform-browser'; import { SchemaCacheService } from 'core-app/core/schemas/schema-cache.service'; -import { splitViewRoute } from 'core-app/features/work-packages/routing/split-view-routes.helper'; -import { StateService } from '@uirouter/angular'; import { WorkPackageCollectionResource } from 'core-app/features/hal/resources/wp-collection-resource'; +import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { ToastService } from 'core-app/shared/components/toaster/toast.service'; import { firstValueFrom, Observable } from 'rxjs'; import { @@ -34,7 +33,6 @@ import { UrlParamsHelperService, } from 'core-app/features/work-packages/components/wp-query/url-params-helper'; import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; -import { UIRouterGlobals } from '@uirouter/core'; import { TimezoneService } from 'core-app/core/datetime/timezone.service'; import { WorkPackagesListChecksumService, @@ -53,6 +51,8 @@ import { uiStateLinkClass, } from 'core-app/features/work-packages/components/wp-fast-table/builders/ui-state-link-builder'; import { debugLog } from 'core-app/shared/helpers/debug_output'; +import { States } from 'core-app/core/states/states.service'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; import { WorkPackageViewContextMenu, } from 'core-app/shared/components/op-context-menu/wp-context-menu/wp-view-context-menu.directive'; @@ -89,11 +89,12 @@ export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { take(1), ); + private readonly states = inject(States); + constructor( private I18n:I18nService, private configuration:ConfigurationService, private sanitizer:DomSanitizer, - private $state:StateService, readonly injector:Injector, readonly schemaCache:SchemaCacheService, readonly toastService:ToastService, @@ -104,8 +105,8 @@ export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { readonly querySpace:IsolatedQuerySpace, readonly apiV3Service:ApiV3Service, readonly halResourceService:HalResourceService, - readonly uiRouterGlobals:UIRouterGlobals, readonly timezoneService:TimezoneService, + readonly pathHelper:PathHelperService, readonly halEditing:HalResourceEditingService, readonly wpTableSelection:WorkPackageViewSelectionService, readonly contextMenuService:OPContextMenuService, @@ -283,23 +284,29 @@ export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { this.wpTableSelection.setSelection(id, -1); // Only open the split view if already open, otherwise only clicking the details opens - if (onlyWhenOpen && !this.$state.includes('**.details.*')) { + if (onlyWhenOpen && !window.location.pathname.includes('/details/')) { return; } - void this.$state.go( - `${splitViewRoute(this.$state)}.tabs`, - { workPackageId: id, tabIdentifier: 'overview' }, - ); + this.visitSplitViewLink(resolveRoutingId(this.states, id)); + } + + public openSplitCreate(extraParams?:Record):void { + this.visitSplitViewLink('new', extraParams); + } + + private visitSplitViewLink(id:string, extraParams?:Record):void { + const basePath = window.location.pathname.replace(/\/details\/.*$/, ''); + const params = new URLSearchParams(window.location.search); + if (extraParams) { + Object.entries(extraParams).forEach(([key, value]) => params.set(key, value)); + } + Turbo.visit(`${basePath}/details/${id}?${params.toString()}`, { frame: 'content-bodyRight', action: 'advance' }); } public openFullView(id:string):void { this.wpTableSelection.setSelection(id, -1); - - void this.$state.go( - 'work-packages.show', - { workPackageId: id }, - ); + Turbo.visit(this.pathHelper.workPackagePath(resolveRoutingId(this.states, id))); } public onCardClicked({ workPackageId, event }:{ workPackageId:string, event:MouseEvent }):void { @@ -399,8 +406,22 @@ export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { && !this.urlParams.query_props; } - public get urlParams() { - return this.uiRouterGlobals.params; + public get urlParams():{ + query_id?:string; + query_props?:string; + cdate?:string; + cview?:string; + } { + const search = new URLSearchParams(window.location.search); + // Extract query_id from path-based routing (e.g. /calendars/, /team_planners/). + const match = /\/(?:calendars|team_planners)\/([^/]+)/.exec(window.location.pathname); + const rawId = match?.[1]; + return { + query_id: rawId === 'new' ? undefined : rawId, + query_props: search.get('query_props') ?? undefined, + cdate: search.get('cdate') ?? undefined, + cview: search.get('cview') ?? undefined, + }; } private get areFiltersEmpty():boolean { @@ -417,17 +438,27 @@ export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { } private updateDateParam(dates:DatesSetArg) { - void this.$state.go( - '.', - { - cdate: this.timezoneService.formattedISODate(dates.view.calendar.getDate()), - // v6.beta3 fails to have type on the ViewAPI - cview: (dates.view as unknown as { type:string }).type, - }, - { - custom: { notify: false }, - }, - ); + const url = new URL(window.location.href); + + // Don't push a history entry when a split view is open: the date params are already + // encoded in the details URL, and pushing here would add a spurious details-URL entry + // that browser-back would restore (with the split view still visible). + if (url.pathname.includes('/details/')) { + return; + } + + const newDate = this.timezoneService.formattedISODate(dates.view.calendar.getDate()); + const newView = (dates.view as unknown as { type:string }).type; + + if (url.searchParams.get('cdate') === newDate && url.searchParams.get('cview') === newView) { + return; + } + + url.searchParams.set('cdate', newDate); + url.searchParams.set('cview', newView); + // Use a Turbo-compatible state so that browser history.back() triggers Turbo's + // restoration visit (full page reload), which correctly resets any open split view frame. + window.history.pushState({ turbo: { restorationIdentifier: crypto.randomUUID() } }, '', url); } updateDates(resizeInfo:EventResizeDoneArg|EventDropArg|EventReceiveArg, dragged?:boolean):ResourceChangeset { diff --git a/frontend/src/app/features/calendar/openproject-calendar.module.ts b/frontend/src/app/features/calendar/openproject-calendar.module.ts index ead83646fc5..fde87c840c5 100644 --- a/frontend/src/app/features/calendar/openproject-calendar.module.ts +++ b/frontend/src/app/features/calendar/openproject-calendar.module.ts @@ -32,12 +32,11 @@ import { ReactiveFormsModule } from '@angular/forms'; import { FullCalendarModule } from '@fullcalendar/angular'; import { WorkPackagesCalendarComponent } from 'core-app/features/calendar/wp-calendar/wp-calendar.component'; import { OpenprojectWorkPackagesModule } from 'core-app/features/work-packages/openproject-work-packages.module'; -import { UIRouterModule } from '@uirouter/angular'; import { TimeEntryCalendarComponent } from 'core-app/features/calendar/te-calendar/te-calendar.component'; import { OpenprojectFieldsModule } from 'core-app/shared/components/fields/openproject-fields.module'; import { OpenprojectTimeEntriesModule } from 'core-app/shared/components/time_entries/openproject-time-entries.module'; import { WorkPackagesCalendarPageComponent } from 'core-app/features/calendar/wp-calendar-page/wp-calendar-page.component'; -import { CALENDAR_ROUTES } from 'core-app/features/calendar/calendar.routes'; +import { CalendarEntryComponent } from 'core-app/features/calendar/calendar-entry.component'; import { QueryGetIcalUrlModalComponent } from 'core-app/shared/components/modals/get-ical-url-modal/query-get-ical-url.modal'; @NgModule({ @@ -45,9 +44,6 @@ import { QueryGetIcalUrlModalComponent } from 'core-app/shared/components/modals // Commons OpSharedModule, - // Routes for /calendar - UIRouterModule.forChild({ states: CALENDAR_ROUTES }), - // Work Package module OpenprojectWorkPackagesModule, @@ -65,6 +61,7 @@ import { QueryGetIcalUrlModalComponent } from 'core-app/shared/components/modals ], declarations: [ // Work package calendars + CalendarEntryComponent, WorkPackagesCalendarPageComponent, WorkPackagesCalendarComponent, TimeEntryCalendarComponent, diff --git a/frontend/src/app/features/calendar/wp-calendar-page/wp-calendar-page.component.ts b/frontend/src/app/features/calendar/wp-calendar-page/wp-calendar-page.component.ts index 06bc7e78440..f307e19bb0b 100644 --- a/frontend/src/app/features/calendar/wp-calendar-page/wp-calendar-page.component.ts +++ b/frontend/src/app/features/calendar/wp-calendar-page/wp-calendar-page.component.ts @@ -29,6 +29,8 @@ import { ChangeDetectionStrategy, Component, + Input, + OnInit, ViewChild, } from '@angular/core'; import { WorkPackagesCalendarComponent } from 'core-app/features/calendar/wp-calendar/wp-calendar.component'; @@ -50,7 +52,8 @@ import { ActionsService } from 'core-app/core/state/actions/actions.service'; import { InjectField } from 'core-app/shared/helpers/angular/inject-field.decorator'; @Component({ - templateUrl: '../../work-packages/routing/partitioned-query-space-page/partitioned-query-space-page.component.html', + selector: 'op-wp-calendar-page', + templateUrl: '../../work-packages/routing/partitioned-query-space-page/primerized-partitioned-query-space-page.component.html', styleUrls: [ '../../work-packages/routing/partitioned-query-space-page/partitioned-query-space-page.component.sass', ], @@ -60,7 +63,9 @@ import { InjectField } from 'core-app/shared/helpers/angular/inject-field.decora ], standalone: false, }) -export class WorkPackagesCalendarPageComponent extends PartitionedQuerySpacePageComponent { +export class WorkPackagesCalendarPageComponent extends PartitionedQuerySpacePageComponent implements OnInit { + @Input() queryId:string; + @InjectField(ActionsService) actions$:ActionsService; @ViewChild(WorkPackagesCalendarComponent, { static: true }) calendarElement:WorkPackagesCalendarComponent; @@ -121,6 +126,20 @@ export class WorkPackagesCalendarPageComponent extends PartitionedQuerySpacePage }, ]; + override ngOnInit():void { + super.ngOnInit(); + // Fix showToolbarSaveButton from actual URL params (not uiRouter state) + this.showToolbarSaveButton = !!new URLSearchParams(window.location.search).get('query_props'); + + // Update save button reactively when query_props changes via pushState (non-uiRouter pages) + this.wpListChecksumService.visibleChecksum$ + .pipe(this.untilDestroyed()) + .subscribe((checksum) => { + this.showToolbarSaveButton = !!checksum; + this.cdRef.detectChanges(); + }); + } + /** * We need to set the current partition to the grid to ensure * either side gets expanded to full width if we're not in '-split' mode. diff --git a/frontend/src/app/features/calendar/wp-calendar/wp-calendar.component.ts b/frontend/src/app/features/calendar/wp-calendar/wp-calendar.component.ts index e0f6f2f5f2c..7c60b93882b 100644 --- a/frontend/src/app/features/calendar/wp-calendar/wp-calendar.component.ts +++ b/frontend/src/app/features/calendar/wp-calendar/wp-calendar.component.ts @@ -57,7 +57,6 @@ import { WorkPackageViewFiltersService, } from 'core-app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service'; import { WorkPackagesListService } from 'core-app/features/work-packages/components/wp-list/wp-list.service'; -import { StateService } from '@uirouter/core'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { ToastService } from 'core-app/shared/components/toaster/toast.service'; import { DomSanitizer } from '@angular/platform-browser'; @@ -70,7 +69,7 @@ import { HalResourceEditingService, } from 'core-app/shared/components/fields/edit/services/hal-resource-editing.service'; import { HalResourceNotificationService } from 'core-app/features/hal/services/hal-resource-notification.service'; -import { splitViewRoute } from 'core-app/features/work-packages/routing/split-view-routes.helper'; +import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { CalendarViewEvent, OpWorkPackagesCalendarService, @@ -88,7 +87,6 @@ import { import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; import { ApiV3FilterBuilder } from 'core-app/shared/helpers/api-v3/api-v3-filter-builder'; import allLocales from '@fullcalendar/core/locales-all'; -import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { MeetingResource } from 'core-app/features/hal/resources/meeting-resource'; import { TimezoneService } from 'core-app/core/datetime/timezone.service'; @@ -128,7 +126,6 @@ export class WorkPackagesCalendarComponent extends UntilDestroyedMixin implement constructor( readonly actions$:ActionsService, readonly states:States, - readonly $state:StateService, readonly wpTableFilters:WorkPackageViewFiltersService, readonly wpListService:WorkPackagesListService, readonly querySpace:IsolatedQuerySpace, @@ -342,16 +339,13 @@ export class WorkPackagesCalendarComponent extends UntilDestroyedMixin implement } if (evt.event.extendedProps.workPackage) { - const workPackageId = (evt.event.extendedProps.workPackage as WorkPackageResource).id!; + const wp = evt.event.extendedProps.workPackage as WorkPackageResource; // Currently the calendar widget is shown on multiple pages, // but only the calendar module itself is a partitioned query space which can deal with a split screen request - if (this.$state.includes('calendar')) { - this.workPackagesCalendar.openSplitView(workPackageId); + if (window.location.pathname.includes('/calendars/')) { + this.workPackagesCalendar.openSplitView(wp.id!); } else { - void this.$state.go( - 'work-packages.show', - { workPackageId }, - ); + window.location.href = this.pathHelper.workPackagePath(wp.displayId); } } }, @@ -414,7 +408,7 @@ export class WorkPackagesCalendarComponent extends UntilDestroyedMixin implement durationEditable: this.workPackagesCalendar.eventDurationEditable(workPackage), end: exclusiveEnd, allDay: true, - className: `fc-event-clickable __hl_background_type_${workPackage.type.id || ''}`, + className: `fc-event-clickable __hl_background_type_${workPackage.type.id ?? ''}`, workPackage, }; }); @@ -444,13 +438,14 @@ export class WorkPackagesCalendarComponent extends UntilDestroyedMixin implement ignoreNonWorkingDays: nonWorkingDays, }; - void this.$state.go( - splitViewRoute(this.$state, 'new'), - { - defaults, - tabIdentifier: 'overview', - }, - ); + if (window.location.pathname.includes('/calendars/')) { + const extraParams:Record = { + startDate: defaults.startDate, + dueDate: defaults.dueDate, + ...(defaults.ignoreNonWorkingDays ? { ignoreNonWorkingDays: 'true' } : {}), + }; + this.workPackagesCalendar.openSplitCreate(extraParams); + } } @EffectCallback(calendarRefreshRequest) diff --git a/frontend/src/app/features/hal/hal-link/hal-link.ts b/frontend/src/app/features/hal/hal-link/hal-link.ts index 8cd477a3f49..7a336ad204f 100644 --- a/frontend/src/app/features/hal/hal-link/hal-link.ts +++ b/frontend/src/app/features/hal/hal-link/hal-link.ts @@ -42,6 +42,7 @@ export interface HalLinkInterface { payload?:any; type?:string; identifier?:string; + displayId?:string; } export interface HalLinkSource { @@ -62,7 +63,8 @@ export class HalLink implements HalLinkInterface { public templated = false, public payload?:any, public type = 'application/json', - public identifier?:string) { + public identifier?:string, + public displayId?:string) { } /** @@ -78,6 +80,7 @@ export class HalLink implements HalLinkInterface { link.payload, link.type, link.identifier, + link.displayId, ); } @@ -114,6 +117,7 @@ export class HalLink implements HalLinkInterface { this.payload, this.type, this.identifier, + this.displayId, ).$callable(); } @@ -134,6 +138,7 @@ export class HalLink implements HalLinkInterface { payload: this.payload, type: this.type, identifier: this.identifier, + displayId: this.displayId, }); return linkFunc; diff --git a/frontend/src/app/features/hal/resources/project-resource.ts b/frontend/src/app/features/hal/resources/project-resource.ts index 0f5e2f7c00e..10cb6240431 100644 --- a/frontend/src/app/features/hal/resources/project-resource.ts +++ b/frontend/src/app/features/hal/resources/project-resource.ts @@ -30,6 +30,11 @@ import { HalResource } from 'core-app/features/hal/resources/hal-resource'; import { ICKEditorContext } from 'core-app/shared/components/editor/components/ckeditor/ckeditor.types'; export class ProjectResource extends HalResource { + public get identifier():string { + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + return this.$source.identifier as string; + } + public get state() { return this.states.projects.get(this.id!) as any; } diff --git a/frontend/src/app/features/hal/resources/work-package-resource.spec.ts b/frontend/src/app/features/hal/resources/work-package-resource.spec.ts index aa47c69715e..38bd71dfbef 100644 --- a/frontend/src/app/features/hal/resources/work-package-resource.spec.ts +++ b/frontend/src/app/features/hal/resources/work-package-resource.spec.ts @@ -95,7 +95,14 @@ describe('WorkPackage', () => { injector = TestBed.inject(Injector); halResourceNotification = injector.get(HalResourceNotificationService); - halResourceService.registerResource('WorkPackage', { cls: WorkPackageResource }); + halResourceService.registerResource('WorkPackage', { + cls: WorkPackageResource, + attrTypes: { + parent: 'WorkPackage', + ancestors: 'WorkPackage', + children: 'WorkPackage', + }, + }); }); describe('when creating an empty work package', () => { @@ -141,6 +148,52 @@ describe('WorkPackage', () => { }); }); + describe('when displayId is absent but present on the self link (linked ancestor/child)', () => { + beforeEach(() => { + source = { + _links: { + self: { + href: '/api/v3/work_packages/11099', + title: 'subj child', + displayId: 'ACSMT-15', + }, + }, + }; + createWorkPackage(); + }); + + it('should fall back to the semantic identifier on the self link', () => { + expect(workPackage.displayId).toEqual('ACSMT-15'); + }); + }); + + describe('when built from a parent work package _links.ancestors array', () => { + // Mirrors the real HAL pipeline: the parent exposes an ancestors link + // array; each entry carries displayId alongside href/title; the builder + // creates an ancestor WorkPackageResource through HalLink, which must + // preserve displayId end-to-end. + beforeEach(() => { + source = { + _links: { + self: { href: '/api/v3/work_packages/42' }, + ancestors: [ + { + href: '/api/v3/work_packages/11099', + title: 'subj child', + displayId: 'ACSMT-15', + }, + ], + }, + }; + createWorkPackage(); + }); + + it('surfaces the semantic displayId on each ancestor resource', () => { + const ancestor = (workPackage as any).ancestors[0] as WorkPackageResource; + expect(ancestor.displayId).toEqual('ACSMT-15'); + }); + }); + }); describe('formattedId', () => { diff --git a/frontend/src/app/features/hal/resources/work-package-resource.ts b/frontend/src/app/features/hal/resources/work-package-resource.ts index 1210ce87e1b..681189d29fa 100644 --- a/frontend/src/app/features/hal/resources/work-package-resource.ts +++ b/frontend/src/app/features/hal/resources/work-package-resource.ts @@ -50,6 +50,7 @@ import { Attachable } from 'core-app/features/hal/resources/mixins/attachable-mi import { ICKEditorContext } from 'core-app/shared/components/editor/components/ckeditor/ckeditor.types'; import isNewResource from 'core-app/features/hal/helpers/is-new-resource'; import { IWorkPackageTimestamp } from 'core-app/features/hal/resources/work-package-timestamp-resource'; +import { formatWorkPackageId } from 'core-app/shared/helpers/work-package-id-pattern'; export interface WorkPackageResourceEmbedded { activities:CollectionResource; @@ -126,11 +127,28 @@ export class WorkPackageBaseResource extends HalResource { public subject:string; /** - * Returns the user-facing work package identifier. - * "PROJ-42" in semantic mode, "42" in classic mode. + * The canonical user-facing work package identifier. + * + * - Semantic mode: `"PROJ-42"` (project-scoped, contains letters) + * - Classic mode: `"42"` (numeric only) + * + * This is the correct value for URL path segments — use this rather + * than `id` when constructing work package hrefs. The numeric `id` + * (primary key) should only appear in data attributes and internal + * state management (selection, focus, hover). + * + * Falls back to the self link's `displayId` — ancestor/children links + * in the API expose `displayId` alongside `href`/`title` because those + * HAL resources are built from a link payload alone, without a + * top-level `displayId`. Finally falls back to `id` (defensive against + * stale cache during rolling deploys, and for resources built from + * bare hrefs). */ public get displayId():string { - return this.$source.displayId?.toString() ?? this.id?.toString() ?? ''; + return this.$source.displayId?.toString() + ?? this.$source._links?.self?.displayId?.toString() + ?? this.id?.toString() + ?? ''; } /** @@ -139,8 +157,7 @@ export class WorkPackageBaseResource extends HalResource { * Semantic mode: `PROJ-42` (no prefix — the identifier is self-describing) */ public get formattedId():string { - const wpId = this.displayId; - return /[A-Za-z]/.test(wpId) ? wpId : `#${wpId}`; + return formatWorkPackageId(this.displayId); } public updatedAt:Date; diff --git a/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html b/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html index fadebcdea8b..f2e7243297e 100644 --- a/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html +++ b/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html @@ -7,7 +7,7 @@ (keydown.space)="$event.preventDefault(); onClick()" (dblclick)="onDoubleClick()" > - @if (workPackage$ && (workPackage$ | async); as workPackage) { + @if (workPackage$ | async; as workPackage) {
@@ -19,7 +19,7 @@ [class.spot-link_inactive]="isMobile()" [attr.title]="workPackage.subject" [textContent]="workPackage.formattedId" - [attr.href]="fullScreenLink()" + [attr.href]="pathHelper.workPackagePath(workPackage.displayId)" (click)="onLinkClick($event)" > @@ -108,7 +108,7 @@
} @else {
- @if (workPackage$) { + @if (workPackageId) { |null = null; + // Latest streamed work package, cached for synchronous reads from click + // handlers (which need displayId to build the URL). + private latestWorkPackage:WorkPackageResource|null = null; + showDateAlert = false; hasReminderAlert = false; @@ -47,7 +53,7 @@ export class InAppNotificationEntryComponent implements OnInit { private clickTimer:ReturnType; - private workPackageId:string|null; + workPackageId:string|null; constructor( readonly apiV3Service:ApiV3Service, @@ -58,6 +64,7 @@ export class InAppNotificationEntryComponent implements OnInit { readonly deviceService:DeviceService, readonly urlParams:UrlParamsService, ) { + super(); } ngOnInit():void { @@ -77,13 +84,19 @@ export class InAppNotificationEntryComponent implements OnInit { private loadWorkPackage() { // not a work package reference - if (this.workPackageId) { - this.workPackage$ = this - .apiV3Service - .work_packages - .id(this.workPackageId) - .requireAndStream(); + if (!this.workPackageId) { + return; } + + this.workPackage$ = this + .apiV3Service + .work_packages + .id(this.workPackageId) + .requireAndStream() + .pipe( + tap((wp) => { this.latestWorkPackage = wp; }), + this.untilDestroyed(), + ); } onClick():void { @@ -101,7 +114,8 @@ export class InAppNotificationEntryComponent implements OnInit { } const tab = this.showDateAlert ? 'overview' : 'activity'; - this.storeService.openSplitScreen(this.workPackageId, tab); + const id = this.latestWorkPackage?.displayId ?? this.workPackageId; + this.storeService.openSplitScreen(id, tab); } onDoubleClick():void { @@ -114,14 +128,11 @@ export class InAppNotificationEntryComponent implements OnInit { return; } - const link = this.pathHelper.workPackagePath(this.workPackageId) + window.location.search; + const id = this.latestWorkPackage?.displayId ?? this.workPackageId; + const link = this.pathHelper.workPackagePath(id) + window.location.search; Turbo.visit(link, { action: 'advance' }); } - fullScreenLink():string { - return this.workPackageId ? this.pathHelper.workPackagePath(this.workPackageId) : this.pathHelper.workPackagesPath(null); - } - onLinkClick(e:Event):void { e.stopPropagation(); } diff --git a/frontend/src/app/features/team-planner/team-planner/add-work-packages/add-existing-pane.component.ts b/frontend/src/app/features/team-planner/team-planner/add-work-packages/add-existing-pane.component.ts index 1636b2e96c3..6ef92b88a1b 100644 --- a/frontend/src/app/features/team-planner/team-planner/add-work-packages/add-existing-pane.component.ts +++ b/frontend/src/app/features/team-planner/team-planner/add-work-packages/add-existing-pane.component.ts @@ -32,12 +32,9 @@ import { UrlParamsHelperService } from 'core-app/features/work-packages/componen import { IsolatedQuerySpace } from 'core-app/features/work-packages/directives/query-space/isolated-query-space'; import { UntilDestroyedMixin } from 'core-app/shared/helpers/angular/until-destroyed.mixin'; import { CalendarDragDropService } from 'core-app/features/team-planner/team-planner/calendar-drag-drop.service'; -import { splitViewRoute } from 'core-app/features/work-packages/routing/split-view-routes.helper'; -import { StateService } from '@uirouter/core'; import { ActionsService } from 'core-app/core/state/actions/actions.service'; import { teamPlannerEventRemoved } from 'core-app/features/team-planner/team-planner/planner/team-planner.actions'; import { WorkPackageViewFiltersService } from 'core-app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service'; -import { OpCalendarService } from 'core-app/features/calendar/op-calendar.service'; import { OpWorkPackagesCalendarService } from 'core-app/features/calendar/op-work-packages-calendar.service'; @Component({ @@ -121,7 +118,6 @@ export class AddExistingPaneComponent extends UntilDestroyedMixin implements OnI private readonly urlParamsHelper:UrlParamsHelperService, private readonly workPackagesCalendar:OpWorkPackagesCalendarService, private readonly calendarDrag:CalendarDragDropService, - private readonly $state:StateService, private readonly actions$:ActionsService, private readonly wpFilters:WorkPackageViewFiltersService, ) { @@ -214,10 +210,7 @@ export class AddExistingPaneComponent extends UntilDestroyedMixin implements OnI } openStateLink(event:{ workPackageId:string; requestedState:string }):void { - void this.$state.go( - `${splitViewRoute(this.$state)}.tabs`, - { workPackageId: event.workPackageId, tabIdentifier: 'overview' }, - ); + this.workPackagesCalendar.openSplitView(event.workPackageId); } private addExistingFilters(filters:ApiV3FilterBuilder) { diff --git a/frontend/src/app/features/team-planner/team-planner/page/team-planner-page.component.ts b/frontend/src/app/features/team-planner/team-planner/page/team-planner-page.component.ts index d77dd42af8a..9cb3167c497 100644 --- a/frontend/src/app/features/team-planner/team-planner/page/team-planner-page.component.ts +++ b/frontend/src/app/features/team-planner/team-planner/page/team-planner-page.component.ts @@ -31,7 +31,8 @@ import { OpWorkPackagesCalendarService } from 'core-app/features/calendar/op-wor import { OpCalendarService } from 'core-app/features/calendar/op-calendar.service'; @Component({ - templateUrl: '../../../work-packages/routing/partitioned-query-space-page/partitioned-query-space-page.component.html', + selector: 'op-team-planner-page', + templateUrl: '../../../work-packages/routing/partitioned-query-space-page/primerized-partitioned-query-space-page.component.html', styleUrls: [ '../../../work-packages/routing/partitioned-query-space-page/partitioned-query-space-page.component.sass', ], @@ -98,6 +99,17 @@ export class TeamPlannerPageComponent extends PartitionedQuerySpacePageComponent public ngOnInit():void { super.ngOnInit(); + // Fix showToolbarSaveButton from actual URL params (not uiRouter state) + this.showToolbarSaveButton = !!new URLSearchParams(window.location.search).get('query_props'); + + // Update save button reactively when query_props changes via pushState + this.wpListChecksumService.visibleChecksum$ + .pipe(this.untilDestroyed()) + .subscribe((checksum) => { + this.showToolbarSaveButton = !!checksum; + this.cdRef.detectChanges(); + }); + registerEffectCallbacks(this, this.untilDestroyed()); this.wpTableFilters.hidden.push( diff --git a/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.html b/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.html index 3ebc827c247..e43d51c6725 100644 --- a/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.html +++ b/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.html @@ -98,7 +98,7 @@ [showStartDate]="!isWpStartDateInCurrentView(wp)" [showEndDate]="!isWpEndDateInCurrentView(wp)" (stateLinkClicked)="openStateLink($event)" - (cardClicked)="workPackagesCalendar.onCardClicked($event)" + (cardClicked)="onCardClicked($event)" (cardDblClicked)="workPackagesCalendar.onCardDblClicked($event)" (cardContextMenu)="workPackagesCalendar.showEventContextMenu($event)" /> diff --git a/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.ts b/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.ts index 14a92373753..569a70aac64 100644 --- a/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.ts +++ b/frontend/src/app/features/team-planner/team-planner/planner/team-planner.component.ts @@ -63,7 +63,6 @@ import { take, withLatestFrom, } from 'rxjs/operators'; -import { StateService } from '@uirouter/angular'; import resourceTimelinePlugin from '@fullcalendar/resource-timeline'; import interactionPlugin, { EventDragStartArg, @@ -77,7 +76,6 @@ import { ConfigurationService } from 'core-app/core/config/configuration.service import { WorkPackageViewFiltersService } from 'core-app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service'; import { IsolatedQuerySpace } from 'core-app/features/work-packages/directives/query-space/isolated-query-space'; import { CurrentProjectService } from 'core-app/core/current-project/current-project.service'; -import { splitViewRoute } from 'core-app/features/work-packages/routing/split-view-routes.helper'; import { QueryFilterInstanceResource } from 'core-app/features/hal/resources/query-filter-instance-resource'; import { PrincipalsResourceService } from 'core-app/core/state/principals/principals.service'; import { @@ -96,7 +94,6 @@ import { MAGIC_PAGE_NUMBER } from 'core-app/core/apiv3/helpers/get-paginated-res import { CalendarDragDropService } from 'core-app/features/team-planner/team-planner/calendar-drag-drop.service'; import { StatusResource } from 'core-app/features/hal/resources/status-resource'; import { ResourceChangeset } from 'core-app/shared/components/fields/changeset/resource-changeset'; -import { KeepTabService } from 'core-app/features/work-packages/components/wp-single-view-tabs/keep-tab/keep-tab.service'; import { HalError } from 'core-app/features/hal/services/hal-error'; import { ActionsService } from 'core-app/core/state/actions/actions.service'; import { @@ -407,7 +404,6 @@ export class TeamPlannerComponent extends UntilDestroyedMixin implements OnInit, }; constructor( - private $state:StateService, private configuration:ConfigurationService, private principalsResourceService:PrincipalsResourceService, private capabilitiesResourceService:CapabilitiesResourceService, @@ -423,7 +419,6 @@ export class TeamPlannerComponent extends UntilDestroyedMixin implements OnInit, readonly schemaCache:SchemaCacheService, readonly apiV3Service:ApiV3Service, readonly calendarDrag:CalendarDragDropService, - readonly keepTab:KeepTabService, readonly actions$:ActionsService, readonly toastService:ToastService, readonly loadingIndicatorService:LoadingIndicatorService, @@ -460,6 +455,7 @@ export class TeamPlannerComponent extends UntilDestroyedMixin implements OnInit, .pipe( this.untilDestroyed(), debounceTime(0), + filter(() => !!this.ucCalendar), ) .subscribe(([principals, showAddAssignee]) => { const api = this.ucCalendar.getApi(); @@ -827,36 +823,31 @@ export class TeamPlannerComponent extends UntilDestroyedMixin implements OnInit, ['$event.detail.start', '$event.detail.end', '$event.detail.assignee'], ) openNewSplitCreate(start:string, end:string, resourceHref:string, nonWorkingDays?:boolean):void { - const defaults = { - startDate: start, - dueDate: end, - _links: { - assignee: { - href: resourceHref, - }, - }, - ignoreNonWorkingDays: nonWorkingDays, - }; - - void this.$state.go( - splitViewRoute(this.$state, 'new'), - { - defaults, - tabIdentifier: 'overview', - }, - ); + const basePath = window.location.pathname.replace(/\/details\/.*$/, ''); + const search = new URLSearchParams(window.location.search); + search.set('startDate', start); + search.set('dueDate', end); + if (resourceHref) { + search.set('assignee_href', resourceHref); + } + if (nonWorkingDays) { + search.set('ignoreNonWorkingDays', 'true'); + } + Turbo.visit(`${basePath}/details/new?${search.toString()}`, { frame: 'content-bodyRight', action: 'advance' }); } openStateLink(event:{ workPackageId:string; requestedState:string }):void { - const params = { workPackageId: event.workPackageId }; - if (event.requestedState === 'split') { - this.keepTab.goCurrentDetailsState(params); + this.workPackagesCalendar.openSplitView(event.workPackageId); } else { - this.keepTab.goCurrentShowState(params.workPackageId); + this.workPackagesCalendar.openFullView(event.workPackageId); } } + onCardClicked({ workPackageId, event }:{ workPackageId:string, event:MouseEvent }):void { + this.workPackagesCalendar.onCardClicked({ workPackageId, event }); + } + shouldShowAsGhost(id:string, globalDraggingId:string|undefined):boolean { if (globalDraggingId === undefined) { return false; diff --git a/frontend/src/app/features/team-planner/team-planner/team-planner-entry.component.ts b/frontend/src/app/features/team-planner/team-planner/team-planner-entry.component.ts new file mode 100644 index 00000000000..639ef01f5b0 --- /dev/null +++ b/frontend/src/app/features/team-planner/team-planner/team-planner-entry.component.ts @@ -0,0 +1,27 @@ +import { + ChangeDetectionStrategy, + Component, + ElementRef, + OnDestroy, +} from '@angular/core'; +import { populateInputsFromDataset } from 'core-app/shared/components/dataset-inputs'; +import { + WorkPackageIsolatedQuerySpaceDirective, +} from 'core-app/features/work-packages/directives/query-space/wp-isolated-query-space.directive'; + +@Component({ + hostDirectives: [WorkPackageIsolatedQuerySpaceDirective], + template: '', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: false, +}) +export class TeamPlannerEntryComponent implements OnDestroy { + constructor(readonly elementRef:ElementRef) { + populateInputsFromDataset(this); + document.body.classList.add('router--team-planner'); + } + + ngOnDestroy():void { + document.body.classList.remove('router--team-planner'); + } +} diff --git a/frontend/src/app/features/team-planner/team-planner/team-planner.module.ts b/frontend/src/app/features/team-planner/team-planner/team-planner.module.ts index 3d3d2c1e744..769e1259220 100644 --- a/frontend/src/app/features/team-planner/team-planner/team-planner.module.ts +++ b/frontend/src/app/features/team-planner/team-planner/team-planner.module.ts @@ -1,16 +1,15 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { UIRouterModule } from '@uirouter/angular'; import { DynamicModule } from 'ng-dynamic-component'; import { FullCalendarModule } from '@fullcalendar/angular'; import { IconModule } from 'core-app/shared/components/icon/icon.module'; import { OpenprojectAutocompleterModule } from 'core-app/shared/components/autocompleter/openproject-autocompleter.module'; import { OpenprojectPrincipalRenderingModule } from 'core-app/shared/components/principal/principal-rendering.module'; import { OpenprojectWorkPackagesModule } from 'core-app/features/work-packages/openproject-work-packages.module'; -import { TEAM_PLANNER_ROUTES } from 'core-app/features/team-planner/team-planner/team-planner.routes'; import { TeamPlannerComponent } from 'core-app/features/team-planner/team-planner/planner/team-planner.component'; import { AddAssigneeComponent } from 'core-app/features/team-planner/team-planner/assignee/add-assignee.component'; import { TeamPlannerPageComponent } from 'core-app/features/team-planner/team-planner/page/team-planner-page.component'; +import { TeamPlannerEntryComponent } from 'core-app/features/team-planner/team-planner/team-planner-entry.component'; import { OpSharedModule } from 'core-app/shared/shared.module'; import { AddExistingPaneComponent } from './add-work-packages/add-existing-pane.component'; import { OpenprojectContentLoaderModule } from 'core-app/shared/components/op-content-loader/openproject-content-loader.module'; @@ -20,16 +19,13 @@ import { TeamPlannerViewSelectMenuDirective } from 'core-app/features/team-plann declarations: [ TeamPlannerComponent, TeamPlannerPageComponent, + TeamPlannerEntryComponent, AddAssigneeComponent, AddExistingPaneComponent, TeamPlannerViewSelectMenuDirective, ], imports: [ OpSharedModule, - // Routes for /team_planner - UIRouterModule.forChild({ - states: TEAM_PLANNER_ROUTES, - }), DynamicModule, CommonModule, IconModule, diff --git a/frontend/src/app/features/team-planner/team-planner/team-planner.routes.ts b/frontend/src/app/features/team-planner/team-planner/team-planner.routes.ts deleted file mode 100644 index 405fe948a81..00000000000 --- a/frontend/src/app/features/team-planner/team-planner/team-planner.routes.ts +++ /dev/null @@ -1,84 +0,0 @@ -//-- copyright -// OpenProject is an open source project management software. -// Copyright (C) the OpenProject GmbH -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License version 3. -// -// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -// Copyright (C) 2006-2013 Jean-Philippe Lang -// Copyright (C) 2010-2013 the ChiliProject Team -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -// -// See COPYRIGHT and LICENSE files for more details. -//++ - -import { Ng2StateDeclaration } from '@uirouter/angular'; -import { makeSplitViewRoutes } from 'core-app/features/work-packages/routing/split-view-routes.template'; -import { WorkPackageSplitViewComponent } from 'core-app/features/work-packages/routing/wp-split-view/wp-split-view.component'; -import { WorkPackagesBaseComponent } from 'core-app/features/work-packages/routing/wp-base/wp--base.component'; -import { TeamPlannerPageComponent } from 'core-app/features/team-planner/team-planner/page/team-planner-page.component'; -import { TeamPlannerComponent } from 'core-app/features/team-planner/team-planner/planner/team-planner.component'; - -export const sidemenuId = 'team_planner_sidemenu'; -export const sideMenuOptions = { - sidemenuId, - hardReloadOnBaseRoute: true, - defaultQuery: 'new', -}; - -export const TEAM_PLANNER_ROUTES:Ng2StateDeclaration[] = [ - { - name: 'team_planner', - parent: 'optional_project', - url: '/team_planners/:query_id?query_props&cdate&cview', - redirectTo: 'team_planner.page', - views: { - '!$default': { component: WorkPackagesBaseComponent }, - }, - params: { - query_id: { type: 'opQueryId', dynamic: true }, - cdate: { type: 'string', dynamic: true }, - cview: { type: 'string', dynamic: true }, - // Use custom encoder/decoder that ensures validity of URL string - query_props: { type: 'opQueryString' }, - }, - }, - { - name: 'team_planner.page', - component: TeamPlannerPageComponent, - redirectTo: 'team_planner.page.show', - data: { - bodyClasses: 'router--team-planner', - sideMenuOptions, - }, - }, - { - name: 'team_planner.page.show', - data: { - baseRoute: 'team_planner.page.show', - sideMenuOptions, - }, - views: { - 'content-left': { component: TeamPlannerComponent }, - }, - }, - ...makeSplitViewRoutes( - 'team_planner.page.show', - undefined, - WorkPackageSplitViewComponent, - ), -]; diff --git a/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb-parent.component.ts b/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb-parent.component.ts index 2adba03db45..ac29f91b335 100644 --- a/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb-parent.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb-parent.component.ts @@ -115,6 +115,6 @@ export class WorkPackageBreadcrumbParentComponent { } public parentLink(parent:WorkPackageResource):string { - return this.pathHelper.genericWorkPackagePath(parent.project?.identifier, parent.id!) + window.location.search; + return this.pathHelper.genericWorkPackagePath(parent.project?.identifier, parent.displayId) + window.location.search; } } diff --git a/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb.component.ts b/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb.component.ts index f56b4b1a23a..8f0662c6bb2 100644 --- a/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-breadcrumb/wp-breadcrumb.component.ts @@ -65,7 +65,7 @@ export class WorkPackageBreadcrumbComponent { } public ancestorPath(ancestor:WorkPackageResource):string { - return this.pathHelper.genericWorkPackagePath(this.workPackage.project?.identifier, ancestor.id!) + window.location.search; + return this.pathHelper.genericWorkPackagePath(this.workPackage.project?.identifier, ancestor.displayId) + window.location.search; } public updateActiveInput(val:boolean) { diff --git a/frontend/src/app/features/work-packages/components/wp-buttons/wp-details-view-button/wp-details-view-button.component.ts b/frontend/src/app/features/work-packages/components/wp-buttons/wp-details-view-button/wp-details-view-button.component.ts index 8e88709bea2..50462a62384 100644 --- a/frontend/src/app/features/work-packages/components/wp-buttons/wp-details-view-button/wp-details-view-button.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-buttons/wp-details-view-button/wp-details-view-button.component.ts @@ -35,6 +35,7 @@ import { AbstractWorkPackageButtonComponent } from 'core-app/features/work-packa import { I18nService } from 'core-app/core/i18n/i18n.service'; import { States } from 'core-app/core/states/states.service'; import { KeepTabService } from '../../wp-single-view-tabs/keep-tab/keep-tab.service'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; @Component({ templateUrl: '../wp-button.template.html', @@ -111,8 +112,9 @@ export class WorkPackageDetailsViewButtonComponent extends AbstractWorkPackageBu } public openDetailsView():void { + const focused = this.wpTableFocus.focusedWorkPackage; const params = { - workPackageId: this.wpTableFocus.focusedWorkPackage, + workPackageId: focused ? resolveRoutingId(this.states, focused) : focused, }; this.keepTab.goCurrentDetailsState(params); diff --git a/frontend/src/app/features/work-packages/components/wp-card-view/wp-single-card/wp-single-card.component.ts b/frontend/src/app/features/work-packages/components/wp-card-view/wp-single-card/wp-single-card.component.ts index 70ea0c0272f..799a816096d 100644 --- a/frontend/src/app/features/work-packages/components/wp-card-view/wp-single-card/wp-single-card.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-card-view/wp-single-card/wp-single-card.component.ts @@ -35,8 +35,8 @@ import { isClickedWithModifier } from 'core-app/shared/helpers/link-handling/lin import isNewResource from 'core-app/features/hal/helpers/is-new-resource'; import { TimezoneService } from 'core-app/core/datetime/timezone.service'; import { StatusResource } from 'core-app/features/hal/resources/status-resource'; -import { EMPTY, merge } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { EMPTY, fromEvent, merge } from 'rxjs'; +import { distinctUntilChanged, map } from 'rxjs/operators'; import { SchemaCacheService } from 'core-app/core/schemas/schema-cache.service'; import SpotDropAlignmentOption from 'core-app/spot/drop-alignment-options'; import { BaselineMode, getBaselineState } from 'core-app/features/work-packages/components/wp-baseline/baseline-helpers'; @@ -46,6 +46,10 @@ import { import { KeepTabService } from 'core-app/features/work-packages/components/wp-single-view-tabs/keep-tab/keep-tab.service'; +import { WP_ID_URL_PATTERN } from 'core-app/shared/helpers/work-package-id-pattern'; +import { matchesRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; + +const DETAILS_URL_PATTERN = new RegExp(`/details/(${WP_ID_URL_PATTERN})(?:/|$)`); @Component({ selector: 'wp-single-card', @@ -134,19 +138,33 @@ export class WorkPackageSingleCardComponent extends UntilDestroyedMixin implemen // Use merge instead of combineLatest: params$ only emits on uiRouter transitions and // may never emit on pages that don't use uiRouter (e.g. boards). With merge, any // emission from either source triggers re-evaluation of the selection state. + // turbo:frame-load is included so that URL-based detection updates when the split + // view opens or closes via Turbo frame navigation. merge( this.wpTableSelection.live$(), this.uiRouterGlobals.params$ ?? EMPTY, + fromEvent(document, 'turbo:frame-load'), ) .pipe( this.untilDestroyed(), map(() => { if (this.selectedWhenOpen) { - return this.uiRouterGlobals.params.workPackageId === this.workPackage.id; + // In uiRouter views, use the route param directly. + const wpIdFromRoute = this.uiRouterGlobals.params.workPackageId as string|undefined; + if (wpIdFromRoute) { + return matchesRoutingId(this.workPackage, wpIdFromRoute); + } + + // In non-router views (e.g. Team Planner, Calendar): + // Use URL-based detection so that closing the split view (which changes the URL + // but does not clear the selection service) correctly deselects the card. + const urlMatch = DETAILS_URL_PATTERN.exec(window.location.pathname); + return matchesRoutingId(this.workPackage, urlMatch?.[1]); } return this.wpTableSelection.isSelected(this.workPackage.id!); }), + distinctUntilChanged(), ) .subscribe((selected:boolean) => { this.selected = selected; @@ -210,7 +228,7 @@ export class WorkPackageSingleCardComponent extends UntilDestroyedMixin implemen } public fullWorkPackageLink(wp:WorkPackageResource):string { - return this.keepTabService.currentShowHref(wp.id!); + return this.keepTabService.currentShowHref(wp.displayId); } public cardHighlightingClass(wp:WorkPackageResource):string { diff --git a/frontend/src/app/features/work-packages/components/wp-fast-table/builders/ui-state-link-builder.ts b/frontend/src/app/features/work-packages/components/wp-fast-table/builders/ui-state-link-builder.ts index 7446a591bc6..af40de577c3 100644 --- a/frontend/src/app/features/work-packages/components/wp-fast-table/builders/ui-state-link-builder.ts +++ b/frontend/src/app/features/work-packages/components/wp-fast-table/builders/ui-state-link-builder.ts @@ -16,30 +16,44 @@ export class UiStateLinkBuilder { ) { } - public linkToDetails(workPackageId:string, title:string, content:string) { - return this.build(workPackageId, 'split', title, content); + public linkToDetails(workPackageId:string, title:string, content:string, routingId?:string) { + return this.build(workPackageId, 'split', title, content, routingId); } - public linkToShow(workPackageId:string, title:string, content:string) { - return this.build(workPackageId, 'show', title, content); + public linkToShow(workPackageId:string, title:string, content:string, routingId?:string) { + return this.build(workPackageId, 'show', title, content, routingId); } - private build(workPackageId:string, state:'show'|'split', title:string, content:string) { + /** + * Build an anchor element that serves two purposes: + * + * - **href** uses `routingId` (semantic, e.g. "PROJ-7") so the URL bar + * and "open in new tab" show human-readable identifiers. + * - **data-work-package-id** always uses the numeric `workPackageId` (PK) + * because the selection, focus, and hover systems are keyed by PK. + * + * Click handlers (WorkPackageStateLinksHandler) read the data attribute + * and call preventDefault() — the href is never followed during normal + * in-table clicks. It only matters for right-click / open-in-new-tab. + */ + private build(workPackageId:string, state:'show'|'split', title:string, content:string, routingId?:string) { const a = document.createElement('a'); - let tabState:string; - let tabIdentifier:string; + const idForHref = routingId ?? workPackageId; let href:string; if (state === 'show') { const projectIdentifier = this.currentProject.identifier; - href = this.pathHelper.genericWorkPackagePath(projectIdentifier, workPackageId, this.keepTab.currentShowTab) + window.location.search; + href = this.pathHelper.genericWorkPackagePath(projectIdentifier, idForHref, this.keepTab.currentShowTab) + window.location.search; } else { - const tab = this.keepTab.currentDetailsTab; + // Param key must match the route declaration in split-view-routes.template.ts + // (`:tabIdentifier`). A mismatch makes $state.href return null, which + // surfaces as the literal string "null" in the rendered href. + const tabIdentifier = this.keepTab.currentDetailsTab; href = this.$state.href( 'work-packages.partitioned.list.details.tabs', { - workPackageId, - tab, + workPackageId: idForHref, + tabIdentifier, }, ); } diff --git a/frontend/src/app/features/work-packages/components/wp-list/wp-list-checksum.service.ts b/frontend/src/app/features/work-packages/components/wp-list/wp-list-checksum.service.ts index 45bcd15c26a..8b214522f5f 100644 --- a/frontend/src/app/features/work-packages/components/wp-list/wp-list-checksum.service.ts +++ b/frontend/src/app/features/work-packages/components/wp-list/wp-list-checksum.service.ts @@ -31,6 +31,7 @@ import { UrlParamsHelperService } from 'core-app/features/work-packages/componen import { Injectable } from '@angular/core'; import { WorkPackageViewPagination } from 'core-app/features/work-packages/routing/wp-view-base/view-services/wp-table-pagination'; import { QueryResource } from 'core-app/features/hal/resources/query-resource'; +import { Subject } from 'rxjs'; @Injectable() export class WorkPackagesListChecksumService { @@ -44,6 +45,9 @@ export class WorkPackagesListChecksumService { public visibleChecksum:string|null; + /** Emits whenever visibleChecksum changes (useful for non-uiRouter pages to react to URL param changes) */ + public readonly visibleChecksum$ = new Subject(); + public updateIfDifferent(query:QueryResource, pagination:WorkPackageViewPagination):Promise { const newQueryChecksum = this.getNewChecksum(query, pagination); @@ -153,6 +157,28 @@ export class WorkPackagesListChecksumService { private maintainUrlQueryState(id:string|null, checksum:string|null):TransitionPromise { this.visibleChecksum = checksum; + this.visibleChecksum$.next(checksum); + + // When uiRouter is not managing the current page (e.g. calendar after Turbo migration), + // $state.current.name is empty and state.go('.') does nothing. Fall back to pushState. + if (!this.$state.current.name) { + const url = new URL(window.location.href); + + if (checksum) { + url.searchParams.set('query_props', checksum); + } else { + url.searchParams.delete('query_props'); + } + + if (id) { + url.searchParams.set('query_id', id); + } else { + url.searchParams.delete('query_id'); + } + + window.history.pushState({}, '', url.toString()); + return Promise.resolve() as unknown as TransitionPromise; + } return this.$state.go( '.', diff --git a/frontend/src/app/features/work-packages/components/wp-list/wp-list.service.ts b/frontend/src/app/features/work-packages/components/wp-list/wp-list.service.ts index 063442197c8..6b47e92c2b6 100644 --- a/frontend/src/app/features/work-packages/components/wp-list/wp-list.service.ts +++ b/frontend/src/app/features/work-packages/components/wp-list/wp-list.service.ts @@ -261,6 +261,7 @@ export class WorkPackagesListService { // Reload the query, and then reload the menu this.reloadQuery(createdQuery).subscribe(() => { + this.navigateToQueryOnNonRouterPage(createdQuery.id); this.states.changes.queries.next(createdQuery.id); this.reloadSidemenu(createdQuery.id); }); @@ -311,7 +312,11 @@ export class WorkPackagesListService { this.toastService.addSuccess(this.I18n.t('js.notice_successful_update')); const queryAccessibleByUser = query.public || query.user.id === this.currentUser.userId; if (queryAccessibleByUser) { - void this.$state.go('.', { query_id: query.id, query_props: null }, { reload: true }); + if (!this.$state.current.name) { + this.navigateToQueryOnNonRouterPage(query.id); + } else { + void this.$state.go('.', { query_id: query.id, query_props: null }, { reload: true }); + } this.states.changes.queries.next(query.id); this.reloadSidemenu(query.id); } else { @@ -463,7 +468,27 @@ export class WorkPackagesListService { } } + private navigateToQueryOnNonRouterPage(queryId:string|null):void { + if (this.$state.current.name) { return; } + + // update the URL path to reflect the saved query ID so subsequent refetches use the correct query_id. + const url = new URL(window.location.href); + url.pathname = url.pathname.replace(/\/[^/]+$/, `/${queryId}`); + url.searchParams.delete('query_id'); + url.searchParams.delete('query_props'); + window.history.pushState({}, '', url.toString()); + } + private reloadSidemenu(selectedQueryId:string|null):void { - this.submenuService.reloadSubmenu(selectedQueryId); + const sidemenuId = !this.$state.current.name ? this.getNonRouterSidemenuId() : undefined; + this.submenuService.reloadSubmenu(selectedQueryId, sidemenuId); + } + + private getNonRouterSidemenuId():string|undefined { + const { pathname } = window.location; + if (pathname.includes('/calendars')) return 'calendar_sidemenu'; + if (pathname.includes('/team_planners')) return 'team_planner_sidemenu'; + if (pathname.includes('/ifc_models')) return 'bim_sidemenu'; + return undefined; } } diff --git a/frontend/src/app/features/work-packages/components/wp-list/wp-query-view.service.ts b/frontend/src/app/features/work-packages/components/wp-list/wp-query-view.service.ts index 27ff2c11f0e..e9b7d05c6e0 100644 --- a/frontend/src/app/features/work-packages/components/wp-list/wp-query-view.service.ts +++ b/frontend/src/app/features/work-packages/components/wp-list/wp-query-view.service.ts @@ -34,20 +34,20 @@ export class WorkPackagesQueryViewService { } private get viewType() { - if (this.$state.includes('work-packages')) { - return 'work_packages_table'; - } - if (this.$state.includes('team_planner')) { - return 'team_planner'; - } - if (this.$state.includes('bim')) { - return 'bim'; - } - if (this.$state.includes('calendar')) { - return 'work_packages_calendar'; - } - if (this.$state.includes('gantt')) { - return 'gantt'; + if (this.$state.current.name) { + if (this.$state.includes('work-packages')) { return 'work_packages_table'; } + if (this.$state.includes('team_planner')) { return 'team_planner'; } + if (this.$state.includes('bim')) { return 'bim'; } + if (this.$state.includes('calendar')) { return 'work_packages_calendar'; } + if (this.$state.includes('gantt')) { return 'gantt'; } + } else { + // Non-uiRouter page — derive view type from URL path + const { pathname } = window.location; + if (pathname.includes('/calendars')) { return 'work_packages_calendar'; } + if (pathname.includes('/team_planners')) { return 'team_planner'; } + if (pathname.includes('/ifc_models')) { return 'bim'; } + if (pathname.includes('/gantt')) { return 'gantt'; } + if (pathname.includes('/work_packages')) { return 'work_packages_table'; } } throw new Error('Not on a path defined for query views'); diff --git a/frontend/src/app/features/work-packages/components/wp-new/wp-create.component.ts b/frontend/src/app/features/work-packages/components/wp-new/wp-create.component.ts index 77a0449e7f8..340847154b2 100644 --- a/frontend/src/app/features/work-packages/components/wp-new/wp-create.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-new/wp-create.component.ts @@ -131,14 +131,14 @@ export class WorkPackageCreateComponent extends UntilDestroyedMixin implements O this.editForm?.cancel(false); if(this.routedFromAngular && this.successState) { - this.$state.go(this.successState, { workPackageId: savedResource.id }) + this.$state.go(this.successState, { workPackageId: savedResource.displayId }) .then(() => { this.wpViewFocus.updateFocus(savedResource.id!); this.notificationService.showSave(savedResource, isInitial); }); } else { window.OpenProject.pageState = 'submitted'; - Turbo.visit(this.pathHelper.projectWorkPackagePath(savedResource.project.identifier, savedResource.id!) + window.location.search); + Turbo.visit(this.pathHelper.projectWorkPackagePath(savedResource.project.identifier, savedResource.displayId) + window.location.search); } } diff --git a/frontend/src/app/features/work-packages/components/wp-new/wp-new-split-view.component.ts b/frontend/src/app/features/work-packages/components/wp-new/wp-new-split-view.component.ts index fb4b9b42630..e75f6e4ba29 100644 --- a/frontend/src/app/features/work-packages/components/wp-new/wp-new-split-view.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-new/wp-new-split-view.component.ts @@ -27,7 +27,10 @@ //++ import { WorkPackageCreateComponent } from 'core-app/features/work-packages/components/wp-new/wp-create.component'; -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; +import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; +import { firstValueFrom } from 'rxjs'; +import { WorkPackagesListService } from 'core-app/features/work-packages/components/wp-list/wp-list.service'; @Component({ selector: 'wp-new-split-view', @@ -36,4 +39,92 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; standalone: false, }) export class WorkPackageNewSplitViewComponent extends WorkPackageCreateComponent { + private readonly wpListService = inject(WorkPackagesListService); + + /** + * Before creating the new WP form, load the current query (with its active filters) + * into the isolated query space so that WorkPackageCreateService.defaultsFromFilters() + * can pre-populate the form fields automatically — no manual filter mapping needed. + */ + protected override async createdWorkPackage() { + if (!this.routedFromAngular) { + const params = new URLSearchParams(window.location.search); + + // Load the active query into the isolated query space so that + // WorkPackageCreateService.defaultsFromFilters() can pre-populate filter-based fields. + const queryId = params.get('query_id'); + const queryProps = params.get('query_props'); + if (queryId || queryProps) { + await firstValueFrom( + this.wpListService.fromQueryParams( + { query_id: queryId ?? undefined, query_props: queryProps ?? undefined }, + this.currentProjectService.identifier ?? undefined, + ), + ); + } + + // Apply defaults passed via URL params (e.g. when dragging to create on the calendar/team planner). + const startDate = params.get('startDate'); + const dueDate = params.get('dueDate'); + const ignoreNonWorkingDays = params.get('ignoreNonWorkingDays'); + const assigneeHref = params.get('assignee_href'); + const parentId = params.get('parent_id'); + if (startDate || dueDate || ignoreNonWorkingDays || assigneeHref || parentId) { + const existingDefaults = this.stateParams?.defaults; + this.stateParams = { + ...this.stateParams, + ...(parentId ? { parent_id: parentId } : {}), + defaults: { + _links: {}, + ...existingDefaults, + ...(startDate ? { startDate } : {}), + ...(dueDate ? { dueDate } : {}), + ...(ignoreNonWorkingDays ? { ignoreNonWorkingDays: true } : {}), + ...(assigneeHref ? { + _links: { + ...(existingDefaults?._links || {}), + assignee: { href: assigneeHref }, + }, + } : {}), + }, + }; + } + } + + return super.createdWorkPackage(); + } + + public override cancelAndBack():void { + if (this.routedFromAngular) { + super.cancelAndBack(); + return; + } + + this.wpCreate.cancelCreation(); + + // Close the split panel by navigating to the base URL (strips /details/new), + // replacing the history entry so back-navigation skips the create state. + const basePath = window.location.pathname.replace(/\/details\/.*$/, ''); + Turbo.visit(basePath + window.location.search, { frame: 'content-bodyRight', action: 'replace' }); + } + + public override onSaved(params:{ savedResource:WorkPackageResource, isInitial:boolean }):void { + if (this.routedFromAngular) { + super.onSaved(params); + return; + } + + const { savedResource, isInitial } = params; + this.editForm?.cancel(false); + + this.notificationService.showSave(savedResource, isInitial); + window.OpenProject.pageState = 'submitted'; + + // Open the newly created WP in the split panel. + const basePath = window.location.pathname.replace(/\/details\/.*$/, ''); + Turbo.visit(`${basePath}/details/${savedResource.id}${window.location.search}`, { + frame: 'content-bodyRight', + action: 'advance', + }); + } } diff --git a/frontend/src/app/features/work-packages/components/wp-relations/wp-relations-hierarchy/wp-relations-hierarchy.directive.ts b/frontend/src/app/features/work-packages/components/wp-relations/wp-relations-hierarchy/wp-relations-hierarchy.directive.ts index 1249d28bbe7..c7f52ec6bdf 100644 --- a/frontend/src/app/features/work-packages/components/wp-relations/wp-relations-hierarchy/wp-relations-hierarchy.directive.ts +++ b/frontend/src/app/features/work-packages/components/wp-relations/wp-relations-hierarchy/wp-relations-hierarchy.directive.ts @@ -81,7 +81,7 @@ export class WorkPackageRelationsHierarchyComponent extends UntilDestroyedMixin }; ngOnInit() { - this.workPackagePath = this.PathHelper.workPackagePath(this.workPackage.id!); + this.workPackagePath = this.PathHelper.workPackagePath(this.workPackage.displayId); this.canModifyHierarchy = !!this.workPackage.changeParent; this.canAddRelation = !!this.workPackage.addRelation; diff --git a/frontend/src/app/features/work-packages/components/wp-single-view/wp-single-view.component.ts b/frontend/src/app/features/work-packages/components/wp-single-view/wp-single-view.component.ts index 2dd276ba813..9ebbde7098e 100644 --- a/frontend/src/app/features/work-packages/components/wp-single-view/wp-single-view.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-single-view/wp-single-view.component.ts @@ -205,7 +205,7 @@ export class WorkPackageSingleViewComponent extends UntilDestroyedMixin implemen this.projectContext = { id: project.id, - href: this.PathHelper.projectWorkPackagePath(project.id, workPackageId), + href: this.PathHelper.projectWorkPackagePath(project.id, this.workPackage.displayId), matches: project.href === this.currentProject.apiv3Path, }; } diff --git a/frontend/src/app/features/work-packages/components/wp-table/context-menu-helper/wp-context-menu-helper.service.ts b/frontend/src/app/features/work-packages/components/wp-table/context-menu-helper/wp-context-menu-helper.service.ts index 37dab78a7cd..a5904b73479 100644 --- a/frontend/src/app/features/work-packages/components/wp-table/context-menu-helper/wp-context-menu-helper.service.ts +++ b/frontend/src/app/features/work-packages/components/wp-table/context-menu-helper/wp-context-menu-helper.service.ts @@ -115,7 +115,7 @@ export class WorkPackageContextMenuHelperService { let link:string|undefined; switch (action.key) { case 'copy_link_to_clipboard': - link = this.PathHelper.workPackageShortPath(workPackage.id!); + link = this.PathHelper.workPackageShortPath(workPackage.displayId); break; default: link = action.link ? (workPackage[action.link] as HalLink).href! : undefined; diff --git a/frontend/src/app/features/work-packages/components/wp-table/embedded/wp-embedded-table.component.ts b/frontend/src/app/features/work-packages/components/wp-table/embedded/wp-embedded-table.component.ts index 8afa03857a1..be2f670e9c5 100644 --- a/frontend/src/app/features/work-packages/components/wp-table/embedded/wp-embedded-table.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-table/embedded/wp-embedded-table.component.ts @@ -23,6 +23,8 @@ import { InjectField } from 'core-app/shared/helpers/angular/inject-field.decora import { KeepTabService, } from 'core-app/features/work-packages/components/wp-single-view-tabs/keep-tab/keep-tab.service'; +import { States } from 'core-app/core/states/states.service'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; import { firstValueFrom } from 'rxjs'; import { QueryRequestParams } from 'core-app/features/work-packages/components/wp-query/url-params-helper'; @@ -64,6 +66,8 @@ export class WorkPackageEmbeddedTableComponent extends WorkPackageEmbeddedBaseCo @InjectField() keepTab:KeepTabService; + @InjectField() states:States; + // Cache the form promise private formPromise:Promise|undefined; @@ -192,15 +196,17 @@ export class WorkPackageEmbeddedTableComponent extends WorkPackageEmbeddedBaseCo handleWorkPackageClicked(event:{ workPackageId:string; double:boolean }) { if (event.double) { + const routingId = resolveRoutingId(this.states, event.workPackageId); const projectIdentifier = this.currentProject.identifier; - const link = this.pathHelper.genericWorkPackagePath(projectIdentifier, event.workPackageId) + window.location.search; + const link = this.pathHelper.genericWorkPackagePath(projectIdentifier, routingId) + window.location.search; Turbo.visit(link, { action: 'advance' }); } } openStateLink(event:{ workPackageId:string; requestedState:'show'|'split' }) { + const routingId = resolveRoutingId(this.states, event.workPackageId); const params = { - workPackageId: event.workPackageId, + workPackageId: routingId, focus: true, }; diff --git a/frontend/src/app/features/work-packages/components/wp-table/table-actions/actions/details-table-action.ts b/frontend/src/app/features/work-packages/components/wp-table/table-actions/actions/details-table-action.ts index e9ae14b0260..f7e78b470e0 100644 --- a/frontend/src/app/features/work-packages/components/wp-table/table-actions/actions/details-table-action.ts +++ b/frontend/src/app/features/work-packages/components/wp-table/table-actions/actions/details-table-action.ts @@ -28,6 +28,7 @@ export class OpDetailsTableAction extends OpTableAction { this.workPackage.id!, this.text.button, '', + this.workPackage.displayId, ); detailsLink.classList.add(detailsLinkClassName, contextColumnIcon, 'hidden-for-mobile'); diff --git a/frontend/src/app/features/work-packages/components/wp-tabs/components/wp-tabs/wp-tabs.component.ts b/frontend/src/app/features/work-packages/components/wp-tabs/components/wp-tabs/wp-tabs.component.ts index cd6bea042e3..71f111623e4 100644 --- a/frontend/src/app/features/work-packages/components/wp-tabs/components/wp-tabs/wp-tabs.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-tabs/components/wp-tabs/wp-tabs.component.ts @@ -72,13 +72,13 @@ export class WpTabsComponent implements OnInit { return ({ ...tab, - path: this.pathHelper.genericWorkPackagePath(this.currentProject.identifier, this.workPackage.id!, tab.id), + path: this.pathHelper.genericWorkPackagePath(this.currentProject.identifier, this.workPackage.displayId, tab.id), }); }); } public switchToFullscreen():void { - this.keepTab.goCurrentShowState(this.workPackage.id!); + this.keepTab.goCurrentShowState(this.workPackage.displayId); } public close():void { diff --git a/frontend/src/app/features/work-packages/helpers/work-package-id-resolvers.ts b/frontend/src/app/features/work-packages/helpers/work-package-id-resolvers.ts new file mode 100644 index 00000000000..9a43bb5f015 --- /dev/null +++ b/frontend/src/app/features/work-packages/helpers/work-package-id-resolvers.ts @@ -0,0 +1,54 @@ +import { States } from 'core-app/core/states/states.service'; +import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; + +/** + * Resolve a work package identifier to its semantic routing ID (e.g. "PROJ-42"). + * Falls back to the input ID if the WP is not in cache or has no displayId — + * this is a best-effort lookup, not a guarantee. The URL just shows the + * numeric ID temporarily until the WP is cached. + * + * Use this in navigation handlers where the caller only has an identifier + * string (typically a numeric PK from a data-work-package-id attribute or + * a selection state) but the URL should show the semantic form. + */ +export function resolveRoutingId(states:States, workPackageId:string):string { + const wp = states.workPackages.get(workPackageId)?.value; + return wp?.displayId ?? workPackageId; +} + +/** + * Resolve a URL route parameter (which may be numeric `"42"` or semantic + * `"PROJ-7"`) to the internal numeric ID we use for cache, selection, + * focus, and API calls. + * + * Returns `null` if the WP can't be found in the cache. Unlike + * {@link resolveRoutingId}, there is no safe fallback: returning the + * input unchanged would hand a semantic identifier to code that expects + * a numeric ID, silently corrupting comparisons and lookups. Callers + * must handle the `null` case explicitly. + * + * The cache is currently keyed only by numeric ID, so semantic route + * params will reliably miss until the cache is dual-keyed. Treat this + * helper as a temporary shim around that limitation. + */ +export function resolveNumericId(states:States, routeParam:string):string | null { + const wp = states.workPackages.get(routeParam)?.value; + return wp?.id ?? null; +} + +/** + * Whether the given string identifies the given work package in a routing + * context, matching either its numeric ID or its semantic displayId. + * + * Pairs with {@link resolveRoutingId}: that function constructs the + * canonical form for a URL, this one tests whether an incoming string + * (URL segment, route param, regex capture) targets a specific WP, + * without the caller having to know which form it is in. + */ +export function matchesRoutingId( + wp:WorkPackageResource, + candidate:string|null|undefined, +):boolean { + if (!candidate) return false; + return candidate === wp.id || candidate === wp.displayId; +} diff --git a/frontend/src/app/features/work-packages/openproject-work-packages.module.ts b/frontend/src/app/features/work-packages/openproject-work-packages.module.ts index 490ca2e61c0..19616116d94 100644 --- a/frontend/src/app/features/work-packages/openproject-work-packages.module.ts +++ b/frontend/src/app/features/work-packages/openproject-work-packages.module.ts @@ -406,6 +406,9 @@ import { import { WorkPackageFullCopyEntryComponent } from 'core-app/features/work-packages/routing/wp-full-copy/wp-full-copy-entry.component'; import { WorkPackageFullCreateEntryComponent } from 'core-app/features/work-packages/routing/wp-full-create/wp-full-create-entry.component'; import { WorkPackageFullViewEntryComponent } from 'core-app/features/work-packages/routing/wp-full-view/wp-full-view-entry.component'; +import { + WorkPackageSplitCreateEntryComponent, +} from 'core-app/features/work-packages/routing/wp-split-create/wp-split-create-entry.component'; @NgModule({ imports: [ @@ -590,6 +593,7 @@ import { WorkPackageFullViewEntryComponent } from 'core-app/features/work-packag WorkPackageDetailsViewButtonComponent, WorkPackageSplitViewComponent, WorkPackageSplitViewEntryComponent, + WorkPackageSplitCreateEntryComponent, WorkPackageBreadcrumbComponent, WorkPackageSplitViewToolbarComponent, WorkPackageWatcherButtonComponent, diff --git a/frontend/src/app/features/boards/board/board-partitioned-page/board-partitioned-page.component.html b/frontend/src/app/features/work-packages/routing/partitioned-query-space-page/primerized-partitioned-query-space-page.component.html similarity index 88% rename from frontend/src/app/features/boards/board/board-partitioned-page/board-partitioned-page.component.html rename to frontend/src/app/features/work-packages/routing/partitioned-query-space-page/primerized-partitioned-query-space-page.component.html index a0ee9d566e0..cf85df4fc70 100644 --- a/frontend/src/app/features/boards/board/board-partitioned-page/board-partitioned-page.component.html +++ b/frontend/src/app/features/work-packages/routing/partitioned-query-space-page/primerized-partitioned-query-space-page.component.html @@ -14,8 +14,7 @@ [editable]="titleEditingEnabled" /> @if (showToolbar) { -
    +
      @for (definition of toolbarButtonComponents; track definition) { @if (!definition.show || definition.show()) {
    • - - +
      + +
diff --git a/frontend/src/app/features/work-packages/routing/wp-list-view/wp-list-view.component.ts b/frontend/src/app/features/work-packages/routing/wp-list-view/wp-list-view.component.ts index 913a7fa4b57..395889fec3b 100644 --- a/frontend/src/app/features/work-packages/routing/wp-list-view/wp-list-view.component.ts +++ b/frontend/src/app/features/work-packages/routing/wp-list-view/wp-list-view.component.ts @@ -57,6 +57,8 @@ import { KeepTabService } from 'core-app/features/work-packages/components/wp-si import { WorkPackageViewBaselineService } from '../wp-view-base/view-services/wp-view-baseline.service'; import { combineLatest } from 'rxjs'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; +import { States } from 'core-app/core/states/states.service'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; @Component({ selector: 'wp-list-view', @@ -85,6 +87,7 @@ export class WorkPackageListViewComponent extends UntilDestroyedMixin implements readonly elementRef = inject>(ElementRef); readonly wpTableBaseline = inject(WorkPackageViewBaselineService); readonly pathHelper = inject(PathHelperService); + readonly states = inject(States); text = { jump_to_pagination: this.I18n.t('js.work_packages.jump_marks.pagination'), @@ -178,15 +181,16 @@ export class WorkPackageListViewComponent extends UntilDestroyedMixin implements } openStateLink(event:{ workPackageId:string; requestedState:'show'|'split' }) { + const routingId = resolveRoutingId(this.states, event.workPackageId); const params = { - workPackageId: event.workPackageId, + workPackageId: routingId, focus: true, }; if (event.requestedState === 'split') { this.keepTab.goCurrentDetailsState(params); } else { - this.openInFullView(event.workPackageId); + this.openInFullView(routingId); } } @@ -203,7 +207,8 @@ export class WorkPackageListViewComponent extends UntilDestroyedMixin implements } private openInFullView(workPackageId:string) { + const routingId = resolveRoutingId(this.states, workPackageId); const projectIdentifier = this.CurrentProject.identifier; - window.location.href = this.pathHelper.genericWorkPackagePath(projectIdentifier, workPackageId) + window.location.search; + window.location.href = this.pathHelper.genericWorkPackagePath(projectIdentifier, routingId) + window.location.search; } } diff --git a/frontend/src/app/features/work-packages/routing/wp-split-create/wp-split-create-entry.component.ts b/frontend/src/app/features/work-packages/routing/wp-split-create/wp-split-create-entry.component.ts new file mode 100644 index 00000000000..29da7e5f034 --- /dev/null +++ b/frontend/src/app/features/work-packages/routing/wp-split-create/wp-split-create-entry.component.ts @@ -0,0 +1,78 @@ +//-- copyright +// OpenProject is an open source project management software. +// Copyright (C) the OpenProject GmbH +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License version 3. +// +// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +// Copyright (C) 2006-2013 Jean-Philippe Lang +// Copyright (C) 2010-2013 the ChiliProject Team +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +// See COPYRIGHT and LICENSE files for more details. +//++ + +import { + AfterViewInit, + ChangeDetectionStrategy, + Component, + ElementRef, + Input, + OnDestroy, +} from '@angular/core'; +import { + WorkPackageIsolatedQuerySpaceDirective, +} from 'core-app/features/work-packages/directives/query-space/wp-isolated-query-space.directive'; +import { populateInputsFromDataset } from 'core-app/shared/components/dataset-inputs'; + +/** + * An entry component to be rendered by Rails which opens an isolated query space + * for the work package split create (create form in the split panel). + */ +@Component({ + hostDirectives: [WorkPackageIsolatedQuerySpaceDirective], + standalone: false, + template: ` +
+ +
+ `, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class WorkPackageSplitCreateEntryComponent implements AfterViewInit, OnDestroy { + @Input() projectIdentifier?:string; + @Input() type?:string; + + constructor(readonly elementRef:ElementRef) { + populateInputsFromDataset(this); + document.body.classList.add('router--work-packages-partitioned-split-view-new'); + } + + ngAfterViewInit():void { + // wp-new-split-view sets pageState = 'edited' unconditionally on mount, + // which would block Turbo navigation in the split panel context. + // Reset it here after all children have initialized. + window.OpenProject.pageState = 'pristine'; + } + + ngOnDestroy():void { + document.body.classList.remove('router--work-packages-partitioned-split-view-new'); + } +} diff --git a/frontend/src/app/features/work-packages/routing/wp-split-view/wp-split-view.component.ts b/frontend/src/app/features/work-packages/routing/wp-split-view/wp-split-view.component.ts index eb2c1121b9b..74bef210861 100644 --- a/frontend/src/app/features/work-packages/routing/wp-split-view/wp-split-view.component.ts +++ b/frontend/src/app/features/work-packages/routing/wp-split-view/wp-split-view.component.ts @@ -54,6 +54,7 @@ import { WorkPackageTabsService, } from 'core-app/features/work-packages/components/wp-tabs/services/wp-tabs/wp-tabs.service'; import { TabComponent } from 'core-app/features/work-packages/components/wp-tabs/components/wp-tab-wrapper/tab'; +import { resolveRoutingId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; @Component({ templateUrl: './wp-split-view.html', @@ -101,27 +102,40 @@ export class WorkPackageSplitViewComponent extends WorkPackageSingleViewBase imp ngOnInit():void { this.observeWorkPackage(); - const wpId = (this.$state.params.workPackageId || this.workPackageId) as string; - this.wpTableFocus.updateFocus(wpId, false); - - if (this.wpTableSelection.isEmpty) { - this.wpTableSelection.setRowState(wpId, true); - } - this.wpTableFocus.whenChanged() .pipe( this.untilDestroyed(), ) .subscribe((newId) => { - const idSame = wpId.toString() === newId.toString(); + const currentId = this.workPackage?.id ?? this.workPackageId; + const idSame = currentId.toString() === newId.toString(); if (!idSame && this.$state.includes(`${this.baseRoute}.details`)) { - this.$state.go( + void this.$state.go( (this.$state.current.name!), - { workPackageId: newId, focus: false }, + { workPackageId: resolveRoutingId(this.states, newId.toString()), focus: false }, ); } }); - this.recentItemsService.add(wpId); + } + + /** + * Set focus, selection, and recent-items after the WP has loaded. + * + * Intentionally deferred from ngOnInit because the route param + * (this.workPackageId) may be a semantic identifier like "PROJ-7", + * but focus/selection services are keyed by numeric PK. By the time + * init() runs, this.workPackage.id is guaranteed to be the numeric PK. + */ + protected override init():void { + super.init(); + const numericId = this.workPackage.id!; + this.wpTableFocus.updateFocus(numericId, false); + + if (this.wpTableSelection.isEmpty) { + this.wpTableSelection.setRowState(numericId, true); + } + + this.recentItemsService.add(numericId); } get activeTabComponent():Type|undefined { diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts index 9e12b28fafb..cd499bb647f 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts @@ -141,6 +141,12 @@ export abstract class WorkPackageSingleViewBase extends UntilDestroyedMixin { /** * Observe changes of work package and re-run initialization. * Needs to be run explicitly by descendants. + * + * Note: this.workPackageId may be a semantic identifier (e.g. "PROJ-7") + * from the route param. The API resolves it correctly, but the cache key + * would be "PROJ-7" while list queries cache the same WP under "42". + * After the first load we normalize to the numeric PK to prevent + * dual cache entries. */ protected observeWorkPackage():void { this @@ -150,6 +156,13 @@ export abstract class WorkPackageSingleViewBase extends UntilDestroyedMixin { .requireAndStream() .pipe(this.untilDestroyed()) .subscribe((wp:WorkPackageResource) => { + // Normalize semantic route param (e.g. "PROJ-7") to numeric PK + // for cache coherence — downstream code uses this.workPackageId + // as a cache key, and the canonical key is always numeric. + if (this.workPackageId !== wp.id && wp.id) { + this.workPackageId = wp.id; + } + if (!this.workPackage) { this.workPackage = wp; this.init(); diff --git a/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts b/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts index 01bdb3624d9..4819a1233d5 100644 --- a/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts +++ b/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts @@ -80,13 +80,13 @@ export class WorkPackageAuthorization { private copyLink() { const stateName = this.$state.current.name!; if (stateName.startsWith('work-packages.partitioned.list.details')) { - return this.PathHelper.workPackageDetailsCopyPath(this.project.identifier, this.workPackage.id!); + return this.PathHelper.workPackageDetailsCopyPath(this.project.identifier, this.workPackage.displayId); } - return this.PathHelper.workPackageCopyPath(this.project.identifier, this.workPackage.id!); + return this.PathHelper.workPackageCopyPath(this.project.identifier, this.workPackage.displayId); } private shortLink() { - return this.PathHelper.workPackageShortPath(this.workPackage.id!); + return this.PathHelper.workPackageShortPath(this.workPackage.displayId); } private bulkCopyLink():string { diff --git a/frontend/src/app/features/work-packages/services/work-package.service.ts b/frontend/src/app/features/work-packages/services/work-package.service.ts index 919ba47ef9a..adf66211379 100644 --- a/frontend/src/app/features/work-packages/services/work-package.service.ts +++ b/frontend/src/app/features/work-packages/services/work-package.service.ts @@ -27,13 +27,15 @@ //++ import { StateService } from '@uirouter/core'; -import { Injectable } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { UrlParamsHelperService } from 'core-app/features/work-packages/components/wp-query/url-params-helper'; import { ToastService } from 'core-app/shared/components/toaster/toast.service'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { HalDeletedEvent, HalEventsService } from 'core-app/features/hal/services/hal-events.service'; +import { States } from 'core-app/core/states/states.service'; +import { resolveNumericId } from 'core-app/features/work-packages/helpers/work-package-id-resolvers'; @Injectable() export class WorkPackageService { @@ -41,6 +43,8 @@ export class WorkPackageService { successful_delete: this.I18n.t('js.work_packages.message_successful_bulk_delete'), }; + private readonly states = inject(States); + constructor(private readonly http:HttpClient, private readonly $state:StateService, private readonly PathHelper:PathHelperService, @@ -68,8 +72,11 @@ export class WorkPackageService { ids.forEach((id) => this.halEvents.push({ _type: 'WorkPackage', id }, { eventType: 'deleted' } as HalDeletedEvent)); - if (this.$state.includes('**.list.details.**') - && ids.includes(this.$state.params.workPackageId)) { + const routeWpId = this.$state.params.workPackageId as string; + const numericId = resolveNumericId(this.states, routeWpId); + if (numericId + && this.$state.includes('**.list.details.**') + && ids.includes(numericId)) { this.$state.go('work-packages.partitioned.list', this.$state.params); } }) diff --git a/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.component.html b/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.component.html index e48812d1d84..256d20bac57 100644 --- a/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.component.html +++ b/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.component.html @@ -177,7 +177,7 @@ #{{ item.id }} + >{{ item.formattedId }} - {{ item.type?.name }} #{{ item.id }} {{ item.subject || item.name }} + {{ item.type?.name }} {{ item.formattedId }} {{ item.subject || item.name }} } } diff --git a/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.spec.ts b/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.spec.ts index 45656df857b..91626d3843b 100644 --- a/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.spec.ts +++ b/frontend/src/app/shared/components/autocompleter/op-autocompleter/op-autocompleter.spec.ts @@ -18,10 +18,14 @@ describe('autocompleter', () => { id: 1, subject: 'Workpackage 1', name: 'Workpackage 1', + formattedId: '#1', author: { href: '/api/v3/users/1', name: 'Author1', }, + type: { id: 1, name: 'Task' }, + status: { id: 1, name: 'Open' }, + project: { name: 'My Project' }, description: { format: 'markdown', raw: 'Description of WP1', @@ -36,10 +40,14 @@ describe('autocompleter', () => { id: 2, subject: 'Workpackage 2', name: 'Workpackage 2', + formattedId: 'PROJ-2', author: { href: '/api/v3/users/2', name: 'Author2', }, + type: { id: 2, name: 'Bug' }, + status: { id: 2, name: 'Closed' }, + project: { name: 'My Project' }, description: { format: 'markdown', raw: 'Description of WP2', @@ -52,6 +60,16 @@ describe('autocompleter', () => { }, ]; + type WindowWithOpenProject = Omit & { OpenProject?:{ environment:string } }; + + beforeEach(() => { + (window as WindowWithOpenProject).OpenProject = { environment: 'test' }; + }); + + afterEach(() => { + delete (window as WindowWithOpenProject).OpenProject; + }); + beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [OpAutocompleterComponent], @@ -147,6 +165,117 @@ describe('autocompleter', () => { }); }); + describe('work package option rendering', () => { + it('should display formattedId in dropdown options', () => { + jasmine.clock().install(); + try { + jasmine.clock().tick(0); + fixture.detectChanges(); + fixture.componentInstance.ngAfterViewInit(); + jasmine.clock().tick(1000); + fixture.detectChanges(); + const select = fixture.componentInstance.ngSelectInstance; + + select.open(); + select.focus(); + + const inputDebugElement = fixture.debugElement.query(By.css('input[role=combobox]')); + const inputElement = inputDebugElement.nativeElement as HTMLInputElement; + + inputElement.value = 'Wor'; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + jasmine.clock().tick(0); + fixture.detectChanges(); + + const wpIdElements = document.querySelectorAll('.op-autocompleter--wp-id'); + + expect(wpIdElements.length).toBeGreaterThanOrEqual(1); + // Verify at least one rendered option displays formattedId + const renderedIds = Array.from(wpIdElements).map(el => el.textContent?.trim()); + + expect(renderedIds).toContain('#1'); + } finally { + jasmine.clock().uninstall(); + } + }); + + it('should display classic formattedId in selected value label', () => { + jasmine.clock().install(); + try { + jasmine.clock().tick(0); + fixture.detectChanges(); + fixture.componentInstance.ngAfterViewInit(); + jasmine.clock().tick(1000); + fixture.detectChanges(); + const select = fixture.componentInstance.ngSelectInstance; + + select.open(); + select.focus(); + + const inputDebugElement = fixture.debugElement.query(By.css('input[role=combobox]')); + const inputElement = inputDebugElement.nativeElement as HTMLInputElement; + + inputElement.value = 'Wor'; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + jasmine.clock().tick(0); + fixture.detectChanges(); + + // Select the first item (classic mode: #1) + const firstOption = document.querySelector('.ng-option')!; + firstOption.click(); + fixture.detectChanges(); + + const labelElement = document.querySelector('.ng-value-label'); + + expect(labelElement).toBeTruthy(); + expect(labelElement!.textContent).toContain('#1'); + expect(labelElement!.textContent).toContain('Workpackage 1'); + } finally { + jasmine.clock().uninstall(); + } + }); + + it('should display semantic formattedId in selected value label', () => { + jasmine.clock().install(); + try { + jasmine.clock().tick(0); + fixture.detectChanges(); + fixture.componentInstance.ngAfterViewInit(); + jasmine.clock().tick(1000); + fixture.detectChanges(); + const select = fixture.componentInstance.ngSelectInstance; + + select.open(); + select.focus(); + + const inputDebugElement = fixture.debugElement.query(By.css('input[role=combobox]')); + const inputElement = inputDebugElement.nativeElement as HTMLInputElement; + + inputElement.value = 'package 2'; + inputElement.dispatchEvent(new Event('input')); + fixture.detectChanges(); + jasmine.clock().tick(0); + fixture.detectChanges(); + + // Select the semantic mode item (PROJ-2) + const option = document.querySelector('.ng-option')!; + option.click(); + fixture.detectChanges(); + + const labelElement = document.querySelector('.ng-value-label'); + + expect(labelElement).toBeTruthy(); + expect(labelElement!.textContent).toContain('PROJ-2'); + expect(labelElement!.textContent).not.toContain('#PROJ-2'); + expect(labelElement!.textContent).toContain('Workpackage 2'); + } finally { + jasmine.clock().uninstall(); + } + }); + }); + describe('with debounce', () => { beforeEach(() => { fixture.componentInstance.debounceTimeMs = 50; diff --git a/frontend/src/app/shared/components/autocompleter/op-autocompleter/services/op-autocompleter.service.ts b/frontend/src/app/shared/components/autocompleter/op-autocompleter/services/op-autocompleter.service.ts index 5b1b0616ad6..ab94f9c5c13 100644 --- a/frontend/src/app/shared/components/autocompleter/op-autocompleter/services/op-autocompleter.service.ts +++ b/frontend/src/app/shared/components/autocompleter/op-autocompleter/services/op-autocompleter.service.ts @@ -64,7 +64,7 @@ export class OpAutocompleterService extends UntilDestroyedMixin { if (resource === 'work_packages') { return { // see op-autocompleter/op-autocompleter.component.html for required attributes - select: 'elements/id,elements/subject,elements/author,elements/type,elements/project,elements/status', + select: 'elements/id,elements/displayId,elements/subject,elements/author,elements/type,elements/project,elements/status', sortBy: '[["updatedAt","desc"]]', }; } diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts index d3784911d05..309243f27ff 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts @@ -146,14 +146,18 @@ export class CKEditorSetupService { * Load the ckeditor asset */ private async load():Promise { - // untyped module cannot be dynamically imported + // untyped modules cannot be dynamically imported // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - await import(/* webpackChunkName: "ckeditor" */ 'core-vendor/ckeditor/ckeditor'); + const loadEditorScript = import(/* webpackChunkName: "ckeditor" */ 'core-vendor/ckeditor/ckeditor'); + + const promises = [loadEditorScript]; if (I18n.locale !== 'en') { - await this.loadLocale(); + promises.push(this.loadLocale()); } + + await Promise.all(promises); } private async loadLocale():Promise { @@ -175,6 +179,7 @@ export class CKEditorSetupService { 'OPMacroToc', 'OPMacroEmbeddedTable', 'OPMacroWpButton', + 'OPMacroWpQuickinfo', ]; } diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/codemirror-loader.service.ts b/frontend/src/app/shared/components/editor/components/ckeditor/codemirror-loader.service.ts new file mode 100644 index 00000000000..480bff54bc8 --- /dev/null +++ b/frontend/src/app/shared/components/editor/components/ckeditor/codemirror-loader.service.ts @@ -0,0 +1,62 @@ +import { Injectable } from '@angular/core'; +import type CodeMirrorStatic from 'codemirror'; + +type CodeMirrorType = typeof CodeMirrorStatic; + +@Injectable({ providedIn: 'root' }) +export class CodeMirrorLoaderService { + private codeMirrorPromise:Promise|undefined; + + private loadedModes = new Set(); + private missingModes = new Set(); + private modePromises = new Map>(); + + public async loadCore():Promise { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + this.codeMirrorPromise ??= import(/* webpackChunkName: "codemirror" */ '../../../../../../../node_modules/codemirror/lib/codemirror.js') + .then((imported:{ default:CodeMirrorType }) => imported.default); + + return this.codeMirrorPromise; + } + + public async ensureModeLoaded(language:string):Promise { + if (!language || language === 'text') { + return true; + } + + const normalizedLanguage = language.toLowerCase(); + + if (this.loadedModes.has(normalizedLanguage)) { + return true; + } + + if (this.missingModes.has(normalizedLanguage)) { + return false; + } + + if (!this.modePromises.has(normalizedLanguage)) { + this.modePromises.set(normalizedLanguage, this.loadMode(normalizedLanguage)); + } + + return this.modePromises.get(normalizedLanguage)!; + } + + private async loadMode(language:string):Promise { + await this.loadCore(); + + try { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + await import( + /* webpackChunkName: "codemirror-mode" */ `../../../../../../../node_modules/codemirror/mode/${language}/${language}.js` + ); + + this.loadedModes.add(language); + return true; + } catch { + this.missingModes.add(language); + return false; + } + } +} diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts b/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts index 78f2d21b731..abe7a4e46a9 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts @@ -26,7 +26,8 @@ // See COPYRIGHT and LICENSE files for more details. //++ -import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, inject } from '@angular/core'; +import type { Editor as CodeMirrorEditor } from 'codemirror'; import { ToastService } from 'core-app/shared/components/toaster/toast.service'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { ConfigurationService } from 'core-app/core/config/configuration.service'; @@ -36,12 +37,11 @@ import { ICKEditorWatchdog, } from 'core-app/shared/components/editor/components/ckeditor/ckeditor.types'; import { CKEditorSetupService } from 'core-app/shared/components/editor/components/ckeditor/ckeditor-setup.service'; +import { CodeMirrorLoaderService } from 'core-app/shared/components/editor/components/ckeditor/codemirror-loader.service'; import { KeyCodes } from 'core-app/shared/helpers/keycodes'; import { debugLog } from 'core-app/shared/helpers/debug_output'; import { UntilDestroyedMixin } from 'core-app/shared/helpers/angular/until-destroyed.mixin'; -declare module 'codemirror'; - @Component({ selector: 'op-ckeditor', templateUrl: './op-ckeditor.html', @@ -102,12 +102,19 @@ export class OpCkeditorComponent extends UntilDestroyedMixin implements OnInit, private _content = ''; + private readonly elementRef = inject>(ElementRef); + private readonly Notifications = inject(ToastService); + private readonly I18n = inject(I18nService); + private readonly configurationService = inject(ConfigurationService); + private readonly ckEditorSetup = inject(CKEditorSetupService); + private readonly codeMirrorLoader = inject(CodeMirrorLoaderService); + public text = { errorTitle: this.I18n.t('js.editor.ckeditor_error'), }; // Codemirror instance, initialized lazily when running source mode - public codeMirrorInstance:undefined|any; + public codeMirrorInstance:CodeMirrorEditor|null = null; // Debounce change listener for both CKE and codemirror // to read back changes as they happen @@ -120,16 +127,6 @@ export class OpCkeditorComponent extends UntilDestroyedMixin implements OnInit, { leading: true }, ); - constructor( - private readonly elementRef:ElementRef, - private readonly Notifications:ToastService, - private readonly I18n:I18nService, - private readonly configurationService:ConfigurationService, - private readonly ckEditorSetup:CKEditorSetupService, - ) { - super(); - } - /** * Get the current live data from CKEditor. This may raise in cases * the data cannot be loaded (MS Edge!) @@ -138,8 +135,7 @@ export class OpCkeditorComponent extends UntilDestroyedMixin implements OnInit, let content:string; if (this.manualMode) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access - content = this.codeMirrorInstance.getValue() as string; + content = this.codeMirrorInstance!.getValue(); } else { content = this.ckEditorInstance.getData({ trim: false }); } @@ -335,25 +331,23 @@ export class OpCkeditorComponent extends UntilDestroyedMixin implements OnInit, const current = this.getRawData(); const cmMode = 'gfm'; - void Promise - .all([ - import('codemirror'), - import(/* webpackChunkName: "codemirror-mode" */ `../../../../../../../node_modules/codemirror/mode/${cmMode}/${cmMode}.js`), - ]) - .then((imported:any[]) => { - const CodeMirror = imported[0].default; + void this.codeMirrorLoader + .ensureModeLoaded(cmMode) + .then((modeLoaded) => modeLoaded ? cmMode : '') + .then(async (resolvedMode) => { + const CodeMirror = await this.codeMirrorLoader.loadCore(); this.codeMirrorInstance = CodeMirror( - this.elementRef.nativeElement.querySelector('.ck-editor__source'), + this.elementRef.nativeElement.querySelector('.ck-editor__source')!, { lineNumbers: true, smartIndent: true, value: current, - mode: '', + mode: resolvedMode, }, ); this.codeMirrorInstance.on('change', this.debouncedEmitter); - setTimeout(() => this.codeMirrorInstance.refresh(), 100); + setTimeout(() => this.codeMirrorInstance!.refresh(), 100); this.manualMode = true; }); } diff --git a/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts index 28ab5c4b385..2d1b247c619 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts @@ -56,10 +56,12 @@ export class LinkedWorkPackageDisplayField extends WorkPackageDisplayField { return; } + const routingId = this.wpRoutingId; const link = this.uiStateBuilder.linkToShow( this.wpId, this.text.linkTitle, this.valueString, + routingId, ); const title = document.createElement('span'); diff --git a/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts index 36eb4619074..dee42c2fa50 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts @@ -28,6 +28,7 @@ import { DisplayField } from 'core-app/shared/components/fields/display/display-field.module'; import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; +import { formatWorkPackageId } from 'core-app/shared/helpers/work-package-id-pattern'; export class WorkPackageDisplayField extends DisplayField { public text = { @@ -58,13 +59,30 @@ export class WorkPackageDisplayField extends DisplayField { return this.value.href.match(/(\d+)$/)[0]; } + /** + * Returns the identifier for URL routing when the linked WP is loaded, + * falling back to the numeric ID extracted from the href. + * + * Unlike `WorkPackageBaseResource.displayId`, this handles the case + * where the related resource is only a HAL link (not yet fetched). + */ + public get wpRoutingId():string { + const linkedWp = this.value as WorkPackageResource | undefined; + if (linkedWp?.$loaded) { + return linkedWp.displayId; + } + return this.wpId as string; + } + /** * Returns the work package ID formatted for display. * Classic mode: `#123` (hash-prefixed), Semantic mode: `PROJ-42` (no prefix). * * Delegates to `WorkPackageResource#formattedId` when the linked resource * is loaded. When unloaded, falls back to the numeric ID extracted from - * the self-link href (which has no `displayId` available). + * the self-link href — an unloaded HAL link carries only the href, not + * the resource's properties (the API always populates `displayId`, but + * we can't reach it until the link is fetched). */ public get wpFormattedId():string { const linkedWp = this.value as WorkPackageResource | undefined; @@ -75,7 +93,7 @@ export class WorkPackageDisplayField extends DisplayField { const id = this.wpId as string | number | null; if (!id) return ''; - return `#${id}`; + return formatWorkPackageId(String(id)); } public get valueString() { diff --git a/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.spec.ts b/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.spec.ts index 1192c9d9eb7..ea6a8647423 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.spec.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.spec.ts @@ -75,7 +75,19 @@ describe('WorkPackageIdDisplayField', () => { expect(link!.textContent).toEqual('PROJ-7'); }); - it('uses the numeric id for routing (data-work-package-id)', () => { + it('uses the semantic displayId in the href for pretty URLs', () => { + buildField({ id: '42', displayId: 'PROJ-7' }); + + const container = document.createElement('span'); + field.render(container, 'PROJ-7'); + + const link = container.querySelector('a'); + + expect(link).toBeTruthy(); + expect(link!.href).toContain('/work_packages/PROJ-7'); + }); + + it('keeps the numeric id in data-work-package-id for selection', () => { buildField({ id: '42', displayId: 'PROJ-7' }); const container = document.createElement('span'); diff --git a/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts index 1d67e453921..93619bb9e5e 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts @@ -46,7 +46,7 @@ export class WorkPackageIdDisplayField extends IdDisplayField { private uiStateBuilder:UiStateLinkBuilder = new UiStateLinkBuilder(this.$state, this.keepTab, this.currentProject, this.pathHelper); public get valueString():string { - // eslint-disable-next-line @typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access + // eslint-disable-next-line @typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-member-access return this.resource.displayId ?? this.value?.toString() ?? ''; } @@ -59,6 +59,7 @@ export class WorkPackageIdDisplayField extends IdDisplayField { this.value, displayText, displayText, + this.valueString, ); element.appendChild(link); diff --git a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts index e2d1d3cfc39..e2d605349d8 100644 --- a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts +++ b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts @@ -74,8 +74,6 @@ export class WorkPackageQuickinfoMacroComponent implements OnInit { combinedDateDisplayField = CombinedDateDisplayField; - workPackageLink:string; - workPackageHoverCardUrl:string; detailed = false; @@ -95,7 +93,6 @@ export class WorkPackageQuickinfoMacroComponent implements OnInit { const element = this.elementRef.nativeElement as HTMLElement; const id:string = element.dataset.id!; this.detailed = element.dataset.detailed === 'true'; - this.workPackageLink = this.pathHelper.workPackagePath(id); this.workPackageHoverCardUrl = this.pathHelper.workPackageHoverCardPath(id); this.workPackage$ = this diff --git a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.html b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.html index 602cf75a37f..46be0a05f2f 100644 --- a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.html +++ b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.html @@ -10,7 +10,7 @@ fieldName="type" /> {{workPackage.formattedId}}: @@ -40,6 +40,12 @@ containerType="single-view" /> }) } +} @else if (!error) { + + + } @if (error) { diff --git a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.sass b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.sass index 456ad8b3c8d..7756eb0659f 100644 --- a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.sass +++ b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.sass @@ -8,3 +8,9 @@ display-field display-field[fieldName="status"] padding-right: 6px + +.op-wp-quickinfo-macro--loading-indicator + display: inline-block + width: 120px + height: 1em + vertical-align: middle diff --git a/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts b/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts index 252982f4b81..96dc1f9f07c 100644 --- a/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts +++ b/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts @@ -27,12 +27,14 @@ //++ import { - AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, ViewChild, + AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild, inject, } from '@angular/core'; import { OpModalLocalsMap } from 'core-app/shared/components/modal/modal.types'; import { OpModalComponent } from 'core-app/shared/components/modal/modal.component'; import { OpModalLocalsToken } from 'core-app/shared/components/modal/modal.service'; import { I18nService } from 'core-app/core/i18n/i18n.service'; +import { CodeMirrorLoaderService } from 'core-app/shared/components/editor/components/ckeditor/codemirror-loader.service'; +import type { Editor as CodeMirrorEditor } from 'codemirror'; @Component({ templateUrl: './code-block-macro.modal.html', @@ -56,12 +58,20 @@ export class CodeBlockMacroModalComponent extends OpModalComponent implements Af public content:string; // Codemirror instance - public codeMirrorInstance:undefined|any; + public codeMirrorInstance:CodeMirrorEditor|undefined; + + private pendingMode:string|undefined; public debouncedLanguageLoader = _.debounce(() => this.loadLanguageAsMode(this.language), 300); @ViewChild('codeMirrorPane', { static: true }) codeMirrorPane:ElementRef; + readonly elementRef = inject(ElementRef); + public locals = inject(OpModalLocalsToken) as OpModalLocalsMap; + readonly cdRef = inject(ChangeDetectorRef); + readonly I18n = inject(I18nService); + readonly codeMirrorLoader = inject(CodeMirrorLoaderService); + public text:any = { title: this.I18n.t('js.editor.macro.code_block.title'), language: this.I18n.t('js.editor.macro.code_block.language'), @@ -71,13 +81,14 @@ export class CodeBlockMacroModalComponent extends OpModalComponent implements Af close_popup: this.I18n.t('js.close_popup_title'), }; - constructor(readonly elementRef:ElementRef, - @Inject(OpModalLocalsToken) public locals:OpModalLocalsMap, - readonly cdRef:ChangeDetectorRef, - readonly I18n:I18nService) { - super(locals, cdRef, elementRef); - this.languageClass = locals.languageClass || 'language-text'; - this.content = locals.content; + constructor() { + super( + inject(OpModalLocalsToken) as OpModalLocalsMap, + inject(ChangeDetectorRef), + inject(ElementRef), + ); + this.languageClass = (this.locals.languageClass as string | undefined) ?? 'language-text'; + this.content = this.locals.content as string; const match = /language-(\w+)/.exec(this.languageClass); if (match) { @@ -88,7 +99,7 @@ export class CodeBlockMacroModalComponent extends OpModalComponent implements Af } public applyAndClose(evt:Event):void { - this.content = this.codeMirrorInstance.getValue(); + this.content = this.codeMirrorInstance!.getValue(); const lang = this.language || 'text'; this.languageClass = `language-${lang}`; @@ -97,10 +108,9 @@ export class CodeBlockMacroModalComponent extends OpModalComponent implements Af } ngAfterViewInit():void { - import('codemirror').then((imported:any) => { - const CodeMirror = imported.default; + void this.codeMirrorLoader.loadCore().then((CodeMirror) => { this.codeMirrorInstance = CodeMirror.fromTextArea( - this.codeMirrorPane.nativeElement, + this.codeMirrorPane.nativeElement as HTMLTextAreaElement, { lineNumbers: true, smartIndent: true, @@ -109,6 +119,10 @@ export class CodeBlockMacroModalComponent extends OpModalComponent implements Af mode: '', }, ); + if (this.pendingMode !== undefined) { + this.updateCodeMirrorMode(this.pendingMode); + this.pendingMode = undefined; + } }); } @@ -127,19 +141,21 @@ export class CodeBlockMacroModalComponent extends OpModalComponent implements Af return this.updateCodeMirrorMode(''); } - import(/* webpackChunkName: "codemirror-mode" */ `../../../../../../../node_modules/codemirror/mode/${language}/${language}.js`) - .then(() => { - this.updateCodeMirrorMode(language); - }) - .catch((e) => { - console.error(`Failed to load language ${language}: ${e}`); - this.updateCodeMirrorMode(''); + void this.codeMirrorLoader + .ensureModeLoaded(language) + .then((modeLoaded) => { + this.updateCodeMirrorMode(modeLoaded ? language : ''); }); } updateCodeMirrorMode(newLanguage:string) { - const editor = this.codeMirrorInstance; - editor?.setOption('mode', newLanguage); + if (!this.codeMirrorInstance) { + this.pendingMode = newLanguage; + return; + } + + this.codeMirrorInstance.setOption('mode', newLanguage); + this.codeMirrorInstance.refresh(); } updateLanguage(newValue?:string) { diff --git a/frontend/src/app/shared/components/op-context-menu/wp-context-menu/wp-view-context-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/wp-context-menu/wp-view-context-menu.directive.ts index e3cf08e3a50..d73a4a22139 100644 --- a/frontend/src/app/shared/components/op-context-menu/wp-context-menu/wp-view-context-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/wp-context-menu/wp-view-context-menu.directive.ts @@ -61,7 +61,13 @@ export class WorkPackageViewContextMenu extends OpContextMenuHandler { ); // Get the base route for the current route to ensure we always link correctly - protected baseRoute = this.$state.current.data.baseRoute || this.$state.current.name; + protected baseRoute = this.$state.current.data?.baseRoute ?? this.$state.current.name; + + // Whether we are running inside a uiRouter context (e.g. work packages list/board). + // Calendar and Team Planner render without uiRouter and rely on Turbo navigation instead. + protected get hasUiRouterContext():boolean { + return this.$state.current.name !== ''; + } protected items = this.buildItems(); @@ -122,7 +128,14 @@ export class WorkPackageViewContextMenu extends OpContextMenuHandler { break; case 'relation-new-child': - this.wpRelationsHierarchyService.addNewChildWp(this.baseRoute, this.workPackage); + if (this.hasUiRouterContext) { + this.wpRelationsHierarchyService.addNewChildWp(this.baseRoute, this.workPackage); + } else { + const newChildPath = `${window.location.pathname.replace(/\/details\/.*$/, '')}/details/new`; + const childParams = new URLSearchParams(window.location.search); + childParams.set('parent_id', id); + Turbo.visit(`${newChildPath}?${childParams.toString()}`, { frame: 'content-bodyRight', action: 'advance' }); + } break; case 'log_time': @@ -134,10 +147,15 @@ export class WorkPackageViewContextMenu extends OpContextMenuHandler { break; case 'relations': - void this.$state.go( - `${splitViewRoute(this.$state)}.tabs`, - { workPackageId: this.workPackageId, tabIdentifier: 'relations' }, - ); + if (this.hasUiRouterContext) { + void this.$state.go( + `${splitViewRoute(this.$state)}.tabs`, + { workPackageId: this.workPackage.displayId, tabIdentifier: 'relations' }, + ); + } else { + const relationsPath = `${window.location.pathname.replace(/\/details\/.*$/, '')}/details/${this.workPackage.displayId}${window.location.search}`; + Turbo.visit(relationsPath, { frame: 'content-bodyRight', action: 'advance' }); + } break; default: @@ -212,7 +230,7 @@ export class WorkPackageViewContextMenu extends OpContextMenuHandler { if (selected.length === 1 && !isNewResource(this.workPackage)) { const projectIdentifier = this.currentProject.identifier; - const link = this.pathHelper.genericWorkPackagePath(projectIdentifier, this.workPackageId) + window.location.search; + const link = this.pathHelper.genericWorkPackagePath(projectIdentifier, this.workPackage.displayId) + window.location.search; items.unshift({ disabled: false, @@ -232,24 +250,32 @@ export class WorkPackageViewContextMenu extends OpContextMenuHandler { }); if (selected.length === 1 && this.allowSplitScreenActions) { + const splitViewHref = this.hasUiRouterContext + ? this.$state.href( + `${splitViewRoute(this.$state)}.tabs`, + { workPackageId: this.workPackage.displayId, tabIdentifier: 'overview' }, + ) + : `${window.location.pathname.replace(/\/details\/.*$/, '')}/details/${this.workPackage.displayId}${window.location.search}`; + items.unshift({ disabled: false, icon: 'icon-view-split', class: 'detailsViewMenuItem', - href: this.$state.href( - `${splitViewRoute(this.$state)}.tabs`, - { workPackageId: this.workPackageId, tabIdentifier: 'overview' }, - ), + href: splitViewHref, linkText: I18n.t('js.button_open_details'), onClick: (event) => { if (isClickedWithModifier(event)) { return false; } - this.$state.go( - `${splitViewRoute(this.$state)}.tabs`, - { workPackageId: this.workPackageId, tabIdentifier: 'overview' }, - ); + if (this.hasUiRouterContext) { + this.$state.go( + `${splitViewRoute(this.$state)}.tabs`, + { workPackageId: this.workPackage.displayId, tabIdentifier: 'overview' }, + ); + } else { + Turbo.visit(splitViewHref, { frame: 'content-bodyRight', action: 'advance' }); + } return true; }, }); diff --git a/frontend/src/app/shared/helpers/work-package-id-pattern.spec.ts b/frontend/src/app/shared/helpers/work-package-id-pattern.spec.ts new file mode 100644 index 00000000000..89acdedfde4 --- /dev/null +++ b/frontend/src/app/shared/helpers/work-package-id-pattern.spec.ts @@ -0,0 +1,15 @@ +import { formatWorkPackageId } from './work-package-id-pattern'; + +describe('formatWorkPackageId', () => { + it('returns semantic identifiers as-is (no prefix)', () => { + expect(formatWorkPackageId('PROJ-42')).toBe('PROJ-42'); + }); + + it('prefixes numeric identifiers with #', () => { + expect(formatWorkPackageId('42')).toBe('#42'); + }); + + it('returns empty string for empty input', () => { + expect(formatWorkPackageId('')).toBe(''); + }); +}); diff --git a/frontend/src/app/shared/helpers/work-package-id-pattern.ts b/frontend/src/app/shared/helpers/work-package-id-pattern.ts index b189e59120a..3f79edfbd20 100644 --- a/frontend/src/app/shared/helpers/work-package-id-pattern.ts +++ b/frontend/src/app/shared/helpers/work-package-id-pattern.ts @@ -6,3 +6,22 @@ * The backend equivalent lives in WorkPackage::SemanticIdentifier::ID_ROUTE_CONSTRAINT. */ export const WP_ID_URL_PATTERN = '\\d+|[A-Za-z][A-Za-z0-9_]*-\\d+'; + +/** + * Format a work package identifier for inline UI display. + * + * OpenProject supports two identifier modes: + * - **Semantic**: project-scoped identifiers like `PROJ-42` that contain letters. + * These are self-describing and returned as-is. + * - **Classic**: numeric-only identifiers like `42`. + * These are prefixed with `#` to visually distinguish them as WP references. + * + * @example + * formatWorkPackageId('PROJ-42') // => 'PROJ-42' + * formatWorkPackageId('42') // => '#42' + * formatWorkPackageId('') // => '' + */ +export function formatWorkPackageId(id:string):string { + if (!id) return ''; + return /[A-Za-z]/.test(id) ? id : `#${id}`; +} diff --git a/frontend/src/global_styles/content/editor/_ckeditor.sass b/frontend/src/global_styles/content/editor/_ckeditor.sass index d9b59e95d1a..410f91d6579 100644 --- a/frontend/src/global_styles/content/editor/_ckeditor.sass +++ b/frontend/src/global_styles/content/editor/_ckeditor.sass @@ -21,6 +21,10 @@ opce-ckeditor-augmented-textarea .op-ckeditor--attachments min-height: 100px padding: 10px + // Keep editor content typography aligned with surrounding OpenProject styles. + --ck-content-font-family: var(--body-font-family) + --ck-content-font-size: var(--body-font-size) + // Specific overrides for ck contenteditable .ck-content @@ -70,6 +74,10 @@ opce-ckeditor-augmented-textarea .op-ckeditor--attachments transform: translateX( -15px ) z-index: 1000 !important +// Force forms of ck to be block +// as our forms are inline by default +.ck.ck-form + display: block // Override fixed position of toolbar // Otherwise the toolbar will 'disappear' behind the topmenu diff --git a/frontend/src/global_styles/openproject/_mixins.sass b/frontend/src/global_styles/openproject/_mixins.sass index 8d088d8e981..f0bf08b59c8 100644 --- a/frontend/src/global_styles/openproject/_mixins.sass +++ b/frontend/src/global_styles/openproject/_mixins.sass @@ -276,9 +276,9 @@ $scrollbar-size: 10px @media screen display: inline background: var(--bgColor-muted) - border: 1px solid transparent - border-radius: var(--borderRadius-medium) - padding: 2px + border-radius: var(--borderRadius-default) + // 2px vertical ensures that line-height is not overflowed excessively + padding: 2px var(--control-xsmall-paddingInline-condensed) &:has(.-multiline) display: inline-flex diff --git a/frontend/src/global_styles/primer/_overrides.sass b/frontend/src/global_styles/primer/_overrides.sass index a34390c13e3..f9f3869f6c0 100644 --- a/frontend/src/global_styles/primer/_overrides.sass +++ b/frontend/src/global_styles/primer/_overrides.sass @@ -208,3 +208,13 @@ ul.SegmentedControl, & .Banner-actions margin: var(--base-size-8) 0 0 var(--base-size-8) + +// Bug in @openproject/primer-view-components: .FormControl-checkbox:indeterminate +// has no background rule, and :indeterminate:before doesn't cancel checkmarkOut. +.FormControl-checkbox:indeterminate + background: var(--control-checked-bgColor-rest, var(--color-accent-fg)) + border-color: var(--control-checked-borderColor-rest, var(--color-accent-fg)) + + &:before + animation: none + clip-path: inset(0) diff --git a/frontend/src/stimulus/controllers/dynamic/admin/workflow-checkbox-state.controller.ts b/frontend/src/stimulus/controllers/dynamic/admin/workflow-checkbox-state.controller.ts index 3dd327642bf..e40218e878a 100644 --- a/frontend/src/stimulus/controllers/dynamic/admin/workflow-checkbox-state.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/admin/workflow-checkbox-state.controller.ts @@ -82,7 +82,10 @@ export default class WorkflowCheckboxStateController extends Controller(`input[name="${name}"]`)!.value; } + private formValues(name:string):string[] { + return Array.from( + this.element.querySelectorAll(`input[name="${name}"]`), + ).map((el) => el.value); + } + private pushState(key:string, state:CheckboxesState) { const savedState:SavedState = { formKey: this.formKey, checkboxes: state }; sessionStorage.setItem(key, JSON.stringify(savedState)); @@ -155,7 +166,7 @@ export default class WorkflowCheckboxStateController extends Controller { - const onIgnoreCallback = this.onIgnoreChanges(target, event); - this.ignoreButtonTarget.addEventListener('click', onIgnoreCallback); - - const onSaveCallback = this.onSaveChanges(target, event); - this.saveButtonTarget.addEventListener('click', onSaveCallback); - + private openConfirmationDialog(onIgnore:() => void, onSave:() => void) { + this.ignoreButtonTarget.addEventListener('click', onIgnore); + this.saveButtonTarget.addEventListener('click', onSave); this.confirmationDialogTarget.addEventListener('close', () => { - this.ignoreButtonTarget.removeEventListener('click', onIgnoreCallback); - this.saveButtonTarget.removeEventListener('click', onSaveCallback); + this.ignoreButtonTarget.removeEventListener('click', onIgnore); + this.saveButtonTarget.removeEventListener('click', onSave); }); - this.confirmationDialogTarget.showModal(); + } + + private confirmThenResubmit = (target:HTMLElement, event:Event) => { + this.openConfirmationDialog( + this.onIgnoreChanges(target, event), + this.onSaveChanges(target, event), + ); }; private onIgnoreChanges = (originalTarget:HTMLElement, originalEvent:Event) => { @@ -193,7 +206,7 @@ export default class WorkflowCheckboxStateController extends Controller params.append('role_ids[]', id)); url.search = params.toString(); turboFrame.setAttribute('src', url.toString()); @@ -251,12 +264,24 @@ export default class WorkflowCheckboxStateController extends Controller { + private onCheckboxChange = (event:Event) => { + this.removeIndeterminateMarker(event.target as HTMLInputElement); + this.recomputeDirtyFlag(); + }; + + private recomputeDirtyFlag() { const current = this.captureState(); const hasChanges = Object.keys(current).some((key) => current[key] !== this.initialCheckboxState[key]); this.hasCheckboxChangesValue = hasChanges; - }; + } + + private removeIndeterminateMarker(checkbox:HTMLInputElement):void { + const { oldStatus, newStatus } = checkbox.dataset; + this.element.querySelector( + `input[name="indeterminate_status[${oldStatus}][${newStatus}]"]`, + )?.remove(); + } private captureState():Record { const checkboxes:Record = {}; @@ -273,4 +298,52 @@ export default class WorkflowCheckboxStateController extends Controller('input[type="checkbox"][data-indeterminate="true"]').forEach((cb) => { + cb.indeterminate = true; + }); + } + + // + // Trigger navigation with dirty-state confirmation. + // + + navigateTo(url:string) { + if (this.isDirtyValue) { + this.confirmThenNavigate(url); + } else { + this.frameNavigateTo(url); + } + } + + private confirmThenNavigate(url:string) { + this.openConfirmationDialog( + () => { + this.hasCheckboxChangesValue = false; + this.hasStatusChangesValue = false; + this.confirmationDialogTarget.close(); + setTimeout(() => { this.frameNavigateTo(url); }, 0); + }, + () => { + this.element.requestSubmit(); + this.confirmationDialogTarget.close(); + // Delay to allow the flash message from the form submission to appear. + setTimeout(() => { this.frameNavigateTo(url); }, 1000); + }, + ); + } + + // This keeps the url in the /tabs/:tab/edit format consistently, + // rather than doing a Turbo.visit which changes the format. + // It also keeps history usable, similar to data-turbo-action="advance". + private frameNavigateTo(url:string) { + const turboFrame = this.element.closest('turbo-frame') as HTMLElement | null; + if (turboFrame) { + turboFrame.setAttribute('src', url); + history.pushState({}, '', url); + } else { + Turbo.visit(url); + } + } } diff --git a/frontend/src/stimulus/controllers/dynamic/admin/workflow-role-select.controller.ts b/frontend/src/stimulus/controllers/dynamic/admin/workflow-role-select.controller.ts new file mode 100644 index 00000000000..d81f1ff94b1 --- /dev/null +++ b/frontend/src/stimulus/controllers/dynamic/admin/workflow-role-select.controller.ts @@ -0,0 +1,79 @@ +/* + * -- copyright + * OpenProject is an open source project management software. + * Copyright (C) the OpenProject GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License version 3. + * + * OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: + * Copyright (C) 2006-2013 Jean-Philippe Lang + * Copyright (C) 2010-2013 the ChiliProject Team + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * See COPYRIGHT and LICENSE files for more details. + * ++ + */ + +import { Controller } from '@hotwired/stimulus'; +import type { SelectPanelElement } from '@primer/view-components/app/components/primer/alpha/select_panel_element'; +import WorkflowCheckboxStateController from './workflow-checkbox-state.controller'; + +/** + * When the panel closes, it navigates to the workflow edit page with the selected role IDs. + * Delegates dirty-state confirmation to the workflow-checkbox-state controller via an outlet. + */ +export default class WorkflowRoleSelectController extends Controller { + static outlets = ['admin--workflow-checkbox-state']; + static values = { baseUrl: String, currentRoleIds: Array }; + + declare readonly adminWorkflowCheckboxStateOutlet:WorkflowCheckboxStateController; + declare readonly hasAdminWorkflowCheckboxStateOutlet:boolean; + declare baseUrlValue:string; + declare currentRoleIdsValue:unknown[]; + + apply() { + const panel = this.element as HTMLElement as SelectPanelElement; + const selectedIds = panel.items + .filter((item) => panel.isItemChecked(item)) + .map((item) => item.getAttribute('data-item-id')) + .filter(Boolean); + + // For when all roles are deselected + if (!selectedIds.length) { + this.navigateTo(this.buildUrl([])); + return; + } + + if (selectedIds.slice().sort().join(',') === this.currentRoleIdsValue.slice().sort().join(',')) return; + + this.navigateTo(this.buildUrl(selectedIds as string[])); + } + + private buildUrl(roleIds:string[]):string { + const url = new URL(this.baseUrlValue, window.location.origin); + roleIds.forEach((id) => url.searchParams.append('role_ids[]', id)); + return url.toString(); + } + + private navigateTo(url:string) { + if (this.hasAdminWorkflowCheckboxStateOutlet) { + this.adminWorkflowCheckboxStateOutlet.navigateTo(url); + } else { + Turbo.visit(url); + } + } +} diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/story.controller.ts b/frontend/src/stimulus/controllers/dynamic/backlogs/story.controller.ts index b284fd5c17a..64595e9dc01 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/story.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/story.controller.ts @@ -29,16 +29,20 @@ import { Controller } from '@hotwired/stimulus'; import * as Turbo from '@hotwired/turbo'; import type { TurboVisitEvent } from '@hotwired/turbo'; +import { WP_ID_URL_PATTERN } from 'core-app/shared/helpers/work-package-id-pattern'; +const DETAILS_URL_PATTERN = new RegExp(`/details/(${WP_ID_URL_PATTERN})(?:/|$)`); export default class StoryController extends Controller implements EventListenerObject { static values = { id: Number, + displayId: String, splitUrl: String, fullUrl: String, }; declare idValue:number; + declare displayIdValue:string; declare splitUrlValue:string; declare fullUrlValue:string; @@ -74,8 +78,10 @@ export default class StoryController extends Controller implements private syncSelectionFromUrl(locationUrl:string):void { const { pathname } = new URL(locationUrl, window.location.origin); - const [, id] = /\/details\/(\d+)/.exec(pathname) ?? []; - if (id !== undefined && Number(id) === this.idValue) { + const [, id] = DETAILS_URL_PATTERN.exec(pathname) ?? []; + // Bookmarks and external links may still carry a numeric ID after the + // switch to semantic mode, so accept either form here. + if (id !== undefined && (id === this.idValue.toString() || id === this.displayIdValue)) { this.markAsSelected(); } else { this.unmarkAsSelected(); diff --git a/frontend/src/stimulus/controllers/dynamic/openid-connect/match-preview-dialog.controller.ts b/frontend/src/stimulus/controllers/dynamic/openid-connect/match-preview-dialog.controller.ts index a52a1919ab2..0936969c3de 100644 --- a/frontend/src/stimulus/controllers/dynamic/openid-connect/match-preview-dialog.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/openid-connect/match-preview-dialog.controller.ts @@ -56,7 +56,7 @@ export default class MatchPreviewDialogController extends Controller { declare dialog:HTMLDialogElement; declare updateUrlValue:string; - declare updateMatchTimeout:number; + private updateMatchTimeout:number|null = null; private pluginContextData:OpenProjectPluginContext|null = null; @@ -83,9 +83,11 @@ export default class MatchPreviewDialogController extends Controller { } private updateMatchPreview() { - if(this.updateMatchTimeout) clearTimeout(this.updateMatchTimeout); + if (this.updateMatchTimeout !== null) { + window.clearTimeout(this.updateMatchTimeout); + } - this.updateMatchTimeout = setTimeout(() => { this.doUpdateMatchPreview(); }, 500); + this.updateMatchTimeout = window.setTimeout(() => { this.doUpdateMatchPreview(); }, 500); } private doUpdateMatchPreview() { diff --git a/frontend/src/vendor/ckeditor/ckeditor.css b/frontend/src/vendor/ckeditor/ckeditor.css new file mode 100644 index 00000000000..e434bbe8aa6 --- /dev/null +++ b/frontend/src/vendor/ckeditor/ckeditor.css @@ -0,0 +1,5865 @@ +/* Auto-generated by bin/build-ckeditor-styles.mjs. Do not edit manually. */ + +/* @ckeditor/ckeditor5-ui */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +:root { + --ck-color-base-foreground: #fafafa; + --ck-color-base-background: #fff; + --ck-color-base-border: #ccced1; + --ck-color-base-action: #53a336; + --ck-color-base-focus: #6cb5f9; + --ck-color-base-text: #333; + --ck-color-base-active: #2977ff; + --ck-color-base-active-focus: #0d65ff; + --ck-color-base-error: #db3700; + --ck-color-focus-border-coordinates: 218, 81.8%, 56.9%; + --ck-color-focus-border: hsl(var(--ck-color-focus-border-coordinates)); + --ck-color-focus-outer-shadow: #cae1fc; + --ck-color-focus-disabled-shadow: #77baf84d; + --ck-color-focus-error-shadow: #ff401f4d; + --ck-color-text: var(--ck-color-base-text); + --ck-color-shadow-drop: #00000026; + --ck-color-shadow-drop-active: #0003; + --ck-color-shadow-inner: #0000001a; + --ck-color-button-default-background: transparent; + --ck-color-button-default-hover-background: #f0f0f0; + --ck-color-button-default-active-background: #f0f0f0; + --ck-color-button-default-disabled-background: transparent; + --ck-color-button-on-background: #f0f7ff; + --ck-color-button-on-hover-background: #dbecff; + --ck-color-button-on-active-background: #dbecff; + --ck-color-button-on-disabled-background: #f0f2f4; + --ck-color-button-on-color: #2977ff; + --ck-color-button-action-background: var(--ck-color-base-action); + --ck-color-button-action-hover-background: #4d9d30; + --ck-color-button-action-active-background: #4d9d30; + --ck-color-button-action-disabled-background: #7ec365; + --ck-color-button-action-text: var(--ck-color-base-background); + --ck-color-button-save: #008a00; + --ck-color-button-cancel: #db3700; + --ck-color-switch-button-off-background: #939393; + --ck-color-switch-button-off-hover-background: #7d7d7d; + --ck-color-switch-button-on-background: var(--ck-color-button-action-background); + --ck-color-switch-button-on-hover-background: #4d9d30; + --ck-color-switch-button-inner-background: var(--ck-color-base-background); + --ck-color-switch-button-inner-shadow: #0000001a; + --ck-color-dropdown-panel-background: var(--ck-color-base-background); + --ck-color-dropdown-panel-border: var(--ck-color-base-border); + --ck-color-dialog-background: var(--ck-custom-background); + --ck-color-dialog-form-header-border: var(--ck-custom-border); + --ck-color-input-background: var(--ck-color-base-background); + --ck-color-input-border: var(--ck-color-base-border); + --ck-color-input-error-border: var(--ck-color-base-error); + --ck-color-input-text: var(--ck-color-base-text); + --ck-color-input-disabled-background: #f2f2f2; + --ck-color-input-disabled-border: var(--ck-color-base-border); + --ck-color-input-disabled-text: #757575; + --ck-color-list-background: var(--ck-color-base-background); + --ck-color-list-button-hover-background: var(--ck-color-button-default-hover-background); + --ck-color-list-button-on-background: var(--ck-color-button-on-color); + --ck-color-list-button-on-background-focus: var(--ck-color-button-on-color); + --ck-color-list-button-on-text: var(--ck-color-base-background); + --ck-color-panel-background: var(--ck-color-base-background); + --ck-color-panel-border: var(--ck-color-base-border); + --ck-color-toolbar-background: var(--ck-color-base-background); + --ck-color-toolbar-border: var(--ck-color-base-border); + --ck-color-tooltip-background: var(--ck-color-base-text); + --ck-color-tooltip-text: var(--ck-color-base-background); + --ck-color-engine-placeholder-text: #707070; + --ck-color-upload-bar-background: #6cb5f9; + --ck-color-link-default: #0000f0; + --ck-color-link-selected-background: #1fb0ff1a; + --ck-color-link-fake-selection: #1fb0ff4d; + --ck-color-highlight-background: #ff0; + --ck-color-light-red: #fcc; + --ck-disabled-opacity: .5; + --ck-focus-outer-shadow-geometry: 0 0 0 3px; + --ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow); + --ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow); + --ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow); + --ck-focus-ring: 1px solid var(--ck-color-focus-border); + --ck-font-size-base: 13px; + --ck-line-height-base: 1.84615; + --ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif; + --ck-font-size-tiny: .7em; + --ck-font-size-small: .75em; + --ck-font-size-normal: 1em; + --ck-font-size-big: 1.4em; + --ck-font-size-large: 1.8em; + --ck-ui-component-min-height: 2.3em; +} + +.ck.ck-reset, .ck.ck-reset_all, .ck-reset_all :not(.ck-reset_all-excluded, .ck-reset_all-excluded *) { + box-sizing: border-box; + vertical-align: middle; + word-wrap: break-word; + background: none; + border: 0; + width: auto; + height: auto; + margin: 0; + padding: 0; + text-decoration: none; + transition: none; + position: static; +} + +.ck.ck-reset_all, .ck-reset_all :not(.ck-reset_all-excluded, .ck-reset_all-excluded *) { + border-collapse: collapse; + font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face); + color: var(--ck-color-text); + text-align: left; + white-space: nowrap; + cursor: auto; + float: none; +} + +.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded, .ck-reset_all-excluded *) { + text-align: right; +} + +.ck-reset_all iframe:not(.ck-reset_all-excluded *) { + vertical-align: inherit; +} + +.ck-reset_all textarea:not(.ck-reset_all-excluded *) { + white-space: pre-wrap; +} + +.ck-reset_all textarea:not(.ck-reset_all-excluded *), .ck-reset_all input[type="text"]:not(.ck-reset_all-excluded *), .ck-reset_all input[type="password"]:not(.ck-reset_all-excluded *) { + cursor: text; +} + +.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *), .ck-reset_all input[type="text"][disabled]:not(.ck-reset_all-excluded *), .ck-reset_all input[type="password"][disabled]:not(.ck-reset_all-excluded *) { + cursor: default; +} + +.ck-reset_all fieldset:not(.ck-reset_all-excluded *) { + border: 2px groove #dfdee3; + padding: 10px; +} + +.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner { + border: 0; + padding: 0; +} + +.ck[dir="rtl"], .ck[dir="rtl"] .ck { + text-align: right; +} + +:root { + --ck-border-radius: 2px; + --ck-rounded-corners-radius: 0; +} + +.ck-rounded-corners { + --ck-rounded-corners-radius: var(--ck-border-radius); +} + +:root { + --ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset; + --ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop); + --ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active); + --ck-spacing-unit: .6em; + --ck-spacing-extra-large: calc(var(--ck-spacing-unit) * 2); + --ck-spacing-large: calc(var(--ck-spacing-unit) * 1.5); + --ck-spacing-standard: var(--ck-spacing-unit); + --ck-spacing-medium: calc(var(--ck-spacing-unit) * .8); + --ck-spacing-medium-small: calc(var(--ck-spacing-unit) * .667); + --ck-spacing-small: calc(var(--ck-spacing-unit) * .5); + --ck-spacing-tiny: calc(var(--ck-spacing-unit) * .3); + --ck-spacing-extra-tiny: calc(var(--ck-spacing-unit) * .16); +} + +.ck-hidden { + display: none !important; +} + +:root { + --ck-z-default: 1; + --ck-z-panel: calc(var(--ck-z-default) + 999); + --ck-z-dialog: 9999; +} + +.ck-transitions-disabled, .ck-transitions-disabled * { + transition: none !important; +} + +:root { + --ck-powered-by-font-size: calc(var(--ck-font-size-base) * 7.5 / 13); + --ck-powered-by-line-height: calc(var(--ck-font-size-base) * 10 / 13); + --ck-powered-by-letter-spacing: calc(var(--ck-font-size-base) * -.2 / 13); + --ck-powered-by-padding-vertical: 2px; + --ck-powered-by-padding-horizontal: 4px; + --ck-powered-by-text-color: #4f4f4f; + --ck-powered-by-border-radius: var(--ck-border-radius); + --ck-powered-by-background: #fff; + --ck-powered-by-border-color: var(--ck-color-focus-border); + --ck-powered-by-svg-width: 53; + --ck-powered-by-svg-height: 10; + --ck-powered-by-icon-width: calc(var(--ck-font-size-base) * var(--ck-powered-by-svg-width) / 13); + --ck-powered-by-icon-height: calc(var(--ck-font-size-base) * var(--ck-powered-by-svg-height) / 13); +} + +.ck.ck-balloon-panel.ck-powered-by-balloon { + --ck-border-radius: var(--ck-powered-by-border-radius); + box-shadow: none; + background: var(--ck-powered-by-background); + min-height: unset; + z-index: calc(var(--ck-z-panel) - 1); +} + +.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by { + line-height: var(--ck-powered-by-line-height); +} + +.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a { + cursor: pointer; + opacity: .66; + filter: grayscale(80%); + line-height: var(--ck-powered-by-line-height); + padding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal); + align-items: center; + display: flex; +} + +.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label { + font-size: var(--ck-powered-by-font-size); + letter-spacing: var(--ck-powered-by-letter-spacing); + text-transform: uppercase; + cursor: pointer; + color: var(--ck-powered-by-text-color); + margin-right: 4px; + padding-left: 2px; + font-weight: bold; + line-height: normal; +} + +.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon { + cursor: pointer; + width: var(--ck-powered-by-icon-width); + height: var(--ck-powered-by-icon-height); + display: block; +} + +.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a { + filter: grayscale(0%); + opacity: 1; +} + +.ck.ck-balloon-panel.ck-powered-by-balloon[class*="position_inside"] { + border-color: #0000; +} + +.ck.ck-balloon-panel.ck-powered-by-balloon[class*="position_border"] { + border: var(--ck-focus-ring); + border-color: var(--ck-powered-by-border-color); +} + +:root { + --ck-evaluation-badge-font-size: calc(var(--ck-font-size-base) * 7.5 / 13); + --ck-evaluation-badge-line-height: calc(var(--ck-font-size-base) * 7.5 / 13); + --ck-evaluation-badge-letter-spacing: calc(var(--ck-font-size-base) * -.2 / 13); + --ck-evaluation-badge-padding-vertical: 2px; + --ck-evaluation-badge-padding-horizontal: 4px; + --ck-evaluation-badge-text-color: #4f4f4f; + --ck-evaluation-badge-border-radius: var(--ck-border-radius); + --ck-evaluation-badge-background: #fff; + --ck-evaluation-badge-border-color: var(--ck-color-focus-border); +} + +.ck.ck-balloon-panel.ck-evaluation-badge-balloon { + --ck-border-radius: var(--ck-evaluation-badge-border-radius); + box-shadow: none; + background: var(--ck-evaluation-badge-background); + min-height: unset; + z-index: calc(var(--ck-z-panel) - 1); +} + +.ck.ck-balloon-panel.ck-evaluation-badge-balloon .ck.ck-evaluation-badge { + line-height: var(--ck-evaluation-badge-line-height); + padding: var(--ck-evaluation-badge-padding-vertical) var(--ck-evaluation-badge-padding-horizontal); +} + +.ck.ck-balloon-panel.ck-evaluation-badge-balloon .ck.ck-evaluation-badge .ck-evaluation-badge__label { + font-size: var(--ck-evaluation-badge-font-size); + letter-spacing: var(--ck-evaluation-badge-letter-spacing); + text-transform: uppercase; + color: var(--ck-evaluation-badge-text-color); + padding: 0 2px; + font-weight: bold; + line-height: normal; + display: block; +} + +.ck.ck-balloon-panel.ck-evaluation-badge-balloon[class*="position_inside"] { + border-color: #0000; +} + +.ck.ck-balloon-panel.ck-evaluation-badge-balloon[class*="position_border"] { + border: var(--ck-focus-ring); + border-color: var(--ck-evaluation-badge-border-color); +} + +.ck.ck-responsive-form { + padding: var(--ck-spacing-large); +} + +.ck.ck-responsive-form:focus { + outline: none; +} + +[dir="ltr"] .ck.ck-responsive-form > :not(:first-child) { + margin-left: var(--ck-spacing-standard); +} + +[dir="rtl"] .ck.ck-responsive-form > :not(:last-child) { + margin-left: var(--ck-spacing-standard); +} + +@media screen and (width <= 600px) { + .ck.ck-responsive-form { + width: calc(.8 * var(--ck-input-width)); + padding: 0; + } + + .ck.ck-responsive-form .ck-labeled-field-view { + margin: var(--ck-spacing-large) var(--ck-spacing-large) 0; + } + + .ck.ck-responsive-form .ck-labeled-field-view .ck-input-text, .ck.ck-responsive-form .ck-labeled-field-view .ck-input-number { + width: 100%; + min-width: 0; + } + + .ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error { + white-space: normal; + } + + .ck.ck-responsive-form > .ck-button:last-child, .ck.ck-responsive-form > .ck-button:nth-last-child(2) { + padding: var(--ck-spacing-standard); + margin-top: var(--ck-spacing-large); + border-radius: 0; + } + + :is(.ck.ck-responsive-form > .ck-button:last-child, .ck.ck-responsive-form > .ck-button:nth-last-child(2)):not(:focus) { + border-top: 1px solid var(--ck-color-base-border); + } + + [dir="ltr"] :is(.ck.ck-responsive-form > .ck-button:last-child, .ck.ck-responsive-form > .ck-button:nth-last-child(2)) { + margin-left: 0; + } + + [dir="rtl"] :is(.ck.ck-responsive-form > .ck-button:last-child, .ck.ck-responsive-form > .ck-button:nth-last-child(2)) { + margin-left: 0; + } + + [dir="rtl"] :is(.ck.ck-responsive-form > .ck-button:last-child, .ck.ck-responsive-form > .ck-button:nth-last-child(2)):last-of-type { + border-right: 1px solid var(--ck-color-base-border); + } + + .ck.ck-responsive-form .ck-button:after { + content: ""; + z-index: 1; + width: 0; + position: absolute; + top: -1px; + bottom: -1px; + right: -1px; + } + + .ck.ck-responsive-form .ck-button:nth-last-child(2):after { + border-right: 1px solid var(--ck-color-base-border); + } + + .ck.ck-responsive-form .ck-button:focus:after { + display: none; + } +} + +.ck-vertical-form > .ck-button:nth-last-child(2):after { + border-right: 1px solid var(--ck-color-base-border); +} + +.ck-vertical-form .ck-button:after { + content: ""; + z-index: 1; + width: 0; + position: absolute; + top: -1px; + bottom: -1px; + right: -1px; +} + +.ck-vertical-form .ck-button:focus:after { + display: none; +} + +:root { + --ck-form-default-width: 340px; +} + +.ck.ck-form { + padding: 0 0 var(--ck-spacing-large); +} + +.ck.ck-form.ck-form_default-width { + width: var(--ck-form-default-width); +} + +.ck.ck-form:focus { + outline: none; +} + +.ck.ck-form .ck.ck-input-text, .ck.ck-form .ck.ck-input-number { + width: 0; + min-width: 100%; +} + +.ck.ck-form .ck.ck-dropdown { + min-width: 100%; +} + +.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus) { + border: 1px solid var(--ck-color-base-border); +} + +.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label { + width: 100%; +} + +@media screen and (width <= 600px) { + .ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_with-submit { + flex-direction: column; + align-items: stretch; + padding: 0; + } +} + +@media screen and (width <= 600px) { + .ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_with-submit > .ck { + margin: var(--ck-spacing-large) var(--ck-spacing-large) 0; + } +} + +@media screen and (width <= 600px) { + .ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_with-submit .ck-button_with-text { + justify-content: center; + } +} + +@media screen and (width <= 600px) { + .ck.ck-form.ck-responsive-form .ck.ck-form__row.ck-form__row_large-bottom-padding { + padding-bottom: var(--ck-spacing-large); + } +} + +[dir="ltr"] .ck.ck-form.ck-responsive-form > :not(:first-child) { + margin-left: 0; +} + +[dir="rtl"] .ck.ck-form.ck-responsive-form > :not(:last-child) { + margin-left: 0; +} + +.ck.ck-aria-live-announcer { + position: absolute; + top: -10000px; + left: -10000px; +} + +.ck.ck-aria-live-region-list { + list-style-type: none; +} + +:root { + --ck-accessibility-help-dialog-max-width: 600px; + --ck-accessibility-help-dialog-max-height: 400px; + --ck-accessibility-help-dialog-border-color: #ccced1; + --ck-accessibility-help-dialog-code-background-color: #ededed; + --ck-accessibility-help-dialog-kbd-shadow-color: #9c9c9c; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content { + padding: var(--ck-spacing-large); + max-width: var(--ck-accessibility-help-dialog-max-width); + max-height: var(--ck-accessibility-help-dialog-max-height); + user-select: text; + border: 1px solid #0000; + overflow: auto; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content:focus { + border: var(--ck-focus-ring); + box-shadow: var(--ck-focus-outer-shadow), 0 0; + outline: none; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content * { + white-space: normal; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content .ck-label { + display: none; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3 { + font-size: 1.2em; + font-weight: bold; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4 { + font-size: 1em; + font-weight: bold; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content p, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content table { + margin: 1em 0; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl { + border-top: 1px solid var(--ck-accessibility-help-dialog-border-color); + border-bottom: none; + grid-template-columns: 2fr 1fr; + display: grid; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd { + border-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color); + padding: .4em 0; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt { + grid-column-start: 1; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd { + text-align: right; + grid-column-start: 2; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code { + background: var(--ck-accessibility-help-dialog-code-background-color); + vertical-align: middle; + text-align: center; + border-radius: 2px; + padding: .4em; + font-size: .9em; + line-height: 1; + display: inline-block; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code { + font-family: monospace; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd { + min-width: 1.8em; + box-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color); + margin: 0 1px; +} + +.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd + kbd { + margin-left: 2px; +} + +.ck.ck-button, :where(a).ck.ck-button { + --ck-button-background: var(--ck-color-button-default-background); + --ck-button-hover-background: var(--ck-color-button-default-hover-background); + --ck-button-active-background: var(--ck-color-button-default-active-background); + --ck-button-disabled-background: var(--ck-color-button-default-disabled-background); + background: var(--ck-button-background); +} + +:is(.ck.ck-button, :where(a).ck.ck-button):not(.ck-disabled):hover { + background: var(--ck-button-hover-background); +} + +:is(.ck.ck-button, :where(a).ck.ck-button):not(.ck-disabled):active { + background: var(--ck-button-active-background); +} + +.ck.ck-button, :where(a).ck.ck-button { + border-radius: var(--ck-rounded-corners-radius); + white-space: nowrap; + cursor: default; + vertical-align: middle; + padding: var(--ck-spacing-tiny); + text-align: center; + min-width: var(--ck-ui-component-min-height); + min-height: var(--ck-ui-component-min-height); + line-height: 1; + font-size: inherit; + -webkit-appearance: none; + -webkit-user-select: none; + user-select: none; + border: 1px solid #0000; + align-items: center; + transition: box-shadow .2s ease-in-out, border .2s ease-in-out; + display: inline-flex; + position: relative; +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-button, :where(a).ck.ck-button { + transition: none; + } +} + +:is(.ck.ck-button, :where(a).ck.ck-button):active, :is(.ck.ck-button, :where(a).ck.ck-button):focus { + border: var(--ck-focus-ring); + box-shadow: var(--ck-focus-outer-shadow), 0 0; + outline: none; +} + +:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__icon use, :is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__icon use * { + color: inherit; +} + +:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__label { + font-size: inherit; + font-weight: inherit; + color: inherit; + cursor: inherit; + vertical-align: middle; +} + +[dir="ltr"] :is(:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__label) { + text-align: left; +} + +[dir="rtl"] :is(:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__label) { + text-align: right; +} + +:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__label { + display: none; +} + +:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__keystroke { + color: inherit; + opacity: .5; +} + +[dir="ltr"] :is(:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__keystroke) { + margin-left: var(--ck-spacing-large); +} + +[dir="rtl"] :is(:is(.ck.ck-button, :where(a).ck.ck-button) .ck-button__keystroke) { + margin-right: var(--ck-spacing-large); +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-disabled { + background: var(--ck-button-disabled-background); +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-disabled:active, :is(.ck.ck-button, :where(a).ck.ck-button).ck-disabled:focus { + box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0; +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-disabled .ck-button__icon, :is(.ck.ck-button, :where(a).ck.ck-button).ck-disabled .ck-button__label { + opacity: var(--ck-disabled-opacity); +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-disabled .ck-button__keystroke { + opacity: .3; +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-button_with-text { + padding: var(--ck-spacing-tiny) var(--ck-spacing-standard); +} + +[dir="ltr"] :is(:is(.ck.ck-button, :where(a).ck.ck-button).ck-button_with-text .ck-button__icon) { + margin-right: var(--ck-spacing-medium); +} + +[dir="rtl"] :is(:is(.ck.ck-button, :where(a).ck.ck-button).ck-button_with-text .ck-button__icon) { + margin-left: var(--ck-spacing-medium); +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-button_with-text .ck-button__label { + display: inline-block; +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-button_with-keystroke .ck-button__label { + flex-grow: 1; +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-on { + --ck-button-background: var(--ck-color-button-on-background); + --ck-button-hover-background: var(--ck-color-button-on-hover-background); + --ck-button-active-background: var(--ck-color-button-on-active-background); + --ck-button-disabled-background: var(--ck-color-button-on-disabled-background); + color: var(--ck-color-button-on-color); +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-button-save { + color: var(--ck-color-button-save); +} + +:is(.ck.ck-button, :where(a).ck.ck-button).ck-button-cancel { + color: var(--ck-color-button-cancel); +} + +[dir="ltr"] :is(.ck.ck-button, :where(a).ck.ck-button) { + justify-content: left; +} + +[dir="rtl"] :is(.ck.ck-button, :where(a).ck.ck-button) { + justify-content: right; +} + +:is(.ck.ck-button, :where(a).ck.ck-button):not(.ck-button_with-text) { + justify-content: center; +} + +.ck.ck-button-action, a.ck.ck-button-action { + --ck-button-background: var(--ck-color-button-action-background); + --ck-button-hover-background: var(--ck-color-button-action-hover-background); + --ck-button-active-background: var(--ck-color-button-action-active-background); + --ck-button-disabled-background: var(--ck-color-button-action-disabled-background); + color: var(--ck-color-button-action-text); +} + +.ck.ck-button-bold, a.ck.ck-button-bold { + font-weight: bold; +} + +:root { + --ck-switch-button-toggle-width: 2.61538em; + --ck-switch-button-toggle-inner-size: calc(1.07692em + 1px); + --ck-switch-button-translation: calc(var(--ck-switch-button-toggle-width) - + var(--ck-switch-button-toggle-inner-size) - + 2px /* Border */); + --ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow); +} + +.ck.ck-button.ck-switchbutton, .ck.ck-button.ck-switchbutton:hover, .ck.ck-button.ck-switchbutton:focus, .ck.ck-button.ck-switchbutton:active, .ck.ck-button.ck-switchbutton.ck-on:hover, .ck.ck-button.ck-switchbutton.ck-on:focus, .ck.ck-button.ck-switchbutton.ck-on:active { + color: inherit; + background: none; +} + +[dir="ltr"] :is(.ck.ck-button.ck-switchbutton .ck-button__label) { + margin-right: calc(2 * var(--ck-spacing-large)); +} + +[dir="rtl"] :is(.ck.ck-button.ck-switchbutton .ck-button__label) { + margin-left: calc(2 * var(--ck-spacing-large)); +} + +.ck.ck-button.ck-switchbutton .ck-button__toggle { + border-radius: var(--ck-rounded-corners-radius); + width: var(--ck-switch-button-toggle-width); + background: var(--ck-color-switch-button-off-background); + border: 1px solid #0000; + transition: background .4s, box-shadow .2s ease-in-out, outline .2s ease-in-out; +} + +[dir="ltr"] :is(.ck.ck-button.ck-switchbutton .ck-button__toggle) { + margin-left: auto; +} + +[dir="rtl"] :is(.ck.ck-button.ck-switchbutton .ck-button__toggle) { + margin-right: auto; +} + +.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner { + border-radius: calc(.5 * var(--ck-rounded-corners-radius)); + width: var(--ck-switch-button-toggle-inner-size); + height: var(--ck-switch-button-toggle-inner-size); + background: var(--ck-color-switch-button-inner-background); + transition: all .3s; +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner { + transition: none; + } +} + +.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner { + display: block; +} + +.ck.ck-button.ck-switchbutton .ck-button__toggle:hover { + background: var(--ck-color-switch-button-off-hover-background); +} + +.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner { + box-shadow: var(--ck-switch-button-inner-hover-shadow); +} + +.ck.ck-button.ck-switchbutton .ck-button__toggle { + display: block; +} + +.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle { + opacity: var(--ck-disabled-opacity); +} + +.ck.ck-button.ck-switchbutton:focus { + box-shadow: none; + border-color: #0000; + outline: none; +} + +.ck.ck-button.ck-switchbutton:focus .ck-button__toggle { + box-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow); + outline-offset: 1px; + outline: var(--ck-focus-ring); +} + +.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle { + background: var(--ck-color-switch-button-on-background); +} + +.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover { + background: var(--ck-color-switch-button-on-hover-background); +} + +[dir="ltr"] :is(.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner) { + transform: translateX(var(--ck-switch-button-translation)); +} + +[dir="rtl"] :is(.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner) { + transform: translateX(calc(-1 * var(--ck-switch-button-translation))); +} + +.ck.ck-button.ck-list-item-button { + padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard)); +} + +.ck.ck-button.ck-list-item-button, .ck.ck-button.ck-list-item-button.ck-on { + background: var(--ck-color-list-background); + color: var(--ck-color-text); +} + +[dir="ltr"] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder) { + padding-left: var(--ck-spacing-small); +} + +[dir="rtl"] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder) { + padding-right: var(--ck-spacing-small); +} + +.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-button.ck-on:hover, .ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable), .ck.ck-button.ck-list-item-button.ck-on:hover { + background: var(--ck-color-list-button-hover-background); +} + +:is(.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-button.ck-on:hover, .ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable), .ck.ck-button.ck-list-item-button.ck-on:hover):not(.ck-disabled) { + color: var(--ck-color-text); +} + +.ck.ck-list-item-button { + min-height: unset; + border-radius: 0; + width: 100%; +} + +[dir="ltr"] .ck.ck-list-item-button { + text-align: left; +} + +[dir="rtl"] .ck.ck-list-item-button { + text-align: right; +} + +[dir="ltr"] .ck.ck-list-item-button.ck-list-item-button_toggleable { + padding-left: var(--ck-spacing-small); +} + +[dir="rtl"] .ck.ck-list-item-button.ck-list-item-button_toggleable { + padding-right: var(--ck-spacing-small); +} + +.ck.ck-list-item-button .ck-list-item-button__check-holder { + width: .9em; + height: .9em; + display: inline-flex; +} + +[dir="ltr"] :is(.ck.ck-list-item-button .ck-list-item-button__check-holder) { + margin-right: var(--ck-spacing-small); +} + +[dir="rtl"] :is(.ck.ck-list-item-button .ck-list-item-button__check-holder) { + margin-left: var(--ck-spacing-small); +} + +.ck.ck-list-item-button .ck-list-item-button__check-icon { + height: 100%; +} + +:root { + --ck-collapsible-arrow-size: calc(.5 * var(--ck-icon-size)); +} + +.ck.ck-collapsible > .ck.ck-button { + width: 100%; + color: inherit; + border-radius: 0; + font-weight: bold; +} + +.ck.ck-collapsible > .ck.ck-button:focus { + background: none; +} + +.ck.ck-collapsible > .ck.ck-button:active, .ck.ck-collapsible > .ck.ck-button:not(:focus), .ck.ck-collapsible > .ck.ck-button:hover:not(:focus) { + box-shadow: none; + background: none; + border-color: #0000; +} + +.ck.ck-collapsible > .ck.ck-button > .ck-icon { + margin-right: var(--ck-spacing-medium); + width: var(--ck-collapsible-arrow-size); +} + +.ck.ck-collapsible > .ck-collapsible__children { + padding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large); +} + +.ck.ck-collapsible.ck-collapsible_collapsed > .ck.ck-button .ck-icon { + transform: rotate(-90deg); +} + +.ck.ck-collapsible.ck-collapsible_collapsed > .ck-collapsible__children { + display: none; +} + +:root { + --ck-color-grid-tile-size: 24px; + --ck-color-color-grid-check-icon: #166fd4; +} + +.ck.ck-color-grid { + grid-gap: 5px; + padding: 8px; + display: grid; +} + +.ck.ck-color-grid__tile { + transition: box-shadow .2s; +} + +@media (forced-colors: none) { + .ck.ck-color-grid__tile { + width: var(--ck-color-grid-tile-size); + height: var(--ck-color-grid-tile-size); + min-width: var(--ck-color-grid-tile-size); + min-height: var(--ck-color-grid-tile-size); + border: 0; + padding: 0; + } + + .ck.ck-color-grid__tile.ck-on, .ck.ck-color-grid__tile:focus:not(.ck-disabled), .ck.ck-color-grid__tile:hover:not(.ck-disabled) { + border: 0; + } + + .ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered { + box-shadow: 0 0 0 1px var(--ck-color-base-border); + } + + .ck.ck-color-grid__tile.ck-on { + box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text); + } + + .ck.ck-color-grid__tile:focus:not(.ck-disabled), .ck.ck-color-grid__tile:hover:not(.ck-disabled) { + box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border); + } +} + +@media (forced-colors: active) { + .ck.ck-color-grid__tile { + width: unset; + height: unset; + min-width: unset; + min-height: unset; + padding: 0 var(--ck-spacing-small); + } + + .ck.ck-color-grid__tile .ck-button__label { + display: inline-block; + } +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-color-grid__tile { + transition: none; + } +} + +.ck.ck-color-grid__tile.ck-disabled { + cursor: unset; + transition: unset; +} + +.ck.ck-color-grid__tile .ck.ck-icon { + color: var(--ck-color-color-grid-check-icon); + display: none; +} + +.ck.ck-color-grid__tile.ck-on .ck.ck-icon { + display: block; +} + +.ck.ck-color-grid__label { + padding: 0 var(--ck-spacing-standard); +} + +.color-picker-hex-input { + width: max-content; +} + +.color-picker-hex-input .ck.ck-input { + min-width: unset; +} + +.ck.ck-color-picker__row { + margin: var(--ck-spacing-large) 0 0; + width: unset; + flex-flow: row; + justify-content: space-between; + display: flex; +} + +.ck.ck-color-picker__row .ck.ck-labeled-field-view { + padding-top: unset; +} + +.ck.ck-color-picker__row .ck.ck-input-text { + width: unset; +} + +.ck.ck-color-picker__row .ck-color-picker__hash-view { + padding-top: var(--ck-spacing-tiny); + padding-right: var(--ck-spacing-medium); +} + +.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color, .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker { + align-items: center; + width: 100%; + display: flex; +} + +[dir="rtl"] :is(.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color, .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker) { + justify-content: flex-start; +} + +.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker { + padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard); + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus) { + border-top: 1px solid var(--ck-color-base-border); +} + +[dir="ltr"] :is(.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon) { + margin-right: var(--ck-spacing-standard); +} + +[dir="rtl"] :is(.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon) { + margin-left: var(--ck-spacing-standard); +} + +.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label { + font-weight: unset; +} + +.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker { + padding: 8px; +} + +.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker { + min-width: 180px; + height: 100px; +} + +.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation) { + border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0; +} + +.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue) { + border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius); +} + +.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer), .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer) { + width: 15px; + height: 15px; +} + +.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar { + flex-direction: row; + justify-content: space-around; + padding: 0 8px 8px; + display: flex; +} + +.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save, .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel { + flex: 1; +} + +:root { + --ck-dialog-overlay-background-color: #00000080; + --ck-dialog-drop-shadow: 0px 0px 6px 2px #00000026; + --ck-dialog-max-width: 100vw; + --ck-dialog-max-height: 90vh; + --ck-color-dialog-background: var(--ck-color-base-background); + --ck-color-dialog-form-header-border: var(--ck-color-base-border); +} + +.ck.ck-dialog-overlay { + background: var(--ck-dialog-overlay-background-color); + z-index: var(--ck-z-dialog); + user-select: none; + overscroll-behavior: none; + animation: .3s ck-dialog-fade-in; + position: fixed; + inset: 0; +} + +.ck.ck-dialog-overlay.ck-dialog-overlay__transparent { + pointer-events: none; + background: none; + animation: none; +} + +.ck.ck-dialog { + border-radius: var(--ck-rounded-corners-radius); + box-shadow: var(--ck-drop-shadow), 0 0; + --ck-drop-shadow: var(--ck-dialog-drop-shadow); + background: var(--ck-color-dialog-background); + max-height: var(--ck-dialog-max-height); + max-width: var(--ck-dialog-max-width); + border: 1px solid var(--ck-color-base-border); + overscroll-behavior: contain; + overscroll-behavior: none; + width: fit-content; + position: absolute; +} + +.ck.ck-dialog .ck.ck-form__header { + border-bottom: 1px solid var(--ck-color-dialog-form-header-border); + flex-shrink: 0; +} + +.ck.ck-dialog:not(.ck-dialog_modal) .ck.ck-form__header .ck-form__header__label { + cursor: grab; +} + +.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog { + pointer-events: all; +} + +.ck-dialog-scroll-locked { + overflow: hidden; +} + +@keyframes ck-dialog-fade-in { + 0% { + background: none; + } + + 100% { + background: var(--ck-dialog-overlay-background-color); + } +} + +.ck.ck-dialog .ck.ck-dialog__actions { + padding: var(--ck-spacing-large); + display: flex; +} + +.ck.ck-dialog .ck.ck-dialog__actions > * + * { + margin-left: var(--ck-spacing-large); +} + +.ck.ck-dialog .ck.ck-dialog__actions { + justify-content: flex-end; +} + +:root { + --ck-dropdown-arrow-size: calc(.5 * var(--ck-icon-size)); + --ck-dropdown-max-width: 75vw; +} + +.ck.ck-dropdown { + font-size: inherit; + display: inline-block; + position: relative; +} + +.ck.ck-dropdown .ck-dropdown__arrow { + width: var(--ck-dropdown-arrow-size); + pointer-events: none; + z-index: var(--ck-z-default); +} + +[dir="ltr"] .ck.ck-dropdown .ck-dropdown__arrow { + right: var(--ck-spacing-standard); + margin-left: var(--ck-spacing-standard); +} + +[dir="rtl"] .ck.ck-dropdown .ck-dropdown__arrow { + left: var(--ck-spacing-standard); + margin-right: var(--ck-spacing-small); +} + +.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow { + opacity: var(--ck-disabled-opacity); +} + +[dir="ltr"] :is(.ck.ck-dropdown .ck-button.ck-dropdown__button):not(.ck-button_with-text) { + padding-left: var(--ck-spacing-small); +} + +[dir="rtl"] :is(.ck.ck-dropdown .ck-button.ck-dropdown__button):not(.ck-button_with-text) { + padding-right: var(--ck-spacing-small); +} + +.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label { + text-overflow: ellipsis; + width: 7em; + overflow: hidden; +} + +.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label { + opacity: var(--ck-disabled-opacity); +} + +.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label { + width: auto; +} + +.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active, .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active { + box-shadow: none; +} + +:is(.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active, .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active):focus { + box-shadow: var(--ck-focus-outer-shadow), 0 0; +} + +.ck.ck-dropdown .ck-button.ck-dropdown__button { + width: 100%; +} + +.ck.ck-dropdown .ck-dropdown__panel { + z-index: var(--ck-z-panel); + max-width: var(--ck-dropdown-max-width); + display: none; + position: absolute; +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible { + display: inline-block; +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme { + bottom: 100%; +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s { + top: 100%; + bottom: auto; +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se { + left: 0; +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw { + right: 0; +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n { + left: 50%; + transform: translateX(-50%); +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw { + left: 75%; + transform: translateX(-75%); +} + +.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme, .ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme { + left: 25%; + transform: translateX(-25%); +} + +.ck.ck-dropdown__panel { + border-radius: var(--ck-rounded-corners-radius); + box-shadow: var(--ck-drop-shadow), 0 0; + background: var(--ck-color-dropdown-panel-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + min-width: 100%; + bottom: 0; +} + +.ck.ck-dropdown__panel.ck-dropdown__panel_se { + border-top-left-radius: 0; +} + +.ck.ck-dropdown__panel.ck-dropdown__panel_sw { + border-top-right-radius: 0; +} + +.ck.ck-dropdown__panel.ck-dropdown__panel_ne { + border-bottom-left-radius: 0; +} + +.ck.ck-dropdown__panel.ck-dropdown__panel_nw { + border-bottom-right-radius: 0; +} + +.ck.ck-dropdown__panel:focus { + outline: none; +} + +.ck.ck-toolbar .ck-dropdown__panel { + z-index: calc(var(--ck-z-panel) + 1); +} + +:root { + --ck-color-split-button-hover-background: #ebebeb; + --ck-color-split-button-hover-border: #b3b3b3; +} + +.ck.ck-splitbutton .ck-splitbutton__action:focus { + z-index: calc(var(--ck-z-default) + 1); +} + +[dir="ltr"] :is(.ck.ck-splitbutton:hover > .ck-splitbutton__action, .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action) { + border-top-right-radius: unset; + border-bottom-right-radius: unset; +} + +[dir="rtl"] :is(.ck.ck-splitbutton:hover > .ck-splitbutton__action, .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action) { + border-top-left-radius: unset; + border-bottom-left-radius: unset; +} + +.ck.ck-splitbutton > .ck-splitbutton__arrow { + min-width: unset; +} + +[dir="ltr"] :is(.ck.ck-splitbutton > .ck-splitbutton__arrow) { + border-top-left-radius: unset; + border-bottom-left-radius: unset; +} + +[dir="rtl"] :is(.ck.ck-splitbutton > .ck-splitbutton__arrow) { + border-top-right-radius: unset; + border-bottom-right-radius: unset; +} + +.ck.ck-splitbutton > .ck-splitbutton__arrow svg { + width: var(--ck-dropdown-arrow-size); +} + +.ck.ck-splitbutton > .ck-splitbutton__arrow:not(:focus) { + border-top-width: 0; + border-bottom-width: 0; +} + +.ck.ck-splitbutton.ck-splitbutton_open { + border-radius: var(--ck-rounded-corners-radius); +} + +.ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action { + border-bottom-left-radius: 0; +} + +.ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow { + border-bottom-right-radius: 0; +} + +:is(.ck.ck-splitbutton.ck-splitbutton_open, .ck.ck-splitbutton:hover) > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) { + background: var(--ck-color-split-button-hover-background); +} + +:is(.ck.ck-splitbutton.ck-splitbutton_open, .ck.ck-splitbutton:hover) > .ck-splitbutton__arrow:not(.ck-disabled):after { + content: ""; + background-color: var(--ck-color-split-button-hover-border); + width: 1px; + height: 100%; + position: absolute; +} + +:is(.ck.ck-splitbutton.ck-splitbutton_open, .ck.ck-splitbutton:hover) > .ck-splitbutton__arrow:focus:after { + --ck-color-split-button-hover-border: var(--ck-color-focus-border); +} + +[dir="ltr"] :is(.ck.ck-splitbutton.ck-splitbutton_open, .ck.ck-splitbutton:hover) > .ck-splitbutton__arrow:not(.ck-disabled):after { + left: -1px; +} + +[dir="rtl"] :is(.ck.ck-splitbutton.ck-splitbutton_open, .ck.ck-splitbutton:hover) > .ck-splitbutton__arrow:not(.ck-disabled):after { + right: -1px; +} + +.ck.ck-splitbutton { + font-size: inherit; +} + +.ck.ck-toolbar-dropdown .ck-toolbar { + border: 0; +} + +:root { + --ck-toolbar-dropdown-max-width: 60vw; +} + +.ck.ck-toolbar-dropdown > .ck-dropdown__panel { + width: max-content; + max-width: var(--ck-toolbar-dropdown-max-width); +} + +.ck.ck-toolbar-dropdown > .ck-dropdown__panel .ck-button:focus { + z-index: calc(var(--ck-z-default) + 1); +} + +.ck.ck-dropdown > .ck-dropdown__panel > .ck-list { + border-radius: var(--ck-rounded-corners-radius); + border-top-left-radius: 0; +} + +.ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:first-child > .ck-button { + border-radius: var(--ck-rounded-corners-radius); + border-top-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:last-child > .ck-button { + border-radius: var(--ck-rounded-corners-radius); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.ck.ck-dropdown-menu-list__nested-menu { + display: block; +} + +:root { + --ck-dropdown-menu-menu-item-min-width: 18em; +} + +.ck.ck-dropdown-menu-list__nested-menu__item { + min-width: var(--ck-dropdown-menu-menu-item-min-width); +} + +.ck-button.ck-dropdown-menu-list__nested-menu__item__button { + border-radius: 0; +} + +.ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container, .ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container .ck-spinner { + --ck-toolbar-spinner-size: 20px; +} + +.ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container { + margin-left: calc(-1 * var(--ck-spacing-small)); + margin-right: var(--ck-spacing-small); +} + +.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus { + box-shadow: none; + border-color: #0000; +} + +.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus:not(.ck-on) { + background: var(--ck-color-button-default-hover-background); +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button { + width: 100%; + padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard)); + border-radius: 0; +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus { + box-shadow: none; + border-color: #0000; +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus:not(.ck-on) { + background: var(--ck-color-button-default-hover-background); +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-button__label { + text-overflow: ellipsis; + flex-grow: 1; + overflow: hidden; +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled > .ck-button__label { + opacity: var(--ck-disabled-opacity); +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-icon-spacing:not(:has(.ck-button__icon)) > .ck-button__label { + margin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small)); +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow { + width: var(--ck-dropdown-arrow-size); + pointer-events: none; + z-index: var(--ck-z-default); +} + +[dir="ltr"] :is(.ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow) { + right: var(--ck-spacing-standard); + margin-left: var(--ck-spacing-standard); + margin-right: calc(-1 * var(--ck-spacing-small)); + transform: rotate(-90deg); +} + +[dir="rtl"] :is(.ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow) { + left: var(--ck-spacing-standard); + margin-right: var(--ck-spacing-small); + margin-left: calc(-1 * var(--ck-spacing-small)); + transform: rotate(90deg); +} + +.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled > .ck-dropdown-menu-list__nested-menu__button__arrow { + opacity: var(--ck-disabled-opacity); +} + +[dir="ltr"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text) { + padding-left: var(--ck-spacing-small); +} + +[dir="rtl"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text) { + padding-right: var(--ck-spacing-small); +} + +:root { + --ck-dropdown-menu-menu-panel-max-width: 75vw; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel { + box-shadow: var(--ck-drop-shadow), 0 0; + background: var(--ck-color-dropdown-panel-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + height: fit-content; + max-width: var(--ck-dropdown-menu-menu-panel-max-width); + max-height: 314px; + position: absolute; + bottom: 0; + overflow-y: auto; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:after, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:before { + display: none; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_es, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_se { + border-top-left-radius: 0; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ws, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_sw { + border-top-right-radius: 0; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_en, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ne { + border-bottom-left-radius: 0; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_wn, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_nw { + border-bottom-right-radius: 0; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:focus { + outline: none; +} + +.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel { + z-index: calc(var(--ck-z-panel) + 1); +} + +:root { + --ck-color-editable-blur-selection: #d9d9d9; +} + +.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content { + border-radius: var(--ck-rounded-corners-radius); + border: 1px solid var(--ck-color-base-border); + border-bottom-width: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content.ck-sticky-panel__content_sticky { + border-bottom-width: 1px; +} + +.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-menu-bar { + border: 0; + border-bottom: 1px solid var(--ck-color-base-border); +} + +.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-toolbar { + border: 0; +} + +.ck.ck-editor__editable:not(.ck-editor__nested-editable) { + border-radius: var(--ck-rounded-corners-radius); +} + +.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused { + border: var(--ck-focus-ring); + box-shadow: var(--ck-inner-shadow), 0 0; + outline: none; +} + +.ck.ck-editor__editable_inline { + padding: 0 var(--ck-spacing-standard); + border: 1px solid #0000; + overflow: auto; +} + +.ck.ck-editor__editable_inline[dir="ltr"] { + text-align: left; +} + +.ck.ck-editor__editable_inline[dir="rtl"] { + text-align: right; +} + +.ck.ck-editor__editable_inline > :first-child { + margin-top: var(--ck-spacing-large); +} + +.ck.ck-editor__editable_inline > :last-child { + margin-bottom: var(--ck-spacing-large); +} + +.ck.ck-editor__editable_inline.ck-blurred ::selection { + background: var(--ck-color-editable-blur-selection); +} + +.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"]:after { + border-bottom-color: var(--ck-color-panel-background); +} + +.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"]:after { + border-top-color: var(--ck-color-panel-background); +} + +.ck.ck-form__row { + padding: var(--ck-spacing-standard) var(--ck-spacing-large) 0; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + display: flex; +} + +.ck.ck-form__row.ck-form__row_large-top-padding { + padding-top: var(--ck-spacing-large); +} + +.ck.ck-form__row.ck-form__row_large-bottom-padding { + padding-bottom: var(--ck-spacing-large); +} + +.ck.ck-form__row.ck-form__row_with-submit { + flex-wrap: nowrap; +} + +.ck.ck-form__row.ck-form__row_with-submit > :not(:first-child) { + margin-inline-start: var(--ck-spacing-standard); +} + +.ck.ck-form__row > .ck.ck-form__row { + padding: 0; +} + +:root { + --ck-form-header-height: 3.384em; +} + +.ck.ck-form__header { + padding: var(--ck-spacing-small) var(--ck-spacing-large); + height: var(--ck-form-header-height); + line-height: var(--ck-form-header-height); + border-bottom: 1px solid var(--ck-color-base-border); + flex-flow: row; + flex-shrink: 0; + justify-content: space-between; + align-items: center; + display: flex; +} + +.ck.ck-form__header > .ck-icon { + flex-shrink: 0; + margin-inline-end: var(--ck-spacing-medium); +} + +.ck.ck-form__header .ck-form__header__label { + --ck-font-size-base: 1.153em; + font-weight: bold; +} + +.ck.ck-form__header:has(.ck-button-back.ck-hidden) { + padding-inline: var(--ck-spacing-large) var(--ck-spacing-large); +} + +.ck.ck-form__header:has(.ck-button-back:not(.ck-hidden)) { + padding-inline: var(--ck-spacing-small) var(--ck-spacing-small); +} + +.ck.ck-form__header > .ck-button-back { + margin-inline-end: var(--ck-spacing-small); +} + +.ck.ck-form__header > .ck.ck-button { + flex-shrink: 0; +} + +.ck.ck-form__header h2.ck-form__header__label { + text-overflow: ellipsis; + flex-grow: 1; + overflow: hidden; +} + +:root { + --ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal)); + --ck-icon-font-size: .833335em; +} + +.ck.ck-icon { + width: var(--ck-icon-size); + height: var(--ck-icon-size); + font-size: var(--ck-icon-font-size); + cursor: inherit; +} + +.ck.ck-icon * { + cursor: inherit; +} + +.ck.ck-icon.ck-icon_inherit-color { + color: inherit; +} + +.ck.ck-icon.ck-icon_inherit-color * { + color: inherit; +} + +.ck.ck-icon.ck-icon_inherit-color *:not([fill]) { + fill: currentColor; +} + +.ck.ck-icon { + vertical-align: middle; +} + +:root { + --ck-input-width: 18em; + --ck-input-text-width: var(--ck-input-width); +} + +.ck.ck-input { + border-radius: var(--ck-rounded-corners-radius); + background: var(--ck-color-input-background); + border: 1px solid var(--ck-color-input-border); + padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium); + min-width: var(--ck-input-width); + min-height: var(--ck-ui-component-min-height); + transition: box-shadow .1s ease-in-out, border .1s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-input { + transition: none; + } +} + +.ck.ck-input:focus { + border: var(--ck-focus-ring); + box-shadow: var(--ck-focus-outer-shadow), 0 0; + outline: none; +} + +.ck.ck-input[readonly] { + border: 1px solid var(--ck-color-input-disabled-border); + background: var(--ck-color-input-disabled-background); + color: var(--ck-color-input-disabled-text); +} + +.ck.ck-input[readonly]:focus { + box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0; +} + +.ck.ck-input.ck-error { + border-color: var(--ck-color-input-error-border); + animation: .3s both ck-input-shake; +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-input.ck-error { + animation: none; + } +} + +.ck.ck-input.ck-error:focus { + box-shadow: var(--ck-focus-error-outer-shadow), 0 0; +} + +@keyframes ck-input-shake { + 20% { + transform: translateX(-2px); + } + + 40% { + transform: translateX(2px); + } + + 60% { + transform: translateX(-1px); + } + + 80% { + transform: translateX(1px); + } +} + +.ck-textarea { + overflow-x: hidden; +} + +.ck.ck-label { + font-weight: bold; + display: block; +} + +.ck.ck-voice-label { + display: none; +} + +:root { + --ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, .24, .95); + --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium); + --ck-labeled-field-label-default-position-x: var(--ck-spacing-medium); + --ck-labeled-field-label-default-position-y: calc(.6 * var(--ck-font-size-base)); + --ck-color-labeled-field-label-background: var(--ck-color-base-background); +} + +.ck.ck-labeled-field-view { + border-radius: var(--ck-rounded-corners-radius); +} + +.ck.ck-labeled-field-view .ck.ck-label { + display: block; + position: absolute; +} + +.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper { + width: 100%; + display: flex; +} + +.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + pointer-events: none; + background: var(--ck-color-labeled-field-label-background); + padding: 0 calc(.5 * var(--ck-font-size-tiny)); + line-height: initial; + text-overflow: ellipsis; + max-width: 100%; + transition: transform var(--ck-labeled-field-view-transition), + padding var(--ck-labeled-field-view-transition), + background var(--ck-labeled-field-view-transition); + font-weight: normal; + top: 0; + overflow: hidden; +} + +[dir="ltr"] :is(.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label) { + transform-origin: 0 0; + transform: translate(var(--ck-spacing-medium), -6px) scale(.75); + left: 0; +} + +[dir="rtl"] :is(.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label) { + transform-origin: 100% 0; + transform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75); + right: 0; +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + transition: none; + } +} + +.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper { + position: relative; +} + +.ck.ck-labeled-field-view.ck-error > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, .ck.ck-labeled-field-view.ck-error .ck-input:not([readonly]) + .ck.ck-label { + color: var(--ck-color-base-error); +} + +.ck.ck-labeled-field-view .ck-labeled-field-view__status { + font-size: var(--ck-font-size-small); + margin-top: var(--ck-spacing-small); + white-space: normal; +} + +.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error { + color: var(--ck-color-base-error); +} + +.ck.ck-labeled-field-view.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + color: var(--ck-color-input-disabled-text); +} + +[dir="ltr"] :is(.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label) { + transform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1); +} + +[dir="rtl"] :is(.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label) { + transform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1); +} + +.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width)); + background: none; + padding: 0; +} + +.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button { + background: none; +} + +.ck.ck-labeled-field-view.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label { + opacity: 0; +} + +.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label { + max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard)); +} + +.ck.ck-labeled-field-view.ck-labeled-field-view_full-width { + flex-grow: 1; +} + +.ck.ck-labeled-input .ck-labeled-input__status { + font-size: var(--ck-font-size-small); + margin-top: var(--ck-spacing-small); + white-space: normal; +} + +.ck.ck-labeled-input .ck-labeled-input__status_error { + color: var(--ck-color-base-error); +} + +.ck.ck-list { + border-radius: var(--ck-rounded-corners-radius); + background: var(--ck-color-list-background); + padding: var(--ck-spacing-small) 0; + -webkit-user-select: none; + user-select: none; + flex-direction: column; + list-style-type: none; + display: flex; +} + +.ck.ck-list .ck-list__item, .ck.ck-list .ck-list__separator { + display: block; +} + +.ck.ck-list .ck-list__item > :focus { + z-index: var(--ck-z-default); + position: relative; +} + +.ck.ck-list__item { + cursor: default; + min-width: 15em; +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button) { + padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard)); + min-height: unset; + border-radius: 0; + width: 100%; +} + +[dir="ltr"] :is(.ck.ck-list__item > .ck-button:not(.ck-list-item-button)) { + text-align: left; +} + +[dir="rtl"] :is(.ck.ck-list__item > .ck-button:not(.ck-list-item-button)) { + text-align: right; +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button) .ck-button__label { + line-height: calc(var(--ck-line-height-base) * var(--ck-font-size-base)); +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button):active { + box-shadow: none; +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button).ck-on { + background: var(--ck-color-list-button-on-background); + color: var(--ck-color-list-button-on-text); +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button).ck-on:active { + box-shadow: none; +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button).ck-on:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-on-background-focus); +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button).ck-on:focus:not(.ck-disabled) { + border-color: var(--ck-color-base-background); +} + +.ck.ck-list__item > .ck-button:not(.ck-list-item-button):hover:not(.ck-disabled) { + background: var(--ck-color-list-button-hover-background); +} + +.ck.ck-list__item > .ck-button.ck-switchbutton.ck-on { + background: var(--ck-color-list-background); + color: inherit; +} + +.ck.ck-list__item > .ck-button.ck-switchbutton.ck-on:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-hover-background); + color: inherit; +} + +.ck-list .ck-list__group { + padding-top: var(--ck-spacing-medium); +} + +.ck-list .ck-list__group:first-child { + padding-top: 0; +} + +:not(.ck-hidden) ~ :is(.ck-list .ck-list__group) { + border-top: 1px solid var(--ck-color-base-border); +} + +.ck-list .ck-list__group > .ck-label { + padding: var(--ck-spacing-medium) var(--ck-spacing-large) 0; + font-size: 11px; + font-weight: bold; +} + +.ck.ck-list__separator { + background: var(--ck-color-base-border); + width: 100%; + height: 1px; + margin: var(--ck-spacing-small) 0; +} + +:root { + --ck-balloon-border-width: 1px; + --ck-balloon-arrow-offset: 2px; + --ck-balloon-arrow-height: 10px; + --ck-balloon-arrow-half-width: 8px; + --ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop); + --ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3); +} + +.ck.ck-balloon-panel { + border-radius: var(--ck-rounded-corners-radius); + box-shadow: var(--ck-drop-shadow), 0 0; + background: var(--ck-color-panel-background); + border: var(--ck-balloon-border-width) solid var(--ck-color-panel-border); + min-height: 15px; + z-index: var(--ck-z-panel); + display: none; + position: absolute; +} + +.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before, .ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after { + content: ""; + border-style: solid; + width: 0; + height: 0; + position: absolute; +} + +.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before { + z-index: var(--ck-balloon-panel-arrow-z-index); +} + +.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after { + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); +} + +.ck.ck-balloon-panel[class*="arrow_n"]:before, .ck.ck-balloon-panel[class*="arrow_n"]:after { + border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width); +} + +.ck.ck-balloon-panel[class*="arrow_n"]:before { + border-color: transparent transparent var(--ck-color-panel-border) transparent; + margin-top: calc(-1 * var(--ck-balloon-border-width)); + z-index: var(--ck-balloon-panel-arrow-z-index); +} + +.ck.ck-balloon-panel[class*="arrow_n"]:after { + border-color: transparent transparent var(--ck-color-panel-background) transparent; + margin-top: calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width)); + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); +} + +.ck.ck-balloon-panel[class*="arrow_s"]:before, .ck.ck-balloon-panel[class*="arrow_s"]:after { + border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width); +} + +.ck.ck-balloon-panel[class*="arrow_s"]:before { + border-color: var(--ck-color-panel-border) transparent transparent; + filter: drop-shadow(var(--ck-balloon-arrow-drop-shadow)); + margin-bottom: calc(-1 * var(--ck-balloon-border-width)); + z-index: var(--ck-balloon-panel-arrow-z-index); +} + +.ck.ck-balloon-panel[class*="arrow_s"]:after { + border-color: var(--ck-color-panel-background) transparent transparent transparent; + margin-bottom: calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width)); + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); +} + +.ck.ck-balloon-panel[class*="arrow_e"]:before, .ck.ck-balloon-panel[class*="arrow_e"]:after { + border-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height); +} + +.ck.ck-balloon-panel[class*="arrow_e"]:before { + border-color: transparent transparent transparent var(--ck-color-panel-border); + margin-right: calc(-1 * var(--ck-balloon-border-width)); +} + +.ck.ck-balloon-panel[class*="arrow_e"]:after { + border-color: transparent transparent transparent var(--ck-color-panel-background); + margin-right: calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width)); +} + +.ck.ck-balloon-panel[class*="arrow_w"]:before, .ck.ck-balloon-panel[class*="arrow_w"]:after { + border-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0; +} + +.ck.ck-balloon-panel[class*="arrow_w"]:before { + border-color: transparent var(--ck-color-panel-border) transparent transparent; + margin-left: calc(-1 * var(--ck-balloon-border-width)); +} + +.ck.ck-balloon-panel[class*="arrow_w"]:after { + border-color: transparent var(--ck-color-panel-background) transparent transparent; + margin-left: calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after { + margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); + left: 50%; + top: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after { + left: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after { + right: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after { + margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); + left: 50%; + bottom: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after { + left: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after { + right: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after { + margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); + right: 25%; + bottom: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after { + margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); + left: 25%; + bottom: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after { + margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); + right: 25%; + top: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after { + margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); + left: 25%; + top: calc(-1 * var(--ck-balloon-arrow-height)); +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after { + right: calc(-1 * var(--ck-balloon-arrow-height)); + margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: 50%; +} + +.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after { + left: calc(-1 * var(--ck-balloon-arrow-height)); + margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: 50%; +} + +.ck.ck-balloon-panel.ck-balloon-panel_visible { + display: block; +} + +.ck .ck-balloon-rotator__navigation { + background: var(--ck-color-toolbar-background); + border-bottom: 1px solid var(--ck-color-toolbar-border); + padding: 0 var(--ck-spacing-small); + align-items: center; + display: flex; +} + +.ck .ck-balloon-rotator__navigation > * { + margin-right: var(--ck-spacing-small); + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); +} + +.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter { + margin-right: var(--ck-spacing-standard); + margin-left: var(--ck-spacing-small); +} + +.ck .ck-balloon-rotator__navigation { + justify-content: center; +} + +.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper { + box-shadow: none; +} + +.ck .ck-balloon-rotator__content .ck-toolbar { + justify-content: center; +} + +:root { + --ck-balloon-fake-panel-offset-horizontal: 6px; + --ck-balloon-fake-panel-offset-vertical: 6px; +} + +.ck .ck-fake-panel div { + box-shadow: var(--ck-drop-shadow), 0 0; + background: var(--ck-color-panel-background); + border: 1px solid var(--ck-color-panel-border); + border-radius: var(--ck-border-radius); + width: 100%; + height: 100%; + min-height: 15px; + position: absolute; +} + +.ck .ck-fake-panel div:first-child { + margin-left: var(--ck-balloon-fake-panel-offset-horizontal); + margin-top: var(--ck-balloon-fake-panel-offset-vertical); + z-index: 2; +} + +.ck .ck-fake-panel div:nth-child(2) { + margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2); + margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2); + z-index: 1; +} + +.ck .ck-fake-panel div:nth-child(3) { + margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3); + margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3); +} + +.ck .ck-fake-panel { + z-index: calc(var(--ck-z-panel) - 1); + position: absolute; +} + +.ck .ck-balloon-panel_arrow_s + .ck-fake-panel, .ck .ck-balloon-panel_arrow_se + .ck-fake-panel, .ck .ck-balloon-panel_arrow_sw + .ck-fake-panel { + --ck-balloon-fake-panel-offset-vertical: -6px; +} + +.ck.ck-sticky-panel .ck-sticky-panel__content_sticky { + box-shadow: var(--ck-drop-shadow), 0 0; + z-index: var(--ck-z-panel); + border-width: 0 1px 1px; + border-top-left-radius: 0; + border-top-right-radius: 0; + position: fixed; + top: 0; +} + +.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit { + position: absolute; + top: auto; +} + +.ck.ck-autocomplete > .ck-search__results { + border-radius: var(--ck-rounded-corners-radius); + box-shadow: var(--ck-drop-shadow), 0 0; + background: var(--ck-color-base-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + min-width: auto; + max-height: 200px; + position: absolute; + overflow-y: auto; +} + +.ck.ck-autocomplete > .ck-search__results.ck-search__results_n { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + margin-bottom: -1px; + bottom: 100%; +} + +.ck.ck-autocomplete > .ck-search__results.ck-search__results_s { + border-top-left-radius: 0; + border-top-right-radius: 0; + margin-top: -1px; + top: 100%; + bottom: auto; +} + +.ck.ck-autocomplete > .ck-search__results { + z-index: var(--ck-z-panel); +} + +.ck.ck-autocomplete { + position: relative; +} + +:root { + --ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium)); +} + +.ck.ck-search > .ck-labeled-field-view .ck-input { + width: 100%; +} + +.ck.ck-search > .ck-labeled-field-view > .ck-labeled-field-view__input-wrapper > .ck-icon { + position: absolute; + top: 50%; + transform: translateY(-50%); +} + +[dir="ltr"] :is(.ck.ck-search > .ck-labeled-field-view > .ck-labeled-field-view__input-wrapper > .ck-icon) { + left: var(--ck-spacing-medium); +} + +[dir="rtl"] :is(.ck.ck-search > .ck-labeled-field-view > .ck-labeled-field-view__input-wrapper > .ck-icon) { + right: var(--ck-spacing-medium); +} + +.ck.ck-search > .ck-labeled-field-view .ck-search__reset { + position: absolute; + top: 50%; + transform: translateY(-50%); +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon { + --ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing); +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon > .ck-labeled-field-view__input-wrapper > .ck-icon { + opacity: .5; + pointer-events: none; +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input { + width: 100%; +} + +[dir="ltr"] :is(.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input) { + padding-left: var(--ck-search-field-view-horizontal-spacing); +} + +[dir="rtl"] :is(.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input):not(.ck-input-text_empty) { + padding-left: var(--ck-search-field-view-horizontal-spacing); +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset { + --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing); +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty { + --ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium); +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset { + opacity: .5; + background: none; + min-width: auto; + min-height: auto; + padding: 0; +} + +[dir="ltr"] :is(.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset) { + right: var(--ck-spacing-medium); +} + +[dir="rtl"] :is(.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset) { + left: var(--ck-spacing-medium); +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover { + opacity: 1; +} + +.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input { + width: 100%; +} + +[dir="ltr"] :is(.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input):not(.ck-input-text_empty) { + padding-right: var(--ck-search-field-view-horizontal-spacing); +} + +[dir="rtl"] :is(.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input) { + padding-right: var(--ck-search-field-view-horizontal-spacing); +} + +.ck.ck-search > .ck-search__results { + min-width: 100%; +} + +.ck.ck-search > .ck-search__results > .ck-search__info { + width: 100%; + padding: var(--ck-spacing-medium) var(--ck-spacing-large); +} + +.ck.ck-search > .ck-search__results > .ck-search__info * { + white-space: normal; +} + +.ck.ck-search > .ck-search__results > .ck-search__info > span:first-child { + font-weight: bold; + display: block; +} + +.ck.ck-search > .ck-search__results > .ck-search__info > span:last-child { + margin-top: var(--ck-spacing-medium); +} + +.ck.ck-search > .ck-search__results > .ck-search__info:not(.ck-hidden) ~ * { + display: none; +} + +.ck.ck-highlighted-text mark { + background: var(--ck-color-highlight-background); + vertical-align: initial; + font-weight: inherit; + line-height: inherit; + font-size: inherit; +} + +.ck.ck-balloon-panel.ck-tooltip { + --ck-balloon-border-width: 0px; + --ck-balloon-arrow-offset: 0px; + --ck-balloon-arrow-half-width: 4px; + --ck-balloon-arrow-height: 4px; + --ck-tooltip-text-padding: 4px; + --ck-color-panel-background: var(--ck-color-tooltip-background); + padding: 0 var(--ck-spacing-medium); + box-shadow: none; + -webkit-user-select: none; + user-select: none; +} + +.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text { + color: var(--ck-color-tooltip-text); + font-size: .9em; + line-height: 1.5; +} + +.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text { + white-space: break-spaces; + padding: var(--ck-tooltip-text-padding) 0; + max-width: 200px; + display: inline-block; +} + +.ck.ck-balloon-panel.ck-tooltip:before { + display: none; +} + +.ck.ck-balloon-panel.ck-tooltip { + z-index: calc(var(--ck-z-dialog) + 100); +} + +:root { + --ck-toolbar-spinner-size: 18px; +} + +.ck.ck-spinner-container { + width: var(--ck-toolbar-spinner-size); + height: var(--ck-toolbar-spinner-size); + animation: 1.5s linear infinite ck-spinner-rotate; + display: block; +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-spinner-container { + animation-duration: 3s; + } +} + +.ck.ck-spinner-container { + position: relative; +} + +.ck.ck-spinner { + width: var(--ck-toolbar-spinner-size); + height: var(--ck-toolbar-spinner-size); + border: 2px solid var(--ck-color-text); + z-index: 1; + border-top-color: #0000; + border-radius: 50%; + margin: 0 auto; + position: absolute; + top: 50%; + left: 0; + right: 0; + transform: translateY(-50%); +} + +@keyframes ck-spinner-rotate { + to { + transform: rotate(360deg); + } +} + +.ck.ck-toolbar { + border-radius: var(--ck-rounded-corners-radius); + background: var(--ck-color-toolbar-background); + padding: 0 var(--ck-spacing-small); + border: 1px solid var(--ck-color-toolbar-border); + -webkit-user-select: none; + user-select: none; + flex-flow: row; + align-items: center; + display: flex; +} + +.ck.ck-toolbar .ck.ck-toolbar__separator { + height: var(--ck-icon-size); + background: var(--ck-color-toolbar-border); + width: 1px; + min-width: 1px; + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); + display: inline-block; +} + +.ck.ck-toolbar .ck.ck-toolbar__separator:first-child, .ck.ck-toolbar .ck.ck-toolbar__separator:last-child { + display: none; +} + +.ck.ck-toolbar .ck-toolbar__line-break { + flex-basis: 100%; + height: 0; +} + +.ck.ck-toolbar > .ck-toolbar__items > :not(.ck-toolbar__line-break) { + margin-right: var(--ck-spacing-small); +} + +.ck.ck-toolbar > .ck-toolbar__items:empty + .ck.ck-toolbar__separator { + display: none; +} + +.ck.ck-toolbar > .ck-toolbar__items { + flex-flow: wrap; + flex-grow: 1; + align-items: center; + display: flex; +} + +.ck.ck-toolbar > .ck-toolbar__items > :not(.ck-toolbar__line-break), .ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown { + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); +} + +.ck.ck-toolbar.ck-toolbar_vertical { + padding: 0; +} + +.ck.ck-toolbar.ck-toolbar_vertical > .ck-toolbar__items > .ck { + border-radius: 0; + width: 100%; + margin: 0; +} + +.ck.ck-toolbar.ck-toolbar_compact { + padding: 0; +} + +.ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > * { + margin: 0; +} + +.ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > *:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown > .ck.ck-button.ck-dropdown__button { + padding-left: var(--ck-spacing-tiny); +} + +.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown > .ck-dropdown__button .ck-dropdown__arrow { + display: none; +} + +.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown > .ck-dropdown__panel { + min-width: auto; +} + +.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown > .ck-button > .ck-button__label { + width: auto; + max-width: 7em; +} + +.ck.ck-toolbar:focus { + outline: none; +} + +.ck-toolbar-container .ck.ck-toolbar { + border: 0; +} + +.ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items { + flex-wrap: nowrap; +} + +.ck.ck-toolbar.ck-toolbar_vertical > .ck-toolbar__items { + flex-direction: column; +} + +.ck.ck-toolbar.ck-toolbar_floating > .ck-toolbar__items { + flex-wrap: nowrap; +} + +:is([dir="rtl"] .ck.ck-toolbar, .ck.ck-toolbar[dir="rtl"]) > .ck-toolbar__items > .ck { + margin-right: 0; +} + +:is([dir="rtl"] .ck.ck-toolbar, .ck.ck-toolbar[dir="rtl"]):not(.ck-toolbar_compact) > .ck-toolbar__items > .ck { + margin-left: var(--ck-spacing-small); +} + +:is([dir="rtl"] .ck.ck-toolbar, .ck.ck-toolbar[dir="rtl"]) > .ck-toolbar__items > .ck:last-child { + margin-left: 0; +} + +:is([dir="rtl"] .ck.ck-toolbar, .ck.ck-toolbar[dir="rtl"]).ck-toolbar_compact > .ck-toolbar__items > .ck:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +:is([dir="rtl"] .ck.ck-toolbar, .ck.ck-toolbar[dir="rtl"]).ck-toolbar_compact > .ck-toolbar__items > .ck:last-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +:is([dir="rtl"] .ck.ck-toolbar, .ck.ck-toolbar[dir="rtl"]) > .ck.ck-toolbar__separator, :is([dir="rtl"] .ck.ck-toolbar, .ck.ck-toolbar[dir="rtl"]).ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) { + margin-left: var(--ck-spacing-small); +} + +:is([dir="ltr"] .ck.ck-toolbar, .ck.ck-toolbar[dir="ltr"]) > .ck-toolbar__items > .ck:last-child { + margin-right: 0; +} + +:is([dir="ltr"] .ck.ck-toolbar, .ck.ck-toolbar[dir="ltr"]).ck-toolbar_compact > .ck-toolbar__items > .ck:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +:is([dir="ltr"] .ck.ck-toolbar, .ck.ck-toolbar[dir="ltr"]).ck-toolbar_compact > .ck-toolbar__items > .ck:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +:is([dir="ltr"] .ck.ck-toolbar, .ck.ck-toolbar[dir="ltr"]) > .ck.ck-toolbar__separator, :is([dir="ltr"] .ck.ck-toolbar, .ck.ck-toolbar[dir="ltr"]).ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) { + margin-right: var(--ck-spacing-small); +} + +:root { + --ck-color-block-toolbar-button: var(--ck-color-text); + --ck-block-toolbar-button-size: var(--ck-font-size-normal); +} + +.ck.ck-block-toolbar-button { + color: var(--ck-color-block-toolbar-button); + font-size: var(--ck-block-toolbar-size); + z-index: var(--ck-z-default); + position: absolute; +} + +.ck.ck-menu-bar { + background: var(--ck-color-base-background); + padding: var(--ck-spacing-small); + justify-content: flex-start; + gap: var(--ck-spacing-small); + border: 1px solid var(--ck-color-toolbar-border); + flex-wrap: wrap; + width: 100%; + display: flex; +} + +.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button { + width: 100%; +} + +.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button > .ck-button__label { + text-overflow: ellipsis; + flex-grow: 1; + overflow: hidden; +} + +.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button.ck-disabled > .ck-button__label { + opacity: var(--ck-disabled-opacity); +} + +[dir="ltr"] :is(.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button):not(.ck-button_with-text) { + padding-left: var(--ck-spacing-small); +} + +[dir="rtl"] :is(.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button):not(.ck-button_with-text) { + padding-right: var(--ck-spacing-small); +} + +.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button { + padding: var(--ck-spacing-small) var(--ck-spacing-medium); + min-height: unset; +} + +.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button .ck-button__label { + width: unset; + line-height: unset; + overflow: visible; +} + +.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button.ck-on { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button .ck-icon { + display: none; +} + +.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow { + pointer-events: none; + z-index: var(--ck-z-default); +} + +.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button { + border-radius: 0; +} + +.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow { + width: var(--ck-dropdown-arrow-size); +} + +[dir="ltr"] :is(.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow) { + margin-left: var(--ck-spacing-standard); + margin-right: calc(-1 * var(--ck-spacing-small)); + transform: rotate(-90deg); +} + +[dir="rtl"] :is(.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow) { + left: var(--ck-spacing-standard); + margin-right: var(--ck-spacing-small); + margin-left: calc(-1 * var(--ck-spacing-small)); + transform: rotate(90deg); +} + +.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button.ck-disabled > .ck-menu-bar__menu__button__arrow { + opacity: var(--ck-disabled-opacity); +} + +:root { + --ck-menu-bar-menu-max-width: 75vw; + --ck-menu-bar-nested-menu-horizontal-offset: 5px; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel { + border-radius: var(--ck-rounded-corners-radius); + box-shadow: var(--ck-drop-shadow), 0 0; + background: var(--ck-color-dropdown-panel-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + height: fit-content; + z-index: var(--ck-z-panel); + max-width: var(--ck-menu-bar-menu-max-width); + position: absolute; + bottom: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se { + border-top-left-radius: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw { + border-top-right-radius: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne { + border-bottom-left-radius: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw { + border-bottom-right-radius: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel:focus { + outline: none; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw { + bottom: 100%; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw { + top: 100%; + bottom: auto; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se { + left: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw { + right: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en { + left: calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset)); +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es { + top: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en { + bottom: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn { + right: calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset)); +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws { + top: 0; +} + +.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn { + bottom: 0; +} + +.ck.ck-menu-bar .ck-list-item-button:focus, .ck.ck-menu-bar .ck-list-item-button:active { + box-shadow: none; + border-color: #0000; +} + +.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:focus, .ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:active { + z-index: 2; + border: var(--ck-focus-ring); + box-shadow: var(--ck-focus-outer-shadow), 0 0; + outline: none; + position: relative; +} + +.ck.ck-menu-bar__menu { + font-size: inherit; + display: block; +} + +.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level { + max-width: 100%; +} + +.ck.ck-menu-bar__menu { + position: relative; +} + +:root { + --ck-menu-bar-menu-item-min-width: 18em; +} + +.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item { + min-width: var(--ck-menu-bar-menu-item-min-width); +} + +.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button { + border-radius: 0; +} + +.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container, .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container .ck-spinner { + --ck-toolbar-spinner-size: 20px; +} + +.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container { + font-size: var(--ck-icon-font-size); +} + +[dir="ltr"] :is(.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container) { + margin-right: var(--ck-spacing-medium); +} + +[dir="rtl"] :is(.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container) { + margin-left: var(--ck-spacing-medium); +} + +/* @ckeditor/ckeditor5-utils */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-engine */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck.ck-placeholder, .ck .ck-placeholder { + position: relative; +} + +@media (forced-colors: active) { + .ck.ck-placeholder, .ck .ck-placeholder { + forced-color-adjust: preserve-parent-color; + } +} + +:is(.ck.ck-placeholder, .ck .ck-placeholder):before { + content: attr(data-placeholder); + cursor: text; + pointer-events: none; + position: absolute; + left: 0; + right: 0; +} + +@media (forced-colors: none) { + :is(.ck.ck-placeholder, .ck .ck-placeholder):before { + color: var(--ck-color-engine-placeholder-text); + } +} + +@media (forced-colors: active) { + :is(.ck.ck-placeholder, .ck .ck-placeholder):before { + margin-left: 1px; + font-style: italic; + } +} + +.ck.ck-read-only .ck-placeholder:before { + display: none; +} + +.ck.ck-reset_all .ck-placeholder { + position: relative; +} + +.ck.ck-editor__editable span[data-ck-unsafe-element] { + display: none; +} + +/* @ckeditor/ckeditor5-watchdog */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-core */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +:root { + --ck-content-font-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif; + --ck-content-font-size: medium; + --ck-content-font-color: #000; + --ck-content-line-height: 1.5; + --ck-content-word-break: normal; + --ck-content-overflow-wrap: break-word; +} + +.ck-content { + font-family: var(--ck-content-font-family); + font-size: var(--ck-content-font-size); + color: var(--ck-content-font-color); + line-height: var(--ck-content-line-height); + word-break: var(--ck-content-word-break); + overflow-wrap: var(--ck-content-overflow-wrap); +} + +/* @ckeditor/ckeditor5-upload */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-adapter-ckfinder */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-enter */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-paragraph */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-heading */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck.ck-heading_heading1 .ck-button__label { + font-size: 20px; +} + +.ck.ck-heading_heading2 .ck-button__label { + font-size: 17px; +} + +.ck.ck-heading_heading3 .ck-button__label { + font-size: 14px; +} + +.ck[class*="ck-heading_heading"] { + font-weight: bold; +} + +.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label { + width: 8em; +} + +.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item { + min-width: 18em; +} + +/* @ckeditor/ckeditor5-typing */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-autoformat */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-autosave */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-basic-styles */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck-content code { + background-color: #c7c7c74d; + border-radius: 2px; + padding: .15em; +} + +.ck.ck-editor__editable .ck-code_selected { + background-color: #c7c7c780; +} + +/* @ckeditor/ckeditor5-block-quote */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck-content blockquote { + border-left: 5px solid #ccc; + margin-left: 0; + margin-right: 0; + padding-left: 1.5em; + padding-right: 1.5em; + font-style: italic; + overflow: hidden; +} + +.ck-content[dir="rtl"] blockquote { + border-left: 0; + border-right: 5px solid #ccc; +} + +/* @ckeditor/ckeditor5-undo */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-widget */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +:root { + --ck-widget-outline-thickness: 3px; + --ck-widget-handler-icon-size: 16px; + --ck-widget-handler-animation-duration: .2s; + --ck-widget-handler-animation-curve: ease; + --ck-color-widget-blurred-border: #dedede; + --ck-color-widget-hover-border: #ffc83d; + --ck-color-widget-editable-focus-background: var(--ck-color-base-background); + --ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background); + --ck-color-resizer: var(--ck-color-focus-border); + --ck-color-resizer-tooltip-background: #262626; + --ck-color-resizer-tooltip-text: #f2f2f2; + --ck-resizer-border-radius: var(--ck-border-radius); + --ck-resizer-tooltip-offset: 10px; + --ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px); +} + +.ck .ck-widget { + outline-width: var(--ck-widget-outline-thickness); + transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + outline-style: solid; + outline-color: #0000; +} + +@media (prefers-reduced-motion: reduce) { + .ck .ck-widget { + transition: none; + } +} + +.ck .ck-widget.ck-widget_selected, .ck .ck-widget.ck-widget_selected:hover { + outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border); +} + +.ck .ck-widget:hover { + outline-color: var(--ck-color-widget-hover-border); +} + +.ck .ck-widget { + position: relative; +} + +.ck .ck-editor__nested-editable { + border: 1px solid #0000; +} + +.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused, .ck .ck-editor__nested-editable:focus { + box-shadow: var(--ck-inner-shadow), 0 0; +} + +@media (forced-colors: none) { + .ck .ck-editor__nested-editable.ck-editor__nested-editable_focused, .ck .ck-editor__nested-editable:focus { + background-color: var(--ck-color-widget-editable-focus-background); + } +} + +:is(.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused, .ck .ck-editor__nested-editable:focus):not(td, th) { + border: var(--ck-focus-ring); + outline: none; +} + +.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle { + box-sizing: border-box; + opacity: 0; + transition: background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), + visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), + opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0; + left: calc(0px - var(--ck-widget-outline-thickness)); + background-color: #0000; + padding: 4px; + top: 0; + transform: translateY(-100%); +} + +@media (prefers-reduced-motion: reduce) { + .ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle { + transition: none; + } +} + +.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon { + width: var(--ck-widget-handler-icon-size); + height: var(--ck-widget-handler-icon-size); + color: var(--ck-color-widget-drag-handler-icon-color); +} + +.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator { + opacity: 0; + transition: opacity .3s var(--ck-widget-handler-animation-curve); +} + +@media (prefers-reduced-motion: reduce) { + .ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator { + transition: none; + } +} + +.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon { + display: block; +} + +.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator { + opacity: 1; +} + +.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle { + position: absolute; +} + +.ck .ck-widget.ck-widget_with-selection-handle:hover > .ck-widget__selection-handle { + opacity: 1; + background-color: var(--ck-color-widget-hover-border); + visibility: visible; +} + +:is(.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected, .ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover) > .ck-widget__selection-handle { + opacity: 1; + background-color: var(--ck-color-focus-border); + visibility: visible; +} + +:is(.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected, .ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover) > .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator { + opacity: 1; +} + +.ck .ck-widget.ck-widget_with-selection-handle { + position: relative; +} + +.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle { + left: auto; + right: calc(0px - var(--ck-widget-outline-thickness)); +} + +.ck.ck-editor__editable.ck-read-only .ck-widget { + transition: none; +} + +.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected) { + --ck-widget-outline-thickness: 0px; +} + +.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle, .ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover { + background: var(--ck-color-widget-blurred-border); +} + +.ck .ck-widget:has(.ck-widget.table:hover) { + outline-color: #0000; +} + +.ck .ck-widget.ck-widget_with-selection-handle:has(.ck-widget.table:hover) > .ck-widget__selection-handle { + opacity: 0; + visibility: hidden; +} + +.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected, .ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover { + outline-color: var(--ck-color-widget-blurred-border); +} + +:is(.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected, .ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover).ck-widget_with-selection-handle > .ck-widget__selection-handle, :is(.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected, .ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover).ck-widget_with-selection-handle > .ck-widget__selection-handle:hover { + background: var(--ck-color-widget-blurred-border); +} + +.ck.ck-editor__editable:not(.ck-pagination-view) > .ck-widget.ck-widget_with-selection-handle:first-child, .ck.ck-editor__editable:not(.ck-pagination-view) blockquote > .ck-widget.ck-widget_with-selection-handle:first-child { + margin-top: calc(1em + var(--ck-widget-handler-icon-size)); +} + +.ck .ck-size-view { + background: var(--ck-color-resizer-tooltip-background); + color: var(--ck-color-resizer-tooltip-text); + border: 1px solid var(--ck-color-resizer-tooltip-text); + border-radius: var(--ck-resizer-border-radius); + font-size: var(--ck-font-size-tiny); + padding: 0 var(--ck-spacing-small); + height: var(--ck-resizer-tooltip-height); + line-height: var(--ck-resizer-tooltip-height); + display: block; +} + +.ck .ck-size-view.ck-orientation-top-left, .ck .ck-size-view.ck-orientation-top-right, .ck .ck-size-view.ck-orientation-bottom-right, .ck .ck-size-view.ck-orientation-bottom-left, .ck .ck-size-view.ck-orientation-above-center { + position: absolute; +} + +.ck .ck-size-view.ck-orientation-top-left { + top: var(--ck-resizer-tooltip-offset); + left: var(--ck-resizer-tooltip-offset); +} + +.ck .ck-size-view.ck-orientation-top-right { + top: var(--ck-resizer-tooltip-offset); + right: var(--ck-resizer-tooltip-offset); +} + +.ck .ck-size-view.ck-orientation-bottom-right { + bottom: var(--ck-resizer-tooltip-offset); + right: var(--ck-resizer-tooltip-offset); +} + +.ck .ck-size-view.ck-orientation-bottom-left { + bottom: var(--ck-resizer-tooltip-offset); + left: var(--ck-resizer-tooltip-offset); +} + +.ck .ck-size-view.ck-orientation-above-center { + top: calc(var(--ck-resizer-tooltip-height) * -1); + left: 50%; + transform: translate(-50%); +} + +:root { + --ck-resizer-size: 10px; + --ck-resizer-offset: calc(( var(--ck-resizer-size) / -2 ) - 2px); + --ck-resizer-border-width: 1px; +} + +.ck .ck-widget__resizer { + outline: 1px solid var(--ck-color-resizer); + pointer-events: none; + display: none; + position: absolute; + top: 0; + left: 0; +} + +.ck .ck-widget__resizer__handle { + width: var(--ck-resizer-size); + height: var(--ck-resizer-size); + background: var(--ck-color-focus-border); + border: var(--ck-resizer-border-width) solid #fff; + border-radius: var(--ck-resizer-border-radius); + pointer-events: all; + position: absolute; +} + +.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left { + top: var(--ck-resizer-offset); + left: var(--ck-resizer-offset); +} + +.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right { + top: var(--ck-resizer-offset); + right: var(--ck-resizer-offset); +} + +.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right { + bottom: var(--ck-resizer-offset); + right: var(--ck-resizer-offset); +} + +.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left { + bottom: var(--ck-resizer-offset); + left: var(--ck-resizer-offset); +} + +.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left, .ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right { + cursor: nwse-resize; +} + +.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right, .ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left { + cursor: nesw-resize; +} + +.ck .ck-widget_with-resizer { + position: relative; +} + +.ck-focused .ck-widget_with-resizer.ck-widget_selected > .ck-widget__resizer { + display: block; +} + +:root { + --ck-widget-type-around-button-size: 20px; + --ck-color-widget-type-around-button-active: var(--ck-color-focus-border); + --ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border); + --ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border); + --ck-color-widget-type-around-button-radar-start-alpha: 0; + --ck-color-widget-type-around-button-radar-end-alpha: .3; + --ck-color-widget-type-around-button-icon: var(--ck-color-base-background); +} + +.ck .ck-widget .ck-widget__type-around__button { + width: var(--ck-widget-type-around-button-size); + height: var(--ck-widget-type-around-button-size); + background: var(--ck-color-widget-type-around-button); + transition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + opacity: 0; + pointer-events: none; + z-index: var(--ck-z-default); + border-radius: 100px; + display: block; + position: absolute; + overflow: hidden; +} + +@media (prefers-reduced-motion: reduce) { + .ck .ck-widget .ck-widget__type-around__button { + transition: none; + } +} + +.ck .ck-widget .ck-widget__type-around__button svg { + width: 10px; + height: 8px; + margin-top: 1px; + transition: transform .5s; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +@media (prefers-reduced-motion: reduce) { + .ck .ck-widget .ck-widget__type-around__button svg { + transition: none; + } +} + +.ck .ck-widget .ck-widget__type-around__button svg * { + stroke-dasharray: 10; + stroke-dashoffset: 0; + fill: none; + stroke: var(--ck-color-widget-type-around-button-icon); + stroke-width: 1.5px; + stroke-linecap: round; + stroke-linejoin: round; +} + +.ck .ck-widget .ck-widget__type-around__button svg line { + stroke-dasharray: 7; +} + +.ck .ck-widget .ck-widget__type-around__button svg { + z-index: calc(var(--ck-z-default) + 2); +} + +.ck .ck-widget .ck-widget__type-around__button:hover { + animation: 1s infinite ck-widget-type-around-button-sonar; +} + +.ck .ck-widget .ck-widget__type-around__button:hover svg polyline { + animation: 2s linear ck-widget-type-around-arrow-dash; +} + +.ck .ck-widget .ck-widget__type-around__button:hover svg line { + animation: 2s linear ck-widget-type-around-arrow-tip-dash; +} + +@media (prefers-reduced-motion: reduce) { + .ck .ck-widget .ck-widget__type-around__button:hover { + animation: none; + } + + .ck .ck-widget .ck-widget__type-around__button:hover svg polyline, .ck .ck-widget .ck-widget__type-around__button:hover svg line { + animation: none; + } +} + +.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before { + top: calc(-.5 * var(--ck-widget-outline-thickness)); + left: min(10%, 30px); + transform: translateY(-50%); +} + +.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after { + bottom: calc(-.5 * var(--ck-widget-outline-thickness)); + right: min(10%, 30px); + transform: translateY(50%); +} + +.ck .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__button { + opacity: 1; + pointer-events: auto; +} + +.ck .ck-widget:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button { + background: var(--ck-color-widget-type-around-button-hover); +} + +.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, .ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover { + background: var(--ck-color-widget-type-around-button-active); +} + +:is(.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, .ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover):after { + width: calc(var(--ck-widget-type-around-button-size) - 2px); + height: calc(var(--ck-widget-type-around-button-size) - 2px); + content: ""; + z-index: calc(var(--ck-z-default) + 1); + background: linear-gradient(135deg, #fff0 0%, #ffffff4d 100%); + border-radius: 100px; + display: block; + position: absolute; + top: 1px; + left: 1px; +} + +.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before, .ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after { + outline-color: #0000; +} + +.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button { + opacity: 1; + pointer-events: auto; +} + +.ck .ck-widget.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before { + margin-left: 20px; +} + +.ck .ck-widget .ck-widget__type-around__fake-caret { + pointer-events: none; + background: var(--ck-color-base-text); + outline: 1px solid #ffffff80; + height: 1px; + animation: 1s linear infinite forwards ck-widget-type-around-fake-caret-pulse; +} + +:is(.ck .ck-widget.ck-widget_type-around_show-fake-caret_before, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after).ck-widget_selected:hover { + outline-color: var(--ck-color-widget-hover-border); +} + +:is(.ck .ck-widget.ck-widget_type-around_show-fake-caret_before, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after) > .ck-widget__type-around > .ck-widget__type-around__button { + opacity: 0; + pointer-events: none; +} + +:is(:is(.ck .ck-widget.ck-widget_type-around_show-fake-caret_before, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after).ck-widget_with-selection-handle.ck-widget_selected, :is(.ck .ck-widget.ck-widget_type-around_show-fake-caret_before, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after).ck-widget_with-selection-handle.ck-widget_selected:hover) > .ck-widget__selection-handle { + opacity: 0; +} + +:is(.ck .ck-widget.ck-widget_type-around_show-fake-caret_before, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after).ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer { + opacity: 0; +} + +.ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + display: none; + position: absolute; + left: 0; + right: 0; +} + +.ck .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + left: calc(-1 * var(--ck-widget-outline-thickness)); + right: calc(-1 * var(--ck-widget-outline-thickness)); +} + +.ck .ck-widget.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + top: calc(-1 * var(--ck-widget-outline-thickness) - 1px); + display: block; +} + +.ck .ck-widget.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + bottom: calc(-1 * var(--ck-widget-outline-thickness) - 1px); + display: block; +} + +.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before { + margin-left: 0; + margin-right: 20px; +} + +:is(.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected, .ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover) > .ck-widget__type-around > .ck-widget__type-around__button { + opacity: 0; + pointer-events: none; +} + +.ck .ck-widget:has(.ck-widget.table:hover) > .ck-widget__type-around > .ck-widget__type-around__button { + opacity: 0; + pointer-events: none; +} + +.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) { + background: var(--ck-color-widget-type-around-button-blurred-editable); +} + +.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) svg * { + stroke: #999; +} + +@keyframes ck-widget-type-around-arrow-dash { + 0% { + stroke-dashoffset: 10px; + } + + 20%, 100% { + stroke-dashoffset: 0; + } +} + +@keyframes ck-widget-type-around-arrow-tip-dash { + 0%, 20% { + stroke-dashoffset: 7px; + } + + 40%, 100% { + stroke-dashoffset: 0; + } +} + +@keyframes ck-widget-type-around-button-sonar { + 0% { + box-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha)); + } + + 50% { + box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha)); + } + + 100% { + box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha)); + } +} + +@keyframes ck-widget-type-around-fake-caret-pulse { + 0% { + opacity: 1; + } + + 49% { + opacity: 1; + } + + 50% { + opacity: 0; + } + + 99% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.ck.ck-editor__editable.ck-read-only .ck-widget__type-around, .ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around { + display: none; +} + +.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around { + display: none; +} + +.ck.ck-editor__editable.ck-restricted-editing_mode_restricted div.restricted-editing-exception .ck-widget__type-around { + display: initial; +} + +/* @ckeditor/ckeditor5-image */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +:root { + --ck-content-color-image-caption-background: #f7f7f7; + --ck-content-color-image-caption-text: #333; + --ck-color-image-caption-highlighted-background: #fd0; +} + +.ck-content .image > figcaption { + caption-side: bottom; + word-break: normal; + overflow-wrap: anywhere; + break-before: avoid; + color: var(--ck-content-color-image-caption-text); + background-color: var(--ck-content-color-image-caption-background); + outline-offset: -1px; + padding: .6em; + font-size: .75em; + display: table-caption; +} + +@media (forced-colors: active) { + .ck-content .image > figcaption { + background-color: unset; + color: unset; + } +} + +@media (forced-colors: none) { + .ck.ck-editor__editable .image > figcaption.image__caption_highlighted { + animation: .6s ease-out ck-image-caption-highlight; + } +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-editor__editable .image > figcaption.image__caption_highlighted { + animation: none; + } +} + +@keyframes ck-image-caption-highlight { + 0% { + background-color: var(--ck-color-image-caption-highlighted-background); + } + + 100% { + background-color: var(--ck-content-color-image-caption-background); + } +} + +.ck-content img.image_resized { + height: auto; +} + +.ck-content .image.image_resized { + box-sizing: border-box; + max-width: 100%; + display: block; +} + +.ck-content .image.image_resized img { + width: 100%; +} + +.ck-content .image.image_resized > figcaption { + display: block; +} + +:is(.ck.ck-editor__editable td, .ck.ck-editor__editable th) .image-inline.image_resized img { + max-width: 100%; +} + +[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon { + margin-right: var(--ck-spacing-standard); +} + +[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon { + margin-left: var(--ck-spacing-standard); +} + +.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label { + width: 4em; +} + +:root { + --ck-content-image-style-spacing: 1.5em; + --ck-content-inline-image-style-spacing: calc(var(--ck-content-image-style-spacing) / 2); +} + +.ck-content .image.image-style-block-align-left, .ck-content .image.image-style-block-align-right { + max-width: calc(100% - var(--ck-content-image-style-spacing)); +} + +.ck-content .image.image-style-align-left, .ck-content .image.image-style-align-right { + clear: none; +} + +.ck-content .image.image-style-side { + float: right; + margin-left: var(--ck-content-image-style-spacing); + max-width: 50%; +} + +.ck-content .image.image-style-align-left { + float: left; + margin-right: var(--ck-content-image-style-spacing); +} + +.ck-content .image.image-style-align-right { + float: right; + margin-left: var(--ck-content-image-style-spacing); +} + +.ck-content .image.image-style-block-align-right { + margin-left: auto; + margin-right: 0; +} + +.ck-content .image.image-style-block-align-left { + margin-left: 0; + margin-right: auto; +} + +.ck-content .image-style-align-center { + margin-left: auto; + margin-right: auto; +} + +.ck-content .image-style-align-left { + float: left; + margin-right: var(--ck-content-image-style-spacing); +} + +.ck-content .image-style-align-right { + float: right; + margin-left: var(--ck-content-image-style-spacing); +} + +.ck-content p + .image.image-style-align-left, .ck-content p + .image.image-style-align-right, .ck-content p + .image.image-style-side { + margin-top: 0; +} + +.ck-content .image-inline.image-style-align-left, .ck-content .image-inline.image-style-align-right { + margin-top: var(--ck-content-inline-image-style-spacing); + margin-bottom: var(--ck-content-inline-image-style-spacing); +} + +.ck-content .image-inline.image-style-align-left { + margin-right: var(--ck-content-inline-image-style-spacing); +} + +.ck-content .image-inline.image-style-align-right { + margin-left: var(--ck-content-inline-image-style-spacing); +} + +:is(.ck.ck-splitbutton.ck-splitbutton_flatten:hover, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open) > .ck-splitbutton__action:not(.ck-disabled), :is(.ck.ck-splitbutton.ck-splitbutton_flatten:hover, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open) > .ck-splitbutton__arrow:not(.ck-disabled), :is(.ck.ck-splitbutton.ck-splitbutton_flatten:hover, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open) > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) { + background-color: var(--ck-color-button-on-background); +} + +:is(:is(.ck.ck-splitbutton.ck-splitbutton_flatten:hover, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open) > .ck-splitbutton__action:not(.ck-disabled), :is(.ck.ck-splitbutton.ck-splitbutton_flatten:hover, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open) > .ck-splitbutton__arrow:not(.ck-disabled), :is(.ck.ck-splitbutton.ck-splitbutton_flatten:hover, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open) > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover)):after { + display: none; +} + +.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__action:not(.ck-disabled), .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__arrow:not(.ck-disabled), .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) { + background-color: var(--ck-color-button-on-hover-background); +} + +:is(.ck.ck-editor__editable .image, .ck.ck-editor__editable .image-inline).ck-appear { + animation: .7s fadeIn; +} + +@media (prefers-reduced-motion: reduce) { + :is(.ck.ck-editor__editable .image, .ck.ck-editor__editable .image-inline).ck-appear { + opacity: 1; + animation: none; + } +} + +.ck.ck-editor__editable .image, .ck.ck-editor__editable .image-inline { + position: relative; +} + +.ck.ck-editor__editable .image .ck-progress-bar, .ck.ck-editor__editable .image-inline .ck-progress-bar { + background: var(--ck-color-upload-bar-background); + width: 0; + height: 2px; + transition: width .1s; + position: absolute; + top: 0; + left: 0; +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +:root { + --ck-color-image-upload-icon: #fff; + --ck-color-image-upload-icon-background: #008a00; + --ck-image-upload-icon-size: 20; + --ck-image-upload-icon-width: 2px; + --ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px); +} + +.ck-image-upload-complete-icon { + opacity: 0; + background: var(--ck-color-image-upload-icon-background); + font-size: calc(1px * var(--ck-image-upload-icon-size)); + width: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size)); + height: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size)); + top: min(var(--ck-spacing-medium), 6%); + right: min(var(--ck-spacing-medium), 6%); + border-radius: 50%; + animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide; + animation-duration: .5s, .5s; + animation-delay: 0s, 3s; + animation-fill-mode: forwards, forwards; + display: block; + position: absolute; + overflow: hidden; +} + +.ck-image-upload-complete-icon:after { + opacity: 0; + transform-origin: 0 0; + border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon); + border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon); + box-sizing: border-box; + content: ""; + width: 0; + height: 0; + animation-name: ck-upload-complete-icon-check; + animation-duration: .5s; + animation-delay: .5s; + animation-fill-mode: forwards; + position: absolute; + top: 50%; + left: 25%; + transform: scaleX(-1) rotate(135deg); +} + +@media (prefers-reduced-motion: reduce) { + .ck-image-upload-complete-icon { + animation-duration: 0s; + } + + .ck-image-upload-complete-icon:after { + opacity: 1; + width: .3em; + height: .45em; + animation: none; + } +} + +.ck-image-upload-complete-icon { + z-index: 1; +} + +@keyframes ck-upload-complete-icon-show { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes ck-upload-complete-icon-hide { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes ck-upload-complete-icon-check { + 0% { + opacity: 1; + width: 0; + height: 0; + } + + 33% { + width: .3em; + height: 0; + } + + 100% { + opacity: 1; + width: .3em; + height: .45em; + } +} + +:root { + --ck-color-upload-placeholder-loader: #b3b3b3; + --ck-upload-placeholder-loader-size: 32px; + --ck-upload-placeholder-image-aspect-ratio: 2.8; +} + +.ck .ck-image-upload-placeholder { + width: 100%; + margin: 0; +} + +.ck .ck-image-upload-placeholder.image-inline { + width: calc(2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio)); +} + +.ck .ck-image-upload-placeholder img { + aspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio); +} + +.ck .ck-upload-placeholder-loader { + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + display: flex; + position: absolute; + top: 0; +} + +.ck .ck-upload-placeholder-loader:before { + width: var(--ck-upload-placeholder-loader-size); + height: var(--ck-upload-placeholder-loader-size); + border-top: 3px solid var(--ck-color-upload-placeholder-loader); + content: ""; + border-right: 2px solid #0000; + border-radius: 50%; + animation: 1s linear infinite ck-upload-placeholder-loader; + position: relative; +} + +.ck .ck-upload-placeholder-loader { + left: 0; +} + +@keyframes ck-upload-placeholder-loader { + to { + transform: rotate(360deg); + } +} + +.ck-content .image { + clear: both; + text-align: center; + min-width: 50px; + margin: .9em auto; + display: table; +} + +.ck-content .image img { + min-width: 100%; + max-width: 100%; + height: auto; + margin: 0 auto; + display: block; +} + +.ck-content .image-inline { + align-items: flex-start; + max-width: 100%; + display: inline-flex; +} + +.ck-content .image-inline picture { + display: flex; +} + +.ck-content .image-inline picture, .ck-content .image-inline img { + flex-grow: 1; + flex-shrink: 1; + max-width: 100%; +} + +.ck.ck-editor__editable .image > figcaption.ck-placeholder:before { + padding-left: inherit; + padding-right: inherit; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.ck.ck-editor__editable .image { + z-index: 1; +} + +.ck.ck-editor__editable .image.ck-widget_selected { + z-index: 2; +} + +.ck.ck-editor__editable .image-inline { + z-index: 1; +} + +.ck.ck-editor__editable .image-inline.ck-widget_selected { + z-index: 2; +} + +.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection { + display: none; +} + +.ck.ck-editor__editable .image-inline img { + height: auto; +} + +:is(.ck.ck-editor__editable td, .ck.ck-editor__editable th) .image-inline img { + max-width: none; +} + +.ck.ck-editor__editable img.image_placeholder { + background-size: 100% 100%; +} + +:root { + --ck-image-insert-insert-by-url-width: 250px; +} + +.ck.ck-image-insert-url { + --ck-input-width: 100%; + width: 400px; +} + +.ck.ck-image-insert-url .ck-image-insert-url__action-row { + grid-column-gap: var(--ck-spacing-large); + margin-top: var(--ck-spacing-large); + display: grid; +} + +.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save, .ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel { + justify-content: center; + min-width: auto; +} + +.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label { + color: var(--ck-color-text); +} + +.ck.ck-image-insert-url .ck-image-insert-url__action-row { + grid-template-columns: repeat(2, 1fr); +} + +.ck.ck-image-insert-url { + padding: var(--ck-spacing-large) var(--ck-spacing-large) 0; +} + +.ck.ck-image-insert-form > .ck.ck-button { + width: 100%; + display: block; +} + +[dir="ltr"] :is(.ck.ck-image-insert-form > .ck.ck-button) { + text-align: left; +} + +[dir="rtl"] :is(.ck.ck-image-insert-form > .ck.ck-button) { + text-align: right; +} + +.ck.ck-image-insert-form > .ck.ck-collapsible:not(:first-child) { + border-top: 1px solid var(--ck-color-base-border); +} + +.ck.ck-image-insert-form > .ck.ck-collapsible:not(:last-child) { + border-bottom: 1px solid var(--ck-color-base-border); +} + +.ck.ck-image-insert-form > .ck.ck-collapsible { + min-width: var(--ck-image-insert-insert-by-url-width); +} + +.ck.ck-image-insert-form > .ck.ck-image-insert-url { + min-width: var(--ck-image-insert-insert-by-url-width); + padding: var(--ck-spacing-large); +} + +.ck.ck-image-insert-form:focus { + outline: none; +} + +:root { + --ck-image-custom-resize-form-width: 340px; +} + +@media screen and (width <= 600px) { + :root { + --ck-image-custom-resize-form-width: 300px; + } +} + +.ck.ck-image-custom-resize-form.ck-responsive-form { + width: var(--ck-image-custom-resize-form-width); +} + +:root { + --ck-text-alternative-form-width: 340px; +} + +@media screen and (width <= 600px) { + :root { + --ck-text-alternative-form-width: 300px; + } +} + +.ck.ck-text-alternative-form.ck-responsive-form { + width: var(--ck-text-alternative-form-width); +} + +/* @ckeditor/ckeditor5-link */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck .ck-link_selected { + background: var(--ck-color-link-selected-background); +} + +.ck .ck-link_selected span.image-inline { + outline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background); +} + +.ck .ck-fake-link-selection { + background: var(--ck-color-link-fake-selection); +} + +.ck .ck-fake-link-selection_collapsed { + border-right: 1px solid var(--ck-color-base-text); + outline: 1px solid #ffffff80; + height: 100%; + margin-right: -1px; +} + +:root { + --ck-link-bookmark-icon-size: calc(var(--ck-icon-size) * .7); +} + +.ck.ck-toolbar.ck-link-toolbar > .ck-toolbar__items { + flex-wrap: nowrap; +} + +a.ck.ck-button.ck-link-toolbar__preview { + padding: 0 var(--ck-spacing-medium); + color: var(--ck-color-link-default); + cursor: pointer; + justify-content: center; +} + +a.ck.ck-button.ck-link-toolbar__preview .ck.ck-button__label { + text-overflow: ellipsis; + max-width: var(--ck-input-width); +} + +a.ck.ck-button.ck-link-toolbar__preview, a.ck.ck-button.ck-link-toolbar__preview:hover, a.ck.ck-button.ck-link-toolbar__preview:focus, a.ck.ck-button.ck-link-toolbar__preview:active { + background: none; +} + +a.ck.ck-button.ck-link-toolbar__preview:active { + box-shadow: none; +} + +a.ck.ck-button.ck-link-toolbar__preview:hover, a.ck.ck-button.ck-link-toolbar__preview:focus { + text-decoration: underline; +} + +a.ck.ck-button.ck-link-toolbar__preview.ck-button_with-text .ck.ck-icon.ck-button__icon { + width: var(--ck-link-bookmark-icon-size); + height: var(--ck-link-bookmark-icon-size); +} + +[dir="ltr"] :is(a.ck.ck-button.ck-link-toolbar__preview.ck-button_with-text .ck.ck-icon.ck-button__icon) { + margin-right: var(--ck-spacing-tiny); + margin-left: var(--ck-spacing-small); +} + +[dir="rtl"] :is(a.ck.ck-button.ck-link-toolbar__preview.ck-button_with-text .ck.ck-icon.ck-button__icon) { + margin-left: var(--ck-spacing-tiny); + margin-right: var(--ck-spacing-small); +} + +a.ck.ck-button.ck-link-toolbar__preview:has(.ck-icon) { + padding-left: var(--ck-spacing-extra-tiny); +} + +.ck.ck-link-toolbar__preview { + display: inline-block; +} + +.ck.ck-link-toolbar__preview .ck-button__label { + overflow: hidden; +} + +:root { + --ck-link-image-indicator-icon-size: 20; + --ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px); +} + +:is(.ck.ck-editor__editable figure.image > a, .ck.ck-editor__editable a span.image-inline):after { + content: ""; + top: min(var(--ck-spacing-medium), 6%); + right: min(var(--ck-spacing-medium), 6%); + width: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size)); + height: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size)); + background-color: #0006; + background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+"); + background-position: center; + background-repeat: no-repeat; + background-size: 14px; + border-radius: 100%; + display: block; + position: absolute; + overflow: hidden; +} + +:root { + --ck-link-panel-width: 340px; + --ck-link-provider-list-item-text-height: calc(var(--ck-line-height-base) * var(--ck-font-size-base)); + --ck-link-provider-list-item-height: calc(var(--ck-link-provider-list-item-text-height) + var(--ck-spacing-small) + var(--ck-spacing-small)); +} + +@media screen and (width <= 600px) { + :root { + --ck-link-panel-width: 300px; + } +} + +.ck.ck-form.ck-link-form { + width: var(--ck-link-panel-width); + padding-bottom: 0; +} + +@media screen and (width <= 600px) { + .ck.ck-form.ck-link-form.ck-responsive-form .ck-labeled-field-view { + margin: 0; + } +} + +.ck.ck-form.ck-link-form .ck-link-form__providers-list { + border-top: 1px solid var(--ck-color-base-border); + flex-direction: column; + display: flex; +} + +.ck.ck-form.ck-link-form .ck-link-form__providers-list:has(.ck-list__item:nth-child(n+5)) { + max-height: calc(var(--ck-link-provider-list-item-height) * 4 + var(--ck-spacing-large) + 1px); + overflow: auto; +} + +.ck.ck-form.ck-link-form .ck-link-form__providers-list .ck-link__button { + padding: var(--ck-spacing-small) var(--ck-spacing-large); + border-radius: 0; +} + +.ck.ck-form.ck-link-form .ck-link-form__providers-list .ck-link__button > .ck-button__label { + text-overflow: ellipsis; + flex-grow: 1; + overflow: hidden; +} + +.ck.ck-link-form .ck-link__items:empty { + display: none; +} + +:root { + --ck-link-properties-width: 340px; +} + +@media screen and (width <= 600px) { + :root { + --ck-link-properties-width: 300px; + } +} + +.ck.ck-link-properties { + width: var(--ck-link-properties-width); +} + +:root { + --ck-link-providers-width: 340px; + --ck-link-list-view-max-height: 240px; + --ck-link-list-view-icon-size: calc(var(--ck-icon-size) * .8); +} + +@media screen and (width <= 600px) { + :root { + --ck-link-providers-width: 300px; + } +} + +.ck.ck-link-providers { + width: var(--ck-link-providers-width); +} + +.ck.ck-link-providers .ck-form__header__label { + text-overflow: ellipsis; + overflow: hidden; +} + +.ck.ck-link-providers > .ck-link-providers__list { + max-height: min(var(--ck-link-list-view-max-height), 40vh); + overflow: hidden auto; +} + +.ck.ck-link-providers > .ck-link-providers__list .ck-button > .ck-icon { + width: var(--ck-link-list-view-icon-size); + height: var(--ck-link-list-view-icon-size); + flex-shrink: 0; +} + +.ck.ck-link-providers > .ck-link-providers__list .ck-button > .ck-button__label { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.ck.ck-link-providers > .ck-link-providers__list { + overscroll-behavior: contain; +} + +.ck.ck-link-providers .ck-link__empty-list-info { + padding: calc(2 * var(--ck-spacing-large)) var(--ck-spacing-medium); + text-align: center; + font-style: italic; +} + +/* @ckeditor/ckeditor5-ckfinder */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-easy-image */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-editor-classic */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck.ck-editor__main > .ck-editor__editable { + background: var(--ck-color-base-background); + border-radius: var(--ck-rounded-corners-radius); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) { + border-color: var(--ck-color-base-border); +} + +.ck.ck-editor { + position: relative; +} + +.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar { + z-index: var(--ck-z-panel); +} + +/* @ckeditor/ckeditor5-editor-decoupled */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-essentials */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-list */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck-editor__editable .ck-list-bogus-paragraph { + display: block; +} + +:root { + --ck-list-style-button-size: 44px; +} + +.ck.ck-list-styles-list { + row-gap: var(--ck-spacing-medium); + column-gap: var(--ck-spacing-medium); + padding: var(--ck-spacing-large); + grid-template-columns: repeat(3, auto); +} + +.ck.ck-list-styles-list .ck-button { + width: var(--ck-list-style-button-size); + height: var(--ck-list-style-button-size); + box-sizing: content-box; + margin: 0; + padding: 0; +} + +.ck.ck-list-styles-list .ck-button .ck-icon { + width: var(--ck-list-style-button-size); + height: var(--ck-list-style-button-size); +} + +.ck.ck-list-styles-list { + display: grid; +} + +.ck.ck-list-properties.ck-list-properties_without-styles { + padding: var(--ck-spacing-large); +} + +.ck.ck-list-properties.ck-list-properties_without-styles > * { + min-width: 14em; +} + +.ck.ck-list-properties.ck-list-properties_without-styles > * + * { + margin-top: var(--ck-spacing-standard); +} + +.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-list-styles-list { + grid-template-columns: repeat(4, auto); +} + +.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-collapsible { + border-top: 1px solid var(--ck-color-base-border); +} + +.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-collapsible > .ck-collapsible__children > * { + width: 100%; +} + +.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-collapsible > .ck-collapsible__children > * + * { + margin-top: var(--ck-spacing-standard); +} + +.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input { + width: 100%; + min-width: auto; +} + +.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order { + margin-bottom: calc(-1 * var(--ck-spacing-tiny)); + background: none; + padding-left: 0; + padding-right: 0; +} + +.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active, .ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover { + box-shadow: none; + background: none; + border-color: #0000; +} + +:root { + --ck-content-list-marker-color: var(--ck-content-font-color); + --ck-content-list-marker-font-family: var(--ck-content-font-family); + --ck-content-list-marker-font-size: var(--ck-content-font-size); +} + +.ck-content li > p:first-of-type { + margin-top: 0; +} + +.ck-content li > p:only-of-type { + margin-top: 0; + margin-bottom: 0; +} + +.ck-content li.ck-list-marker-bold::marker { + font-weight: bold; +} + +.ck-content li.ck-list-marker-italic::marker { + font-style: italic; +} + +.ck-content li.ck-list-marker-color::marker { + color: var(--ck-content-list-marker-color); +} + +.ck-content li.ck-list-marker-font-family::marker { + font-family: var(--ck-content-list-marker-font-family); +} + +.ck-content li.ck-list-marker-font-size::marker { + font-size: var(--ck-content-list-marker-font-size); +} + +.ck-content li.ck-list-marker-font-size-tiny::marker { + font-size: var(--ck-content-font-size-tiny); +} + +.ck-content li.ck-list-marker-font-size-small::marker { + font-size: var(--ck-content-font-size-small); +} + +.ck-content li.ck-list-marker-font-size-big::marker { + font-size: var(--ck-content-font-size-big); +} + +.ck-content li.ck-list-marker-font-size-huge::marker { + font-size: var(--ck-content-font-size-huge); +} + +.ck-content ol { + list-style-type: decimal; +} + +.ck-content ol ol { + list-style-type: lower-latin; +} + +.ck-content ol ol ol { + list-style-type: lower-roman; +} + +.ck-content ol ol ol ol { + list-style-type: upper-latin; +} + +.ck-content ol ol ol ol ol { + list-style-type: upper-roman; +} + +.ck-content ul { + list-style-type: disc; +} + +.ck-content ul ul { + list-style-type: circle; +} + +.ck-content ul ul ul { + list-style-type: square; +} + +.ck-content ul ul ul ul { + list-style-type: square; +} + +:root { + --ck-content-todo-list-checkmark-size: 16px; +} + +.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input { + -webkit-appearance: none; + width: var(--ck-content-todo-list-checkmark-size); + height: var(--ck-content-todo-list-checkmark-size); + vertical-align: middle; + border: 0; + margin-left: 0; + margin-right: -15px; + display: inline-block; + position: relative; + left: -25px; + right: 0; +} + +[dir="rtl"]:is(.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input) { + margin-left: -15px; + margin-right: 0; + left: 0; + right: -25px; +} + +:is(.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input):before { + box-sizing: border-box; + content: ""; + border: 1px solid #333; + border-radius: 2px; + width: 100%; + height: 100%; + transition: box-shadow .25s ease-in-out; + display: block; + position: absolute; +} + +@media (prefers-reduced-motion: reduce) { + :is(.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input):before { + transition: none; + } +} + +:is(.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input):after { + box-sizing: content-box; + pointer-events: none; + content: ""; + left: calc(var(--ck-content-todo-list-checkmark-size) / 3); + top: calc(var(--ck-content-todo-list-checkmark-size) / 5.3); + width: calc(var(--ck-content-todo-list-checkmark-size) / 5.3); + height: calc(var(--ck-content-todo-list-checkmark-size) / 2.6); + border-style: solid; + border-color: #0000; + border-width: 0 calc(var(--ck-content-todo-list-checkmark-size) / 8) calc(var(--ck-content-todo-list-checkmark-size) / 8) 0; + display: block; + position: absolute; + transform: rotate(45deg); +} + +:is(.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input)[checked]:before { + background: #26ab33; + border-color: #26ab33; +} + +:is(.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input)[checked]:after { + border-color: #fff; +} + +.ck-content .todo-list { + list-style: none; +} + +.ck-content .todo-list li { + margin-bottom: 5px; + position: relative; +} + +.ck-content .todo-list li .todo-list { + margin-top: 5px; +} + +.ck-content .todo-list .todo-list__label .todo-list__label__description { + vertical-align: middle; +} + +.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type="checkbox"] { + position: absolute; +} + +.ck-editor__editable.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input { + cursor: pointer; +} + +:is(.ck-editor__editable.ck-content .todo-list .todo-list__label > input, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable="false"] > input):hover:before { + box-shadow: 0 0 0 5px #0000001a; +} + +.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type="checkbox"] { + position: absolute; +} + +/* @ckeditor/ckeditor5-media-embed */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck-content .media { + clear: both; + min-width: 15em; + margin: .9em 0; + display: block; +} + +:root { + --ck-media-embed-placeholder-icon-size: 3em; + --ck-color-media-embed-placeholder-url-text: #757575; + --ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text); +} + +.ck-media__wrapper { + margin: 0 auto; +} + +.ck-media__wrapper .ck-media__placeholder { + padding: calc(3 * var(--ck-spacing-standard)); + background: var(--ck-color-base-foreground); + flex-direction: column; + align-items: center; + display: flex; +} + +.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon { + min-width: var(--ck-media-embed-placeholder-icon-size); + height: var(--ck-media-embed-placeholder-icon-size); + margin-bottom: var(--ck-spacing-large); + background-position: center; + background-size: cover; +} + +.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon { + width: 100%; + height: 100%; +} + +.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text { + color: var(--ck-color-media-embed-placeholder-url-text); + white-space: nowrap; + text-align: center; + text-overflow: ellipsis; + font-style: italic; +} + +.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover { + color: var(--ck-color-media-embed-placeholder-url-text-hover); + cursor: pointer; + text-decoration: underline; +} + +.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url { + max-width: 100%; + position: relative; +} + +.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text { + display: block; + overflow: hidden; +} + +.ck-media__wrapper[data-oembed-url*="open.spotify.com"] { + max-width: 300px; + max-height: 380px; +} + +.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon, .ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon, .ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon, .ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon { + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+"); +} + +.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder { + background: #4268b3; +} + +.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+"); +} + +.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text { + color: #cdf; +} + +.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover { + color: #fff; +} + +.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder { + background: linear-gradient(-135deg, #1400c7, #b800b1, #f50000); +} + +.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4="); +} + +.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text { + color: #ffe0fe; +} + +.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover { + color: #fff; +} + +.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder { + background: linear-gradient(to right, #71c6f4, #0d70a5); +} + +.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+"); +} + +.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text { + color: #b8e6ff; +} + +.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover { + color: #fff; +} + +:is(.ck-media__wrapper[data-oembed-url*="twitter.com"], .ck-media__wrapper[data-oembed-url*="google.com/maps"], .ck-media__wrapper[data-oembed-url*="goo.gl/maps"], .ck-media__wrapper[data-oembed-url*="maps.google.com"], .ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"], .ck-media__wrapper[data-oembed-url*="facebook.com"], .ck-media__wrapper[data-oembed-url*="instagram.com"]) .ck-media__placeholder__icon * { + display: none; +} + +.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > :not(.ck-media__placeholder), .ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder { + pointer-events: none; +} + +.ck.ck-media-form { + flex-flow: row; + align-items: flex-start; + width: 400px; + display: flex; +} + +.ck.ck-media-form .ck-labeled-field-view { + width: 100%; + display: inline-block; +} + +.ck.ck-media-form .ck-label { + display: none; +} + +.ck.ck-media-form .ck-input { + width: 100%; +} + +@media screen and (width <= 600px) { + .ck.ck-media-form { + flex-wrap: wrap; + } + + .ck.ck-media-form .ck-labeled-field-view { + flex-basis: 100%; + } + + .ck.ck-media-form .ck-button { + flex-basis: 50%; + } +} + +/* @ckeditor/ckeditor5-mention */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +:root { + --ck-content-color-mention-background: #9900301a; + --ck-content-color-mention-text: #990030; +} + +.ck-content .mention { + background: var(--ck-content-color-mention-background); + color: var(--ck-content-color-mention-text); +} + +:root { + --ck-mention-list-max-height: 300px; +} + +.ck.ck-mentions { + max-height: var(--ck-mention-list-max-height); + overscroll-behavior: contain; + overflow: hidden auto; +} + +.ck.ck-mentions > .ck-list__item { + flex-shrink: 0; + overflow: hidden; +} + +div.ck.ck-balloon-panel.ck-mention-balloon { + z-index: calc(var(--ck-z-dialog) + 1); +} + +/* @ckeditor/ckeditor5-page-break */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck-content .page-break { + clear: both; + justify-content: center; + align-items: center; + padding: 5px 0; + display: flex; + position: relative; +} + +.ck-content .page-break:after { + content: ""; + border-bottom: 2px dashed #c4c4c4; + width: 100%; + position: absolute; +} + +.ck-content .page-break__label { + z-index: 1; + text-transform: uppercase; + color: #333; + -webkit-user-select: none; + user-select: none; + background: #fff; + border: 1px solid #c4c4c4; + border-radius: 2px; + padding: .3em .6em; + font-size: .75em; + font-weight: bold; + display: block; + position: relative; + box-shadow: 2px 2px 1px #00000026; +} + +@media print { + .ck-content .page-break { + padding: 0; + } + + .ck-content .page-break:after { + display: none; + } + + .ck-content :has( + .page-break) { + margin-bottom: 0; + } +} + +/* @ckeditor/ckeditor5-paste-from-office */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-remove-format */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ + +/* @ckeditor/ckeditor5-table */ +/** + * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options + */ +.ck-content .table th { + text-align: start; +} + +.ck-content[dir="rtl"] .table th { + text-align: right; +} + +.ck-content[dir="ltr"] .table th { + text-align: left; +} + +.ck-content figure.table:not(.layout-table) { + display: table; +} + +.ck-content figure.table:not(.layout-table) > table { + width: 100%; + height: 100%; +} + +.ck-content .table:not(.layout-table) { + margin: .9em auto; +} + +.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table { + border-collapse: collapse; + border-spacing: 0; + border: 1px double #b3b3b3; +} + +:is(:is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > thead, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tfoot, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tbody) > tr > th { + background: #0000000d; + font-weight: bold; +} + +:is(:is(:is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > thead, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tfoot, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tbody) > tr > td, :is(:is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > thead, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tfoot, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tbody) > tr > th) > p:first-of-type { + margin-top: 0; +} + +:is(:is(:is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > thead, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tfoot, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tbody) > tr > td, :is(:is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > thead, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tfoot, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tbody) > tr > th) > p:last-of-type { + margin-bottom: 0; +} + +:is(:is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > thead, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tfoot, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tbody) > tr > td, :is(:is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > thead, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tfoot, :is(.ck-content table.table:not(.layout-table), .ck-content figure.table:not(.layout-table) > table) > tbody) > tr > th { + border: 1px solid #bfbfbf; + min-width: 2em; + padding: .4em; +} + +@media print { + .ck-content figure.table:not(.layout-table) { + width: fit-content; + height: fit-content; + } + + .ck-content figure.table:not(.layout-table) > table { + height: initial; + } +} + +.ck-editor__editable .ck-table-bogus-paragraph { + width: 100%; + display: inline-block; +} + +:root { + --ck-color-table-focused-cell-background: #9ec9fa4d; + --ck-table-content-default-border-color: #d4d4d4; + --ck-table-border-none-helper-line-color: #d4d4d4; + --ck-table-border-none-helper-line-style: dashed; + --ck-table-border-none-helper-line-width: 1px; +} + +.ck-widget.table table[style*="border:none"], .ck-widget.table table[style*="border-style:none"], .ck-widget.table table[style*="border:0"], .ck-widget.table table[style*="border-width:0"] { + outline: var(--ck-table-content-default-border-color) 1px dashed; +} + +:is(.ck-widget.table td, .ck-widget.table th).ck-editor__nested-editable { + outline: unset; +} + +:is(.ck-widget.table td, .ck-widget.table th).ck-editor__nested-editable:not(.ck-editor__editable_selected).ck-editor__nested-editable_focused, :is(.ck-widget.table td, .ck-widget.table th).ck-editor__nested-editable:not(.ck-editor__editable_selected):focus { + background: var(--ck-color-table-focused-cell-background); + outline: 1px solid var(--ck-color-focus-border); + outline-offset: -1px; +} + +:where(.ck.ck-editor__editable.ck-table-show-hidden-borders .ck-widget.table) { + --ck-table-border-none-helper-line: var(--ck-table-border-none-helper-line-width) + var(--ck-table-border-none-helper-line-style) + var(--ck-table-border-none-helper-line-color); +} + +:where(.ck.ck-editor__editable.ck-table-show-hidden-borders .ck-widget.table) :where(td, th):where([style*="border:none"], [style*="border:0"], [style*="border-style:none"], [style*="border-width:0"]) { + border: var(--ck-table-border-none-helper-line) !important; +} + +:where(.ck.ck-editor__editable.ck-table-show-hidden-borders .ck-widget.table) :where(table, td, th):where([style*="border-top-style:none"], [style*="border-top-width:0"]) { + border-top: var(--ck-table-border-none-helper-line) !important; +} + +:where(.ck.ck-editor__editable.ck-table-show-hidden-borders .ck-widget.table) :where(table, td, th):where([style*="border-right-style:none"], [style*="border-right-width:0"]) { + border-right: var(--ck-table-border-none-helper-line) !important; +} + +:where(.ck.ck-editor__editable.ck-table-show-hidden-borders .ck-widget.table) :where(table, td, th):where([style*="border-bottom-style:none"], [style*="border-bottom-width:0"]) { + border-bottom: var(--ck-table-border-none-helper-line) !important; +} + +:where(.ck.ck-editor__editable.ck-table-show-hidden-borders .ck-widget.table) :where(table, td, th):where([style*="border-left-style:none"], [style*="border-left-width:0"]) { + border-left: var(--ck-table-border-none-helper-line) !important; +} + +.ck.ck-table-cell-properties-form { + width: 320px; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row { + align-self: flex-end; + width: 25%; + padding: 0; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar { + margin-top: var(--ck-spacing-standard); + background: none; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar.ck-table-cell-properties-form__horizontal-alignment-toolbar { + --ck-table-form-dimensions-input-width: calc(var(--ck-table-form-default-input-width) * 2 + var(--ck-spacing-large)); + width: var(--ck-table-form-dimensions-input-width); + max-width: var(--ck-table-form-dimensions-input-width); + min-width: var(--ck-table-form-dimensions-input-width); + padding: 0; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar.ck-table-cell-properties-form__vertical-alignment-toolbar { + flex-grow: 1; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type { + flex-grow: .57; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type { + flex-grow: .43; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button { + flex-grow: 1; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row { + flex-wrap: wrap; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view > .ck-label { + font-size: var(--ck-font-size-tiny); + text-align: center; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style, .ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width { + width: 80px; + min-width: 80px; + max-width: 80px; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__dimensions-row { + --ck-table-form-dimensions-input-width: calc(var(--ck-table-form-default-input-width) * 2 + var(--ck-spacing-large)); + width: var(--ck-table-form-dimensions-input-width); + max-width: var(--ck-table-form-dimensions-input-width); + min-width: var(--ck-table-form-dimensions-input-width); + padding: 0; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width, .ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height { + width: var(--ck-table-form-default-input-width); + min-width: var(--ck-table-form-default-input-width); + max-width: var(--ck-table-form-default-input-width); + margin: 0; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator { + width: 0; + height: var(--ck-ui-component-min-height); + line-height: var(--ck-ui-component-min-height); + margin: 0 var(--ck-spacing-small); + align-self: flex-end; + display: inline-block; + position: relative; + left: -.5ch; + overflow: visible; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-form__row.ck-table-form__action-row > .ck.ck-button { + flex-grow: initial; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-form__row.ck-table-form__action-row > .ck.ck-button .ck-button__label { + color: currentColor; +} + +.ck.ck-table-cell-properties-form .ck-form__row.ck-table-form__cell-type-row { + --ck-table-form-dimensions-input-width: calc(var(--ck-table-form-default-input-width) * 2 + var(--ck-spacing-large)); + width: var(--ck-table-form-dimensions-input-width); + max-width: var(--ck-table-form-dimensions-input-width); + min-width: var(--ck-table-form-dimensions-input-width); + padding: 0; +} + +:root { + --ck-table-layout-widget-type-around-button-size: 16px; + --ck-table-layout-widget-type-around-icon-width: 10px; + --ck-table-layout-widget-type-around-icon-height: 8px; + --ck-table-layout-widget-handler-icon-size: 10px; + --ck-table-layout-default-border-color: #d4d4d4; +} + +.ck-content table.table.layout-table, .ck-content figure.table.layout-table { + margin-top: 0; + margin-bottom: 0; +} + +.ck-content table.table.layout-table, .ck-content figure.table.layout-table > table { + border-spacing: 0; +} + +.ck-editor__editable .table.layout-table > table { + border-collapse: revert; + width: 100%; + height: 100%; +} + +.ck-editor__editable .table.layout-table > table:not([style*="border:"], [style*="border-top"], [style*="border-bottom"], [style*="border-left"], [style*="border-right"], [style*="border-width"], [style*="border-style"], [style*="border-color"]) { + border-width: 0; + border-color: #0000; + outline: none; +} + +.ck-editor__editable .table.layout-table > table > tbody > tr > td { + box-shadow: revert; + padding: revert; + text-indent: 1px; + border-color: var(--ck-table-layout-default-border-color); + border-style: dashed; + min-width: 2em; +} + +.ck-editor__editable .table.layout-table > table > tbody > tr > td[style^="width:"], .ck-editor__editable .table.layout-table > table > tbody > tr > td[style*=" width:"], .ck-editor__editable .table.layout-table > table > tbody > tr > td[style*=";width:"] { + min-width: auto; +} + +.ck-editor__editable .table.layout-table > table > tbody > tr > td:focus { + background-color: #0000; +} + +.ck-editor__editable .table.layout-table > table > tbody > tr > td:not([style*="border:"], [style*="border-top"], [style*="border-bottom"], [style*="border-left"], [style*="border-right"], [style*="border-width"], [style*="border-style"], [style*="border-color"]) { + outline: var(--ck-table-layout-default-border-color) 1px dashed; + outline-offset: -1px; + border-width: 0; + border-color: #0000; +} + +.ck-editor__editable .table.layout-table > table > tbody > tr > td:not([style*="border:"], [style*="border-top"], [style*="border-bottom"], [style*="border-left"], [style*="border-right"], [style*="border-width"], [style*="border-style"], [style*="border-color"]):focus { + outline: var(--ck-color-focus-border) 1px solid; +} + +.ck-editor__editable .table.layout-table > table > tbody > tr > td > .ck-table-bogus-paragraph { + text-indent: 0; + width: calc(100% - 1px); +} + +.ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around { + --ck-widget-type-around-button-size: var(--ck-table-layout-widget-type-around-button-size); +} + +.ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around > .ck-widget__type-around__button.ck-widget__type-around__button_before, .ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around > .ck-widget__type-around__button.ck-widget__type-around__button_after { + z-index: 2; + transform: translateY(0); +} + +.ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around > .ck-widget__type-around__button.ck-widget__type-around__button_before { + margin-left: var(--ck-table-layout-widget-type-around-button-size); + border-radius: 0 0 100px 100px; + left: min(10%, 30px); +} + +.ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around > .ck-widget__type-around__button.ck-widget__type-around__button_before:after { + border-radius: 0 0 100px 100px; +} + +.ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around > .ck-widget__type-around__button.ck-widget__type-around__button_after { + border-radius: 100px 100px 0 0; +} + +.ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around > .ck-widget__type-around__button.ck-widget__type-around__button_after:after { + border-radius: 100px 100px 0 0; +} + +.ck-editor__editable .table.layout-table.ck-widget > .ck-widget__type-around > .ck-widget__type-around__button svg { + width: var(--ck-table-layout-widget-type-around-icon-width); + height: var(--ck-table-layout-widget-type-around-icon-height); +} + +.ck-editor__editable .table.layout-table.ck-widget.ck-widget_with-selection-handle > .ck-widget__selection-handle { + --ck-widget-handler-icon-size: var(--ck-table-layout-widget-handler-icon-size); + transform: translateY(calc(0px - var(--ck-widget-outline-thickness))); + z-index: 3; +} + +.ck-editor__editable .table.layout-table.ck-widget.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + top: 0; +} + +.ck-editor__editable .table.layout-table.ck-widget.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + bottom: 0; +} + +.ck-editor__editable .table.layout-table.ck-widget:hover { + z-index: var(--ck-z-default); +} + +.ck-editor__editable .table.layout-table.ck-widget:hover > .ck-widget__selection-handle { + opacity: .75; + visibility: visible; +} + +.ck-editor__editable .table.layout-table.ck-widget:hover > .ck-widget__selection-handle:hover { + opacity: 1; +} + +.ck-editor__editable .table.layout-table.ck-widget:has(.ck-widget.table:hover) > .ck-widget__selection-handle { + opacity: 0; + visibility: hidden; +} + +.ck-editor__editable .table.layout-table.ck-widget.ck-widget_selected { + z-index: var(--ck-z-default); +} + +.ck-editor__editable .table.layout-table { + margin: 0; + display: table; +} + +.ck-editor__editable.ck-editor__editable_inline > .ck-widget.ck-widget_with-selection-handle.layout-table:first-child { + margin-top: var(--ck-spacing-large); +} + +.ck-editor__editable.ck-editor__editable_inline > .ck-widget.ck-widget_with-selection-handle.layout-table:last-child, .ck-editor__editable.ck-editor__editable_inline > .ck-widget.ck-widget_with-selection-handle.layout-table:nth-last-child(2):has( + .ck-fake-selection-container) { + margin-bottom: var(--ck-spacing-large); +} + +.ck.ck-form__row > :not(.ck-label) + * { + margin-inline-start: var(--ck-spacing-large); +} + +.ck.ck-form__row > .ck-label { + width: 100%; + min-width: 100%; +} + +.ck.ck-form__row.ck-table-form__action-row { + margin-top: var(--ck-spacing-large); + justify-content: flex-end; +} + +.ck.ck-form__row.ck-table-form__action-row .ck-button-save, .ck.ck-form__row.ck-table-form__action-row .ck-button-cancel { + justify-content: center; +} + +:root { + --ck-table-properties-error-arrow-size: 6px; + --ck-table-properties-min-error-width: 150px; +} + +.ck.ck-table-form { + --ck-table-form-default-input-width: 80px; +} + +.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view > .ck-label { + font-size: var(--ck-font-size-tiny); + text-align: center; +} + +.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style, .ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width { + width: var(--ck-table-form-default-input-width); + min-width: var(--ck-table-form-default-input-width); + max-width: var(--ck-table-form-default-input-width); +} + +.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row { + --ck-table-form-dimensions-input-width: calc(var(--ck-table-form-default-input-width) * 2 + var(--ck-spacing-large)); + width: var(--ck-table-form-dimensions-input-width); + max-width: var(--ck-table-form-dimensions-input-width); + min-width: var(--ck-table-form-dimensions-input-width); + padding: 0; +} + +.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width, .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height { + width: var(--ck-table-form-default-input-width); + min-width: var(--ck-table-form-default-input-width); + max-width: var(--ck-table-form-default-input-width); + margin: 0; +} + +.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator { + width: 0; + height: var(--ck-ui-component-min-height); + line-height: var(--ck-ui-component-min-height); + margin: 0 var(--ck-spacing-small); + align-self: flex-end; + display: inline-block; + position: relative; + left: -.5ch; + overflow: visible; +} + +.ck.ck-table-form .ck-form__row.ck-table-form__border-row, .ck.ck-table-form .ck-form__row.ck-table-form__background-row, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row { + flex-wrap: wrap; +} + +.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row { + flex-wrap: wrap; + align-items: center; +} + +:is(.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row) .ck-labeled-field-view { + flex-direction: column-reverse; + align-items: center; + display: flex; +} + +:is(.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row) .ck-labeled-field-view .ck.ck-dropdown { + flex-grow: 0; +} + +.ck.ck-table-form .ck-form__row:not(.ck-table-form__action-row) > :not(.ck-label, .ck-table-form__dimension-operator) { + flex-grow: 1; +} + +.ck.ck-table-form .ck.ck-labeled-field-view { + padding-top: var(--ck-spacing-standard); +} + +.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status { + border-radius: var(--ck-rounded-corners-radius); + background: var(--ck-color-base-error); + color: var(--ck-color-base-background); + padding: var(--ck-spacing-small) var(--ck-spacing-medium); + min-width: var(--ck-table-properties-min-error-width); + text-align: center; + left: 50%; + bottom: calc(-1 * var(--ck-table-properties-error-arrow-size)); + animation: .15s both ck-table-form-labeled-view-status-appear; + position: absolute; + transform: translate(-50%, 100%); +} + +.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after { + border-color: transparent transparent var(--ck-color-base-error) transparent; + border-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size); + content: ""; + top: calc(-1 * var(--ck-table-properties-error-arrow-size)); + border-style: solid; + position: absolute; + left: 50%; + transform: translateX(-50%); +} + +@media (prefers-reduced-motion: reduce) { + .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status { + animation: none; + } +} + +.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status { + z-index: 1; +} + +.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status { + display: none; +} + +.ck.ck-table-form .ck.ck-labeled-field-view { + position: relative; +} + +@keyframes ck-table-form-labeled-view-status-appear { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.ck.ck-table-properties-form { + width: 320px; +} + +.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row { + flex-wrap: wrap; + flex-basis: 0; + align-content: baseline; + align-self: flex-end; +} + +.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar { + margin-top: var(--ck-spacing-standard); + background: none; +} + +.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items > * { + flex: 1; +} + +.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items { + flex-wrap: nowrap; +} + +:root { + --ck-content-table-style-spacing: 1.5em; +} + +.ck-content .table.table-style-align-left { + float: left; + margin-right: var(--ck-content-table-style-spacing); +} + +.ck-content .table.table-style-align-right { + float: right; + margin-left: var(--ck-content-table-style-spacing); +} + +.ck-content .table.table-style-align-center { + margin-left: auto; + margin-right: auto; +} + +.ck-content .table.table-style-block-align-left { + margin-left: 0; + margin-right: auto; +} + +.ck-content .table.table-style-block-align-right { + margin-left: auto; + margin-right: 0; +} + +.ck-editor__editable .table.layout-table.table-style-align-center { + margin-left: auto; + margin-right: auto; +} + +.ck-editor__editable .table.layout-table.table-style-align-left { + margin-right: var(--ck-content-table-style-spacing); +} + +.ck-editor__editable .table.layout-table.table-style-align-right { + margin-left: var(--ck-content-table-style-spacing); +} + +.ck-editor__editable .table.layout-table.table-style-block-align-left { + margin-left: 0; + margin-right: auto; +} + +.ck-editor__editable .table.layout-table.table-style-block-align-right { + margin-left: auto; + margin-right: 0; +} + +:root { + --ck-content-color-table-caption-background: #f7f7f7; + --ck-content-color-table-caption-text: #333; + --ck-color-table-caption-highlighted-background: #fd0; +} + +.ck-content .table > figcaption, .ck-content figure.table > table > caption { + caption-side: top; + word-break: normal; + overflow-wrap: anywhere; + text-align: center; + color: var(--ck-content-color-table-caption-text); + background-color: var(--ck-content-color-table-caption-background); + outline-offset: -1px; + padding: .6em; + font-size: .75em; + display: table-caption; +} + +@media (forced-colors: active) { + .ck-content .table > figcaption, .ck-content figure.table > table > caption { + background-color: unset; + color: unset; + } +} + +@media (forced-colors: none) { + :is(.ck.ck-editor__editable .table > figcaption, .ck.ck-editor__editable figure.table > table > caption).table__caption_highlighted { + animation: .6s ease-out ck-table-caption-highlight; + } +} + +:is(.ck.ck-editor__editable .table > figcaption, .ck.ck-editor__editable figure.table > table > caption).ck-placeholder:before { + padding-left: inherit; + padding-right: inherit; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +@keyframes ck-table-caption-highlight { + 0% { + background-color: var(--ck-color-table-caption-highlighted-background); + } + + 100% { + background-color: var(--ck-content-color-table-caption-background); + } +} + +:root { + --ck-table-selected-cell-background: #9ecffa4d; +} + +.ck.ck-editor__editable .table table td.ck-editor__editable_selected, .ck.ck-editor__editable .table table th.ck-editor__editable_selected { + caret-color: #0000; + box-shadow: unset; + position: relative; +} + +:is(.ck.ck-editor__editable .table table td.ck-editor__editable_selected, .ck.ck-editor__editable .table table th.ck-editor__editable_selected):after { + content: ""; + pointer-events: none; + background-color: var(--ck-table-selected-cell-background); + position: absolute; + inset: 0; +} + +:is(.ck.ck-editor__editable .table table td.ck-editor__editable_selected, .ck.ck-editor__editable .table table th.ck-editor__editable_selected) ::selection, :is(.ck.ck-editor__editable .table table td.ck-editor__editable_selected, .ck.ck-editor__editable .table table th.ck-editor__editable_selected):focus { + background-color: #0000; +} + +:is(.ck.ck-editor__editable .table table td.ck-editor__editable_selected, .ck.ck-editor__editable .table table th.ck-editor__editable_selected) .ck-widget { + outline: unset; +} + +:is(.ck.ck-editor__editable .table table td.ck-editor__editable_selected, .ck.ck-editor__editable .table table th.ck-editor__editable_selected) .ck-widget > .ck-widget__selection-handle { + display: none; +} + +:root { + --ck-color-table-column-resizer-hover: var(--ck-color-base-active); + --ck-table-column-resizer-width: 7px; + --ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -.5 - .5px); +} + +.ck-content .table .ck-table-resized { + table-layout: fixed; +} + +.ck-content .table td, .ck-content .table th { + overflow-wrap: break-word; +} + +.ck.ck-editor__editable .table td, .ck.ck-editor__editable .table th { + position: relative; +} + +.ck.ck-editor__editable .table .ck-table-column-resizer { + top: 0; + bottom: 0; + right: var(--ck-table-column-resizer-position-offset); + width: var(--ck-table-column-resizer-width); + cursor: col-resize; + user-select: none; + z-index: var(--ck-z-default); + position: absolute; +} + +.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer, .ck.ck-editor__editable .table[draggable] .ck-table-column-resizer { + display: none; +} + +.ck.ck-editor__editable .table .ck-table-column-resizer:hover, .ck.ck-editor__editable .table .ck-table-column-resizer__active { + background-color: var(--ck-color-table-column-resizer-hover); + opacity: .25; +} + +.ck.ck-editor__editable[dir="rtl"] .table .ck-table-column-resizer { + left: var(--ck-table-column-resizer-position-offset); + right: unset; +} + +[dir="ltr"] :is(.ck.ck-input-color > .ck.ck-input-text) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +[dir="rtl"] :is(.ck.ck-input-color > .ck.ck-input-text) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.ck.ck-input-color > .ck.ck-input-text:focus { + z-index: 0; +} + +.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button { + padding: 0; + display: flex; +} + +[dir="ltr"] :is(.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +[dir="ltr"] :is(.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button):not(:focus) { + border-left: 1px solid #0000; +} + +[dir="rtl"] :is(.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +[dir="rtl"] :is(.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button):not(:focus) { + border-right: 1px solid #0000; +} + +.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button.ck-disabled { + background: var(--ck-color-input-disabled-background); +} + +.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button > .ck.ck-input-color__button__preview { + border-radius: var(--ck-rounded-corners-radius); + border: 1px solid var(--ck-color-input-border); + width: 20px; + height: 20px; + position: relative; + overflow: hidden; +} + +.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button > .ck.ck-input-color__button__preview > .ck.ck-input-color__button__preview__no-color-indicator { + transform-origin: 50%; + background: red; + border-radius: 2px; + width: 8%; + height: 150%; + display: block; + position: absolute; + top: -30%; + left: 50%; + transform: rotate(45deg); +} + +.ck.ck-input-color .ck.ck-input-color__remove-color { + width: 100%; + padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard); + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus) { + border-bottom: 1px solid var(--ck-color-input-border); +} + +[dir="ltr"] :is(.ck.ck-input-color .ck.ck-input-color__remove-color) { + border-top-right-radius: 0; +} + +[dir="rtl"] :is(.ck.ck-input-color .ck.ck-input-color__remove-color) { + border-top-left-radius: 0; +} + +.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon { + margin-right: var(--ck-spacing-standard); +} + +[dir="rtl"] :is(.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon) { + margin-right: 0; + margin-left: var(--ck-spacing-standard); +} + +.ck.ck-input-color { + flex-direction: row-reverse; + width: 100%; + display: flex; +} + +.ck.ck-input-color > input.ck.ck-input-text { + flex-grow: 1; + min-width: auto; +} + +.ck.ck-input-color > div.ck.ck-dropdown { + min-width: auto; +} + +.ck.ck-input-color > div.ck.ck-dropdown > .ck-input-color__button .ck-dropdown__arrow { + display: none; +} + +:root { + --ck-insert-table-dropdown-padding: 10px; + --ck-insert-table-dropdown-box-height: 11px; + --ck-insert-table-dropdown-box-width: 12px; + --ck-insert-table-dropdown-box-margin: 1px; +} + +.ck .ck-insert-table-dropdown__grid { + width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2); + padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0; + flex-flow: wrap; + display: flex; +} + +.ck .ck-insert-table-dropdown__label, .ck[dir="rtl"] .ck-insert-table-dropdown__label { + text-align: center; +} + +.ck .ck-insert-table-dropdown-grid-box { + min-width: var(--ck-insert-table-dropdown-box-width); + min-height: var(--ck-insert-table-dropdown-box-height); + margin: var(--ck-insert-table-dropdown-box-margin); + border: 1px solid var(--ck-color-base-border); + border-radius: 1px; + outline: none; + transition: none; +} + +@media (prefers-reduced-motion: reduce) { + .ck .ck-insert-table-dropdown-grid-box { + transition: none; + } +} + +.ck .ck-insert-table-dropdown-grid-box:focus { + box-shadow: none; +} + +.ck .ck-insert-table-dropdown-grid-box.ck-on { + border-color: var(--ck-color-focus-border); + background: var(--ck-color-focus-outer-shadow); +} diff --git a/frontend/src/vendor/ckeditor/ckeditor.js b/frontend/src/vendor/ckeditor/ckeditor.js index 093e190d861..ee51ef5cc65 100644 --- a/frontend/src/vendor/ckeditor/ckeditor.js +++ b/frontend/src/vendor/ckeditor/ckeditor.js @@ -1,7 +1,6 @@ -!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"(may require Fn)":"(may require Fn)","%0 of %1":"%0 of %1",Accept:"Accept",Accessibility:"Accessibility","Accessibility help":"Accessibility help","Align cell text to the bottom":"Align cell text to the bottom","Align cell text to the center":"Align cell text to the center","Align cell text to the left":"Align cell text to the left","Align cell text to the middle":"Align cell text to the middle","Align cell text to the right":"Align cell text to the right","Align cell text to the top":"Align cell text to the top","Align table to the left":"Align table to the left","Align table to the right":"Align table to the right",Alignment:"Alignment",Aquamarine:"Aquamarine",Background:"Background","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Below, you can find a list of keyboard shortcuts that can be used in the editor.",Black:"Black","Block quote":"Block quote",Blue:"Blue",Bold:"Bold","Bold text":"Bold text",Border:"Border","Break text":"Break text","Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Cell properties":"Cell properties","Center table":"Center table","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Choose heading":"Choose heading",Circle:"Circle",Clear:"Clear","Click to edit block":"Click to edit block",Close:"Close","Close contextual balloons, dropdowns, and dialogs":"Close contextual balloons, dropdowns, and dialogs",Code:"Code",Color:"Color","Color picker":"Color picker",Column:"Column","Content editing keystrokes":"Content editing keystrokes","Copy selected content":"Copy selected content","Create link":"Create link",Custom:"Custom","Custom image size":"Custom image size",Dashed:"Dashed",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero","Decrease list item indent":"Decrease list item indent","Delete column":"Delete column","Delete row":"Delete row","Dim grey":"Dim grey",Dimensions:"Dimensions",Disc:"Disc",Dotted:"Dotted",Double:"Double",Downloadable:"Downloadable","Drag to move":"Drag to move","Dropdown menu":"Dropdown menu","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Edit link":"Edit link","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","Editor dialog":"Editor dialog","Editor menu bar":"Editor menu bar","Editor toolbar":"Editor toolbar","Enter image caption":"Enter image caption","Enter table caption":"Enter table caption","Entering a to-do list":"Entering a to-do list","Error during image upload":"Error during image upload","Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.":"Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.","From computer":"From computer","Full size image":"Full size image",Green:"Green",Grey:"Grey",Groove:"Groove","Header column":"Header column","Header row":"Header row",Heading:"Heading","Heading 1":"Heading 1","Heading 2":"Heading 2","Heading 3":"Heading 3","Heading 4":"Heading 4","Heading 5":"Heading 5","Heading 6":"Heading 6",Height:"Height","Help Contents. To close this dialog press ESC.":"Help Contents. To close this dialog press ESC.",HEX:"HEX","Horizontal text alignment toolbar":"Horizontal text alignment toolbar",Image:"Image","Image from computer":"Image from computer","Image resize list":"Image resize list","Image toolbar":"Image toolbar","Image upload complete":"Image upload complete","Image via URL":"Image via URL","image widget":"image widget","In line":"In line","Increase list item indent":"Increase list item indent","Insert a hard break (a new paragraph)":"Insert a hard break (a new paragraph)","Insert a new paragraph directly after a widget":"Insert a new paragraph directly after a widget","Insert a new paragraph directly before a widget":"Insert a new paragraph directly before a widget","Insert a new table row (when in the last cell of a table)":"Insert a new table row (when in the last cell of a table)","Insert a soft break (a <br> element)":"Insert a soft break (a <br> element)","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table","Insert via URL":"Insert via URL",Inset:"Inset","Invalid start index value.":"Invalid start index value.",Italic:"Italic","Italic text":"Italic text","Justify cell text":"Justify cell text","Keystrokes that can be used in a list":"Keystrokes that can be used in a list","Keystrokes that can be used in a table cell":"Keystrokes that can be used in a table cell","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Keystrokes that can be used when a widget is selected (for example: image, table, etc.)","Leaving a to-do list":"Leaving a to-do list","Left aligned image":"Left aligned image","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Link:"Link","Link image":"Link image","Link URL":"Link URL","Link URL must not be empty.":"Link URL must not be empty.","List properties":"List properties","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman",MENU_BAR_MENU_EDIT:"Edit",MENU_BAR_MENU_FILE:"File",MENU_BAR_MENU_FONT:"Font",MENU_BAR_MENU_FORMAT:"Format",MENU_BAR_MENU_HELP:"Help",MENU_BAR_MENU_INSERT:"Insert",MENU_BAR_MENU_TEXT:"Text",MENU_BAR_MENU_TOOLS:"Tools",MENU_BAR_MENU_VIEW:"View","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells","Move focus between form fields (inputs, buttons, etc.)":"Move focus between form fields (inputs, buttons, etc.)","Move focus from an editable area back to the parent widget":"Move focus from an editable area back to the parent widget","Move focus in and out of an active dialog window":"Move focus in and out of an active dialog window","Move focus to the menu bar, navigate between menu bars":"Move focus to the menu bar, navigate between menu bars","Move focus to the toolbar, navigate between toolbars":"Move focus to the toolbar, navigate between toolbars","Move out of a link":"Move out of a link","Move out of an inline code style":"Move out of an inline code style","Move the caret to allow typing directly after a widget":"Move the caret to allow typing directly after a widget","Move the caret to allow typing directly before a widget":"Move the caret to allow typing directly before a widget","Move the selection to the next cell":"Move the selection to the next cell","Move the selection to the previous cell":"Move the selection to the previous cell","Navigate through the table":"Navigate through the table","Navigate through the toolbar or menu bar":"Navigate through the toolbar or menu bar",Next:"Next","No results found":"No results found","No searchable items":"No searchable items",None:"None","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Open in a new tab":"Open in a new tab","Open link in new tab":"Open link in new tab","Open the accessibility help dialog":"Open the accessibility help dialog",Orange:"Orange",Original:"Original",Outset:"Outset",Padding:"Padding","Page break":"Page break",Paragraph:"Paragraph","Paste content":"Paste content","Paste content as plain text":"Paste content as plain text",'Please enter a valid color (e.g. "ff0000").':'Please enter a valid color (e.g. "ff0000").',"Press %0 for help.":"Press %0 for help.","Press Enter to type after or press Shift + Enter to type before the widget":"Press Enter to type after or press Shift + Enter to type before the widget",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Replace from computer":"Replace from computer","Replace image":"Replace image","Replace image from computer":"Replace image from computer","Resize image":"Resize image","Resize image (in %0)":"Resize image (in %0)","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Restore default":"Restore default","Reversed order":"Reversed order","Revert autoformatting action":"Revert autoformatting action","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"Rich Text Editor. Editing area: %0",Ridge:"Ridge","Right aligned image":"Right aligned image",Row:"Row",Save:"Save","Saving changes":"Saving changes","Scroll to target":"Scroll to target","Select all":"Select all","Select column":"Select column","Select row":"Select row","Show more items":"Show more items","Side image":"Side image",Solid:"Solid","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Square:"Square","Start at":"Start at","Start index must be greater than 0.":"Start index must be greater than 0.",Strikethrough:"Strikethrough","Strikethrough text":"Strikethrough text",Style:"Style",Subscript:"Subscript",Superscript:"Superscript",Table:"Table","Table alignment toolbar":"Table alignment toolbar","Table cell text alignment":"Table cell text alignment","Table properties":"Table properties","Table toolbar":"Table toolbar","Text alternative":"Text alternative",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'The value is invalid. Try "10px" or "2em" or simply "2".',"The value must not be empty.":"The value must not be empty.","The value should be a plain number.":"The value should be a plain number.","These keyboard shortcuts allow for quick access to content editing features.":"These keyboard shortcuts allow for quick access to content editing features.","This link has no URL":"This link has no URL","To-do List":"To-do List","Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style",Turquoise:"Turquoise","Type or paste your content here.":"Type or paste your content here.","Type your title":"Type your title",Underline:"Underline","Underline text":"Underline text",Undo:"Undo",Unlink:"Unlink","Update image URL":"Update image URL","Upload failed":"Upload failed","Upload from computer":"Upload from computer","Upload image from computer":"Upload image from computer","Upload in progress":"Upload in progress","Uploading image":"Uploading image","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman","Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.":"Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.","User interface and content navigation keystrokes":"User interface and content navigation keystrokes","Vertical text alignment toolbar":"Vertical text alignment toolbar","Via URL":"Via URL",White:"White","Widget toolbar":"Widget toolbar",Width:"Width","Wrap text":"Wrap text",Yellow:"Yellow","You have no image upload permissions.":"You have no image upload permissions."}),t.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), /*! * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. */ -function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.OPEditor=t():e.OPEditor=t()}(self,(()=>(()=>{var e,t,o={55:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-menu-bar__menu{display:block;font-size:inherit;position:relative}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level{max-width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenu.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenu.css"],names:[],mappings:"AAKA,sBACC,aAAc,CCCd,iBAAkB,CDAlB,iBACD,CCCC,kDACC,cACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-menu-bar__menu {\n\tdisplay: block;\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-menu-bar__menu {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t&.ck-menu-bar__menu_top-level {\n\t\tmax-width: 100%;\n\t}\n}\n"],sourceRoot:""}]);const a=s},66:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);border-radius:0;padding:0 var(--ck-spacing-small)}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar .ck.ck-toolbar__separator{background:var(--ck-color-toolbar-border);height:var(--ck-icon-size);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eAGC,6CAA8C,CAE9C,+CAAgD,CCFhD,eAAgB,CDChB,iCAuGD,CCtGC,qEAEC,qCAED,CDFA,yCAIC,yCAA0C,CAH1C,0BAA2B,CAU3B,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAEA,qCACC,QACD,CAaA,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\theight: var(--ck-icon-size);\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t/* A drop-down containing the nested toolbar with configured items. */\n\t& .ck-toolbar__nested-toolbar-dropdown {\n\t\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\n\t\t& > .ck-dropdown__panel {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& > .ck-button > .ck-button__label {\n\t\t\tmax-width: 7em;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t.ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},178:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CCTC,yJAEC,qCAED,CDCA,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\t/*\n\t\t * This value should match with the default margins of the block elements (like .media or .image)\n\t\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\n\t\t */\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-panel-background);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-panel-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},426:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-panel) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);border-radius:0;bottom:0;min-width:100%}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBAIC,oDAAqD,CACrD,sDAAuD,CGvFvD,eAAgB,CHwFhB,QAAS,CAGT,cAuBD,CGhHC,qFAEC,qCAED,CH4ED,uBEpFC,oCFoHD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\t}\n\n\t& .ck-dropdown__panel {\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-panel);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-panel) + 1 );\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},532:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css"],names:[],mappings:"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-content ol {\n\tlist-style-type: decimal;\n\n\t& ol {\n\t\tlist-style-type: lower-latin;\n\n\t\t& ol {\n\t\t\tlist-style-type: lower-roman;\n\n\t\t\t& ol {\n\t\t\t\tlist-style-type: upper-latin;\n\n\t\t\t\t& ol {\n\t\t\t\t\tlist-style-type: upper-roman;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-content ul {\n\tlist-style-type: disc;\n\n\t& ul {\n\t\tlist-style-type: circle;\n\n\t\t& ul {\n\t\t\tlist-style-type: square;\n\n\t\t\t& ul {\n\t\t\t\tlist-style-type: square;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},601:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-hidden{display:none!important}:root{--ck-z-default:1;--ck-z-panel:calc(var(--ck-z-default) + 999);--ck-z-dialog:9999}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-font-size:calc(var(--ck-font-size-base)*7.5/13);--ck-powered-by-line-height:calc(var(--ck-font-size-base)*10/13);--ck-powered-by-letter-spacing:calc(var(--ck-font-size-base)*-0.2/13);--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border);--ck-powered-by-svg-width:53;--ck-powered-by-svg-height:10;--ck-powered-by-icon-width:calc(var(--ck-font-size-base)*var(--ck-powered-by-svg-width)/13);--ck-powered-by-icon-height:calc(var(--ck-font-size-base)*var(--ck-powered-by-svg-height)/13)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:var(--ck-powered-by-font-size);font-weight:700;letter-spacing:var(--ck-powered-by-letter-spacing);line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block;height:var(--ck-powered-by-icon-height);width:var(--ck-powered-by-icon-width)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-evaluation-badge-font-size:calc(var(--ck-font-size-base)*7.5/13);--ck-evaluation-badge-line-height:calc(var(--ck-font-size-base)*7.5/13);--ck-evaluation-badge-letter-spacing:calc(var(--ck-font-size-base)*-0.2/13);--ck-evaluation-badge-padding-vertical:2px;--ck-evaluation-badge-padding-horizontal:4px;--ck-evaluation-badge-text-color:#4f4f4f;--ck-evaluation-badge-border-radius:var(--ck-border-radius);--ck-evaluation-badge-background:#fff;--ck-evaluation-badge-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-evaluation-badge-balloon{--ck-border-radius:var(--ck-evaluation-badge-border-radius);background:var(--ck-evaluation-badge-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-evaluation-badge-balloon .ck.ck-evaluation-badge{line-height:var(--ck-evaluation-badge-line-height);padding:var(--ck-evaluation-badge-padding-vertical) var(--ck-evaluation-badge-padding-horizontal)}.ck.ck-balloon-panel.ck-evaluation-badge-balloon .ck.ck-evaluation-badge .ck-evaluation-badge__label{color:var(--ck-evaluation-badge-text-color);display:block;font-size:var(--ck-evaluation-badge-font-size);font-weight:700;letter-spacing:var(--ck-evaluation-badge-letter-spacing);line-height:normal;padding:0 2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-evaluation-badge-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-evaluation-badge-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-evaluation-badge-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-dialog-background:var(--ck-custom-background);--ck-color-dialog-form-header-border:var(--ck-custom-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{background:transparent;border:0;box-sizing:border-box;height:auto;margin:0;padding:0;position:static;text-decoration:none;transition:none;vertical-align:middle;width:auto;word-wrap:break-word}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_evaluationbadge.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"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",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A class which hides an element in DOM.\n */\n.ck-hidden {\n\t/* Override selector specificity. Otherwise, all elements with some display\n\tstyle defined will override this one, which is not a desired result. */\n\tdisplay: none !important;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-z-default: 1;\n\t--ck-z-panel: calc( var(--ck-z-default) + 999 );\n\t--ck-z-dialog: 9999;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A class that disables all transitions of the element and its children.\n */\n.ck-transitions-disabled,\n.ck-transitions-disabled * {\n\ttransition: none !important;\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/* where 7.5(px) is the font size of the powered by label and 13(px) is the base font size. */\n\t--ck-powered-by-font-size: calc(var(--ck-font-size-base) * 7.5 / 13);\n\t/* where 10(px) is the line height of the powered by label and 13(px) is the base font size. */\n\t--ck-powered-by-line-height: calc(var(--ck-font-size-base) * 10 / 13);\n\t/* where -0.2(px) is the letter spacing of the powered by label and 13(px) is the base font size. */\n\t--ck-powered-by-letter-spacing: calc(var(--ck-font-size-base) * -0.2 / 13);\n\t--ck-powered-by-padding-vertical: 2px;\n\t--ck-powered-by-padding-horizontal: 4px;\n\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\n\t--ck-powered-by-border-radius: var(--ck-border-radius);\n\t--ck-powered-by-background: hsl(0, 0%, 100%);\n\t--ck-powered-by-border-color: var(--ck-color-focus-border);\n\n\t--ck-powered-by-svg-width: 53;\n\t--ck-powered-by-svg-height: 10;\n\t--ck-powered-by-icon-width: calc(var(--ck-font-size-base) * var(--ck-powered-by-svg-width) / 13);\n\t--ck-powered-by-icon-height: calc(var(--ck-font-size-base) * var(--ck-powered-by-svg-height) / 13);\n}\n\n.ck.ck-balloon-panel.ck-powered-by-balloon {\n\t--ck-border-radius: var(--ck-powered-by-border-radius);\n\n\tbox-shadow: none;\n\tbackground: var(--ck-powered-by-background);\n\tmin-height: unset;\n\tz-index: calc( var(--ck-z-panel) - 1 );\n\n\t& .ck.ck-powered-by {\n\t\tline-height: var(--ck-powered-by-line-height);\n\n\t\t& a {\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\topacity: .66;\n\t\t\tfilter: grayscale(80%);\n\t\t\tline-height: var(--ck-powered-by-line-height);\n\t\t\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\n\t\t}\n\n\t\t& .ck-powered-by__label {\n\t\t\tfont-size: var(--ck-powered-by-font-size);\n\t\t\tletter-spacing: var(--ck-powered-by-letter-spacing);\n\t\t\tpadding-left: 2px;\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-right: 4px;\n\t\t\tcursor: pointer;\n\t\t\tline-height: normal;\n\t\t\tcolor: var(--ck-powered-by-text-color);\n\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\tdisplay: block;\n\t\t\tcursor: pointer;\n\t\t\twidth: var(--ck-powered-by-icon-width);\n\t\t\theight: var(--ck-powered-by-icon-height);\n\t\t}\n\n\t\t&:hover {\n\t\t\t& a {\n\t\t\t\tfilter: grayscale(0%);\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[class*="position_inside"] {\n\t\tborder-color: transparent;\n\t}\n\n\t&[class*="position_border"] {\n\t\tborder: var(--ck-focus-ring);\n\t\tborder-color: var(--ck-powered-by-border-color);\n\t}\n}\n\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/* where 7.5(px) is the font size of the evaluation badge label and 13(px) is the base font size. */\n\t--ck-evaluation-badge-font-size: calc(var(--ck-font-size-base) * 7.5 / 13);\n\t/* where 7.5(px) is the line height of the evaluation badge label and 13(px) is the base font size. */\n\t--ck-evaluation-badge-line-height: calc(var(--ck-font-size-base) * 7.5 / 13);\n\t/* where -0.2(px) is the letter spacing of the evaluation badge label and 13(px) is the base font size. */\n\t--ck-evaluation-badge-letter-spacing: calc(var(--ck-font-size-base) * -0.2 / 13);\n\t--ck-evaluation-badge-padding-vertical: 2px;\n\t--ck-evaluation-badge-padding-horizontal: 4px;\n\t--ck-evaluation-badge-text-color: hsl(0, 0%, 31%);\n\t--ck-evaluation-badge-border-radius: var(--ck-border-radius);\n\t--ck-evaluation-badge-background: hsl(0, 0%, 100%);\n\t--ck-evaluation-badge-border-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-balloon-panel.ck-evaluation-badge-balloon {\n\t--ck-border-radius: var(--ck-evaluation-badge-border-radius);\n\n\tbox-shadow: none;\n\tbackground: var(--ck-evaluation-badge-background);\n\tmin-height: unset;\n\tz-index: calc( var(--ck-z-panel) - 1 );\n\n\t& .ck.ck-evaluation-badge {\n\t\tline-height: var(--ck-evaluation-badge-line-height);\n\t\tpadding: var(--ck-evaluation-badge-padding-vertical) var(--ck-evaluation-badge-padding-horizontal);\n\n\t\t& .ck-evaluation-badge__label {\n\t\t\tdisplay: block;\n\t\t\tpadding: 0 2px;\n\t\t\tfont-size: var(--ck-evaluation-badge-font-size);\n\t\t\tletter-spacing: var(--ck-evaluation-badge-letter-spacing);\n\t\t\tfont-weight: bold;\n\t\t\tline-height: normal;\n\t\t\ttext-transform: uppercase;\n\t\t\tcolor: var(--ck-evaluation-badge-text-color);\n\t\t}\n\t}\n\n\t&[class*="position_inside"] {\n\t\tborder-color: transparent;\n\t}\n\n\t&[class*="position_border"] {\n\t\tborder: var(--ck-focus-ring);\n\t\tborder-color: var(--ck-evaluation-badge-border-color);\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-base-foreground: \t\t\t\t\t\t\t\thsl(0, 0%, 98%);\n\t--ck-color-base-background: \t\t\t\t\t\t\t\thsl(0, 0%, 100%);\n\t--ck-color-base-border: \t\t\t\t\t\t\t\t\thsl(220, 6%, 81%);\n\t--ck-color-base-action: \t\t\t\t\t\t\t\t\thsl(104, 50.2%, 42.5%);\n\t--ck-color-base-focus: \t\t\t\t\t\t\t\t\t\thsl(209, 92%, 70%);\n\t--ck-color-base-text: \t\t\t\t\t\t\t\t\t\thsl(0, 0%, 20%);\n\t--ck-color-base-active: \t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\t--ck-color-base-active-focus:\t\t\t\t\t\t\t\thsl(218.2, 100%, 52.5%);\n\t--ck-color-base-error:\t\t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------ */\n\n\t--ck-color-focus-border-coordinates: \t\t\t\t\t\t218, 81.8%, 56.9%;\n\t--ck-color-focus-border: \t\t\t\t\t\t\t\t\thsl(var(--ck-color-focus-border-coordinates));\n\t--ck-color-focus-outer-shadow:\t\t\t\t\t\t\t\thsl(212.4, 89.3%, 89%);\n\t--ck-color-focus-disabled-shadow:\t\t\t\t\t\t\thsla(209, 90%, 72%,.3);\n\t--ck-color-focus-error-shadow:\t\t\t\t\t\t\t\thsla(9,100%,56%,.3);\n\t--ck-color-text: \t\t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-shadow-drop: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.15);\n\t--ck-color-shadow-drop-active:\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.2);\n\t--ck-color-shadow-inner: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Buttons ------------------------------------------------------------------------------- */\n\n\t--ck-color-button-default-background: \t\t\t\t\t\ttransparent;\n\t--ck-color-button-default-hover-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-active-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-disabled-background: \t\t\t\ttransparent;\n\n\t--ck-color-button-on-background: \t\t\t\t\t\t\thsl(212, 100%, 97.1%);\n\t--ck-color-button-on-hover-background: \t\t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-active-background: \t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-disabled-background: \t\t\t\t\thsl(211, 15%, 95%);\n\t--ck-color-button-on-color:\t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\n\n\t--ck-color-button-action-background: \t\t\t\t\t\tvar(--ck-color-base-action);\n\t--ck-color-button-action-hover-background: \t\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-active-background: \t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-disabled-background: \t\t\t\thsl(104, 44%, 58%);\n\t--ck-color-button-action-text: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t--ck-color-button-save: \t\t\t\t\t\t\t\t\thsl(120, 100%, 27%);\n\t--ck-color-button-cancel: \t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t--ck-color-switch-button-off-background:\t\t\t\t\thsl(0, 0%, 57.6%);\n\t--ck-color-switch-button-off-hover-background:\t\t\t\thsl(0, 0%, 49%);\n\t--ck-color-switch-button-on-background:\t\t\t\t\t\tvar(--ck-color-button-action-background);\n\t--ck-color-switch-button-on-hover-background:\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-switch-button-inner-background:\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-switch-button-inner-shadow:\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Dropdown ------------------------------------------------------------------------------ */\n\n\t--ck-color-dropdown-panel-background: \t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-dropdown-panel-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Dialog -------------------------------------------------------------------------------- */\n\n\t--ck-color-dialog-background: \t\t\t\t\t\t\t\tvar(--ck-custom-background);\n\t--ck-color-dialog-form-header-border: \t\t\t\t\t\tvar(--ck-custom-border);\n\n\t/* -- Input --------------------------------------------------------------------------------- */\n\n\t--ck-color-input-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-input-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-error-border:\t\t\t\t\t\t\t\tvar(--ck-color-base-error);\n\t--ck-color-input-text: \t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-input-disabled-background: \t\t\t\t\t\thsl(0, 0%, 95%);\n\t--ck-color-input-disabled-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-disabled-text: \t\t\t\t\t\t\thsl(0, 0%, 46%);\n\n\t/* -- List ---------------------------------------------------------------------------------- */\n\n\t--ck-color-list-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-list-button-hover-background: \t\t\t\t\tvar(--ck-color-button-default-hover-background);\n\t--ck-color-list-button-on-background: \t\t\t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-background-focus: \t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-text:\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Panel --------------------------------------------------------------------------------- */\n\n\t--ck-color-panel-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-panel-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Toolbar ------------------------------------------------------------------------------- */\n\n\t--ck-color-toolbar-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-toolbar-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Tooltip ------------------------------------------------------------------------------- */\n\n\t--ck-color-tooltip-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-tooltip-text: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Engine -------------------------------------------------------------------------------- */\n\n\t--ck-color-engine-placeholder-text: \t\t\t\t\t\thsl(0, 0%, 44%);\n\n\t/* -- Upload -------------------------------------------------------------------------------- */\n\n\t--ck-color-upload-bar-background:\t\t \t\t\t\t\thsl(209, 92%, 70%);\n\n\t/* -- Link -------------------------------------------------------------------------------- */\n\n\t--ck-color-link-default:\t\t\t\t\t\t\t\t\thsl(240, 100%, 47%);\n\t--ck-color-link-selected-background:\t\t\t\t\t\thsla(201, 100%, 56%, 0.1);\n\t--ck-color-link-fake-selection:\t\t\t\t\t\t\t\thsla(201, 100%, 56%, 0.3);\n\n\t/* -- Search result highlight ---------------------------------------------------------------- */\n\n\t--ck-color-highlight-background:\t\t\t\t\t\t\thsl(60, 100%, 50%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------- */\n\n\t--ck-color-light-red:\t\t\t\t\t\t\t\t\t\thsl(0, 100%, 90%);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/**\n\t * An opacity value of disabled UI item.\n\t */\n\t--ck-disabled-opacity: .5;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/**\n\t * The geometry of the of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\n\n\t/**\n\t * A visual style of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when disabled).\n\t */\n\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when has errors).\n\t */\n\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\n\n\t/**\n\t * A visual style of focused element's border or outline.\n\t */\n\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-font-size-base: 13px;\n\t--ck-line-height-base: 1.84615;\n\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\n\t--ck-font-size-tiny: 0.7em;\n\t--ck-font-size-small: 0.75em;\n\t--ck-font-size-normal: 1em;\n\t--ck-font-size-big: 1.4em;\n\t--ck-font-size-large: 1.8em;\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/* This is super-important. This is **manually** adjusted so a button without an icon\n\tis never smaller than a button with icon, additionally making sure that text-less buttons\n\tare perfect squares. The value is also shared by other components which should stay "in-line"\n\twith buttons. */\n\t--ck-ui-component-min-height: 2.3em;\n}\n\n/**\n * Resets an element, ignoring its children.\n */\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\tbox-sizing: border-box;\n\twidth: auto;\n\theight: auto;\n\tposition: static;\n\n\t/* Do not include inheritable rules here. */\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\ttransition: none;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\n\tword-wrap: break-word;\n}\n\n/**\n * Resets an element AND its children.\n */\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* These are rule inherited by all children elements. */\n\tborder-collapse: collapse;\n\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\n\tcolor: var(--ck-color-text);\n\ttext-align: left;\n\twhite-space: nowrap;\n\tcursor: auto;\n\tfloat: none;\n}\n\n.ck-reset_all {\n\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\n\t\ttext-align: right;\n\t}\n\n\t& iframe:not(.ck-reset_all-excluded *) {\n\t\t/* For IE */\n\t\tvertical-align: inherit;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *) {\n\t\twhite-space: pre-wrap;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *),\n\t& input[type="text"]:not(.ck-reset_all-excluded *),\n\t& input[type="password"]:not(.ck-reset_all-excluded *) {\n\t\tcursor: text;\n\t}\n\n\t& textarea[disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="text"][disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {\n\t\tcursor: default;\n\t}\n\n\t& fieldset:not(.ck-reset_all-excluded *) {\n\t\tpadding: 10px;\n\t\tborder: 2px groove hsl(255, 7%, 88%);\n\t}\n\n\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\n\t\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\n\t\tpadding: 0;\n\t\tborder: 0\n\t}\n}\n\n/**\n * Default UI rules for RTL languages.\n */\n.ck[dir="rtl"],\n.ck[dir="rtl"] .ck {\n\ttext-align: right;\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Default border-radius value.\n */\n:root{\n\t--ck-border-radius: 2px;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/**\n\t * A visual style of element's inner shadow (i.e. input).\n\t */\n\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\n\n\t/**\n\t * A visual style of element's drop shadow (i.e. panel).\n\t */\n\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\n\n\t/**\n\t * A visual style of element's active shadow (i.e. comment or suggestion).\n\t */\n\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-spacing-unit: \t\t\t\t\t\t0.6em;\n\t--ck-spacing-large: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 1.5);\n\t--ck-spacing-standard: \t\t\t\t\tvar(--ck-spacing-unit);\n\t--ck-spacing-medium: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.8);\n\t--ck-spacing-small: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.5);\n\t--ck-spacing-tiny: \t\t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.3);\n\t--ck-spacing-extra-tiny: \t\t\t\tcalc(var(--ck-spacing-unit) * 0.16);\n}\n"],sourceRoot:""}]);const a=s},734:(e,t,o)=>{const n=o(5659),i=o(8507),r={};Object.keys(n).forEach((e=>{r[e]={},Object.defineProperty(r[e],"channels",{value:n[e].channels}),Object.defineProperty(r[e],"labels",{value:n[e].labels});const t=i(e);Object.keys(t).forEach((o=>{const n=t[o];r[e][o]=function(e){const t=function(...t){const o=t[0];if(null==o)return o;o.length>1&&(t=o);const n=e(t);if("object"==typeof n)for(let e=n.length,t=0;t1&&(t=o),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(n)}))})),e.exports=r},871:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-number,.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAoED,CAlEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA+CF,CA7CE,8CACC,wDAYD,CAVC,4HAEC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CC5DF,0ODmEG,aCjEH,CDmEG,+IACC,kDACD,CDrEH",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck-vertical-form .ck-button {\n\t&::after {\n\t\tcontent: "";\n\t\twidth: 0;\n\t\tposition: absolute;\n\t\tright: -1px;\n\t\ttop: -1px;\n\t\tbottom: -1px;\n\t\tz-index: 1;\n\t}\n\n\t&:focus::after {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button {\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: -1px;\n\t\t\t\ttop: -1px;\n\t\t\t\tbottom: -1px;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:focus::after {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text,\n\t\t\t& .ck-input-number {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\t\t\tborder-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},880:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-dialog-overlay{bottom:0;left:0;overscroll-behavior:none;position:fixed;right:0;top:0;user-select:none}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent{animation:none;background:none;pointer-events:none}.ck.ck-dialog{overscroll-behavior:none;position:absolute;width:fit-content}.ck.ck-dialog .ck.ck-form__header{flex-shrink:0}.ck.ck-dialog:not(.ck-dialog_modal) .ck.ck-form__header .ck-form__header__label{cursor:grab}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog{pointer-events:all}:root{--ck-dialog-overlay-background-color:rgba(0,0,0,.5);--ck-dialog-drop-shadow:0px 0px 6px 2px rgba(0,0,0,.15);--ck-dialog-max-width:100vw;--ck-dialog-max-height:90vh;--ck-color-dialog-background:var(--ck-color-base-background);--ck-color-dialog-form-header-border:var(--ck-color-base-border)}.ck.ck-dialog-overlay{animation:ck-dialog-fade-in .3s;background:var(--ck-dialog-overlay-background-color);z-index:var(--ck-z-dialog)}.ck.ck-dialog{border-radius:0;--ck-drop-shadow:var(--ck-dialog-drop-shadow);background:var(--ck-color-dialog-background);border:1px solid var(--ck-color-base-border);max-height:var(--ck-dialog-max-height);max-width:var(--ck-dialog-max-width);overscroll-behavior:contain}.ck-rounded-corners .ck.ck-dialog,.ck.ck-dialog.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dialog{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-dialog .ck.ck-form__header{border-bottom:1px solid var(--ck-color-dialog-form-header-border)}.ck-dialog-scroll-locked{overflow:hidden}@keyframes ck-dialog-fade-in{0%{background:transparent}to{background:var(--ck-dialog-overlay-background-color)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialog.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialog.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,sBAKC,QAAS,CACT,MAAO,CAJP,wBAAyB,CAEzB,cAAe,CAGf,OAAQ,CACR,KAAM,CAPN,gBAcD,CALC,qDAEC,cAAe,CACf,eAAgB,CAFhB,mBAGD,CAGD,cACC,wBAAyB,CAEzB,iBAAkB,CADlB,iBAiBD,CAdC,kCACC,aACD,CAIC,gFACC,WACD,CAGD,mEACC,kBACD,CC/BD,MACC,mDAA2D,CAC3D,uDAA8D,CAC9D,2BAA4B,CAC5B,2BAA4B,CAC5B,4DAA6D,CAC7D,gEACD,CAEA,sBACC,+BAAgC,CAChC,oDAAqD,CACrD,0BACD,CAEA,cCbC,eAAgB,CDiBhB,6CAA8C,CAE9C,4CAA6C,CAG7C,4CAA6C,CAF7C,sCAAuC,CACvC,oCAAqC,CAErC,2BAKD,CC1BC,mEAEC,qCAED,CDOD,cEfC,oCF8BD,CAHC,kCACC,iEACD,CAGD,yBACC,eACD,CAEA,6BACC,GACC,sBACD,CAEA,GACC,oDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-dialog-overlay {\n\tuser-select: none;\n\toverscroll-behavior: none;\n\n\tposition: fixed;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\ttop: 0;\n\n\t&.ck-dialog-overlay__transparent {\n\t\tpointer-events: none;\n\t\tanimation: none;\n\t\tbackground: none;\n\t}\n}\n\n.ck.ck-dialog {\n\toverscroll-behavior: none;\n\twidth: fit-content;\n\tposition: absolute;\n\n\t& .ck.ck-form__header {\n\t\tflex-shrink: 0;\n\t}\n\n\t/* Modals should not be draggable. */\n\t&:not(.ck-dialog_modal) {\n\t\t& .ck.ck-form__header .ck-form__header__label {\n\t\t\tcursor: grab;\n\t\t}\n\t}\n\n\t.ck.ck-dialog-overlay.ck-dialog-overlay__transparent & {\n\t\tpointer-events: all;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n:root {\n\t--ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 );\n\t--ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%);\n\t--ck-dialog-max-width: 100vw;\n\t--ck-dialog-max-height: 90vh;\n\t--ck-color-dialog-background: var(--ck-color-base-background);\n\t--ck-color-dialog-form-header-border: var(--ck-color-base-border);\n}\n\n.ck.ck-dialog-overlay {\n\tanimation: ck-dialog-fade-in .3s;\n\tbackground: var(--ck-dialog-overlay-background-color);\n\tz-index: var(--ck-z-dialog);\n}\n\n.ck.ck-dialog {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\t--ck-drop-shadow: var(--ck-dialog-drop-shadow);\n\n\tbackground: var(--ck-color-dialog-background);\n\tmax-height: var(--ck-dialog-max-height);\n\tmax-width: var(--ck-dialog-max-width);\n\tborder: 1px solid var(--ck-color-base-border);\n\toverscroll-behavior: contain;\n\n\t& .ck.ck-form__header {\n\t\tborder-bottom: 1px solid var(--ck-color-dialog-form-header-border);\n\t}\n}\n\n.ck-dialog-scroll-locked {\n\toverflow: hidden;\n}\n\n@keyframes ck-dialog-fade-in {\n\t0% {\n\t\tbackground: hsla( 0, 0%, 0%, 0 );\n\t}\n\n\t100% {\n\t\tbackground: var(--ck-dialog-overlay-background-color);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},1091:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css"],names:[],mappings:"AAMC,8CACC,yBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-editor__editable {\n\t& img.image_placeholder {\n\t\tbackground-size: 100% 100%;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1102:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-button.ck-dropdown-menu-list__nested-menu__item__button{border-radius:0}.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container,.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container .ck-spinner{--ck-toolbar-spinner-size:20px}.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus{border-color:transparent;box-shadow:none}.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenulistitembutton.css"],names:[],mappings:"AAQA,4DACC,eA0BD,CAxBC,gLAGC,8BACD,CAEA,kFAEC,4CAA+C,CAC/C,oCACD,CAMA,kEACC,wBAAyB,CACzB,eAKD,CAHC,8EACC,0DACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/*\n * List item buttons.\n */\n.ck-button.ck-dropdown-menu-list__nested-menu__item__button {\n\tborder-radius: 0;\n\n\t& > .ck-spinner-container,\n\t& > .ck-spinner-container .ck-spinner {\n\t\t/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */\n\t\t--ck-toolbar-spinner-size: 20px;\n\t}\n\n\t& > .ck-spinner-container {\n\t\t/* These margins are the same as for .ck-icon. */\n\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/*\n\t * Hovered items automatically get focused. Default focus styles look odd\n\t * while moving across a huge list of items so let's get rid of them\n\t */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\tbox-shadow: none;\n\n\t\t&:not(.ck-on) {\n\t\t\tbackground: var(--ck-color-button-default-hover-background);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},1111:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}@media (forced-colors:active){.ck .ck-placeholder,.ck.ck-placeholder{forced-color-adjust:preserve-parent-color}}.ck .ck-placeholder:before,.ck.ck-placeholder:before{cursor:text}@media (forced-colors:none){.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text)}}@media (forced-colors:active){.ck .ck-placeholder:before,.ck.ck-placeholder:before{font-style:italic;margin-left:1px}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC7BC,8BACC,uCCOA,yCDLA,CACD,CCOA,qDACC,WAmBD,CDvBA,4BACC,qDCMC,6CDJD,CACD,CAZA,8BACC,qDCsBC,iBAAkB,CAMlB,eD1BD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder,\n.ck .ck-placeholder {\n\tposition: relative;\n\n\t&::before {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tcontent: attr(data-placeholder);\n\n\t\t/* See ckeditor/ckeditor5#469. */\n\t\tpointer-events: none;\n\t}\n}\n\n/* See ckeditor/ckeditor5#1987. */\n.ck.ck-read-only .ck-placeholder {\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n\n/*\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\n */\n.ck.ck-reset_all .ck-placeholder {\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder, .ck .ck-placeholder {\n\t@mixin ck-media-forced-colors {\n\t\t/*\n\t\t * This is needed for Edge on Windows to use the right color for the placeholder content (::before).\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t\t */\n\t\tforced-color-adjust: preserve-parent-color;\n\t}\n\n\t&::before {\n\t\tcursor: text;\n\n\t\t@mixin ck-media-default-colors {\n\t\t\tcolor: var(--ck-color-engine-placeholder-text);\n\t\t}\n\n\t\t@mixin ck-media-forced-colors {\n\t\t\t/*\n\t\t\t * In the high contrast mode there is no telling between regular and placeholder text. Using\n\t\t\t * italic text to address that issue. See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t\t\t */\n\t\t\tfont-style: italic;\n\n\t\t\t/*\n\t\t\t * Without this margin, the caret will not show up and blink when the user puts the selection\n\t\t\t * in the placeholder (Edge on Windows). See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t\t\t */\n\t\t\tmargin-left: 1px;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},1160:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck .ck-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n\n\t&.image-inline {\n\t\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\n\t}\n\n\t& img {\n\t\t/*\n\t\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\n\t\t * There's nothing special about this number except that it should make the image placeholder look like\n\t\t * a real image during this short period after the upload started and before the image was read from the\n\t\t * file system (and a rich preview was loaded).\n\t\t */\n\t\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\n\t}\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);const a=s},1173:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-image-custom-resize-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-image-custom-resize-form .ck-labeled-field-view{display:inline-block}.ck.ck-image-custom-resize-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-image-custom-resize-form{flex-wrap:wrap}.ck.ck-image-custom-resize-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-image-custom-resize-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecustomresizeform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,gCAIC,sBAAuB,CAHvB,YAAa,CACb,kBAAmB,CACnB,gBAsBD,CAnBC,uDACC,oBACD,CAEA,0CACC,YACD,CCbA,oCDCD,gCAeE,cAUF,CARE,uDACC,eACD,CAEA,2CACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-image-custom-resize-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: flex-start;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1214:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-menu-bar-menu-item-min-width:18em}.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item{min-width:var(--ck-menu-bar-menu-item-min-width)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitem.css"],names:[],mappings:"AAKA,MACC,sCACD,CAEA,kDACC,gDACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-menu-bar-menu-item-min-width: 18em;\n}\n\n.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item {\n\tmin-width: var(--ck-menu-bar-menu-item-min-width);\n}\n"],sourceRoot:""}]);const a=s},1216:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget{transition:none}}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{box-shadow:var(--ck-inner-shadow),0 0}@media (forced-colors:none){.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background)}}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused:not(td,th),.ck .ck-editor__nested-editable:focus:not(td,th){border:var(--ck-focus-ring);outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{transition:none}}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{transition:none}}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CChFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAcD,CAZC,uCAND,eAOE,eAWF,CAVC,CAEA,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAoBD,CAhBC,yGCrCA,qCDoDA,CE/CA,4BACC,yGFmCC,iEEjCD,CACD,CFwCC,+HG/CD,2BAA2B,CAD3B,YHkDC,CAKD,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAwCD,CA3BC,uCAzBD,4EA0BE,eA0BF,CAzBC,CAEA,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAeD,CAVC,kHACC,SAAU,CAGV,+DAKD,CAHC,uCAND,kHAOE,eAEF,CADC,CAKF,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: 0 var(--ck-spacing-small);\n\theight: var(--ck-resizer-tooltip-height);\n\tline-height: var(--ck-resizer-tooltip-height);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left,\n\t&.ck-orientation-above-center {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t/* Class applied if the widget is too small to contain the size label */\n\t&.ck-orientation-above-center {\n\t\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\n\t\tleft: 50%;\n\t\ttransform: translate(-50%);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t\t@mixin ck-media-default-colors {\n\t\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t\t}\n\n\t\t/**\n\t\t * Focus border should not be applied to table cells because it overrides the default table cell border color.\n\t\t * In other words - in some scenarios, the part of the table cell border has focus color style, which is not expected behavior\n\t\t * because it should be the same as the table cell border color.\n\t\t */\n\t\t&:not(td, th) {\n\t\t\t@mixin ck-focus-ring;\n\t\t}\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\t\ttop: 0;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition: none;\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\n\t\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n"],sourceRoot:""}]);const a=s},1230:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@media (prefers-reduced-motion:reduce){.ck-image-upload-complete-icon{animation-duration:0ms}.ck-image-upload-complete-icon:after{animation:none;height:.45em;opacity:1;width:.3em}}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFAqCD,CAjCC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAEA,uCA7CD,+BA8CE,sBASF,CAPE,qCACC,cAAe,CAGf,YAAc,CAFd,SAAU,CACV,UAED,CACD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\n\t/*\n\t * Smaller images should have the icon closer to the border.\n\t * Match the icon position with the linked image indicator brought by the link image feature.\n\t */\n\ttop: min(var(--ck-spacing-medium), 6%);\n\tright: min(var(--ck-spacing-medium), 6%);\n\tborder-radius: 50%;\n\tz-index: 1;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t/* Match the icon size with the linked image indicator brought by the link image feature. */\n\t--ck-image-upload-icon-size: 20;\n\t--ck-image-upload-icon-width: 2px;\n\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck-image-upload-complete-icon {\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/*\n\t * Use CSS math to simulate container queries.\n\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t */\n\toverflow: hidden;\n\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\tanimation-duration: 0ms;\n\n\t\t&::after {\n\t\t\tanimation: none;\n\t\t\topacity: 1;\n\t\t\twidth: 0.3em;\n\t\t\theight: 0.45em;\n\t\t}\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);const a=s},1330:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-list-styles-list {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-list-style-button-size: 44px;\n}\n\n.ck.ck-list-styles-list {\n\tgrid-template-columns: repeat( 3, auto );\n\trow-gap: var(--ck-spacing-medium);\n\tcolumn-gap: var(--ck-spacing-medium);\n\tpadding: var(--ck-spacing-large);\n\n\t& .ck-button {\n\t\t/* Make the button look like a thumbnail (the icon "takes it all"). */\n\t\twidth: var(--ck-list-style-button-size);\n\t\theight: var(--ck-list-style-button-size);\n\t\tpadding: 0;\n\n\t\t/*\n\t\t * Buttons are aligned by the grid so disable default button margins to not collide with the\n\t\t * gaps in the grid.\n\t\t */\n\t\tmargin: 0;\n\n\t\t/*\n\t\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\n\t\t * from the button dimensions and, as a result, decrease the size of the icon\n\t\t * (which becomes blurry as it scales down).\n\t\t */\n\t\tbox-sizing: content-box;\n\n\t\t& .ck-icon {\n\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\theight: var(--ck-list-style-button-size);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},1354:e=>{"use strict";e.exports=function(e){var t=e[1],o=e[3];if(!o)return t;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},1478:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-color-mention-background:rgba(153,0,48,.1);--ck-color-mention-text:#990030}.ck-content .mention{background:var(--ck-color-mention-background);color:var(--ck-color-mention-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-mention/mention.css"],names:[],mappings:"AAKA,MACC,+CAAwD,CACxD,+BACD,CAEA,qBACC,6CAA8C,CAC9C,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-mention-background: hsla(341, 100%, 30%, 0.1);\n\t--ck-color-mention-text: hsl(341, 100%, 30%);\n}\n\n.ck-content .mention {\n\tbackground: var(--ck-color-mention-background);\n\tcolor: var(--ck-color-mention-text);\n}\n"],sourceRoot:""}]);const a=s},1501:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-content blockquote {\n\t/* See #12 */\n\toverflow: hidden;\n\n\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\n\tpadding-right: 1.5em;\n\tpadding-left: 1.5em;\n\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tfont-style: italic;\n\tborder-left: solid 5px hsl(0, 0%, 80%);\n}\n\n.ck-content[dir="rtl"] blockquote {\n\tborder-left: 0;\n\tborder-right: solid 5px hsl(0, 0%, 80%);\n}\n'],sourceRoot:""}]);const a=s},1545:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-image-insert-url{padding:var(--ck-spacing-large) var(--ck-spacing-large) 0;width:400px}.ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width);padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAKA,wBAEC,yDAA0D,CAD1D,WAOD,CAJC,yDACC,YAAa,CACb,mCACD,CCLD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CACd,UASD,CCpCA,iDD8BE,eC5BF,CAFA,iDDkCE,gBChCF,CDoCA,4CASC,oDACD,CATC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,iDACC,oDAAqD,CACrD,+BACD,CAEA,+BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-image-insert-url {\n\twidth: 400px;\n\tpadding: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t& .ck-image-insert-url__action-row {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(2, 1fr);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-image-insert-insert-by-url-width: 250px;\n}\n\n.ck.ck-image-insert-url {\n\t--ck-input-width: 100%;\n\n\t& .ck-image-insert-url__action-row {\n\t\tgrid-column-gap: var(--ck-spacing-large);\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n\n.ck.ck-image-insert-form {\n\t& > .ck.ck-button {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& > .ck.ck-collapsible {\n\t\t&:not(:first-child) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t&:not(:last-child) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t}\n\n\t/* This is the case when there are no other integrations configured than insert by URL */\n\t& > .ck.ck-image-insert-url {\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t\tpadding: var(--ck-spacing-large);\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},1546:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);border-radius:0;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}@media (prefers-reduced-motion:reduce){.ck.ck-input{transition:none}}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}@media (prefers-reduced-motion:reduce){.ck.ck-input.ck-error{animation:none}}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aAGC,2CAA4C,CAC5C,6CAA8C,CCT9C,eAAgB,CDchB,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DAkCD,CCjDC,iEAEC,qCAED,CDaA,uCAdD,aAeE,eA+BF,CA9BC,CAEA,mBEvBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YF2BA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BGnCD,oDHsCC,CAGD,sBAEC,sCAAuC,CADvC,+CAUD,CAPC,uCAJD,sBAKE,cAMF,CALC,CAEA,4BGjDD,iDHmDC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-width: 18em;\n\n\t/* Backward compatibility. */\n\t--ck-input-text-width: var(--ck-input-width);\n}\n\n.ck.ck-input {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-input-shake .3s ease both;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\tanimation: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},1710:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}.ck.ck-aria-live-region-list{list-style-type:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css"],names:[],mappings:"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD,CAEA,6BACC,oBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-aria-live-announcer {\n\tposition: absolute;\n\tleft: -10000px;\n\ttop: -10000px;\n}\n\n.ck.ck-aria-live-region-list {\n\tlist-style-type: none;\n}\n"],sourceRoot:""}]);const a=s},1750:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAGC,eAAgB,CAChB,aAAc,CAFd,eAAiB,CADjB,UAmBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-collapsible.ck-collapsible_collapsed {\n\t& > .ck-collapsible__children {\n\t\tdisplay: none;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-collapsible {\n\t& > .ck.ck-button {\n\t\twidth: 100%;\n\t\tfont-weight: bold;\n\t\tborder-radius: 0;\n\t\tcolor: inherit;\n\n\t\t&:focus {\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t&:active, &:not(:focus), &:hover:not(:focus) {\n\t\t\tbackground: transparent;\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t& > .ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\twidth: var(--ck-collapsible-arrow-size);\n\t\t}\n\t}\n\n\t& > .ck-collapsible__children {\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);\n\t}\n\n\t&.ck-collapsible_collapsed {\n\t\t& > .ck.ck-button .ck-icon {\n\t\t\ttransform: rotate(-90deg);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},1806:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-form {\n\tpadding: 0 0 var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t& .ck.ck-input-text {\n\t\tmin-width: 100%;\n\t\twidth: 0;\n\t}\n\n\t& .ck.ck-dropdown {\n\t\tmin-width: 100%;\n\n\t\t& .ck-dropdown__button {\n\t\t\t&:not(:focus) {\n\t\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck-button__label {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},1911:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-list-properties {\n\t/* When there are no list styles and there is no collapsible. */\n\t&.ck-list-properties_without-styles {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * {\n\t\t\tmin-width: 14em;\n\n\t\t\t& + * {\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * When the numbered list property fields (start at, reversed) should be displayed,\n\t * more horizontal space is needed. Reconfigure the style grid to create that space.\n\t */\n\t&.ck-list-properties_with-numbered-properties {\n\t\t& > .ck-list-styles-list {\n\t\t\tgrid-template-columns: repeat( 4, auto );\n\t\t}\n\n\t\t/* When list styles are rendered and property fields are in a collapsible. */\n\t\t& > .ck-collapsible {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t& > .ck-collapsible__children {\n\t\t\t\t& > * {\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t& + * {\n\t\t\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-numbered-list-properties__start-index .ck-input {\n\t\tmin-width: auto;\n\t\twidth: 100%;\n\t}\n\n\t& .ck.ck-numbered-list-properties__reversed-order {\n\t\tbackground: transparent;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\n\n\t\t&:active, &:hover {\n\t\t\tbox-shadow: none;\n\t\t\tborder-color: transparent;\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},1998:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css"],names:[],mappings:"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-highlighted-text mark {\n\tbackground: var(--ck-color-highlight-background);\n\tvertical-align: initial;\n\tfont-weight: inherit;\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n"],sourceRoot:""}]);const a=s},2060:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck .ck-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);const a=s},2350:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-link-form{align-items:flex-start;display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:0 var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAOA,iBAEC,sBAAuB,CADvB,YAkBD,CAfC,2BACC,YACD,CCPA,oCDCD,iBASE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CChBD,CDwBD,iCACC,aAYD,CALE,wHAEC,mCACD,CEhCF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CC1BD,4GDiCE,aC/BF,CDiCE,mEACC,kDACD,CAKF,6CACC,gCAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& > .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\twidth: 50%;\n\t\tborder-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: 0 var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},2401:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzUuNzUgMCAwIDEtLjIxNy4yMDYgNS4yNTEgNS4yNTEgMCAwIDEtOC41MDMtNS45NTUuNy43IDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NHptNS40OTQtNS4zMzVhLjc1Ljc1IDAgMCAxLS4xMi4yNzRsLTEuMTQ3IDEuNjM5YS43NS43NSAwIDEgMS0xLjIyOC0uODZsLjg2LTEuMjNhMy43NSAzLjc1IDAgMCAwLTYuMTQ0LTQuMzAxbC0uODYgMS4yMjlhLjc1Ljc1IDAgMCAxLTEuMjI5LS44NmwxLjE0OC0xLjY0YS43NS43NSAwIDAgMSAuMjE3LS4yMDYgNS4yNTEgNS4yNTEgMCAwIDEgOC41MDMgNS45NTVtLTQuNTYzLTIuNTMyYS43NS43NSAwIDAgMSAuMTg0IDEuMDQ1bC0zLjE1NSA0LjUwNWEuNzUuNzUgMCAxIDEtMS4yMjktLjg2bDMuMTU1LTQuNTA2YS43NS43NSAwIDAgMSAxLjA0NS0uMTg0Ii8+PC9zdmc+"},2454:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-dropdown>.ck-dropdown__panel>.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CCnBC,iIAEC,qCAAsC,CDJtC,wBCMD,CDAC,mFCND,eDYC,CCVD,6MAEC,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBCFH,CDQC,kFCdD,eDmBC,CCjBD,2MAEC,qCAAsC,CDYpC,wBAAyB,CACzB,yBCXH",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-dropdown > .ck-dropdown__panel > .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child > .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child > .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},2688:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-panel)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);border-radius:0;max-height:200px;min-width:auto;overflow-y:auto}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCAMC,0CAA2C,CAC3C,sDAAuD,CCLxD,eAAgB,CDEf,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CCrBA,uHAEC,qCAED,CDRA,wCEAA,oCFyBA,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-autocomplete {\n\tposition: relative;\n\n\t& > .ck-search__results {\n\t\tposition: absolute;\n\t\tz-index: var(--ck-z-panel);\n\n\t\t&.ck-search__results_n {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css";\n\n.ck.ck-autocomplete {\n\t& > .ck-search__results {\n\t\t@mixin ck-rounded-corners;\n\t\t@mixin ck-drop-shadow;\n\n\t\tmax-height: 200px;\n\t\toverflow-y: auto;\n\t\tbackground: var(--ck-color-base-background);\n\t\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\t\tmin-width: auto;\n\n\t\t&.ck-search__results_n {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-bottom: -1px;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-top-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-top: -1px;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},2850:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t/*\n\t\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\n\t\t */\n\t\t& .ck-widget {\n\t\t\toutline: unset;\n\n\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},2922:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css"],names:[],mappings:"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CCZD,wMDUG,0BCRH,CDeC,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CErBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CDhBF,gHCoBI,uCDlBJ,CAFA,gHCwBI,sCDtBJ,CC2BC,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: space-around;\n\n\t\t\t& .ck-button-save,\n\t\t\t& .ck-button-cancel {\n\t\t\t\tflex: 1\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck.ck-icon {\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& label.ck.ck-color-grid__label {\n\t\t\tfont-weight: unset;\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-picker {\n\t\t\tpadding: 8px;\n\n\t\t\t& .hex-color-picker {\n\t\t\t\theight: 100px;\n\t\t\t\tmin-width: 180px;\n\n\t\t\t\t&::part(saturation) {\n\t\t\t\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\t\t\t\t}\n\n\t\t\t\t&::part(hue) {\n\t\t\t\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\t\t\t}\n\n\t\t\t\t&::part(saturation-pointer),\n\t\t\t\t&::part(hue-pointer) {\n\t\t\t\t\twidth: 15px;\n\t\t\t\t\theight: 15px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tpadding: 0 8px 8px;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},2992:(e,t,o)=>{var n,i=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function i(e,t){if(!n[e]){n[e]={};for(var o=0;o>>8,o[2*n+1]=s%256}return o},decompressFromUint8Array:function(t){if(null==t)return r.decompress(t);for(var o=new Array(t.length/2),n=0,i=o.length;n>=1}else{for(i=1,n=0;n>=1}0==--u&&(u=Math.pow(2,p),p++),delete a[d]}else for(i=s[d],n=0;n>=1;0==--u&&(u=Math.pow(2,p),p++),s[c]=h++,d=String(l)}if(""!==d){if(Object.prototype.hasOwnProperty.call(a,d)){if(d.charCodeAt(0)<256){for(n=0;n>=1}else{for(i=1,n=0;n>=1}0==--u&&(u=Math.pow(2,p),p++),delete a[d]}else for(i=s[d],n=0;n>=1;0==--u&&(u=Math.pow(2,p),p++)}for(i=2,n=0;n>=1;for(;;){if(g<<=1,f==t-1){m.push(o(g));break}f++}return m.join("")},decompress:function(e){return null==e?"":""==e?null:r._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,o,n){var i,r,s,a,l,c,d,u=[],h=4,p=4,m=3,g="",f=[],b={val:n(0),position:o,index:1};for(i=0;i<3;i+=1)u[i]=i;for(s=0,l=Math.pow(2,2),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=n(b.index++)),s|=(a>0?1:0)*c,c<<=1;switch(s){case 0:for(s=0,l=Math.pow(2,8),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=n(b.index++)),s|=(a>0?1:0)*c,c<<=1;d=e(s);break;case 1:for(s=0,l=Math.pow(2,16),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=n(b.index++)),s|=(a>0?1:0)*c,c<<=1;d=e(s);break;case 2:return""}for(u[3]=d,r=d,f.push(d);;){if(b.index>t)return"";for(s=0,l=Math.pow(2,m),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=n(b.index++)),s|=(a>0?1:0)*c,c<<=1;switch(d=s){case 0:for(s=0,l=Math.pow(2,8),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=n(b.index++)),s|=(a>0?1:0)*c,c<<=1;u[p++]=e(s),d=p-1,h--;break;case 1:for(s=0,l=Math.pow(2,16),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=n(b.index++)),s|=(a>0?1:0)*c,c<<=1;u[p++]=e(s),d=p-1,h--;break;case 2:return f.join("")}if(0==h&&(h=Math.pow(2,m),m++),u[d])g=u[d];else{if(d!==p)return null;g=r+r.charAt(0)}f.push(g),u[p++]=r+g.charAt(0),r=g,0==--h&&(h=Math.pow(2,m),m++)}}};return r}();void 0===(n=function(){return i}.call(t,o,t,e))||(e.exports=n)},3038:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highlighted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}@media (forced-colors:active){.ck-content .image>figcaption{background-color:unset;color:unset}}@media (forced-colors:none){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:none}}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highlighted-background)}to{background-color:var(--ck-color-image-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css"],names:[],mappings:"AAOA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,oDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAYD,CAJC,8BAXD,8BAYE,sBAAuB,CACvB,WAEF,CADC,CCdA,4BACC,qEDmBA,iDCjBA,CACD,CDmBA,uCALD,qEAME,cAEF,CADC,CAGD,sCACC,GACC,qEACD,CAEA,GACC,yDACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-image-caption-highlighted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: var(--ck-color-image-caption-text);\n\tbackground-color: var(--ck-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n\n\t/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */\n\t@media (forced-colors: active) {\n\t\tbackground-color: unset;\n\t\tcolor: unset;\n\t}\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\n\t@mixin ck-media-default-colors {\n\t\tanimation: ck-image-caption-highlight .6s ease-out;\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\tanimation: none;\n\t}\n}\n\n@keyframes ck-image-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-image-caption-highlighted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-image-caption-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},3086:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css"],names:[],mappings:"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.color-picker-hex-input {\n\twidth: max-content;\n\n\t& .ck.ck-input {\n\t\tmin-width: unset;\n\t}\n}\n\n.ck.ck-color-picker__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\tmargin: var(--ck-spacing-large) 0 0;\n\twidth: unset;\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: unset;\n\t}\n\n\t& .ck.ck-input-text {\n\t\twidth: unset;\n\t}\n\n\t& .ck-color-picker__hash-view {\n\t\tpadding-top: var(--ck-spacing-tiny);\n\t\tpadding-right: var(--ck-spacing-medium);\n\t}\n}\n"],sourceRoot:""}]);const a=s},3389:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-list-item-button{border-radius:0;min-height:unset;width:100%}[dir=ltr] .ck.ck-list-item-button{text-align:left}[dir=rtl] .ck.ck-list-item-button{text-align:right}[dir=ltr] .ck.ck-list-item-button.ck-list-item-button_toggleable{padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-list-item-button.ck-list-item-button_toggleable{padding-right:var(--ck-spacing-small)}.ck.ck-list-item-button .ck-list-item-button__check-holder{display:inline-flex;height:.9em;width:.9em}[dir=ltr] .ck.ck-list-item-button .ck-list-item-button__check-holder{margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-list-item-button .ck-list-item-button__check-holder{margin-left:var(--ck-spacing-small)}.ck.ck-list-item-button .ck-list-item-button__check-icon{height:100%}.ck.ck-button.ck-list-item-button{padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2)}.ck.ck-button.ck-list-item-button,.ck.ck-button.ck-list-item-button.ck-on{background:var(--ck-color-list-background);color:var(--ck-color-text)}[dir=ltr] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder){padding-right:var(--ck-spacing-small)}.ck.ck-button.ck-list-item-button.ck-button.ck-on:hover,.ck.ck-button.ck-list-item-button.ck-on:hover,.ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable),.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-button.ck-list-item-button.ck-button.ck-on:hover:not(.ck-disabled),.ck.ck-button.ck-list-item-button.ck-on:hover:not(.ck-disabled),.ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable):not(.ck-disabled),.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled):not(.ck-disabled){color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/listitembutton.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/listitembutton.css"],names:[],mappings:"AAOA,wBAGC,eAAgB,CAFhB,gBAAiB,CACjB,UAsCD,CCzCC,kCDOC,eCLD,CAFA,kCDWC,gBCTD,CAFA,iEDgBE,oCCdF,CAFA,iEDoBE,qCClBF,CDsBA,2DACC,mBAAoB,CAEpB,WAAY,CADZ,UAUD,CCpCA,qED8BE,oCC5BF,CAFA,qEDkCE,mCChCF,CDoCA,yDACC,WACD,CEvCD,kCACC,iEAiCD,CA/BC,0EAEC,0CAA2C,CAC3C,0BACD,CDRA,oFCYE,oCDVF,CAFA,oFCgBE,qCDdF,CCuBA,6OAIC,uDAKD,CAHC,qTACC,0BACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../mixins/_dir.css";\n\n.ck.ck-list-item-button {\n\tmin-height: unset;\n\twidth: 100%;\n\tborder-radius: 0;\n\n\t@mixin ck-dir ltr {\n\t\ttext-align: left;\n\t}\n\n\t@mixin ck-dir rtl {\n\t\ttext-align: right;\n\t}\n\n\t&.ck-list-item-button_toggleable {\n\t\t@mixin ck-dir ltr {\n\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t& .ck-list-item-button__check-holder {\n\t\tdisplay: inline-flex;\n\t\twidth: .9em;\n\t\theight: .9em;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t& .ck-list-item-button__check-icon {\n\t\theight: 100%;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button.ck-list-item-button {\n\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\n\n\t&,\n\t&.ck-on {\n\t\tbackground: var(--ck-color-list-background);\n\t\tcolor: var(--ck-color-text);\n\t}\n\n\t&:has(.ck-list-item-button__check-holder) {\n\t\t@mixin ck-dir ltr {\n\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t/*\n\t * `.ck-on` class and background styling is overridden for `ck-button` in many places.\n\t * This is a workaround to make sure that the background is not overridden and uses similar\n\t * selector specificity as the other overrides.\n\t */\n\t&:hover:not(.ck-disabled),\n\t&.ck-button.ck-on:hover,\n\t&.ck-on:not(.ck-list-item-button_toggleable),\n\t&.ck-on:hover {\n\t\tbackground: var(--ck-color-list-button-hover-background);\n\n\t\t&:not(.ck-disabled) {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},3579:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-panel) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck .ck-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-panel) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},3669:(e,t,o)=>{"use strict";o.d(t,{A:()=>h});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r),a=o(4417),l=o.n(a),c=new URL(o(2401),o.b),d=s()(i()),u=l()(c);d.push([e.id,`.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url(${u});background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}`,"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,wDAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/* Match the icon size with the upload indicator brought by the image upload feature. */\n\t--ck-link-image-indicator-icon-size: 20;\n\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tcontent: "";\n\n\t\t\t/*\n\t\t\t * Smaller images should have the icon closer to the border.\n\t\t\t * Match the icon position with the upload indicator brought by the image upload feature.\n\t\t\t */\n\t\t\ttop: min(var(--ck-spacing-medium), 6%);\n\t\t\tright: min(var(--ck-spacing-medium), 6%);\n\n\t\t\tbackground-color: hsla(0, 0%, 0%, .4);\n\t\t\tbackground-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");\n\t\t\tbackground-size: 14px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tborder-radius: 100%;\n\n\t\t\t/*\n\t\t\t* Use CSS math to simulate container queries.\n\t\t\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t\t\t*/\n\t\t\toverflow: hidden;\n\t\t\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const h=d},4001:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-table-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\t\t\tflex-basis: 0;\n\t\t\talign-content: baseline;\n\n\t\t\t& .ck.ck-toolbar .ck-toolbar__items {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-table-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t\t\t& .ck-toolbar__items > * {\n\t\t\t\t\twidth: 40px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},4106:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal));--ck-icon-font-size:.8333350694em}.ck.ck-icon{font-size:var(--ck-icon-font-size);height:var(--ck-icon-size);width:var(--ck-icon-size)}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EAA6E,CAC7E,iCACD,CAEA,YAKC,kCAAmC,CAHnC,0BAA2B,CAD3B,yBA2BD,CAlBC,0BAFA,cAKA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-icon {\n\tvertical-align: middle;\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\n\t--ck-icon-font-size: .8333350694em;\n}\n\n.ck.ck-icon {\n\twidth: var(--ck-icon-size);\n\theight: var(--ck-icon-size);\n\n\t/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */\n\tfont-size: var(--ck-icon-font-size);\n\n\t/* Inherit cursor style (#5). */\n\tcursor: inherit;\n\n\t& * {\n\t\t/* Inherit cursor style (#5). */\n\t\tcursor: inherit;\n\t}\n\n\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\n\t&.ck-icon_inherit-color {\n\t\tcolor: inherit;\n\n\t\t& * {\n\t\t\tcolor: inherit;\n\n\t\t\t&:not([fill]) {\n\t\t\t\t/* Needed by FF. */\n\t\t\t\tfill: currentColor;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4204:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css"],names:[],mappings:"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);\n\t--ck-table-column-resizer-width: 7px;\n\n\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\n\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\n\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\n}\n\n.ck-content .table .ck-table-resized {\n\ttable-layout: fixed;\n}\n\n.ck-content .table table {\n\toverflow: hidden;\n}\n\n.ck-content .table td,\n.ck-content .table th {\n\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\n\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\n\toverflow-wrap: break-word;\n\tposition: relative;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tright: var(--ck-table-column-resizer-position-offset);\n\twidth: var(--ck-table-column-resizer-width);\n\tcursor: col-resize;\n\tuser-select: none;\n\tz-index: var(--ck-z-default);\n}\n\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\n all resizers must be hidden while the table is dragged. */\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\n\tbackground-color: var(--ck-color-selector-column-resizer-hover);\n\topacity: 0.25;\n\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\n\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\n\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\n\t unrealistic height for a single table. */\n\ttop: -999999px;\n\tbottom: -999999px;\n}\n\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\n\tleft: var(--ck-table-column-resizer-position-offset);\n\tright: unset;\n}\n"],sourceRoot:""}]);const a=s},4214:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-content img.image_resized{height:auto}.ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/* Preserve aspect ratio of the resized image after introducing image height attribute. */\n.ck-content img.image_resized {\n\theight: auto;\n}\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `
` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `
` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `
` element uses `display:block`, so `
` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/* The resized inline image nested in the table should respect its parent size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline.image_resized img {\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-right: var(--ck-spacing-standard);\n}\n\n[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-left: var(--ck-spacing-standard);\n}\n\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\n\twidth: 4em;\n}\n'],sourceRoot:""}]);const a=s},4284:e=>{"use strict";var t,o=(t=[],function(e,o){return t[e]=o,t.filter(Boolean).join("\n")});function n(e,t,n,i){var r;if(n)r="";else{r="",i.supports&&(r+="@supports (".concat(i.supports,") {")),i.media&&(r+="@media ".concat(i.media," {"));var s=void 0!==i.layer;s&&(r+="@layer".concat(i.layer.length>0?" ".concat(i.layer):""," {")),r+=i.css,s&&(r+="}"),i.media&&(r+="}"),i.supports&&(r+="}")}if(e.styleSheet)e.styleSheet.cssText=o(t,r);else{var a=document.createTextNode(r),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(a,l[t]):e.appendChild(a)}}var i={singleton:null,singletonCounter:0};e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=i.singletonCounter++,o=i.singleton||(i.singleton=e.insertStyleElement(e));return{update:function(e){n(o,t,!1,e)},remove:function(e){n(o,t,!0,e)}}}},4307:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);border-radius:0;height:20px;width:20px}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC7BF,+CCME,4BAA6B,CAD7B,yBDHF,CAFA,+CCWE,2BAA4B,CAD5B,wBDRF,CCcC,2CACC,SACD,CAIA,wEACC,SA0CD,CDjED,kFC2BG,2BAA4B,CAD5B,wBDxBH,CC2BG,8FACC,iCACD,CD/BH,kFCoCG,4BAA6B,CAD7B,yBDjCH,CCoCG,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GAKC,6CAA8C,CC/CjD,eAAgB,CD8Cb,WAAY,CADZ,UAcD,CCzDF,+PAEC,qCAED,CD2CG,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CD7ED,8DCgFE,yBD9EF,CAFA,8DCoFE,wBDlFF,CCqFC,gEACC,uCAMD,CD9FD,0EC4FG,sCAAuC,CADvC,cDzFH",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-input-color {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\n\t& > input.ck.ck-input-text {\n\t\tmin-width: auto;\n\t\tflex-grow: 1;\n\t}\n\n\t& > div.ck.ck-dropdown {\n\t\tmin-width: auto;\n\n\t\t/* This dropdown has no arrow but a color preview instead. */\n\t\t& > .ck-input-color__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__button {\n\t\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\n\t\tdisplay: flex;\n\n\t\t& .ck.ck-input-color__button__preview {\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\n\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_rounded.css";\n\n.ck.ck-input-color {\n\t& > .ck.ck-input-text {\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* Make sure the focused input is always on top of the dropdown button so its\n\t\t outline and border are never cropped (also when the input is read-only). */\n\t\t&:focus {\n\t\t\tz-index: 0;\n\t\t}\n\t}\n\n\t& > .ck.ck-dropdown {\n\t\t& > .ck.ck-button.ck-input-color__button {\n\t\t\tpadding: 0;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-left: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-right: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.ck-disabled {\n\t\t\t\tbackground: var(--ck-color-input-disabled-background);\n\t\t\t}\n\n\t\t\t& > .ck.ck-input-color__button__preview {\n\t\t\t\t@mixin ck-rounded-corners;\n\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tborder: 1px solid var(--ck-color-input-border);\n\n\t\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\t\ttop: -30%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\theight: 150%;\n\t\t\t\t\twidth: 8%;\n\t\t\t\t\tbackground: hsl(0, 100%, 50%);\n\t\t\t\t\tborder-radius: 2px;\n\t\t\t\t\ttransform: rotate(45deg);\n\t\t\t\t\ttransform-origin: 50%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__remove-color {\n\t\twidth: 100%;\n\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-input-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t}\n\n\t\t& .ck.ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},4417:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},4606:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const a=s},4650:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-balloon-panel.ck-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:calc(var(--ck-z-dialog) + 100);--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-tooltip-text-padding:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);box-shadow:none;padding:0 var(--ck-spacing-medium)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;max-width:200px;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAOA,gCCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,sCAAyC,CEFzC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAkB/D,eAAgB,CAhBhB,kCFJD,CEMC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CAErB,eAAgB,CADhB,wCAAyC,CAFzC,wBAID,CAMA,uCACC,YACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t@mixin ck-unselectable;\n\n\tz-index: calc( var(--ck-z-dialog) + 100 );\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t--ck-balloon-border-width: 0px;\n\t--ck-balloon-arrow-offset: 0px;\n\t--ck-balloon-arrow-half-width: 4px;\n\t--ck-balloon-arrow-height: 4px;\n\t--ck-tooltip-text-padding: 4px;\n\t--ck-color-panel-background: var(--ck-color-tooltip-background);\n\n\tpadding: 0 var(--ck-spacing-medium);\n\n\t& .ck-tooltip__text {\n\t\tfont-size: .9em;\n\t\tline-height: 1.5;\n\t\tcolor: var(--ck-color-tooltip-text);\n\t}\n\n\t&.ck-tooltip_multi-line .ck-tooltip__text {\n\t\twhite-space: break-spaces;\n\t\tdisplay: inline-block;\n\t\tpadding: var(--ck-tooltip-text-padding) 0;\n\t\tmax-width: 200px;\n\t}\n\n\t/* Reset balloon panel styles */\n\tbox-shadow: none;\n\n\t/* Hide the default shadow of the .ck-balloon-panel tip */\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const a=s},4694:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-dropdown-menu-menu-item-min-width:18em}.ck.ck-dropdown-menu-list__nested-menu__item{min-width:var(--ck-dropdown-menu-menu-item-min-width)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenulistitem.css"],names:[],mappings:"AAKA,MACC,2CACD,CAEA,6CACC,qDACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-dropdown-menu-menu-item-min-width: 18em;\n}\n\n.ck.ck-dropdown-menu-list__nested-menu__item {\n\tmin-width: var(--ck-dropdown-menu-menu-item-min-width);\n}\n"],sourceRoot:""}]);const a=s},4782:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-menu-bar{background:var(--ck-color-base-background);border:1px solid var(--ck-color-toolbar-border);display:flex;flex-wrap:wrap;gap:var(--ck-spacing-small);justify-content:flex-start;padding:var(--ck-spacing-small);width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubar.css"],names:[],mappings:"AAKA,gBAIC,0CAA2C,CAG3C,+CAAgD,CANhD,YAAa,CACb,cAAe,CAIf,2BAA4B,CAH5B,0BAA2B,CAE3B,+BAAgC,CAGhC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-menu-bar {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n\tbackground: var(--ck-color-base-background);\n\tpadding: var(--ck-spacing-small);\n\tgap: var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\twidth: 100%;\n}\n"],sourceRoot:""}]);const a=s},4866:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:44px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}[dir=ltr] .ck.ck-form__header>.ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header>.ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{--ck-font-size-base:15px;font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAmBD,CCzBC,uCDaE,qCCXF,CAFA,uCDiBE,oCCfF,CDmBA,4CACC,wBAAyB,CACzB,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n\n\t& h2.ck-form__header__label {\n\t\tflex-grow: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-form-header-height: 44px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& > .ck-icon {\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t}\n\t}\n\n\t& .ck-form__header__label {\n\t\t--ck-font-size-base: 15px;\n\t\tfont-weight: bold;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},4868:e=>{"use strict";e.exports=function(e,t){Object.keys(t).forEach((function(o){e.setAttribute(o,t[o])}))}},4873:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-menu-bar-menu-max-width:75vw;--ck-menu-bar-nested-menu-horizontal-offset:5px}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{max-width:var(--ck-menu-bar-menu-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw{bottom:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{bottom:auto;top:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{left:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{right:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{left:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en{bottom:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{right:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{bottom:0}:root{--ck-menu-bar-menu-panel-max-width:75vw}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);border-radius:0;bottom:0;height:fit-content;max-width:var(--ck-menu-bar-menu-panel-max-width)}.ck-rounded-corners .ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{border-top-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{border-top-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne{border-bottom-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{border-bottom-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel:focus{outline:none}.ck.ck-menu-bar .ck-list-item-button:active,.ck.ck-menu-bar .ck-list-item-button:focus{border-color:transparent;box-shadow:none}.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:active,.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none;position:relative;z-index:2}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenupanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenupanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css"],names:[],mappings:"AAKA,MACC,iCAAkC,CAClC,+CACD,CAEA,mDAEC,2CAA4C,CAC5C,iBAAkB,CAFlB,yBAkDD,CA9CC,gLAEC,WACD,CAEA,gLAGC,WAAY,CADZ,QAED,CAEA,gLAEC,MACD,CAEA,gLAEC,OACD,CAEA,gLAEC,kEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CAEA,gLAEC,mEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CCnDD,MACC,uCACD,CAEA,mDAIC,oDAAqD,CACrD,sDAAuD,CCPvD,eAAgB,CDQhB,QAAS,CACT,kBAAmB,CACnB,iDA0BD,CClCC,6IAEC,qCAED,CDJD,mDEJC,oCFsCD,CAvBC,gLAEC,wBACD,CAEA,gLAEC,yBACD,CAEA,gLAEC,2BACD,CAEA,gLAEC,4BACD,CAEA,yDACC,YACD,CAKC,uFAEC,wBAAyB,CACzB,eACD,CAIA,yJGhDD,2BAA2B,CDF3B,2CAA8B,CCC9B,YAAa,CHoDX,iBAAkB,CAClB,SAID",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-menu-bar-menu-max-width: 75vw;\n\t--ck-menu-bar-nested-menu-horizontal-offset: 5px;\n}\n\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\n\tz-index: var(--ck-z-panel);\n\tmax-width: var(--ck-menu-bar-menu-max-width);\n\tposition: absolute;\n\n\t&.ck-menu-bar__menu__panel_position_ne,\n\t&.ck-menu-bar__menu__panel_position_nw {\n\t\tbottom: 100%;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_se,\n\t&.ck-menu-bar__menu__panel_position_sw {\n\t\ttop: 100%;\n\t\tbottom: auto;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ne,\n\t&.ck-menu-bar__menu__panel_position_se {\n\t\tleft: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_nw,\n\t&.ck-menu-bar__menu__panel_position_sw {\n\t\tright: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_es,\n\t&.ck-menu-bar__menu__panel_position_en {\n\t\tleft: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_es {\n\t\ttop: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_en {\n\t\tbottom: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ws,\n\t&.ck-menu-bar__menu__panel_position_wn {\n\t\tright: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ws {\n\t\ttop: 0px;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_wn {\n\t\tbottom: 0px;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n\n:root {\n\t--ck-menu-bar-menu-panel-max-width: 75vw;\n}\n\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\theight: fit-content;\n\tmax-width: var(--ck-menu-bar-menu-panel-max-width);\n\n\t/* Corner border radius consistent with the button. */\n\t&.ck-menu-bar__menu__panel_position_es,\n\t&.ck-menu-bar__menu__panel_position_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_ws,\n\t&.ck-menu-bar__menu__panel_position_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_en,\n\t&.ck-menu-bar__menu__panel_position_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-menu-bar__menu__panel_position_wn,\n\t&.ck-menu-bar__menu__panel_position_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n\n.ck.ck-menu-bar {\n\t& .ck-list-item-button {\n\t\t&:focus,\n\t\t&:active {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\t&.ck-menu-bar_focus-border-enabled .ck-list-item-button {\n\t\t&:focus,\n\t\t&:active {\n\t\t\t/* Fix truncated shadows due to rendering order. */\n\t\t\tposition: relative;\n\t\t\tz-index: 2;\n\n\t\t\t@mixin ck-focus-ring;\n\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n"],sourceRoot:""}]);const a=s},5067:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button{border-radius:0;padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2);width:100%}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus{border-color:transparent;box-shadow:none}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-button__label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled>.ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-icon-spacing:not(:has(.ck-button__icon))>.ck-button__label{margin-left:calc(var(--ck-icon-size) - var(--ck-spacing-small))}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-right:calc(var(--ck-spacing-small)*-1);transform:rotate(-90deg)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-left:calc(var(--ck-spacing-small)*-1);transform:rotate(90deg)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled>.ck-dropdown-menu-list__nested-menu__button__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenubutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenubutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAKA,kGACC,mBAAoB,CACpB,2BACD,CCIA,yDAGC,eAAgB,CADhB,iEAAoE,CADpE,UA2ED,CAvEC,+DACC,wBAAyB,CACzB,eAKD,CAHC,2EACC,0DACD,CAGD,2EACC,WAAY,CACZ,eAAgB,CAChB,sBACD,CAEA,uFCvBA,kCDyBA,CAGA,uHACC,+DACD,CAEA,4GACC,mCAeD,CEnDA,sHF0CE,6CAAgD,CAHhD,wBErCF,CAFA,sHFiDE,4CAA+C,CAH/C,uBE5CF,CFmDA,wHClDA,kCDoDA,CAGC,6FACC,oCACD,CAEA,sHAIC,sCAAuC,CAHvC,gCAID,CAIA,6FACC,qCACD,CAEA,sHACC,+BAAgC,CAGhC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\tpointer-events: none;\n\tz-index: var(--ck-z-default);\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../../mixins/_disabled.css";\n@import "../../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * All menu buttons.\n */\n.ck.ck-button.ck-dropdown-menu-list__nested-menu__button {\n\twidth: 100%;\n\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\n\tborder-radius: 0;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t\tbox-shadow: none;\n\n\t\t&:not(.ck-on) {\n\t\t\tbackground: var(--ck-color-button-default-hover-background);\n\t\t}\n\t}\n\n\t& > .ck-button__label {\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&.ck-disabled > .ck-button__label {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Spacing in buttons that miss the icon. */\n\t&.ck-icon-spacing:not(:has(.ck-button__icon)) > .ck-button__label {\n\t\tmargin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));\n\t}\n\n\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: rotate(-90deg);\n\n\t\t\t/* Nudge the arrow gently to the right because its center of gravity is to the left */\n\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: rotate(90deg);\n\n\t\t\t/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */\n\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t}\n\t}\n\n\t&.ck-disabled > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t&:not(.ck-button_with-text) {\n\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t}\n\n\t\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t&:not(.ck-button_with-text) {\n\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},5072:e=>{"use strict";var t=[];function o(e){for(var o=-1,n=0;n{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button{border-radius:0}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container,.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container .ck-spinner{--ck-toolbar-spinner-size:20px}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{font-size:var(--ck-icon-font-size)}[dir=ltr] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{margin-left:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitembutton.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAWC,iEACC,eAoBD,CAlBC,0LAGC,8BACD,CAEA,uFAEC,kCASD,CCzBD,iGDmBG,qCCjBH,CAFA,iGDuBG,oCCrBH",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-menu-bar__menu {\n\t/*\n\t * List item buttons.\n\t */\n\t& .ck-button.ck-menu-bar__menu__item__button {\n\t\tborder-radius: 0;\n\n\t\t& > .ck-spinner-container,\n\t\t& > .ck-spinner-container .ck-spinner {\n\t\t\t/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */\n\t\t\t--ck-toolbar-spinner-size: 20px;\n\t\t}\n\n\t\t& > .ck-spinner-container {\n\t\t\t/* This ensures margins corresponding to the .ck-icon. */\n\t\t\tfont-size: var(--ck-icon-font-size);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},5079:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck-content .page-break{align-items:center;clear:both;display:flex;justify-content:center;padding:5px 0;position:relative}.ck-content .page-break:after{border-bottom:2px dashed #c4c4c4;content:"";position:absolute;width:100%}.ck-content .page-break__label{background:#fff;border:1px solid #c4c4c4;border-radius:2px;box-shadow:2px 2px 1px rgba(0,0,0,.15);color:#333;display:block;font-family:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;font-size:.75em;font-weight:700;padding:.3em .6em;position:relative;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}@media print{.ck-content .page-break{padding:0}.ck-content .page-break:after{display:none}.ck-content :has(+.page-break){margin-bottom:0}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-page-break/theme/pagebreak.css"],names:[],mappings:"AAKA,wBAKC,kBAAmB,CAHnB,UAAW,CAEX,YAAa,CAEb,sBAAuB,CAHvB,aAAc,CAFd,iBAaD,CANC,8BAGC,gCAAyC,CAFzC,UAAW,CACX,iBAAkB,CAElB,UACD,CAGD,+BAYC,eAA4B,CAN5B,wBAAiC,CACjC,iBAAkB,CAMlB,sCAA6C,CAF7C,UAAsB,CAPtB,aAAc,CAId,qDAA0D,CAC1D,eAAiB,CACjB,eAAiB,CAPjB,iBAAkB,CAFlB,iBAAkB,CAIlB,wBAAyB,CAWzB,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CAjBjB,SAkBD,CAGA,aACC,wBACC,SAKD,CAHC,8BACC,YACD,CASD,+BACC,eACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-content .page-break {\n\tposition: relative;\n\tclear: both;\n\tpadding: 5px 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t&::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tborder-bottom: 2px dashed hsl(0, 0%, 77%);\n\t\twidth: 100%;\n\t}\n}\n\n.ck-content .page-break__label {\n\tposition: relative;\n\tz-index: 1;\n\tpadding: .3em .6em;\n\tdisplay: block;\n\ttext-transform: uppercase;\n\tborder: 1px solid hsl(0, 0%, 77%);\n\tborder-radius: 2px;\n\tfont-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\tfont-size: 0.75em;\n\tfont-weight: bold;\n\tcolor: hsl(0, 0%, 20%);\n\tbackground: hsl(0, 0%, 100%);\n\tbox-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15);\n\n\t/* Disable the possibility to select the label text by the user. */\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n/* Do not show the page break element inside the print preview window. */\n@media print {\n\t.ck-content .page-break {\n\t\tpadding: 0;\n\n\t\t&::after {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/*\n\t * From time to time placing page-break directly after a block element with margin causes appending a new blank page in pagination mode.\n\t * Removing margin-bottom from the block element fixes that issue and the margin is not being moved to the next blank page.\n\t *\n\t * Keep this in sync with the pagination plugins.\n\t */\n\t.ck-content *:has(+ .page-break) {\n\t\tmargin-bottom: 0;\n\t}\n}\n"],sourceRoot:""}]);const a=s},5484:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.ck-content .todo-list .todo-list__label>input:before{transition:none}}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{transition:none}}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css"],names:[],mappings:"AAKA,MACC,kCACD,CA4EA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAtFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAqFC,CAvED,wDACC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAED,CAEA,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UASD,CAHC,uCAXD,sDAYE,eAEF,CADC,CAGD,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FAxHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAuHA,CAzGA,wGACC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAED,CAEA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UASD,CAHC,uCAXD,sGAYE,eAEF,CADC,CAGD,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-todo-list-checkmark-size: 16px;\n}\n\n@define-mixin todo-list-checkbox {\n\t-webkit-appearance: none;\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: var(--ck-todo-list-checkmark-size);\n\theight: var(--ck-todo-list-checkmark-size);\n\tvertical-align: middle;\n\n\t/* Needed on iOS */\n\tborder: 0;\n\n\t/* LTR styles */\n\tleft: -25px;\n\tmargin-right: -15px;\n\tright: 0;\n\tmargin-left: 0;\n\n\t/* RTL styles */\n\t[dir=rtl]& {\n\t\tleft: 0;\n\t\tmargin-right: 0;\n\t\tright: -25px;\n\t\tmargin-left: -15px;\n\t}\n\n\t&::before {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: border-box;\n\t\tcontent: '';\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tborder: 1px solid hsl(0, 0%, 20%);\n\t\tborder-radius: 2px;\n\t\ttransition: 250ms ease-in-out box-shadow;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition: none;\n\t\t}\n\t}\n\n\t&::after {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: content-box;\n\t\tpointer-events: none;\n\t\tcontent: '';\n\n\t\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\n\t\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\n\t\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\n\t\tborder-style: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\n\t\ttransform: rotate(45deg);\n\t}\n\n\t&[checked] {\n\t\t&::before {\n\t\t\tbackground: hsl(126, 64%, 41%);\n\t\t\tborder-color: hsl(126, 64%, 41%);\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: hsl(0, 0%, 100%);\n\t\t}\n\t}\n}\n\n/*\n * To-do list content styles.\n */\n.ck-content .todo-list {\n\tlist-style: none;\n\n\t& li {\n\t\tposition: relative;\n\t\tmargin-bottom: 5px;\n\n\t\t& .todo-list {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n\n\t& .todo-list__label {\n\t\t& > input {\n\t\t\t@mixin todo-list-checkbox;\n\t\t}\n\n\t\t& .todo-list__label__description {\n\t\t\tvertical-align: middle;\n\t\t}\n\n\t\t&.todo-list__label_without-description input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n/*\n * To-do list editing view styles.\n */\n.ck-editor__editable.ck-content .todo-list .todo-list__label {\n\t/*\n\t * To-do list should be interactive only during the editing\n\t * (https://github.com/ckeditor/ckeditor5/issues/2090).\n\t */\n\t& > input,\n\t& > span[contenteditable=false] > input {\n\t\tcursor: pointer;\n\n\t\t&:hover::before {\n\t\t\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\n\t\t}\n\t}\n\n\t/*\n\t * Document Lists - editing view has an additional span around checkbox.\n\t */\n\t& > span[contenteditable=false] > input {\n\t\t@mixin todo-list-checkbox;\n\t}\n\n\t&.todo-list__label_without-description {\n\t\t& input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},5540:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css"],names:[],mappings:"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CCfD,8FDSG,6BCPH,CAFA,8FDaG,8BCXH,CDeC,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CEhCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CD5DF,6FCkDI,8BDhDJ,CAFA,6FCsDI,6BDpDJ,CCuDG,yFACC,SACD,CAGD,2EACC,UAWD,CD1EF,oMCwEI,4DDtEJ,CC4EA,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\n\t\t& .ck-search__reset {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\t& > .ck-search__info {\n\t\t\t& > span:first-child {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t/* Hide the filtered view when nothing was found */\n\t\t\t&:not(.ck-hidden) ~ * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));\n}\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& .ck-input {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&.ck-search__query_with-icon {\n\t\t\t--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\t\topacity: .5;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-search__query_with-reset {\n\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t&.ck-labeled-field-view_empty {\n\t\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t& .ck-search__reset {\n\t\t\t\tmin-width: auto;\n\t\t\t\tmin-height: auto;\n\n\t\t\t\tbackground: none;\n\t\t\t\topacity: .5;\n\t\t\t\tpadding: 0;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\tmin-width: 100%;\n\n\t\t& > .ck-search__info {\n\t\t\twidth: 100%;\n\t\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\n\n\t\t\t& * {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\n\t\t\t& > span:first-child {\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\n\t\t\t& > span:last-child {\n\t\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const a=s},5615:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-panel)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);border-radius:0;min-height:15px}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBAMC,2CAA4C,CAC5C,wEAAyE,CCZzE,eAAgB,CDShB,eA0LD,CCjMC,iFAEC,qCAED,CDDD,qBEPC,oCFqMD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-panel);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-border-width: 1px;\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_e"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\n\t\t\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\n\t\t\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_w"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\n\t\t\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\n\t\t\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_e {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_w {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},5659:(e,t,o)=>{const n=o(8156),i={};for(const e of Object.keys(n))i[n[e]]=e;const r={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=r;for(const e of Object.keys(r)){if(!("channels"in r[e]))throw new Error("missing channels property: "+e);if(!("labels"in r[e]))throw new Error("missing channel labels property: "+e);if(r[e].labels.length!==r[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:o}=r[e];delete r[e].channels,delete r[e].labels,Object.defineProperty(r[e],"channels",{value:t}),Object.defineProperty(r[e],"labels",{value:o})}r.rgb.hsl=function(e){const t=e[0]/255,o=e[1]/255,n=e[2]/255,i=Math.min(t,o,n),r=Math.max(t,o,n),s=r-i;let a,l;r===i?a=0:t===r?a=(o-n)/s:o===r?a=2+(n-t)/s:n===r&&(a=4+(t-o)/s),a=Math.min(60*a,360),a<0&&(a+=360);const c=(i+r)/2;return l=r===i?0:c<=.5?s/(r+i):s/(2-r-i),[a,100*l,100*c]},r.rgb.hsv=function(e){let t,o,n,i,r;const s=e[0]/255,a=e[1]/255,l=e[2]/255,c=Math.max(s,a,l),d=c-Math.min(s,a,l),u=function(e){return(c-e)/6/d+.5};return 0===d?(i=0,r=0):(r=d/c,t=u(s),o=u(a),n=u(l),s===c?i=n-o:a===c?i=1/3+t-n:l===c&&(i=2/3+o-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*r,100*c]},r.rgb.hwb=function(e){const t=e[0],o=e[1];let n=e[2];const i=r.rgb.hsl(e)[0],s=1/255*Math.min(t,Math.min(o,n));return n=1-1/255*Math.max(t,Math.max(o,n)),[i,100*s,100*n]},r.rgb.cmyk=function(e){const t=e[0]/255,o=e[1]/255,n=e[2]/255,i=Math.min(1-t,1-o,1-n);return[100*((1-t-i)/(1-i)||0),100*((1-o-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*i]},r.rgb.keyword=function(e){const t=i[e];if(t)return t;let o,r=1/0;for(const t of Object.keys(n)){const i=n[t],l=(a=i,((s=e)[0]-a[0])**2+(s[1]-a[1])**2+(s[2]-a[2])**2);l.04045?((t+.055)/1.055)**2.4:t/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;return[100*(.4124*t+.3576*o+.1805*n),100*(.2126*t+.7152*o+.0722*n),100*(.0193*t+.1192*o+.9505*n)]},r.rgb.lab=function(e){const t=r.rgb.xyz(e);let o=t[0],n=t[1],i=t[2];o/=95.047,n/=100,i/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*n-16,500*(o-n),200*(n-i)]},r.hsl.rgb=function(e){const t=e[0]/360,o=e[1]/100,n=e[2]/100;let i,r,s;if(0===o)return s=255*n,[s,s,s];i=n<.5?n*(1+o):n+o-n*o;const a=2*n-i,l=[0,0,0];for(let e=0;e<3;e++)r=t+1/3*-(e-1),r<0&&r++,r>1&&r--,s=6*r<1?a+6*(i-a)*r:2*r<1?i:3*r<2?a+(i-a)*(2/3-r)*6:a,l[e]=255*s;return l},r.hsl.hsv=function(e){const t=e[0];let o=e[1]/100,n=e[2]/100,i=o;const r=Math.max(n,.01);n*=2,o*=n<=1?n:2-n,i*=r<=1?r:2-r;return[t,100*(0===n?2*i/(r+i):2*o/(n+o)),100*((n+o)/2)]},r.hsv.rgb=function(e){const t=e[0]/60,o=e[1]/100;let n=e[2]/100;const i=Math.floor(t)%6,r=t-Math.floor(t),s=255*n*(1-o),a=255*n*(1-o*r),l=255*n*(1-o*(1-r));switch(n*=255,i){case 0:return[n,l,s];case 1:return[a,n,s];case 2:return[s,n,l];case 3:return[s,a,n];case 4:return[l,s,n];case 5:return[n,s,a]}},r.hsv.hsl=function(e){const t=e[0],o=e[1]/100,n=e[2]/100,i=Math.max(n,.01);let r,s;s=(2-o)*n;const a=(2-o)*i;return r=o*i,r/=a<=1?a:2-a,r=r||0,s/=2,[t,100*r,100*s]},r.hwb.rgb=function(e){const t=e[0]/360;let o=e[1]/100,n=e[2]/100;const i=o+n;let r;i>1&&(o/=i,n/=i);const s=Math.floor(6*t),a=1-n;r=6*t-s,1&s&&(r=1-r);const l=o+r*(a-o);let c,d,u;switch(s){default:case 6:case 0:c=a,d=l,u=o;break;case 1:c=l,d=a,u=o;break;case 2:c=o,d=a,u=l;break;case 3:c=o,d=l,u=a;break;case 4:c=l,d=o,u=a;break;case 5:c=a,d=o,u=l}return[255*c,255*d,255*u]},r.cmyk.rgb=function(e){const t=e[0]/100,o=e[1]/100,n=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,o*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i))]},r.xyz.rgb=function(e){const t=e[0]/100,o=e[1]/100,n=e[2]/100;let i,r,s;return i=3.2406*t+-1.5372*o+-.4986*n,r=-.9689*t+1.8758*o+.0415*n,s=.0557*t+-.204*o+1.057*n,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,i=Math.min(Math.max(0,i),1),r=Math.min(Math.max(0,r),1),s=Math.min(Math.max(0,s),1),[255*i,255*r,255*s]},r.xyz.lab=function(e){let t=e[0],o=e[1],n=e[2];t/=95.047,o/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;return[116*o-16,500*(t-o),200*(o-n)]},r.lab.xyz=function(e){let t,o,n;o=(e[0]+16)/116,t=e[1]/500+o,n=o-e[2]/200;const i=o**3,r=t**3,s=n**3;return o=i>.008856?i:(o-16/116)/7.787,t=r>.008856?r:(t-16/116)/7.787,n=s>.008856?s:(n-16/116)/7.787,t*=95.047,o*=100,n*=108.883,[t,o,n]},r.lab.lch=function(e){const t=e[0],o=e[1],n=e[2];let i;i=360*Math.atan2(n,o)/2/Math.PI,i<0&&(i+=360);return[t,Math.sqrt(o*o+n*n),i]},r.lch.lab=function(e){const t=e[0],o=e[1],n=e[2]/360*2*Math.PI;return[t,o*Math.cos(n),o*Math.sin(n)]},r.rgb.ansi16=function(e,t=null){const[o,n,i]=e;let s=null===t?r.rgb.hsv(e)[2]:t;if(s=Math.round(s/50),0===s)return 30;let a=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(o/255));return 2===s&&(a+=60),a},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){const t=e[0],o=e[1],n=e[2];if(t===o&&o===n)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(o/255*5)+Math.round(n/255*5)},r.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const o=.5*(1+~~(e>50));return[(1&t)*o*255,(t>>1&1)*o*255,(t>>2&1)*o*255]},r.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},r.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let o=t[0];3===t[0].length&&(o=o.split("").map((e=>e+e)).join(""));const n=parseInt(o,16);return[n>>16&255,n>>8&255,255&n]},r.rgb.hcg=function(e){const t=e[0]/255,o=e[1]/255,n=e[2]/255,i=Math.max(Math.max(t,o),n),r=Math.min(Math.min(t,o),n),s=i-r;let a,l;return a=s<1?r/(1-s):0,l=s<=0?0:i===t?(o-n)/s%6:i===o?2+(n-t)/s:4+(t-o)/s,l/=6,l%=1,[360*l,100*s,100*a]},r.hsl.hcg=function(e){const t=e[1]/100,o=e[2]/100,n=o<.5?2*t*o:2*t*(1-o);let i=0;return n<1&&(i=(o-.5*n)/(1-n)),[e[0],100*n,100*i]},r.hsv.hcg=function(e){const t=e[1]/100,o=e[2]/100,n=t*o;let i=0;return n<1&&(i=(o-n)/(1-n)),[e[0],100*n,100*i]},r.hcg.rgb=function(e){const t=e[0]/360,o=e[1]/100,n=e[2]/100;if(0===o)return[255*n,255*n,255*n];const i=[0,0,0],r=t%1*6,s=r%1,a=1-s;let l=0;switch(Math.floor(r)){case 0:i[0]=1,i[1]=s,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=s;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=s,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return l=(1-o)*n,[255*(o*i[0]+l),255*(o*i[1]+l),255*(o*i[2]+l)]},r.hcg.hsv=function(e){const t=e[1]/100,o=t+e[2]/100*(1-t);let n=0;return o>0&&(n=t/o),[e[0],100*n,100*o]},r.hcg.hsl=function(e){const t=e[1]/100,o=e[2]/100*(1-t)+.5*t;let n=0;return o>0&&o<.5?n=t/(2*o):o>=.5&&o<1&&(n=t/(2*(1-o))),[e[0],100*n,100*o]},r.hcg.hwb=function(e){const t=e[1]/100,o=t+e[2]/100*(1-t);return[e[0],100*(o-t),100*(1-o)]},r.hwb.hcg=function(e){const t=e[1]/100,o=1-e[2]/100,n=o-t;let i=0;return n<1&&(i=(o-n)/(1-n)),[e[0],100*n,100*i]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=function(e){return[0,0,e[0]]},r.gray.hsv=r.gray.hsl,r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),o=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(o.length)+o},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},5667:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button{width:100%}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-button__label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button.ck-disabled>.ck-button__label{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button{min-height:unset;padding:var(--ck-spacing-small) var(--ck-spacing-medium)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-button__label{line-height:unset;overflow:visible;width:unset}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-icon{display:none}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button{border-radius:0}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{margin-left:var(--ck-spacing-standard);margin-right:calc(var(--ck-spacing-small)*-1);transform:rotate(-90deg)}[dir=rtl] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{left:var(--ck-spacing-standard);margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small);transform:rotate(90deg)}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button.ck-disabled>.ck-menu-bar__menu__button__arrow{opacity:var(--ck-disabled-opacity)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenubutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenubutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAMC,mFACC,mBAAoB,CACpB,2BACD,CCIA,iDACC,UAuBD,CArBC,mEACC,WAAY,CACZ,eAAgB,CAChB,sBACD,CAEA,+ECbD,kCDeC,CAGC,qFACC,oCACD,CAIA,qFACC,qCACD,CAOF,6EAEC,gBAAiB,CADjB,wDAsBD,CAnBC,+FAEC,iBAAkB,CAMlB,gBAAiB,CAPjB,WAQD,CAEA,mFACC,2BAA4B,CAC5B,4BACD,CAEA,sFACC,YACD,CAMD,mFACC,eA+BD,CA7BC,qHACC,mCAuBD,CE3FD,+HF0EG,sCAAuC,CAGvC,6CAAgD,CANhD,wBErEH,CAFA,+HFmFG,+BAAgC,CAMhC,4CAA+C,CAH/C,oCAAqC,CALrC,uBE/EH,CF2FC,iIC1FD,kCD4FC",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-menu-bar__menu {\n\t& > .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-menu-bar__menu {\n\t/*\n\t * All menu buttons.\n\t */\n\t& > .ck-menu-bar__menu__button {\n\t\twidth: 100%;\n\n\t\t& > .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&.ck-disabled > .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Top-level menu buttons only.\n\t */\n\t&.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button {\n\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\tmin-height: unset;\n\n\t\t& .ck-button__label {\n\t\t\twidth: unset;\n\t\t\tline-height: unset;\n\n\t\t\t/*\n\t\t\t * Top-level buttons don\'t use ellipsis and overflow: hidden clips descenders.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/17422.\n\t\t\t */\n\t\t\toverflow: visible;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/*\n\t * Sub-menu buttons.\n\t */\n\t&:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button {\n\t\tborder-radius: 0;\n\n\t\t& > .ck-menu-bar__menu__button__arrow {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\ttransform: rotate(-90deg);\n\n\t\t\t\t/* A space to accommodate the triangle. */\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\n\t\t\t\t/* Nudge the arrow gently to the right because its center of gravity is to the left */\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\ttransform: rotate(90deg);\n\n\t\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t\t/* A space to accommodate the triangle. */\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\n\t\t\t\t/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t}\n\t\t}\n\n\t\t&.ck-disabled > .ck-menu-bar__menu__button__arrow {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},5704:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both;background:var(--ck-color-base-error);border-radius:0;color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}@media (prefers-reduced-motion:reduce){.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:none}}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCA6BD,CA3BC,8EAgBC,iEAAkE,CAblE,qCAAsC,CC3CxC,eAAgB,CD4Cd,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAcD,CC3DD,mMAEC,qCAED,CD4CE,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAIA,uCAlBD,8EAmBE,cAEF,CADC,CAID,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__background-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tflex-wrap: wrap;\n\t\t\talign-items: center;\n\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t\talign-items: center;\n\n\t\t\t\t& .ck.ck-dropdown {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\tflex-grow: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\t/* Allow absolute positioning of the status (error) balloons. */\n\t\tposition: relative;\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\tposition: absolute;\n\t\t\tleft: 50%;\n\t\t\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\ttransform: translate(-50%,100%);\n\n\t\t\t/* Make sure the balloon status stays on top of other form elements. */\n\t\t\tz-index: 1;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX( -50% );\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../mixins/_rounded.css";\n\n:root {\n\t--ck-table-properties-error-arrow-size: 6px;\n\t--ck-table-properties-min-error-width: 150px;\n}\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\t& > .ck-label {\n\t\t\t\t\tfont-size: var(--ck-font-size-tiny);\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__border-style,\n\t\t\t& .ck-table-form__border-width {\n\t\t\t\twidth: 80px;\n\t\t\t\tmin-width: 80px;\n\t\t\t\tmax-width: 80px;\n\t\t\t}\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tpadding: 0;\n\n\t\t\t& .ck-table-form__dimensions-row__width,\n\t\t\t& .ck-table-form__dimensions-row__height {\n\t\t\t\tmargin: 0\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\talign-self: flex-end;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: var(--ck-ui-component-min-height);\n\t\t\t\tline-height: var(--ck-ui-component-min-height);\n\t\t\t\tmargin: 0 var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: var(--ck-spacing-standard);\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\t@mixin ck-rounded-corners;\n\n\t\t\tbackground: var(--ck-color-base-error);\n\t\t\tcolor: var(--ck-color-base-background);\n\t\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\t\tmin-width: var(--ck-table-properties-min-error-width);\n\t\t\ttext-align: center;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\n\t\t\t\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\tanimation: none;\n\t\t\t}\n\t\t}\n\n\t\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\n\t\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n@keyframes ck-table-form-labeled-view-status-appear {\n\t0% {\n\t\topacity: 0;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},5706:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:ck-spinner-rotate 1.5s linear infinite;height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}@media (prefers-reduced-motion:reduce){.ck.ck-spinner-container{animation-duration:3s}}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}@keyframes ck-spinner-rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css"],names:[],mappings:"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,gDAAiD,CADjD,qCAAsC,CADtC,oCAOD,CAHC,uCALD,yBAME,qBAEF,CADC,CAGD,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCAA6B,CAH7B,qCAAsC,CADtC,oCAKD,CAEA,6BACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-toolbar-spinner-size: 18px;\n}\n\n.ck.ck-spinner-container {\n\tdisplay: block;\n\tposition: relative;\n}\n\n.ck.ck-spinner {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\tmargin: 0 auto;\n\ttransform: translateY(-50%);\n\tz-index: 1;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-toolbar-spinner-size: 18px;\n}\n\n.ck.ck-spinner-container {\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tanimation: 1.5s infinite ck-spinner-rotate linear;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\tanimation-duration: 3s;\n\t}\n}\n\n.ck.ck-spinner {\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tborder-radius: 50%;\n\tborder: 2px solid var(--ck-color-text);\n\tborder-top-color: transparent;\n}\n\n@keyframes ck-spinner-rotate {\n\tto {\n\t\ttransform: rotate(360deg)\n\t}\n}\n"],sourceRoot:""}]);const a=s},6016:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CC7BC,6CDQG,mCCNH,CAFA,6CDYG,oCCVH,CDeA,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-form__row {\n\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\t& + * {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-label {\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},6048:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{background:var(--ck-color-list-background);border-radius:0;list-style-type:none;padding:var(--ck-spacing-small) 0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list__item{cursor:default;min-width:15em}.ck.ck-list__item>.ck-button:not(.ck-list-item-button){border-radius:0;min-height:unset;padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2);width:100%}[dir=ltr] .ck.ck-list__item>.ck-button:not(.ck-list-item-button){text-align:left}[dir=rtl] .ck.ck-list__item>.ck-button:not(.ck-list-item-button){text-align:right}.ck.ck-list__item>.ck-button:not(.ck-list-item-button) .ck-button__label{line-height:calc(var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item>.ck-button:not(.ck-list-item-button):active{box-shadow:none}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button){background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):active{box-shadow:none}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item>.ck-button:not(.ck-list-item-button):hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item>.ck-button.ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item>.ck-button.ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck-list .ck-list__group{padding-top:var(--ck-spacing-medium)}.ck-list .ck-list__group:first-child{padding-top:0}:not(.ck-hidden)~.ck-list .ck-list__group{border-top:1px solid var(--ck-color-base-border)}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large) 0}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;margin:var(--ck-spacing-small) 0;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,YAIC,0CAA2C,CCH3C,eAAgB,CDEhB,oBAAqB,CAIrB,iCACD,CCLC,+DAEC,qCAED,CDGD,kBACC,cAAe,CAGf,cA4DD,CA1DC,uDAIC,eAAgB,CAFhB,gBAAiB,CADjB,iEAAoE,CAEpE,UAwCD,CE/DA,iEF2BE,eEzBF,CAFA,iEF+BE,gBE7BF,CFgCC,yEAEC,qEACD,CAEA,8DACC,eACD,CAEA,6DACC,oDAAqD,CACrD,yCAaD,CAXC,oEACC,eACD,CAEA,qFACC,0DACD,CAEA,qFACC,4CACD,CAGD,+EACC,uDACD,CAMA,mDACC,0CAA2C,CAC3C,aAMD,CAJC,2EACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAiBD,CAdC,qCACC,aACD,CAGA,0CACC,gDACD,CAEA,mCACC,cAAe,CACf,eAAiB,CACjB,0DACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CAKX,gCAAiC,CAJjC,UAKD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n\n\t/* A spacing at the beginning and end of the list */\n\tpadding: var(--ck-spacing-small) 0;\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\n\t/* Almost as wide as menu bar items. */\n\tmin-width: 15em;\n\n\t& > .ck-button:not(.ck-list-item-button) {\n\t\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\tborder-radius: 0;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& > .ck-button.ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-list .ck-list__group {\n\tpadding-top: var(--ck-spacing-medium);\n\n\t/* Lists come with an inner vertical padding. Don\'t duplicate it. */\n\t&:first-child {\n\t\tpadding-top: 0;\n\t}\n\n\t/* The group should have a border when it\'s not the first item. */\n\t*:not(.ck-hidden) ~ & {\n\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t}\n\n\t& > .ck-label {\n\t\tfont-size: 11px;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) 0;\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n\n\t/* Give the separator some air */\n\tmargin: var(--ck-spacing-small) 0;\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},6186:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-heading_heading1 .ck-button__label{font-size:20px}.ck.ck-heading_heading2 .ck-button__label{font-size:17px}.ck.ck-heading_heading3 .ck-button__label{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,0CACC,cACD,CAEA,0CACC,cACD,CAEA,0CACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-heading_heading1 .ck-button__label {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 .ck-button__label {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 .ck-button__label {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);const a=s},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o="",n=void 0!==t[5];return t[4]&&(o+="@supports (".concat(t[4],") {")),t[2]&&(o+="@media ".concat(t[2]," {")),n&&(o+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),o+=e(t),n&&(o+="}"),t[2]&&(o+="}"),t[4]&&(o+="}"),o})).join("")},t.i=function(e,o,n,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var s={};if(n)for(var a=0;a0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=r),o&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=o):d[2]=o),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),t.push(d))}},t}},6365:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;top:0;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 0}@media (prefers-reduced-motion:reduce){.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transition:none}}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eDmHD,CCjHC,2FAEC,qCAED,CDEA,mEACC,UAwCD,CAtCC,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAvBvB,KAAQ,CA4BR,+JAQD,CErDD,0FFoBG,MAAS,CAGT,6DAA+D,CAF/D,oBEnBH,CAFA,0FF2BG,OAAU,CAEV,sEAA0E,CAD1E,uBE1BH,CFgDE,uCAlCD,gFAmCE,eAEF,CADC,CASD,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,uWAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CEtGA,2XF0FE,+HExFF,CAFA,2XF8FE,wIE5FF,CFyGA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t\ttransform-origin: 0 0;\n\t\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t\ttransform-origin: 100% 0;\n\t\t\t\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},6531:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const a=s},6559:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-dropdown-menu-list__nested-menu{display:block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenu.css"],names:[],mappings:"AAKA,uCACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-dropdown-menu-list__nested-menu {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const a=s},6701:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-table-cell-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\t&:first-of-type {\n\t\t\t\t\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\n\t\t\t\t\tflex-grow: 0.57;\n\t\t\t\t}\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\n\t\t\t\t\tflex-grow: 0.43;\n\t\t\t\t}\n\n\t\t\t\t& .ck-button {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-table-cell-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__padding-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\t\t\twidth: 25%;\n\t\t}\n\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},6779:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button{transition:none}}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button svg{transition:none}}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button:hover,.ck .ck-widget .ck-widget__type-around__button:hover svg line,.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:none}}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAwED,CAhEC,uCATD,+CAUE,eA+DF,CA9DC,CAEA,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAwBD,CAlBC,uCAPD,mDAQE,eAiBF,CAhBC,CAEA,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DA4BD,CAtBE,kEACC,oDACD,CAEA,8DACC,wDACD,CAGD,uCAQE,qLACC,cACD,CAEF,CASD,uKA7FD,SAAU,CACV,mBA8FC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAxKD,SAAU,CACV,mBAyKC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAxNF,SAAU,CACV,mBAyNE,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\ttransition: none;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\ttransition: none;\n\t\t\t}\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\tanimation: none;\n\n\t\t\t\t& svg {\n\t\t\t\t\t& polyline {\n\t\t\t\t\t\tanimation: none;\n\t\t\t\t\t}\n\n\t\t\t\t\t& line {\n\t\t\t\t\t\tanimation: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);const a=s},7133:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAQE,oIAGC,gCAAiC,CADjC,6BAED,CAEA,oIAGC,+BAAgC,CADhC,4BAED,CAGD,0CAGC,eAiBD,CAfC,oDAGC,+BAAgC,CADhC,4BAED,CAEA,oDAGC,gCAAiC,CADjC,6BAED,CAEA,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAIA,uCCnDA,eD6DA,CC3DA,qHAEC,qCAED,CD+CE,qKACC,2BACD,CAEA,mKACC,4BACD,CAUD,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t&:hover > .ck-splitbutton__action,\n\t&.ck-splitbutton_open > .ck-splitbutton__action {\n\t\t[dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t[dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t[dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\n\t\t[dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* Make sure the divider stretches 100% height of the button\n\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\n\t& > .ck-splitbutton__arrow:not(:focus) {\n\t\tborder-top-width: 0px;\n\t\tborder-bottom-width: 0px;\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t/* Splitbutton separator needs to be set with the ::after pseudoselector\n\t\tto display properly the borders on focus */\n\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\tcontent: \'\';\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\tbackground-color: var(--ck-color-split-button-hover-border);\n\t\t}\n\n\t\t/* Make sure the divider between the buttons looks fine when the button is focused */\n\t\t& > .ck-splitbutton__arrow:focus::after {\n\t\t\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\n\t\t}\n\n\t\t[dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tleft: -1px;\n\t\t\t}\n\t\t}\n\n\t\t[dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tright: -1px;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7216:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-mention-list-max-height:300px}.ck.ck-mentions{max-height:var(--ck-mention-list-max-height);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.ck.ck-mentions>.ck-list__item{flex-shrink:0;overflow:hidden}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-mention/theme/mentionui.css"],names:[],mappings:"AAKA,MACC,kCACD,CAEA,gBACC,4CAA6C,CAM7C,iBAAkB,CAJlB,eAAgB,CAMhB,2BAQD,CAJC,+BAEC,aAAc,CADd,eAED",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-mention-list-max-height: 300px;\n}\n\n.ck.ck-mentions {\n\tmax-height: var(--ck-mention-list-max-height);\n\n\toverflow-y: auto;\n\n\t/* Prevent unnecessary horizontal scrollbar in Safari\n\thttps://github.com/ckeditor/ckeditor5-mention/issues/41 */\n\toverflow-x: hidden;\n\n\toverscroll-behavior: contain;\n\n\t/* Prevent unnecessary vertical scrollbar in Safari\n\thttps://github.com/ckeditor/ckeditor5-mention/issues/41 */\n\t& > .ck-list__item {\n\t\toverflow: hidden;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7217:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel{max-height:314px;overflow-y:auto;position:absolute;z-index:calc(var(--ck-z-panel) + 1)}:root{--ck-dropdown-menu-menu-panel-max-width:75vw}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;height:fit-content;max-width:var(--ck-dropdown-menu-menu-panel-max-width)}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:after,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:before{display:none}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_es,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_se{border-top-left-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_sw,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ws{border-top-right-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_en,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ne{border-bottom-left-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_nw,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_wn{border-bottom-right-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenupanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenupanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,0DAEC,gBAAiB,CACjB,eAAgB,CAFhB,iBAAkB,CAGlB,mCACD,CCFA,MACC,4CACD,CAEA,0DAGC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CCRT,oCAA8B,CDS9B,kBAAmB,CACnB,sDAgCD,CA7BC,iIAEC,YACD,CAGA,4JAEC,wBACD,CAEA,4JAEC,yBACD,CAEA,4JAEC,2BACD,CAEA,4JAEC,4BACD,CAEA,gEACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {\n\tposition: absolute;\n\tmax-height: 314px; /* With the default settings, this is equal to 10 menu items. */\n\toverflow-y: auto;\n\tz-index: calc(var(--ck-z-panel) + 1);\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../../mixins/_rounded.css";\n@import "../../../../mixins/_shadow.css";\n\n:root {\n\t--ck-dropdown-menu-menu-panel-max-width: 75vw;\n}\n\n.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\theight: fit-content;\n\tmax-width: var(--ck-dropdown-menu-menu-panel-max-width);\n\n\t/* Reset balloon styling */\n\t&::after,\n\t&::before {\n\t\tdisplay: none;\n\t}\n\n\t/* Corner border radius consistent with the button. */\n\t&.ck-balloon-panel_es,\n\t&.ck-balloon-panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-balloon-panel_ws,\n\t&.ck-balloon-panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-balloon-panel_en,\n\t&.ck-balloon-panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-balloon-panel_wn,\n\t&.ck-balloon-panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},7289:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-panel)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-panel); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},7406:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}@media (forced-colors:active){.ck-content .table>figcaption{background-color:unset;color:unset}}@media (forced-colors:none){.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css"],names:[],mappings:"AAOA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAaD,CCxBC,8BACC,8BDoBA,sBAAuB,CACvB,WCnBA,CACD,CAIA,4BDqBC,qEACC,iDACD,CCnBD,CDsBA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-color-selector-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .table > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: top;\n\tword-break: break-word;\n\ttext-align: center;\n\tcolor: var(--ck-color-selector-caption-text);\n\tbackground-color: var(--ck-color-selector-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n\n\t/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */\n\t@mixin ck-media-forced-colors {\n\t\tbackground-color: unset;\n\t\tcolor: unset;\n\t}\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .table > figcaption {\n\t@mixin ck-media-default-colors {\n\t\t&.table__caption_highlighted {\n\t\t\tanimation: ck-table-caption-highlight .6s ease-out;\n\t\t}\n\t}\n\n\t&.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the table caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n@keyframes ck-table-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-selector-caption-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},7456:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n\n\t/* Give linked inline images some outline to let the user know they are also part of the link. */\n\t& span.image-inline {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\n\t}\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);const a=s},7475:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-toolbar-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);const a=s},7504:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:none;opacity:1}}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBAMD,CAJC,uCAHD,yFAKE,cAAe,CADf,SAGF,CADC,CAKF,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\tposition: relative;\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\t/* Showing animation. */\n\t\t&.ck-appear {\n\t\t\tanimation: fadeIn 700ms;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\topacity: 1;\n\t\t\t\tanimation: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\theight: 2px;\n\t\twidth: 0;\n\t\tbackground: var(--ck-color-upload-bar-background);\n\t\ttransition: width 100ms;\n\t}\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);const a=s},7659:e=>{"use strict";var t={};e.exports=function(e,o){var n=function(e){if(void 0===t[e]){var o=document.querySelector(e);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(o)}},7875:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css"],names:[],mappings:"AAKA,8CACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-editor__editable .ck-list-bogus-paragraph {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const a=s},7879:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image.image-style-block-align-left,.ck-content .image.image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image.image-style-align-left,.ck-content .image.image-style-align-right{clear:none}.ck-content .image.image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image.image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image.image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image.image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image.image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content p+.image.image-style-align-left,.ck-content p+.image.image-style-align-right,.ck-content p+.image.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAQE,iGAEC,oDACD,CAIA,qFAEC,UACD,CAEA,oCACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,0CACC,UAAW,CACX,0CACD,CAEA,2CACC,WAAY,CACZ,yCACD,CAEA,iDAEC,gBAAiB,CADjB,cAED,CAEA,gDACC,aAAc,CACd,iBACD,CAGD,sCACC,gBAAiB,CACjB,iBACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAGA,+HAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-image-style-spacing: 1.5em;\n\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n}\n\n.ck-content {\n\t/* See: https://github.com/ckeditor/ckeditor5/issues/16317 */\n\t& .image {\n\t\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\t\tconfirming successful application of the style if image width exceeds the editor's size.\n\t\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t\t&.image-style-block-align-left,\n\t\t&.image-style-block-align-right {\n\t\t\tmax-width: calc(100% - var(--ck-image-style-spacing));\n\t\t}\n\n\t\t/* Allows displaying multiple floating images in the same line.\n\t\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tclear: none;\n\t\t}\n\n\t\t&.image-style-side {\n\t\t\tfloat: right;\n\t\t\tmargin-left: var(--ck-image-style-spacing);\n\t\t\tmax-width: 50%;\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tfloat: left;\n\t\t\tmargin-right: var(--ck-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tfloat: right;\n\t\t\tmargin-left: var(--ck-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-block-align-right {\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t&.image-style-block-align-left {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: auto;\n\t\t}\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image.image-style-align-left,\n\t& p + .image.image-style-align-right,\n\t& p + .image.image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck.ck-splitbutton {\n\t/* The button should display as a regular drop-down if the action button\n\tis forced to fire the same action as the arrow button. */\n\t&.ck-splitbutton_flatten {\n\t\t&:hover,\n\t\t&.ck-splitbutton_open {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-background);\n\n\t\t\t\t&::after {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-splitbutton_open:hover {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-hover-background);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},7962:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{transition:box-shadow .2s ease}@media (forced-colors:none){.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}}@media (forced-colors:active){.ck.ck-color-grid__tile{height:unset;min-height:unset;min-width:unset;padding:0 var(--ck-spacing-small);width:unset}.ck.ck-color-grid__tile .ck-button__label{display:inline-block}}@media (prefers-reduced-motion:reduce){.ck.ck-color-grid__tile{transition:none}}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css"],names:[],mappings:"AAKA,kBACC,YACD,CCCA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBACC,8BAkED,CC3EC,4BACC,wBDgBA,QAAS,CAJT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CAJV,oCCTA,CDgBA,8HAIC,QACD,CAEA,+DACC,gDACD,CAEA,8BACC,8FACD,CAEA,gGAEC,iGACD,CCjCD,CAZA,8BACC,wBDqDA,YAAa,CAEb,gBAAiB,CADjB,eAAgB,CAEhB,iCAAkC,CAJlC,WClDA,CDwDA,0CACC,oBACD,CCzDD,CD4DA,uCAhDD,wBAiDE,eAkBF,CAjBC,CAEA,oCACC,YAAa,CACb,gBACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAGC,0CACC,aACD,CAIF,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";\n\n:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\ttransition: .2s ease box-shadow;\n\n\t@mixin ck-media-default-colors {\n\t\twidth: var(--ck-color-grid-tile-size);\n\t\theight: var(--ck-color-grid-tile-size);\n\t\tmin-width: var(--ck-color-grid-tile-size);\n\t\tmin-height: var(--ck-color-grid-tile-size);\n\t\tpadding: 0;\n\t\tborder: 0;\n\n\t\t&.ck-on,\n\t\t&:focus:not( .ck-disabled ),\n\t\t&:hover:not( .ck-disabled ) {\n\t\t\t/* Disable the default .ck-button\'s border ring. */\n\t\t\tborder: 0;\n\t\t}\n\n\t\t&.ck-color-selector__color-tile_bordered {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\t\t}\n\n\t\t&:focus:not( .ck-disabled ),\n\t\t&:hover:not( .ck-disabled ) {\n\t\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t\t}\n\t}\n\n\t/*\n\t * In high contrast mode, the colors are replaced with text labels.\n\t * See https://github.com/ckeditor/ckeditor5/issues/14907.\n\t */\n\t@mixin ck-media-forced-colors {\n\t\twidth: unset;\n\t\theight: unset;\n\t\tmin-width: unset;\n\t\tmin-height: unset;\n\t\tpadding: 0 var(--ck-spacing-small);\n\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-forced-colors {\n\t@media (forced-colors: active) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n\n@define-mixin ck-media-default-colors {\n\t@media (forced-colors: none) {\n\t\t& {\n\t\t\t@mixin-content;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},8040:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CChEF,gJDyEG,aCvEH,CFAA",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},8091:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-dialog .ck.ck-dialog__actions{display:flex;justify-content:flex-end;padding:var(--ck-spacing-large)}.ck.ck-dialog .ck.ck-dialog__actions>*+*{margin-left:var(--ck-spacing-large)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialogactions.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialogactions.css"],names:[],mappings:"AAMC,qCACC,YAAa,CACb,wBAAyB,CCDzB,+BDED,CCAC,yCACC,mCACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-dialog {\n\t& .ck.ck-dialog__actions {\n\t\tdisplay: flex;\n\t\tjustify-content: flex-end;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-dialog {\n\t& .ck.ck-dialog__actions {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * + * {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},8156:e=>{"use strict";e.exports={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]}},8368:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-textarea{overflow-x:hidden}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css"],names:[],mappings:"AASA,aACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/*\n * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.\n * This bug is especially visible when rows=1.\n */\n.ck-textarea {\n\toverflow-x: hidden\n}\n"],sourceRoot:""}]);const a=s},8429:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},8507:(e,t,o)=>{const n=o(5659);function i(e){const t=function(){const e={},t=Object.keys(n);for(let o=t.length,n=0;n{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-content {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content\'s width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%;\n\n\t\t\t/* Keep proportions of the block image if the height is set and the image is wider than the editor width.\n\t\t\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don\'t allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Inhertit the content styles padding of the
in case the integration overrides `text-align: center`\n\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\n\t * caret does, and not at the edge of
.\n\t */\n\t& .image > figcaption.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the image caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\t\t}\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image-inline {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected inline image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\n\t\t\t/*\n\t\t\t * Make sure the native browser selection style is not displayed.\n\t\t\t * Inline image widgets have their own styles for the selected state and\n\t\t\t * leaving this up to the browser is asking for a visual collision.\n\t\t\t */\n\t\t\t& ::selection {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.\n\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t& .image-inline img {\n\t\theight: auto;\n\t}\n\n\t/* The inline image nested in the table should have its original size if not resized.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline img {\n\t\t\tmax-width: none;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},8603:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}@media (prefers-reduced-motion:reduce){.ck .ck-insert-table-dropdown-grid-box{transition:none}}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAcD,CAZC,uCATD,uCAUE,eAWF,CAVC,CAEA,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck .ck-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label,\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\tmin-width: var(--ck-insert-table-dropdown-box-width);\n\tmin-height: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\toutline: none;\n\ttransition: none;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&:focus {\n\t\tbox-shadow: none;\n\t}\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);const a=s},8864:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,gEACD,CAWE,8QAGC,2DAA4D,CAC5D,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t/**\n\t\t * While setting outline is fine, the border should not be modified here\n\t\t * because it overrides the default table cell border color which is not expected.\n\t\t * So do not use `@mixin ck-focus-ring;` here, or any other border styles.\n\t\t * See more: https://github.com/ckeditor/ckeditor5/issues/16979\n\t\t */\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-selector-focused-cell-background);\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},8948:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;background:var(--ck-color-button-default-background);border:1px solid transparent;border-radius:0;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}@media (prefers-reduced-motion:reduce){.ck.ck-button,a.ck.ck-button{transition:none}}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit;opacity:.5}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-medium)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background);color:var(--ck-color-button-on-color)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background);color:var(--ck-color-button-action-text)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CEhCC,iDFWC,oBETD,CAFA,iDFeC,qBEbD,CFgBA,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CGzBD,6BA6BC,uBAAwB,CC7BxB,oDAAqC,CDuBrC,4BAA6B,CExB7B,eAAgB,CFOhB,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAwID,CC1IE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CCdA,wIAEC,qCAED,CF0BA,uCA/BD,6BAgCE,eA6GF,CA5GC,CAEA,oFGpCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHyCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CDzEA,qFCmEE,eDjEF,CAFA,qFCuEE,gBDrEF,CCyEA,yEACC,aAAc,CAUd,UACD,CDvFA,6FC+EE,mCD7EF,CAFA,6FCmFE,oCDjFF,CCyFC,oIIxFD,oDJ4FC,CAOA,gLKnGD,kCLqGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAYD,CD5HA,2HCqHG,qCDnHH,CAFA,2HCyHG,oCDvHH,CC8HC,mHACC,WACD,CAID,yCChIA,+CAAqC,CDmIpC,qCACD,CCjIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDuHA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CChJC,mDAAqC,CDoJrC,wCACD,CClJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDwID,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../mixins/_unselectable.css";\n@import "../../mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\n\t@mixin ck-dir ltr {\n\t\tjustify-content: left;\n\t}\n\n\t@mixin ck-dir rtl {\n\t\tjustify-content: right;\n\t}\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\topacity: .5;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\n\t\tcolor: var(--ck-color-button-on-color);\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},9248:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css"],names:[],mappings:"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-content code {\n\tbackground-color: hsla(0, 0%, 78%, 0.3);\n\tpadding: .15em;\n\tborder-radius: 2px;\n}\n\n.ck.ck-editor__editable .ck-code_selected {\n\tbackground-color: hsla(0, 0%, 78%, 0.5);\n}\n"],sourceRoot:""}]);const a=s},9262:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:"";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"],names:[],mappings:"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CCjFA,mDDwEE,sFAAuF,CADvF,+JAAoK,CAFpK,SCnEF,CAFA,mDD+EE,sFAAuF,CADvF,+JAAmK,CAFnK,UC1EF",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: inline;\n\t\tposition: relative;\n\t\tpointer-events: none;\n\n\t\t& span {\n\t\t\tposition: absolute;\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\t& > .ck-widget__selection-handle {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > .ck-widget__type-around {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\tposition: absolute;\n\tpointer-events: none;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\n\n:root {\n\t--ck-clipboard-drop-target-dot-width: 12px;\n\t--ck-clipboard-drop-target-dot-height: 8px;\n\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\t& span {\n\t\t\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tbackground: var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-left: -1px;\n\n\t\t\t/* The triangle above the marker */\n\t\t\t&::after {\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 50%;\n\t\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\n\t\t\t\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget that it a drop target.\n\t */\n\t& .ck-widget.ck-clipboard-drop-target-range {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\tzoom: 0.6;\n\t\toutline: none !important;\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\theight: 0;\n\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\tbackground: var(--ck-clipboard-drop-target-color);\n\tmargin-top: -1px;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-style: solid;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tleft: -1px;\n\n\t\t\tborder-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);\n\t\t\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tright: -1px;\n\n\t\t\tborder-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;\n\t\t\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n'],sourceRoot:""}]);const a=s},9428:e=>{var t=!0,o=!1,n=!1;function i(e,t,o){var n=e.attrIndex(t),i=[t,o];n<0?e.attrPush(i):e.attrs[n]=i}function r(e,t){for(var o=e[t].level-1,n=t-1;n>=0;n--)if(e[n].level===o)return n;return-1}function s(e,t){return"inline"===e[t].type&&function(e){return"paragraph_open"===e.type}(e[t-1])&&function(e){return"list_item_open"===e.type}(e[t-2])&&function(e){return 0===e.content.indexOf("[ ] ")||0===e.content.indexOf("[x] ")||0===e.content.indexOf("[X] ")}(e[t])}function a(e,i){if(e.children.unshift(function(e,o){var n=new o("html_inline","",0),i=t?' disabled="" ':"";0===e.content.indexOf("[ ] ")?n.content='':0!==e.content.indexOf("[x] ")&&0!==e.content.indexOf("[X] ")||(n.content='');return n}(e,i)),e.children[1].content=e.children[1].content.slice(3),e.content=e.content.slice(3),o)if(n){e.children.pop();var r="task-item-"+Math.ceil(1e7*Math.random()-1e3);e.children[0].content=e.children[0].content.slice(0,-1)+' id="'+r+'">',e.children.push(function(e,t,o){var n=new o("html_inline","",0);return n.content='",n.attrs=[{for:t}],n}(e.content,r,i))}else e.children.unshift(function(e){var t=new e("html_inline","",0);return t.content="",t}(i))}e.exports=function(e,l){l&&(t=!l.enabled,o=!!l.label,n=!!l.labelAfter),e.core.ruler.after("inline","github-task-lists",(function(e){for(var o=e.tokens,n=2;n{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,":root{--ck-accessibility-help-dialog-max-width:600px;--ck-accessibility-help-dialog-max-height:400px;--ck-accessibility-help-dialog-border-color:#ccced1;--ck-accessibility-help-dialog-code-background-color:#ededed;--ck-accessibility-help-dialog-kbd-shadow-color:#9c9c9c}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content{border:1px solid transparent;max-height:var(--ck-accessibility-help-dialog-max-height);max-width:var(--ck-accessibility-help-dialog-max-width);overflow:auto;padding:var(--ck-spacing-large);user-select:text}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content *{white-space:normal}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content .ck-label{display:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3{font-size:1.2em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4{font-size:1em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content p,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content table{margin:1em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl{border-bottom:none;border-top:1px solid var(--ck-accessibility-help-dialog-border-color);display:grid;grid-template-columns:2fr 1fr}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{border-bottom:1px solid var(--ck-accessibility-help-dialog-border-color);padding:.4em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{grid-column-start:1}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd{grid-column-start:2;text-align:right}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{background:var(--ck-accessibility-help-dialog-code-background-color);border-radius:2px;display:inline-block;font-size:.9em;line-height:1;padding:.4em;text-align:center;vertical-align:middle}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code{font-family:monospace}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{box-shadow:0 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);margin:0 1px;min-width:1.8em}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd+kbd{margin-left:2px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/accessibilityhelp.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAQA,MACC,8CAA+C,CAC/C,+CAAgD,CAChD,mDAA8D,CAC9D,4DAAyE,CACzE,uDACD,CAEA,wEAOC,4BAA6B,CAJ7B,yDAA0D,CAD1D,uDAAwD,CAExD,aAAc,CAHd,+BAAgC,CAIhC,gBAgFD,CA5EC,8ECdA,2BAA2B,CCF3B,2CAA8B,CDC9B,YDkBA,CAEA,0EACC,kBACD,CAGA,kFACC,YACD,CAEA,2EAEC,eAAgB,CADhB,eAED,CAEA,2EAEC,aAAc,CADd,eAED,CAEA,8SAIC,YACD,CAEA,2EAIC,kBAAmB,CADnB,qEAAsE,CAFtE,YAAa,CACb,6BAiBD,CAbC,4JACC,wEAAyE,CACzE,cACD,CAEA,8EACC,mBACD,CAEA,8EACC,mBAAoB,CACpB,gBACD,CAGD,yJAEC,oEAAqE,CAIrE,iBAAkB,CALlB,oBAAqB,CAOrB,cAAe,CAHf,aAAc,CAFd,YAAa,CAIb,iBAAkB,CAHlB,qBAKD,CAEA,6EACC,qBACD,CAEA,4EAEC,yEAA4E,CAC5E,YAAa,CAFb,eAOD,CAHC,gFACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-accessibility-help-dialog-max-width: 600px;\n\t--ck-accessibility-help-dialog-max-height: 400px;\n\t--ck-accessibility-help-dialog-border-color: hsl(220, 6%, 81%);\n\t--ck-accessibility-help-dialog-code-background-color: hsl(0deg 0% 92.94%);\n\t--ck-accessibility-help-dialog-kbd-shadow-color: hsl(0deg 0% 61%);\n}\n\n.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content {\n\tpadding: var(--ck-spacing-large);\n\tmax-width: var(--ck-accessibility-help-dialog-max-width);\n\tmax-height: var(--ck-accessibility-help-dialog-max-height);\n\toverflow: auto;\n\tuser-select: text;\n\n\tborder: 1px solid transparent;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t* {\n\t\twhite-space: normal;\n\t}\n\n\t/* Hide the main label of the content container. */\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t& h3 {\n\t\tfont-weight: bold;\n\t\tfont-size: 1.2em;\n\t}\n\n\t& h4 {\n\t\tfont-weight: bold;\n\t\tfont-size: 1em;\n\t}\n\n\t& p,\n\t& h3,\n\t& h4,\n\t& table {\n\t\tmargin: 1em 0;\n\t}\n\n\t& dl {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 2fr 1fr;\n\t\tborder-top: 1px solid var(--ck-accessibility-help-dialog-border-color);\n\t\tborder-bottom: none;\n\n\t\t& dt, & dd {\n\t\t\tborder-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color);\n\t\t\tpadding: .4em 0;\n\t\t}\n\n\t\t& dt {\n\t\t\tgrid-column-start: 1;\n\t\t}\n\n\t\t& dd {\n\t\t\tgrid-column-start: 2;\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& kbd, & code {\n\t\tdisplay: inline-block;\n\t\tbackground: var(--ck-accessibility-help-dialog-code-background-color);\n\t\tpadding: .4em;\n\t\tvertical-align: middle;\n\t\tline-height: 1;\n\t\tborder-radius: 2px;\n\t\ttext-align: center;\n\t\tfont-size: .9em;\n\t}\n\n\t& code {\n\t\tfont-family: monospace;\n\t}\n\n\t& kbd {\n\t\tmin-width: 1.8em;\n\t\tbox-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);\n\t\tmargin: 0 1px;\n\n\t\t& + kbd {\n\t\t\tmargin-left: 2px;\n\t\t}\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},9624:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;border-radius:0;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);border-radius:0;height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}@media (prefers-reduced-motion:reduce){.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{transition:none}}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CC3BA,0DDgCE,4CC9BF,CAFA,0DDqCE,2CCnCF,CDuCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CEpD9B,eAAgB,CFmDf,iFAAsF,CAEtF,0CA2BD,CE9EA,yIAEC,qCAED,CDXA,2DD8CE,gBC5CF,CAFA,2DDmDE,iBCjDF,CD2DC,2EAOC,yDAA0D,CE/D5D,eAAgB,CF8Dd,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAUD,CErED,6LAEC,qCAAsC,CFsDpC,8CEpDH,CF8DE,uCAZD,2EAaE,eAEF,CADC,CAGD,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DGpFA,kCHsFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CC/GF,2FDsHI,2DCpHJ,CAFA,2FD0HI,oECxHJ",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating–point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2px /* Border */\n\t);\n\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t/* Unlike a regular button, the switch button text color and background should never change.\n\t * Changing toggle switch (background, outline) is enough to carry the information about the\n\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\n\t */\n\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\n\t\tcolor: inherit;\n\t\tbackground: transparent;\n\t}\n\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Apply some smooth transition to the box-shadow and border. */\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\n\t\tborder: 1px solid transparent;\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tbox-shadow: none;\n\n\t\t& .ck-button__toggle {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\n\t\t\toutline-offset: 1px;\n\t\t\toutline: var(--ck-focus-ring);\n\t\t}\n\t}\n\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-on {\n\t\t& .ck-button__toggle {\n\t\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t\t}\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\t/*\n\t\t\t\t* Move the toggle switch to the right. It will be animated.\n\t\t\t\t*/\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n@define-mixin ck-dir $direction {\n\t[dir="$(direction)"] & {\n\t\t@mixin-content;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t.ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},9938:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);const a=s},9939:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck.ck-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n:root {\n\t--ck-color-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);const a=s},9969:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var n=o(1354),i=o.n(n),r=o(6314),s=o.n(r)()(i());s.push([e.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}@media print{.ck-content .table table{height:auto}}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAeF,aACC,yBACC,WACD,CACD,CAIA,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n.ck-content .table {\n\t/* Give the table widget some air and center it horizontally */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent
. Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/**\n * Expanding the table to the full height of the parent container is necessary because tables\n * are rendered inside
elements, which is kinda buggy in table height calculation.\n * While setting `height: 100%` fixes the issue in the editing mode described here:\n * https://github.com/ckeditor/ckeditor5/issues/6186\n *\n * it\'s causing another issue with the table height in the print preview mode here:\n * https://github.com/ckeditor/ckeditor5/issues/16856\n *\n * For now, resetting the height to `initial` in the print mode works as a workaround.\n */\n@media print {\n\t.ck-content .table table {\n\t\theight: initial;\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n\n.ck-editor__editable .ck-table-bogus-paragraph {\n\t/*\n\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\n\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\n\t */\n\tdisplay: inline-block;\n\n\t/*\n\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\n\t */\n\twidth: 100%;\n}\n'],sourceRoot:""}]);const a=s}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,exports:{}};return o[e](r,r.exports,i),r.exports}i.m=o,i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var r=Object.create(null);i.r(r);var s={};e=e||[null,t({}),t([]),t(t)];for(var a=2&n&&o;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((e=>s[e]=()=>o[e]));return s.default=()=>o,i.d(r,s),r},i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.b=document.baseURI||self.location.href;var r={};return(()=>{"use strict";var e={};i.r(e),i.d(e,{decode:()=>UI,encode:()=>KI,format:()=>ZI,parse:()=>lP});var t={};i.r(t),i.d(t,{Any:()=>uP,Cc:()=>hP,Cf:()=>pP,P:()=>cP,S:()=>dP,Z:()=>mP});var o={};i.r(o),i.d(o,{arrayReplaceAt:()=>jP,assign:()=>HP,escapeHtml:()=>eF,escapeRE:()=>oF,fromCodePoint:()=>$P,has:()=>LP,isMdAsciiPunct:()=>sF,isPunctChar:()=>rF,isSpace:()=>nF,isString:()=>NP,isValidEntityCode:()=>qP,isWhiteSpace:()=>iF,lib:()=>lF,normalizeReference:()=>aF,unescapeAll:()=>ZP,unescapeMd:()=>KP});var n={};let r;i.r(n),i.d(n,{parseLinkDestination:()=>dF,parseLinkLabel:()=>cF,parseLinkTitle:()=>uF});try{r={window,document}}catch(e){r={window:{},document:{}}}const s=r;function a(){try{return navigator.userAgent.toLowerCase()}catch(e){return""}}const l=a(),c={isMac:d(l),isWindows:u(l),isGecko:h(l),isSafari:p(l),isiOS:m(l),isAndroid:g(l),isBlink:f(l),get isMediaForcedColors(){return!!s.window.matchMedia&&s.window.matchMedia("(forced-colors: active)").matches},get isMotionReduced(){return!!s.window.matchMedia&&s.window.matchMedia("(prefers-reduced-motion)").matches},features:{isRegExpUnicodePropertySupported:b()}};function d(e){return e.indexOf("macintosh")>-1}function u(e){return e.indexOf("windows")>-1}function h(e){return!!e.match(/gecko\/\d+/)}function p(e){return e.indexOf(" applewebkit/")>-1&&-1===e.indexOf("chrome")}function m(e){return!!e.match(/iphone|ipad/i)||d(e)&&navigator.maxTouchPoints>0}function g(e){return e.indexOf("android")>-1}function f(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}function b(){let e=!1;try{e=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(e){}return e}function k(e,t,o,n){o=o||function(e,t){return e===t};const i=Array.isArray(e)?e:Array.prototype.slice.call(e),r=Array.isArray(t)?t:Array.prototype.slice.call(t),s=function(e,t,o){const n=w(e,t,o);if(-1===n)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const i=y(e,n),r=y(t,n),s=w(i,r,o),a=e.length-s,l=t.length-s;return{firstIndex:n,lastIndexOld:a,lastIndexNew:l}}(i,r,o),a=n?function(e,t){const{firstIndex:o,lastIndexOld:n,lastIndexNew:i}=e;if(-1===o)return Array(t).fill("equal");let r=[];o>0&&(r=r.concat(Array(o).fill("equal")));i-o>0&&(r=r.concat(Array(i-o).fill("insert")));n-o>0&&(r=r.concat(Array(n-o).fill("delete")));i0&&o.push({index:n,type:"insert",values:e.slice(n,r)});i-n>0&&o.push({index:n+(r-n),type:"delete",howMany:i-n});return o}(r,s);return a}function w(e,t,o){for(let n=0;n200||i>200||n+i>300)return A.fastDiff(e,t,o,!0);let r,s;if(ic?-1:1;d[n+h]&&(d[n]=d[n+h].slice(0)),d[n]||(d[n]=[]),d[n].push(i>c?r:s);let p=Math.max(i,c),m=p-n;for(;mc;p--)u[p]=h(p);u[c]=h(c),m++}while(u[c]!==l);return d[c].slice(1)}A.fastDiff=k;const C=function(){return function e(){e.called=!0}};class v{constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=C(),this.off=C()}}const x=new Array(256).fill("").map(((e,t)=>("0"+t.toString(16)).slice(-2)));function E(){const[e,t,o,n]=crypto.getRandomValues(new Uint32Array(4));return"e"+x[255&e]+x[e>>8&255]+x[e>>16&255]+x[e>>24&255]+x[255&t]+x[t>>8&255]+x[t>>16&255]+x[t>>24&255]+x[255&o]+x[o>>8&255]+x[o>>16&255]+x[o>>24&255]+x[255&n]+x[n>>8&255]+x[n>>16&255]+x[n>>24&255]}const D={get(e="normal"){return"number"!=typeof e?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function B(e,t){const o=D.get(t.priority);let n=0,i=e.length;for(;n>1;D.get(e[t].priority){if("object"==typeof t&&null!==t){if(o.has(t))return`[object ${t.constructor.name}]`;o.add(t)}return t},i=t?` ${JSON.stringify(t,n)}`:"",r=I(e);return e+i+r}(e,o)),this.name="CKEditorError",this.context=t,this.data=o}is(e){return"CKEditorError"===e}static rethrowUnexpectedError(e,t){if(e.is&&e.is("CKEditorError"))throw e;const o=new S(e.message,t);throw o.stack=e.stack,o}}function T(e,t){console.warn(...P(e,t))}function I(e){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${e}`}function P(e,t){const o=I(e);return t?[e,t,o]:[e,o]}const F="44.3.0",R=new Date(2025,2,5);if(globalThis.CKEDITOR_VERSION)throw new S("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION=F;const M=Symbol("listeningTo"),z=Symbol("emitterId"),O=Symbol("delegations"),N=V(Object);function V(e){if(!e)return N;return class extends e{on(e,t,o){this.listenTo(this,e,t,o)}once(e,t,o){let n=!1;this.listenTo(this,e,((e,...o)=>{n||(n=!0,e.off(),t.call(this,e,...o))}),o)}off(e,t){this.stopListening(this,e,t)}listenTo(e,t,o,n={}){let i,r;this[M]||(this[M]={});const s=this[M];H(e)||L(e);const a=H(e);(i=s[a])||(i=s[a]={emitter:e,callbacks:{}}),(r=i.callbacks[t])||(r=i.callbacks[t]=[]),r.push(o),function(e,t,o,n,i){t._addEventListener?t._addEventListener(o,n,i):e._addEventListener.call(t,o,n,i)}(this,e,t,o,n)}stopListening(e,t,o){const n=this[M];let i=e&&H(e);const r=n&&i?n[i]:void 0,s=r&&t?r.callbacks[t]:void 0;if(!(!n||e&&!r||t&&!s))if(o){U(this,e,t,o);-1!==s.indexOf(o)&&(1===s.length?delete r.callbacks[t]:U(this,e,t,o))}else if(s){for(;o=s.pop();)U(this,e,t,o);delete r.callbacks[t]}else if(r){for(t in r.callbacks)this.stopListening(e,t);delete n[i]}else{for(i in n)this.stopListening(n[i].emitter);delete this[M]}}fire(e,...t){try{const o=e instanceof v?e:new v(this,e),n=o.name;let i=function(e,t){if(!e._events)return null;let o=t;do{const t=e._events[o];if(t&&t.callbacks&&t.callbacks.length)return t.callbacks;const n=o.lastIndexOf(":");o=n>-1?o.substring(0,n):""}while(o);return null}(this,n);if(o.path.push(this),i){i=i.slice();for(let e=0;e{this[O]||(this[O]=new Map),e.forEach((e=>{const n=this[O].get(e);n?n.set(t,o):this[O].set(e,new Map([[t,o]]))}))}}}stopDelegating(e,t){if(this[O])if(e)if(t){const o=this[O].get(e);o&&o.delete(t)}else this[O].delete(e);else this[O].clear()}_addEventListener(e,t,o){!function(e,t){const o=j(e);if(o[t])return;let n=t,i=null;const r=[];for(;""!==n&&!o[n];)o[n]={callbacks:[],childEvents:[]},r.push(o[n]),i&&o[n].childEvents.push(i),i=n,n=n.substr(0,n.lastIndexOf(":"));if(""!==n){for(const e of r)e.callbacks=o[n].callbacks.slice();o[n].childEvents.push(i)}}(this,e);const n=q(this,e),i={callback:t,priority:D.get(o.priority)};for(const e of n)B(e,i)}_removeEventListener(e,t){const o=q(this,e);for(const e of o)for(let o=0;o{V[e]=N.prototype[e]}));const W=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},G=Symbol("observableProperties"),K=Symbol("boundObservables"),Z=Symbol("boundProperties"),J=Symbol("decoratedMethods"),Y=Symbol("decoratedOriginal"),Q=X(V());function X(e){if(!e)return Q;return class extends e{set(e,t){if(W(e))return void Object.keys(e).forEach((t=>{this.set(t,e[t])}),this);ee(this);const o=this[G];if(e in this&&!o.has(e))throw new S("observable-set-cannot-override",this);Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get:()=>o.get(e),set(t){const n=o.get(e);let i=this.fire(`set:${e}`,e,t,n);void 0===i&&(i=t),n===i&&o.has(e)||(o.set(e,i),this.fire(`change:${e}`,e,i,n))}}),this[e]=t}bind(...e){if(!e.length||!ne(e))throw new S("observable-bind-wrong-properties",this);if(new Set(e).size!==e.length)throw new S("observable-bind-duplicate-properties",this);ee(this);const t=this[Z];e.forEach((e=>{if(t.has(e))throw new S("observable-bind-rebind",this)}));const o=new Map;return e.forEach((e=>{const n={property:e,to:[]};t.set(e,n),o.set(e,n)})),{to:te,toMany:oe,_observable:this,_bindProperties:e,_to:[],_bindings:o}}unbind(...e){if(!this[G])return;const t=this[Z],o=this[K];if(e.length){if(!ne(e))throw new S("observable-unbind-wrong-properties",this);e.forEach((e=>{const n=t.get(e);n&&(n.to.forEach((([e,t])=>{const i=o.get(e),r=i[t];r.delete(n),r.size||delete i[t],Object.keys(i).length||(o.delete(e),this.stopListening(e,"change"))})),t.delete(e))}))}else o.forEach(((e,t)=>{this.stopListening(t,"change")})),o.clear(),t.clear()}decorate(e){ee(this);const t=this[e];if(!t)throw new S("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:e});this.on(e,((e,o)=>{e.return=t.apply(this,o)})),this[e]=function(...t){return this.fire(e,t)},this[e][Y]=t,this[J]||(this[J]=[]),this[J].push(e)}stopListening(e,t,o){if(!e&&this[J]){for(const e of this[J])this[e]=this[e][Y];delete this[J]}super.stopListening(e,t,o)}}}function ee(e){e[G]||(Object.defineProperty(e,G,{value:new Map}),Object.defineProperty(e,K,{value:new Map}),Object.defineProperty(e,Z,{value:new Map}))}function te(...e){const t=function(...e){if(!e.length)throw new S("observable-bind-to-parse-error",null);const t={to:[]};let o;"function"==typeof e[e.length-1]&&(t.callback=e.pop());return e.forEach((e=>{if("string"==typeof e)o.properties.push(e);else{if("object"!=typeof e)throw new S("observable-bind-to-parse-error",null);o={observable:e,properties:[]},t.to.push(o)}})),t}(...e),o=Array.from(this._bindings.keys()),n=o.length;if(!t.callback&&t.to.length>1)throw new S("observable-bind-to-no-callback",this);if(n>1&&t.callback)throw new S("observable-bind-to-extra-callback",this);var i;t.to.forEach((e=>{if(e.properties.length&&e.properties.length!==n)throw new S("observable-bind-to-properties-length",this);e.properties.length||(e.properties=this._bindProperties)})),this._to=t.to,t.callback&&(this._bindings.get(o[0]).callback=t.callback),i=this._observable,this._to.forEach((e=>{const t=i[K];let o;t.get(e.observable)||i.listenTo(e.observable,"change",((n,r)=>{o=t.get(e.observable)[r],o&&o.forEach((e=>{ie(i,e.property)}))}))})),function(e){let t;e._bindings.forEach(((o,n)=>{e._to.forEach((i=>{t=i.properties[o.callback?0:e._bindProperties.indexOf(n)],o.to.push([i.observable,t]),function(e,t,o,n){const i=e[K],r=i.get(o),s=r||{};s[n]||(s[n]=new Set);s[n].add(t),r||i.set(o,s)}(e._observable,o,i.observable,t)}))}))}(this),this._bindProperties.forEach((e=>{ie(this._observable,e)}))}function oe(e,t,o){if(this._bindings.size>1)throw new S("observable-bind-to-many-not-one-binding",this);this.to(...function(e,t){const o=e.map((e=>[e,t]));return Array.prototype.concat.apply([],o)}(e,t),o)}function ne(e){return e.every((e=>"string"==typeof e))}function ie(e,t){const o=e[Z].get(t);let n;o.callback?n=o.callback.apply(e,o.to.map((e=>e[0][e[1]]))):(n=o.to[0],n=n[0][n[1]]),Object.prototype.hasOwnProperty.call(e,t)?e[t]=n:e.set(t,n)}function re(e){let t=0;for(const o of e)t++;return t}function se(e,t){const o=Math.min(e.length,t.length);for(let n=0;n{X[e]=Q.prototype[e]}));const le="object"==typeof global&&global&&global.Object===Object&&global;var ce="object"==typeof self&&self&&self.Object===Object&&self;const de=le||ce||Function("return this")();const ue=de.Symbol;var he=Object.prototype,pe=he.hasOwnProperty,me=he.toString,ge=ue?ue.toStringTag:void 0;const fe=function(e){var t=pe.call(e,ge),o=e[ge];try{e[ge]=void 0;var n=!0}catch(e){}var i=me.call(e);return n&&(t?e[ge]=o:delete e[ge]),i};var be=Object.prototype.toString;const ke=function(e){return be.call(e)};var we=ue?ue.toStringTag:void 0;const _e=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":we&&we in Object(e)?fe(e):ke(e)};const ye=Array.isArray;const Ae=function(e){return null!=e&&"object"==typeof e};const Ce=function(e){return"string"==typeof e||!ye(e)&&Ae(e)&&"[object String]"==_e(e)};function ve(e,t,o={},n=[]){const i=o&&o.xmlns,r=i?e.createElementNS(i,t):e.createElement(t);for(const e in o)r.setAttribute(e,o[e]);!Ce(n)&&ae(n)||(n=[n]);for(let t of n)Ce(t)&&(t=e.createTextNode(t)),r.appendChild(t);return r}const xe=function(e,t){return function(o){return e(t(o))}};const Ee=xe(Object.getPrototypeOf,Object);var De=Function.prototype,Be=Object.prototype,Se=De.toString,Te=Be.hasOwnProperty,Ie=Se.call(Object);const Pe=function(e){if(!Ae(e)||"[object Object]"!=_e(e))return!1;var t=Ee(e);if(null===t)return!0;var o=Te.call(t,"constructor")&&t.constructor;return"function"==typeof o&&o instanceof o&&Se.call(o)==Ie};const Fe=function(){this.__data__=[],this.size=0};const Re=function(e,t){return e===t||e!=e&&t!=t};const Me=function(e,t){for(var o=e.length;o--;)if(Re(e[o][0],t))return o;return-1};var ze=Array.prototype.splice;const Oe=function(e){var t=this.__data__,o=Me(t,e);return!(o<0)&&(o==t.length-1?t.pop():ze.call(t,o,1),--this.size,!0)};const Ne=function(e){var t=this.__data__,o=Me(t,e);return o<0?void 0:t[o][1]};const Ve=function(e){return Me(this.__data__,e)>-1};const Le=function(e,t){var o=this.__data__,n=Me(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this};function He(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991};var Yt={};Yt["[object Float32Array]"]=Yt["[object Float64Array]"]=Yt["[object Int8Array]"]=Yt["[object Int16Array]"]=Yt["[object Int32Array]"]=Yt["[object Uint8Array]"]=Yt["[object Uint8ClampedArray]"]=Yt["[object Uint16Array]"]=Yt["[object Uint32Array]"]=!0,Yt["[object Arguments]"]=Yt["[object Array]"]=Yt["[object ArrayBuffer]"]=Yt["[object Boolean]"]=Yt["[object DataView]"]=Yt["[object Date]"]=Yt["[object Error]"]=Yt["[object Function]"]=Yt["[object Map]"]=Yt["[object Number]"]=Yt["[object Object]"]=Yt["[object RegExp]"]=Yt["[object Set]"]=Yt["[object String]"]=Yt["[object WeakMap]"]=!1;const Qt=function(e){return Ae(e)&&Jt(e.length)&&!!Yt[_e(e)]};const Xt=function(e){return function(t){return e(t)}};var eo="object"==typeof exports&&exports&&!exports.nodeType&&exports,to=eo&&"object"==typeof module&&module&&!module.nodeType&&module,oo=to&&to.exports===eo&&le.process;const no=function(){try{var e=to&&to.require&&to.require("util").types;return e||oo&&oo.binding&&oo.binding("util")}catch(e){}}();var io=no&&no.isTypedArray;const ro=io?Xt(io):Qt;var so=Object.prototype.hasOwnProperty;const ao=function(e,t){var o=ye(e),n=!o&&jt(e),i=!o&&!n&&Gt(e),r=!o&&!n&&!i&&ro(e),s=o||n||i||r,a=s?Ot(e.length,String):[],l=a.length;for(var c in e)!t&&!so.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||r&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Zt(c,l))||a.push(c);return a};var lo=Object.prototype;const co=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||lo)};const uo=xe(Object.keys,Object);var ho=Object.prototype.hasOwnProperty;const po=function(e){if(!co(e))return uo(e);var t=[];for(var o in Object(e))ho.call(e,o)&&"constructor"!=o&&t.push(o);return t};const mo=function(e){return null!=e&&Jt(e.length)&&!Ge(e)};const go=function(e){return mo(e)?ao(e):po(e)};const fo=function(e,t){return e&&zt(t,go(t),e)};const bo=function(e){var t=[];if(null!=e)for(var o in Object(e))t.push(o);return t};var ko=Object.prototype.hasOwnProperty;const wo=function(e){if(!W(e))return bo(e);var t=co(e),o=[];for(var n in e)("constructor"!=n||!t&&ko.call(e,n))&&o.push(n);return o};const _o=function(e){return mo(e)?ao(e,!0):wo(e)};const yo=function(e,t){return e&&zt(t,_o(t),e)};var Ao="object"==typeof exports&&exports&&!exports.nodeType&&exports,Co=Ao&&"object"==typeof module&&module&&!module.nodeType&&module,vo=Co&&Co.exports===Ao?de.Buffer:void 0,xo=vo?vo.allocUnsafe:void 0;const Eo=function(e,t){if(t)return e.slice();var o=e.length,n=xo?xo(o):new e.constructor(o);return e.copy(n),n};const Do=function(e,t){var o=-1,n=e.length;for(t||(t=Array(n));++o{this._setToTarget(e,n,t[n],o)}))}}function Pn(e){return Sn(e,Fn)}function Fn(e){return Tn(e)||"function"==typeof e?e:void 0}function Rn(e){if(e){if(e.defaultView)return e instanceof e.defaultView.Document;if(e.ownerDocument&&e.ownerDocument.defaultView)return e instanceof e.ownerDocument.defaultView.Node}return!1}function Mn(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}const zn=On(V());function On(e){if(!e)return zn;return class extends e{listenTo(e,t,o,n={}){if(Rn(e)||Mn(e)){const i={capture:!!n.useCapture,passive:!!n.usePassive},r=this._getProxyEmitter(e,i)||new Nn(e,i);this.listenTo(r,t,o,n)}else super.listenTo(e,t,o,n)}stopListening(e,t,o){if(Rn(e)||Mn(e)){const n=this._getAllProxyEmitters(e);for(const e of n)this.stopListening(e,t,o)}else super.stopListening(e,t,o)}_getProxyEmitter(e,t){return function(e,t){const o=e[M];return o&&o[t]?o[t].emitter:null}(this,Vn(e,t))}_getAllProxyEmitters(e){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((t=>this._getProxyEmitter(e,t))).filter((e=>!!e))}}}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((e=>{On[e]=zn.prototype[e]}));class Nn extends(V()){constructor(e,t){super(),L(this,Vn(e,t)),this._domNode=e,this._options=t}attach(e){if(this._domListeners&&this._domListeners[e])return;const t=this._createDomListener(e);this._domNode.addEventListener(e,t,this._options),this._domListeners||(this._domListeners={}),this._domListeners[e]=t}detach(e){let t;!this._domListeners[e]||(t=this._events[e])&&t.callbacks.length||this._domListeners[e].removeListener()}_addEventListener(e,t,o){this.attach(e),V().prototype._addEventListener.call(this,e,t,o)}_removeEventListener(e,t){V().prototype._removeEventListener.call(this,e,t),this.detach(e)}_createDomListener(e){const t=t=>{this.fire(e,t)};return t.removeListener=()=>{this._domNode.removeEventListener(e,t,this._options),delete this._domListeners[e]},t}}function Vn(e,t){let o=function(e){return e["data-ck-expando"]||(e["data-ck-expando"]=E())}(e);for(const e of Object.keys(t).sort())t[e]&&(o+="-"+e);return o}function Ln(e){const t=[];let o=e;for(;o&&o.nodeType!=Node.DOCUMENT_NODE;)t.unshift(o),o=o.parentNode;return t}function Hn(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}function jn(e){if(!e.target)return null;const t=e.target.ownerDocument,o=e.clientX,n=e.clientY;let i=null;return t.caretRangeFromPoint&&t.caretRangeFromPoint(o,n)?i=t.caretRangeFromPoint(o,n):e.rangeParent&&(i=t.createRange(),i.setStart(e.rangeParent,e.rangeOffset),i.collapse(!0)),i}function qn(e){return"[object Text]"==Object.prototype.toString.call(e)}function $n(e){return"[object Range]"==Object.prototype.toString.apply(e)}function Un(e){return e&&e.parentNode?e.offsetParent===s.document.body?null:e.offsetParent:null}const Wn=["top","right","bottom","left","width","height"];class Gn{constructor(e){const t=$n(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),Jn(e)||t)if(t){const t=Gn.getDomRangeRects(e);Kn(this,Gn.getBoundingRect(t))}else Kn(this,e.getBoundingClientRect());else if(Mn(e)){const{innerWidth:t,innerHeight:o}=e;Kn(this,{top:0,right:t,bottom:o,left:0,width:t,height:o})}else Kn(this,e)}clone(){return new Gn(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left),width:0,height:0};if(t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0)return null;{const e=new Gn(t);return e._source=this._source,e}}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(Zn(e))return t;let o,n=e,i=e.parentNode||e.commonAncestorContainer;for(;i&&!Zn(i);){const e="visible"===((r=i)instanceof HTMLElement?r.ownerDocument.defaultView.getComputedStyle(r).overflow:"visible");n instanceof HTMLElement&&"absolute"===Yn(n)&&(o=n);const s=Yn(i);if(e||o&&("relative"===s&&e||"relative"!==s)){n=i,i=i.parentNode;continue}const a=new Gn(i),l=t.getIntersection(a);if(!l)return null;l.getArea(){for(const t of e){const e=Qn._getElementCallbacks(t.target);if(e)for(const o of e)o(t)}}))}}Qn._observerInstance=null,Qn._elementCallbacks=null;const Xn=Qn;function ei(e,t){e instanceof HTMLTextAreaElement&&(e.value=t),e.innerHTML=t}function ti(e){return t=>t+e}function oi(e){let t=0;for(;e.previousSibling;)e=e.previousSibling,t++;return t}function ni(e,t,o){e.insertBefore(o,e.childNodes[t]||null)}function ii(e){return e&&e.nodeType===Node.COMMENT_NODE}function ri(e){return!!e&&(qn(e)?ri(e.parentElement):!!e.getClientRects&&!!e.getClientRects().length)}function si({element:e,target:t,positions:o,limiter:n,fitInViewport:i,viewportOffsetConfig:r}){Ge(t)&&(t=t()),Ge(n)&&(n=n());const a=Un(e),l=function(e){e=Object.assign({top:0,bottom:0,left:0,right:0},e);const t=new Gn(s.window);return t.top+=e.top,t.height-=e.top,t.bottom-=e.bottom,t.height-=e.bottom,t}(r),c=new Gn(e),d=ai(t,l);let u;if(!d||!l.getIntersection(d))return null;const h={targetRect:d,elementRect:c,positionedElementAncestor:a,viewportRect:l};if(n||i){if(n){const e=ai(n,l);e&&(h.limiterRect=e)}u=function(e,t){const{elementRect:o}=t,n=o.getArea(),i=e.map((e=>new li(e,t))).filter((e=>!!e.name));let r=0,s=null;for(const e of i){const{limiterIntersectionArea:t,viewportIntersectionArea:o}=e;if(t===n)return e;const i=o**2+t**2;i>r&&(r=i,s=e)}return s}(o,h)}else u=new li(o[0],h);return u}function ai(e,t){const o=new Gn(e).getVisible();return o?o.getIntersection(t):null}class li{constructor(e,t){const o=e(t.targetRect,t.elementRect,t.viewportRect,t.limiterRect);if(!o)return;const{left:n,top:i,name:r,config:s}=o;this.name=r,this.config=s,this._positioningFunctionCoordinates={left:n,top:i},this._options=t}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const e=this._options.limiterRect;return e?e.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=this._rect.toAbsoluteRect()),this._cachedAbsoluteRect}}function ci(e){const t=e.parentNode;t&&t.removeChild(e)}function di({window:e,rect:t,alignToTop:o,forceScroll:n,viewportOffset:i}){const r=t.clone().moveBy(0,i.bottom),s=t.clone().moveBy(0,-i.top),a=new Gn(e).excludeScrollbarsAndBorders(),l=o&&n,c=[s,r].every((e=>a.contains(e)));let{scrollX:d,scrollY:u}=e;const h=d,p=u;l?u-=a.top-t.top+i.top:c||(pi(s,a)?u-=a.top-t.top+i.top:hi(r,a)&&(u+=o?t.top-a.top-i.top:t.bottom-a.bottom+i.bottom)),c||(mi(t,a)?d-=a.left-t.left+i.left:gi(t,a)&&(d+=t.right-a.right+i.right)),d==h&&u===p||e.scrollTo(d,u)}function ui({parent:e,getRect:t,alignToTop:o,forceScroll:n,ancestorOffset:i=0,limiterElement:r}){const s=fi(e),a=o&&n;let l,c,d;const u=r||s.document.body;for(;e!=u;)c=t(),l=new Gn(e).excludeScrollbarsAndBorders(),d=l.contains(c),a?e.scrollTop-=l.top-c.top+i:d||(pi(c,l)?e.scrollTop-=l.top-c.top+i:hi(c,l)&&(e.scrollTop+=o?c.top-l.top-i:c.bottom-l.bottom+i)),d||(mi(c,l)?e.scrollLeft-=l.left-c.left+i:gi(c,l)&&(e.scrollLeft+=c.right-l.right+i)),e=e.parentNode}function hi(e,t){return e.bottom>t.bottom}function pi(e,t){return e.topt.right}function fi(e){return $n(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function bi(e){if($n(e)){let t=e.commonAncestorContainer;return qn(t)&&(t=t.parentNode),t}return e.parentNode}function ki(e,t){const o=fi(e),n=new Gn(e);if(o===t)return n;{let e=o;for(;e!=t;){const t=e.frameElement,o=new Gn(t).excludeScrollbarsAndBorders();n.moveBy(o.left,o.top),e=e.parent}}return n}const wi={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},_i={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},yi={37:"←",38:"↑",39:"→",40:"↓",9:"⇥",33:"Page Up",34:"Page Down"},Ai=Bi(),Ci=Object.fromEntries(Object.entries(Ai).map((([e,t])=>{let o;return o=t in yi?yi[t]:e.charAt(0).toUpperCase()+e.slice(1),[t,o]})));function vi(e){let t;if("string"==typeof e){if(t=Ai[e.toLowerCase()],!t)throw new S("keyboard-unknown-key",null,{key:e})}else t=e.keyCode+(e.altKey?Ai.alt:0)+(e.ctrlKey?Ai.ctrl:0)+(e.shiftKey?Ai.shift:0)+(e.metaKey?Ai.cmd:0);return t}function xi(e){return"string"==typeof e&&(e=function(e){return e.split("+").map((e=>e.trim()))}(e)),e.map((e=>"string"==typeof e?function(e){if(e.endsWith("!"))return vi(e.slice(0,-1));const t=vi(e);return(c.isMac||c.isiOS)&&t==Ai.ctrl?Ai.cmd:t}(e):e)).reduce(((e,t)=>t+e),0)}function Ei(e,t){let o=xi(e);const n=t?"Mac"===t:c.isMac||c.isiOS;return Object.entries(n?wi:_i).reduce(((e,[t,n])=>(o&Ai[t]&&(o&=~Ai[t],e+=n),e)),"")+(o?Ci[o]:"")}function Di(e,t){const o="ltr"===t;switch(e){case Ai.arrowleft:return o?"left":"right";case Ai.arrowright:return o?"right":"left";case Ai.arrowup:return"up";case Ai.arrowdown:return"down"}}function Bi(){const e={pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let t=65;t<=90;t++){e[String.fromCharCode(t).toLowerCase()]=t}for(let t=48;t<=57;t++)e[t-48]=t;for(let t=112;t<=123;t++)e["f"+(t-111)]=t;return Object.assign(e,{"'":222,",":108,"-":109,".":110,"/":111,";":186,"=":187,"[":219,"\\":220,"]":221,"`":223}),e}function Si(e){return Array.isArray(e)?e:[e]}const Ti=function(e,t,o){(void 0!==o&&!Re(e[t],o)||void 0===o&&!(t in e))&&Ft(e,t,o)};const Ii=function(e){return function(t,o,n){for(var i=-1,r=Object(t),s=n(t),a=s.length;a--;){var l=s[e?a:++i];if(!1===o(r[l],l,r))break}return t}}();const Pi=function(e){return Ae(e)&&mo(e)};const Fi=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};const Ri=function(e){return zt(e,_o(e))};const Mi=function(e,t,o,n,i,r,s){var a=Fi(e,o),l=Fi(t,o),c=s.get(l);if(c)Ti(e,o,c);else{var d=r?r(a,l,o+"",e,t,s):void 0,u=void 0===d;if(u){var h=ye(l),p=!h&&Gt(l),m=!h&&!p&&ro(l);d=l,h||p||m?ye(a)?d=a:Pi(a)?d=Do(a):p?(u=!1,d=Eo(l,!0)):m?(u=!1,d=pn(l,!0)):d=[]:Pe(l)||jt(l)?(d=a,jt(a)?d=Ri(a):W(a)&&!Ge(a)||(d=bn(l))):u=!1}u&&(s.set(l,d),i(d,l,n,r,s),s.delete(l)),Ti(e,o,d)}};const zi=function e(t,o,n,i,r){t!==o&&Ii(o,(function(s,a){if(r||(r=new Tt),W(s))Mi(t,o,a,n,e,i,r);else{var l=i?i(Fi(t,a),s,a+"",t,o,r):void 0;void 0===l&&(l=s),Ti(t,a,l)}}),_o)};const Oi=function(e){return e};const Ni=function(e,t,o){switch(o.length){case 0:return e.call(t);case 1:return e.call(t,o[0]);case 2:return e.call(t,o[0],o[1]);case 3:return e.call(t,o[0],o[1],o[2])}return e.apply(t,o)};var Vi=Math.max;const Li=function(e,t,o){return t=Vi(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,r=Vi(n.length-t,0),s=Array(r);++i0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}};const Ui=$i(ji);const Wi=function(e,t){return Ui(Li(e,t,Oi),e+"")};const Gi=function(e,t,o){if(!W(o))return!1;var n=typeof t;return!!("number"==n?mo(o)&&Zt(t,o.length):"string"==n&&t in o)&&Re(o[t],e)};const Ki=function(e){return Wi((function(t,o){var n=-1,i=o.length,r=i>1?o[i-1]:void 0,s=i>2?o[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,s&&Gi(o[0],o[1],s)&&(r=i<3?void 0:r,i=1),t=Object(t);++n1===e?0:1),d=l[a];if("string"==typeof d)return d;return d[Number(c(o))]}s.window.CKEDITOR_TRANSLATIONS||(s.window.CKEDITOR_TRANSLATIONS={});const Qi=["ar","ara","dv","div","fa","per","fas","he","heb","ku","kur","ug","uig"];function Xi(e){return Qi.includes(e)?"rtl":"ltr"}class er{constructor({uiLanguage:e="en",contentLanguage:t,translations:o}={}){this.uiLanguage=e,this.contentLanguage=t||this.uiLanguage,this.uiLanguageDirection=Xi(this.uiLanguage),this.contentLanguageDirection=Xi(this.contentLanguage),this.translations=function(e){return Array.isArray(e)?e.reduce(((e,t)=>Ji(e,t))):e}(o),this.t=(e,t)=>this._t(e,t)}get language(){return console.warn("locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead."),this.uiLanguage}_t(e,t=[]){t=Si(t),"string"==typeof e&&(e={string:e});const o=!!e.plural?t[0]:1;return function(e,t){return e.replace(/%(\d+)/g,((e,o)=>othis._items.length||t<0)throw new S("collection-add-item-invalid-index",this);let o=0;for(const n of e){const e=this._getItemIdBeforeAdding(n),i=t+o;this._items.splice(i,0,n),this._itemMap.set(e,n),this.fire("add",n,i),o++}return this.fire("change",{added:e,removed:[],index:t}),this}get(e){let t;if("string"==typeof e)t=this._itemMap.get(e);else{if("number"!=typeof e)throw new S("collection-get-invalid-arg",this);t=this._items[e]}return t||null}has(e){if("string"==typeof e)return this._itemMap.has(e);{const t=e[this._idProperty];return t&&this._itemMap.has(t)}}getIndex(e){let t;return t="string"==typeof e?this._itemMap.get(e):e,t?this._items.indexOf(t):-1}remove(e){const[t,o]=this._remove(e);return this.fire("change",{added:[],removed:[t],index:o}),t}map(e,t){return this._items.map(e,t)}forEach(e,t){this._items.forEach(e,t)}find(e,t){return this._items.find(e,t)}filter(e,t){return this._items.filter(e,t)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const e=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:e,index:0})}bindTo(e){if(this._bindToCollection)throw new S("collection-bind-to-rebind",this);return this._bindToCollection=e,{as:e=>{this._setUpBindToBinding((t=>new e(t)))},using:e=>{"function"==typeof e?this._setUpBindToBinding(e):this._setUpBindToBinding((t=>t[e]))}}}_setUpBindToBinding(e){const t=this._bindToCollection,o=(o,n,i)=>{const r=t._bindToCollection==this,s=t._bindToInternalToExternalMap.get(n);if(r&&s)this._bindToExternalToInternalMap.set(n,s),this._bindToInternalToExternalMap.set(s,n);else{const o=e(n);if(!o)return void this._skippedIndexesFromExternal.push(i);let r=i;for(const e of this._skippedIndexesFromExternal)i>e&&r--;for(const e of t._skippedIndexesFromExternal)r>=e&&r++;this._bindToExternalToInternalMap.set(n,o),this._bindToInternalToExternalMap.set(o,n),this.add(o,r);for(let e=0;e{const n=this._bindToExternalToInternalMap.get(t);n&&this.remove(n),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((e,t)=>(ot&&e.push(t),e)),[])}))}_getItemIdBeforeAdding(e){const t=this._idProperty;let o;if(t in e){if(o=e[t],"string"!=typeof o)throw new S("collection-add-invalid-id",this);if(this.get(o))throw new S("collection-add-item-already-exists",this)}else e[t]=o=E();return o}_remove(e){let t,o,n,i=!1;const r=this._idProperty;if("string"==typeof e?(o=e,n=this._itemMap.get(o),i=!n,n&&(t=this._items.indexOf(n))):"number"==typeof e?(t=e,n=this._items[t],i=!n,n&&(o=n[r])):(n=e,o=n[r],t=this._items.indexOf(n),i=-1==t||!this._itemMap.get(o)),i)throw new S("collection-remove-404",this);this._items.splice(t,1),this._itemMap.delete(o);const s=this._bindToInternalToExternalMap.get(n);return this._bindToInternalToExternalMap.delete(n),this._bindToExternalToInternalMap.delete(s),this.fire("remove",n,t),[n,t]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function or(e){const t=e.next();return t.done?null:t.value}class nr extends(On(X())){constructor(){super(),this._elements=new Set,this._externalViews=new Set,this._blurTimeout=null,this.set("isFocused",!1),this.set("focusedElement",null)}get elements(){return Array.from(this._elements.values())}get externalViews(){return Array.from(this._externalViews.values())}add(e){if(rr(e))this._addElement(e);else if(ir(e))this._addView(e);else{if(!e.element)throw new S("focustracker-add-view-missing-element",{focusTracker:this,view:e});this._addElement(e.element)}}remove(e){rr(e)?this._removeElement(e):ir(e)?this._removeView(e):this._removeElement(e.element)}_addElement(e){if(this._elements.has(e))throw new S("focustracker-add-element-already-exist",this);this.listenTo(e,"focus",(()=>{const t=this.externalViews.find((t=>function(e,t){if(sr(e,t))return!0;return!!t.focusTracker.externalViews.find((t=>sr(e,t)))}(e,t)));t?this._focus(t.element):this._focus(e)}),{useCapture:!0}),this.listenTo(e,"blur",(()=>{this._blur()}),{useCapture:!0}),this._elements.add(e)}_removeElement(e){this._elements.has(e)&&(this.stopListening(e),this._elements.delete(e)),e===this.focusedElement&&this._blur()}_addView(e){e.element&&this._addElement(e.element),this.listenTo(e.focusTracker,"change:focusedElement",(()=>{e.focusTracker.focusedElement?e.element&&this._focus(e.element):this._blur()})),this._externalViews.add(e)}_removeView(e){e.element&&this._removeElement(e.element),this.stopListening(e.focusTracker),this._externalViews.delete(e)}destroy(){this.stopListening(),this._elements.clear(),this._externalViews.clear(),this.isFocused=!1,this.focusedElement=null}_focus(e){this._clearBlurTimeout(),this.focusedElement=e,this.isFocused=!0}_blur(){if(this.elements.find((e=>e.contains(document.activeElement))))return;this.externalViews.find((e=>e.focusTracker.isFocused&&!e.focusTracker._blurTimeout))||(this._clearBlurTimeout(),this._blurTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0))}_clearBlurTimeout(){clearTimeout(this._blurTimeout),this._blurTimeout=null}}function ir(e){return"focusTracker"in e&&e.focusTracker instanceof nr}function rr(e){return Tn(e)}function sr(e,t){return!!t.element&&t.element.contains(document.activeElement)&&e.contains(t.element)}class ar{constructor(){this._listener=new(On())}listenTo(e){this._listener.listenTo(e,"keydown",((e,t)=>{this._listener.fire("_keydown:"+vi(t),t)}))}set(e,t,o={}){const n=xi(e),i=o.priority;this._listener.listenTo(this._listener,"_keydown:"+n,((e,n)=>{o.filter&&!o.filter(n)||(t(n,(()=>{n.preventDefault(),n.stopPropagation(),e.stop()})),e.return=!0)}),{priority:i})}press(e){return!!this._listener.fire("_keydown:"+vi(e),e)}stopListening(e){this._listener.stopListening(e)}destroy(){this.stopListening()}}function lr(e){return ae(e)?new Map(e):function(e){const t=new Map;for(const o in e)t.set(o,e[o]);return t}(e)}function cr(e,t,o){const n=e.length,i=t.length;for(let t=n-1;t>=o;t--)e[t+i]=e[t];for(let n=0;ne(...i)),t)}return n.cancel=()=>{clearTimeout(o)},n}function ur(e){try{if(!e.startsWith("ey"))return null;const t=atob(e.replace(/-/g,"+").replace(/_/g,"/"));return JSON.parse(t)}catch(e){return null}}function hr(e,t){return!!(o=e.charAt(t-1))&&1==o.length&&/[\ud800-\udbff]/.test(o)&&function(e){return!!e&&1==e.length&&/[\udc00-\udfff]/.test(e)}(e.charAt(t));var o}function pr(e,t){return!!(o=e.charAt(t))&&1==o.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(o);var o}const mr=fr();function gr(e,t){const o=String(e).matchAll(mr);return Array.from(o).some((e=>e.indexe.source)).join("|")+")";return new RegExp(`${e}|${t}(?:‍${t})*`,"ug")}class br extends(X()){constructor(e){super(),this._disableStack=new Set,this.editor=e,this.set("isEnabled",!0)}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",kr,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",kr),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}static get isOfficialPlugin(){return!1}static get isPremiumPlugin(){return!1}}function kr(e){e.return=!1,e.stop()}class wr extends(X()){constructor(e){super(),this.editor=e,this.set("value",void 0),this.set("isEnabled",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.listenTo(e,"change:isReadOnly",(()=>{this.refresh()})),this.on("set:isEnabled",(t=>{if(!this.affectsData)return;const o=e.model.document.selection,n=!("$graveyard"==o.getFirstPosition().root.rootName)&&e.model.canEditAt(o);(e.isReadOnly||this._isEnabledBasedOnSelection&&!n)&&(t.return=!1,t.stop())}),{priority:"highest"}),this.on("execute",(e=>{this.isEnabled||e.stop()}),{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(e){this._affectsData=e}refresh(){this.isEnabled=!0}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",_r,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",_r),this.refresh())}execute(...e){}destroy(){this.stopListening()}}function _r(e){e.return=!1,e.stop()}class yr extends(V()){constructor(e,t=[],o=[]){super(),this._plugins=new Map,this._context=e,this._availablePlugins=new Map;for(const e of t)e.pluginName&&this._availablePlugins.set(e.pluginName,e);this._contextPlugins=new Map;for(const[e,t]of o)this._contextPlugins.set(e,t),this._contextPlugins.set(t,e),e.pluginName&&this._availablePlugins.set(e.pluginName,e)}*[Symbol.iterator](){for(const e of this._plugins)"function"==typeof e[0]&&(yield e)}get(e){const t=this._plugins.get(e);if(!t){let t=e;throw"function"==typeof e&&(t=e.pluginName||e.name),new S("plugincollection-plugin-not-loaded",this._context,{plugin:t})}return t}has(e){return this._plugins.has(e)}init(e,t=[],o=[]){const n=this,i=this._context;!function e(t,o=new Set){t.forEach((t=>{a(t)&&(o.has(t)||(o.add(t),t.pluginName&&!n._availablePlugins.has(t.pluginName)&&n._availablePlugins.set(t.pluginName,t),t.requires&&e(t.requires,o)))}))}(e),u(e);const r=[...function e(t,o=new Set){return t.map((e=>a(e)?e:n._availablePlugins.get(e))).reduce(((t,n)=>o.has(n)?t:(o.add(n),n.requires&&(u(n.requires,n),e(n.requires,o).forEach((e=>t.add(e)))),t.add(n))),new Set)}(e.filter((e=>!c(e,t))))];!function(e,t){for(const o of t){if("function"!=typeof o)throw new S("plugincollection-replace-plugin-invalid-type",null,{pluginItem:o});const t=o.pluginName;if(!t)throw new S("plugincollection-replace-plugin-missing-name",null,{pluginItem:o});if(o.requires&&o.requires.length)throw new S("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:t});const i=n._availablePlugins.get(t);if(!i)throw new S("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:t});const r=e.indexOf(i);if(-1===r){if(n._contextPlugins.has(i))return;throw new S("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:t})}if(i.requires&&i.requires.length)throw new S("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:t});e.splice(r,1,o),n._availablePlugins.set(t,o)}}(r,o);const s=function(e){return e.map((e=>{let t=n._contextPlugins.get(e);return t=t||new e(i),n._add(e,t),t}))}(r);return h(s,"init").then((()=>h(s,"afterInit"))).then((()=>s));function a(e){return"function"==typeof e}function l(e){return a(e)&&!!e.isContextPlugin}function c(e,t){return t.some((t=>t===e||(d(e)===t||d(t)===e)))}function d(e){return a(e)?e.pluginName||e.name:e}function u(e,o=null){e.map((e=>a(e)?e:n._availablePlugins.get(e)||e)).forEach((e=>{!function(e,t){if(a(e))return;if(t)throw new S("plugincollection-soft-required",i,{missingPlugin:e,requiredBy:d(t)});throw new S("plugincollection-plugin-not-found",i,{plugin:e})}(e,o),function(e,t){if(!l(t))return;if(l(e))return;throw new S("plugincollection-context-required",i,{plugin:d(e),requiredBy:d(t)})}(e,o),function(e,o){if(!o)return;if(!c(e,t))return;throw new S("plugincollection-required",i,{plugin:d(e),requiredBy:d(o)})}(e,o)}))}function h(e,t){return e.reduce(((e,o)=>o[t]?n._contextPlugins.has(o)?e:e.then(o[t].bind(o)):e),Promise.resolve())}}destroy(){const e=[];for(const[,t]of this)"function"!=typeof t.destroy||this._contextPlugins.has(t)||e.push(t.destroy());return Promise.all(e)}_add(e,t){this._plugins.set(e,t);const o=e.pluginName;if(o){if(this._plugins.has(o))throw new S("plugincollection-plugin-name-conflict",null,{pluginName:o,plugin1:this._plugins.get(o).constructor,plugin2:e});this._plugins.set(o,t)}}}class Ar{constructor(e){this._contextOwner=null;const{translations:t,...o}=e||{};this.config=new In(o,this.constructor.defaultConfig);const n=this.constructor.builtinPlugins;this.config.define("plugins",n),this.plugins=new yr(this,n);const i=this.config.get("language")||{};this.locale=new er({uiLanguage:"string"==typeof i?i:i.ui,contentLanguage:this.config.get("language.content"),translations:t}),this.t=this.locale.t,this.editors=new tr}initPlugins(){const e=this.config.get("plugins")||[],t=this.config.get("substitutePlugins")||[];for(const o of e.concat(t)){if("function"!=typeof o)throw new S("context-initplugins-constructor-only",null,{Plugin:o});if(!0!==o.isContextPlugin)throw new S("context-initplugins-invalid-plugin",null,{Plugin:o})}return this.plugins.init(e,[],t)}destroy(){return Promise.all(Array.from(this.editors,(e=>e.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(e,t){if(this._contextOwner)throw new S("context-addeditor-private-context");this.editors.add(e),t&&(this._contextOwner=e)}_removeEditor(e){return this.editors.has(e)&&this.editors.remove(e),this._contextOwner===e?this.destroy():Promise.resolve()}_getEditorConfig(){const e={};for(const t of this.config.names())["plugins","removePlugins","extraPlugins"].includes(t)||(e[t]=this.config.get(t));return e}static create(e){return new Promise((t=>{const o=new this(e);t(o.initPlugins().then((()=>o)))}))}}class Cr extends(X()){constructor(e){super(),this.context=e}destroy(){this.stopListening()}static get isContextPlugin(){return!0}static get isOfficialPlugin(){return!1}static get isPremiumPlugin(){return!1}}const vr=function(e){return"symbol"==typeof e||Ae(e)&&"[object Symbol]"==_e(e)};var xr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Er=/^\w*$/;const Dr=function(e,t){if(ye(e))return!1;var o=typeof e;return!("number"!=o&&"symbol"!=o&&"boolean"!=o&&null!=e&&!vr(e))||(Er.test(e)||!xr.test(e)||null!=t&&e in Object(t))};function Br(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var o=function(){var n=arguments,i=t?t.apply(this,n):n[0],r=o.cache;if(r.has(i))return r.get(i);var s=e.apply(this,n);return o.cache=r.set(i,s)||r,s};return o.cache=new(Br.Cache||Dt),o}Br.Cache=Dt;const Sr=Br;const Tr=function(e){var t=Sr(e,(function(e){return 500===o.size&&o.clear(),e})),o=t.cache;return t};var Ir=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pr=/\\(\\)?/g,Fr=Tr((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Ir,(function(e,o,n,i){t.push(n?i.replace(Pr,"$1"):o||e)})),t}));const Rr=Fr;const Mr=function(e,t){for(var o=-1,n=null==e?0:e.length,i=Array(n);++ods([[t,s]],e)))}is.has(r)||(is.set(r,new Map),r.registerPostFixer((e=>ds(is.get(r),e))),r.on("change:isComposing",(()=>{e.change((e=>ds(is.get(r),e)))}),{priority:"high"})),t.is("editableElement")&&t.on("change:placeholder",((e,t,o)=>s(o))),t.placeholder?s(t.placeholder):o&&s(o),o&&function(){rs||T("enableplaceholder-deprecated-text-option");rs=!0}()}function as(e,t){return!t.hasClass("ck-placeholder")&&(e.addClass("ck-placeholder",t),!0)}function ls(e,t){return!!t.hasClass("ck-placeholder")&&(e.removeClass("ck-placeholder",t),!0)}function cs(e,t){if(!e.isAttached())return!1;if(function(e){for(const t of e.getChildren())if(!t.is("uiElement"))return!0;return!1}(e))return!1;const o=e.document,n=o.selection.anchor;return(!o.isComposing||!n||n.parent!==e)&&(!!t||(!o.isFocused||!!n&&n.parent!==e))}function ds(e,t){const o=[];let n=!1;for(const[i,r]of e)r.isDirectHost&&(o.push(i),us(t,i,r)&&(n=!0));for(const[i,r]of e){if(r.isDirectHost)continue;const e=hs(i);e&&(o.includes(e)||(r.hostElement=e,us(t,i,r)&&(n=!0)))}return n}function us(e,t,o){const{text:n,isDirectHost:i,hostElement:r}=o;let s=!1;r.getAttribute("data-placeholder")!==n&&(e.setAttribute("data-placeholder",n,r),s=!0);return(i||1==t.childCount)&&cs(r,o.keepOnFocus)?as(e,r)&&(s=!0):ls(e,r)&&(s=!0),s}function hs(e){if(e.childCount){const t=e.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}class ps{is(){throw new Error("is() method is abstract")}}const ms=function(e){return Bn(e,4)};class gs extends(V(ps)){constructor(e){super(),this.document=e,this.parent=null}get index(){let e;if(!this.parent)return null;if(-1==(e=this.parent.getChildIndex(this)))throw new S("view-node-not-found-in-parent",this);return e}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.index),t=t.parent;return e}getAncestors(e={}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}getCommonAncestor(e,t={}){const o=this.getAncestors(t),n=e.getAncestors(t);let i=0;for(;o[i]==n[i]&&o[i];)i++;return 0===i?null:o[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),o=e.getPath(),n=se(t,o);switch(n){case"prefix":return!0;case"extension":return!1;default:return t[n]e.data.length)throw new S("view-textproxy-wrong-offsetintext",this);if(o<0||t+o>e.data.length)throw new S("view-textproxy-wrong-length",this);this.data=e.data.substring(t,t+o),this.offsetInText=t}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(e={}){const t=[];let o=e.includeSelf?this.textNode:this.parent;for(;null!==o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}}bs.prototype.is=function(e){return"$textProxy"===e||"view:$textProxy"===e||"textProxy"===e||"view:textProxy"===e};class ks{constructor(){this._consumables=new Map}add(e,t){let o;e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):(this._consumables.has(e)?o=this._consumables.get(e):(o=new ws(e),this._consumables.set(e,o)),o.add(t?_s(t):e._getConsumables()))}test(e,t){const o=this._consumables.get(e);return void 0===o?null:e.is("$text")||e.is("documentFragment")?o:o.test(_s(t))}consume(e,t){if(e.is("$text")||e.is("documentFragment"))return!!this.test(e,t)&&(this._consumables.set(e,!1),!0);const o=this._consumables.get(e);return void 0!==o&&o.consume(_s(t))}revert(e,t){const o=this._consumables.get(e);void 0!==o&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):o.revert(_s(t)))}static createFrom(e,t){if(t||(t=new ks),e.is("$text"))t.add(e);else if(e.is("element")||e.is("documentFragment")){t.add(e);for(const o of e.getChildren())ks.createFrom(o,t)}return t}}class ws{constructor(e){this._canConsumeName=null,this._attributes=new Map,this.element=e}add(e){e.name&&(this._canConsumeName=!0);for(const[t,o]of e.attributes)if(o){let e=this._attributes.get(t);e&&"boolean"!=typeof e||(e=new Map,this._attributes.set(t,e)),e.set(o,!0)}else{if("style"==t||"class"==t)throw new S("viewconsumable-invalid-attribute",this);this._attributes.set(t,!0)}}test(e){if(e.name&&!this._canConsumeName)return this._canConsumeName;for(const[t,o]of e.attributes){const e=this._attributes.get(t);if(void 0===e)return null;if(!1===e)return!1;if(!0!==e)if(o){const t=e.get(o);if(void 0===t)return null;if(!t)return!1}else for(const t of e.values())if(!t)return!1}return!0}consume(e){if(!this.test(e))return!1;e.name&&(this._canConsumeName=!1);for(const[t,o]of e.attributes){const e=this._attributes.get(t);if("boolean"==typeof e)for(const[e]of this.element._getConsumables(t,o).attributes)this._attributes.set(e,!1);else if(o)for(const[,n]of this.element._getConsumables(t,o).attributes)e.set(n,!1);else for(const t of e.keys())e.set(t,!1)}return!0}revert(e){e.name&&(this._canConsumeName=!0);for(const[t,o]of e.attributes){const e=this._attributes.get(t);if(!1!==e){if(void 0!==e&&!0!==e)if(o){!1===e.get(o)&&e.set(o,!0)}else for(const t of e.keys())e.set(t,!0)}else this._attributes.set(t,!0)}}}function _s(e){const t=[];return"attributes"in e&&e.attributes&&ys(t,e.attributes),"classes"in e&&e.classes&&ys(t,e.classes,"class"),"styles"in e&&e.styles&&ys(t,e.styles,"style"),{name:e.name||!1,attributes:t}}function ys(e,t,o){if("string"!=typeof t)for(const n of t)Array.isArray(n)?e.push(n):e.push(o?[o,n]:[n]);else e.push(o?[o,t]:[t])}class As{constructor(...e){this._patterns=[],this.add(...e)}add(...e){for(let t of e)("string"==typeof t||t instanceof RegExp)&&(t={name:t}),this._patterns.push(t)}match(...e){for(const t of e)for(const e of this._patterns){const o=this._isElementMatching(t,e);if(o)return{element:t,pattern:e,match:o}}return null}matchAll(...e){const t=[];for(const o of e)for(const e of this._patterns){const n=this._isElementMatching(o,e);n&&t.push({element:o,pattern:e,match:n})}return t.length>0?t:null}getElementName(){if(1!==this._patterns.length)return null;const e=this._patterns[0],t=e.name;return"function"==typeof e||!t||t instanceof RegExp?null:t}_isElementMatching(e,t){if("function"==typeof t){const o=t(e);return o&&"object"==typeof o?_s(o):o}const o={};if(t.name&&(o.name=function(e,t){if(e instanceof RegExp)return!!t.match(e);return e===t}(t.name,e.name),!o.name))return null;const n=[];return t.attributes&&!function(e,t,o){let n;"object"!=typeof e||e instanceof RegExp||Array.isArray(e)?n=["class","style"]:(void 0!==e.style&&T("matcher-pattern-deprecated-attributes-style-key",e),void 0!==e.class&&T("matcher-pattern-deprecated-attributes-class-key",e));return t._collectAttributesMatch(vs(e),o,n)}(t.attributes,e,n)||t.classes&&!function(e,t,o){return t._collectAttributesMatch(vs(e,"class"),o)}(t.classes,e,n)||t.styles&&!function(e,t,o){return t._collectAttributesMatch(vs(e,"style"),o)}(t.styles,e,n)?null:(n.length&&(o.attributes=n),o)}}function Cs(e,t){return!0===e||e===t||e instanceof RegExp&&!!String(t).match(e)}function vs(e,t){if(Array.isArray(e))return e.map((e=>"object"!=typeof e||e instanceof RegExp?t?[t,e,!0]:[e,!0]:(void 0!==e.key&&void 0!==e.value||T("matcher-pattern-missing-key-or-value",e),t?[t,e.key,e.value]:[e.key,e.value])));if("object"!=typeof e||e instanceof RegExp)return[t?[t,e,!0]:[e,!0]];const o=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&o.push(t?[t,n,e[n]]:[n,e[n]]);return o}const xs=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};const Es=function(e,t,o){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(o=o>i?i:o)<0&&(o+=i),i=t>o?0:o-t>>>0,t>>>=0;for(var r=Array(i);++nt===e));return Array.isArray(t)}set(e,t){if(this._cachedStyleNames=null,this._cachedExpandedStyleNames=null,W(e))for(const[t,o]of Object.entries(e))this._styleProcessor.toNormalizedForm(t,o,this._styles);else this._styleProcessor.toNormalizedForm(e,t,this._styles)}remove(e){for(const t of Si(e)){this._cachedStyleNames=null,this._cachedExpandedStyleNames=null;const e=Ps(t);Ss(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}}getNormalized(e){return this._styleProcessor.getNormalized(e,this._styles)}toString(){return this.isEmpty?"":this.getStylesEntries().map((e=>e.join(":"))).sort().join(";")+";"}getAsString(e){if(this.isEmpty)return;if(this._styles[e]&&!W(this._styles[e]))return this._styles[e];const t=this._styleProcessor.getReducedForm(e,this._styles).find((([t])=>t===e));return Array.isArray(t)?t[1]:void 0}getStyleNames(e=!1){return this.isEmpty?[]:e?(this._cachedExpandedStyleNames=this._cachedExpandedStyleNames||this._styleProcessor.getStyleNames(this._styles),this._cachedExpandedStyleNames):(this._cachedStyleNames=this._cachedStyleNames||this.getStylesEntries().map((([e])=>e)),this._cachedStyleNames)}keys(){return this.getStyleNames()}clear(){this._styles={},this._cachedStyleNames=null,this._cachedExpandedStyleNames=null}isSimilar(e){if(this.size!==e.size)return!1;for(const t of this.getStyleNames())if(!e.has(t)||e.getAsString(t)!==this.getAsString(t))return!1;return!0}getStylesEntries(){const e=[],t=Object.keys(this._styles);for(const o of t)e.push(...this._styleProcessor.getReducedForm(o,this._styles));return e}_clone(){const e=new this.constructor(this._styleProcessor);return e.set(this.getNormalized()),e}_getTokensMatch(e,t){const o=[];for(const n of this.getStyleNames(!0))if(Cs(e,n)){if(!0===t){o.push(n);continue}Cs(t,this.getAsString(n))&&o.push(n)}return o.length?o:void 0}_getConsumables(e){const t=[];if(e){t.push(e);for(const o of this._styleProcessor.getRelatedStyles(e))t.push(o)}else for(const e of this.getStyleNames()){for(const o of this._styleProcessor.getRelatedStyles(e))t.push(o);t.push(e)}return t}_canMergeFrom(e){for(const t of e.getStyleNames())if(this.has(t)&&this.getAsString(t)!==e.getAsString(t))return!1;return!0}_mergeFrom(e){for(const t of e.getStyleNames())this.has(t)||this.set(t,e.getAsString(t))}_isMatching(e){for(const t of e.getStyleNames())if(!this.has(t)||this.getAsString(t)!==e.getAsString(t))return!1;return!0}_cleanEmptyObjectsOnPath(e){const t=e.split(".");if(!(t.length>1))return;const o=t.splice(0,t.length-1).join("."),n=qr(this._styles,o);if(!n)return;!Object.keys(n).length&&this.remove(o)}}class Is{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(e,t,o){if(W(t))Fs(o,Ps(e),t);else if(this._normalizers.has(e)){const n=this._normalizers.get(e),{path:i,value:r}=n(t);Fs(o,i,r)}else Fs(o,e,t)}getNormalized(e,t){if(!e)return Ji({},t);if(void 0!==t[e])return t[e];if(this._extractors.has(e)){const o=this._extractors.get(e);if("string"==typeof o)return qr(t,o);const n=o(e,t);if(n)return n}return qr(t,Ps(e))}getReducedForm(e,t){const o=this.getNormalized(e,t);if(void 0===o)return[];if(this._reducers.has(e)){return this._reducers.get(e)(o)}return[[e,o]]}getStyleNames(e){const t=new Set;for(const o of this._consumables.keys()){const n=this.getNormalized(o,e);n&&("object"!=typeof n||Object.keys(n).length)&&t.add(o)}for(const o of Object.keys(e))t.add(o);return Array.from(t)}getRelatedStyles(e){return this._consumables.get(e)||[]}setNormalizer(e,t){this._normalizers.set(e,t)}setExtractor(e,t){this._extractors.set(e,t)}setReducer(e,t){this._reducers.set(e,t)}setStyleRelation(e,t){this._mapStyleNames(e,t);for(const o of t)this._mapStyleNames(o,[e])}_mapStyleNames(e,t){this._consumables.has(e)||this._consumables.set(e,[]),this._consumables.get(e).push(...t)}}function Ps(e){return e.replace("-",".")}function Fs(e,t,o){let n=o;W(o)&&(n=Ji({},qr(e,t),o)),Ur(e,t,n)}class Rs{constructor(){this._set=new Set}get isEmpty(){return 0==this._set.size}get size(){return this._set.size}has(e){return this._set.has(e)}keys(){return Array.from(this._set.keys())}setTo(e){this.clear();for(const t of e.split(/\s+/))t&&this._set.add(t);return this}set(e){for(const t of Si(e))t&&this._set.add(t)}remove(e){for(const t of Si(e))this._set.delete(t)}clear(){this._set.clear()}toString(){return Array.from(this._set).join(" ")}isSimilar(e){if(this.size!==e.size)return!1;for(const t of this.keys())if(!e.has(t))return!1;return!0}_clone(){const e=new this.constructor;return e._set=new Set(this._set),e}_getTokensMatch(e){const t=[];if(!0===e){for(const e of this._set.keys())t.push(e);return t}if("string"==typeof e){for(const o of e.split(/\s+/)){if(!this._set.has(o))return;t.push(o)}return t}for(const o of this._set.keys())o.match(e)&&t.push(o);return t.length?t:void 0}_getConsumables(e){return e?[e]:this.keys()}_canMergeFrom(){return!0}_mergeFrom(e){for(const t of e._set.keys())this._set.has(t)||this._set.add(t)}_isMatching(e){for(const t of e._set.keys())if(!this._set.has(t))return!1;return!0}}class Ms extends gs{get _classes(){return this._attrs.get("class")}get _styles(){return this._attrs.get("style")}constructor(e,t,o,n){super(e),this._unsafeAttributesToRender=[],this._customProperties=new Map,this.name=t,this._attrs=this._parseAttributes(o),this._children=[],n&&this._insertChild(0,n)}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes&&(yield"class"),this._styles&&(yield"style");for(const e of this._attrs.keys())"class"!=e&&"style"!=e&&(yield e)}*getAttributes(){for(const[e,t]of this._attrs.entries())yield[e,String(t)]}getAttribute(e){return this._attrs.has(e)?String(this._attrs.get(e)):void 0}hasAttribute(e,t){return!!this._attrs.has(e)&&(void 0===t||(Os(this.name,e)||zs(this.name,e)?this._attrs.get(e).has(t):this._attrs.get(e)===t))}isSimilar(e){if(!(e instanceof Ms))return!1;if(this===e)return!0;if(this.name!=e.name)return!1;if(this._attrs.size!==e._attrs.size)return!1;for(const[t,o]of this._attrs){const n=e._attrs.get(t);if(void 0===n)return!1;if("string"==typeof o||"string"==typeof n){if(n!==o)return!1}else if(!o.isSimilar(n))return!1}return!0}hasClass(...e){for(const t of e)if(!this._classes||!this._classes.has(t))return!1;return!0}getClassNames(){const e=this._classes?this._classes.keys():[],t=e[Symbol.iterator]();return Object.assign(e,{next:t.next.bind(t)})}getStyle(e){return this._styles&&this._styles.getAsString(e)}getNormalizedStyle(e){return this._styles&&this._styles.getNormalized(e)}getStyleNames(e){return this._styles?this._styles.getStyleNames(e):[]}hasStyle(...e){for(const t of e)if(!this._styles||!this._styles.has(t))return!1;return!0}findAncestor(...e){const t=new As(...e);let o=this.parent;for(;o&&!o.is("documentFragment");){if(t.match(o))return o;o=o.parent}return null}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const e=this._classes?this._classes.keys().sort().join(","):"",t=this._styles&&String(this._styles),o=Array.from(this._attrs).filter((([e])=>"style"!=e&&"class"!=e)).map((e=>`${e[0]}="${e[1]}"`)).sort().join(" ");return this.name+(""==e?"":` class="${e}"`)+(t?` style="${t}"`:"")+(""==o?"":` ${o}`)}shouldRenderUnsafeAttribute(e){return this._unsafeAttributesToRender.includes(e)}_clone(e=!1){const t=[];if(e)for(const o of this.getChildren())t.push(o._clone(e));const o=new this.constructor(this.document,this.name,this._attrs,t);return o._customProperties=new Map(this._customProperties),o.getFillerOffset=this.getFillerOffset,o._unsafeAttributesToRender=this._unsafeAttributesToRender,o}_appendChild(e){return this._insertChild(this.childCount,e)}_insertChild(e,t){this._fireChange("children",this,{index:e});let o=0;const n=function(e,t){if("string"==typeof t)return[new fs(e,t)];ae(t)||(t=[t]);const o=[];for(const n of t)"string"==typeof n?o.push(new fs(e,n)):n instanceof bs?o.push(new fs(e,n.data)):o.push(n);return o}(this.document,t);for(const t of n)null!==t.parent&&t._remove(),t.parent=this,t.document=this.document,this._children.splice(e,0,t),e++,o++;return o}_removeChildren(e,t=1){this._fireChange("children",this,{index:e});for(let o=e;ot&&e.selection.editableElement==this)),this.listenTo(e.selection,"change",(()=>{this.isFocused=e.isFocused&&e.selection.editableElement==this}))}destroy(){this.stopListening()}}Ls.prototype.is=function(e,t){return t?t===this.name&&("editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};const Hs=Symbol("rootName");class js extends Ls{constructor(e,t){super(e,t),this.rootName="main"}get rootName(){return this.getCustomProperty(Hs)}set rootName(e){this._setCustomProperty(Hs,e)}set _name(e){this.name=e}}js.prototype.is=function(e,t){return t?t===this.name&&("rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class qs{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new S("view-tree-walker-no-start-position",null);if(e.direction&&"forward"!=e.direction&&"backward"!=e.direction)throw new S("view-tree-walker-unknown-direction",e.startPosition,{direction:e.direction});this.boundaries=e.boundaries||null,e.startPosition?this._position=$s._createAt(e.startPosition):this._position=$s._createAt(e.boundaries["backward"==e.direction?"end":"start"]),this.direction=e.direction||"forward",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(e){let t,o;do{o=this.position,t=this.next()}while(!t.done&&e(t.value));t.done||(this._position=o)}jumpTo(e){this._boundaryStartParent&&e.isBefore(this.boundaries.start)?e=this.boundaries.start:this._boundaryEndParent&&e.isAfter(this.boundaries.end)&&(e=this.boundaries.end),this._position=e.clone()}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let e=this.position.clone();const t=this.position,o=e.parent;if(null===o.parent&&e.offset===o.childCount)return{done:!0,value:void 0};if(o===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let n;if(o&&o.is("view:$text")){if(e.isAtEnd)return this._position=$s._createAfter(o),this._next();n=o.data[e.offset]}else n=o.getChild(e.offset);if("string"==typeof n){let n;if(this.singleCharacters)n=1;else{n=(o===this._boundaryEndParent?this.boundaries.end.offset:o.data.length)-e.offset}const i=new bs(o,e.offset,n);return e.offset+=n,this._position=e,this._formatReturnValue("text",i,t,e,n)}if(n&&n.is("view:element")){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}else e=new $s(n,0);return this._position=e,this._formatReturnValue("elementStart",n,t,e,1)}if(n&&n.is("view:$text")){if(this.singleCharacters)return e=new $s(n,0),this._position=e,this._next();let o,i=n.data.length;return n==this._boundaryEndParent?(i=this.boundaries.end.offset,o=new bs(n,0,i),e=$s._createAfter(o)):(o=new bs(n,0,n.data.length),e.offset++),this._position=e,this._formatReturnValue("text",o,t,e,i)}return e=$s._createAfter(o),this._position=e,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",o,t,e)}_previous(){let e=this.position.clone();const t=this.position,o=e.parent;if(null===o.parent&&0===e.offset)return{done:!0,value:void 0};if(o==this._boundaryStartParent&&e.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let n;if(o.is("view:$text")){if(e.isAtStart)return this._position=$s._createBefore(o),this._previous();n=o.data[e.offset-1]}else n=o.getChild(e.offset-1);if("string"==typeof n){let n;if(this.singleCharacters)n=1;else{const t=o===this._boundaryStartParent?this.boundaries.start.offset:0;n=e.offset-t}e.offset-=n;const i=new bs(o,e.offset,n);return this._position=e,this._formatReturnValue("text",i,t,e,n)}if(n&&n.is("view:element"))return this.shallow?(e.offset--,this._position=e,this._formatReturnValue("elementStart",n,t,e,1)):(e=new $s(n,n.childCount),this._position=e,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",n,t,e));if(n&&n.is("view:$text")){if(this.singleCharacters)return e=new $s(n,n.data.length),this._position=e,this._previous();let o,i=n.data.length;if(n==this._boundaryStartParent){const t=this.boundaries.start.offset;o=new bs(n,t,n.data.length-t),i=o.data.length,e=$s._createBefore(o)}else o=new bs(n,0,n.data.length),e.offset--;return this._position=e,this._formatReturnValue("text",o,t,e,i)}return e=$s._createBefore(o),this._position=e,this._formatReturnValue("elementStart",o,t,e,1)}_formatReturnValue(e,t,o,n,i){return t.is("view:$textProxy")&&(t.offsetInText+t.data.length==t.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?o=$s._createAfter(t.textNode):(n=$s._createAfter(t.textNode),this._position=n)),0===t.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?o=$s._createBefore(t.textNode):(n=$s._createBefore(t.textNode),this._position=n))),{done:!1,value:{type:e,item:t,previousPosition:o,nextPosition:n,length:i}}}}class $s extends ps{constructor(e,t){super(),this.parent=e,this.offset=t}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const e=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===e}get root(){return this.parent.root}get editableElement(){let e=this.parent;for(;!(e instanceof Ls);){if(!e.parent)return null;e=e.parent}return e}getShiftedBy(e){const t=$s._createAt(this),o=t.offset+e;return t.offset=o<0?0:o,t}getLastMatchingPosition(e,t={}){t.startPosition=this;const o=new qs(t);return o.skip(e),o.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(e){const t=this.getAncestors(),o=e.getAncestors();let n=0;for(;t[n]==o[n]&&t[n];)n++;return 0===n?null:t[n-1]}isEqual(e){return this.parent==e.parent&&this.offset==e.offset}isBefore(e){return"before"==this.compareWith(e)}isAfter(e){return"after"==this.compareWith(e)}compareWith(e){if(this.root!==e.root)return"different";if(this.isEqual(e))return"same";const t=this.parent.is("node")?this.parent.getPath():[],o=e.parent.is("node")?e.parent.getPath():[];t.push(this.offset),o.push(e.offset);const n=se(t,o);switch(n){case"prefix":return"before";case"extension":return"after";default:return t[n]0?new this(o,n):new this(n,o)}static _createIn(e){return this._createFromParentsAndOffsets(e,0,e,e.childCount)}static _createOn(e){const t=e.is("$textProxy")?e.offsetSize:1;return this._createFromPositionAndShift($s._createBefore(e),t)}}function Ws(e){return!(!e.item.is("attributeElement")&&!e.item.is("uiElement"))}Us.prototype.is=function(e){return"range"===e||"view:range"===e};class Gs extends(V(ps)){constructor(...e){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",e.length&&this.setTo(...e)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.end:e.start).clone()}get focus(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.start:e.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const e of this._ranges)yield e.clone()}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?e.clone():null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?e.clone():null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}isEqual(e){if(this.isFake!=e.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=e.fakeSelectionLabel)return!1;if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let o=!1;for(const n of e._ranges)if(t.isEqual(n)){o=!0;break}if(!o)return!1}return!0}isSimilar(e){if(this.isBackward!=e.isBackward)return!1;const t=re(this.getRanges());if(t!=re(e.getRanges()))return!1;if(0==t)return!0;for(let t of this.getRanges()){t=t.getTrimmed();let o=!1;for(let n of e.getRanges())if(n=n.getTrimmed(),t.start.isEqual(n.start)&&t.end.isEqual(n.end)){o=!0;break}if(!o)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...e){let[t,o,n]=e;if("object"==typeof o&&(n=o,o=void 0),null===t)this._setRanges([]),this._setFakeOptions(n);else if(t instanceof Gs||t instanceof Ks)this._setRanges(t.getRanges(),t.isBackward),this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel});else if(t instanceof Us)this._setRanges([t],n&&n.backward),this._setFakeOptions(n);else if(t instanceof $s)this._setRanges([new Us(t)]),this._setFakeOptions(n);else if(t instanceof gs){const e=!!n&&!!n.backward;let i;if(void 0===o)throw new S("view-selection-setto-required-second-parameter",this);i="in"==o?Us._createIn(t):"on"==o?Us._createOn(t):new Us($s._createAt(t,o)),this._setRanges([i],e),this._setFakeOptions(n)}else{if(!ae(t))throw new S("view-selection-setto-not-selectable",this);this._setRanges(t,n&&n.backward),this._setFakeOptions(n)}this.fire("change")}setFocus(e,t){if(null===this.anchor)throw new S("view-selection-setfocus-no-ranges",this);const o=$s._createAt(e,t);if("same"==o.compareWith(this.focus))return;const n=this.anchor;this._ranges.pop(),"before"==o.compareWith(n)?this._addRange(new Us(o,n),!0):this._addRange(new Us(n,o)),this.fire("change")}_setRanges(e,t=!1){e=Array.from(e),this._ranges=[];for(const t of e)this._addRange(t);this._lastRangeBackward=!!t}_setFakeOptions(e={}){this._isFake=!!e.fake,this._fakeSelectionLabel=e.fake&&e.label||""}_addRange(e,t=!1){if(!(e instanceof Us))throw new S("view-selection-add-range-not-range",this);this._pushRange(e),this._lastRangeBackward=!!t}_pushRange(e){for(const t of this._ranges)if(e.isIntersecting(t))throw new S("view-selection-range-intersects",this,{addedRange:e,intersectingRange:t});this._ranges.push(new Us(e.start,e.end))}}Gs.prototype.is=function(e){return"selection"===e||"view:selection"===e};class Ks extends(V(ps)){constructor(...e){super(),this._selection=new Gs,this._selection.delegate("change").to(this),e.length&&this._selection.setTo(...e)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(e){return this._selection.isEqual(e)}isSimilar(e){return this._selection.isSimilar(e)}_setTo(...e){this._selection.setTo(...e)}_setFocus(e,t){this._selection.setFocus(e,t)}}Ks.prototype.is=function(e){return"selection"===e||"documentSelection"==e||"view:selection"==e||"view:documentSelection"==e};class Zs extends v{constructor(e,t,o){super(e,t),this.startRange=o,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Js=Symbol("bubbling contexts");function Ys(e){return class extends e{fire(e,...t){try{const o=e instanceof v?e:new v(this,e),n=ta(this);if(!n.size)return;if(Qs(o,"capturing",this),Xs(n,"$capture",o,...t))return o.return;const i=o.startRange||this.selection.getFirstRange(),r=i?i.getContainedElement():null,s=!!r&&Boolean(ea(n,r));let a=r||function(e){if(!e)return null;const t=e.start.parent,o=e.end.parent,n=t.getPath(),i=o.getPath();return n.length>i.length?t:o}(i);if(Qs(o,"atTarget",a),!s){if(Xs(n,"$text",o,...t))return o.return;Qs(o,"bubbling",a)}for(;a;){if(a.is("rootElement")){if(Xs(n,"$root",o,...t))return o.return}else if(a.is("element")&&Xs(n,a.name,o,...t))return o.return;if(Xs(n,a,o,...t))return o.return;a=a.parent,Qs(o,"bubbling",a)}return Qs(o,"bubbling",this),Xs(n,"$document",o,...t),o.return}catch(e){S.rethrowUnexpectedError(e,this)}}_addEventListener(e,t,o){const n=Si(o.context||"$document"),i=ta(this);for(const r of n){let n=i.get(r);n||(n=new(V()),i.set(r,n)),this.listenTo(n,e,t,o)}}_removeEventListener(e,t){const o=ta(this);for(const n of o.values())this.stopListening(n,e,t)}}}{const e=Ys(Object);["fire","_addEventListener","_removeEventListener"].forEach((t=>{Ys[t]=e.prototype[t]}))}function Qs(e,t,o){e instanceof Zs&&(e._eventPhase=t,e._currentTarget=o)}function Xs(e,t,o,...n){const i="string"==typeof t?e.get(t):ea(e,t);return!!i&&(i.fire(o,...n),o.stop.called)}function ea(e,t){for(const[o,n]of e)if("function"==typeof o&&o(t))return n;return null}function ta(e){return e[Js]||(e[Js]=new Map),e[Js]}class oa extends(Ys(X())){constructor(e){super(),this._postFixers=new Set,this.selection=new Ks,this.roots=new tr({idProperty:"rootName"}),this.stylesProcessor=e,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1)}getRoot(e="main"){return this.roots.get(e)}registerPostFixer(e){this._postFixers.add(e)}destroy(){this.roots.forEach((e=>e.destroy())),this.stopListening()}_callPostFixers(e){let t=!1;do{for(const o of this._postFixers)if(t=o(e),t)break}while(t)}}class na extends Ms{constructor(e,t,o,n){super(e,t,o,n),this._priority=10,this._id=null,this._clonesGroup=null,this.getFillerOffset=ra}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new S("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(e){return null!==this.id||null!==e.id?this.id===e.id:super.isSimilar(e)&&this.priority==e.priority}_clone(e=!1){const t=super._clone(e);return t._priority=this._priority,t._id=this._id,t}_canMergeAttributesFrom(e){return null===this.id&&null===e.id&&this.priority===e.priority&&super._canMergeAttributesFrom(e)}_canSubtractAttributesOf(e){return null===this.id&&null===e.id&&this.priority===e.priority&&super._canSubtractAttributesOf(e)}}na.DEFAULT_PRIORITY=10;const ia=na;function ra(){if(sa(this))return null;let e=this.parent;for(;e&&e.is("attributeElement");){if(sa(e)>1)return null;e=e.parent}return!e||sa(e)>1?null:this.childCount}function sa(e){return Array.from(e.getChildren()).filter((e=>!e.is("uiElement"))).length}na.prototype.is=function(e,t){return t?t===this.name&&("attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e):"attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class aa extends Ms{constructor(e,t,o,n){super(e,t,o,n),this.getFillerOffset=la}_insertChild(e,t){if(t&&(t instanceof gs||Array.from(t).length>0))throw new S("view-emptyelement-cannot-add",[this,t]);return 0}}function la(){return null}aa.prototype.is=function(e,t){return t?t===this.name&&("emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e):"emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class ca extends Ms{constructor(e,t,o,n){super(e,t,o,n),this.getFillerOffset=ua}_insertChild(e,t){if(t&&(t instanceof gs||Array.from(t).length>0))throw new S("view-uielement-cannot-add",[this,t]);return 0}render(e,t){return this.toDomElement(e)}toDomElement(e){const t=e.createElement(this.name);for(const e of this.getAttributeKeys())t.setAttribute(e,this.getAttribute(e));return t}}function da(e){e.document.on("arrowKey",((t,o)=>function(e,t,o){if(t.keyCode==Ai.arrowright){const e=t.domTarget.ownerDocument.defaultView.getSelection(),n=1==e.rangeCount&&e.getRangeAt(0).collapsed;if(n||t.shiftKey){const t=e.focusNode,i=e.focusOffset,r=o.domPositionToView(t,i);if(null===r)return;let s=!1;const a=r.getLastMatchingPosition((e=>(e.item.is("uiElement")&&(s=!0),!(!e.item.is("uiElement")&&!e.item.is("attributeElement")))));if(s){const t=o.viewPositionToDom(a);n?e.collapse(t.parent,t.offset):e.extend(t.parent,t.offset)}}}}(0,o,e.domConverter)),{priority:"low"})}function ua(){return null}ca.prototype.is=function(e,t){return t?t===this.name&&("uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e):"uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class ha extends Ms{constructor(e,t,o,n){super(e,t,o,n),this.getFillerOffset=pa}_insertChild(e,t){if(t&&(t instanceof gs||Array.from(t).length>0))throw new S("view-rawelement-cannot-add",[this,t]);return 0}render(e,t){}}function pa(){return null}ha.prototype.is=function(e,t){return t?t===this.name&&("rawElement"===e||"view:rawElement"===e||"element"===e||"view:element"===e):"rawElement"===e||"view:rawElement"===e||e===this.name||e==="view:"+this.name||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class ma extends(V(ps)){constructor(e,t){super(),this._children=[],this._customProperties=new Map,this.document=e,t&&this._insertChild(0,t)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}get name(){}get getFillerOffset(){}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(e){return this._insertChild(this.childCount,e)}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(e,t){this._fireChange("children",this,{index:e});let o=0;const n=function(e,t){if("string"==typeof t)return[new fs(e,t)];ae(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new fs(e,t):t instanceof bs?new fs(e,t.data):t))}(this.document,t);for(const t of n)null!==t.parent&&t._remove(),t.parent=this,this._children.splice(e,0,t),e++,o++;return o}_removeChildren(e,t=1){this._fireChange("children",this,{index:e});for(let o=e;o{const o=e[e.length-1],n=!t.is("uiElement");return o&&o.breakAttributes==n?o.nodes.push(t):e.push({breakAttributes:n,nodes:[t]}),e}),[]);let n=null,i=e;for(const{nodes:e,breakAttributes:t}of o){const o=this._insertNodes(i,e,t);n||(n=o.start),i=o.end}return n?new Us(n,i):new Us(e)}remove(e){const t=e instanceof Us?e:Us._createOn(e);if(va(t,this.document),t.isCollapsed)return new ma(this.document);const{start:o,end:n}=this._breakAttributesRange(t,!0),i=o.parent,r=n.offset-o.offset,s=i._removeChildren(o.offset,r);for(const e of s)this._removeFromClonedElementsGroup(e);const a=this.mergeAttributes(o);return t.start=a,t.end=a.clone(),new ma(this.document,s)}clear(e,t){va(e,this.document);const o=e.getWalker({direction:"backward",ignoreElementEnd:!0});for(const n of o){const o=n.item;let i;if(o.is("element")&&t.isSimilar(o))i=Us._createOn(o);else if(!n.nextPosition.isAfter(e.start)&&o.is("$textProxy")){const e=o.getAncestors().find((e=>e.is("element")&&t.isSimilar(e)));e&&(i=Us._createIn(e))}i&&(i.end.isAfter(e.end)&&(i.end=e.end),i.start.isBefore(e.start)&&(i.start=e.start),this.remove(i))}}move(e,t){let o;if(t.isAfter(e.end)){const n=(t=this._breakAttributes(t,!0)).parent,i=n.childCount;e=this._breakAttributesRange(e,!0),o=this.remove(e),t.offset+=n.childCount-i}else o=this.remove(e);return this.insert(t,o)}wrap(e,t){if(!(t instanceof ia))throw new S("view-writer-wrap-invalid-attribute",this.document);if(va(e,this.document),e.isCollapsed){let n=e.start;n.parent.is("element")&&(o=n.parent,!Array.from(o.getChildren()).some((e=>!e.is("uiElement"))))&&(n=n.getLastMatchingPosition((e=>e.item.is("uiElement")))),n=this._wrapPosition(n,t);const i=this.document.selection;return i.isCollapsed&&i.getFirstPosition().isEqual(e.start)&&this.setSelection(n),new Us(n)}return this._wrapRange(e,t);var o}unwrap(e,t){if(!(t instanceof ia))throw new S("view-writer-unwrap-invalid-attribute",this.document);if(va(e,this.document),e.isCollapsed)return e;const{start:o,end:n}=this._breakAttributesRange(e,!0),i=o.parent,r=this._unwrapChildren(i,o.offset,n.offset,t),s=this.mergeAttributes(r.start);s.isEqual(r.start)||r.end.offset--;const a=this.mergeAttributes(r.end);return new Us(s,a)}rename(e,t){const o=new Ns(this.document,e,t.getAttributes());return this.insert($s._createAfter(t),o),this.move(Us._createIn(t),$s._createAt(o,0)),this.remove(Us._createOn(t)),o}clearClonedElementsGroup(e){this._cloneGroups.delete(e)}createPositionAt(e,t){return $s._createAt(e,t)}createPositionAfter(e){return $s._createAfter(e)}createPositionBefore(e){return $s._createBefore(e)}createRange(e,t){return new Us(e,t)}createRangeOn(e){return Us._createOn(e)}createRangeIn(e){return Us._createIn(e)}createSelection(...e){return new Gs(...e)}createSlot(e="children"){if(!this._slotFactory)throw new S("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,e)}_registerSlotFactory(e){this._slotFactory=e}_clearSlotFactory(){this._slotFactory=null}_insertNodes(e,t,o){let n,i;if(n=o?fa(e):e.parent.is("$text")?e.parent.parent:e.parent,!n)throw new S("view-writer-invalid-position-container",this.document);i=o?this._breakAttributes(e,!0):e.parent.is("$text")?wa(e):e;const r=n._insertChild(i.offset,t);for(const e of t)this._addToClonedElementsGroup(e);const s=i.getShiftedBy(r),a=this.mergeAttributes(i);a.isEqual(i)||s.offset--;const l=this.mergeAttributes(s);return new Us(a,l)}_wrapChildren(e,t,o,n){let i=t;const r=[];for(;i!1,e.parent._insertChild(e.offset,o);const n=new Us(e,e.getShiftedBy(1));this.wrap(n,t);const i=new $s(o.parent,o.index);o._remove();const r=i.nodeBefore,s=i.nodeAfter;return r&&r.is("view:$text")&&s&&s.is("view:$text")?_a(r,s):ka(i)}_breakAttributesRange(e,t=!1){const o=e.start,n=e.end;if(va(e,this.document),e.isCollapsed){const o=this._breakAttributes(e.start,t);return new Us(o,o)}const i=this._breakAttributes(n,t),r=i.parent.childCount,s=this._breakAttributes(o,t);return i.offset+=i.parent.childCount-r,new Us(s,i)}_breakAttributes(e,t=!1){const o=e.offset,n=e.parent;if(e.parent.is("emptyElement"))throw new S("view-writer-cannot-break-empty-element",this.document);if(e.parent.is("uiElement"))throw new S("view-writer-cannot-break-ui-element",this.document);if(e.parent.is("rawElement"))throw new S("view-writer-cannot-break-raw-element",this.document);if(!t&&n.is("$text")&&Ca(n.parent))return e.clone();if(Ca(n))return e.clone();if(n.is("$text"))return this._breakAttributes(wa(e),t);if(o==n.childCount){const e=new $s(n.parent,n.index+1);return this._breakAttributes(e,t)}if(0===o){const e=new $s(n.parent,n.index);return this._breakAttributes(e,t)}{const e=n.index+1,i=n._clone();n.parent._insertChild(e,i),this._addToClonedElementsGroup(i);const r=n.childCount-o,s=n._removeChildren(o,r);i._appendChild(s);const a=new $s(n.parent,e);return this._breakAttributes(a,t)}}_addToClonedElementsGroup(e){if(!e.root.is("rootElement"))return;if(e.is("element"))for(const t of e.getChildren())this._addToClonedElementsGroup(t);const t=e.id;if(!t)return;let o=this._cloneGroups.get(t);o||(o=new Set,this._cloneGroups.set(t,o)),o.add(e),e._clonesGroup=o}_removeFromClonedElementsGroup(e){if(e.is("element"))for(const t of e.getChildren())this._removeFromClonedElementsGroup(t);const t=e.id;if(!t)return;const o=this._cloneGroups.get(t);o&&o.delete(e)}}function fa(e){let t=e.parent;for(;!Ca(t);){if(!t)return;t=t.parent}return t}function ba(e,t){return e.priorityt.priority)&&e.getIdentity()o instanceof e)))throw new S("view-writer-insert-invalid-node-type",t);o.is("$text")||Aa(o.getChildren(),t)}}function Ca(e){return e&&(e.is("containerElement")||e.is("documentFragment"))}function va(e,t){const o=fa(e.start),n=fa(e.end);if(!o||!n||o!==n)throw new S("view-writer-invalid-range-container",t)}const xa=e=>e.createTextNode(" "),Ea=e=>{const t=e.createElement("span");return t.dataset.ckeFiller="true",t.innerText=" ",t},Da=e=>{const t=e.createElement("br");return t.dataset.ckeFiller="true",t},Ba="⁠".repeat(7);function Sa(e){return"string"==typeof e?e.substr(0,7)===Ba:qn(e)&&e.data.substr(0,7)===Ba}function Ta(e){return 7==e.data.length&&Sa(e)}function Ia(e){const t="string"==typeof e?e:e.data;return Sa(e)?t.slice(7):t}function Pa(e,t){if(t.keyCode==Ai.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(1==e.rangeCount&&e.getRangeAt(0).collapsed){const t=e.getRangeAt(0).startContainer,o=e.getRangeAt(0).startOffset;Sa(t)&&o<=7&&e.collapse(t,0)}}}var Fa=i(6531),Ra={attributes:{"data-cke":!0}};Ra.setAttributes=Xr(),Ra.insert=Yr().bind(null,"head"),Ra.domAPI=Zr(),Ra.insertStyleElement=ts();Gr()(Fa.A,Ra);Fa.A&&Fa.A.locals&&Fa.A.locals;class Ma extends(X()){constructor(e,t){super(),this.domDocuments=new Set,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this._inlineFiller=null,this._fakeSelectionContainer=null,this.domConverter=e,this.selection=t,this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),c.isBlink&&!c.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()}))}markToSync(e,t){if("text"===e)this.domConverter.mapViewToDom(t.parent)&&this.markedTexts.add(t);else{if(!this.domConverter.mapViewToDom(t))return;if("attributes"===e)this.markedAttributes.add(t);else{if("children"!==e){throw new S("view-renderer-unknown-type",this)}this.markedChildren.add(t)}}}render(){if(this.isComposing&&!c.isAndroid)return;let e=null;const t=!(c.isBlink&&!c.isAndroid)||!this.isSelecting;for(const e of this.markedChildren)this._updateChildrenMappings(e);t?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?e=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(e=this.selection.getFirstPosition(),this.markedChildren.add(e.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(e=this.domConverter.domPositionToView(this._inlineFiller),e&&e.parent.is("$text")&&(e=$s._createBefore(e.parent)));for(const e of this.markedAttributes)this._updateAttrs(e);for(const t of this.markedChildren)this._updateChildren(t,{inlineFillerPosition:e});for(const t of this.markedTexts)!this.markedChildren.has(t.parent)&&this.domConverter.mapViewToDom(t.parent)&&this._updateText(t,{inlineFillerPosition:e});if(t)if(e){const t=this.domConverter.viewPositionToDom(e),o=t.parent.ownerDocument;Sa(t.parent)?this._inlineFiller=t.parent:this._inlineFiller=za(o,t.parent,t.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.domConverter._clearTemporaryCustomProperties(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const o=Array.from(t.childNodes),n=Array.from(this.domConverter.viewChildrenToDom(e,{withChildren:!1})),i=this._diffNodeLists(o,n),r=this._findUpdateActions(i,o,n,Oa);if(-1!==r.indexOf("update")){const t={equal:0,insert:0,delete:0};for(const i of r)if("update"===i){const i=t.equal+t.insert,r=t.equal+t.delete,s=e.getChild(i);!s||s.is("uiElement")||s.is("rawElement")||this._updateElementMappings(s,o[r]),ci(n[i]),t.equal++}else t[i]++}}_updateElementMappings(e,t){this.domConverter.unbindDomElement(t),this.domConverter.bindElements(t,e),this.markedChildren.add(e),this.markedAttributes.add(e)}_getInlineFillerPosition(){const e=this.selection.getFirstPosition();return e.parent.is("$text")?$s._createBefore(e.parent):e}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=this.domConverter.viewPositionToDom(e);return!!(t&&qn(t.parent)&&Sa(t.parent))}_removeInlineFiller(){const e=this._inlineFiller;if(!Sa(e))throw new S("view-renderer-filler-was-lost",this);Ta(e)?e.remove():e.data=e.data.substr(7),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=e.parent,o=e.offset;if(!this.domConverter.mapViewToDom(t.root))return!1;if(!t.is("element"))return!1;if(!function(e){if("false"==e.getAttribute("contenteditable"))return!1;const t=e.findAncestor((e=>e.hasAttribute("contenteditable")));return!t||"true"==t.getAttribute("contenteditable")}(t))return!1;const n=e.nodeBefore,i=e.nodeAfter;return!(n instanceof fs||i instanceof fs)&&(!!(o!==t.getFillerOffset()||n&&n.is("element","br"))&&(!c.isAndroid||!n&&!i))}_updateText(e,t){const o=this.domConverter.findCorrespondingDomText(e);let n=this.domConverter.viewToDom(e).data;const i=t.inlineFillerPosition;i&&i.parent==e.parent&&i.offset==e.index&&(n=Ba+n),this._updateTextNode(o,n)}_updateAttrs(e){const t=this.domConverter.mapViewToDom(e);if(t){for(const o of Array.from(t.attributes)){const n=o.name;e.hasAttribute(n)||this.domConverter.removeDomElementAttribute(t,n)}for(const o of e.getAttributeKeys())this.domConverter.setDomElementAttribute(t,o,e.getAttribute(o),e)}}_updateChildren(e,t){const o=this.domConverter.mapViewToDom(e);if(!o)return;if(c.isAndroid){let e=null;for(const t of Array.from(o.childNodes)){if(e&&qn(e)&&qn(t)){o.normalize();break}e=t}}const n=t.inlineFillerPosition,i=o.childNodes,r=Array.from(this.domConverter.viewChildrenToDom(e,{bind:!0}));n&&n.parent===e&&za(o.ownerDocument,r,n.offset);const s=this._diffNodeLists(i,r),a=this._findUpdateActions(s,i,r,Na);let l=0;const d=new Set;for(const e of a)"delete"===e?(d.add(i[l]),ci(i[l])):"equal"!==e&&"update"!==e||l++;l=0;for(const e of a)"insert"===e?(ni(o,l,r[l]),l++):"update"===e?(this._updateTextNode(i[l],r[l].data),l++):"equal"===e&&(this._markDescendantTextToSync(this.domConverter.domToView(r[l])),l++);for(const e of d)e.parentNode||this.domConverter.unbindDomElement(e)}_diffNodeLists(e,t){return e=function(e,t){const o=Array.from(e);if(0==o.length||!t)return o;const n=o[o.length-1];n==t&&o.pop();return o}(e,this._fakeSelectionContainer),A(e,t,Va.bind(null,this.domConverter))}_findUpdateActions(e,t,o,n){if(-1===e.indexOf("insert")||-1===e.indexOf("delete"))return e;let i=[],r=[],s=[];const a={equal:0,insert:0,delete:0};for(const l of e)"insert"===l?s.push(o[a.equal+a.insert]):"delete"===l?r.push(t[a.equal+a.delete]):(i=i.concat(A(r,s,n).map((e=>"equal"===e?"update":e))),i.push("equal"),r=[],s=[]),a[l]++;return i.concat(A(r,s,n).map((e=>"equal"===e?"update":e)))}_updateTextNode(e,t){const o=e.data;o!=t&&(c.isAndroid&&this.isComposing&&o.replace(/\u00A0/g," ")==t.replace(/\u00A0/g," ")||this._updateTextNodeInternal(e,t))}_updateTextNodeInternal(e,t){const o=k(e.data,t);for(const t of o)"insert"===t.type?e.insertData(t.index,t.values.join("")):e.deleteData(t.index,t.howMany)}_markDescendantTextToSync(e){if(e)if(e.is("$text"))this.markedTexts.add(e);else if(e.is("element"))for(const t of e.getChildren())this._markDescendantTextToSync(t)}_updateSelection(){if(c.isBlink&&!c.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const e=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&e&&(this.selection.isFake?this._updateFakeSelection(e):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(e)):this.isComposing&&c.isAndroid||this._updateDomSelection(e))}_updateFakeSelection(e){const t=e.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(e){const t=e.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}(t));const o=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(o,this.selection),!this._fakeSelectionNeedsUpdate(e))return;o.parentElement&&o.parentElement==e||e.appendChild(o),o.textContent=this.selection.fakeSelectionLabel||" ";const n=t.getSelection(),i=t.createRange();n.removeAllRanges(),i.selectNodeContents(o),n.addRange(i)}_updateDomSelection(e){const t=e.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(t))return;const o=this.domConverter.viewPositionToDom(this.selection.anchor),n=this.domConverter.viewPositionToDom(this.selection.focus);t.setBaseAndExtent(o.parent,o.offset,n.parent,n.offset),c.isGecko&&function(e,t){let o=e.parent,n=e.offset;qn(o)&&Ta(o)&&(n=oi(o)+1,o=o.parentNode);if(o.nodeType!=Node.ELEMENT_NODE||n!=o.childNodes.length-1)return;const i=o.childNodes[n];i&&"BR"==i.tagName&&t.addRange(t.getRangeAt(0))}(n,t)}_domSelectionNeedsUpdate(e){if(!this.domConverter.isDomSelectionCorrect(e))return!0;const t=e&&this.domConverter.domSelectionToView(e);return(!t||!this.selection.isEqual(t))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(t))}_fakeSelectionNeedsUpdate(e){const t=this._fakeSelectionContainer,o=e.ownerDocument.getSelection();return!t||t.parentElement!==e||(o.anchorNode!==t&&!t.contains(o.anchorNode)||t.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const e of this.domDocuments){const t=e.getSelection();if(t.rangeCount){const o=e.activeElement,n=this.domConverter.mapDomToView(o);o&&n&&t.removeAllRanges()}}}_removeFakeSelection(){const e=this._fakeSelectionContainer;e&&e.remove()}_updateFocus(){if(this.isFocused){const e=this.selection.editableElement;e&&this.domConverter.focus(e)}}}function za(e,t,o){const n=t instanceof Array?t:t.childNodes,i=n[o];if(qn(i))return i.data=Ba+i.data,i;{const i=e.createTextNode(Ba);return Array.isArray(t)?n.splice(o,0,i):ni(t,o,i),i}}function Oa(e,t){return Rn(e)&&Rn(t)&&!qn(e)&&!qn(t)&&!ii(e)&&!ii(t)&&e.tagName.toLowerCase()===t.tagName.toLowerCase()}function Na(e,t){return Rn(e)&&Rn(t)&&qn(e)&&qn(t)}function Va(e,t,o){return t===o||(qn(t)&&qn(o)?t.data===o.data:!(!e.isBlockFiller(t)||!e.isBlockFiller(o)))}const La=Da(s.document),Ha=xa(s.document),ja=Ea(s.document),qa="data-ck-unsafe-attribute-",$a="data-ck-unsafe-element";class Ua{constructor(e,{blockFillerMode:t,renderingMode:o="editing"}={}){this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new As,this._inlineObjectElementMatcher=new As,this._elementsWithTemporaryCustomProperties=new Set,this.document=e,this.renderingMode=o,this.blockFillerMode=t||("editing"===o?"br":"nbsp"),this.preElements=["pre","textarea"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?s.document:s.document.implementation.createHTMLDocument("")}bindFakeSelection(e,t){this._fakeSelectionMapping.set(e,new Gs(t))}fakeSelectionToView(e){return this._fakeSelectionMapping.get(e)}bindElements(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}unbindDomElement(e){const t=this._domToViewMapping.get(e);if(t){this._domToViewMapping.delete(e),this._viewToDomMapping.delete(t);for(const t of e.children)this.unbindDomElement(t)}}bindDocumentFragments(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}shouldRenderAttribute(e,t,o){return"data"===this.renderingMode||!(e=e.toLowerCase()).startsWith("on")&&(("srcdoc"!==e||!t.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===o&&("src"===e||"srcset"===e)||("source"===o&&"srcset"===e||!t.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(e,t){if("data"===this.renderingMode)return void(e.innerHTML=t);const o=(new DOMParser).parseFromString(t,"text/html"),n=o.createDocumentFragment(),i=o.body.childNodes;for(;i.length>0;)n.appendChild(i[0]);const r=o.createTreeWalker(n,NodeFilter.SHOW_ELEMENT),s=[];let a;for(;a=r.nextNode();)s.push(a);for(const e of s){for(const t of e.getAttributeNames())this.setDomElementAttribute(e,t,e.getAttribute(t));const t=e.tagName.toLowerCase();this._shouldRenameElement(t)&&(Qa(t),e.replaceWith(this._createReplacementDomElement(t,e)))}for(;e.firstChild;)e.firstChild.remove();e.append(n)}viewToDom(e,t={}){if(e.is("$text")){const t=this._processDataFromViewText(e);return this._domDocument.createTextNode(t)}{const o=e;if(this.mapViewToDom(o)){if(!o.getCustomProperty("editingPipeline:doNotReuseOnce"))return this.mapViewToDom(o);this._elementsWithTemporaryCustomProperties.add(o)}let n;if(o.is("documentFragment"))n=this._domDocument.createDocumentFragment(),t.bind&&this.bindDocumentFragments(n,o);else{if(o.is("uiElement"))return n="$comment"===o.name?this._domDocument.createComment(o.getCustomProperty("$rawContent")):o.render(this._domDocument,this),t.bind&&this.bindElements(n,o),n;this._shouldRenameElement(o.name)?(Qa(o.name),n=this._createReplacementDomElement(o.name)):n=o.hasAttribute("xmlns")?this._domDocument.createElementNS(o.getAttribute("xmlns"),o.name):this._domDocument.createElement(o.name),o.is("rawElement")&&o.render(n,this),t.bind&&this.bindElements(n,o);for(const e of o.getAttributeKeys())this.setDomElementAttribute(n,e,o.getAttribute(e),o)}if(!1!==t.withChildren)for(const e of this.viewChildrenToDom(o,t))n instanceof HTMLTemplateElement?n.content.appendChild(e):n.appendChild(e);return n}}setDomElementAttribute(e,t,o,n){const i=this.shouldRenderAttribute(t,o,e.tagName.toLowerCase())||n&&n.shouldRenderUnsafeAttribute(t);i||T("domconverter-unsafe-attribute-detected",{domElement:e,key:t,value:o}),function(e){try{s.document.createAttribute(e)}catch(e){return!1}return!0}(t)?(e.hasAttribute(t)&&!i?e.removeAttribute(t):e.hasAttribute(qa+t)&&i&&e.removeAttribute(qa+t),e.setAttribute(i?t:qa+t,o)):T("domconverter-invalid-attribute-detected",{domElement:e,key:t,value:o})}removeDomElementAttribute(e,t){t!=$a&&(e.removeAttribute(t),e.removeAttribute(qa+t))}*viewChildrenToDom(e,t={}){const o=e.getFillerOffset&&e.getFillerOffset();let n=0;for(const i of e.getChildren()){o===n&&(yield this._getBlockFiller());const e=i.is("element")&&!!i.getCustomProperty("dataPipeline:transparentRendering")&&!or(i.getAttributes());if(e&&"data"==this.renderingMode)if(i.is("rawElement")){const e=this._domDocument.createElement(i.name);i.render(e,this),yield*[...e.childNodes]}else yield*this.viewChildrenToDom(i,t);else e&&T("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:i}),yield this.viewToDom(i,t);n++}o===n&&(yield this._getBlockFiller())}viewRangeToDom(e){const t=this.viewPositionToDom(e.start),o=this.viewPositionToDom(e.end),n=this._domDocument.createRange();return n.setStart(t.parent,t.offset),n.setEnd(o.parent,o.offset),n}viewPositionToDom(e){const t=e.parent;if(t.is("$text")){const o=this.findCorrespondingDomText(t);if(!o)return null;let n=e.offset;return Sa(o)&&(n+=7),{parent:o,offset:n}}{let o,n,i;if(0===e.offset){if(o=this.mapViewToDom(t),!o)return null;i=o.childNodes[0]}else{const t=e.nodeBefore;if(n=t.is("$text")?this.findCorrespondingDomText(t):this.mapViewToDom(t),!n)return null;o=n.parentNode,i=n.nextSibling}if(qn(i)&&Sa(i))return{parent:i,offset:7};return{parent:o,offset:n?oi(n)+1:0}}}domToView(e,t={}){const o=[],n=this._domToView(e,t,o),i=n.next().value;return i?(n.next(),this._processDomInlineNodes(null,o,t),"br"==this.blockFillerMode&&Ja(i)||i.is("$text")&&0==i.data.length?null:i):null}*domChildrenToView(e,t={},o=[]){let n=[];n=e instanceof HTMLTemplateElement?[...e.content.childNodes]:[...e.childNodes];for(let i=0;i{const{scrollLeft:t,scrollTop:o}=e;n.push([t,o])})),t.focus(),Wa(t,(e=>{const[t,o]=n.shift();e.scrollLeft=t,e.scrollTop=o})),s.window.scrollTo(e,o)}}_clearDomSelection(){const e=this.mapViewToDom(this.document.selection.editableElement);if(!e)return;const t=e.ownerDocument.defaultView.getSelection(),o=this.domSelectionToView(t);o&&o.rangeCount>0&&t.removeAllRanges()}isElement(e){return e&&e.nodeType==Node.ELEMENT_NODE}isDocumentFragment(e){return e&&e.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(e){return"br"==this.blockFillerMode?e.isEqualNode(La):!!Ya(e,this.blockElements)||(e.isEqualNode(ja)||function(e,t){const o=e.isEqualNode(Ha);return o&&Ga(e,t)&&1===e.parentNode.childNodes.length}(e,this.blockElements))}isDomSelectionBackward(e){if(e.isCollapsed)return!1;const t=this._domDocument.createRange();try{t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset)}catch(e){return!1}const o=t.collapsed;return t.detach(),o}getHostViewElement(e){const t=Ln(e);for(t.pop();t.length;){const e=t.pop(),o=this._domToViewMapping.get(e);if(o&&(o.is("uiElement")||o.is("rawElement")))return o}return null}isDomSelectionCorrect(e){return this._isDomSelectionPositionCorrect(e.anchorNode,e.anchorOffset)&&this._isDomSelectionPositionCorrect(e.focusNode,e.focusOffset)}registerRawContentMatcher(e){this._rawContentElementMatcher.add(e)}registerInlineObjectMatcher(e){this._inlineObjectElementMatcher.add(e)}_clearTemporaryCustomProperties(){for(const e of this._elementsWithTemporaryCustomProperties)e._removeCustomProperty("editingPipeline:doNotReuseOnce");this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return xa(this._domDocument);case"markedNbsp":return Ea(this._domDocument);case"br":return Da(this._domDocument)}}_isDomSelectionPositionCorrect(e,t){if(qn(e)&&Sa(e)&&t<7)return!1;if(this.isElement(e)&&Sa(e.childNodes[t]))return!1;const o=this.mapDomToView(e);return!o||!o.is("uiElement")&&!o.is("rawElement")}*_domToView(e,t,o){if("br"!=this.blockFillerMode&&Ya(e,this.blockElements))return null;const n=this.getHostViewElement(e);if(n)return n;if(ii(e)&&t.skipComments)return null;if(qn(e)){if(Ta(e))return null;{const t=e.data;if(""===t)return null;const n=new fs(this.document,t);return o.push(n),n}}{let n=this.mapDomToView(e);if(n)return this._isInlineObjectElement(n)&&o.push(n),n;if(this.isDocumentFragment(e))n=new ma(this.document),t.bind&&this.bindDocumentFragments(e,n);else{n=this._createViewElement(e,t),t.bind&&this.bindElements(e,n);const i=e.attributes;if(i)for(let e=i.length,t=0;t0?t[e-1]:null,l=e+1e.is("element")&&t.includes(e.name)))}(e,this.preElements))return!0;for(const t of e.getAncestors({parentFirst:!0}))if(t.is("element")&&t.hasStyle("white-space")&&"inherit"!==t.getStyle("white-space"))return["pre","pre-wrap","break-spaces"].includes(t.getStyle("white-space"));return!1}_getTouchingInlineViewNode(e,t){const o=new qs({startPosition:t?$s._createAfter(e):$s._createBefore(e),direction:t?"forward":"backward"});for(const{item:e}of o){if(e.is("$textProxy"))return e;if(!e.is("element")||!e.getCustomProperty("dataPipeline:transparentRendering")){if(e.is("element","br"))return null;if(this._isInlineObjectElement(e))return e;if(e.is("containerElement"))return null}}return null}_isBlockDomElement(e){return this.isElement(e)&&this.blockElements.includes(e.tagName.toLowerCase())}_isBlockViewElement(e){return e.is("element")&&this.blockElements.includes(e.name)}_isInlineObjectElement(e){return!!e.is("element")&&("br"==e.name||this.inlineObjectElements.includes(e.name)||!!this._inlineObjectElementMatcher.match(e))}_createViewElement(e,t){if(ii(e))return new ca(this.document,"$comment");const o=t.keepOriginalCase?e.tagName:e.tagName.toLowerCase();return new Ms(this.document,o)}_isViewElementWithRawContent(e,t){return!1!==t.withChildren&&e.is("element")&&!!this._rawContentElementMatcher.match(e)}_shouldRenameElement(e){const t=e.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(t)}_createReplacementDomElement(e,t){const o=this._domDocument.createElement("span");if(o.setAttribute($a,e),t){for(;t.firstChild;)o.appendChild(t.firstChild);for(const e of t.getAttributeNames())o.setAttribute(e,t.getAttribute(e))}return o}}function Wa(e,t){let o=e;for(;o;)t(o),o=o.parentElement}function Ga(e,t){const o=e.parentNode;return!!o&&!!o.tagName&&t.includes(o.tagName.toLowerCase())}function Ka(e,t,o){return" "==t&&e&&e.is("element")&&1==e.childCount&&o.includes(e.name)}function Za(e,t){return" "==t&&e&&e.is("element","span")&&1==e.childCount&&e.hasAttribute("data-cke-filler")}function Ja(e){return e.is("element","br")&&e.hasAttribute("data-cke-filler")}function Ya(e,t){return"BR"===e.tagName&&Ga(e,t)&&1===e.parentNode.childNodes.length}function Qa(e){"script"===e&&T("domconverter-unsafe-script-element-detected"),"style"===e&&T("domconverter-unsafe-style-element-detected")}class Xa extends(On()){constructor(e){super(),this._isEnabled=!1,this.view=e,this.document=e.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(e){return e&&3===e.nodeType&&(e=e.parentNode),!(!e||1!==e.nodeType)&&e.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}var el=Ki((function(e,t){zt(t,_o(t),e)}));const tl=el;class ol{constructor(e,t,o){this.view=e,this.document=e.document,this.domEvent=t,this.domTarget=t.target,tl(this,o)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class nl extends Xa{constructor(){super(...arguments),this.useCapture=!1,this.usePassive=!1}observe(e){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((t=>{this.listenTo(e,t,((e,t)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(t.target)&&this.onDomEvent(t)}),{useCapture:this.useCapture,usePassive:this.usePassive})}))}stopObserving(e){this.stopListening(e)}fire(e,t,o){this.isEnabled&&this.document.fire(e,new ol(this.view,t,o))}}class il extends nl{constructor(){super(...arguments),this.domEventType=["keydown","keyup"]}onDomEvent(e){const t={keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey,get keystroke(){return vi(this)}};this.fire(e.type,e,t)}}const rl=function(){return de.Date.now()};var sl=/\s/;const al=function(e){for(var t=e.length;t--&&sl.test(e.charAt(t)););return t};var ll=/^\s+/;const cl=function(e){return e?e.slice(0,al(e)+1).replace(ll,""):e};var dl=/^[-+]0x[0-9a-f]+$/i,ul=/^0b[01]+$/i,hl=/^0o[0-7]+$/i,pl=parseInt;const ml=function(e){if("number"==typeof e)return e;if(vr(e))return NaN;if(W(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=W(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=cl(e);var o=ul.test(e);return o||hl.test(e)?pl(e.slice(2),o?2:8):dl.test(e)?NaN:+e};var gl=Math.max,fl=Math.min;const bl=function(e,t,o){var n,i,r,s,a,l,c=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var o=n,r=i;return n=i=void 0,c=t,s=e.apply(r,o)}function m(e){var o=e-l;return void 0===l||o>=t||o<0||u&&e-c>=r}function g(){var e=rl();if(m(e))return f(e);a=setTimeout(g,function(e){var o=t-(e-l);return u?fl(o,r-(e-c)):o}(e))}function f(e){return a=void 0,h&&n?p(e):(n=i=void 0,s)}function b(){var e=rl(),o=m(e);if(n=arguments,i=this,l=e,o){if(void 0===a)return function(e){return c=e,a=setTimeout(g,t),d?p(e):s}(l);if(u)return clearTimeout(a),a=setTimeout(g,t),p(l)}return void 0===a&&(a=setTimeout(g,t)),s}return t=ml(t)||0,W(o)&&(d=!!o.leading,r=(u="maxWait"in o)?gl(ml(o.maxWait)||0,t):r,h="trailing"in o?!!o.trailing:h),b.cancel=function(){void 0!==a&&clearTimeout(a),c=0,n=l=i=a=void 0},b.flush=function(){return void 0===a?s:f(rl())},b};class kl extends Xa{constructor(e){super(e),this._fireSelectionChangeDoneDebounced=bl((e=>{this.document.fire("selectionChangeDone",e)}),200)}observe(){const e=this.document;e.on("arrowKey",((t,o)=>{e.selection.isFake&&this.isEnabled&&o.preventDefault()}),{context:"$capture"}),e.on("arrowKey",((t,o)=>{e.selection.isFake&&this.isEnabled&&this._handleSelectionMove(o.keyCode)}),{priority:"lowest"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(e){const t=this.document.selection,o=new Gs(t.getRanges(),{backward:t.isBackward,fake:!1});e!=Ai.arrowleft&&e!=Ai.arrowup||o.setTo(o.getFirstPosition()),e!=Ai.arrowright&&e!=Ai.arrowdown||o.setTo(o.getLastPosition());const n={oldSelection:t,newSelection:o,domSelection:null};this.document.fire("selectionChange",n),this._fireSelectionChangeDoneDebounced(n)}}const wl=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const _l=function(e){return this.__data__.has(e)};function yl(e){var t=-1,o=null==e?0:e.length;for(this.__data__=new Dt;++ta))return!1;var c=r.get(e),d=r.get(t);if(c&&d)return c==t&&d==e;var u=-1,h=!0,p=2&o?new Al:void 0;for(r.set(e,t),r.set(t,e);++uthis._handleFocus())),t.on("blur",((e,t)=>this._handleBlur(t))),t.on("beforeinput",(()=>{t.isFocused||this._handleFocus()}),{priority:"highest"})}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(e){this.fire(e.type,e)}destroy(){this._clearTimeout(),super.destroy()}_handleFocus(){this._clearTimeout(),this._isFocusChanging=!0,this._renderTimeoutId=setTimeout((()=>{this._renderTimeoutId=null,this.flush(),this.view.change((()=>{}))}),50)}_handleBlur(e){const t=this.document.selection.editableElement;null!==t&&t!==e.target||(this.document.isFocused=!1,this._isFocusChanging=!1,this.view.change((()=>{})))}_clearTimeout(){this._renderTimeoutId&&(clearTimeout(this._renderTimeoutId),this._renderTimeoutId=null)}}class ql extends Xa{constructor(e){super(e),this.mutationObserver=e.getObserver(Ll),this.focusObserver=e.getObserver(jl),this.selection=this.document.selection,this.domConverter=e.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=bl((e=>{this.document.fire("selectionChangeDone",e)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=bl((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(e){const t=e.ownerDocument,o=()=>{this.document.isSelecting&&(this._handleSelectionChange(t),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(e,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(e,"keydown",o,{priority:"highest",useCapture:!0}),this.listenTo(e,"keyup",o,{priority:"highest",useCapture:!0}),this._documents.has(t)||(this.listenTo(t,"mouseup",o,{priority:"highest",useCapture:!0}),this.listenTo(t,"selectionchange",(()=>{this.document.isComposing&&!c.isAndroid||(this._handleSelectionChange(t),this._documentIsSelectingInactivityTimeoutDebounced())})),this.listenTo(this.view.document,"compositionstart",(()=>{this._handleSelectionChange(t)}),{priority:"lowest"}),this._documents.add(t))}stopObserving(e){this.stopListening(e)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(e){if(!this.isEnabled)return;const t=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(t.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(t);if(0!=o.rangeCount){if(this.view.hasDomSelection=!0,this.focusObserver.flush(),!this.selection.isEqual(o)||!this.domConverter.isDomSelectionCorrect(t))if(++this._loopbackCounter>60)this._reportInfiniteLoop();else if(this.selection.isSimilar(o))this.view.forceRender();else{const e={oldSelection:this.selection,newSelection:o,domSelection:t};this.document.fire("selectionChange",e),this._fireSelectionChangeDoneDebounced(e)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class $l extends nl{constructor(e){super(e),this.domEventType=["compositionstart","compositionupdate","compositionend"];const t=this.document;t.on("compositionstart",(()=>{t.isComposing=!0}),{priority:"low"}),t.on("compositionend",(()=>{t.isComposing=!1}),{priority:"low"})}onDomEvent(e){this.fire(e.type,e,{data:e.data})}}class Ul{constructor(e,t={}){this._files=t.cacheFiles?Wl(e):null,this._native=e}get files(){return this._files||(this._files=Wl(this._native)),this._files}get types(){return this._native.types}getData(e){return this._native.getData(e)}setData(e,t){this._native.setData(e,t)}set effectAllowed(e){this._native.effectAllowed=e}get effectAllowed(){return this._native.effectAllowed}set dropEffect(e){this._native.dropEffect=e}get dropEffect(){return this._native.dropEffect}setDragImage(e,t,o){this._native.setDragImage(e,t,o)}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}function Wl(e){const t=Array.from(e.files||[]),o=Array.from(e.items||[]);return t.length?t:o.filter((e=>"file"===e.kind)).map((e=>e.getAsFile()))}class Gl extends nl{constructor(){super(...arguments),this.domEventType="beforeinput"}onDomEvent(e){const t=e.getTargetRanges(),o=this.view,n=o.document;let i=null,r=null,s=[];if(e.dataTransfer&&(i=new Ul(e.dataTransfer)),null!==e.data?r=e.data:i&&(r=i.getData("text/plain")),n.selection.isFake)s=Array.from(n.selection.getRanges());else if(t.length)s=t.map((e=>{const t=o.domConverter.domPositionToView(e.startContainer,e.startOffset),n=o.domConverter.domPositionToView(e.endContainer,e.endOffset);return t?o.createRange(t,n):n?o.createRange(n):void 0})).filter((e=>!!e));else if(c.isAndroid){const t=e.target.ownerDocument.defaultView.getSelection();s=Array.from(o.domConverter.domSelectionToView(t).getRanges())}if(c.isAndroid&&"insertCompositionText"==e.inputType&&r&&r.endsWith("\n"))this.fire(e.type,e,{inputType:"insertParagraph",targetRanges:[o.createRange(s[0].end)]});else if("insertText"==e.inputType&&r&&r.includes("\n")){const t=r.split(/\n{1,2}/g);let o=s;for(let r=0;r{if(this.isEnabled&&((o=t.keyCode)==Ai.arrowright||o==Ai.arrowleft||o==Ai.arrowup||o==Ai.arrowdown)){const o=new Zs(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(o,t),o.stop.called&&e.stop()}var o}))}observe(){}stopObserving(){}}class Zl extends Xa{constructor(e){super(e);const t=this.document;t.on("keydown",((e,o)=>{if(!this.isEnabled||o.keyCode!=Ai.tab||o.ctrlKey)return;const n=new Zs(t,"tab",t.selection.getFirstRange());t.fire(n,o),n.stop.called&&e.stop()}))}observe(){}stopObserving(){}}const Jl=function(e){return Bn(e,5)};class Yl extends(X()){constructor(e){super(),this.domRoots=new Map,this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this.document=new oa(e),this.domConverter=new Ua(this.document),this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new Ma(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing"),this._writer=new ga(this.document),this.addObserver(Ll),this.addObserver(jl),this.addObserver(ql),this.addObserver(il),this.addObserver(kl),this.addObserver($l),this.addObserver(Kl),this.addObserver(Gl),this.addObserver(Zl),this.document.on("arrowKey",Pa,{priority:"low"}),da(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0})),c.isiOS&&this.listenTo(this.document,"blur",((e,t)=>{this.domConverter.mapDomToView(t.domEvent.relatedTarget)||this.domConverter._clearDomSelection()})),this.listenTo(this.document,"mutations",((e,{mutations:t})=>{t.forEach((e=>this._renderer.markToSync(e.type,e.node)))}),{priority:"low"}),this.listenTo(this.document,"mutations",(()=>{this.forceRender()}),{priority:"lowest"})}attachDomRoot(e,t="main"){const o=this.document.getRoot(t);o._name=e.tagName.toLowerCase();const n={};for(const{name:t,value:i}of Array.from(e.attributes))n[t]=i,"class"===t?this._writer.addClass(i.split(" "),o):o.hasAttribute(t)||this._writer.setAttribute(t,i,o);this._initialDomRootAttributes.set(e,n);const i=()=>{this._writer.setAttribute("contenteditable",(!o.isReadOnly).toString(),o),o.isReadOnly?this._writer.addClass("ck-read-only",o):this._writer.removeClass("ck-read-only",o)};i(),this.domRoots.set(t,e),this.domConverter.bindElements(e,o),this._renderer.markToSync("children",o),this._renderer.markToSync("attributes",o),this._renderer.domDocuments.add(e.ownerDocument),o.on("change:children",((e,t)=>this._renderer.markToSync("children",t))),o.on("change:attributes",((e,t)=>this._renderer.markToSync("attributes",t))),o.on("change:text",((e,t)=>this._renderer.markToSync("text",t))),o.on("change:isReadOnly",(()=>this.change(i))),o.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const o of this._observers.values())o.observe(e,t)}detachDomRoot(e){const t=this.domRoots.get(e);Array.from(t.attributes).forEach((({name:e})=>t.removeAttribute(e)));const o=this._initialDomRootAttributes.get(t);for(const e in o)t.setAttribute(e,o[e]);this.domRoots.delete(e),this.domConverter.unbindDomElement(t);for(const e of this._observers.values())e.stopObserving(t)}getDomRoot(e="main"){return this.domRoots.get(e)}addObserver(e){let t=this._observers.get(e);if(t)return t;t=new e(this),this._observers.set(e,t);for(const[e,o]of this.domRoots)t.observe(o,e);return t.enable(),t}getObserver(e){return this._observers.get(e)}disableObservers(){for(const e of this._observers.values())e.disable()}enableObservers(){for(const e of this._observers.values())e.enable()}scrollToTheSelection({alignToTop:e,forceScroll:t,viewportOffset:o=20,ancestorOffset:n=20}={}){const i=this.document.selection.getFirstRange();if(!i)return;const r=Jl({alignToTop:e,forceScroll:t,viewportOffset:o,ancestorOffset:n});"number"==typeof o&&(o={top:o,bottom:o,left:o,right:o});const s={target:this.domConverter.viewRangeToDom(i),viewportOffset:o,ancestorOffset:n,alignToTop:e,forceScroll:t};this.fire("scrollToTheSelection",s,r),function({target:e,viewportOffset:t=0,ancestorOffset:o=0,alignToTop:n,forceScroll:i}){const r=fi(e);let s=r,a=null;for(t=function(e){return"number"==typeof e?{top:e,bottom:e,left:e,right:e}:e}(t);s;){let l;l=bi(s==r?e:a),ui({parent:l,getRect:()=>ki(e,s),alignToTop:n,ancestorOffset:o,forceScroll:i});let c=ki(e,s);const d=ki(l,s);if(c.height>d.height){const e=c.getIntersection(d);e&&(c=e)}if(di({window:s,rect:c,viewportOffset:t,alignToTop:n,forceScroll:i}),s.parent!=s){if(a=s.frameElement,s=s.parent,!a)return}else s=null}}(s)}focus(){if(!this.document.isFocused){const e=this.document.selection.editableElement;e&&(this.domConverter.focus(e),this.forceRender())}}change(e){if(this.isRenderingInProgress||this._postFixersInProgress)throw new S("cannot-change-view-tree",this);try{if(this._ongoingChange)return e(this._writer);this._ongoingChange=!0;const t=e(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),t}catch(e){S.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(jl).flush(),this.change((()=>{}))}destroy(){for(const e of this._observers.values())e.destroy();this.document.destroy(),this.stopListening()}createPositionAt(e,t){return $s._createAt(e,t)}createPositionAfter(e){return $s._createAfter(e)}createPositionBefore(e){return $s._createBefore(e)}createRange(e,t){return new Us(e,t)}createRangeOn(e){return Us._createOn(e)}createRangeIn(e){return Us._createIn(e)}createSelection(...e){return new Gs(...e)}_disableRendering(e){this._renderingDisabled=e,0==e&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class Ql{is(){throw new Error("is() method is abstract")}}class Xl extends Ql{constructor(e,t,o){if(super(),this.textNode=e,t<0||t>e.offsetSize)throw new S("model-textproxy-wrong-offsetintext",this);if(o<0||t+o>e.offsetSize)throw new S("model-textproxy-wrong-length",this);this.data=e.data.substring(t,t+o),this.offsetInText=t}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const e=this.textNode.getPath();return e.length>0&&(e[e.length-1]+=this.offsetInText),e}getAncestors(e={}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}hasAttribute(e){return this.textNode.hasAttribute(e)}getAttribute(e){return this.textNode.getAttribute(e)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}Xl.prototype.is=function(e){return"$textProxy"===e||"model:$textProxy"===e||"textProxy"===e||"model:textProxy"===e};class ec{constructor(e){if(!e||!e.boundaries&&!e.startPosition)throw new S("model-tree-walker-no-start-position",null);const t=e.direction||"forward";if("forward"!=t&&"backward"!=t)throw new S("model-tree-walker-unknown-direction",e,{direction:t});this.direction=t,this.boundaries=e.boundaries||null,e.startPosition?this._position=e.startPosition.clone():this._position=oc._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(e){let t,o,n,i;do{n=this.position,i=this._visitedParent,({done:t,value:o}=this.next())}while(!t&&e(o));t||(this._position=n,this._visitedParent=i)}jumpTo(e){this._boundaryStartParent&&e.isBefore(this.boundaries.start)?e=this.boundaries.start:this._boundaryEndParent&&e.isAfter(this.boundaries.end)&&(e=this.boundaries.end),this._position=e.clone(),this._visitedParent=e.parent}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const e=this.position,t=this.position.clone(),o=this._visitedParent;if(null===o.parent&&t.offset===o.maxOffset)return{done:!0,value:void 0};if(o===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const n=nc(t,o),i=n||ic(t,o,n);if(i&&i.is("model:element")){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}else t.path.push(0),this._visitedParent=i;return this._position=t,tc("elementStart",i,e,t,1)}if(i&&i.is("model:$text")){let n;if(this.singleCharacters)n=1;else{let e=i.endOffset;this._boundaryEndParent==o&&this.boundaries.end.offsete&&(e=this.boundaries.start.offset),n=t.offset-e}const i=t.offset-r.startOffset,s=new Xl(r,i-n,n);return t.offset-=n,this._position=t,tc("text",s,e,t,n)}return t.path.pop(),this._position=t,this._visitedParent=o.parent,tc("elementStart",o,e,t,1)}}function tc(e,t,o,n,i){return{done:!1,value:{type:e,item:t,previousPosition:o,nextPosition:n,length:i}}}class oc extends Ql{constructor(e,t,o="toNone"){if(super(),!e.is("element")&&!e.is("documentFragment"))throw new S("model-position-root-invalid",e);if(!Array.isArray(t)||0===t.length)throw new S("model-position-path-incorrect-format",e,{path:t});e.is("rootElement")?t=t.slice():(t=[...e.getPath(),...t],e=e.root),this.root=e,this.path=t,this.stickiness=o}get offset(){return this.path[this.path.length-1]}set offset(e){this.path[this.path.length-1]=e}get parent(){let e=this.root;for(let t=0;t1)return!1;if(1===t)return sc(e,this,o);if(-1===t)return sc(this,e,o)}return this.path.length===e.path.length||(this.path.length>e.path.length?ac(this.path,t):ac(e.path,t))}hasSameParentAs(e){if(this.root!==e.root)return!1;return"same"==se(this.getParentPath(),e.getParentPath())}getTransformedByOperation(e){let t;switch(e.type){case"insert":t=this._getTransformedByInsertOperation(e);break;case"move":case"remove":case"reinsert":t=this._getTransformedByMoveOperation(e);break;case"split":t=this._getTransformedBySplitOperation(e);break;case"merge":t=this._getTransformedByMergeOperation(e);break;default:t=oc._createAt(this)}return t}_getTransformedByInsertOperation(e){return this._getTransformedByInsertion(e.position,e.howMany)}_getTransformedByMoveOperation(e){return this._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}_getTransformedBySplitOperation(e){const t=e.movedRange;return t.containsPosition(this)||t.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(e.splitPosition,e.moveTargetPosition):e.graveyardPosition?this._getTransformedByMove(e.graveyardPosition,e.insertionPosition,1):this._getTransformedByInsertion(e.insertionPosition,1)}_getTransformedByMergeOperation(e){const t=e.movedRange;let o;return t.containsPosition(this)||t.start.isEqual(this)?(o=this._getCombined(e.sourcePosition,e.targetPosition),e.sourcePosition.isBefore(e.targetPosition)&&(o=o._getTransformedByDeletion(e.deletionPosition,1))):o=this.isEqual(e.deletionPosition)?oc._createAt(e.deletionPosition):this._getTransformedByMove(e.deletionPosition,e.graveyardPosition,1),o}_getTransformedByDeletion(e,t){const o=oc._createAt(this);if(this.root!=e.root)return o;if("same"==se(e.getParentPath(),this.getParentPath())){if(e.offsetthis.offset)return null;o.offset-=t}}else if("prefix"==se(e.getParentPath(),this.getParentPath())){const n=e.path.length-1;if(e.offset<=this.path[n]){if(e.offset+t>this.path[n])return null;o.path[n]-=t}}return o}_getTransformedByInsertion(e,t){const o=oc._createAt(this);if(this.root!=e.root)return o;if("same"==se(e.getParentPath(),this.getParentPath()))(e.offset=t;){if(e.path[n]+i!==o.maxOffset)return!1;i=1,n--,o=o.parent}return!0}(e,o+1))}function ac(e,t){for(;tt+1;){const t=n.maxOffset-o.offset;0!==t&&e.push(new lc(o,o.getShiftedBy(t))),o.path=o.path.slice(0,-1),o.offset++,n=n.parent}for(;o.path.length<=this.end.path.length;){const t=this.end.path[o.path.length-1],n=t-o.offset;0!==n&&e.push(new lc(o,o.getShiftedBy(n))),o.offset=t,o.path.push(0)}return e}getWalker(e={}){return e.boundaries=this,new ec(e)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new ec(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new ec(e);yield t.position;for(const e of t)yield e.nextPosition}getTransformedByOperation(e){switch(e.type){case"insert":return this._getTransformedByInsertOperation(e);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(e);case"split":return[this._getTransformedBySplitOperation(e)];case"merge":return[this._getTransformedByMergeOperation(e)]}return[new lc(this.start,this.end)]}getTransformedByOperations(e){const t=[new lc(this.start,this.end)];for(const o of e)for(let e=0;e0?new this(o,n):new this(n,o)}static _createIn(e){return new this(oc._createAt(e,0),oc._createAt(e,e.maxOffset))}static _createOn(e){return this._createFromPositionAndShift(oc._createBefore(e),e.offsetSize)}static _createFromRanges(e){if(0===e.length)throw new S("range-create-from-ranges-empty-array",null);if(1==e.length)return e[0].clone();const t=e[0];e.sort(((e,t)=>e.start.isAfter(t.start)?1:-1));const o=e.indexOf(t),n=new this(t.start,t.end);for(let t=o-1;t>=0&&e[t].end.isEqual(n.start);t--)n.start=oc._createAt(e[t].start);for(let t=o+1;t{if(t.viewPosition)return;const o=this._modelToViewMapping.get(t.modelPosition.parent);if(!o)throw new S("mapping-model-position-view-parent-not-found",this,{modelPosition:t.modelPosition});t.viewPosition=this.findPositionIn(o,t.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((e,t)=>{if(t.modelPosition)return;const o=this.findMappedViewAncestor(t.viewPosition),n=this._viewToModelMapping.get(o),i=this._toModelOffset(t.viewPosition.parent,t.viewPosition.offset,o);t.modelPosition=oc._createAt(n,i)}),{priority:"low"})}bindElements(e,t){this._modelToViewMapping.set(e,t),this._viewToModelMapping.set(t,e)}unbindViewElement(e,t={}){const o=this.toModelElement(e);if(this._elementToMarkerNames.has(e))for(const t of this._elementToMarkerNames.get(e))this._unboundMarkerNames.add(t);if(t.defer)this._deferredBindingRemovals.set(e,e.root);else{this._viewToModelMapping.delete(e)&&this._cache.stopTracking(e),this._modelToViewMapping.get(o)==e&&this._modelToViewMapping.delete(o)}}unbindModelElement(e){const t=this.toViewElement(e);if(this._modelToViewMapping.delete(e),this._viewToModelMapping.get(t)==e){this._viewToModelMapping.delete(t)&&this._cache.stopTracking(t)}}bindElementToMarker(e,t){const o=this._markerNameToElements.get(t)||new Set;o.add(e);const n=this._elementToMarkerNames.get(e)||new Set;n.add(t),this._markerNameToElements.set(t,o),this._elementToMarkerNames.set(e,n)}unbindElementFromMarkerName(e,t){const o=this._markerNameToElements.get(t);o&&(o.delete(e),0==o.size&&this._markerNameToElements.delete(t));const n=this._elementToMarkerNames.get(e);n&&(n.delete(t),0==n.size&&this._elementToMarkerNames.delete(e))}flushUnboundMarkerNames(){const e=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),e}flushDeferredBindings(){for(const[e,t]of this._deferredBindingRemovals)e.root==t&&this.unbindViewElement(e);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(e){return this._viewToModelMapping.get(e)}toViewElement(e){return this._modelToViewMapping.get(e)}toModelRange(e){return new lc(this.toModelPosition(e.start),this.toModelPosition(e.end))}toViewRange(e){return new Us(this.toViewPosition(e.start),this.toViewPosition(e.end))}toModelPosition(e){const t={viewPosition:e,mapper:this};return this.fire("viewToModelPosition",t),t.modelPosition}toViewPosition(e,t={}){const o={modelPosition:e,mapper:this,isPhantom:t.isPhantom};return this.fire("modelToViewPosition",o),o.viewPosition}markerNameToElements(e){const t=this._markerNameToElements.get(e);if(!t)return null;const o=new Set;for(const e of t)if(e.is("attributeElement"))for(const t of e.getElementsWithSameId())o.add(t);else o.add(e);return o}registerViewToModelLength(e,t){this._viewToModelLengthCallbacks.set(e,t)}findMappedViewAncestor(e){let t=e.parent;for(;!this._viewToModelMapping.has(t);)t=t.parent;return t}_toModelOffset(e,t,o){if(o!=e){return this._toModelOffset(e.parent,e.index,o)+this._toModelOffset(e,t,e)}if(e.is("$text"))return t;let n=0;for(let o=0;o0;){const e=t.pop(),n=e.name&&this._viewToModelLengthCallbacks.size>0&&this._viewToModelLengthCallbacks.get(e.name);if(n)o+=n(e);else if(this._viewToModelMapping.has(e))o+=1;else if(e.is("$text"))o+=e.data.length;else{if(e.is("uiElement"))continue;for(const o of e.getChildren())t.push(o)}}return o}findPositionIn(e,t){if(0===t)return this._moveViewPositionToTextNode(new $s(e,0));if(0==this._viewToModelLengthCallbacks.size&&this._viewToModelMapping.has(e)){const o=this._cache.getClosest(e,t);return this._findPositionStartingFrom(o.viewPosition,o.modelOffset,t,e,!0)}return this._findPositionStartingFrom(new $s(e,0),0,t,e,!1)}_findPositionStartingFrom(e,t,o,n,i){let r,s=e.parent,a=e.offset;if(s.is("$text"))return new $s(s,o-t);let l=t,c=0;for(;l{this._clearCacheInsideParent(t,o.index)},this._invalidateOnTextChangeCallback=(e,t)=>{this._clearCacheStartingBefore(t)}}save(e,t,o,n){const i=this._cachedMapping.get(o),r=i.cacheMap.get(n);if(r){const o=e.getChild(t-1),n=r.viewPosition.nodeBefore?this._nodeToCacheListIndex.get(r.viewPosition.nodeBefore):0;return void this._nodeToCacheListIndex.set(o,n)}const s={viewPosition:new $s(e,t),modelOffset:n};i.maxModelOffset=n>i.maxModelOffset?n:i.maxModelOffset,i.cacheMap.set(n,s);let a=i.cacheList.length-1;for(;a>=0&&i.cacheList[a].modelOffset>n;)a--;if(i.cacheList.splice(a+1,0,s),t>0){const o=e.getChild(t-1);this._nodeToCacheListIndex.set(o,a+1)}}getClosest(e,t){const o=this._cachedMapping.get(e);let n;if(o)if(t>o.maxModelOffset)n=o.cacheList[o.cacheList.length-1];else{const e=o.cacheMap.get(t);n=e||this._findInCacheList(o.cacheList,t)}else n=this.startTracking(e);const i=this._hoistViewPosition(n.viewPosition);return{modelOffset:n.modelOffset,viewPosition:i}}_hoistViewPosition(e){for(;e.parent.parent&&!this._cachedMapping.has(e.parent)&&e.isAtEnd;){const t=e.parent.parent,o=t.getChildIndex(e.parent)+1;e=new $s(t,o)}return e}startTracking(e){const t={viewPosition:new $s(e,0),modelOffset:0},o={maxModelOffset:0,cacheList:[t],cacheMap:new Map([[0,t]])};return this._cachedMapping.set(e,o),e.on("change:children",this._invalidateOnChildrenChangeCallback),e.on("change:text",this._invalidateOnTextChangeCallback),t}stopTracking(e){e.off("change:children",this._invalidateOnChildrenChangeCallback),e.off("change:text",this._invalidateOnTextChangeCallback),this._cachedMapping.delete(e)}_clearCacheInsideParent(e,t){if(0==t)this._cachedMapping.has(e)?this._clearCacheAll(e):this._clearCacheStartingBefore(e);else{const o=e.getChild(t-1);this._clearCacheStartingBefore(o)}}_clearCacheAll(e){const t=this._cachedMapping.get(e);t.maxModelOffset>0&&(t.maxModelOffset=0,t.cacheList.length=1,t.cacheMap.clear(),t.cacheMap.set(0,t.cacheList[0]))}_clearCacheStartingBefore(e){const t=this._nodeToCacheListIndex.get(e);if(void 0===t){const t=e.parent;return void(this._cachedMapping.has(t)||this._clearCacheStartingBefore(t))}let o=e.parent;for(;!this._cachedMapping.has(o);)o=o.parent;this._clearCacheFromIndex(o,t)}_clearCacheFromIndex(e,t){0===t&&(t=1);const o=this._cachedMapping.get(e),n=o.cacheList[t-1];if(!n)return;o.maxModelOffset=n.modelOffset;const i=o.cacheList.splice(t);for(const e of i){o.cacheMap.delete(e.modelOffset);const t=e.viewPosition.nodeBefore;this._nodeToCacheListIndex.delete(t)}}_findInCacheList(e,t){let o=0,n=e.length-1,i=n-o>>1,r=e[i];for(;o>1),r=e[i];return r.modelOffset<=t?r:e[i-1]}}class uc{constructor(){this._consumable=new Map,this._textProxyRegistry=new Map}add(e,t){t=hc(t),e instanceof Xl&&(e=this._getSymbolForTextProxy(e)),this._consumable.has(e)||this._consumable.set(e,new Map),this._consumable.get(e).set(t,!0)}consume(e,t){return t=hc(t),e instanceof Xl&&(e=this._getSymbolForTextProxy(e)),!!this.test(e,t)&&(this._consumable.get(e).set(t,!1),!0)}test(e,t){t=hc(t),e instanceof Xl&&(e=this._getSymbolForTextProxy(e));const o=this._consumable.get(e);if(void 0===o)return null;const n=o.get(t);return void 0===n?null:n}revert(e,t){t=hc(t),e instanceof Xl&&(e=this._getSymbolForTextProxy(e));const o=this.test(e,t);return!1===o?(this._consumable.get(e).set(t,!0),!0):!0!==o&&null}verifyAllConsumed(e){const t=[];for(const[o,n]of this._consumable)for(const[i,r]of n){const n=i.split(":")[0];r&&e==n&&t.push({event:i,item:o.name||o.description})}if(t.length)throw new S("conversion-model-consumable-not-consumed",null,{items:t})}_getSymbolForTextProxy(e){let t=null;const o=this._textProxyRegistry.get(e.startOffset);if(o){const n=o.get(e.endOffset);n&&(t=n.get(e.parent))}return t||(t=this._addSymbolForTextProxy(e)),t}_addSymbolForTextProxy(e){const t=e.startOffset,o=e.endOffset,n=e.parent,i=Symbol("$textProxy:"+e.data);let r,s;return r=this._textProxyRegistry.get(t),r||(r=new Map,this._textProxyRegistry.set(t,r)),s=r.get(o),s||(s=new Map,r.set(o,s)),s.set(n,i),i}}function hc(e){const t=e.split(":");return"insert"==t[0]?t[0]:"addMarker"==t[0]||"removeMarker"==t[0]?e:t.length>1?t[0]+":"+t[1]:t[0]}class pc extends(V()){constructor(e){super(),this._conversionApi={dispatcher:this,...e},this._firedEventsMap=new WeakMap}convertChanges(e,t,o){const n=this._createConversionApi(o,e.getRefreshedItems());for(const t of e.getMarkersToRemove())this._convertMarkerRemove(t.name,t.range,n);const i=this._reduceChanges(e.getChanges());for(const e of i)"insert"===e.type?this._convertInsert(lc._createFromPositionAndShift(e.position,e.length),n):"reinsert"===e.type?this._convertReinsert(lc._createFromPositionAndShift(e.position,e.length),n):"remove"===e.type?this._convertRemove(e.position,e.length,e.name,n):this._convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,n);n.mapper.flushDeferredBindings();for(const e of n.mapper.flushUnboundMarkerNames()){const o=t.get(e).getRange();this._convertMarkerRemove(e,o,n),this._convertMarkerAdd(e,o,n)}for(const t of e.getMarkersToAdd())this._convertMarkerAdd(t.name,t.range,n);n.consumable.verifyAllConsumed("insert")}convert(e,t,o,n={}){const i=this._createConversionApi(o,void 0,n);this._convertInsert(e,i);for(const[e,o]of t)this._convertMarkerAdd(e,o,i);i.consumable.verifyAllConsumed("insert")}convertSelection(e,t,o){const n=this._createConversionApi(o);this.fire("cleanSelection",{selection:e},n);const i=e.getFirstPosition().root;if(!n.mapper.toViewElement(i))return;const r=Array.from(t.getMarkersAtPosition(e.getFirstPosition()));if(this._addConsumablesForSelection(n.consumable,e,r),this.fire("selection",{selection:e},n),e.isCollapsed){for(const t of r)if(n.consumable.test(e,"addMarker:"+t.name)){const o=t.getRange();if(!mc(e.getFirstPosition(),t,n.mapper))continue;const i={item:e,markerName:t.name,markerRange:o};this.fire(`addMarker:${t.name}`,i,n)}for(const t of e.getAttributeKeys())if(n.consumable.test(e,"attribute:"+t)){const o={item:e,range:e.getFirstRange(),attributeKey:t,attributeOldValue:null,attributeNewValue:e.getAttribute(t)};this.fire(`attribute:${t}:$text`,o,n)}}}_convertInsert(e,t,o={}){o.doNotAddConsumables||this._addConsumablesForInsert(t.consumable,e);for(const o of e.getWalker({shallow:!0}))this._testAndFire("insert",gc(o),t)}_convertRemove(e,t,o,n){this.fire(`remove:${o}`,{position:e,length:t},n)}_convertAttribute(e,t,o,n,i){this._addConsumablesForRange(i.consumable,e,`attribute:${t}`);for(const r of e){const e={item:r.item,range:lc._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:t,attributeOldValue:o,attributeNewValue:n};this._testAndFire(`attribute:${t}`,e,i)}}_convertReinsert(e,t){const o=Array.from(e.getWalker({shallow:!0}));this._addConsumablesForInsert(t.consumable,o);for(const e of o.map(gc))this._testAndFire("insert",{...e,reconversion:!0},t)}_convertMarkerAdd(e,t,o){if("$graveyard"==t.root.rootName)return;const n=`addMarker:${e}`;if(o.consumable.add(t,n),this.fire(n,{markerName:e,markerRange:t},o),o.consumable.consume(t,n)){this._addConsumablesForRange(o.consumable,t,n);for(const i of t.getItems()){if(!o.consumable.test(i,n))continue;const r={item:i,range:lc._createOn(i),markerName:e,markerRange:t};this.fire(n,r,o)}}}_convertMarkerRemove(e,t,o){"$graveyard"!=t.root.rootName&&this.fire(`removeMarker:${e}`,{markerName:e,markerRange:t},o)}_reduceChanges(e){const t={changes:e};return this.fire("reduceChanges",t),t.changes}_addConsumablesForInsert(e,t){for(const o of t){const t=o.item;if(null===e.test(t,"insert")){e.add(t,"insert");for(const o of t.getAttributeKeys())e.add(t,"attribute:"+o)}}return e}_addConsumablesForRange(e,t,o){for(const n of t.getItems())e.add(n,o);return e}_addConsumablesForSelection(e,t,o){e.add(t,"selection");for(const n of o)e.add(t,"addMarker:"+n.name);for(const o of t.getAttributeKeys())e.add(t,"attribute:"+o);return e}_testAndFire(e,t,o){const n=function(e,t){const o=t.item.is("element")?t.item.name:"$text";return`${e}:${o}`}(e,t),i=t.item.is("$textProxy")?o.consumable._getSymbolForTextProxy(t.item):t.item,r=this._firedEventsMap.get(o),s=r.get(i);if(s){if(s.has(n))return;s.add(n)}else r.set(i,new Set([n]));this.fire(n,t,o)}_testAndFireAddAttributes(e,t){const o={item:e,range:lc._createOn(e)};for(const e of o.item.getAttributeKeys())o.attributeKey=e,o.attributeOldValue=null,o.attributeNewValue=o.item.getAttribute(e),this._testAndFire(`attribute:${e}`,o,t)}_createConversionApi(e,t=new Set,o={}){const n={...this._conversionApi,consumable:new uc,writer:e,options:o,convertItem:e=>this._convertInsert(lc._createOn(e),n),convertChildren:e=>this._convertInsert(lc._createIn(e),n,{doNotAddConsumables:!0}),convertAttributes:e=>this._testAndFireAddAttributes(e,n),canReuseView:e=>!t.has(n.mapper.toModelElement(e))};return this._firedEventsMap.set(n,new Map),n}}function mc(e,t,o){const n=t.getRange(),i=Array.from(e.getAncestors());i.shift(),i.reverse();return!i.some((e=>{if(n.containsItem(e)){return!!o.toViewElement(e).getCustomProperty("addHighlight")}}))}function gc(e){return{item:e.item,range:lc._createFromPositionAndShift(e.previousPosition,e.length)}}class fc extends Ql{constructor(e){super(),this.parent=null,this._index=null,this._startOffset=null,this._attrs=lr(e)}get document(){return null}get index(){return this._index}get startOffset(){return this._startOffset}get offsetSize(){return 1}get endOffset(){return null===this.startOffset?null:this.startOffset+this.offsetSize}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return null!==this.parent&&this.root.isAttached()}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.startOffset),t=t.parent;return e}getAncestors(e={}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}getCommonAncestor(e,t={}){const o=this.getAncestors(t),n=e.getAncestors(t);let i=0;for(;o[i]==n[i]&&o[i];)i++;return 0===i?null:o[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),o=e.getPath(),n=se(t,o);switch(n){case"prefix":return!0;case"extension":return!1;default:return t[n](e[t[0]]=t[1],e)),{})),e}_clone(e){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(e,t){this._attrs.set(e,t)}_setAttributesTo(e){this._attrs=lr(e)}_removeAttribute(e){return this._attrs.delete(e)}_clearAttributes(){this._attrs.clear()}}fc.prototype.is=function(e){return"node"===e||"model:node"===e};class bc extends(V(Ql)){constructor(...e){super(),this._lastRangeBackward=!1,this._attrs=new Map,this._ranges=[],e.length&&this.setTo(...e)}get anchor(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.end:e.start}return null}get focus(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.start:e.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(e){if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let o=!1;for(const n of e._ranges)if(t.isEqual(n)){o=!0;break}if(!o)return!1}return!0}*getRanges(){for(const e of this._ranges)yield new lc(e.start,e.end)}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?new lc(e.start,e.end):null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?new lc(e.start,e.end):null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}setTo(...e){let[t,o,n]=e;if("object"==typeof o&&(n=o,o=void 0),null===t)this._setRanges([]);else if(t instanceof bc)this._setRanges(t.getRanges(),t.isBackward);else if(t&&"function"==typeof t.getRanges)this._setRanges(t.getRanges(),t.isBackward);else if(t instanceof lc)this._setRanges([t],!!n&&!!n.backward);else if(t instanceof oc)this._setRanges([new lc(t)]);else if(t instanceof fc){const e=!!n&&!!n.backward;let i;if("in"==o)i=lc._createIn(t);else if("on"==o)i=lc._createOn(t);else{if(void 0===o)throw new S("model-selection-setto-required-second-parameter",[this,t]);i=new lc(oc._createAt(t,o))}this._setRanges([i],e)}else{if(!ae(t))throw new S("model-selection-setto-not-selectable",[this,t]);this._setRanges(t,n&&!!n.backward)}}_setRanges(e,t=!1){const o=Array.from(e),n=o.some((t=>{if(!(t instanceof lc))throw new S("model-selection-set-ranges-not-range",[this,e]);return this._ranges.every((e=>!e.isEqual(t)))}));(o.length!==this._ranges.length||n)&&(this._replaceAllRanges(o),this._lastRangeBackward=!!t,this.fire("change:range",{directChange:!0}))}setFocus(e,t){if(null===this.anchor)throw new S("model-selection-setfocus-no-ranges",[this,e]);const o=oc._createAt(e,t);if("same"==o.compareWith(this.focus))return;const n=this.anchor;this._ranges.length&&this._popRange(),"before"==o.compareWith(n)?(this._pushRange(new lc(o,n)),this._lastRangeBackward=!0):(this._pushRange(new lc(n,o)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(e){return this._attrs.has(e)}removeAttribute(e){this.hasAttribute(e)&&(this._attrs.delete(e),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}setAttribute(e,t){this.getAttribute(e)!==t&&(this._attrs.set(e,t),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const e=new WeakSet;for(const t of this.getRanges()){const o=_c(t.start,e);Ac(o,t)&&(yield o);const n=t.getWalker();for(const o of n){const i=o.item;"elementEnd"==o.type&&wc(i,e,t)?yield i:"elementStart"==o.type&&i.is("model:element")&&i.root.document.model.schema.isBlock(i)&&n.jumpTo(oc._createAt(i,"end"))}const i=_c(t.end,e);Cc(i,t)&&(yield i)}}containsEntireContent(e=this.anchor.root){const t=oc._createAt(e,0),o=oc._createAt(e,"end");return t.isTouching(this.getFirstPosition())&&o.isTouching(this.getLastPosition())}_pushRange(e){this._checkRange(e),this._ranges.push(new lc(e.start,e.end))}_checkRange(e){for(let t=0;t0;)this._popRange()}_popRange(){this._ranges.pop()}}function kc(e,t){return!t.has(e)&&(t.add(e),e.root.document.model.schema.isBlock(e)&&!!e.parent)}function wc(e,t,o){return kc(e,t)&&yc(e,o)}function _c(e,t){const o=e.parent.root.document.model.schema,n=e.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=n.find((e=>!i&&(i=o.isLimit(e),!i&&kc(e,t))));return n.forEach((e=>t.add(e))),r}function yc(e,t){const o=function(e){const t=e.root.document.model.schema;let o=e.parent;for(;o;){if(t.isBlock(o))return o;o=o.parent}}(e);if(!o)return!0;return!t.containsRange(lc._createOn(o),!0)}function Ac(e,t){return!!e&&(!(!t.isCollapsed&&!e.isEmpty)||!t.start.isTouching(oc._createAt(e,e.maxOffset))&&yc(e,t))}function Cc(e,t){return!!e&&(!(!t.isCollapsed&&!e.isEmpty)||!t.end.isTouching(oc._createAt(e,0))&&yc(e,t))}bc.prototype.is=function(e){return"selection"===e||"model:selection"===e};class vc extends(V(lc)){constructor(e,t){super(e,t),xc.call(this)}detach(){this.stopListening()}toRange(){return new lc(this.start,this.end)}static fromRange(e){return new vc(e.start,e.end)}}function xc(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&Ec.call(this,o)}),{priority:"low"})}function Ec(e){const t=this.getTransformedByOperation(e),o=lc._createFromRanges(t),n=!o.isEqual(this),i=function(e,t){switch(t.type){case"insert":return e.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return e.containsPosition(t.sourcePosition)||e.start.isEqual(t.sourcePosition)||e.containsPosition(t.targetPosition);case"split":return e.containsPosition(t.splitPosition)||e.containsPosition(t.insertionPosition)}return!1}(this,e);let r=null;if(n){"$graveyard"==o.root.rootName&&(r="remove"==e.type?e.sourcePosition:e.deletionPosition);const t=this.toRange();this.start=o.start,this.end=o.end,this.fire("change:range",t,{deletionPosition:r})}else i&&this.fire("change:content",this.toRange(),{deletionPosition:r})}vc.prototype.is=function(e){return"liveRange"===e||"model:liveRange"===e||"range"==e||"model:range"===e};class Dc extends fc{constructor(e,t){super(t),this._data=e||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const e=super.toJSON();return e.data=this.data,e}_clone(){return new Dc(this.data,this.getAttributes())}static fromJSON(e){return new Dc(e.data,e.attributes)}}Dc.prototype.is=function(e){return"$text"===e||"model:$text"===e||"text"===e||"model:text"===e||"node"===e||"model:node"===e};const Bc="selection:";class Sc extends(V(Ql)){constructor(e){super(),this._selection=new Tc(e),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(e){return this._selection.containsEntireContent(e)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(e){return this._selection.getAttribute(e)}hasAttribute(e){return this._selection.hasAttribute(e)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(e){this._selection.observeMarkers(e)}_setFocus(e,t){this._selection.setFocus(e,t)}_setTo(...e){this._selection.setTo(...e)}_setAttribute(e,t){this._selection.setAttribute(e,t)}_removeAttribute(e){this._selection.removeAttribute(e)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(e){this._selection.restoreGravity(e)}static _getStoreAttributeKey(e){return Bc+e}static _isStoreAttributeKey(e){return e.startsWith(Bc)}}Sc.prototype.is=function(e){return"selection"===e||"model:selection"==e||"documentSelection"==e||"model:documentSelection"==e};class Tc extends bc{constructor(e){super(),this.markers=new tr({idProperty:"name"}),this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this._model=e.model,this._document=e,this.listenTo(this._model,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&"marker"!=o.type&&"rename"!=o.type&&"noop"!=o.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,"update",((e,t,o,n)=>{this._updateMarker(t,n)})),this.listenTo(this._document,"change",((e,t)=>{!function(e,t){const o=e.document.differ;for(const n of o.getChanges()){if("insert"!=n.type)continue;const o=n.position.parent;n.length===o.maxOffset&&e.enqueueChange(t,(e=>{const t=Array.from(o.getAttributeKeys()).filter((e=>e.startsWith(Bc)));for(const n of t)e.removeAttribute(n,o)}))}}(this._model,t)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let e=0;e{if(this._hasChangedRange=!0,t.root==this._document.graveyard){this._selectionRestorePosition=n.deletionPosition;const e=this._ranges.indexOf(t);this._ranges.splice(e,1),t.detach()}})),t}updateMarkers(){if(!this._observedMarkers.size)return;const e=[];let t=!1;for(const t of this._model.markers){const o=t.name.split(":",1)[0];if(!this._observedMarkers.has(o))continue;const n=t.getRange();for(const o of this.getRanges())n.containsRange(o,!o.isCollapsed)&&e.push(t)}const o=Array.from(this.markers);for(const o of e)this.markers.has(o)||(this.markers.add(o),t=!0);for(const o of Array.from(this.markers))e.includes(o)||(this.markers.remove(o),t=!0);t&&this.fire("change:marker",{oldMarkers:o,directChange:!1})}_updateMarker(e,t){const o=e.name.split(":",1)[0];if(!this._observedMarkers.has(o))return;let n=!1;const i=Array.from(this.markers),r=this.markers.has(e);if(t){let o=!1;for(const e of this.getRanges())if(t.containsRange(e,!e.isCollapsed)){o=!0;break}o&&!r?(this.markers.add(e),n=!0):!o&&r&&(this.markers.remove(e),n=!0)}else r&&(this.markers.remove(e),n=!0);n&&this.fire("change:marker",{oldMarkers:i,directChange:!1})}_updateAttributes(e){const t=lr(this._getSurroundingAttributes()),o=lr(this.getAttributes());if(e)this._attributePriority=new Map,this._attrs=new Map;else for(const[e,t]of this._attributePriority)"low"==t&&(this._attrs.delete(e),this._attributePriority.delete(e));this._setAttributesTo(t);const n=[];for(const[e,t]of this.getAttributes())o.has(e)&&o.get(e)===t||n.push(e);for(const[e]of o)this.hasAttribute(e)||n.push(e);n.length>0&&this.fire("change:attribute",{attributeKeys:n,directChange:!1})}_setAttribute(e,t,o=!0){const n=o?"normal":"low";if("low"==n&&"normal"==this._attributePriority.get(e))return!1;return super.getAttribute(e)!==t&&(this._attrs.set(e,t),this._attributePriority.set(e,n),!0)}_removeAttribute(e,t=!0){const o=t?"normal":"low";return("low"!=o||"normal"!=this._attributePriority.get(e))&&(this._attributePriority.set(e,o),!!super.hasAttribute(e)&&(this._attrs.delete(e),!0))}_setAttributesTo(e){const t=new Set;for(const[t,o]of this.getAttributes())e.get(t)!==o&&this._removeAttribute(t,!1);for(const[o,n]of e){this._setAttribute(o,n,!1)&&t.add(o)}return t}*getStoredAttributes(){const e=this.getFirstPosition().parent;if(this.isCollapsed&&e.isEmpty)for(const t of e.getAttributeKeys())if(t.startsWith(Bc)){const o=t.substr(10);yield[o,e.getAttribute(t)]}}_getSurroundingAttributes(){const e=this.getFirstPosition(),t=this._model.schema;if("$graveyard"==e.root.rootName)return null;let o=null;if(this.isCollapsed){const n=e.textNode?e.textNode:e.nodeBefore,i=e.textNode?e.textNode:e.nodeAfter;if(this.isGravityOverridden||(o=Ic(n,t)),o||(o=Ic(i,t)),!this.isGravityOverridden&&!o){let e=n;for(;e&&!o;)e=e.previousSibling,o=Ic(e,t)}if(!o){let e=i;for(;e&&!o;)e=e.nextSibling,o=Ic(e,t)}o||(o=this.getStoredAttributes())}else{const e=this.getFirstRange();for(const n of e){if(n.item.is("element")&&t.isObject(n.item)){o=Ic(n.item,t);break}if("text"==n.type){o=n.item.getAttributes();break}}}return o}_fixGraveyardSelection(e){const t=this._model.schema.getNearestSelectionRange(e);t&&this._pushRange(t)}}function Ic(e,t){if(!e)return null;if(e instanceof Xl||e instanceof Dc)return e.getAttributes();if(!t.isInline(e))return null;if(!t.isObject(e))return[];const o=[];for(const[n,i]of e.getAttributes())t.checkAttribute("$text",n)&&!1!==t.getAttributeProperties(n).copyFromObject&&o.push([n,i]);return o}class Pc{constructor(e){this._nodes=[],this._offsetToNode=[],e&&this._insertNodes(0,e)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._offsetToNode.length}getNode(e){return this._nodes[e]||null}getNodeAtOffset(e){return this._offsetToNode[e]||null}getNodeIndex(e){return e.index}getNodeStartOffset(e){return e.startOffset}indexToOffset(e){if(e==this._nodes.length)return this.maxOffset;const t=this._nodes[e];if(!t)throw new S("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(t)}offsetToIndex(e){if(e==this._offsetToNode.length)return this._nodes.length;const t=this._offsetToNode[e];if(!t)throw new S("model-nodelist-offset-out-of-bounds",this,{offset:e,nodeList:this});return this.getNodeIndex(t)}_insertNodes(e,t){const o=[];for(const e of t){if(!(e instanceof fc))throw new S("model-nodelist-insertnodes-not-node",this);o.push(e)}let n=this.indexToOffset(e);cr(this._nodes,o,e),cr(this._offsetToNode,function(e){const t=[];let o=0;for(const n of e)for(let e=0;enull!==e.index)),this._offsetToNode=this._offsetToNode.filter((e=>null!==e.index));let t=0;for(let e=0;ee.toJSON()))}}class Fc extends fc{constructor(e,t,o){super(t),this._children=new Pc,this.name=e,o&&this._insertChild(0,o)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(e){return this._children.getNode(e)}getChildAtOffset(e){return this._children.getNodeAtOffset(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}offsetToIndex(e){return this._children.offsetToIndex(e)}getNodeByPath(e){let t=this;for(const o of e)t=t.getChildAtOffset(o);return t}findAncestor(e,t={}){let o=t.includeSelf?this:this.parent;for(;o;){if(o.name===e)return o;o=o.parent}return null}toJSON(){const e=super.toJSON();if(e.name=this.name,this._children.length>0){e.children=[];for(const t of this._children)e.children.push(t.toJSON())}return e}_clone(e=!1){const t=e?function(e){const t=[];for(const o of e)t.push(o._clone(!0));return t}(this._children):void 0;return new Fc(this.name,this.getAttributes(),t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const o=function(e){if("string"==typeof e)return[new Dc(e)];ae(e)||(e=[e]);const t=[];for(const o of e)"string"==typeof o?t.push(new Dc(o)):o instanceof Xl?t.push(new Dc(o.data,o.getAttributes())):t.push(o);return t}(t);for(const e of o)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,o)}_removeChildren(e,t=1){const o=this._children._removeNodes(e,t);for(const e of o)e.parent=null;return o}_removeChildrenArray(e){this._children._removeNodesArray(e);for(const t of e)t.parent=null}static fromJSON(e){let t;if(e.children){t=[];for(const o of e.children)o.name?t.push(Fc.fromJSON(o)):t.push(Dc.fromJSON(o))}return new Fc(e.name,e.attributes,t)}}Fc.prototype.is=function(e,t){return t?t===this.name&&("element"===e||"model:element"===e):"element"===e||"model:element"===e||"node"===e||"model:node"===e};class Rc{constructor(e){this._dispatchers=e}add(e){for(const t of this._dispatchers)e(t);return this}}class Mc extends Rc{elementToElement(e){return this.add(function(e){const t=Hc(e.model),o=jc(e.view,"container");t.attributes.length&&(t.children=!0);return n=>{n.on(`insert:${t.name}`,Nc(o,Gc(t)),{priority:e.converterPriority||"normal"}),(t.children||t.attributes.length)&&n.on("reduceChanges",Wc(t),{priority:"low"})}}(e))}elementToStructure(e){return this.add(function(e){const t=Hc(e.model),o=jc(e.view,"container");return t.children=!0,n=>{if(n._conversionApi.schema.checkChild(t.name,"$text"))throw new S("conversion-element-to-structure-disallowed-text",n,{elementName:t.name});var i,r;n.on(`insert:${t.name}`,(i=o,r=Gc(t),(e,t,o)=>{if(!r(t.item,o.consumable,{preflight:!0}))return;const n=new Map;o.writer._registerSlotFactory(function(e,t,o){return(n,i)=>{const r=n.createContainerElement("$slot");let s=null;if("children"===i)s=Array.from(e.getChildren());else{if("function"!=typeof i)throw new S("conversion-slot-mode-unknown",o.dispatcher,{modeOrFilter:i});s=Array.from(e.getChildren()).filter((e=>i(e)))}return t.set(r,s),r}}(t.item,n,o));const s=i(t.item,o,t);if(o.writer._clearSlotFactory(),!s)return;!function(e,t,o){const n=Array.from(t.values()).flat(),i=new Set(n);if(i.size!=n.length)throw new S("conversion-slot-filter-overlap",o.dispatcher,{element:e});if(i.size!=e.childCount)throw new S("conversion-slot-filter-incomplete",o.dispatcher,{element:e})}(t.item,n,o),r(t.item,o.consumable);const a=o.mapper.toViewPosition(t.range.start);o.mapper.bindElements(t.item,s),o.writer.insert(a,s),o.convertAttributes(t.item),function(e,t,o,n){o.mapper.on("modelToViewPosition",s,{priority:"highest"});let i=null,r=null;for([i,r]of t)Kc(e,r,o,n),o.writer.move(o.writer.createRangeIn(i),o.writer.createPositionBefore(i)),o.writer.remove(i);function s(e,t){const o=t.modelPosition.nodeAfter,n=r.indexOf(o);n<0||(t.viewPosition=t.mapper.findPositionIn(i,n))}o.mapper.off("modelToViewPosition",s)}(s,n,o,{reconversion:t.reconversion})}),{priority:e.converterPriority||"normal"}),n.on("reduceChanges",Wc(t),{priority:"low"})}}(e))}attributeToElement(e){return this.add(function(e){e=Jl(e);let t=e.model;"string"==typeof t&&(t={key:t});let o=`attribute:${t.key}`;t.name&&(o+=":"+t.name);if(t.values)for(const o of t.values)e.view[o]=jc(e.view[o],"attribute");else e.view=jc(e.view,"attribute");const n=qc(e);return t=>{t.on(o,Oc(n),{priority:e.converterPriority||"normal"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=Jl(e);let t=e.model;"string"==typeof t&&(t={key:t});let o=`attribute:${t.key}`;t.name&&(o+=":"+t.name);if(t.values)for(const o of t.values)e.view[o]=$c(e.view[o]);else e.view=$c(e.view);const n=qc(e);return t=>{var i;t.on(o,(i=n,(e,t,o)=>{if(!o.consumable.test(t.item,e.name))return;const n=i(t.attributeOldValue,o,t),r=i(t.attributeNewValue,o,t);if(!n&&!r)return;o.consumable.consume(t.item,e.name);const s=o.mapper.toViewElement(t.item),a=o.writer;if(!s)throw new S("conversion-attribute-to-attribute-on-text",o.dispatcher,t);if(null!==t.attributeOldValue&&n){let e=n.value;"style"==n.key&&(e="string"==typeof n.value?new Ts(a.document.stylesProcessor).setTo(n.value).getStylesEntries().map((([e])=>e)):Object.keys(n.value)),a.removeAttribute(n.key,e,s)}if(null!==t.attributeNewValue&&r){let e=r.value;"style"==r.key&&"string"==typeof r.value&&(e=Object.fromEntries(new Ts(a.document.stylesProcessor).setTo(r.value).getStylesEntries())),a.setAttribute(r.key,e,!1,s)}}),{priority:e.converterPriority||"normal"})}}(e))}markerToElement(e){return this.add(function(e){const t=jc(e.view,"ui");return o=>{o.on(`addMarker:${e.model}`,Vc(t),{priority:e.converterPriority||"normal"}),o.on(`removeMarker:${e.model}`,((e,t,o)=>{const n=o.mapper.markerNameToElements(t.markerName);if(n){for(const e of n)o.mapper.unbindElementFromMarkerName(e,t.markerName),o.writer.clear(o.writer.createRangeOn(e),e);o.writer.clearClonedElementsGroup(t.markerName),e.stop()}}),{priority:e.converterPriority||"normal"})}}(e))}markerToHighlight(e){return this.add(function(e){return t=>{var o;t.on(`addMarker:${e.model}`,(o=e.view,(e,t,n)=>{if(!t.item)return;if(!(t.item instanceof bc||t.item instanceof Sc||t.item.is("$textProxy")))return;const i=Uc(o,t,n);if(!i)return;if(!n.consumable.consume(t.item,e.name))return;const r=n.writer,s=zc(r,i),a=r.document.selection;if(t.item instanceof bc||t.item instanceof Sc)r.wrap(a.getFirstRange(),s);else{const e=n.mapper.toViewRange(t.range),o=r.wrap(e,s);for(const e of o.getItems())if(e.is("attributeElement")&&e.isSimilar(s)){n.mapper.bindElementToMarker(e,t.markerName);break}}}),{priority:e.converterPriority||"normal"}),t.on(`addMarker:${e.model}`,function(e){return(t,o,n)=>{if(!o.item)return;if(!(o.item instanceof Fc))return;const i=Uc(e,o,n);if(!i)return;if(!n.consumable.test(o.item,t.name))return;const r=n.mapper.toViewElement(o.item);if(r&&r.getCustomProperty("addHighlight")){n.consumable.consume(o.item,t.name);for(const e of lc._createIn(o.item))n.consumable.consume(e.item,t.name);r.getCustomProperty("addHighlight")(r,i,n.writer),n.mapper.bindElementToMarker(r,o.markerName)}}}(e.view),{priority:e.converterPriority||"normal"}),t.on(`removeMarker:${e.model}`,function(e){return(t,o,n)=>{if(o.markerRange.isCollapsed)return;const i=Uc(e,o,n);if(!i)return;const r=zc(n.writer,i),s=n.mapper.markerNameToElements(o.markerName);if(s){for(const e of s)if(n.mapper.unbindElementFromMarkerName(e,o.markerName),e.is("attributeElement"))n.writer.unwrap(n.writer.createRangeOn(e),r);else{e.getCustomProperty("removeHighlight")(e,i.id,n.writer)}n.writer.clearClonedElementsGroup(o.markerName),t.stop()}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}markerToData(e){return this.add(function(e){e=Jl(e);const t=e.model;let o=e.view;o||(o=o=>({group:t,name:o.substr(e.model.length+1)}));return n=>{var i;n.on(`addMarker:${t}`,(i=o,(e,t,o)=>{const n=i(t.markerName,o);if(!n)return;const r=t.markerRange;o.consumable.consume(r,e.name)&&(Lc(r,!1,o,t,n),Lc(r,!0,o,t,n),e.stop())}),{priority:e.converterPriority||"normal"}),n.on(`removeMarker:${t}`,function(e){return(t,o,n)=>{const i=e(o.markerName,n);if(!i)return;const r=n.mapper.markerNameToElements(o.markerName);if(r){for(const e of r)n.mapper.unbindElementFromMarkerName(e,o.markerName),e.is("containerElement")?(s(`data-${i.group}-start-before`,e),s(`data-${i.group}-start-after`,e),s(`data-${i.group}-end-before`,e),s(`data-${i.group}-end-after`,e)):n.writer.clear(n.writer.createRangeOn(e),e);n.writer.clearClonedElementsGroup(o.markerName),t.stop()}function s(e,t){if(t.hasAttribute(e)){const o=new Set(t.getAttribute(e).split(","));o.delete(i.name),0==o.size?n.writer.removeAttribute(e,t):n.writer.setAttribute(e,Array.from(o).join(","),t)}}}}(o),{priority:e.converterPriority||"normal"})}}(e))}}function zc(e,t){const o=e.createAttributeElement("span",t.attributes);return t.classes&&o._addClass(t.classes),"number"==typeof t.priority&&(o._priority=t.priority),o._id=t.id,o}function Oc(e){return(t,o,n)=>{if(!n.consumable.test(o.item,t.name))return;const i=e(o.attributeOldValue,n,o),r=e(o.attributeNewValue,n,o);if(!i&&!r)return;n.consumable.consume(o.item,t.name);const s=n.writer,a=s.document.selection;if(o.item instanceof bc||o.item instanceof Sc)s.wrap(a.getFirstRange(),r);else{let e=n.mapper.toViewRange(o.range);null!==o.attributeOldValue&&i&&(e=s.unwrap(e,i)),null!==o.attributeNewValue&&r&&s.wrap(e,r)}}}function Nc(e,t=Jc){return(o,n,i)=>{if(!t(n.item,i.consumable,{preflight:!0}))return;const r=e(n.item,i,n);if(!r)return;t(n.item,i.consumable);const s=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,r),i.writer.insert(s,r),i.convertAttributes(n.item),Kc(r,n.item.getChildren(),i,{reconversion:n.reconversion})}}function Vc(e){return(t,o,n)=>{o.isOpening=!0;const i=e(o,n);o.isOpening=!1;const r=e(o,n);if(!i||!r)return;const s=o.markerRange;if(s.isCollapsed&&!n.consumable.consume(s,t.name))return;for(const e of s)if(!n.consumable.consume(e.item,t.name))return;const a=n.mapper,l=n.writer;l.insert(a.toViewPosition(s.start),i),n.mapper.bindElementToMarker(i,o.markerName),s.isCollapsed||(l.insert(a.toViewPosition(s.end),r),n.mapper.bindElementToMarker(r,o.markerName)),t.stop()}}function Lc(e,t,o,n,i){const r=t?e.start:e.end,s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let e,r;t&&s||!t&&!a?(e=s,r=!0):(e=a,r=!1);const l=o.mapper.toViewElement(e);if(l)return void function(e,t,o,n,i,r){const s=`data-${r.group}-${t?"start":"end"}-${o?"before":"after"}`,a=e.hasAttribute(s)?e.getAttribute(s).split(","):[];a.unshift(r.name),n.writer.setAttribute(s,a.join(","),e),n.mapper.bindElementToMarker(e,i.markerName)}(l,t,r,o,n,i)}!function(e,t,o,n,i){const r=`${i.group}-${t?"start":"end"}`,s=i.name?{name:i.name}:null,a=o.writer.createUIElement(r,s);o.writer.insert(e,a),o.mapper.bindElementToMarker(a,n.markerName)}(o.mapper.toViewPosition(r),t,o,n,i)}function Hc(e){return"string"==typeof e&&(e={name:e}),{name:e.name,attributes:e.attributes?Si(e.attributes):[],children:!!e.children}}function jc(e,t){return"function"==typeof e?e:(o,n)=>function(e,t,o){"string"==typeof e&&(e={name:e});let n;const i=t.writer,r=Object.assign({},e.attributes);if("container"==o)n=i.createContainerElement(e.name,r);else if("attribute"==o){const t={priority:e.priority||ia.DEFAULT_PRIORITY};n=i.createAttributeElement(e.name,r,t)}else n=i.createUIElement(e.name,r);if(e.styles){const t=Object.keys(e.styles);for(const o of t)i.setStyle(o,e.styles[o],n)}if(e.classes){const t=e.classes;if("string"==typeof t)i.addClass(t,n);else for(const e of t)i.addClass(e,n)}return n}(e,n,t)}function qc(e){return e.model.values?(t,o,n)=>{const i=e.view[t];return i?i(t,o,n):null}:e.view}function $c(e){return"string"==typeof e?t=>({key:e,value:t}):"object"==typeof e?e.value?()=>e:t=>({key:e.key,value:t}):e}function Uc(e,t,o){const n="function"==typeof e?e(t,o):e;return n?(n.priority||(n.priority=10),n.id||(n.id=t.markerName),n):null}function Wc(e){const t=function(e){return(t,o)=>{if(!t.is("element",e.name))return!1;if("attribute"==o.type){if(e.attributes.includes(o.attributeKey))return!0}else if(e.children)return!0;return!1}}(e);return(e,o)=>{const n=[];o.reconvertedElements||(o.reconvertedElements=new Set);for(const e of o.changes){const i="attribute"==e.type?e.range.start.nodeAfter:e.position.parent;if(i&&t(i,e)){if(!o.reconvertedElements.has(i)){o.reconvertedElements.add(i);const e=oc._createBefore(i);let t=n.length;for(let o=n.length-1;o>=0;o--){const i=n[o],r=("attribute"==i.type?i.range.start:i.position).compareWith(e);if("before"==r||"remove"==i.type&&"same"==r)break;t=o}n.splice(t,0,{type:"remove",name:i.name,position:e,length:1},{type:"reinsert",name:i.name,position:e,length:1})}}else n.push(e)}o.changes=n}}function Gc(e){return(t,o,n={})=>{const i=["insert"];for(const o of e.attributes)t.hasAttribute(o)&&i.push(`attribute:${o}`);return!!i.every((e=>o.test(t,e)))&&(n.preflight||i.forEach((e=>o.consume(t,e))),!0)}}function Kc(e,t,o,n){for(const i of t)Zc(e.root,i,o,n)||o.convertItem(i)}function Zc(e,t,o,n){const{writer:i,mapper:r}=o;if(!n.reconversion)return!1;const s=r.toViewElement(t);return!(!s||s.root==e)&&(!!o.canReuseView(s)&&(i.move(i.createRangeOn(s),r.toViewPosition(oc._createBefore(t))),!0))}function Jc(e,t,{preflight:o}={}){return o?t.test(e,"insert"):t.consume(e,"insert")}function Yc(e){const{schema:t,document:o}=e.model;for(const n of o.getRoots())if(n.isEmpty&&!t.checkChild(n,"$text")&&t.checkChild(n,"paragraph"))return e.insertElement("paragraph",n),!0;return!1}function Qc(e,t,o){const n=o.createContext(e);return!!o.checkChild(n,"paragraph")&&!!o.checkChild(n.push("paragraph"),t)}function Xc(e,t){const o=t.createElement("paragraph");return t.insert(o,e),t.createPositionAt(o,0)}class ed extends Rc{elementToElement(e){return this.add(td(e))}elementToAttribute(e){return this.add(function(e){e=Jl(e),id(e);const t=rd(e,!1),o=od(e.view),n=o?`element:${o}`:"element";return o=>{o.on(n,t,{priority:e.converterPriority||"low"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=Jl(e);let t=null;("string"==typeof e.view||e.view.key)&&(t=function(e){"string"==typeof e.view&&(e.view={key:e.view});const t=e.view.key,o=void 0===e.view.value?/[\s\S]*/:e.view.value;let n;if("class"==t||"style"==t){const e="class"==t?"classes":"styles";n={[e]:o}}else n={attributes:{[t]:o}};e.view.name&&(n.name=e.view.name);return e.view=n,t}(e));id(e,t);const o=rd(e,!0);return t=>{t.on("element",o,{priority:e.converterPriority||"low"})}}(e))}elementToMarker(e){return this.add(function(e){const t=function(e){return(t,o)=>{const n="string"==typeof e?e:e(t,o);return o.writer.createElement("$marker",{"data-name":n})}}(e.model);return td({...e,model:t})}(e))}dataToMarker(e){return this.add(function(e){e=Jl(e),e.model||(e.model=t=>t?e.view+":"+t:e.view);const t={view:e.view,model:e.model},o=nd(sd(t,"start")),n=nd(sd(t,"end"));return i=>{i.on(`element:${e.view}-start`,o,{priority:e.converterPriority||"normal"}),i.on(`element:${e.view}-end`,n,{priority:e.converterPriority||"normal"});const r=D.low,s=D.highest,a=D.get(e.converterPriority)/s;i.on("element",function(e){return(t,o,n)=>{const i=`data-${e.view}`;function r(t,i){for(const r of i){const i=e.model(r,n),s=n.writer.createElement("$marker",{"data-name":i});n.writer.insert(s,t),o.modelCursor.isEqual(t)?o.modelCursor=o.modelCursor.getShiftedBy(1):o.modelCursor=o.modelCursor._getTransformedByInsertion(t,1),o.modelRange=o.modelRange._getTransformedByInsertion(t,1)[0]}}(n.consumable.test(o.viewItem,{attributes:i+"-end-after"})||n.consumable.test(o.viewItem,{attributes:i+"-start-after"})||n.consumable.test(o.viewItem,{attributes:i+"-end-before"})||n.consumable.test(o.viewItem,{attributes:i+"-start-before"}))&&(o.modelRange||Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor)),n.consumable.consume(o.viewItem,{attributes:i+"-end-after"})&&r(o.modelRange.end,o.viewItem.getAttribute(i+"-end-after").split(",")),n.consumable.consume(o.viewItem,{attributes:i+"-start-after"})&&r(o.modelRange.end,o.viewItem.getAttribute(i+"-start-after").split(",")),n.consumable.consume(o.viewItem,{attributes:i+"-end-before"})&&r(o.modelRange.start,o.viewItem.getAttribute(i+"-end-before").split(",")),n.consumable.consume(o.viewItem,{attributes:i+"-start-before"})&&r(o.modelRange.start,o.viewItem.getAttribute(i+"-start-before").split(",")))}}(t),{priority:r+a})}}(e))}}function td(e){const t=nd(e=Jl(e)),o=od(e.view),n=o?`element:${o}`:"element";return o=>{o.on(n,t,{priority:e.converterPriority||"normal"})}}function od(e){return"string"==typeof e?e:"object"==typeof e&&"string"==typeof e.name?e.name:null}function nd(e){const t=new As(e.view);return(o,n,i)=>{const r=t.match(n.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!i.consumable.test(n.viewItem,s))return;const a=function(e,t,o){return e instanceof Function?e(t,o):o.writer.createElement(e)}(e.model,n.viewItem,i);a&&i.safeInsert(a,n.modelCursor)&&(i.consumable.consume(n.viewItem,s),i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n))}}function id(e,t=null){const o=null===t||(e=>e.getAttribute(t)),n="object"!=typeof e.model?e.model:e.model.key,i="object"!=typeof e.model||void 0===e.model.value?o:e.model.value;e.model={key:n,value:i}}function rd(e,t){const o=new As(e.view);return(n,i,r)=>{if(!i.modelRange&&t)return;const s=o.match(i.viewItem);if(!s)return;if(!function(e,t){const o="function"==typeof e?e(t):e;if("object"==typeof o&&!od(o))return!1;return!o.classes&&!o.attributes&&!o.styles}(e.view,i.viewItem)?delete s.match.name:s.match.name=!0,!r.consumable.test(i.viewItem,s.match))return;const a=e.model.key,l="function"==typeof e.model.value?e.model.value(i.viewItem,r):e.model.value;if(null===l)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor));const c=function(e,t,o,n){let i=!1;for(const r of Array.from(e.getItems({shallow:o})))n.schema.checkAttribute(r,t.key)&&(i=!0,r.hasAttribute(t.key)||n.writer.setAttribute(t.key,t.value,r));return i}(i.modelRange,{key:a,value:l},t,r);c&&(r.consumable.test(i.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(i.viewItem,s.match))}}function sd(e,t){return{view:`${e.view}-${t}`,model:(t,o)=>{const n=t.getAttribute("name"),i=e.model(n,o);return o.writer.createElement("$marker",{"data-name":i})}}}function ad(e){e.document.registerPostFixer((t=>function(e,t){const o=t.document.selection,n=t.schema,i=[];let r=!1;for(const e of o.getRanges()){const t=ld(e,n);t&&!t.isEqual(e)?(i.push(t),r=!0):i.push(e)}r&&e.setSelection(function(e){const t=[...e],o=new Set;let n=1;for(;n!o.has(t)))}(i),{backward:o.isBackward});return!1}(t,e)))}function ld(e,t){return e.isCollapsed?function(e,t){const o=e.start,n=t.getNearestSelectionRange(o);if(!n){const e=o.getAncestors().reverse().find((e=>t.isObject(e)));return e?lc._createOn(e):null}if(!n.isCollapsed)return n;const i=n.start;if(o.isEqual(i))return null;return new lc(i)}(e,t):function(e,t){const{start:o,end:n}=e,i=t.checkChild(o,"$text"),r=t.checkChild(n,"$text"),s=t.getLimitElement(o),a=t.getLimitElement(n);if(s===a){if(i&&r)return null;if(function(e,t,o){const n=e.nodeAfter&&!o.isLimit(e.nodeAfter)||o.checkChild(e,"$text"),i=t.nodeBefore&&!o.isLimit(t.nodeBefore)||o.checkChild(t,"$text");return n||i}(o,n,t)){const e=o.nodeAfter&&t.isSelectable(o.nodeAfter)?null:t.getNearestSelectionRange(o,"forward"),i=n.nodeBefore&&t.isSelectable(n.nodeBefore)?null:t.getNearestSelectionRange(n,"backward"),r=e?e.start:o,s=i?i.end:n;return new lc(r,s)}}const l=s&&!s.is("rootElement"),c=a&&!a.is("rootElement");if(l||c){const e=o.nodeAfter&&n.nodeBefore&&o.nodeAfter.parent===n.nodeBefore.parent,i=l&&(!e||!dd(o.nodeAfter,t)),r=c&&(!e||!dd(n.nodeBefore,t));let d=o,u=n;return i&&(d=oc._createBefore(cd(s,t))),r&&(u=oc._createAfter(cd(a,t))),new lc(d,u)}return null}(e,t)}function cd(e,t){let o=e,n=o;for(;t.isLimit(n)&&n.parent;)o=n,n=n.parent;return o}function dd(e,t){return e&&t.isSelectable(e)}class ud extends(X()){constructor(e,t){super(),this.model=e,this.view=new Yl(t),this.mapper=new cc,this.downcastDispatcher=new pc({mapper:this.mapper,schema:e.schema});const o=this.model.document,n=o.selection,i=this.model.markers;var r,s,a;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(o,"change",(()=>{this.view.change((e=>{this.downcastDispatcher.convertChanges(o.differ,i,e),this.downcastDispatcher.convertSelection(n,i,e)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",function(e,t){return(o,n)=>{const i=n.newSelection,r=[];for(const e of i.getRanges())r.push(t.toModelRange(e));const s=e.createSelection(r,{backward:i.isBackward});s.isEqual(e.document.selection)||e.change((e=>{e.setSelection(s)}))}}(this.model,this.mapper)),this.listenTo(this.view.document,"beforeinput",(r=this.mapper,s=this.model.schema,a=this.view,(e,t)=>{if(!a.document.isComposing||c.isAndroid)for(let e=0;e{if(!o.consumable.consume(t.item,e.name))return;const n=o.writer,i=o.mapper.toViewPosition(t.range.start),r=n.createText(t.item.data);n.insert(i,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((e,t,o)=>{o.convertAttributes(t.item),t.reconversion||!t.item.is("element")||t.item.isEmpty||o.convertChildren(t.item)}),{priority:"lowest"}),this.downcastDispatcher.on("remove",((e,t,o)=>{const n=o.mapper.toViewPosition(t.position),i=t.position.getShiftedBy(t.length),r=o.mapper.toViewPosition(i,{isPhantom:!0}),s=o.writer.createRange(n,r),a=o.writer.remove(s.getTrimmed());for(const e of o.writer.createRangeIn(a).getItems())o.mapper.unbindViewElement(e,{defer:!0})}),{priority:"low"}),this.downcastDispatcher.on("cleanSelection",((e,t,o)=>{const n=o.writer,i=n.document.selection;for(const e of i.getRanges())e.isCollapsed&&e.end.parent.isAttached()&&o.writer.mergeAttributes(e.start);n.setSelection(null)})),this.downcastDispatcher.on("selection",((e,t,o)=>{const n=t.selection;if(n.isCollapsed)return;if(!o.consumable.consume(n,"selection"))return;const i=[];for(const e of n.getRanges())i.push(o.mapper.toViewRange(e));o.writer.setSelection(i,{backward:n.isBackward})}),{priority:"low"}),this.downcastDispatcher.on("selection",((e,t,o)=>{const n=t.selection;if(!n.isCollapsed)return;if(!o.consumable.consume(n,"selection"))return;const i=o.writer,r=n.getFirstPosition(),s=o.mapper.toViewPosition(r),a=i.breakAttributes(s);i.setSelection(a)}),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((e=>{if("$graveyard"==e.rootName)return null;const t=new js(this.view.document,e.name);return t.rootName=e.rootName,this.mapper.bindElements(e,t),t}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(e){const t="string"==typeof e?e:e.name,o=this.model.markers.get(t);if(!o)throw new S("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:t});this.model.change((()=>{this.model.markers._refresh(o)}))}reconvertItem(e){this.model.change((()=>{this.model.document.differ._refreshItem(e)}))}}class hd extends(X()){constructor(){super(),this._sourceDefinitions={},this._attributeProperties=Object.create(null),this._customChildChecks=new Map,this._customAttributeChecks=new Map,this._genericCheckSymbol=Symbol("$generic"),this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((e,t)=>{t[0]=new pd(t[0])}),{priority:"highest"}),this.on("checkChild",((e,t)=>{t[0]=new pd(t[0]),t[1]=this.getDefinition(t[1])}),{priority:"highest"})}register(e,t){if(this._sourceDefinitions[e])throw new S("schema-cannot-register-item-twice",this,{itemName:e});this._sourceDefinitions[e]=[Object.assign({},t)],this._clearCache()}extend(e,t){if(!this._sourceDefinitions[e])throw new S("schema-cannot-extend-missing-item",this,{itemName:e});this._sourceDefinitions[e].push(Object.assign({},t)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(e){let t;return t="string"==typeof e?e:"is"in e&&(e.is("$text")||e.is("$textProxy"))?"$text":e.name,this.getDefinitions()[t]}isRegistered(e){return!!this.getDefinition(e)}isBlock(e){const t=this.getDefinition(e);return!(!t||!t.isBlock)}isLimit(e){const t=this.getDefinition(e);return!!t&&!(!t.isLimit&&!t.isObject)}isObject(e){const t=this.getDefinition(e);return!!t&&!!(t.isObject||t.isLimit&&t.isSelectable&&t.isContent)}isInline(e){const t=this.getDefinition(e);return!(!t||!t.isInline)}isSelectable(e){const t=this.getDefinition(e);return!!t&&!(!t.isSelectable&&!t.isObject)}isContent(e){const t=this.getDefinition(e);return!!t&&!(!t.isContent&&!t.isObject)}checkChild(e,t){return!!t&&this._checkContextMatch(e,t)}checkAttribute(e,t){const o=this.getDefinition(e.last);if(!o)return!1;const n=this._evaluateAttributeChecks(e,t);return void 0!==n?n:o.allowAttributes.includes(t)}checkMerge(e,t){if(e instanceof oc){const t=e.nodeBefore,o=e.nodeAfter;if(!(t instanceof Fc))throw new S("schema-check-merge-no-element-before",this);if(!(o instanceof Fc))throw new S("schema-check-merge-no-element-after",this);return this.checkMerge(t,o)}if(this.isLimit(e)||this.isLimit(t))return!1;for(const o of t.getChildren())if(!this.checkChild(e,o))return!1;return!0}addChildCheck(e,t){const o=void 0!==t?t:this._genericCheckSymbol,n=this._customChildChecks.get(o)||[];n.push(e),this._customChildChecks.set(o,n)}addAttributeCheck(e,t){const o=void 0!==t?t:this._genericCheckSymbol,n=this._customAttributeChecks.get(o)||[];n.push(e),this._customAttributeChecks.set(o,n)}setAttributeProperties(e,t){this._attributeProperties[e]=Object.assign(this.getAttributeProperties(e),t)}getAttributeProperties(e){return this._attributeProperties[e]||Object.create(null)}getLimitElement(e){let t;if(e instanceof oc)t=e.parent;else{t=(e instanceof lc?[e]:Array.from(e.getRanges())).reduce(((e,t)=>{const o=t.getCommonAncestor();return e?e.getCommonAncestor(o,{includeSelf:!0}):o}),null)}for(;!this.isLimit(t)&&t.parent;)t=t.parent;return t}checkAttributeInSelection(e,t){if(e.isCollapsed){const o=[...e.getFirstPosition().getAncestors(),new Dc("",e.getAttributes())];return this.checkAttribute(o,t)}{const o=e.getRanges();for(const e of o)for(const o of e)if(this.checkAttribute(o.item,t))return!0}return!1}*getValidRanges(e,t){e=function*(e){for(const t of e)yield*t.getMinimalFlatRanges()}(e);for(const o of e)yield*this._getValidRangesForRange(o,t)}getNearestSelectionRange(e,t="both"){if("$graveyard"==e.root.rootName)return null;if(this.checkChild(e,"$text"))return new lc(e);let o,n;const i=e.getAncestors().reverse().find((e=>this.isLimit(e)))||e.root;"both"!=t&&"backward"!=t||(o=new ec({boundaries:lc._createIn(i),startPosition:e,direction:"backward"})),"both"!=t&&"forward"!=t||(n=new ec({boundaries:lc._createIn(i),startPosition:e}));for(const e of function*(e,t){let o=!1;for(;!o;){if(o=!0,e){const t=e.next();t.done||(o=!1,yield{walker:e,value:t.value})}if(t){const e=t.next();e.done||(o=!1,yield{walker:t,value:e.value})}}}(o,n)){const t=e.walker==o?"elementEnd":"elementStart",n=e.value;if(n.type==t&&this.isObject(n.item))return lc._createOn(n.item);if(this.checkChild(n.nextPosition,"$text"))return new lc(n.nextPosition)}return null}findAllowedParent(e,t){let o=e.parent;for(;o;){if(this.checkChild(o,t))return o;if(this.isLimit(o))return null;o=o.parent}return null}setAllowedAttributes(e,t,o){const n=o.model;for(const[i,r]of Object.entries(t))n.schema.checkAttribute(e,i)&&o.setAttribute(i,r,e)}removeDisallowedAttributes(e,t){for(const o of e)if(o.is("$text"))Ed(this,o,t);else{const e=lc._createIn(o).getPositions();for(const o of e){Ed(this,o.nodeBefore||o.parent,t)}}}getAttributesWithProperty(e,t,o){const n={};for(const[i,r]of e.getAttributes()){const e=this.getAttributeProperties(i);void 0!==e[t]&&(void 0!==o&&o!==e[t]||(n[i]=r))}return n}createContext(e){return new pd(e)}_clearCache(){this._compiledDefinitions=null}_compile(){const e={},t=this._sourceDefinitions,o=Object.keys(t);for(const n of o)e[n]=md(t[n],n);const n=Object.values(e);for(const t of n)gd(e,t),fd(e,t),bd(e,t),kd(e,t);for(const t of n)wd(e,t);for(const t of n)_d(e,t);for(const t of n)yd(e,t);for(const t of n)Ad(e,t);for(const t of n)Cd(e,t);this._compiledDefinitions=function(e){const t={};for(const o of Object.values(e))t[o.name]={name:o.name,isBlock:!!o.isBlock,isContent:!!o.isContent,isInline:!!o.isInline,isLimit:!!o.isLimit,isObject:!!o.isObject,isSelectable:!!o.isSelectable,allowIn:Array.from(o.allowIn).filter((t=>!!e[t])),allowChildren:Array.from(o.allowChildren).filter((t=>!!e[t])),allowAttributes:Array.from(o.allowAttributes)};return t}(e)}_checkContextMatch(e,t){const o=e.last;let n=this._evaluateChildChecks(e,t);if(n=void 0!==n?n:t.allowIn.includes(o.name),!n)return!1;const i=this.getDefinition(o),r=e.trimLast();return!!i&&(0==r.length||this._checkContextMatch(r,i))}_evaluateChildChecks(e,t){const o=this._customChildChecks.get(this._genericCheckSymbol)||[],n=this._customChildChecks.get(t.name)||[];for(const i of[...o,...n]){const o=i(e,t);if(void 0!==o)return o}}_evaluateAttributeChecks(e,t){const o=this._customAttributeChecks.get(this._genericCheckSymbol)||[],n=this._customAttributeChecks.get(t)||[];for(const i of[...o,...n]){const o=i(e,t);if(void 0!==o)return o}}*_getValidRangesForRange(e,t){let o=e.start,n=e.start;for(const i of e.getItems({shallow:!0}))i.is("element")&&(yield*this._getValidRangesForRange(lc._createIn(i),t)),this.checkAttribute(i,t)||(o.isEqual(n)||(yield new lc(o,n)),o=oc._createAfter(i)),n=oc._createAfter(i);o.isEqual(n)||(yield new lc(o,n))}findOptimalInsertionRange(e,t){const o=e.getSelectedElement();if(o&&this.isObject(o)&&!this.isInline(o))return"before"==t||"after"==t?new lc(oc._createAt(o,t)):lc._createOn(o);const n=or(e.getSelectedBlocks());if(!n)return new lc(e.focus);if(n.isEmpty)return new lc(oc._createAt(n,0));const i=oc._createAfter(n);return e.focus.isTouching(i)?new lc(i):new lc(oc._createBefore(n))}}class pd{constructor(e){if(e instanceof pd)return e;let t;t="string"==typeof e?[e]:Array.isArray(e)?e:e.getAncestors({includeSelf:!0}),this._items=t.map(xd)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(e){const t=new pd([e]);return t._items=[...this._items,...t._items],t}trimLast(){const e=new pd([]);return e._items=this._items.slice(0,-1),e}getItem(e){return this._items[e]}*getNames(){yield*this._items.map((e=>e.name))}endsWith(e){return Array.from(this.getNames()).join(" ").endsWith(e)}startsWith(e){return Array.from(this.getNames()).join(" ").startsWith(e)}}function md(e,t){const o={name:t,allowIn:new Set,allowChildren:new Set,disallowIn:new Set,disallowChildren:new Set,allowContentOf:new Set,allowWhere:new Set,allowAttributes:new Set,disallowAttributes:new Set,allowAttributesOf:new Set,inheritTypesFrom:new Set};return function(e,t){for(const o of e){const e=Object.keys(o).filter((e=>e.startsWith("is")));for(const n of e)t[n]=!!o[n]}}(e,o),vd(e,o,"allowIn"),vd(e,o,"allowChildren"),vd(e,o,"disallowIn"),vd(e,o,"disallowChildren"),vd(e,o,"allowContentOf"),vd(e,o,"allowWhere"),vd(e,o,"allowAttributes"),vd(e,o,"disallowAttributes"),vd(e,o,"allowAttributesOf"),vd(e,o,"inheritTypesFrom"),function(e,t){for(const o of e){const e=o.inheritAllFrom;e&&(t.allowContentOf.add(e),t.allowWhere.add(e),t.allowAttributesOf.add(e),t.inheritTypesFrom.add(e))}}(e,o),o}function gd(e,t){for(const o of t.allowIn){const n=e[o];n?n.allowChildren.add(t.name):t.allowIn.delete(o)}}function fd(e,t){for(const o of t.allowChildren){const n=e[o];n?n.allowIn.add(t.name):t.allowChildren.delete(o)}}function bd(e,t){for(const o of t.disallowIn){const n=e[o];n?n.disallowChildren.add(t.name):t.disallowIn.delete(o)}}function kd(e,t){for(const o of t.disallowChildren){const n=e[o];n?n.disallowIn.add(t.name):t.disallowChildren.delete(o)}}function wd(e,t){for(const e of t.disallowChildren)t.allowChildren.delete(e);for(const e of t.disallowIn)t.allowIn.delete(e);for(const e of t.disallowAttributes)t.allowAttributes.delete(e)}function _d(e,t){for(const o of t.allowContentOf){const n=e[o];n&&(n.disallowChildren.forEach((o=>{t.allowChildren.has(o)||(t.disallowChildren.add(o),e[o].disallowIn.add(t.name))})),n.allowChildren.forEach((o=>{t.disallowChildren.has(o)||(t.allowChildren.add(o),e[o].allowIn.add(t.name))})))}}function yd(e,t){for(const o of t.allowWhere){const n=e[o];n&&(n.disallowIn.forEach((o=>{t.allowIn.has(o)||(t.disallowIn.add(o),e[o].disallowChildren.add(t.name))})),n.allowIn.forEach((o=>{t.disallowIn.has(o)||(t.allowIn.add(o),e[o].allowChildren.add(t.name))})))}}function Ad(e,t){for(const o of t.allowAttributesOf){const n=e[o];if(!n)return;n.allowAttributes.forEach((e=>{t.disallowAttributes.has(e)||t.allowAttributes.add(e)}))}}function Cd(e,t){for(const o of t.inheritTypesFrom){const n=e[o];if(n){const e=Object.keys(n).filter((e=>e.startsWith("is")));for(const o of e)o in t||(t[o]=n[o])}}}function vd(e,t,o){for(const n of e){let e=n[o];"string"==typeof e&&(e=[e]),Array.isArray(e)&&e.forEach((e=>t[o].add(e)))}}function xd(e){return"string"==typeof e||e.is("documentFragment")?{name:"string"==typeof e?e:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:e.is("element")?e.name:"$text",*getAttributeKeys(){yield*e.getAttributeKeys()},getAttribute:t=>e.getAttribute(t)}}function Ed(e,t,o){for(const n of t.getAttributeKeys())e.checkAttribute(t,n)||o.removeAttribute(n,t)}class Dd extends(V()){constructor(e){super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi={...e,consumable:null,writer:null,store:null,convertItem:(e,t)=>this._convertItem(e,t),convertChildren:(e,t)=>this._convertChildren(e,t),safeInsert:(e,t)=>this._safeInsert(e,t),updateConversionResult:(e,t)=>this._updateConversionResult(e,t),splitToAllowedParent:(e,t)=>this._splitToAllowedParent(e,t),getSplitParts:e=>this._getSplitParts(e),keepEmptyElement:e=>this._keepEmptyElement(e)}}convert(e,t,o=["$root"]){this.fire("viewCleanup",e),this._modelCursor=function(e,t){let o;for(const n of new pd(e)){const e={};for(const t of n.getAttributeKeys())e[t]=n.getAttribute(t);const i=t.createElement(n.name,e);o&&t.insert(i,o),o=oc._createAt(i,0)}return o}(o,t),this.conversionApi.writer=t,this.conversionApi.consumable=ks.createFrom(e),this.conversionApi.store={};const{modelRange:n}=this._convertItem(e,this._modelCursor),i=t.createDocumentFragment();if(n){this._removeEmptyElements();const e=this._modelCursor.parent,o=e._removeChildren(0,e.childCount);i._insertChild(0,o),i.markers=function(e,t){const o=new Set,n=new Map,i=lc._createIn(e).getItems();for(const e of i)e.is("element","$marker")&&o.add(e);for(const e of o){const o=e.getAttribute("data-name"),i=t.createPositionBefore(e);n.has(o)?n.get(o).end=i.clone():n.set(o,new lc(i.clone())),t.remove(e)}return n}(i,t)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,i}_convertItem(e,t){const o={viewItem:e,modelCursor:t,modelRange:null};if(e.is("element")?this.fire(`element:${e.name}`,o,this.conversionApi):e.is("$text")?this.fire("text",o,this.conversionApi):this.fire("documentFragment",o,this.conversionApi),o.modelRange&&!(o.modelRange instanceof lc))throw new S("view-conversion-dispatcher-incorrect-result",this);return{modelRange:o.modelRange,modelCursor:o.modelCursor}}_convertChildren(e,t){let o=t.is("position")?t:oc._createAt(t,0);const n=new lc(o);for(const t of Array.from(e.getChildren())){const e=this._convertItem(t,o);e.modelRange instanceof lc&&(n.end=e.modelRange.end,o=e.modelCursor)}return{modelRange:n,modelCursor:o}}_safeInsert(e,t){const o=this._splitToAllowedParent(e,t);return!!o&&(this.conversionApi.writer.insert(e,o.position),!0)}_updateConversionResult(e,t){const o=this._getSplitParts(e),n=this.conversionApi.writer;t.modelRange||(t.modelRange=n.createRange(n.createPositionBefore(e),n.createPositionAfter(o[o.length-1])));const i=this._cursorParents.get(e);t.modelCursor=i?n.createPositionAt(i,0):t.modelRange.end}_splitToAllowedParent(e,t){const{schema:o,writer:n}=this.conversionApi;let i=o.findAllowedParent(t,e);if(i){if(i===t.parent)return{position:t};this._modelCursor.parent.getAncestors().includes(i)&&(i=null)}if(!i)return Qc(t,e,o)?{position:Xc(t,n)}:null;const r=this.conversionApi.writer.split(t,i),s=[];for(const e of r.range.getWalker())if("elementEnd"==e.type)s.push(e.item);else{const t=s.pop(),o=e.item;this._registerSplitPair(t,o)}const a=r.range.end.parent;return this._cursorParents.set(e,a),{position:r.position,cursorParent:a}}_registerSplitPair(e,t){this._splitParts.has(e)||this._splitParts.set(e,[e]);const o=this._splitParts.get(e);this._splitParts.set(t,o),o.push(t)}_getSplitParts(e){let t;return t=this._splitParts.has(e)?this._splitParts.get(e):[e],t}_keepEmptyElement(e){this._emptyElementsToKeep.add(e)}_removeEmptyElements(){const e=new Map;for(const t of this._splitParts.keys())if(t.isEmpty&&!this._emptyElementsToKeep.has(t)){const o=e.get(t.parent)||[];o.push(t),this._splitParts.delete(t),e.set(t.parent,o)}for(const[t,o]of e)t._removeChildrenArray(o);e.size&&this._removeEmptyElements()}}class Bd{getHtml(e){const t=s.document.implementation.createHTMLDocument("").createElement("div");return t.appendChild(e),t.innerHTML}}class Sd{constructor(e){this.skipComments=!0,this.domParser=new DOMParser,this.domConverter=new Ua(e,{renderingMode:"data"}),this.htmlWriter=new Bd}toData(e){const t=this.domConverter.viewToDom(e);return this.htmlWriter.getHtml(t)}toView(e){const t=this._toDom(e);return this.domConverter.domToView(t,{skipComments:this.skipComments})}registerRawContentMatcher(e){this.domConverter.registerRawContentMatcher(e)}useFillerType(e){this.domConverter.blockFillerMode="marked"==e?"markedNbsp":"nbsp"}_toDom(e){/<(?:html|body|head|meta)(?:\s[^>]*)?>/i.test(e.trim().slice(0,1e4))||(e=`${e}`);const t=this.domParser.parseFromString(e,"text/html"),o=t.createDocumentFragment(),n=t.body.childNodes;for(;n.length>0;)o.appendChild(n[0]);return o}}class Td extends(V()){constructor(e,t){super(),this.model=e,this.mapper=new cc,this.downcastDispatcher=new pc({mapper:this.mapper,schema:e.schema}),this.downcastDispatcher.on("insert:$text",((e,t,o)=>{if(!o.consumable.consume(t.item,e.name))return;const n=o.writer,i=o.mapper.toViewPosition(t.range.start),r=n.createText(t.item.data);n.insert(i,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((e,t,o)=>{o.convertAttributes(t.item),t.reconversion||!t.item.is("element")||t.item.isEmpty||o.convertChildren(t.item)}),{priority:"lowest"}),this.upcastDispatcher=new Dd({schema:e.schema}),this.viewDocument=new oa(t),this.stylesProcessor=t,this.htmlProcessor=new Sd(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new ga(this.viewDocument),this.upcastDispatcher.on("text",((e,t,{schema:o,consumable:n,writer:i})=>{let r=t.modelCursor;if(!n.test(t.viewItem))return;if(!o.checkChild(r,"$text")){if(!Qc(r,"$text",o))return;if(0==t.viewItem.data.trim().length)return;r=Xc(r,i)}n.consume(t.viewItem);const s=i.createText(t.viewItem.data);i.insert(s,r),t.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize)),t.modelCursor=t.modelRange.end}),{priority:"lowest"}),this.upcastDispatcher.on("element",((e,t,o)=>{if(!t.modelRange&&o.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:n}=o.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=n}}),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",((e,t,o)=>{if(!t.modelRange&&o.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:n}=o.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=n}}),{priority:"lowest"}),X().prototype.decorate.call(this,"init"),X().prototype.decorate.call(this,"set"),X().prototype.decorate.call(this,"get"),X().prototype.decorate.call(this,"toView"),X().prototype.decorate.call(this,"toModel"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},Yc)}),{priority:"lowest"})}get(e={}){const{rootName:t="main",trim:o="empty"}=e;if(!this._checkIfRootsExists([t]))throw new S("datacontroller-get-non-existent-root",this);const n=this.model.document.getRoot(t);return n.isAttached()||T("datacontroller-get-detached-root",this),"empty"!==o||this.model.hasContent(n,{ignoreWhitespaces:!0})?this.stringify(n,e):""}stringify(e,t={}){const o=this.toView(e,t);return this.processor.toData(o)}toView(e,t={}){const o=this.viewDocument,n=this._viewWriter;this.mapper.clearBindings();const i=lc._createIn(e),r=new ma(o);this.mapper.bindElements(e,r);const s=e.is("documentFragment")?e.markers:function(e){const t=[],o=e.root.document;if(!o)return new Map;const n=lc._createIn(e);for(const e of o.model.markers){const o=e.getRange(),i=o.isCollapsed,r=o.start.isEqual(n.start)||o.end.isEqual(n.end);if(i&&r)t.push([e.name,o]);else{const i=n.getIntersection(o);i&&t.push([e.name,i])}}return t.sort((([e,t],[o,n])=>{if("after"!==t.end.compareWith(n.start))return 1;if("before"!==t.start.compareWith(n.end))return-1;switch(t.start.compareWith(n.start)){case"before":return 1;case"after":return-1;default:switch(t.end.compareWith(n.end)){case"before":return 1;case"after":return-1;default:return o.localeCompare(e)}}})),new Map(t)}(e);return this.downcastDispatcher.convert(i,s,n,t),r}init(e){if(this.model.document.version)throw new S("datacontroller-init-document-not-empty",this);let t={};if("string"==typeof e?t.main=e:t=e,!this._checkIfRootsExists(Object.keys(t)))throw new S("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(e=>{for(const o of Object.keys(t)){const n=this.model.document.getRoot(o);e.insert(this.parse(t[o],n),n,0)}})),Promise.resolve()}set(e,t={}){let o={};if("string"==typeof e?o.main=e:o=e,!this._checkIfRootsExists(Object.keys(o)))throw new S("datacontroller-set-non-existent-root",this);this.model.enqueueChange(t.batchType||{},(e=>{e.setSelection(null),e.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const t of Object.keys(o)){const n=this.model.document.getRoot(t);e.remove(e.createRangeIn(n)),e.insert(this.parse(o[t],n),n,0)}}))}parse(e,t="$root"){const o=this.processor.toView(e);return this.toModel(o,t)}toModel(e,t="$root"){return this.model.change((o=>this.upcastDispatcher.convert(e,o,t)))}addStyleProcessorRules(e){e(this.stylesProcessor)}registerRawContentMatcher(e){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(e),this.htmlProcessor.registerRawContentMatcher(e)}destroy(){this.stopListening()}_checkIfRootsExists(e){for(const t of e)if(!this.model.document.getRoot(t))return!1;return!0}}class Id{constructor(e,t){this._helpers=new Map,this._downcast=Si(e),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=Si(t),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(e,t){const o=this._downcast.includes(t);if(!this._upcast.includes(t)&&!o)throw new S("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:e,dispatchers:[t],isDowncast:o})}for(e){if(!this._helpers.has(e))throw new S("conversion-for-unknown-group",this);return this._helpers.get(e)}elementToElement(e){this.for("downcast").elementToElement(e);for(const{model:t,view:o}of Pd(e))this.for("upcast").elementToElement({model:t,view:o,converterPriority:e.converterPriority})}attributeToElement(e){this.for("downcast").attributeToElement(e);for(const{model:t,view:o}of Pd(e))this.for("upcast").elementToAttribute({view:o,model:t,converterPriority:e.converterPriority})}attributeToAttribute(e){this.for("downcast").attributeToAttribute(e);for(const{model:t,view:o}of Pd(e))this.for("upcast").attributeToAttribute({view:o,model:t})}_createConversionHelpers({name:e,dispatchers:t,isDowncast:o}){if(this._helpers.has(e))throw new S("conversion-group-exists",this);const n=o?new Mc(t):new ed(t);this._helpers.set(e,n)}}function*Pd(e){if(e.model.values)for(const t of e.model.values){const o={key:e.model.key,value:t},n=e.view[t],i=e.upcastAlso?e.upcastAlso[t]:void 0;yield*Fd(o,n,i)}else yield*Fd(e.model,e.view,e.upcastAlso)}function*Fd(e,t,o){if(yield{model:e,view:t},o)for(const t of Si(o))yield{model:e,view:t}}class Rd{constructor(e){this.baseVersion=e,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const e=Object.assign({},this);return e.__className=this.constructor.className,delete e.batch,delete e.isDocumentOperation,e}static get className(){return"Operation"}static fromJSON(e,t){return new this(e.baseVersion)}}function Md(e,t){const o=Nd(t),n=o.reduce(((e,t)=>e+t.offsetSize),0),i=e.parent;Ld(e);const r=e.index;return i._insertChild(r,o),Vd(i,r+o.length),Vd(i,r),new lc(e,e.getShiftedBy(n))}function zd(e){if(!e.isFlat)throw new S("operation-utils-remove-range-not-flat",this);const t=e.start.parent;Ld(e.start),Ld(e.end);const o=t._removeChildren(e.start.index,e.end.index-e.start.index);return Vd(t,e.start.index),o}function Od(e,t){if(!e.isFlat)throw new S("operation-utils-move-range-not-flat",this);const o=zd(e);return Md(t=t._getTransformedByDeletion(e.start,e.end.offset-e.start.offset),o)}function Nd(e){const t=[];!function e(o){if("string"==typeof o)t.push(new Dc(o));else if(o instanceof Xl)t.push(new Dc(o.data,o.getAttributes()));else if(o instanceof fc)t.push(o);else if(ae(o))for(const t of o)e(t);else{}}(e);for(let e=1;ee.maxOffset)throw new S("move-operation-nodes-do-not-exist",this);if(e===t&&o=o&&this.targetPosition.path[e]e._clone(!0)))),t=new qd(this.position,e,this.baseVersion);return t.shouldReceiveAttributes=this.shouldReceiveAttributes,t}getReversed(){const e=this.position.root.document.graveyard,t=new oc(e,[0]);return new jd(this.position,this.nodes.maxOffset,t,this.baseVersion+1)}_validate(){const e=this.position.parent;if(!e||e.maxOffsete._clone(!0)))),Md(this.position,e)}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e.nodes=this.nodes.toJSON(),e}static get className(){return"InsertOperation"}static fromJSON(e,t){const o=[];for(const t of e.nodes)t.name?o.push(Fc.fromJSON(t)):o.push(Dc.fromJSON(t));const n=new qd(oc.fromJSON(e.position,t),o,e.baseVersion);return n.shouldReceiveAttributes=e.shouldReceiveAttributes,n}}class $d extends Rd{constructor(e,t,o,n,i){super(i),this.splitPosition=e.clone(),this.splitPosition.stickiness="toNext",this.howMany=t,this.insertionPosition=o,this.graveyardPosition=n?n.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const e=this.insertionPosition.path.slice();return e.push(0),new oc(this.insertionPosition.root,e)}get movedRange(){const e=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new lc(this.splitPosition,e)}get affectedSelectable(){const e=[lc._createFromPositionAndShift(this.splitPosition,0),lc._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&e.push(lc._createFromPositionAndShift(this.graveyardPosition,0)),e}clone(){return new $d(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.splitPosition.root.document.graveyard,t=new oc(e,[0]);return new Ud(this.moveTargetPosition,this.howMany,this.splitPosition,t,this.baseVersion+1)}_validate(){const e=this.splitPosition.parent,t=this.splitPosition.offset;if(!e||e.maxOffset0&&(e.sourcePosition.isEqual(t.sourcePosition.getShiftedBy(t.howMany))&&this._setRelation(e,t,"mergeSourceAffected"),e.targetPosition.isEqual(t.sourcePosition)&&this._setRelation(e,t,"mergeTargetWasBefore"));else if(e instanceof Wd){const o=e.newRange;if(!o)return;if(t instanceof Ud){const n=o.start.isEqual(t.targetPosition),i=o.start.isEqual(t.deletionPosition),r=o.end.isEqual(t.deletionPosition),s=o.end.isEqual(t.sourcePosition);(n||i||r||s)&&this._setRelation(e,t,{wasInLeftElement:n,wasStartBeforeMergedElement:i,wasEndBeforeMergedElement:r,wasInRightElement:s})}}}getContext(e,t,o){return{aIsStrong:o,aWasUndone:this._wasUndone(e),bWasUndone:this._wasUndone(t),abRelation:this._useRelations?this._getRelation(e,t):null,baRelation:this._useRelations?this._getRelation(t,e):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(e){const t=this.originalOperations.get(e);return t.wasUndone||this._history.isUndoneOperation(t)}_getRelation(e,t){const o=this.originalOperations.get(t),n=this._history.getUndoneOperation(o);if(!n)return null;const i=this.originalOperations.get(e),r=this._relations.get(i);return r&&r.get(n)||null}_setRelation(e,t,o){const n=this.originalOperations.get(e),i=this.originalOperations.get(t);let r=this._relations.get(n);r||(r=new Map,this._relations.set(n,r)),r.set(i,o)}}function au(e,t){for(const o of e)o.baseVersion=t++}function lu(e,t){for(let o=0;o{if(e.key===t.key&&e.range.start.hasSameParentAs(t.range.start)){const n=e.range.getDifference(t.range).map((t=>new Kd(t,e.key,e.oldValue,e.newValue,0))),i=e.range.getIntersection(t.range);return i&&o.aIsStrong&&n.push(new Kd(i,t.key,t.newValue,e.newValue,0)),0==n.length?[new Zd(0)]:n}return[e]})),ou(Kd,qd,((e,t)=>{if(e.range.start.hasSameParentAs(t.position)&&e.range.containsPosition(t.position)){const o=e.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map((t=>new Kd(t,e.key,e.oldValue,e.newValue,e.baseVersion)));if(t.shouldReceiveAttributes){const n=du(t,e.key,e.oldValue);n&&o.unshift(n)}return o}return e.range=e.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[e]})),ou(Kd,Ud,((e,t)=>{const o=[];e.range.start.hasSameParentAs(t.deletionPosition)&&(e.range.containsPosition(t.deletionPosition)||e.range.start.isEqual(t.deletionPosition))&&o.push(lc._createFromPositionAndShift(t.graveyardPosition,1));const n=e.range._getTransformedByMergeOperation(t);return n.isCollapsed||o.push(n),o.map((t=>new Kd(t,e.key,e.oldValue,e.newValue,e.baseVersion)))})),ou(Kd,jd,((e,t)=>{const o=function(e,t){const o=lc._createFromPositionAndShift(t.sourcePosition,t.howMany);let n=null,i=[];o.containsRange(e,!0)?n=e:e.start.hasSameParentAs(o.start)?(i=e.getDifference(o),n=e.getIntersection(o)):i=[e];const r=[];for(let e of i){e=e._getTransformedByDeletion(t.sourcePosition,t.howMany);const o=t.getMovedRangeStart(),n=e.start.hasSameParentAs(o),i=e._getTransformedByInsertion(o,t.howMany,n);r.push(...i)}n&&r.push(n._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]);return r}(e.range,t);return o.map((t=>new Kd(t,e.key,e.oldValue,e.newValue,e.baseVersion)))})),ou(Kd,$d,((e,t)=>{if(e.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.range.end.offset++,[e];if(e.range.start.hasSameParentAs(t.splitPosition)&&e.range.containsPosition(t.splitPosition)){const o=e.clone();return o.range=new lc(t.moveTargetPosition.clone(),e.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),e.range.end=t.splitPosition.clone(),e.range.end.stickiness="toPrevious",[e,o]}return e.range=e.range._getTransformedBySplitOperation(t),[e]})),ou(qd,Kd,((e,t)=>{const o=[e];if(e.shouldReceiveAttributes&&e.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(e.position)){const n=du(e,t.key,t.newValue);n&&o.push(n)}return o})),ou(qd,qd,((e,t,o)=>(e.position.isEqual(t.position)&&o.aIsStrong||(e.position=e.position._getTransformedByInsertOperation(t)),[e]))),ou(qd,jd,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),ou(qd,$d,((e,t)=>(e.position=e.position._getTransformedBySplitOperation(t),[e]))),ou(qd,Ud,((e,t)=>(e.position=e.position._getTransformedByMergeOperation(t),[e]))),ou(Wd,qd,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByInsertOperation(t)[0]),e.newRange&&(e.newRange=e.newRange._getTransformedByInsertOperation(t)[0]),[e]))),ou(Wd,Wd,((e,t,o)=>{if(e.name==t.name){if(!o.aIsStrong)return[new Zd(0)];e.oldRange=t.newRange?t.newRange.clone():null}return[e]})),ou(Wd,Ud,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByMergeOperation(t)),e.newRange&&(e.newRange=e.newRange._getTransformedByMergeOperation(t)),[e]))),ou(Wd,jd,((e,t)=>{const o=[e];if(e.oldRange&&(e.oldRange=lc._createFromRanges(e.oldRange._getTransformedByMoveOperation(t))),e.newRange){const n=e.newRange._getTransformedByMoveOperation(t);e.newRange=n[0];for(let t=1;t{if(e.oldRange&&(e.oldRange=e.oldRange._getTransformedBySplitOperation(t)),e.newRange){if(o.abRelation){const n=e.newRange._getTransformedBySplitOperation(t);return e.newRange.start.isEqual(t.splitPosition)&&o.abRelation.wasStartBeforeMergedElement?e.newRange.start=oc._createAt(t.insertionPosition):e.newRange.start.isEqual(t.splitPosition)&&!o.abRelation.wasInLeftElement?e.newRange.start=oc._createAt(t.moveTargetPosition):e.newRange.start=n.start,e.newRange.end.isEqual(t.splitPosition)&&o.abRelation.wasInRightElement?e.newRange.end=oc._createAt(t.moveTargetPosition):e.newRange.end.isEqual(t.splitPosition)&&o.abRelation.wasEndBeforeMergedElement?e.newRange.end=oc._createAt(t.insertionPosition):e.newRange.end=n.end,[e]}e.newRange=e.newRange._getTransformedBySplitOperation(t)}return[e]})),ou(Ud,qd,((e,t)=>(e.sourcePosition.hasSameParentAs(t.position)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByInsertOperation(t),e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t),[e]))),ou(Ud,Ud,((e,t,o)=>{if(e.sourcePosition.isEqual(t.sourcePosition)&&e.targetPosition.isEqual(t.targetPosition)){if(o.bWasUndone){const o=t.graveyardPosition.path.slice();return o.push(0),e.sourcePosition=new oc(t.graveyardPosition.root,o),e.howMany=0,[e]}return[new Zd(0)]}if(e.sourcePosition.isEqual(t.sourcePosition)&&!e.targetPosition.isEqual(t.targetPosition)&&!o.bWasUndone&&"splitAtSource"!=o.abRelation){const n="$graveyard"==e.targetPosition.root.rootName,i="$graveyard"==t.targetPosition.root.rootName;if(i&&!n||!(n&&!i)&&o.aIsStrong){const o=t.targetPosition._getTransformedByMergeOperation(t),n=e.targetPosition._getTransformedByMergeOperation(t);return[new jd(o,e.howMany,n,0)]}return[new Zd(0)]}return e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMergeOperation(t),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),e.graveyardPosition.isEqual(t.graveyardPosition)&&o.aIsStrong||(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),ou(Ud,jd,((e,t,o)=>{const n=lc._createFromPositionAndShift(t.sourcePosition,t.howMany);return"remove"==t.type&&!o.bWasUndone&&e.deletionPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(e.sourcePosition)?[new Zd(0)]:(t.sourcePosition.getShiftedBy(t.howMany).isEqual(e.sourcePosition)?e.sourcePosition.stickiness="toNone":t.targetPosition.isEqual(e.sourcePosition)&&"mergeSourceAffected"==o.abRelation?e.sourcePosition.stickiness="toNext":t.sourcePosition.isEqual(e.targetPosition)?(e.targetPosition.stickiness="toNone",e.howMany-=t.howMany):t.targetPosition.isEqual(e.targetPosition)&&"mergeTargetWasBefore"==o.abRelation?(e.targetPosition.stickiness="toPrevious",e.howMany+=t.howMany):(e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition.hasSameParentAs(t.sourcePosition)&&(e.howMany-=t.howMany)),e.sourcePosition=e.sourcePosition._getTransformedByMoveOperation(t),e.targetPosition=e.targetPosition._getTransformedByMoveOperation(t),e.sourcePosition.stickiness="toPrevious",e.targetPosition.stickiness="toNext",e.graveyardPosition.isEqual(t.targetPosition)||(e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)),[e])})),ou(Ud,$d,((e,t,o)=>{if(t.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),e.deletionPosition.isEqual(t.graveyardPosition)&&(e.howMany=t.howMany)),e.targetPosition.isEqual(t.splitPosition)){if(t.graveyardPosition&&e.deletionPosition.isEqual(t.graveyardPosition)||"mergeTargetNotMoved"==o.abRelation)return e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),[e]}if(e.sourcePosition.isEqual(t.splitPosition)){if("mergeSourceNotMoved"==o.abRelation)return e.howMany=0,e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e];if("mergeSameElement"==o.abRelation||e.sourcePosition.offset>0)return e.sourcePosition=t.moveTargetPosition.clone(),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]}return e.sourcePosition.hasSameParentAs(t.splitPosition)&&(e.howMany=t.splitPosition.offset),e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]})),ou(jd,qd,((e,t)=>{const o=lc._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByInsertOperation(t,!1)[0];return e.sourcePosition=o.start,e.howMany=o.end.offset-o.start.offset,e.targetPosition.isEqual(t.position)||(e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t)),[e]})),ou(jd,jd,((e,t,o)=>{const n=lc._createFromPositionAndShift(e.sourcePosition,e.howMany),i=lc._createFromPositionAndShift(t.sourcePosition,t.howMany);let r,s=o.aIsStrong,a=!o.aIsStrong;if("insertBefore"==o.abRelation||"insertAfter"==o.baRelation?a=!0:"insertAfter"!=o.abRelation&&"insertBefore"!=o.baRelation||(a=!1),r=e.targetPosition.isEqual(t.targetPosition)&&a?e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):e.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),uu(e,t)&&uu(t,e))return[t.getReversed()];if(n.containsPosition(t.targetPosition)&&n.containsRange(i,!0))return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),hu([n],r);if(i.containsPosition(e.targetPosition)&&i.containsRange(n,!0))return n.start=n.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),n.end=n.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),hu([n],r);const l=se(e.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if("prefix"==l||"extension"==l)return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),hu([n],r);"remove"!=e.type||"remove"==t.type||o.aWasUndone||o.forceWeakRemove?"remove"==e.type||"remove"!=t.type||o.bWasUndone||o.forceWeakRemove||(s=!1):s=!0;const c=[],d=n.getDifference(i);for(const e of d){e.start=e.start._getTransformedByDeletion(t.sourcePosition,t.howMany),e.end=e.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const o="same"==se(e.start.getParentPath(),t.getMovedRangeStart().getParentPath()),n=e._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,o);c.push(...n)}const u=n.getIntersection(i);return null!==u&&s&&(u.start=u.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),u.end=u.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),0===c.length?c.push(u):1==c.length?i.start.isBefore(n.start)||i.start.isEqual(n.start)?c.unshift(u):c.push(u):c.splice(1,0,u)),0===c.length?[new Zd(e.baseVersion)]:hu(c,r)})),ou(jd,$d,((e,t,o)=>{let n=e.targetPosition.clone();e.targetPosition.isEqual(t.insertionPosition)&&t.graveyardPosition&&"moveTargetAfter"!=o.abRelation||(n=e.targetPosition._getTransformedBySplitOperation(t));const i=lc._createFromPositionAndShift(e.sourcePosition,e.howMany);if(i.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.howMany++,e.targetPosition=n,[e];if(i.start.hasSameParentAs(t.splitPosition)&&i.containsPosition(t.splitPosition)){let e=new lc(t.splitPosition,i.end);e=e._getTransformedBySplitOperation(t);return hu([new lc(i.start,t.splitPosition),e],n)}e.targetPosition.isEqual(t.splitPosition)&&"insertAtSource"==o.abRelation&&(n=t.moveTargetPosition),e.targetPosition.isEqual(t.insertionPosition)&&"insertBetween"==o.abRelation&&(n=e.targetPosition);const r=[i._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const n=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);e.howMany>1&&n&&!o.aWasUndone&&r.push(lc._createFromPositionAndShift(t.insertionPosition,1))}return hu(r,n)})),ou(jd,Ud,((e,t,o)=>{const n=lc._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&n.containsPosition(t.sourcePosition))if("remove"!=e.type||o.forceWeakRemove){if(1==e.howMany)return o.bWasUndone?(e.sourcePosition=t.graveyardPosition.clone(),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]):[new Zd(0)]}else if(!o.aWasUndone){const o=[];let n=t.graveyardPosition.clone(),i=t.targetPosition._getTransformedByMergeOperation(t);const r=e.targetPosition.getTransformedByOperation(t);e.howMany>1&&(o.push(new jd(e.sourcePosition,e.howMany-1,r,0)),n=n._getTransformedByMove(e.sourcePosition,r,e.howMany-1),i=i._getTransformedByMove(e.sourcePosition,r,e.howMany-1));const s=t.deletionPosition._getCombined(e.sourcePosition,r),a=new jd(n,1,s,0),l=a.getMovedRangeStart().path.slice();l.push(0);const c=new oc(a.targetPosition.root,l);i=i._getTransformedByMove(n,s,1);const d=new jd(i,t.howMany,c,0);return o.push(a),o.push(d),o}const i=lc._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByMergeOperation(t);return e.sourcePosition=i.start,e.howMany=i.end.offset-i.start.offset,e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]})),ou(Jd,qd,((e,t)=>(e.position=e.position._getTransformedByInsertOperation(t),[e]))),ou(Jd,Ud,((e,t)=>e.position.isEqual(t.deletionPosition)?(e.position=t.graveyardPosition.clone(),e.position.stickiness="toNext",[e]):(e.position=e.position._getTransformedByMergeOperation(t),[e]))),ou(Jd,jd,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),ou(Jd,Jd,((e,t,o)=>{if(e.position.isEqual(t.position)){if(!o.aIsStrong)return[new Zd(0)];e.oldName=t.newName}return[e]})),ou(Jd,$d,((e,t)=>{if("same"==se(e.position.path,t.splitPosition.getParentPath())&&!t.graveyardPosition){const t=new Jd(e.position.getShiftedBy(1),e.oldName,e.newName,0);return[e,t]}return e.position=e.position._getTransformedBySplitOperation(t),[e]})),ou(Yd,Yd,((e,t,o)=>{if(e.root===t.root&&e.key===t.key){if(!o.aIsStrong||e.newValue===t.newValue)return[new Zd(0)];e.oldValue=t.newValue}return[e]})),ou(Qd,Qd,((e,t)=>e.rootName===t.rootName&&e.isAdd===t.isAdd?[new Zd(0)]:[e])),ou($d,qd,((e,t)=>(e.splitPosition.hasSameParentAs(t.position)&&e.splitPosition.offset{if(!e.graveyardPosition&&!o.bWasUndone&&e.splitPosition.hasSameParentAs(t.sourcePosition)){const o=t.graveyardPosition.path.slice();o.push(0);const n=new oc(t.graveyardPosition.root,o),i=$d.getInsertionPosition(new oc(t.graveyardPosition.root,o)),r=new $d(n,0,i,null,0);return e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=$d.getInsertionPosition(e.splitPosition),e.graveyardPosition=r.insertionPosition.clone(),e.graveyardPosition.stickiness="toNext",[r,e]}return e.splitPosition.hasSameParentAs(t.deletionPosition)&&!e.splitPosition.isAfter(t.deletionPosition)&&e.howMany--,e.splitPosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=$d.getInsertionPosition(e.splitPosition),e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),ou($d,jd,((e,t,o)=>{const n=lc._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.graveyardPosition){const i=n.start.isEqual(e.graveyardPosition)||n.containsPosition(e.graveyardPosition);if(!o.bWasUndone&&i){const o=e.splitPosition._getTransformedByMoveOperation(t),n=e.graveyardPosition._getTransformedByMoveOperation(t),i=n.path.slice();i.push(0);const r=new oc(n.root,i);return[new jd(o,e.howMany,r,0)]}e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)}const i=e.splitPosition.isEqual(t.targetPosition);if(i&&("insertAtSource"==o.baRelation||"splitBefore"==o.abRelation))return e.howMany+=t.howMany,e.splitPosition=e.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),e.insertionPosition=$d.getInsertionPosition(e.splitPosition),[e];if(i&&o.abRelation&&o.abRelation.howMany){const{howMany:t,offset:n}=o.abRelation;return e.howMany+=t,e.splitPosition=e.splitPosition.getShiftedBy(n),[e]}if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(e.splitPosition)){const o=t.howMany-(e.splitPosition.offset-t.sourcePosition.offset);return e.howMany-=o,e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset{if(e.splitPosition.isEqual(t.splitPosition)){if(!e.graveyardPosition&&!t.graveyardPosition)return[new Zd(0)];if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition))return[new Zd(0)];if("splitBefore"==o.abRelation)return e.howMany=0,e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t),[e]}if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition)){const n="$graveyard"==e.splitPosition.root.rootName,i="$graveyard"==t.splitPosition.root.rootName;if(i&&!n||!(n&&!i)&&o.aIsStrong){const o=[];return t.howMany&&o.push(new jd(t.moveTargetPosition,t.howMany,t.splitPosition,0)),e.howMany&&o.push(new jd(e.splitPosition,e.howMany,e.moveTargetPosition,0)),o}return[new Zd(0)]}if(e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t)),e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==o.abRelation)return e.howMany++,[e];if(t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==o.baRelation){const o=t.insertionPosition.path.slice();o.push(0);const n=new oc(t.insertionPosition.root,o);return[e,new jd(e.insertionPosition,1,n,0)]}return e.splitPosition.hasSameParentAs(t.splitPosition)&&e.splitPosition.offset{const o=t[0];o.isDocumentOperation&&gu.call(this,o)}),{priority:"low"})}function gu(e){const t=this.getTransformedByOperation(e);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}pu.prototype.is=function(e){return"livePosition"===e||"model:livePosition"===e||"position"==e||"model:position"===e};class fu{constructor(e={}){"string"==typeof e&&(e="transparent"===e?{isUndoable:!1}:{},T("batch-constructor-deprecated-string-type"));const{isUndoable:t=!0,isLocal:o=!0,isUndo:n=!1,isTyping:i=!1}=e;this.operations=[],this.isUndoable=t,this.isLocal=o,this.isUndo=n,this.isTyping=i}get type(){return T("batch-type-deprecated"),"default"}get baseVersion(){for(const e of this.operations)if(null!==e.baseVersion)return e.baseVersion;return null}addOperation(e){return e.isDocumentOperation&&(e.batch=this,this.operations.push(e)),e}}class bu{constructor(e){this._changesInElement=new Map,this._elementsSnapshots=new Map,this._elementChildrenSnapshots=new Map,this._elementState=new Map,this._changedMarkers=new Map,this._changedRoots=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set,this._markerCollection=e}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size&&0==this._changedRoots.size}bufferOperation(e){const t=e;switch(t.type){case"insert":if(this._isInInsertedElement(t.position.parent))return;this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const e of t.range.getItems({shallow:!0}))this._isInInsertedElement(e.parent)||this._markAttribute(e);break;case"remove":case"move":case"reinsert":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition))return;const e=this._isInInsertedElement(t.sourcePosition.parent),o=this._isInInsertedElement(t.targetPosition.parent);e||this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany),o||this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany);const n=lc._createFromPositionAndShift(t.sourcePosition,t.howMany);for(const e of n.getItems({shallow:!0}))this._setElementState(e,"move");break}case"rename":{if(this._isInInsertedElement(t.position.parent))return;this._markRemove(t.position.parent,t.position.offset,1),this._markInsert(t.position.parent,t.position.offset,1);const e=lc._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._setElementState(t.position.nodeAfter,"rename");break}case"split":{const e=t.splitPosition.parent;if(!this._isInInsertedElement(e)){this._markRemove(e,t.splitPosition.offset,t.howMany);const o=lc._createFromPositionAndShift(t.splitPosition,t.howMany);for(const e of o.getItems({shallow:!0}))this._setElementState(e,"move")}this._isInInsertedElement(t.insertionPosition.parent)||this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1),t.graveyardPosition&&(this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1),this._setElementState(t.graveyardPosition.nodeAfter,"move"));break}case"merge":{const e=t.sourcePosition.parent;this._isInInsertedElement(e.parent)||this._markRemove(e.parent,e.startOffset,1);const o=t.graveyardPosition.parent;this._markInsert(o,t.graveyardPosition.offset,1),this._setElementState(e,"move");const n=t.targetPosition.parent;if(!this._isInInsertedElement(n)){this._markInsert(n,t.targetPosition.offset,e.maxOffset);const o=lc._createFromPositionAndShift(t.sourcePosition,t.howMany);for(const e of o.getItems({shallow:!0}))this._setElementState(e,"move")}break}case"detachRoot":case"addRoot":{const e=t.affectedSelectable;if(!e._isLoaded)return;if(e.isAttached()==t.isAdd)return;this._bufferRootStateChange(t.rootName,t.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!t.root._isLoaded)return;const e=t.root.rootName;this._bufferRootAttributeChange(e,t.key,t.oldValue,t.newValue);break}}this._cachedChanges=null}bufferMarkerChange(e,t,o){t.range&&t.range.root.is("rootElement")&&!t.range.root._isLoaded&&(t.range=null),o.range&&o.range.root.is("rootElement")&&!o.range.root._isLoaded&&(o.range=null);let n=this._changedMarkers.get(e);n?n.newMarkerData=o:(n={newMarkerData:o,oldMarkerData:t},this._changedMarkers.set(e,n)),null==n.oldMarkerData.range&&null==o.range&&this._changedMarkers.delete(e)}getMarkersToRemove(){const e=[];for(const[t,o]of this._changedMarkers)null!=o.oldMarkerData.range&&e.push({name:t,range:o.oldMarkerData.range});return e}getMarkersToAdd(){const e=[];for(const[t,o]of this._changedMarkers)null!=o.newMarkerData.range&&e.push({name:t,range:o.newMarkerData.range});return e}getChangedMarkers(){return Array.from(this._changedMarkers).map((([e,t])=>({name:e,data:{oldRange:t.oldMarkerData.range,newRange:t.newMarkerData.range}})))}hasDataChanges(){if(this.getChanges().length)return!0;if(this._changedRoots.size>0)return!0;for(const{newMarkerData:e,oldMarkerData:t}of this._changedMarkers.values()){if(e.affectsData!==t.affectsData)return!0;if(e.affectsData){const o=e.range&&!t.range,n=!e.range&&t.range,i=e.range&&t.range&&!e.range.isEqual(t.range);if(o||n||i)return!0}}return!1}getChanges(e={}){if(this._cachedChanges)return e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let t=[];for(const e of this._changesInElement.keys()){const o=this._changesInElement.get(e).sort(((e,t)=>e.offset===t.offset?e.type!=t.type?"remove"==e.type?-1:1:0:e.offsete.position.root!=t.position.root?e.position.root.rootNamee));for(const e of t)delete e.changeCount,"attribute"==e.type&&(delete e.position,delete e.length);return this._changeCount=0,this._cachedChangesWithGraveyard=t,this._cachedChanges=t.filter(Au),e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map((e=>{const t={...e};return void 0!==t.state&&delete t.attributes,t}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementChildrenSnapshots.clear(),this._elementsSnapshots.clear(),this._elementState.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems.clear(),this._cachedChanges=null}_refreshItem(e){if(this._isInInsertedElement(e.parent))return;this._markRemove(e.parent,e.startOffset,e.offsetSize),this._markInsert(e.parent,e.startOffset,e.offsetSize),this._refreshedItems.add(e),this._setElementState(e,"refresh");const t=lc._createOn(e);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}this._cachedChanges=null}_bufferRootLoad(e){if(e.isAttached()){this._bufferRootStateChange(e.rootName,!0),this._markInsert(e,0,e.maxOffset);for(const t of e.getAttributeKeys())this._bufferRootAttributeChange(e.rootName,t,null,e.getAttribute(t));for(const t of this._markerCollection)if(t.getRange().root==e){const e=t.getData();this.bufferMarkerChange(t.name,{...e,range:null},e)}}}_bufferRootStateChange(e,t){if(!this._changedRoots.has(e))return void this._changedRoots.set(e,{name:e,state:t?"attached":"detached"});const o=this._changedRoots.get(e);void 0!==o.state?(delete o.state,void 0===o.attributes&&this._changedRoots.delete(e)):o.state=t?"attached":"detached"}_bufferRootAttributeChange(e,t,o,n){const i=this._changedRoots.get(e)||{name:e},r=i.attributes||{};if(r[t]){const e=r[t];n===e.oldValue?delete r[t]:e.newValue=n}else r[t]={oldValue:o,newValue:n};0===Object.entries(r).length?(delete i.attributes,void 0===i.state&&this._changedRoots.delete(e)):(i.attributes=r,this._changedRoots.set(e,i))}_markInsert(e,t,o){if(e.root.is("rootElement")&&!e.root._isLoaded)return;const n={type:"insert",offset:t,howMany:o,count:this._changeCount++};this._markChange(e,n)}_markRemove(e,t,o){if(e.root.is("rootElement")&&!e.root._isLoaded)return;const n={type:"remove",offset:t,howMany:o,count:this._changeCount++};this._markChange(e,n),this._removeAllNestedChanges(e,t,o)}_markAttribute(e){if(e.root.is("rootElement")&&!e.root._isLoaded)return;const t={type:"attribute",offset:e.startOffset,howMany:e.offsetSize,count:this._changeCount++};this._markChange(e.parent,t)}_markChange(e,t){this._makeSnapshots(e);const o=this._getChangesForElement(e);this._handleChange(t,o),o.push(t);for(let e=0;eo&&this._elementState.set(e,t)}_getDiffActionForNode(e,t){if(!e.is("element"))return t;if(!this._elementsSnapshots.has(e))return t;const o=this._elementState.get(e);return o&&"move"!=o?o:t}_getChangesForElement(e){let t;return this._changesInElement.has(e)?t=this._changesInElement.get(e):(t=[],this._changesInElement.set(e,t)),t}_makeSnapshots(e){if(this._elementChildrenSnapshots.has(e))return;const t=_u(e.getChildren());this._elementChildrenSnapshots.set(e,t);for(const e of t)this._elementsSnapshots.set(e.node,e)}_handleChange(e,t){e.nodesToHandle=e.howMany;for(const o of t){const n=e.offset+e.howMany,i=o.offset+o.howMany;if("insert"==e.type&&("insert"==o.type&&(e.offset<=o.offset?o.offset+=e.howMany:e.offseto.offset){if(n>i){const e={type:"attribute",offset:i,howMany:n-i,count:this._changeCount++};this._handleChange(e,t),t.push(e)}e.nodesToHandle=o.offset-e.offset,e.howMany=e.nodesToHandle}else e.offset>=o.offset&&e.offseti?(e.nodesToHandle=n-i,e.offset=i):e.nodesToHandle=0);if("remove"==o.type&&e.offseto.offset){const i={type:"attribute",offset:o.offset,howMany:n-o.offset,count:this._changeCount++};this._handleChange(i,t),t.push(i),e.nodesToHandle=o.offset-e.offset,e.howMany=e.nodesToHandle}"attribute"==o.type&&(e.offset>=o.offset&&n<=i?(e.nodesToHandle=0,e.howMany=0,e.offset=0):e.offset<=o.offset&&n>=i&&(o.howMany=0))}}e.howMany=e.nodesToHandle,delete e.nodesToHandle}_getInsertDiff(e,t,o,n,i){const r={type:"insert",position:oc._createAt(e,t),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++,action:o};return"insert"!=o&&i&&(r.before={name:i.name,attributes:new Map(i.attributes)}),r}_getRemoveDiff(e,t,o,n){return{type:"remove",action:o,position:oc._createAt(e,t),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(e,t,o){const n=[];o=new Map(o);for(const[i,r]of t){const t=o.has(i)?o.get(i):null;t!==r&&n.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:t,changeCount:this._changeCount++}),o.delete(i)}for(const[t,i]of o)n.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:t,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++});return n}_isInInsertedElement(e){const t=e.parent;if(!t)return!1;const o=this._changesInElement.get(t),n=e.startOffset;if(o)for(const e of o)if("insert"==e.type&&n>=e.offset&&nn){for(let t=0;t1500)for(let t=0;tthis._version+1&&this._gaps.set(this._version,e),this._version=e}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(e){if(e.baseVersion!==this.version)throw new S("model-document-history-addoperation-incorrect-version",this,{operation:e,historyVersion:this.version});this._operations.push(e),this._version++,this._baseVersionToOperationIndex.set(e.baseVersion,this._operations.length-1)}getOperations(e,t=this.version){if(!this._operations.length)return[];const o=this._operations[0];void 0===e&&(e=o.baseVersion);let n=t-1;for(const[t,o]of this._gaps)e>t&&et&&nthis.lastOperation.baseVersion)return[];let i=this._baseVersionToOperationIndex.get(e);void 0===i&&(i=0);let r=this._baseVersionToOperationIndex.get(n);return void 0===r&&(r=this._operations.length-1),this._operations.slice(i,r+1)}getOperation(e){const t=this._baseVersionToOperationIndex.get(e);if(void 0!==t)return this._operations[t]}setOperationAsUndone(e,t){this._undoPairs.set(t,e),this._undoneOperations.add(e)}isUndoingOperation(e){return this._undoPairs.has(e)}isUndoneOperation(e){return this._undoneOperations.has(e)}getUndoneOperation(e){return this._undoPairs.get(e)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class vu extends Fc{constructor(e,t,o="main"){super(t),this._isAttached=!0,this._isLoaded=!0,this._document=e,this.rootName=o}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}vu.prototype.is=function(e,t){return t?t===this.name&&("rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e):"rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e||"node"===e||"model:node"===e};const xu="$graveyard";class Eu extends(V()){constructor(e){super(),this.model=e,this.history=new Cu,this.selection=new Sc(this),this.roots=new tr({idProperty:"rootName"}),this.differ=new ku(e.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",xu),this.listenTo(e,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&this.differ.bufferOperation(o)}),{priority:"high"}),this.listenTo(e,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&this.history.addOperation(o)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(e.markers,"update",((e,t,o,n,i)=>{const r={...t.getData(),range:n};this.differ.bufferMarkerChange(t.name,i,r),null===o&&t.on("change",((e,o)=>{const n=t.getData();this.differ.bufferMarkerChange(t.name,{...n,range:o},n)}))})),this.registerPostFixer((e=>{let t=!1;for(const o of this.roots)o.isAttached()||o.isEmpty||(e.remove(e.createRangeIn(o)),t=!0);for(const o of this.model.markers)o.getRange().root.isAttached()||(e.removeMarker(o),t=!0);return t}))}get version(){return this.history.version}set version(e){this.history.version=e}get graveyard(){return this.getRoot(xu)}createRoot(e="$root",t="main"){if(this.roots.get(t))throw new S("model-document-createroot-name-exists",this,{name:t});const o=new vu(this,e,t);return this.roots.add(o),o}destroy(){this.selection.destroy(),this.stopListening()}getRoot(e="main"){return this.roots.get(e)}getRootNames(e=!1){return this.getRoots(e).map((e=>e.rootName))}getRoots(e=!1){return this.roots.filter((t=>t!=this.graveyard&&(e||t.isAttached())&&t._isLoaded))}registerPostFixer(e){this._postFixers.add(e)}toJSON(){const e=ms(this);return e.selection="[engine.model.DocumentSelection]",e.model="[engine.model.Model]",e}_handleChangeBlock(e){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(e),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",e.batch):this.fire("change",e.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const e=this.getRoots();return e.length?e[0]:this.graveyard}_getDefaultRange(){const e=this._getDefaultRoot(),t=this.model,o=t.schema,n=t.createPositionFromPath(e,[0]);return o.getNearestSelectionRange(n)||t.createRange(n)}_validateSelectionRange(e){return e.start.isValid()&&e.end.isValid()&&Du(e.start)&&Du(e.end)}_callPostFixers(e){let t=!1;do{for(const o of this._postFixers)if(this.selection.refresh(),t=o(e),t)break}while(t)}}function Du(e){const t=e.textNode;if(t){const o=t.data,n=e.offset-t.startOffset;return!hr(o,n)&&!pr(o,n)}return!0}class Bu extends(V()){constructor(){super(...arguments),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(e){const t=e instanceof Su?e.name:e;return this._markers.has(t)}get(e){return this._markers.get(e)||null}_set(e,t,o=!1,n=!1){const i=e instanceof Su?e.name:e;if(i.includes(","))throw new S("markercollection-incorrect-marker-name",this);const r=this._markers.get(i);if(r){const e=r.getData(),s=r.getRange();let a=!1;return s.isEqual(t)||(r._attachLiveRange(vc.fromRange(t)),a=!0),o!=r.managedUsingOperations&&(r._managedUsingOperations=o,a=!0),"boolean"==typeof n&&n!=r.affectsData&&(r._affectsData=n,a=!0),a&&this.fire(`update:${i}`,r,s,t,e),r}const s=vc.fromRange(t),a=new Su(i,s,o,n);return this._markers.set(i,a),this.fire(`update:${i}`,a,null,t,{...a.getData(),range:null}),a}_remove(e){const t=e instanceof Su?e.name:e,o=this._markers.get(t);return!!o&&(this._markers.delete(t),this.fire(`update:${t}`,o,o.getRange(),null,o.getData()),this._destroyMarker(o),!0)}_refresh(e){const t=e instanceof Su?e.name:e,o=this._markers.get(t);if(!o)throw new S("markercollection-refresh-marker-not-exists",this);const n=o.getRange();this.fire(`update:${t}`,o,n,n,o.getData())}*getMarkersAtPosition(e){for(const t of this)t.getRange().containsPosition(e)&&(yield t)}*getMarkersIntersectingRange(e){for(const t of this)null!==t.getRange().getIntersection(e)&&(yield t)}destroy(){for(const e of this._markers.values())this._destroyMarker(e);this._markers=null,this.stopListening()}*getMarkersGroup(e){for(const t of this._markers.values())t.name.startsWith(e+":")&&(yield t)}_destroyMarker(e){e.stopListening(),e._detachLiveRange()}}class Su extends(V(Ql)){constructor(e,t,o,n){super(),this.name=e,this._liveRange=this._attachLiveRange(t),this._managedUsingOperations=o,this._affectsData=n}get managedUsingOperations(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(e){return this._liveRange&&this._detachLiveRange(),e.delegate("change:range").to(this),e.delegate("change:content").to(this),this._liveRange=e,e}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Su.prototype.is=function(e){return"marker"===e||"model:marker"===e};class Tu extends Rd{constructor(e,t){super(null),this.sourcePosition=e.clone(),this.howMany=t}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e}_validate(){if(this.sourcePosition.root.document)throw new S("detach-operation-on-document-node",this)}_execute(){zd(lc._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class Iu extends Ql{constructor(e){super(),this.markers=new Map,this._children=new Pc,e&&this._insertChild(0,e)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(e){return this._children.getNode(e)}getChildAtOffset(e){return this._children.getNodeAtOffset(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}getPath(){return[]}getNodeByPath(e){let t=this;for(const o of e)t=t.getChildAtOffset(o);return t}offsetToIndex(e){return this._children.offsetToIndex(e)}toJSON(){const e=[];for(const t of this._children)e.push(t.toJSON());return e}static fromJSON(e){const t=[];for(const o of e)o.name?t.push(Fc.fromJSON(o)):t.push(Dc.fromJSON(o));return new Iu(t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const o=function(e){if("string"==typeof e)return[new Dc(e)];ae(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new Dc(e):e instanceof Xl?new Dc(e.data,e.getAttributes()):e))}(t);for(const e of o)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,o)}_removeChildren(e,t=1){const o=this._children._removeNodes(e,t);for(const e of o)e.parent=null;return o}_removeChildrenArray(e){this._children._removeNodesArray(e);for(const t of e)t.parent=null}}Iu.prototype.is=function(e){return"documentFragment"===e||"model:documentFragment"===e};class Pu{constructor(e,t){this.model=e,this.batch=t}createText(e,t){return new Dc(e,t)}createElement(e,t){return new Fc(e,t)}createDocumentFragment(){return new Iu}cloneElement(e,t=!0){return e._clone(t)}insert(e,t,o=0){if(this._assertWriterUsedCorrectly(),e instanceof Dc&&""==e.data)return;const n=oc._createAt(t,o);if(e.parent){if(Ou(e.root,n.root))return void this.move(lc._createOn(e),n);if(e.root.document)throw new S("model-writer-insert-forbidden-move",this);this.remove(e)}const i=n.root.document?n.root.document.version:null,r=e instanceof Iu?e._removeChildren(0,e.childCount):e,s=new qd(n,r,i);if(e instanceof Dc&&(s.shouldReceiveAttributes=!0),this.batch.addOperation(s),this.model.applyOperation(s),e instanceof Iu)for(const[t,o]of e.markers){const e=oc._createAt(o.root,0),i={range:new lc(o.start._getCombined(e,n),o.end._getCombined(e,n)),usingOperation:!0,affectsData:!0};this.model.markers.has(t)?this.updateMarker(t,i):this.addMarker(t,i)}}insertText(e,t,o,n){t instanceof Iu||t instanceof Fc||t instanceof oc?this.insert(this.createText(e),t,o):this.insert(this.createText(e,t),o,n)}insertElement(e,t,o,n){t instanceof Iu||t instanceof Fc||t instanceof oc?this.insert(this.createElement(e),t,o):this.insert(this.createElement(e,t),o,n)}append(e,t){this.insert(e,t,"end")}appendText(e,t,o){t instanceof Iu||t instanceof Fc?this.insert(this.createText(e),t,"end"):this.insert(this.createText(e,t),o,"end")}appendElement(e,t,o){t instanceof Iu||t instanceof Fc?this.insert(this.createElement(e),t,"end"):this.insert(this.createElement(e,t),o,"end")}setAttribute(e,t,o){if(this._assertWriterUsedCorrectly(),o instanceof lc){const n=o.getMinimalFlatRanges();for(const o of n)Fu(this,e,t,o)}else Ru(this,e,t,o)}setAttributes(e,t){for(const[o,n]of lr(e))this.setAttribute(o,n,t)}removeAttribute(e,t){if(this._assertWriterUsedCorrectly(),t instanceof lc){const o=t.getMinimalFlatRanges();for(const t of o)Fu(this,e,null,t)}else Ru(this,e,null,t)}clearAttributes(e){this._assertWriterUsedCorrectly();const t=e=>{for(const t of e.getAttributeKeys())this.removeAttribute(t,e)};if(e instanceof lc)for(const o of e.getItems())t(o);else t(e)}move(e,t,o){if(this._assertWriterUsedCorrectly(),!(e instanceof lc))throw new S("writer-move-invalid-range",this);if(!e.isFlat)throw new S("writer-move-range-not-flat",this);const n=oc._createAt(t,o);if(n.isEqual(e.start))return;if(this._addOperationForAffectedMarkers("move",e),!Ou(e.root,n.root))throw new S("writer-move-different-document",this);const i=e.root.document?e.root.document.version:null,r=new jd(e.start,e.end.offset-e.start.offset,n,i);this.batch.addOperation(r),this.model.applyOperation(r)}remove(e){this._assertWriterUsedCorrectly();const t=(e instanceof lc?e:lc._createOn(e)).getMinimalFlatRanges().reverse();for(const e of t)this._addOperationForAffectedMarkers("move",e),zu(e.start,e.end.offset-e.start.offset,this.batch,this.model)}merge(e){this._assertWriterUsedCorrectly();const t=e.nodeBefore,o=e.nodeAfter;if(this._addOperationForAffectedMarkers("merge",e),!(t instanceof Fc))throw new S("writer-merge-no-element-before",this);if(!(o instanceof Fc))throw new S("writer-merge-no-element-after",this);e.root.document?this._merge(e):this._mergeDetached(e)}createPositionFromPath(e,t,o){return this.model.createPositionFromPath(e,t,o)}createPositionAt(e,t){return this.model.createPositionAt(e,t)}createPositionAfter(e){return this.model.createPositionAfter(e)}createPositionBefore(e){return this.model.createPositionBefore(e)}createRange(e,t){return this.model.createRange(e,t)}createRangeIn(e){return this.model.createRangeIn(e)}createRangeOn(e){return this.model.createRangeOn(e)}createSelection(...e){return this.model.createSelection(...e)}_mergeDetached(e){const t=e.nodeBefore,o=e.nodeAfter;this.move(lc._createIn(o),oc._createAt(t,"end")),this.remove(o)}_merge(e){const t=oc._createAt(e.nodeBefore,"end"),o=oc._createAt(e.nodeAfter,0),n=e.root.document.graveyard,i=new oc(n,[0]),r=e.root.document.version,s=new Ud(o,e.nodeAfter.maxOffset,t,i,r);this.batch.addOperation(s),this.model.applyOperation(s)}rename(e,t){if(this._assertWriterUsedCorrectly(),!(e instanceof Fc))throw new S("writer-rename-not-element-instance",this);const o=e.root.document?e.root.document.version:null,n=new Jd(oc._createBefore(e),e.name,t,o);this.batch.addOperation(n),this.model.applyOperation(n)}split(e,t){this._assertWriterUsedCorrectly();let o,n,i=e.parent;if(!i.parent)throw new S("writer-split-element-no-parent",this);if(t||(t=i.parent),!e.parent.getAncestors({includeSelf:!0}).includes(t))throw new S("writer-split-invalid-limit-element",this);do{const t=i.root.document?i.root.document.version:null,r=i.maxOffset-e.offset,s=$d.getInsertionPosition(e),a=new $d(e,r,s,null,t);this.batch.addOperation(a),this.model.applyOperation(a),o||n||(o=i,n=e.parent.nextSibling),i=(e=this.createPositionAfter(e.parent)).parent}while(i!==t);return{position:e,range:new lc(oc._createAt(o,"end"),oc._createAt(n,0))}}wrap(e,t){if(this._assertWriterUsedCorrectly(),!e.isFlat)throw new S("writer-wrap-range-not-flat",this);const o=t instanceof Fc?t:new Fc(t);if(o.childCount>0)throw new S("writer-wrap-element-not-empty",this);if(null!==o.parent)throw new S("writer-wrap-element-attached",this);this.insert(o,e.start);const n=new lc(e.start.getShiftedBy(1),e.end.getShiftedBy(1));this.move(n,oc._createAt(o,0))}unwrap(e){if(this._assertWriterUsedCorrectly(),null===e.parent)throw new S("writer-unwrap-element-no-parent",this);this.move(lc._createIn(e),this.createPositionAfter(e)),this.remove(e)}addMarker(e,t){if(this._assertWriterUsedCorrectly(),!t||"boolean"!=typeof t.usingOperation)throw new S("writer-addmarker-no-usingoperation",this);const o=t.usingOperation,n=t.range,i=void 0!==t.affectsData&&t.affectsData;if(this.model.markers.has(e))throw new S("writer-addmarker-marker-exists",this);if(!n)throw new S("writer-addmarker-no-range",this);return o?(Mu(this,e,null,n,i),this.model.markers.get(e)):this.model.markers._set(e,n,o,i)}updateMarker(e,t){this._assertWriterUsedCorrectly();const o="string"==typeof e?e:e.name,n=this.model.markers.get(o);if(!n)throw new S("writer-updatemarker-marker-not-exists",this);if(!t)return T("writer-updatemarker-reconvert-using-editingcontroller",{markerName:o}),void this.model.markers._refresh(n);const i="boolean"==typeof t.usingOperation,r="boolean"==typeof t.affectsData,s=r?t.affectsData:n.affectsData;if(!i&&!t.range&&!r)throw new S("writer-updatemarker-wrong-options",this);const a=n.getRange(),l=t.range?t.range:a;i&&t.usingOperation!==n.managedUsingOperations?t.usingOperation?Mu(this,o,null,l,s):(Mu(this,o,a,null,s),this.model.markers._set(o,l,void 0,s)):n.managedUsingOperations?Mu(this,o,a,l,s):this.model.markers._set(o,l,void 0,s)}removeMarker(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?e:e.name;if(!this.model.markers.has(t))throw new S("writer-removemarker-no-marker",this);const o=this.model.markers.get(t);if(!o.managedUsingOperations)return void this.model.markers._remove(t);Mu(this,t,o.getRange(),null,o.affectsData)}addRoot(e,t="$root"){this._assertWriterUsedCorrectly();const o=this.model.document.getRoot(e);if(o&&o.isAttached())throw new S("writer-addroot-root-exists",this);const n=this.model.document,i=new Qd(e,t,!0,n,n.version);return this.batch.addOperation(i),this.model.applyOperation(i),this.model.document.getRoot(e)}detachRoot(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?this.model.document.getRoot(e):e;if(!t||!t.isAttached())throw new S("writer-detachroot-no-root",this);for(const e of this.model.markers)e.getRange().root===t&&this.removeMarker(e);for(const e of t.getAttributeKeys())this.removeAttribute(e,t);this.remove(this.createRangeIn(t));const o=this.model.document,n=new Qd(t.rootName,t.name,!1,o,o.version);this.batch.addOperation(n),this.model.applyOperation(n)}setSelection(...e){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...e)}setSelectionFocus(e,t){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(e,t)}setSelectionAttribute(e,t){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._setSelectionAttribute(e,t);else for(const[t,o]of lr(e))this._setSelectionAttribute(t,o)}removeSelectionAttribute(e){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._removeSelectionAttribute(e);else for(const t of e)this._removeSelectionAttribute(t)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(e){this.model.document.selection._restoreGravity(e)}_setSelectionAttribute(e,t){const o=this.model.document.selection;if(o.isCollapsed&&o.anchor.parent.isEmpty){const n=Sc._getStoreAttributeKey(e);this.setAttribute(n,t,o.anchor.parent)}o._setAttribute(e,t)}_removeSelectionAttribute(e){const t=this.model.document.selection;if(t.isCollapsed&&t.anchor.parent.isEmpty){const o=Sc._getStoreAttributeKey(e);this.removeAttribute(o,t.anchor.parent)}t._removeAttribute(e)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new S("writer-incorrect-use",this)}_addOperationForAffectedMarkers(e,t){for(const o of this.model.markers){if(!o.managedUsingOperations)continue;const n=o.getRange();let i=!1;if("move"===e){const e=t;i=e.containsPosition(n.start)||e.start.isEqual(n.start)||e.containsPosition(n.end)||e.end.isEqual(n.end)}else{const e=t,o=e.nodeBefore,r=e.nodeAfter,s=n.start.parent==o&&n.start.isAtEnd,a=n.end.parent==r&&0==n.end.offset,l=n.end.nodeAfter==r,c=n.start.nodeAfter==r;i=s||a||l||c}i&&this.updateMarker(o.name,{range:n})}}}function Fu(e,t,o,n){const i=e.model,r=i.document;let s,a,l,c=n.start;for(const e of n.getWalker({shallow:!0}))l=e.item.getAttribute(t),s&&a!=l&&(a!=o&&d(),c=s),s=e.nextPosition,a=l;function d(){const n=new lc(c,s),l=n.root.document?r.version:null,d=new Kd(n,t,a,o,l);e.batch.addOperation(d),i.applyOperation(d)}s instanceof oc&&s!=c&&a!=o&&d()}function Ru(e,t,o,n){const i=e.model,r=i.document,s=n.getAttribute(t);let a,l;if(s!=o){if(n.root===n){const e=n.document?r.version:null;l=new Yd(n,t,s,o,e)}else{a=new lc(oc._createBefore(n),e.createPositionAfter(n));const i=a.root.document?r.version:null;l=new Kd(a,t,s,o,i)}e.batch.addOperation(l),i.applyOperation(l)}}function Mu(e,t,o,n,i){const r=e.model,s=r.document,a=new Wd(t,o,n,r.markers,!!i,s.version);e.batch.addOperation(a),r.applyOperation(a)}function zu(e,t,o,n){let i;if(e.root.document){const o=n.document,r=new oc(o.graveyard,[0]);i=new jd(e,t,r,o.version)}else i=new Tu(e,t);o.addOperation(i),n.applyOperation(i)}function Ou(e,t){return e===t||e instanceof vu&&t instanceof vu}function Nu(e,t,o={}){if(t.isCollapsed)return;const n=t.getFirstRange();if("$graveyard"==n.root.rootName)return;const i=e.schema;e.change((e=>{if(!o.doNotResetEntireContent&&function(e,t){const o=e.getLimitElement(t);if(!t.containsEntireContent(o))return!1;const n=t.getFirstRange();if(n.start.parent==n.end.parent)return!1;return e.checkChild(o,"paragraph")}(i,t))return void function(e,t){const o=e.model.schema.getLimitElement(t);e.remove(e.createRangeIn(o)),ju(e,e.createPositionAt(o,0),t)}(e,t);const r={};if(!o.doNotAutoparagraph){const e=t.getSelectedElement();e&&Object.assign(r,i.getAttributesWithProperty(e,"copyOnReplace",!0))}const[s,a]=function(e){const t=e.root.document.model,o=e.start;let n=e.end;if(t.hasContent(e,{ignoreMarkers:!0})){const o=function(e){const t=e.parent,o=t.root.document.model.schema,n=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const e of n){if(o.isLimit(e))return null;if(o.isBlock(e))return e}}(n);if(o&&n.isTouching(t.createPositionAt(o,0))){const o=t.createSelection(e);t.modifySelection(o,{direction:"backward"});const i=o.getLastPosition(),r=t.createRange(i,n);t.hasContent(r,{ignoreMarkers:!0})||(n=i)}}return[pu.fromPosition(o,"toPrevious"),pu.fromPosition(n,"toNext")]}(n);s.isTouching(a)||e.remove(e.createRange(s,a)),o.leaveUnmerged||(!function(e,t,o){const n=e.model;if(!Hu(e.model.schema,t,o))return;const[i,r]=function(e,t){const o=e.getAncestors(),n=t.getAncestors();let i=0;for(;o[i]&&o[i]==n[i];)i++;return[o[i],n[i]]}(t,o);if(!i||!r)return;!n.hasContent(i,{ignoreMarkers:!0})&&n.hasContent(r,{ignoreMarkers:!0})?Lu(e,t,o,i.parent):Vu(e,t,o,i.parent)}(e,s,a),i.removeDisallowedAttributes(s.parent.getChildren(),e)),qu(e,t,s),!o.doNotAutoparagraph&&function(e,t){const o=e.checkChild(t,"$text"),n=e.checkChild(t,"paragraph");return!o&&n}(i,s)&&ju(e,s,t,r),s.detach(),a.detach()}))}function Vu(e,t,o,n){const i=t.parent,r=o.parent;if(i!=n&&r!=n){for(t=e.createPositionAfter(i),(o=e.createPositionBefore(r)).isEqual(t)||e.insert(r,t),e.merge(t);o.parent.isEmpty;){const t=o.parent;o=e.createPositionBefore(t),e.remove(t)}Hu(e.model.schema,t,o)&&Vu(e,t,o,n)}}function Lu(e,t,o,n){const i=t.parent,r=o.parent;if(i!=n&&r!=n){for(t=e.createPositionAfter(i),(o=e.createPositionBefore(r)).isEqual(t)||e.insert(i,o);t.parent.isEmpty;){const o=t.parent;t=e.createPositionBefore(o),e.remove(o)}o=e.createPositionBefore(r),function(e,t){const o=t.nodeBefore,n=t.nodeAfter;o.name!=n.name&&e.rename(o,n.name);e.clearAttributes(o),e.setAttributes(Object.fromEntries(n.getAttributes()),o),e.merge(t)}(e,o),Hu(e.model.schema,t,o)&&Lu(e,t,o,n)}}function Hu(e,t,o){const n=t.parent,i=o.parent;return n!=i&&(!e.isLimit(n)&&!e.isLimit(i)&&function(e,t,o){const n=new lc(e,t);for(const e of n.getWalker())if(o.isLimit(e.item))return!1;return!0}(t,o,e))}function ju(e,t,o,n={}){const i=e.createElement("paragraph");e.model.schema.setAllowedAttributes(i,n,e),e.insert(i,t),qu(e,o,e.createPositionAt(i,0))}function qu(e,t,o){t instanceof Sc?e.setSelection(o):t.setTo(o)}function $u(e,t){const o=[];Array.from(e.getItems({direction:"backward"})).map((e=>t.createRangeOn(e))).filter((t=>(t.start.isAfter(e.start)||t.start.isEqual(e.start))&&(t.end.isBefore(e.end)||t.end.isEqual(e.end)))).forEach((e=>{o.push(e.start.parent),t.remove(e)})),o.forEach((e=>{let o=e;for(;o.parent&&o.isEmpty;){const e=t.createRangeOn(o);o=o.parent,t.remove(e)}}))}class Uu{constructor(e,t,o){this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null,this._nodeToSelect=null,this.model=e,this.writer=t,this.position=o,this.canMergeWith=new Set([this.position.parent]),this.schema=e.schema,this._documentFragment=t.createDocumentFragment(),this._documentFragmentPosition=t.createPositionAt(this._documentFragment,0)}handleNodes(e){for(const t of Array.from(e))this._handleNode(t);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(e){const t=this.writer.createPositionAfter(this._lastNode),o=this.writer.createPositionAfter(e);if(o.isAfter(t)){if(this._lastNode=e,this.position.parent!=e||!this.position.isAtEnd)throw new S("insertcontent-invalid-insertion-position",this);this.position=o,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?lc._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new lc(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(e){this._checkAndSplitToAllowedPosition(e)?(this._appendToFragment(e),this._firstNode||(this._firstNode=e),this._lastNode=e):this.schema.isObject(e)||this._handleDisallowedNode(e)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const e=pu.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=e.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=e.toPosition(),e.detach()}_handleDisallowedNode(e){e.is("element")&&this.handleNodes(e.getChildren())}_appendToFragment(e){if(!this.schema.checkChild(this.position,e))throw new S("insertcontent-wrong-position",this,{node:e,position:this.position});this.writer.insert(e,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(e.offsetSize),this.schema.isObject(e)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=e:this._nodeToSelect=null,this._filterAttributesOf.push(e)}_setAffectedBoundaries(e){this._affectedStart||(this._affectedStart=pu.fromPosition(e,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(e)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=pu.fromPosition(e,"toNext"))}_mergeOnLeft(){const e=this._firstNode;if(!(e instanceof Fc))return;if(!this._canMergeLeft(e))return;const t=pu._createBefore(e);t.stickiness="toNext";const o=pu.fromPosition(this.position,"toNext");this._affectedStart.isEqual(t)&&(this._affectedStart.detach(),this._affectedStart=pu._createAt(t.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=pu._createAt(t.nodeBefore,"end","toNext")),this.position=o.toPosition(),o.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_mergeOnRight(){const e=this._lastNode;if(!(e instanceof Fc))return;if(!this._canMergeRight(e))return;const t=pu._createAfter(e);if(t.stickiness="toNext",!this.position.isEqual(t))throw new S("insertcontent-invalid-insertion-position",this);this.position=oc._createAt(t.nodeBefore,"end");const o=pu.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(t)&&(this._affectedEnd.detach(),this._affectedEnd=pu._createAt(t.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=pu._createAt(t.nodeBefore,0,"toPrevious")),this.position=o.toPosition(),o.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_canMergeLeft(e){const t=e.previousSibling;return t instanceof Fc&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(t,e)}_canMergeRight(e){const t=e.nextSibling;return t instanceof Fc&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(e,t)}_insertAutoParagraph(){this._insertPartialFragment();const e=this.writer.createElement("paragraph");this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0)}_checkAndSplitToAllowedPosition(e){const t=this._getAllowedIn(this.position.parent,e);if(!t)return!1;for(t!=this.position.parent&&this._insertPartialFragment();t!=this.position.parent;)if(this.position.isAtStart){const e=this.position.parent;this.position=this.writer.createPositionBefore(e),e.isEmpty&&e.parent===t&&this.writer.remove(e)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const e=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=e,this.canMergeWith.add(this.position.nodeAfter)}return this.schema.checkChild(this.position.parent,e)||this._insertAutoParagraph(),!0}_getAllowedIn(e,t){return this.schema.checkChild(e,t)||this.schema.checkChild(e,"paragraph")&&this.schema.checkChild("paragraph",t)?e:this.schema.isLimit(e)?null:this._getAllowedIn(e.parent,t)}}function Wu(e,t,o,n={}){if(!e.schema.isObject(t))throw new S("insertobject-element-not-an-object",e,{object:t});const i=o||e.document.selection;let r=i;n.findOptimalPosition&&e.schema.isBlock(t)&&(r=e.createSelection(e.schema.findOptimalInsertionRange(i,n.findOptimalPosition)));const s=or(i.getSelectedBlocks()),a={};return s&&Object.assign(a,e.schema.getAttributesWithProperty(s,"copyOnReplace",!0)),e.change((o=>{r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0});let i=t;const s=r.anchor.parent;!e.schema.checkChild(s,t)&&e.schema.checkChild(s,"paragraph")&&e.schema.checkChild("paragraph",t)&&(i=o.createElement("paragraph"),o.insert(t,i)),e.schema.setAllowedAttributes(i,a,o);const l=e.insertContent(i,r);return l.isCollapsed||n.setSelection&&function(e,t,o,n){const i=e.model;if("on"==o)return void e.setSelection(t,"on");if("after"!=o)throw new S("insertobject-invalid-place-parameter-value",i);let r=t.nextSibling;if(i.schema.isInline(t))return void e.setSelection(t,"after");const s=r&&i.schema.checkChild(r,"$text");!s&&i.schema.checkChild(t.parent,"paragraph")&&(r=e.createElement("paragraph"),i.schema.setAllowedAttributes(r,n,e),i.insertContent(r,e.createPositionAfter(t)));r&&e.setSelection(r,0)}(o,t,n.setSelection,a),l}))}function Gu(e,t){const{isForward:o,walker:n,unit:i,schema:r,treatEmojiAsSingleUnit:s}=e,{type:a,item:l,nextPosition:c}=t;if("text"==a)return"word"===e.unit?function(e,t){let o=e.position.textNode;o||(o=t?e.position.nodeAfter:e.position.nodeBefore);for(;o&&o.is("$text");){const n=e.position.offset-o.startOffset;if(Ju(o,n,t))o=t?e.position.nodeAfter:e.position.nodeBefore;else{if(Zu(o.data,n,t))break;e.next()}}return e.position}(n,o):function(e,t,o){const n=e.position.textNode;if(n){const i=n.data;let r=e.position.offset-n.startOffset;for(;hr(i,r)||"character"==t&&pr(i,r)||o&&gr(i,r);)e.next(),r=e.position.offset-n.startOffset}return e.position}(n,i,s);if(a==(o?"elementStart":"elementEnd")){if(r.isSelectable(l))return oc._createAt(l,o?"after":"before");if(r.checkChild(c,"$text"))return c}else{if(r.isLimit(l))return void n.skip((()=>!0));if(r.checkChild(c,"$text"))return c}}function Ku(e,t){const o=e.root,n=oc._createAt(o,t?"end":0);return t?new lc(e,n):new lc(n,e)}function Zu(e,t,o){const n=t+(o?0:-1);return' ,.?!:;"-()'.includes(e.charAt(n))}function Ju(e,t,o){return t===(o?e.offsetSize:0)}class Yu extends(X()){constructor(){super(),this.markers=new Bu,this.document=new Eu(this),this.schema=new hd,this._pendingChanges=[],this._currentWriter=null,["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((e=>this.decorate(e))),this.on("applyOperation",((e,t)=>{t[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck((()=>!0),"$marker"),ad(this),this.document.registerPostFixer(Yc),this.on("insertContent",((e,[t,o])=>{e.return=function(e,t,o){return e.change((n=>{const i=o||e.document.selection;i.isCollapsed||e.deleteContent(i,{doNotAutoparagraph:!0});const r=new Uu(e,n,i.anchor),s=[];let a;if(t.is("documentFragment")){if(t.markers.size){const e=[];for(const[o,n]of t.markers){const{start:t,end:i}=n,r=t.isEqual(i);e.push({position:t,name:o,isCollapsed:r},{position:i,name:o,isCollapsed:r})}e.sort((({position:e},{position:t})=>e.isBefore(t)?1:-1));for(const{position:o,name:i,isCollapsed:r}of e){let e=null,a=null;const l=o.parent===t&&o.isAtStart,c=o.parent===t&&o.isAtEnd;l||c?r&&(a=l?"start":"end"):(e=n.createElement("$marker"),n.insert(e,o)),s.push({name:i,element:e,collapsed:a})}}a=t.getChildren()}else a=[t];r.handleNodes(a);let l=r.getSelectionRange();if(t.is("documentFragment")&&s.length){const e=l?vc.fromRange(l):null,t={};for(let e=s.length-1;e>=0;e--){const{name:o,element:i,collapsed:a}=s[e],l=!t[o];if(l&&(t[o]=[]),i){const e=n.createPositionAt(i,"before");t[o].push(e),n.remove(i)}else{const e=r.getAffectedRange();if(!e){a&&t[o].push(r.position);continue}a?t[o].push(e[a]):t[o].push(l?e.start:e.end)}}for(const[e,[o,i]]of Object.entries(t))o&&i&&o.root===i.root&&o.root.document&&!n.model.markers.has(e)&&n.addMarker(e,{usingOperation:!0,affectsData:!0,range:new lc(o,i)});e&&(l=e.toRange(),e.detach())}l&&(i instanceof Sc?n.setSelection(l):i.setTo(l));const c=r.getAffectedRange()||e.createRange(i.anchor);return r.destroy(),c}))}(this,t,o)})),this.on("insertObject",((e,[t,o,n])=>{e.return=Wu(this,t,o,n)})),this.on("canEditAt",(e=>{const t=!this.document.isReadOnly;e.return=t,t||e.stop()}))}change(e){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new fu,callback:e}),this._runPendingChanges()[0]):e(this._currentWriter)}catch(e){S.rethrowUnexpectedError(e,this)}}enqueueChange(e,t){try{e?"function"==typeof e?(t=e,e=new fu):e instanceof fu||(e=new fu(e)):e=new fu,this._pendingChanges.push({batch:e,callback:t}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(e){S.rethrowUnexpectedError(e,this)}}applyOperation(e){e._execute()}insertContent(e,t,o,...n){const i=Qu(t,o);return this.fire("insertContent",[e,i,o,...n])}insertObject(e,t,o,n,...i){const r=Qu(t,o);return this.fire("insertObject",[e,r,n,n,...i])}deleteContent(e,t){Nu(this,e,t)}modifySelection(e,t){!function(e,t,o={}){const n=e.schema,i="backward"!=o.direction,r=o.unit?o.unit:"character",s=!!o.treatEmojiAsSingleUnit,a=t.focus,l=new ec({boundaries:Ku(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),c={walker:l,schema:n,isForward:i,unit:r,treatEmojiAsSingleUnit:s};let d;for(;d=l.next();){if(d.done)return;const o=Gu(c,d.value);if(o)return void(t instanceof Sc?e.change((e=>{e.setSelectionFocus(o)})):t.setFocus(o))}}(this,e,t)}getSelectedContent(e){return function(e,t){return e.change((e=>{const o=e.createDocumentFragment(),n=t.getFirstRange();if(!n||n.isCollapsed)return o;const i=n.start.root,r=n.start.getCommonPath(n.end),s=i.getNodeByPath(r);let a;a=n.start.parent==n.end.parent?n:e.createRange(e.createPositionAt(s,n.start.path[r.length]),e.createPositionAt(s,n.end.path[r.length]+1));const l=a.end.offset-a.start.offset;for(const t of a.getItems({shallow:!0}))t.is("$textProxy")?e.appendText(t.data,t.getAttributes(),o):e.append(e.cloneElement(t,!0),o);if(a!=n){const t=n._getTransformedByMove(a.start,e.createPositionAt(o,0),l)[0],i=e.createRange(e.createPositionAt(o,0),t.start);$u(e.createRange(t.end,e.createPositionAt(o,"end")),e),$u(i,e)}return o}))}(this,e)}hasContent(e,t={}){const o=e instanceof lc?e:lc._createIn(e);if(o.isCollapsed)return!1;const{ignoreWhitespaces:n=!1,ignoreMarkers:i=!1}=t;if(!i)for(const e of this.markers.getMarkersIntersectingRange(o))if(e.affectsData)return!0;for(const e of o.getItems())if(this.schema.isContent(e)){if(!e.is("$textProxy"))return!0;if(!n)return!0;if(-1!==e.data.search(/\S/))return!0}return!1}canEditAt(e){const t=Qu(e);return this.fire("canEditAt",[t])}createPositionFromPath(e,t,o){return new oc(e,t,o)}createPositionAt(e,t){return oc._createAt(e,t)}createPositionAfter(e){return oc._createAfter(e)}createPositionBefore(e){return oc._createBefore(e)}createRange(e,t){return new lc(e,t)}createRangeIn(e){return lc._createIn(e)}createRangeOn(e){return lc._createOn(e)}createSelection(...e){return new bc(...e)}createBatch(e){return new fu(e)}createOperationFromJSON(e){return eu.fromJSON(e,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const e=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const t=this._pendingChanges[0].batch;this._currentWriter=new Pu(this,t);const o=this._pendingChanges[0].callback(this._currentWriter);e.push(o),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return e}}function Qu(e,t){if(e)return e instanceof bc||e instanceof Sc?e:e instanceof fc?t||0===t?new bc(e,t):e.is("rootElement")?new bc(e,"in"):new bc(e,"on"):new bc(e)}class Xu extends nl{constructor(){super(...arguments),this.domEventType="click"}onDomEvent(e){this.fire(e.type,e)}}class eh extends nl{constructor(){super(...arguments),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(e){this.fire(e.type,e)}}class th extends nl{constructor(){super(...arguments),this.domEventType=["touchstart","touchend","touchmove"]}onDomEvent(e){this.fire(e.type,e)}}class oh{constructor(e){this.document=e}createDocumentFragment(e){return new ma(this.document,e)}createElement(e,t,o){return new Ms(this.document,e,t,o)}createText(e){return new fs(this.document,e)}clone(e,t=!1){return e._clone(t)}appendChild(e,t){return t._appendChild(e)}insertChild(e,t,o){return o._insertChild(e,t)}removeChildren(e,t,o){return o._removeChildren(e,t)}remove(e){const t=e.parent;return t?this.removeChildren(t.getChildIndex(e),1,t):[]}replace(e,t){const o=e.parent;if(o){const n=o.getChildIndex(e);return this.removeChildren(n,1,o),this.insertChild(n,t,o),!0}return!1}unwrapElement(e){const t=e.parent;if(t){const o=t.getChildIndex(e);this.remove(e),this.insertChild(o,e.getChildren(),t)}}rename(e,t){const o=new Ms(this.document,e,t.getAttributes(),t.getChildren());return this.replace(t,o)?o:null}setAttribute(e,t,o){o._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,o){Pe(e)&&void 0===o?t._setStyle(e):o._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,o){o._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}createPositionAt(e,t){return $s._createAt(e,t)}createPositionAfter(e){return $s._createAfter(e)}createPositionBefore(e){return $s._createBefore(e)}createRange(e,t){return new Us(e,t)}createRangeOn(e){return Us._createOn(e)}createRangeIn(e){return Us._createIn(e)}createSelection(...e){return new Gs(...e)}}const nh=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ih=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,rh=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,sh=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,ah=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,lh=/\w+\((?:[^()]|\([^()]*\))*\)|\S+/gi,ch=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function dh(e){return e.startsWith("#")?nh.test(e):e.startsWith("rgb")?ih.test(e)||rh.test(e):e.startsWith("hsl")?sh.test(e)||ah.test(e):ch.has(e.toLowerCase())}const uh=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function hh(e){return uh.includes(e)}const ph=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function mh(e){return ph.test(e)}const gh=/^[+-]?[0-9]*([.][0-9]+)?%$/;const fh=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function bh(e){return fh.includes(e)}const kh=["center","top","bottom","left","right"];function wh(e){return kh.includes(e)}const _h=["fixed","scroll","local"];function yh(e){return _h.includes(e)}const Ah=/^url\(/;function Ch(e){return Ah.test(e)}function vh(e=""){if(""===e)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const t=Dh(e),o=t[0],n=t[2]||o,i=t[1]||o;return{top:o,bottom:n,right:i,left:t[3]||i}}function xh(e){return t=>{const{top:o,right:n,bottom:i,left:r}=t,s=[];return[o,n,r,i].every((e=>!!e))?s.push([e,Eh(t)]):(o&&s.push([e+"-top",o]),n&&s.push([e+"-right",n]),i&&s.push([e+"-bottom",i]),r&&s.push([e+"-left",r])),s}}function Eh({top:e,right:t,bottom:o,left:n}){const i=[];return n!==t?i.push(e,t,o,n):o!==e?i.push(e,t,o):t!==e?i.push(e,t):i.push(e),i.join(" ")}function Dh(e){const t=e.trim().slice(0,1500).matchAll(lh);return Array.from(t).map((e=>e[0]))}function Bh(e){e.setNormalizer("background",(e=>{const t={},o=Dh(e);for(const e of o)bh(e)?(t.repeat=t.repeat||[],t.repeat.push(e)):wh(e)?(t.position=t.position||[],t.position.push(e)):yh(e)?t.attachment=e:dh(e)?t.color=e:Ch(e)&&(t.image=e);return{path:"background",value:t}})),e.setNormalizer("background-color",(e=>({path:"background.color",value:e}))),e.setReducer("background",(e=>{const t=[];return t.push(["background-color",e.color]),t})),e.setStyleRelation("background",["background-color"])}function Sh(e){e.setNormalizer("border",(e=>{const{color:t,style:o,width:n}=zh(e);return{path:"border",value:{color:vh(t),style:vh(o),width:vh(n)}}})),e.setNormalizer("border-top",Th("top")),e.setNormalizer("border-right",Th("right")),e.setNormalizer("border-bottom",Th("bottom")),e.setNormalizer("border-left",Th("left")),e.setNormalizer("border-color",Ih("color")),e.setNormalizer("border-width",Ih("width")),e.setNormalizer("border-style",Ih("style")),e.setNormalizer("border-top-color",Fh("color","top")),e.setNormalizer("border-top-style",Fh("style","top")),e.setNormalizer("border-top-width",Fh("width","top")),e.setNormalizer("border-right-color",Fh("color","right")),e.setNormalizer("border-right-style",Fh("style","right")),e.setNormalizer("border-right-width",Fh("width","right")),e.setNormalizer("border-bottom-color",Fh("color","bottom")),e.setNormalizer("border-bottom-style",Fh("style","bottom")),e.setNormalizer("border-bottom-width",Fh("width","bottom")),e.setNormalizer("border-left-color",Fh("color","left")),e.setNormalizer("border-left-style",Fh("style","left")),e.setNormalizer("border-left-width",Fh("width","left")),e.setExtractor("border-top",Rh("top")),e.setExtractor("border-right",Rh("right")),e.setExtractor("border-bottom",Rh("bottom")),e.setExtractor("border-left",Rh("left")),e.setExtractor("border-top-color","border.color.top"),e.setExtractor("border-right-color","border.color.right"),e.setExtractor("border-bottom-color","border.color.bottom"),e.setExtractor("border-left-color","border.color.left"),e.setExtractor("border-top-width","border.width.top"),e.setExtractor("border-right-width","border.width.right"),e.setExtractor("border-bottom-width","border.width.bottom"),e.setExtractor("border-left-width","border.width.left"),e.setExtractor("border-top-style","border.style.top"),e.setExtractor("border-right-style","border.style.right"),e.setExtractor("border-bottom-style","border.style.bottom"),e.setExtractor("border-left-style","border.style.left"),e.setReducer("border-color",xh("border-color")),e.setReducer("border-style",xh("border-style")),e.setReducer("border-width",xh("border-width")),e.setReducer("border-top",Oh("top")),e.setReducer("border-right",Oh("right")),e.setReducer("border-bottom",Oh("bottom")),e.setReducer("border-left",Oh("left")),e.setReducer("border",function(){return t=>{const o=Mh(t,"top"),n=Mh(t,"right"),i=Mh(t,"bottom"),r=Mh(t,"left"),s=[o,n,i,r],a={width:e(s,"width"),style:e(s,"style"),color:e(s,"color")},l=Nh(a,"all");if(l.length)return l;const c=Object.entries(a).reduce(((e,[t,o])=>(o&&(e.push([`border-${t}`,o]),s.forEach((e=>delete e[t]))),e)),[]);return[...c,...Nh(o,"top"),...Nh(n,"right"),...Nh(i,"bottom"),...Nh(r,"left")]};function e(e,t){return e.map((e=>e[t])).reduce(((e,t)=>e==t?e:null))}}()),e.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),e.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),e.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),e.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),e.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),e.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function Th(e){return t=>{const{color:o,style:n,width:i}=zh(t),r={};return void 0!==o&&(r.color={[e]:o}),void 0!==n&&(r.style={[e]:n}),void 0!==i&&(r.width={[e]:i}),{path:"border",value:r}}}function Ih(e){return t=>({path:"border",value:Ph(t,e)})}function Ph(e,t){return{[t]:vh(e)}}function Fh(e,t){return o=>({path:"border",value:{[e]:{[t]:o}}})}function Rh(e){return(t,o)=>{if(o.border)return Mh(o.border,e)}}function Mh(e,t){const o={};return e.width&&e.width[t]&&(o.width=e.width[t]),e.style&&e.style[t]&&(o.style=e.style[t]),e.color&&e.color[t]&&(o.color=e.color[t]),o}function zh(e){const t={},o=Dh(e);for(const e of o)mh(e)||/thin|medium|thick/.test(e)?t.width=e:hh(e)?t.style=e:t.color=e;return t}function Oh(e){return t=>Nh(t,e)}function Nh(e,t){const o=[];if(e&&e.width&&o.push("width"),e&&e.style&&o.push("style"),e&&e.color&&o.push("color"),3==o.length){const n=o.map((t=>e[t])).join(" ");return["all"==t?["border",n]:[`border-${t}`,n]]}return"all"==t?[]:o.map((o=>[`border-${t}-${o}`,e[o]]))}function Vh(e){var t;e.setNormalizer("padding",(t="padding",e=>({path:t,value:vh(e)}))),e.setNormalizer("padding-top",(e=>({path:"padding.top",value:e}))),e.setNormalizer("padding-right",(e=>({path:"padding.right",value:e}))),e.setNormalizer("padding-bottom",(e=>({path:"padding.bottom",value:e}))),e.setNormalizer("padding-left",(e=>({path:"padding.left",value:e}))),e.setReducer("padding",xh("padding")),e.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}class Lh{constructor(e){if(this.crashes=[],this.state="initializing",this._now=Date.now,this.crashes=[],this._crashNumberLimit="number"==typeof e.crashNumberLimit?e.crashNumberLimit:3,this._minimumNonErrorTimePeriod="number"==typeof e.minimumNonErrorTimePeriod?e.minimumNonErrorTimePeriod:5e3,this._boundErrorHandler=e=>{const t="error"in e?e.error:e.reason;t instanceof Error&&this._handleError(t,e)},this._listeners={},!this._restart)throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}destroy(){this._stopErrorHandling(),this._listeners={}}on(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)}off(e,t){this._listeners[e]=this._listeners[e].filter((e=>e!==t))}_fire(e,...t){const o=this._listeners[e]||[];for(const e of o)e.apply(this,[null,...t])}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler),window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler),window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(e,t){if(this._shouldReactToError(e)){this.crashes.push({message:e.message,stack:e.stack,filename:t instanceof ErrorEvent?t.filename:void 0,lineno:t instanceof ErrorEvent?t.lineno:void 0,colno:t instanceof ErrorEvent?t.colno:void 0,date:this._now()});const o=this._shouldRestart();this.state="crashed",this._fire("stateChange"),this._fire("error",{error:e,causesRestart:o}),o?this._restart():(this.state="crashedPermanently",this._fire("stateChange"))}}_shouldReactToError(e){return e.is&&e.is("CKEditorError")&&void 0!==e.context&&null!==e.context&&"ready"===this.state&&this._isErrorComingFromThisItem(e)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit)return!0;return(this.crashes[this.crashes.length-1].date-this.crashes[this.crashes.length-1-this._crashNumberLimit].date)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}const Hh=function(e,t,o){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return W(o)&&(n="leading"in o?!!o.leading:n,i="trailing"in o?!!o.trailing:i),bl(e,t,{leading:n,maxWait:t,trailing:i})};function jh(e,t=new Set){const o=[e],n=new Set;let i=0;for(;o.length>i;){const e=o[i++];if(!n.has(e)&&qh(e)&&!t.has(e))if(n.add(e),Symbol.iterator in e)try{for(const t of e)o.push(t)}catch(e){}else for(const t in e)"defaultValue"!==t&&o.push(e[t])}return n}function qh(e){const t=Object.prototype.toString.call(e),o=typeof e;return!("number"===o||"boolean"===o||"string"===o||"symbol"===o||"function"===o||"[object Date]"===t||"[object RegExp]"===t||"[object Module]"===t||null==e||e._watchdogExcluded||e instanceof EventTarget||e instanceof Event)}function $h(e,t,o=new Set){if(e===t&&("object"==typeof(n=e)&&null!==n))return!0;var n;const i=jh(e,o),r=jh(t,o);for(const e of i)if(r.has(e))return!0;return!1}class Uh extends Lh{constructor(e,t={}){super(t),this._editor=null,this._lifecyclePromise=null,this._initUsingData=!0,this._editables={},this._throttledSave=Hh(this._save.bind(this),"number"==typeof t.saveInterval?t.saveInterval:5e3),e&&(this._creator=(t,o)=>e.create(t,o)),this._destructor=e=>e.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(e){this._creator=e}setDestructor(e){this._destructor=e}_restart(){return Promise.resolve().then((()=>(this.state="initializing",this._fire("stateChange"),this._destroy()))).catch((e=>{console.error("An error happened during the editor destroying.",e)})).then((()=>{const e={},t=[],o=this._config.rootsAttributes||{},n={};for(const[i,r]of Object.entries(this._data.roots))r.isLoaded?(e[i]="",n[i]=o[i]||{}):t.push(i);const i={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:t,rootsAttributes:n,_watchdogInitialData:this._data};return delete i.initialData,i.extraPlugins.push(Wh),this._initUsingData?this.create(e,i,i.context):Tn(this._elementOrData)?this.create(this._elementOrData,i,i.context):this.create(this._editables,i,i.context)})).then((()=>{this._fire("restart")}))}create(e=this._elementOrData,t=this._config,o){return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>(super._startErrorHandling(),this._elementOrData=e,this._initUsingData="string"==typeof e||Object.keys(e).length>0&&"string"==typeof Object.values(e)[0],this._config=this._cloneEditorConfiguration(t)||{},this._config.context=o,this._creator(e,this._config)))).then((e=>{this._editor=e,e.model.document.on("change:data",this._throttledSave),this._lastDocumentVersion=e.model.document.version,this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this.state="ready",this._fire("stateChange")})).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}destroy(){return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling(),this._throttledSave.cancel();const e=this._editor;return this._editor=null,e.model.document.off("change:data",this._throttledSave),this._destructor(e)}))}_save(){const e=this._editor.model.document.version;try{this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this._lastDocumentVersion=e}catch(e){console.error(e,"An error happened during restoring editor data. Editor will be restored from the previously saved data.")}}_setExcludedProperties(e){this._excludedProps=e}_getData(){const e=this._editor,t=e.model.document.roots.filter((e=>e.isAttached()&&"$graveyard"!=e.rootName)),{plugins:o}=e,n=o.has("CommentsRepository")&&o.get("CommentsRepository"),i=o.has("TrackChanges")&&o.get("TrackChanges"),r={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};t.forEach((e=>{r.roots[e.rootName]={content:JSON.stringify(Array.from(e.getChildren())),attributes:JSON.stringify(Array.from(e.getAttributes())),isLoaded:e._isLoaded}}));for(const t of e.model.markers)t._affectsData&&(r.markers[t.name]={rangeJSON:t.getRange().toJSON(),usingOperation:t._managedUsingOperations,affectsData:t._affectsData});return n&&(r.commentThreads=JSON.stringify(n.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),i&&(r.suggestions=JSON.stringify(i.getSuggestions({toJSON:!0,skipNotAttached:!0}))),r}_getEditables(){const e={};for(const t of this.editor.model.document.getRootNames()){const o=this.editor.ui.getEditableElement(t);o&&(e[t]=o)}return e}_isErrorComingFromThisItem(e){return $h(this._editor,e.context,this._excludedProps)}_cloneEditorConfiguration(e){return Sn(e,((e,t)=>Tn(e)||"context"===t?e:void 0))}}class Wh{constructor(e){this.editor=e,this._data=e.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",(e=>{e.stop(),this.editor.model.enqueueChange({isUndoable:!1},(e=>{this._restoreCollaborationData(),this._restoreEditorData(e)})),this.editor.data.fire("ready")}),{priority:999})}_createNode(e,t){if("name"in t){const o=e.createElement(t.name,t.attributes);if(t.children)for(const n of t.children)o._appendChild(this._createNode(e,n));return o}return e.createText(t.data,t.attributes)}_restoreEditorData(e){const t=this.editor;Object.entries(this._data.roots).forEach((([o,{content:n,attributes:i}])=>{const r=JSON.parse(n),s=JSON.parse(i),a=t.model.document.getRoot(o);for(const[t,o]of s)e.setAttribute(t,o,a);for(const t of r){const o=this._createNode(e,t);e.insert(o,a,"end")}})),Object.entries(this._data.markers).forEach((([o,n])=>{const{document:i}=t.model,{rangeJSON:{start:r,end:s},...a}=n,l=i.getRoot(r.root),c=e.createPositionFromPath(l,r.path,r.stickiness),d=e.createPositionFromPath(l,s.path,s.stickiness),u=e.createRange(c,d);e.addMarker(o,{range:u,...a})}))}_restoreCollaborationData(){const e=JSON.parse(this._data.commentThreads),t=JSON.parse(this._data.suggestions);e.forEach((e=>{const t=this.editor.config.get("collaboration.channelId"),o=this.editor.plugins.get("CommentsRepository");if(o.hasCommentThread(e.threadId)){o.getCommentThread(e.threadId).remove()}o.addCommentThread({channelId:t,...e})})),t.forEach((e=>{const t=this.editor.plugins.get("TrackChangesEditing");if(t.hasSuggestion(e.id)){t.getSuggestion(e.id).attributes=e.attributes}else t.addSuggestionData(e)}))}}const Gh=Symbol("MainQueueId");class Kh{constructor(){this._onEmptyCallbacks=[],this._queues=new Map,this._activeActions=0}onEmpty(e){this._onEmptyCallbacks.push(e)}enqueue(e,t){const o=e===Gh;this._activeActions++,this._queues.get(e)||this._queues.set(e,Promise.resolve());const n=(o?Promise.all(this._queues.values()):Promise.all([this._queues.get(Gh),this._queues.get(e)])).then(t),i=n.catch((()=>{}));return this._queues.set(e,i),n.finally((()=>{this._activeActions--,this._queues.get(e)===i&&0===this._activeActions&&this._onEmptyCallbacks.forEach((e=>e()))}))}}function Zh(e){return Array.isArray(e)?e:[e]}class Jh{constructor(){this._commands=new Map}add(e,t){this._commands.set(e,t)}get(e){return this._commands.get(e)}execute(e,...t){const o=this.get(e);if(!o)throw new S("commandcollection-command-not-found",this,{commandName:e});return o.execute(...t)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const e of this.commands())e.destroy()}}class Yh extends ar{constructor(e){super(),this.editor=e}set(e,t,o={}){if("string"==typeof t){const e=t;t=(t,o)=>{this.editor.execute(e),o()}}super.set(e,t,o)}}const Qh="contentEditing",Xh="common";class ep{constructor(e){this.keystrokeInfos=new Map,this._editor=e;const t=e.config.get("menuBar.isVisible"),o=e.locale.t;this.addKeystrokeInfoCategory({id:Qh,label:o("Content editing keystrokes"),description:o("These keyboard shortcuts allow for quick access to content editing features.")});const n=[{label:o("Close contextual balloons, dropdowns, and dialogs"),keystroke:"Esc"},{label:o("Open the accessibility help dialog"),keystroke:"Alt+0"},{label:o("Move focus between form fields (inputs, buttons, etc.)"),keystroke:[["Tab"],["Shift+Tab"]]},{label:o("Move focus to the toolbar, navigate between toolbars"),keystroke:"Alt+F10",mayRequireFn:!0},{label:o("Navigate through the toolbar or menu bar"),keystroke:[["arrowup"],["arrowright"],["arrowdown"],["arrowleft"]]},{label:o("Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content."),keystroke:[["Enter"],["Space"]]}];t&&n.push({label:o("Move focus to the menu bar, navigate between menu bars"),keystroke:"Alt+F9",mayRequireFn:!0}),this.addKeystrokeInfoCategory({id:"navigation",label:o("User interface and content navigation keystrokes"),description:o("Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface."),groups:[{id:"common",keystrokes:n}]})}addKeystrokeInfoCategory({id:e,label:t,description:o,groups:n}){this.keystrokeInfos.set(e,{id:e,label:t,description:o,groups:new Map}),this.addKeystrokeInfoGroup({categoryId:e,id:Xh}),n&&n.forEach((t=>{this.addKeystrokeInfoGroup({categoryId:e,...t})}))}addKeystrokeInfoGroup({categoryId:e=Qh,id:t,label:o,keystrokes:n}){const i=this.keystrokeInfos.get(e);if(!i)throw new S("accessibility-unknown-keystroke-info-category",this._editor,{groupId:t,categoryId:e});i.groups.set(t,{id:t,label:o,keystrokes:n||[]})}addKeystrokeInfos({categoryId:e=Qh,groupId:t=Xh,keystrokes:o}){if(!this.keystrokeInfos.has(e))throw new S("accessibility-unknown-keystroke-info-category",this._editor,{categoryId:e,keystrokes:o});const n=this.keystrokeInfos.get(e);if(!n.groups.has(t))throw new S("accessibility-unknown-keystroke-info-group",this._editor,{groupId:t,categoryId:e,keystrokes:o});n.groups.get(t).keystrokes.push(...o)}}function tp(e){return Object.getPrototypeOf(e).constructor.editorName}function op(e){if(!e)return;const t=Array.isArray(e)?{items:e}:e,o=function e(t){return t.flatMap((t=>"string"==typeof t?[t]:e(t.items)))}(t.items||[]);return{isMultiline:o.includes("-"),shouldNotGroupWhenFull:!!t.shouldNotGroupWhenFull,items:(n=o,n.filter((e=>"|"!==e&&"-"!==e)))};var n}function np(){let e="unknown",t="unknown";return c.isMac?e="mac":c.isWindows?e="windows":c.isiOS?e="ios":c.isAndroid&&(e="android"),c.isGecko?t="gecko":c.isBlink?t="blink":c.isSafari&&(t="safari"),{os:e,browser:t}}function ip(){return localStorage.getItem("__ckeditor-session-id")||localStorage.setItem("__ckeditor-session-id",E()),localStorage.getItem("__ckeditor-session-id")}function rp(){return s.window.CKEDITOR_PAGE_SESSION_ID=s.window.CKEDITOR_PAGE_SESSION_ID||E(),s.window.CKEDITOR_PAGE_SESSION_ID}class sp extends(X()){static get editorName(){return"Editor"}constructor(e={}){if(super(),"sanitizeHtml"in e)throw new S("editor-config-sanitizehtml-not-supported");const t=this.constructor,{translations:o,...n}=t.defaultConfig||{},{translations:i=o,...r}=e,s=e.language||n.language;this._context=e.context||new Ar({language:s,translations:i}),this._context._addEditor(this,!e.context);const a=Array.from(t.builtinPlugins||[]);this.config=new In(r,n),this.config.define("plugins",a),this.config.define(this._context._getEditorConfig()),function(e){let t=e.get("licenseKey");!t&&window.CKEDITOR_GLOBAL_LICENSE_KEY&&(t=window.CKEDITOR_GLOBAL_LICENSE_KEY,e.set("licenseKey",t));if(!t)throw new S("license-key-missing")}(this.config),this.plugins=new yr(this,a,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new Jh,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new Yu,this.on("change:isReadOnly",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const l=new Is;this.data=new Td(this.model,l),this.editing=new ud(this.model,l),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new Id([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new Yh(this),this.keystrokes.listenTo(this.editing.view.document),this.accessibility=new ep(this),function(e){const t=e.config.get("licenseKey"),o=window[Symbol.for("cke distribution")]||"sh";function n(t){e.enableReadOnlyMode(Symbol("invalidLicense")),e._showLicenseError(t)}if("GPL"==t)return void("cloud"==o&&n("distributionChannel"));const i=function(e){const t=e.split(".");return 3!=t.length?null:t[1]}(t);if(!i)return void n("invalid");const r=ur(i);if(!r)return void n("invalid");if(!function(e){return["exp","jti","vc"].every((t=>t in e))}(r))return void n("invalid");if(r.distributionChannel&&!Si(r.distributionChannel).includes(o))return void n("distributionChannel");if(function(e){const t=Array.isArray(e)?e:[e],o=function(){const e=[];for(let t=0;t<256;t++){let o=t;for(let e=0;e<8;e++)1&o?o=3988292384^o>>>1:o>>>=1;e[t]=o}return e}();let n=-1;const i=t.map((e=>Array.isArray(e)?e.join(""):String(e))).join("");for(let e=0;e>>8^o[255&(n^i.charCodeAt(e))];return n=~n>>>0,n.toString(16).padStart(8,"0")}(function(e){return Object.getOwnPropertyNames(e).sort().filter((t=>"vc"!=t&&null!=e[t])).map((t=>e[t]))}(r))!=r.vc.toLowerCase())return void n("invalid");if(new Date(1e3*r.exp)0&&!function(e){const{hostname:t}=new URL(window.location.href);if(e.includes(t))return!0;const o=t.split(".");return e.filter((e=>e.includes("*"))).map((e=>e.split("."))).filter((e=>e.length<=o.length)).map((e=>Array(o.length-e.length).fill("*"===e[0]?"*":"").concat(e))).some((e=>o.every(((t,o)=>e[o]===t||"*"===e[o]))))}(s))return void n("domainLimit");if(["evaluation","trial"].includes(r.licenseType)&&1e3*r.exp{n(`${t}Limit`)}),6e5);e.on("destroy",(()=>{clearTimeout(o)}))}r.usageEndpoint&&e.once("ready",(()=>{const o={requestId:E(),requestTime:Math.round(Date.now()/1e3),license:t,editor:lp(e)};e._sendUsageRequest(r.usageEndpoint,o).then((e=>{const{status:t,message:o}=e;o&&console.warn(o),"ok"!=t&&n("usageLimit")}),(()=>{var e,t;e="license-key-validation-endpoint-not-reachable",t={url:r.usageEndpoint},console.error(...P(e,t))}))}),{priority:"high"})}(this)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(e){throw new S("editor-isreadonly-has-no-setter")}enableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new S("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)||(this._readOnlyLocks.add(e),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new S("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)&&(this._readOnlyLocks.delete(e),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}setData(e){this.data.set(e)}getData(e){return this.data.get(e)}initPlugins(){const e=this.config,t=e.get("plugins"),o=e.get("removePlugins")||[],n=e.get("extraPlugins")||[],i=e.get("substitutePlugins")||[];return this.plugins.init(t.concat(n),o,i)}destroy(){let e=Promise.resolve();return"initializing"==this.state&&(e=new Promise((e=>this.once("ready",e)))),e.then((()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(e,...t){try{return this.commands.execute(e,...t)}catch(e){S.rethrowUnexpectedError(e,this)}}focus(){this.editing.view.focus()}static create(...e){throw new Error("This is an abstract method.")}_showLicenseError(e,t){setTimeout((()=>{if("invalid"==e)throw new S("invalid-license-key");if("expired"==e)throw new S("license-key-expired");if("domainLimit"==e)throw new S("license-key-domain-limit");if("featureNotAllowed"==e)throw new S("license-key-plugin-not-allowed",null,{pluginName:t});if("evaluationLimit"==e)throw new S("license-key-evaluation-limit");if("trialLimit"==e)throw new S("license-key-trial-limit");if("developmentLimit"==e)throw new S("license-key-development-limit");if("usageLimit"==e)throw new S("license-key-usage-limit");if("distributionChannel"==e)throw new S("license-key-invalid-distribution-channel")}),0),this._showLicenseError=()=>{}}async _sendUsageRequest(e,t){const o=new Headers({"Content-Type":"application/json"}),n=await fetch(new URL(e),{method:"POST",headers:o,body:JSON.stringify(t)});if(!n.ok)throw new Error(`HTTP Response: ${n.status}`);return n.json()}}sp.Context=Ar,sp.EditorWatchdog=Uh,sp.ContextWatchdog=class extends Lh{constructor(e,t={}){super(t),this._watchdogs=new Map,this._context=null,this._contextProps=new Set,this._actionQueues=new Kh,this._watchdogConfig=t,this._creator=t=>e.create(t),this._destructor=e=>e.destroy(),this._actionQueues.onEmpty((()=>{"initializing"===this.state&&(this.state="ready",this._fire("stateChange"))}))}setCreator(e){this._creator=e}setDestructor(e){this._destructor=e}get context(){return this._context}create(e={}){return this._actionQueues.enqueue(Gh,(()=>(this._contextConfig=e,this._create())))}getItem(e){return this._getWatchdog(e)._item}getItemState(e){return this._getWatchdog(e).state}add(e){const t=Zh(e);return Promise.all(t.map((e=>this._actionQueues.enqueue(e.id,(()=>{if("destroyed"===this.state)throw new Error("Cannot add items to destroyed watchdog.");if(!this._context)throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.");let t;if(this._watchdogs.has(e.id))throw new Error(`Item with the given id is already added: '${e.id}'.`);if("editor"===e.type)return t=new Uh(null,this._watchdogConfig),t.setCreator(e.creator),t._setExcludedProperties(this._contextProps),e.destructor&&t.setDestructor(e.destructor),this._watchdogs.set(e.id,t),t.on("error",((o,{error:n,causesRestart:i})=>{this._fire("itemError",{itemId:e.id,error:n}),i&&this._actionQueues.enqueue(e.id,(()=>new Promise((o=>{const n=()=>{t.off("restart",n),this._fire("itemRestart",{itemId:e.id}),o()};t.on("restart",n)}))))})),t.create(e.sourceElementOrData,e.config,this._context);throw new Error(`Not supported item type: '${e.type}'.`)})))))}remove(e){const t=Zh(e);return Promise.all(t.map((e=>this._actionQueues.enqueue(e,(()=>{const t=this._getWatchdog(e);return this._watchdogs.delete(e),t.destroy()})))))}destroy(){return this._actionQueues.enqueue(Gh,(()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy())))}_restart(){return this._actionQueues.enqueue(Gh,(()=>(this.state="initializing",this._fire("stateChange"),this._destroy().catch((e=>{console.error("An error happened during destroying the context or items.",e)})).then((()=>this._create())).then((()=>this._fire("restart"))))))}_create(){return Promise.resolve().then((()=>(this._startErrorHandling(),this._creator(this._contextConfig)))).then((e=>(this._context=e,this._contextProps=jh(this._context),Promise.all(Array.from(this._watchdogs.values()).map((e=>(e._setExcludedProperties(this._contextProps),e.create(void 0,void 0,this._context))))))))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const e=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map((e=>e.destroy()))).then((()=>this._destructor(e)))}))}_getWatchdog(e){const t=this._watchdogs.get(e);if(!t)throw new Error(`Item with the given id was not registered: ${e}.`);return t}_isErrorComingFromThisItem(e){for(const t of this._watchdogs.values())if(t._isErrorComingFromThisItem(e))return!1;return $h(this._context,e.context)}};const ap=sp;function lp(e){const t=function(e){return{sessionId:ip(),pageSessionId:rp(),hostname:window.location.hostname,version:globalThis.CKEDITOR_VERSION,type:tp(e),plugins:(t=e.plugins,Array.from(t).filter((([e])=>!!e.pluginName)).map((([e])=>{const{pluginName:t,isContextPlugin:o,isOfficialPlugin:n,isPremiumPlugin:i}=e;return{isContext:!!o,isOfficial:!!n,isPremium:!!i,name:t}}))),distribution:{channel:window[Symbol.for("cke distribution")]||"sh"},env:np(),integration:Object.create(null),menuBar:{isVisible:!!e.config.get("menuBar.isVisible")},language:{ui:e.locale.uiLanguage,content:e.locale.contentLanguage},toolbar:{main:op(e.config.get("toolbar")),block:op(e.config.get("blockToolbar")),balloon:op(e.config.get("balloonToolbar"))}};var t}(e);return e.fire("collectUsageData",{setUsageData:function(e,o){if(void 0!==qr(t,e))throw new S("editor-usage-data-path-already-set",{path:e});Ur(t,e,o)}}),t}function cp(e){return class extends e{updateSourceElement(e){if(!this.sourceElement)throw new S("editor-missing-sourceelement",this);const t=this.config.get("updateSourceElementOnDestroy"),o=this.sourceElement instanceof HTMLTextAreaElement;if(!t&&!o)return void ei(this.sourceElement,"");const n="string"==typeof e?e:this.data.get();ei(this.sourceElement,n)}}}cp.updateSourceElement=cp(Object).prototype.updateSourceElement;class dp extends Cr{static get pluginName(){return"PendingActions"}static get isOfficialPlugin(){return!0}init(){this.set("hasAny",!1),this._actions=new tr({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(e){if("string"!=typeof e)throw new S("pendingactions-add-invalid-message",this);const t=new(X());return t.set("message",e),this._actions.add(t),this.hasAny=!0,t}remove(e){this._actions.remove(e),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const up={bold:'',cancel:'',caption:'',check:'',cog:'',colorPalette:'',eraser:'',history:'',image:'',imageUpload:'',imageAssetManager:'',imageUrl:'',lowVision:'',textAlternative:'',loupe:'',previousArrow:'',nextArrow:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeCustom:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:'',dragIndicator:'',redo:'',undo:'',bulletedList:'',numberedList:'',todoList:'',codeBlock:'',browseFiles:'',heading1:'',heading2:'',heading3:'',heading4:'',heading5:'',heading6:'',horizontalLine:'',html:'',indent:'',outdent:'',table:'',source:'\n',remove:'',bookmark:'',bookmarkInline:'',emoji:'\n'};class hp extends tr{constructor(e=[]){super(e,{idProperty:"viewUid"}),this.on("add",((e,t,o)=>{this._renderViewIntoCollectionParent(t,o)})),this.on("remove",((e,t)=>{t.element&&this._parentElement&&t.element.remove()})),this._parentElement=null}destroy(){this.map((e=>e.destroy()))}setParent(e){this._parentElement=e;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...e){if(!e.length||!e.every((e=>"string"==typeof e)))throw new S("ui-viewcollection-delegate-wrong-events",this);return{to:t=>{for(const o of this)for(const n of e)o.delegate(n).to(t);this.on("add",((o,n)=>{for(const o of e)n.delegate(o).to(t)})),this.on("remove",((o,n)=>{for(const o of e)n.stopDelegating(o,t)}))}}}_renderViewIntoCollectionParent(e,t){e.isRendered||e.render(),e.element&&this._parentElement&&this._parentElement.insertBefore(e.element,this._parentElement.children[t])}remove(e){return super.remove(e)}}class pp extends(V()){constructor(e){super(),Object.assign(this,Cp(Ap(e))),this._isRendered=!1,this._revertData=null}render(){const e=this._renderNode({intoFragment:!0});return this._isRendered=!0,e}apply(e){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:e,intoFragment:!1,isApplying:!0,revertData:this._revertData}),e}revert(e){if(!this._revertData)throw new S("ui-template-revert-not-applied",[this,e]);this._revertTemplateFromNode(e,this._revertData)}*getViews(){yield*function*e(t){if(t.children)for(const o of t.children)Sp(o)?yield o:Tp(o)&&(yield*e(o))}(this)}static bind(e,t){return{to:(o,n)=>new gp({eventNameOrFunction:o,attribute:o,observable:e,emitter:t,callback:n}),if:(o,n,i)=>new fp({observable:e,emitter:t,attribute:o,valueIfTrue:n,callback:i})}}static extend(e,t){if(e._isRendered)throw new S("template-extend-render",[this,e]);Dp(e,Cp(Ap(t)))}_renderNode(e){let t;if(t=e.node?this.tag&&this.text:this.tag?this.text:!this.text,t)throw new S("ui-template-wrong-syntax",this);return this.text?this._renderText(e):this._renderElement(e)}_renderElement(e){let t=e.node;return t||(t=e.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(e),this._renderElementChildren(e),this._setUpListeners(e),t}_renderText(e){let t=e.node;return t?e.revertData.text=t.textContent:t=e.node=document.createTextNode(""),bp(this.text)?this._bindToObservable({schema:this.text,updater:wp(t),data:e}):t.textContent=this.text.join(""),t}_renderAttributes(e){if(!this.attributes)return;const t=e.node,o=e.revertData;for(const n in this.attributes){const i=t.getAttribute(n),r=this.attributes[n];o&&(o.attributes[n]=i);const s=Pp(r)?r[0].ns:null;if(bp(r)){const a=Pp(r)?r[0].value:r;o&&Fp(n)&&a.unshift(i),this._bindToObservable({schema:a,updater:_p(t,n,s),data:e})}else if("style"==n&&"string"!=typeof r[0])this._renderStyleAttribute(r[0],e);else{o&&i&&Fp(n)&&r.unshift(i);const e=r.map((e=>e&&e.value||e)).reduce(((e,t)=>e.concat(t)),[]).reduce(xp,"");Bp(e)||t.setAttributeNS(s,n,e)}}}_renderStyleAttribute(e,t){const o=t.node;for(const n in e){const i=e[n];bp(i)?this._bindToObservable({schema:[i],updater:yp(o,n),data:t}):o.style[n]=i}}_renderElementChildren(e){const t=e.node,o=e.intoFragment?document.createDocumentFragment():t,n=e.isApplying;let i=0;for(const r of this.children)if(Ip(r)){if(!n){r.setParent(t);for(const e of r)o.appendChild(e.element)}}else if(Sp(r))n||(r.isRendered||r.render(),o.appendChild(r.element));else if(Rn(r))o.appendChild(r);else if(n){const t={children:[],bindings:[],attributes:{}};e.revertData.children.push(t),r._renderNode({intoFragment:!1,node:o.childNodes[i++],isApplying:!0,revertData:t})}else o.appendChild(r.render());e.intoFragment&&t.appendChild(o)}_setUpListeners(e){if(this.eventListeners)for(const t in this.eventListeners){const o=this.eventListeners[t].map((o=>{const[n,i]=t.split("@");return o.activateDomEventListener(n,i,e)}));e.revertData&&e.revertData.bindings.push(o)}}_bindToObservable({schema:e,updater:t,data:o}){const n=o.revertData;kp(e,t,o);const i=e.filter((e=>!Bp(e))).filter((e=>e.observable)).map((n=>n.activateAttributeListener(e,t,o)));n&&n.bindings.push(i)}_revertTemplateFromNode(e,t){for(const e of t.bindings)for(const t of e)t();if(t.text)return void(e.textContent=t.text);const o=e;for(const e in t.attributes){const n=t.attributes[e];null===n?o.removeAttribute(e):o.setAttribute(e,n)}for(let e=0;ekp(e,t,o);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,n),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,n)}}}class gp extends mp{constructor(e){super(e),this.eventNameOrFunction=e.eventNameOrFunction}activateDomEventListener(e,t,o){const n=(e,o)=>{t&&!o.target.matches(t)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(o):this.observable.fire(this.eventNameOrFunction,o))};return this.emitter.listenTo(o.node,e,n),()=>{this.emitter.stopListening(o.node,e,n)}}}class fp extends mp{constructor(e){super(e),this.valueIfTrue=e.valueIfTrue}getValue(e){return!Bp(super.getValue(e))&&(this.valueIfTrue||!0)}}function bp(e){return!!e&&(e.value&&(e=e.value),Array.isArray(e)?e.some(bp):e instanceof mp)}function kp(e,t,{node:o}){const n=function(e,t){return e.map((e=>e instanceof mp?e.getValue(t):e))}(e,o);let i;i=1==e.length&&e[0]instanceof fp?n[0]:n.reduce(xp,""),Bp(i)?t.remove():t.set(i)}function wp(e){return{set(t){e.textContent=t},remove(){e.textContent=""}}}function _p(e,t,o){return{set(n){e.setAttributeNS(o,t,n)},remove(){e.removeAttributeNS(o,t)}}}function yp(e,t){return{set(o){e.style[t]=o},remove(){e.style[t]=null}}}function Ap(e){return Sn(e,(e=>{if(e&&(e instanceof mp||Tp(e)||Sp(e)||Ip(e)))return e}))}function Cp(e){if("string"==typeof e?e=function(e){return{text:[e]}}(e):e.text&&function(e){e.text=Si(e.text)}(e),e.on&&(e.eventListeners=function(e){for(const t in e)vp(e,t);return e}(e.on),delete e.on),!e.text){e.attributes&&function(e){for(const t in e)e[t].value&&(e[t].value=Si(e[t].value)),vp(e,t)}(e.attributes);const t=[];if(e.children)if(Ip(e.children))t.push(e.children);else for(const o of e.children)Tp(o)||Sp(o)||Rn(o)?t.push(o):t.push(new pp(o));e.children=t}return e}function vp(e,t){e[t]=Si(e[t])}function xp(e,t){return Bp(t)?e:Bp(e)?t:`${e} ${t}`}function Ep(e,t){for(const o in t)e[o]?e[o].push(...t[o]):e[o]=t[o]}function Dp(e,t){if(t.attributes&&(e.attributes||(e.attributes={}),Ep(e.attributes,t.attributes)),t.eventListeners&&(e.eventListeners||(e.eventListeners={}),Ep(e.eventListeners,t.eventListeners)),t.text&&e.text.push(...t.text),t.children&&t.children.length){if(e.children.length!=t.children.length)throw new S("ui-template-extend-children-mismatch",e);let o=0;for(const n of t.children)Dp(e.children[o++],n)}}function Bp(e){return!e&&0!==e}function Sp(e){return e instanceof zp}function Tp(e){return e instanceof pp}function Ip(e){return e instanceof hp}function Pp(e){return W(e[0])&&e[0].ns}function Fp(e){return"class"==e||"style"==e}var Rp=i(601),Mp={attributes:{"data-cke":!0}};Mp.setAttributes=Xr(),Mp.insert=Yr().bind(null,"head"),Mp.domAPI=Zr(),Mp.insertStyleElement=ts();Gr()(Rp.A,Mp);Rp.A&&Rp.A.locals&&Rp.A.locals;class zp extends(On(X())){constructor(e){super(),this.element=null,this.isRendered=!1,this.locale=e,this.t=e&&e.t,this._viewCollections=new tr,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((t,o)=>{o.locale=e,o.t=e&&e.t})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=pp.bind(this,this)}createCollection(e){const t=new hp(e);return this._viewCollections.add(t),t}registerChild(e){ae(e)||(e=[e]);for(const t of e)this._unboundChildren.add(t)}deregisterChild(e){ae(e)||(e=[e]);for(const t of e)this._unboundChildren.remove(t)}setTemplate(e){this.template=new pp(e)}extendTemplate(e){pp.extend(this.template,e)}render(){if(this.isRendered)throw new S("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((e=>e.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}function Op({emitter:e,activator:t,callback:o,contextElements:n,listenerOptions:i}){e.listenTo(document,"mousedown",((e,i)=>{if(!t())return;const r="function"==typeof i.composedPath?i.composedPath():[],s="function"==typeof n?n():n;for(const e of s)if(e.contains(i.target)||r.includes(e))return;o()}),i)}function Np(e){return class extends e{disableCssTransitions(){this._isCssTransitionsDisabled=!0}enableCssTransitions(){this._isCssTransitionsDisabled=!1}constructor(...e){super(...e),this.set("_isCssTransitionsDisabled",!1),this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}}function Vp({view:e}){e.listenTo(e.element,"submit",((t,o)=>{o.preventDefault(),e.fire("submit")}),{useCapture:!0})}function Lp({keystrokeHandler:e,focusTracker:t,gridItems:o,numberOfColumns:n,uiLanguageDirection:i}){const r="number"==typeof n?()=>n:n;function s(e){return n=>{const i=o.find((e=>e.element===t.focusedElement)),r=o.getIndex(i),s=e(r,o);o.get(s).focus(),n.stopPropagation(),n.preventDefault()}}function a(e,t){return e===t-1?0:e+1}function l(e,t){return 0===e?t-1:e-1}e.set("arrowright",s(((e,t)=>"rtl"===i?l(e,t.length):a(e,t.length)))),e.set("arrowleft",s(((e,t)=>"rtl"===i?a(e,t.length):l(e,t.length)))),e.set("arrowup",s(((e,t)=>{let o=e-r();return o<0&&(o=e+r()*Math.floor(t.length/r()),o>t.length-1&&(o-=r())),o}))),e.set("arrowdown",s(((e,t)=>{let o=e+r();return o>t.length-1&&(o=e%r()),o})))}var Hp=i(4106),jp={attributes:{"data-cke":!0}};jp.setAttributes=Xr(),jp.insert=Yr().bind(null,"head"),jp.domAPI=Zr(),jp.insertStyleElement=ts();Gr()(Hp.A,jp);Hp.A&&Hp.A.locals&&Hp.A.locals;class qp extends zp{constructor(){super();const e=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.set("isVisible",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",e.if("isVisible","ck-hidden",(e=>!e)),"ck-reset_all-excluded",e.if("isColorInherited","ck-icon_inherit-color")],viewBox:e.to("viewBox"),"aria-hidden":!0}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const e=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),t=e.getAttribute("viewBox");t&&(this.viewBox=t);for(const{name:t,value:o}of Array.from(e.attributes))qp.presentationalAttributeNames.includes(t)&&this.element.setAttribute(t,o);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;e.childNodes.length>0;)this.element.appendChild(e.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((e=>{e.style.fill=this.fillColor}))}}qp.presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];const $p=qp;class Up extends zp{constructor(){super(),this.set({style:void 0,text:void 0,id:void 0});const e=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:e.to("style"),id:e.to("id")},children:[{text:e.to("text")}]})}}var Wp=i(8948),Gp={attributes:{"data-cke":!0}};Gp.setAttributes=Xr(),Gp.insert=Yr().bind(null,"head"),Gp.domAPI=Zr(),Gp.insertStyleElement=ts();Gr()(Wp.A,Gp);Wp.A&&Wp.A.locals&&Wp.A.locals;class Kp extends zp{constructor(e,t=new Up){super(e),this._focusDelayed=null;const o=this.bindTemplate,n=E();this.set("_ariaPressed",!1),this.set("_ariaChecked",!1),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",`ck-editor__aria-label_${n}`),this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("role",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._setupLabelView(t),this.iconView=new $p,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const i={tag:"button",attributes:{class:["ck","ck-button",o.to("class"),o.if("isEnabled","ck-disabled",(e=>!e)),o.if("isVisible","ck-hidden",(e=>!e)),o.to("isOn",(e=>e?"ck-on":"ck-off")),o.if("withText","ck-button_with-text"),o.if("withKeystroke","ck-button_with-keystroke")],role:o.to("role"),type:o.to("type",(e=>e||"button")),tabindex:o.to("tabindex"),"aria-checked":o.to("_ariaChecked"),"aria-pressed":o.to("_ariaPressed"),"aria-label":o.to("ariaLabel"),"aria-labelledby":o.to("ariaLabelledBy"),"aria-disabled":o.if("isEnabled",!0,(e=>!e)),"data-cke-tooltip-text":o.to("_tooltipString"),"data-cke-tooltip-position":o.to("tooltipPosition")},children:this.children,on:{click:o.to((e=>{this.isEnabled?this.fire("execute"):e.preventDefault()}))}};this.bind("_ariaPressed").to(this,"isOn",this,"isToggleable",this,"role",((e,t,o)=>!(!t||Zp(o))&&String(!!e))),this.bind("_ariaChecked").to(this,"isOn",this,"isToggleable",this,"role",((e,t,o)=>!(!t||!Zp(o))&&String(!!e))),c.isSafari&&(this._focusDelayed||(this._focusDelayed=dr((()=>this.focus()),0)),i.on.mousedown=o.to((()=>{this._focusDelayed()})),i.on.mouseup=o.to((()=>{this._focusDelayed.cancel()}))),this.setTemplate(i)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_setupLabelView(e){return e.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy"),e}_createKeystrokeView(){const e=new zp;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(e=>Ei(e)))}]}),e}_getTooltipString(e,t,o){return e?"string"==typeof e?e:(o&&(o=Ei(o)),e instanceof Function?e(t,o):`${t}${o?` (${o})`:""}`):""}}function Zp(e){switch(e){case"radio":case"checkbox":case"option":case"switch":case"menuitemcheckbox":case"menuitemradio":return!0;default:return!1}}var Jp=i(4866),Yp={attributes:{"data-cke":!0}};Yp.setAttributes=Xr(),Yp.insert=Yr().bind(null,"head"),Yp.domAPI=Zr(),Yp.insertStyleElement=ts();Gr()(Jp.A,Yp);Jp.A&&Jp.A.locals&&Jp.A.locals;class Qp extends zp{constructor(e,t={}){super(e);const o=this.bindTemplate;this.set("label",t.label||""),this.set("class",t.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",o.to("class")]},children:this.children}),t.icon&&(this.iconView=new $p,this.iconView.content=t.icon,this.children.add(this.iconView));const n=new zp(e);n.setTemplate({tag:"h2",attributes:{class:["ck","ck-form__header__label"],role:"presentation"},children:[{text:o.to("label")}]}),this.children.add(n)}}class Xp extends(V()){constructor(e){if(super(),this.focusables=e.focusables,this.focusTracker=e.focusTracker,this.keystrokeHandler=e.keystrokeHandler,this.actions=e.actions,e.actions&&e.keystrokeHandler)for(const t in e.actions){let o=e.actions[t];"string"==typeof o&&(o=[o]);for(const n of o)e.keystrokeHandler.set(n,((e,o)=>{this[t](),o()}),e.keystrokeHandlerOptions)}this.on("forwardCycle",(()=>this.focusFirst()),{priority:"low"}),this.on("backwardCycle",(()=>this.focusLast()),{priority:"low"})}get first(){return this.focusables.find(em)||null}get last(){return this.focusables.filter(em).slice(-1)[0]||null}get next(){return this._getDomFocusableItem(1)}get previous(){return this._getDomFocusableItem(-1)}get current(){let e=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((t,o)=>{const n=t.element===this.focusTracker.focusedElement;return n&&(e=o),n})),e)}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const e=this.next;e&&this.focusables.getIndex(e)===this.current||e===this.first?this.fire("forwardCycle"):this._focus(e,1)}focusPrevious(){const e=this.previous;e&&this.focusables.getIndex(e)===this.current||e===this.last?this.fire("backwardCycle"):this._focus(e,-1)}chain(e){const t=()=>null===this.current?null:this.focusables.get(this.current);this.listenTo(e,"forwardCycle",(e=>{const o=t();this.focusNext(),o!==t()&&e.stop()}),{priority:"low"}),this.listenTo(e,"backwardCycle",(e=>{const o=t();this.focusPrevious(),o!==t()&&e.stop()}),{priority:"low"})}unchain(e){this.stopListening(e)}_focus(e,t){e&&this.focusTracker.focusedElement!==e.element&&e.focus(t)}_getDomFocusableItem(e){const t=this.focusables.length;if(!t)return null;const o=this.current;if(null===o)return this[1===e?"first":"last"];let n=this.focusables.get(o),i=(o+t+e)%t;do{const o=this.focusables.get(i);if(em(o)){n=o;break}i=(i+t+e)%t}while(i!==o);return n}}function em(e){return tm(e)&&ri(e.element)}function tm(e){return!(!("focus"in e)||"function"!=typeof e.focus)}function om(e){return class extends e{constructor(...e){super(...e),this._onDragBound=this._onDrag.bind(this),this._onDragEndBound=this._onDragEnd.bind(this),this._lastDraggingCoordinates={x:0,y:0},this.on("render",(()=>{this._attachListeners()})),this.set("isDragging",!1)}_attachListeners(){this.listenTo(this.element,"mousedown",this._onDragStart.bind(this)),this.listenTo(this.element,"touchstart",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(s.document,"mouseup",this._onDragEndBound),this.listenTo(s.document,"touchend",this._onDragEndBound),this.listenTo(s.document,"mousemove",this._onDragBound),this.listenTo(s.document,"touchmove",this._onDragBound)}_detachDragListeners(){this.stopListening(s.document,"mouseup",this._onDragEndBound),this.stopListening(s.document,"touchend",this._onDragEndBound),this.stopListening(s.document,"mousemove",this._onDragBound),this.stopListening(s.document,"touchmove",this._onDragBound)}_onDragStart(e,t){if(!this._isHandleElementPressed(t))return;this._attachDragListeners();let o=0,n=0;t instanceof MouseEvent?(o=t.clientX,n=t.clientY):(o=t.touches[0].clientX,n=t.touches[0].clientY),this._lastDraggingCoordinates={x:o,y:n},this.isDragging=!0}_onDrag(e,t){if(!this.isDragging)return void this._detachDragListeners();let o=0,n=0;t instanceof MouseEvent?(o=t.clientX,n=t.clientY):(o=t.touches[0].clientX,n=t.touches[0].clientY),t.preventDefault(),this.fire("drag",{deltaX:Math.round(o-this._lastDraggingCoordinates.x),deltaY:Math.round(n-this._lastDraggingCoordinates.y)}),this._lastDraggingCoordinates={x:o,y:n}}_onDragEnd(){this._detachDragListeners(),this.isDragging=!1}_isHandleElementPressed(e){return!!this.dragHandleElement&&(this.dragHandleElement===e.target||e.target instanceof HTMLElement&&this.dragHandleElement.contains(e.target))}}}var nm=i(8091),im={attributes:{"data-cke":!0}};im.setAttributes=Xr(),im.insert=Yr().bind(null,"head"),im.domAPI=Zr(),im.insertStyleElement=ts();Gr()(nm.A,im);nm.A&&nm.A.locals&&nm.A.locals;class rm extends zp{constructor(e){super(e),this.children=this.createCollection(),this.keystrokes=new ar,this._focusTracker=new nr,this._focusables=new hp,this.focusCycler=new Xp({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__actions"]},children:this.children})}render(){super.render(),this.keystrokes.listenTo(this.element)}setButtons(e){for(const t of e){const e=new Kp(this.locale);let o;for(o in e.on("execute",(()=>t.onExecute())),t.onCreate&&t.onCreate(e),t)"onExecute"!=o&&"onCreate"!=o&&e.set(o,t[o]);this.children.add(e)}this._updateFocusCyclableItems()}focus(e){-1===e?this.focusCycler.focusLast():this.focusCycler.focusFirst()}_updateFocusCyclableItems(){Array.from(this.children).forEach((e=>{this._focusables.add(e),this._focusTracker.add(e.element)}))}}class sm extends zp{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__content"]},children:this.children})}reset(){for(;this.children.length;)this.children.remove(0)}}var am=i(880),lm={attributes:{"data-cke":!0}};lm.setAttributes=Xr(),lm.insert=Yr().bind(null,"head"),lm.domAPI=Zr(),lm.insertStyleElement=ts();Gr()(am.A,lm);am.A&&am.A.locals&&am.A.locals;const cm="screen-center",dm="editor-center",um="editor-top-side",hm="editor-top-center",pm="editor-bottom-center",mm="editor-above-center",gm="editor-below-center",fm=ti("px");class bm extends(om(zp)){constructor(e,{getCurrentDomRoot:t,getViewportOffset:o,keystrokeHandlerOptions:n}){super(e),this.wasMoved=!1;const i=this.bindTemplate,r=e.t;this.set("className",""),this.set("ariaLabel",r("Editor dialog")),this.set("isModal",!1),this.set("position",cm),this.set("_isVisible",!1),this.set("_isTransparent",!1),this.set("_top",0),this.set("_left",0),this._getCurrentDomRoot=t,this._getViewportOffset=o,this.decorate("moveTo"),this.parts=this.createCollection(),this.keystrokes=new ar,this.focusTracker=new nr,this._focusables=new hp,this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"},keystrokeHandlerOptions:n}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog-overlay",i.if("isModal","ck-dialog-overlay__transparent",(e=>!e)),i.if("_isVisible","ck-hidden",(e=>!e))],tabindex:"-1"},children:[{tag:"div",attributes:{tabindex:"-1",class:["ck","ck-dialog",i.if("isModal","ck-dialog_modal"),i.to("className")],role:"dialog","aria-label":i.to("ariaLabel"),style:{top:i.to("_top",(e=>fm(e))),left:i.to("_left",(e=>fm(e))),visibility:i.if("_isTransparent","hidden")}},children:this.parts}]})}render(){super.render(),this.keystrokes.set("Esc",((e,t)=>{e.defaultPrevented||(this.fire("close",{source:"escKeyPress"}),t())})),this.on("drag",((e,{deltaX:t,deltaY:o})=>{this.wasMoved=!0,this.moveBy(t,o)})),this.listenTo(s.window,"resize",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.listenTo(s.document,"scroll",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.on("change:_isVisible",((e,t,o)=>{o&&(this._isTransparent=!0,setTimeout((()=>{this.updatePosition(),this._isTransparent=!1,this.focus()}),10))})),this.keystrokes.listenTo(this.element)}get dragHandleElement(){return this.headerView&&!this.isModal?this.headerView.element:null}setupParts({icon:e,title:t,hasCloseButton:o=!0,content:n,actionButtons:i}){t&&(this.headerView=new Qp(this.locale,{icon:e}),o&&(this.closeButtonView=this._createCloseButton(),this.headerView.children.add(this.closeButtonView)),this.headerView.label=t,this.ariaLabel=t,this.parts.add(this.headerView,0)),n&&(n instanceof zp&&(n=[n]),this.contentView=new sm(this.locale),this.contentView.children.addMany(n),this.parts.add(this.contentView)),i&&(this.actionsView=new rm(this.locale),this.actionsView.setButtons(i),this.parts.add(this.actionsView)),this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(e,t){const o=this._getViewportRect(),n=this._getDialogRect();e+n.width>o.right&&(e=o.right-n.width),e{var t;this._focusables.add(e),this.focusTracker.add(e.element),tm(t=e)&&"focusCycler"in t&&t.focusCycler instanceof Xp&&this._focusCycler.chain(e.focusCycler)}))}_createCloseButton(){const e=new Kp(this.locale),t=this.locale.t;return e.set({label:t("Close"),tooltip:!0,icon:up.cancel}),e.on("execute",(()=>this.fire("close",{source:"closeButton"}))),e}}bm.defaultOffset=15;const km=bm;class wm extends br{static get pluginName(){return"Dialog"}static get isOfficialPlugin(){return!0}constructor(e){super(e);const t=e.t;this._initShowHideListeners(),this._initFocusToggler(),this._initMultiRootIntegration(),this.set({id:null,isOpen:!1}),e.accessibility.addKeystrokeInfos({categoryId:"navigation",keystrokes:[{label:t("Move focus in and out of an active dialog window"),keystroke:"Ctrl+F6",mayRequireFn:!0}]})}destroy(){super.destroy(),wm._visibleDialogPlugin===this&&this._unlockBodyScroll()}_initShowHideListeners(){this.on("show",((e,t)=>{this._show(t)})),this.on("show",((e,t)=>{t.onShow&&t.onShow(this)}),{priority:"low"}),this.on("hide",(()=>{wm._visibleDialogPlugin&&wm._visibleDialogPlugin._hide()})),this.on("hide",(()=>{this._onHide&&(this._onHide(this),this._onHide=void 0)}),{priority:"low"})}_initFocusToggler(){const e=this.editor;e.keystrokes.set("Ctrl+F6",((t,o)=>{this.isOpen&&!this.view.isModal&&(this.view.focusTracker.isFocused?e.editing.view.focus():this.view.focus(),o())}))}_initMultiRootIntegration(){const e=this.editor.model;e.document.on("change:data",(()=>{if(!this.view)return;const t=e.document.differ.getChangedRoots();for(const e of t)e.state&&this.view.updatePosition()}))}show(e){this.hide(),this.fire(`show:${e.id}`,e)}_show({id:e,icon:t,title:o,hasCloseButton:n=!0,content:i,actionButtons:r,className:s,isModal:a,position:l,onHide:c,keystrokeHandlerOptions:d}){const u=this.editor;this.view=new km(u.locale,{getCurrentDomRoot:()=>u.editing.view.getDomRoot(u.model.document.selection.anchor.root.rootName),getViewportOffset:()=>u.ui.viewportOffset,keystrokeHandlerOptions:d});const h=this.view;h.on("close",(()=>{this.hide()})),u.ui.view.body.add(h),u.keystrokes.listenTo(h.element),l||(l=a?cm:dm),a&&this._lockBodyScroll(),h.set({position:l,_isVisible:!0,className:s,isModal:a}),h.setupParts({icon:t,title:o,hasCloseButton:n,content:i,actionButtons:r}),this.id=e,c&&(this._onHide=c),this.isOpen=!0,wm._visibleDialogPlugin=this}hide(){wm._visibleDialogPlugin&&wm._visibleDialogPlugin.fire(`hide:${wm._visibleDialogPlugin.id}`)}_hide(){if(!this.view)return;const e=this.editor,t=this.view;t.isModal&&this._unlockBodyScroll(),t.contentView&&t.contentView.reset(),e.ui.view.body.remove(t),e.ui.focusTracker.remove(t.element),e.keystrokes.stopListening(t.element),t.destroy(),e.editing.view.focus(),this.id=null,this.isOpen=!1,wm._visibleDialogPlugin=null}_lockBodyScroll(){document.documentElement.classList.add("ck-dialog-scroll-locked")}_unlockBodyScroll(){document.documentElement.classList.remove("ck-dialog-scroll-locked")}}var _m=i(3389),ym={attributes:{"data-cke":!0}};ym.setAttributes=Xr(),ym.insert=Yr().bind(null,"head"),ym.domAPI=Zr(),ym.insertStyleElement=ts();Gr()(_m.A,ym);_m.A&&_m.A.locals&&_m.A.locals;class Am extends Kp{constructor(e,t=new Up){super(e,t),this._checkIconHolderView=new Cm,this.set({hasCheckSpace:!1,_hasCheck:this.isToggleable});const o=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-list-item-button",o.if("isToggleable","ck-list-item-button_toggleable")]}}),this.bind("_hasCheck").to(this,"hasCheckSpace",this,"isToggleable",((e,t)=>e||t))}render(){super.render(),this._hasCheck&&this.children.add(this._checkIconHolderView,0),this._watchCheckIconHolderMount()}_watchCheckIconHolderMount(){this._checkIconHolderView.bind("isOn").to(this,"isOn",(e=>this.isToggleable&&e)),this.on("change:_hasCheck",((e,t,o)=>{const{children:n,_checkIconHolderView:i}=this;o?n.add(i,0):n.remove(i)}))}}class Cm extends zp{constructor(){super(),this._checkIconView=this._createCheckIconView();const e=this.bindTemplate;this.children=this.createCollection(),this.set("isOn",!1),this.setTemplate({tag:"span",children:this.children,attributes:{class:["ck","ck-list-item-button__check-holder",e.to("isOn",(e=>e?"ck-on":"ck-off"))]}})}render(){super.render(),this.isOn&&this.children.add(this._checkIconView,0),this._watchCheckIconMount()}_watchCheckIconMount(){this.on("change:isOn",((e,t,o)=>{const{children:n,_checkIconView:i}=this;o&&!n.has(i)?n.add(i):!o&&n.has(i)&&n.remove(i)}))}_createCheckIconView(){const e=new $p;return e.content=up.check,e.extendTemplate({attributes:{class:"ck-list-item-button__check-icon"}}),e}}var vm=i(5078),xm={attributes:{"data-cke":!0}};xm.setAttributes=Xr(),xm.insert=Yr().bind(null,"head"),xm.domAPI=Zr(),xm.insertStyleElement=ts();Gr()(vm.A,xm);vm.A&&vm.A.locals&&vm.A.locals;class Em extends Am{constructor(e){super(e),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}var Dm=i(4606),Bm={attributes:{"data-cke":!0}};Bm.setAttributes=Xr(),Bm.insert=Yr().bind(null,"head"),Bm.domAPI=Zr(),Bm.insertStyleElement=ts();Gr()(Dm.A,Bm);Dm.A&&Dm.A.locals&&Dm.A.locals;class Sm extends zp{constructor(e){super(e),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${E()}`;const t=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:t.to("for")},children:[{text:t.to("text")}]})}}class Tm extends zp{constructor(e,t){super(e);const o=e.t,n=new Sm;n.text=o("Help Contents. To close this dialog press ESC."),this.setTemplate({tag:"div",attributes:{class:["ck","ck-accessibility-help-dialog__content"],"aria-labelledby":n.id,role:"document",tabindex:-1},children:[ve(document,"p",{},o("Below, you can find a list of keyboard shortcuts that can be used in the editor.")),...this._createCategories(Array.from(t.values())),n]})}focus(){this.element.focus()}_createCategories(e){return e.map((e=>{const t=[ve(document,"h3",{},e.label),...Array.from(e.groups.values()).map((e=>this._createGroup(e))).flat()];return e.description&&t.splice(1,0,ve(document,"p",{},e.description)),ve(document,"section",{},t)}))}_createGroup(e){const t=e.keystrokes.sort(((e,t)=>e.label.localeCompare(t.label))).map((e=>this._createGroupRow(e))).flat(),o=[ve(document,"dl",{},t)];return e.label&&o.unshift(ve(document,"h4",{},e.label)),o}_createGroupRow(e){const t=this.locale.t,o=ve(document,"dt"),n=ve(document,"dd"),i=function(e){if("string"==typeof e)return[[e]];if("string"==typeof e[0])return[e];return e}(e.keystroke),r=[];for(const e of i)r.push(e.map(Im).join(""));return o.innerHTML=e.label,n.innerHTML=r.join(", ")+(e.mayRequireFn&&c.isMac?` ${t("(may require Fn)")}`:""),[o,n]}}function Im(e){return Ei(e).split("+").map((e=>`${e}`)).join("+")}const Pm='';var Fm=i(9550),Rm={attributes:{"data-cke":!0}};Rm.setAttributes=Xr(),Rm.insert=Yr().bind(null,"head"),Rm.domAPI=Zr(),Rm.insertStyleElement=ts();Gr()(Fm.A,Rm);Fm.A&&Fm.A.locals&&Fm.A.locals;class Mm extends br{constructor(){super(...arguments),this.contentView=null}static get requires(){return[wm]}static get pluginName(){return"AccessibilityHelp"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t;e.ui.componentFactory.add("accessibilityHelp",(()=>{const e=this._createButton(Kp);return e.set({tooltip:!0,withText:!1,label:t("Accessibility help")}),e})),e.ui.componentFactory.add("menuBar:accessibilityHelp",(()=>{const e=this._createButton(Em);return e.label=t("Accessibility"),e})),e.keystrokes.set("Alt+0",((e,t)=>{this._toggleDialog(),t()})),this._setupRootLabels()}_createButton(e){const t=this.editor,o=t.plugins.get("Dialog"),n=new e(t.locale);return n.set({keystroke:"Alt+0",icon:Pm,isToggleable:!0}),n.on("execute",(()=>this._toggleDialog())),n.bind("isOn").to(o,"id",(e=>"accessibilityHelp"===e)),n}_setupRootLabels(){const e=this.editor,t=e.editing.view,o=e.t;function n(e,t){const n=[t.getAttribute("aria-label"),o("Press %0 for help.",[Ei("Alt+0")])].filter((e=>e)).join(". ");e.setAttribute("aria-label",n,t)}e.ui.on("ready",(()=>{t.change((e=>{for(const o of t.document.roots)n(e,o)})),e.on("addRoot",((o,i)=>{const r=e.editing.view.document.getRoot(i.rootName);t.change((e=>n(e,r)))}),{priority:"low"})}))}_toggleDialog(){const e=this.editor,t=e.plugins.get("Dialog"),o=e.locale.t;this.contentView||(this.contentView=new Tm(e.locale,e.accessibility.keystrokeInfos)),"accessibilityHelp"===t.id?t.hide():t.show({id:"accessibilityHelp",className:"ck-accessibility-help-dialog",title:o("Accessibility help"),icon:Pm,hasCloseButton:!0,content:this.contentView})}}class zm extends hp{constructor(e,t=[]){super(t),this.locale=e}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new pp({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection,role:"application"},children:this}).render(),zm._bodyWrapper&&zm._bodyWrapper.isConnected||(zm._bodyWrapper=ve(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(zm._bodyWrapper)),zm._bodyWrapper.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove(),zm._bodyWrapper&&!zm._bodyWrapper.childElementCount&&(zm._bodyWrapper.remove(),delete zm._bodyWrapper)}}var Om=i(9624),Nm={attributes:{"data-cke":!0}};Nm.setAttributes=Xr(),Nm.insert=Yr().bind(null,"head"),Nm.domAPI=Zr(),Nm.insertStyleElement=ts();Gr()(Om.A,Nm);Om.A&&Om.A.locals&&Om.A.locals;class Vm extends Kp{constructor(e){super(e),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const e=new zp;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),e}}class Lm extends(jm(Kp)){}class Hm extends(jm(Am)){}function jm(e){return class extends e{constructor(...e){super(...e),this.buttonView=this,this._fileInputView=new qm(this.locale),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",(()=>{this._fileInputView.open()})),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}}class qm extends zp{constructor(e){super(e),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:t.to("acceptedType"),multiple:t.to("allowMultipleFiles")},on:{change:t.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}const $m='';var Um=i(1750),Wm={attributes:{"data-cke":!0}};Wm.setAttributes=Xr(),Wm.insert=Yr().bind(null,"head"),Wm.domAPI=Zr(),Wm.insertStyleElement=ts();Gr()(Um.A,Wm);Um.A&&Um.A.locals&&Um.A.locals;class Gm extends zp{constructor(e,t){super(e);const o=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid",void 0),t&&this.children.addMany(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",o.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:o.if("isCollapsed","hidden"),"aria-labelledby":o.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}focus(){this.buttonView.focus()}_createButtonView(){const e=new Kp(this.locale),t=e.bindTemplate;return e.set({withText:!0,icon:$m}),e.extendTemplate({attributes:{"aria-expanded":t.to("isOn",(e=>String(e)))}}),e.bind("label").to(this),e.bind("isOn").to(this,"isCollapsed",(e=>!e)),e.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),e}}function Km(e,t){const o=e.t,n={Black:o("Black"),"Dim grey":o("Dim grey"),Grey:o("Grey"),"Light grey":o("Light grey"),White:o("White"),Red:o("Red"),Orange:o("Orange"),Yellow:o("Yellow"),"Light green":o("Light green"),Green:o("Green"),Aquamarine:o("Aquamarine"),Turquoise:o("Turquoise"),"Light blue":o("Light blue"),Blue:o("Blue"),Purple:o("Purple")};return t.map((e=>{const t=n[e.label];return t&&t!=e.label&&(e.label=t),e}))}function Zm(e){return e.map(Jm).filter((e=>!!e))}function Jm(e){return"string"==typeof e?{model:e,label:e,hasBorder:!1,view:{name:"span",styles:{color:e}}}:{model:e.color,label:e.label||e.color,hasBorder:void 0!==e.hasBorder&&e.hasBorder,view:{name:"span",styles:{color:`${e.color}`}}}}class Ym extends Kp{constructor(e){super(e);const t=this.bindTemplate;this.set("color",void 0),this.set("hasBorder",!1),this.icon='',this.extendTemplate({attributes:{style:{backgroundColor:t.to("color",(e=>c.isMediaForcedColors?null:e))},class:["ck","ck-color-grid__tile",t.if("hasBorder","ck-color-selector__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}var Qm=i(7962),Xm={attributes:{"data-cke":!0}};Xm.setAttributes=Xr(),Xm.insert=Yr().bind(null,"head"),Xm.domAPI=Zr(),Xm.insertStyleElement=ts();Gr()(Qm.A,Xm);Qm.A&&Qm.A.locals&&Qm.A.locals;class eg extends zp{constructor(e,t){super(e);const o=t&&t.colorDefinitions?t.colorDefinitions:[];this.columns=t&&t.columns?t.columns:5;const n={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set("selectedColor",void 0),this.items=this.createCollection(),this.focusTracker=new nr,this.keystrokes=new ar,this.items.on("add",((e,t)=>{t.isOn=t.color===this.selectedColor})),o.forEach((e=>{const t=new Ym;t.set({color:e.color,label:e.label,tooltip:!0,hasBorder:e.options.hasBorder}),t.on("execute",(()=>{this.fire("execute",{value:e.color,hasBorder:e.options.hasBorder,label:e.label})})),this.items.add(t)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:n}}),this.on("change:selectedColor",((e,t,o)=>{for(const e of this.items)e.isOn=e.color===o}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element),Lp({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}var tg=i(8156);const og=function(e){var t,o,n=[],i=1;if("string"==typeof e)if(tg[e])n=tg[e].slice(),o="rgb";else if("transparent"===e)i=0,o="rgb",n=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var r=e.slice(1);i=1,(l=r.length)<=4?(n=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)],4===l&&(i=parseInt(r[3]+r[3],16)/255)):(n=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)],8===l&&(i=parseInt(r[6]+r[7],16)/255)),n[0]||(n[0]=0),n[1]||(n[1]=0),n[2]||(n[2]=0),o="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=t[1],a="rgb"===s;o=r=s.replace(/a$/,"");var l="cmyk"===r?4:"gray"===r?1:3;n=t[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,t){if(/%$/.test(e))return t===l?parseFloat(e)/100:"rgb"===r?255*parseFloat(e)/100:parseFloat(e);if("h"===r[t]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==ng[e])return ng[e]}return parseFloat(e)})),s===r&&n.push(1),i=a||void 0===n[l]?1:n[l],n=n.slice(0,l)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(n=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),o=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(n=[e[0],e[1],e[2]],o="rgb",i=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(o="rgb",n=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(o="hsl",n=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),i=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(i/=100)):(o="rgb",n=[e>>>16,(65280&e)>>>8,255&e]);return{space:o,values:n,alpha:i}};var ng={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};var ig=i(734),rg=i.t(ig,2);function sg(e,t){if(!e)return"";const o=ag(e);if(!o)return"";if(o.space===t)return e;if(n=o,!Object.keys(rg).includes(n.space))return"";var n;const i=rg[o.space][t];if(!i)return"";return function(e,t){switch(t){case"hex":return`#${e}`;case"rgb":return`rgb(${e[0]}, ${e[1]}, ${e[2]})`;case"hsl":return`hsl(${e[0]}, ${e[1]}%, ${e[2]}%)`;case"hwb":return`hwb(${e[0]}, ${e[1]}, ${e[2]})`;case"lab":return`lab(${e[0]}% ${e[1]} ${e[2]})`;case"lch":return`lch(${e[0]}% ${e[1]} ${e[2]})`;default:return""}}(i("hex"===o.space?o.hexValue:o.values),t)}function ag(e){if(e.startsWith("#")){const t=og(e);return{space:"hex",values:t.values,hexValue:e,alpha:t.alpha}}const t=og(e);return t.space?t:null}var lg=i(6365),cg={attributes:{"data-cke":!0}};cg.setAttributes=Xr(),cg.insert=Yr().bind(null,"head"),cg.domAPI=Zr(),cg.insertStyleElement=ts();Gr()(lg.A,cg);lg.A&&lg.A.locals&&lg.A.locals;class dg extends zp{constructor(e,t){super(e);const o=`ck-labeled-field-view-${E()}`,n=`ck-labeled-field-view-status-${E()}`;this.fieldView=t(this,o,n),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(o),this.statusView=this._createStatusView(n),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",((e,t)=>e||t));const i=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",i.to("class"),i.if("isEnabled","ck-disabled",(e=>!e)),i.if("isEmpty","ck-labeled-field-view_empty"),i.if("isFocused","ck-labeled-field-view_focused"),i.if("placeholder","ck-labeled-field-view_placeholder"),i.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(e){const t=new Sm(this.locale);return t.for=e,t.bind("text").to(this,"label"),t}_createStatusView(e){const t=new zp(this.locale),o=this.bindTemplate;return t.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",o.if("errorText","ck-labeled-field-view__status_error"),o.if("_statusText","ck-hidden",(e=>!e))],id:e,role:o.if("errorText","alert")},children:[{text:o.to("_statusText")}]}),t}focus(e){this.fieldView.focus(e)}}class ug extends zp{constructor(e){super(e),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("tabIndex",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.set("ariaLabel",void 0),this.focusTracker=new nr,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",t.if("isFocused","ck-input_focused"),t.if("isEmpty","ck-input-text_empty"),t.if("hasError","ck-error")],id:t.to("id"),placeholder:t.to("placeholder"),tabindex:t.to("tabIndex"),readonly:t.to("isReadOnly"),"aria-invalid":t.if("hasError",!0),"aria-describedby":t.to("ariaDescribedById"),"aria-label":t.to("ariaLabel")},on:{input:t.to(((...e)=>{this.fire("input",...e),this._updateIsEmpty()})),change:t.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((e,t,o)=>{this._setDomElementValue(o),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="",this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(e){this.element.value=e||0===e?e:""}}var hg=i(1546),pg={attributes:{"data-cke":!0}};pg.setAttributes=Xr(),pg.insert=Yr().bind(null,"head"),pg.domAPI=Zr(),pg.insertStyleElement=ts();Gr()(hg.A,pg);hg.A&&hg.A.locals&&hg.A.locals;class mg extends ug{constructor(e){super(e),this.set("inputMode","text");const t=this.bindTemplate;this.extendTemplate({attributes:{inputmode:t.to("inputMode")}})}}class gg extends mg{constructor(e){super(e),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class fg extends mg{constructor(e,{min:t,max:o,step:n}={}){super(e);const i=this.bindTemplate;this.set("min",t),this.set("max",o),this.set("step",n),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:i.to("min"),max:i.to("max"),step:i.to("step")}})}}var bg=i(8368),kg={attributes:{"data-cke":!0}};kg.setAttributes=Xr(),kg.insert=Yr().bind(null,"head"),kg.domAPI=Zr(),kg.insertStyleElement=ts();Gr()(bg.A,kg);bg.A&&bg.A.locals&&bg.A.locals;class wg extends zp{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",t.to("position",(e=>`ck-dropdown__panel_${e}`)),t.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:t.to((e=>{"input"!==e.target.tagName.toLocaleLowerCase()&&e.preventDefault()}))}})}focus(){if(this.children.length){const e=this.children.first;"function"==typeof e.focus?e.focus():T("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const e=this.children.last;"function"==typeof e.focusLast?e.focusLast():e.focus()}}}var _g=i(426),yg={attributes:{"data-cke":!0}};yg.setAttributes=Xr(),yg.insert=Yr().bind(null,"head"),yg.domAPI=Zr(),yg.insertStyleElement=ts();Gr()(_g.A,yg);_g.A&&_g.A.locals&&_g.A.locals;class Ag extends zp{constructor(e,t,o){super(e);const n=this.bindTemplate;this.buttonView=t,this.panelView=o,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new ar,this.focusTracker=new nr,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",n.to("class"),n.if("isEnabled","ck-disabled",(e=>!e))],id:n.to("id"),"aria-describedby":n.to("ariaDescribedById")},children:[t,o]}),t.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":n.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.on("change:isOpen",((e,t,o)=>{if(o)if("auto"===this.panelPosition){const e=Ag._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=e?e.name:this._defaultPanelPositionName}else this.panelView.position=this.panelPosition})),this.keystrokes.listenTo(this.element);const e=(e,t)=>{this.isOpen&&(this.isOpen=!1,t())};this.keystrokes.set("arrowdown",((e,t)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,t())})),this.keystrokes.set("arrowright",((e,t)=>{this.isOpen&&t()})),this.keystrokes.set("arrowleft",e),this.keystrokes.set("esc",e)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:e,north:t,southEast:o,southWest:n,northEast:i,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:l,northMiddleWest:c}=Ag.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[o,n,s,a,e,i,r,l,c,t]:[n,o,a,s,e,r,i,c,l,t]}get _defaultPanelPositionName(){return"rtl"===this.locale.uiLanguageDirection?"sw":"se"}}Ag.defaultPanelPositions={south:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/2,name:"s"}),southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),southMiddleEast:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/4,name:"sme"}),southMiddleWest:(e,t)=>({top:e.bottom,left:e.left-3*(t.width-e.width)/4,name:"smw"}),north:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/2,name:"n"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),northMiddleEast:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/4,name:"nme"}),northMiddleWest:(e,t)=>({top:e.top-t.height,left:e.left-3*(t.width-e.width)/4,name:"nmw"})},Ag._getOptimalPosition=si;const Cg=Ag;class vg extends Kp{constructor(e){super(e),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(e=>String(e)))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new $p;return e.content=$m,e.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),e}}var xg=i(1102),Eg={attributes:{"data-cke":!0}};Eg.setAttributes=Xr(),Eg.insert=Yr().bind(null,"head"),Eg.domAPI=Zr(),Eg.insertStyleElement=ts();Gr()(xg.A,Eg);xg.A&&xg.A.locals&&xg.A.locals;var Dg=i(5067),Bg={attributes:{"data-cke":!0}};Bg.setAttributes=Xr(),Bg.insert=Yr().bind(null,"head"),Bg.domAPI=Zr(),Bg.insertStyleElement=ts();Gr()(Dg.A,Bg);Dg.A&&Dg.A.locals&&Dg.A.locals;class Sg extends Am{constructor(e){super(e);const t=this.bindTemplate;this.set({withText:!0,role:"menuitem"}),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{class:["ck-dropdown-menu-list__nested-menu__button"],"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(e=>String(e))),"data-cke-tooltip-disabled":t.to("isOn")},on:{mouseenter:t.to("mouseenter")}})}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new $p;return e.content=$m,e.extendTemplate({attributes:{class:"ck-dropdown-menu-list__nested-menu__button__arrow"}}),e}}class Tg extends zp{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",t.if("isVisible","ck-hidden",(e=>!e))],role:"presentation"},children:this.children})}focus(){this.children.first&&this.children.first.focus()}}class Ig extends zp{constructor(e){super(e),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class Pg extends zp{constructor(e,t=new Sm){super(e);const o=this.bindTemplate,n=new Mg(e);this.set({label:"",isVisible:!0}),this.labelView=t,this.labelView.bind("text").to(this,"label"),this.children=this.createCollection(),this.children.addMany([this.labelView,n]),n.set({role:"group",ariaLabelledBy:t.id}),n.focusTracker.destroy(),n.keystrokes.destroy(),this.items=n.items,this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",o.if("isVisible","ck-hidden",(e=>!e))]},children:this.children})}focus(){if(this.items){const e=this.items.find((e=>!(e instanceof Ig)));e&&e.focus()}}}var Fg=i(6048),Rg={attributes:{"data-cke":!0}};Rg.setAttributes=Xr(),Rg.insert=Yr().bind(null,"head"),Rg.domAPI=Zr(),Rg.insertStyleElement=ts();Gr()(Fg.A,Rg);Fg.A&&Fg.A.locals&&Fg.A.locals;class Mg extends zp{constructor(e){super(e),this._listItemGroupToChangeListeners=new WeakMap;const t=this.bindTemplate;this.focusables=new hp,this.items=this.createCollection(),this.focusTracker=new nr,this.keystrokes=new ar,this._focusCycler=new Xp({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",void 0),this.set("role",void 0),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:t.to("role"),"aria-label":t.to("ariaLabel"),"aria-labelledby":t.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const e of this.items)e instanceof Pg?this._registerFocusableItemsGroup(e):e instanceof Tg&&this._registerFocusableListItem(e);this.items.on("change",((e,t)=>{for(const e of t.removed)e instanceof Pg?this._deregisterFocusableItemsGroup(e):e instanceof Tg&&this._deregisterFocusableListItem(e);for(const e of Array.from(t.added).reverse())e instanceof Pg?this._registerFocusableItemsGroup(e,t.index):this._registerFocusableListItem(e,t.index)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(e,t){this.focusTracker.add(e.element),this.focusables.add(e,t)}_deregisterFocusableListItem(e){this.focusTracker.remove(e.element),this.focusables.remove(e)}_getOnGroupItemsChangeCallback(e){return(t,o)=>{for(const e of o.removed)this._deregisterFocusableListItem(e);for(const t of Array.from(o.added).reverse())this._registerFocusableListItem(t,this.items.getIndex(e)+o.index)}}_registerFocusableItemsGroup(e,t){Array.from(e.items).forEach(((e,o)=>{const n=void 0!==t?t+o:void 0;this._registerFocusableListItem(e,n)}));const o=this._getOnGroupItemsChangeCallback(e);this._listItemGroupToChangeListeners.set(e,o),e.items.on("change",o)}_deregisterFocusableItemsGroup(e){for(const t of e.items)this._deregisterFocusableListItem(t);e.items.off("change",this._listItemGroupToChangeListeners.get(e)),this._listItemGroupToChangeListeners.delete(e)}}class zg extends Mg{constructor(e){super(e);const t=this.bindTemplate;this.role="menu",this.set("isVisible",!0),this.extendTemplate({attributes:{class:["ck-dropdown-menu-list",t.if("isVisible","ck-hidden",(e=>!e))]}})}}const Og={eastSouth:e=>({top:e.top,left:e.right-5,name:"es"}),eastNorth:(e,t)=>({top:e.top-t.height+e.height,left:e.right-5,name:"en"}),westSouth:(e,t)=>({top:e.top,left:e.left-t.width+5,name:"ws"}),westNorth:(e,t)=>({top:e.top-t.height+e.height,left:e.left-t.width+5,name:"wn"})};var Ng=i(4694),Vg={attributes:{"data-cke":!0}};Vg.setAttributes=Xr(),Vg.insert=Yr().bind(null,"head"),Vg.domAPI=Zr(),Vg.insertStyleElement=ts();Gr()(Ng.A,Vg);Ng.A&&Ng.A.locals&&Ng.A.locals;const Lg={openOnArrowRightKey(e){const t="rtl"===e.locale.uiLanguageDirection?"arrowleft":"arrowright";e.keystrokes.set(t,((t,o)=>{e.focusTracker.focusedElement===e.buttonView.element&&e.isEnabled&&(e.isOpen||(e.isOpen=!0),e.panelView.focus(),o())}))},openOnButtonClick(e){e.buttonView.on("execute",(()=>{e.isEnabled&&(e.isOpen=!0)}))},openAndFocusOnEnterKeyPress(e){e.keystrokes.set("enter",((t,o)=>{e.focusTracker.focusedElement===e.buttonView.element&&(e.isOpen=!0,e.panelView.focus(),o())}))},closeOnArrowLeftKey(e){const t="rtl"===e.locale.uiLanguageDirection?"arrowright":"arrowleft";e.keystrokes.set(t,((t,o)=>{e.isOpen&&(e.focus(),e.isOpen=!1,o())}))},closeOnEscKey(e){e.keystrokes.set("esc",((t,o)=>{e.isOpen&&(e.focus(),e.isOpen=!1,o())}))},closeOnParentClose(e,t){t.on("change:isOpen",((o,n,i)=>{i||o.source!==t||(e.isOpen=!1)}))}};var Hg=i(5615),jg={attributes:{"data-cke":!0}};jg.setAttributes=Xr(),jg.insert=Yr().bind(null,"head"),jg.domAPI=Zr(),jg.insertStyleElement=ts();Gr()(Hg.A,jg);Hg.A&&Hg.A.locals&&Hg.A.locals;const qg=ti("px"),$g={top:-99999,left:-99999,name:"arrowless",config:{withArrow:!1}};class Ug extends zp{constructor(e){super(e);const t=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class",void 0),this._pinWhenIsVisibleCallback=null,this._resizeObserver=null,this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",t.to("position",(e=>`ck-balloon-panel_${e}`)),t.if("isVisible","ck-balloon-panel_visible"),t.if("withArrow","ck-balloon-panel_with-arrow"),t.to("class")],style:{top:t.to("top",qg),left:t.to("left",qg)}},children:this.content})}destroy(){this.hide(),super.destroy()}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(e){const t=Gg(e.target);if(t&&!ri(t))return!1;this.show();const o=Ug.defaultPositions,n=Object.assign({},{element:this.element,positions:[o.southArrowNorth,o.southArrowNorthMiddleWest,o.southArrowNorthMiddleEast,o.southArrowNorthWest,o.southArrowNorthEast,o.northArrowSouth,o.northArrowSouthMiddleWest,o.northArrowSouthMiddleEast,o.northArrowSouthWest,o.northArrowSouthEast,o.viewportStickyNorth],limiter:s.document.body,fitInViewport:!0},e),i=Ug._getOptimalPosition(n)||$g,r=parseInt(i.left),a=parseInt(i.top),l=i.name,c=i.config||{},{withArrow:d=!0}=c;return this.top=a,this.left=r,this.position=l,this.withArrow=d,!0}pin(e){this.unpin(),this._startPinning(e)&&(this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(e):this._stopPinning()},this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback))}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(e){if(!this.attachTo(e))return!1;let t=Gg(e.target);const o=e.limiter?Gg(e.limiter):s.document.body;if(this.listenTo(s.document,"scroll",((n,i)=>{const r=i.target,s=t&&r.contains(t),a=o&&r.contains(o);!s&&!a&&t&&o||this.attachTo(e)}),{useCapture:!0}),this.listenTo(s.window,"resize",(()=>{this.attachTo(e)})),!this._resizeObserver&&(t&&qn(t)&&(t=t.parentElement),t)){const e=()=>{ri(t)||this.unpin()};this._resizeObserver=new Xn(t,e)}return!0}_stopPinning(){this.stopListening(s.document,"scroll"),this.stopListening(s.window,"resize"),this._resizeObserver&&(this._resizeObserver.destroy(),this._resizeObserver=null)}static generatePositions(e={}){const{sideOffset:t=Ug.arrowSideOffset,heightOffset:o=Ug.arrowHeightOffset,stickyVerticalOffset:n=Ug.stickyVerticalOffset,config:i}=e;return{northWestArrowSouthWest:(e,o)=>({top:r(e,o),left:e.left-t,name:"arrow_sw",...i&&{config:i}}),northWestArrowSouthMiddleWest:(e,o)=>({top:r(e,o),left:e.left-.25*o.width-t,name:"arrow_smw",...i&&{config:i}}),northWestArrowSouth:(e,t)=>({top:r(e,t),left:e.left-t.width/2,name:"arrow_s",...i&&{config:i}}),northWestArrowSouthMiddleEast:(e,o)=>({top:r(e,o),left:e.left-.75*o.width+t,name:"arrow_sme",...i&&{config:i}}),northWestArrowSouthEast:(e,o)=>({top:r(e,o),left:e.left-o.width+t,name:"arrow_se",...i&&{config:i}}),northArrowSouthWest:(e,o)=>({top:r(e,o),left:e.left+e.width/2-t,name:"arrow_sw",...i&&{config:i}}),northArrowSouthMiddleWest:(e,o)=>({top:r(e,o),left:e.left+e.width/2-.25*o.width-t,name:"arrow_smw",...i&&{config:i}}),northArrowSouth:(e,t)=>({top:r(e,t),left:e.left+e.width/2-t.width/2,name:"arrow_s",...i&&{config:i}}),northArrowSouthMiddleEast:(e,o)=>({top:r(e,o),left:e.left+e.width/2-.75*o.width+t,name:"arrow_sme",...i&&{config:i}}),northArrowSouthEast:(e,o)=>({top:r(e,o),left:e.left+e.width/2-o.width+t,name:"arrow_se",...i&&{config:i}}),northEastArrowSouthWest:(e,o)=>({top:r(e,o),left:e.right-t,name:"arrow_sw",...i&&{config:i}}),northEastArrowSouthMiddleWest:(e,o)=>({top:r(e,o),left:e.right-.25*o.width-t,name:"arrow_smw",...i&&{config:i}}),northEastArrowSouth:(e,t)=>({top:r(e,t),left:e.right-t.width/2,name:"arrow_s",...i&&{config:i}}),northEastArrowSouthMiddleEast:(e,o)=>({top:r(e,o),left:e.right-.75*o.width+t,name:"arrow_sme",...i&&{config:i}}),northEastArrowSouthEast:(e,o)=>({top:r(e,o),left:e.right-o.width+t,name:"arrow_se",...i&&{config:i}}),southWestArrowNorthWest:e=>({top:s(e),left:e.left-t,name:"arrow_nw",...i&&{config:i}}),southWestArrowNorthMiddleWest:(e,o)=>({top:s(e),left:e.left-.25*o.width-t,name:"arrow_nmw",...i&&{config:i}}),southWestArrowNorth:(e,t)=>({top:s(e),left:e.left-t.width/2,name:"arrow_n",...i&&{config:i}}),southWestArrowNorthMiddleEast:(e,o)=>({top:s(e),left:e.left-.75*o.width+t,name:"arrow_nme",...i&&{config:i}}),southWestArrowNorthEast:(e,o)=>({top:s(e),left:e.left-o.width+t,name:"arrow_ne",...i&&{config:i}}),southArrowNorthWest:e=>({top:s(e),left:e.left+e.width/2-t,name:"arrow_nw",...i&&{config:i}}),southArrowNorthMiddleWest:(e,o)=>({top:s(e),left:e.left+e.width/2-.25*o.width-t,name:"arrow_nmw",...i&&{config:i}}),southArrowNorth:(e,t)=>({top:s(e),left:e.left+e.width/2-t.width/2,name:"arrow_n",...i&&{config:i}}),southArrowNorthMiddleEast:(e,o)=>({top:s(e),left:e.left+e.width/2-.75*o.width+t,name:"arrow_nme",...i&&{config:i}}),southArrowNorthEast:(e,o)=>({top:s(e),left:e.left+e.width/2-o.width+t,name:"arrow_ne",...i&&{config:i}}),southEastArrowNorthWest:e=>({top:s(e),left:e.right-t,name:"arrow_nw",...i&&{config:i}}),southEastArrowNorthMiddleWest:(e,o)=>({top:s(e),left:e.right-.25*o.width-t,name:"arrow_nmw",...i&&{config:i}}),southEastArrowNorth:(e,t)=>({top:s(e),left:e.right-t.width/2,name:"arrow_n",...i&&{config:i}}),southEastArrowNorthMiddleEast:(e,o)=>({top:s(e),left:e.right-.75*o.width+t,name:"arrow_nme",...i&&{config:i}}),southEastArrowNorthEast:(e,o)=>({top:s(e),left:e.right-o.width+t,name:"arrow_ne",...i&&{config:i}}),westArrowEast:(e,t)=>({top:e.top+e.height/2-t.height/2,left:e.left-t.width-o,name:"arrow_e",...i&&{config:i}}),eastArrowWest:(e,t)=>({top:e.top+e.height/2-t.height/2,left:e.right+o,name:"arrow_w",...i&&{config:i}}),viewportStickyNorth:(e,t,o,r)=>{const s=r||o;return e.getIntersection(s)?s.height-e.height>n?null:{top:s.top+n,left:e.left+e.width/2-t.width/2,name:"arrowless",config:{withArrow:!1,...i}}:null}};function r(e,t){return e.top-t.height-o}function s(e){return e.bottom+o}}}Ug.arrowSideOffset=25,Ug.arrowHeightOffset=10,Ug.stickyVerticalOffset=20,Ug._getOptimalPosition=si,Ug.defaultPositions=Ug.generatePositions();const Wg=Ug;function Gg(e){return Tn(e)?e:$n(e)?e.commonAncestorContainer:"function"==typeof e?Gg(e()):null}var Kg=i(7217),Zg={attributes:{"data-cke":!0}};Zg.setAttributes=Xr(),Zg.insert=Yr().bind(null,"head"),Zg.domAPI=Zr(),Zg.insertStyleElement=ts();Gr()(Kg.A,Zg);Kg.A&&Kg.A.locals&&Kg.A.locals;class Jg extends Wg{constructor(e){super(e);const t=this.bindTemplate;this.set({isVisible:!1,position:"se",class:null,top:0,left:0}),this.extendTemplate({tag:"div",attributes:{class:["ck-reset","ck-dropdown-menu__nested-menu__panel"],tabindex:"-1"},on:{selectstart:t.to((e=>{"input"!==e.target.tagName.toLocaleLowerCase()&&e.preventDefault()}))}})}focus(e=1){const{content:t}=this;t.length&&(1===e?t.first.focus():t.last.focus())}}var Yg=i(6559),Qg={attributes:{"data-cke":!0}};Qg.setAttributes=Xr(),Qg.insert=Yr().bind(null,"head"),Qg.domAPI=Zr(),Qg.insertStyleElement=ts();Gr()(Yg.A,Qg);Yg.A&&Yg.A.locals&&Yg.A.locals;class Xg extends zp{constructor(e,t,o,n,i){super(e),this._bodyCollection=t,this.id=o,this.set({isOpen:!1,isEnabled:!0,panelPosition:"w",class:void 0,parentMenuView:null}),this.keystrokes=new ar,this.focusTracker=new nr,this.buttonView=new Sg(e),this.buttonView.delegate("mouseenter").to(this),this.buttonView.bind("isOn","isEnabled").to(this,"isOpen","isEnabled"),this.buttonView.label=n,this.panelView=new Jg(e),this.panelView.isVisible=!0,this.listView=new zg(e),this.listView.bind("ariaLabel").to(this.buttonView,"label"),this.panelView.content.add(this.listView);const r=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown-menu-list__nested-menu",r.to("class"),r.if("isEnabled","ck-disabled",(e=>!e))],role:"presentation"},children:[this.buttonView]}),this.parentMenuView=i,this.parentMenuView&&this._handleParentMenuView(),this._attachBehaviors()}get _panelPositions(){const{westSouth:e,eastSouth:t,westNorth:o,eastNorth:n}=Og;return"ltr"===this.locale.uiLanguageDirection?[t,n,e,o]:[e,o,t,n]}render(){super.render(),this.panelView.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.focusTracker.add(this.listView),this.keystrokes.listenTo(this.element),this._mountPanelOnOpen()}destroy(){this._removePanelFromBody(),this.panelView.destroy(),super.destroy()}focus(){this.buttonView.focus()}_handleParentMenuView(){this.delegate(...Xg.DELEGATED_EVENTS).to(this.parentMenuView),Lg.closeOnParentClose(this,this.parentMenuView)}_attachBehaviors(){Lg.openOnButtonClick(this),Lg.openAndFocusOnEnterKeyPress(this),Lg.openOnArrowRightKey(this),Lg.closeOnEscKey(this),Lg.closeOnArrowLeftKey(this)}_mountPanelOnOpen(){const{panelView:e}=this;this.on("change:isOpen",((t,o,n)=>{t.source===this&&(n||!this._bodyCollection.has(e)?n&&!this._bodyCollection.has(e)&&this._addPanelToBody():this._removePanelFromBody())}))}_removePanelFromBody(){const{panelView:e,keystrokes:t}=this;this._bodyCollection.has(e)&&(this._bodyCollection.remove(e),t.stopListening(e.element))}_addPanelToBody(){const{panelView:e,buttonView:t,keystrokes:o}=this;this._bodyCollection.has(e)||(this._bodyCollection.add(e),o.listenTo(e.element),e.pin({positions:this._panelPositions,limiter:s.document.body,element:e.element,target:t.element,fitInViewport:!0}))}}Xg.DELEGATED_EVENTS=["mouseenter","execute","change:isOpen"];class ef extends zp{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class tf extends zp{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function of(e){if(Array.isArray(e))return{items:e,removeItems:[]};const t={items:[],removeItems:[]};return e?{...t,...e}:t}var nf=i(66),rf={attributes:{"data-cke":!0}};rf.setAttributes=Xr(),rf.insert=Yr().bind(null,"head"),rf.domAPI=Zr(),rf.insertStyleElement=ts();Gr()(nf.A,rf);nf.A&&nf.A.locals&&nf.A.locals;const sf=(()=>({alignLeft:up.alignLeft,bold:up.bold,importExport:up.importExport,paragraph:up.paragraph,plus:up.plus,text:up.text,threeVerticalDots:up.threeVerticalDots,pilcrow:up.pilcrow,dragIndicator:up.dragIndicator}))();class af extends zp{constructor(e,t){super(e);const o=this.bindTemplate,n=this.t;this.options=t||{},this.set("ariaLabel",n("Editor toolbar")),this.set("maxWidth","auto"),this.set("role","toolbar"),this.items=this.createCollection(),this.focusTracker=new nr,this.keystrokes=new ar,this.set("class",void 0),this.set("isCompact",!1),this.itemsView=new lf(e),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const i="rtl"===e.uiLanguageDirection;this._focusCycler=new Xp({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[i?"arrowright":"arrowleft","arrowup"],focusNext:[i?"arrowleft":"arrowright","arrowdown"]}});const r=["ck","ck-toolbar",o.to("class"),o.if("isCompact","ck-toolbar_compact")];var s;this.options.shouldGroupWhenFull&&this.options.isFloating&&r.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:r,role:o.to("role"),"aria-label":o.to("ariaLabel"),style:{maxWidth:o.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:(s=this,s.bindTemplate.to((e=>{e.target===s.element&&e.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new df(this):new cf(this)}render(){super.render(),this.focusTracker.add(this.element);for(const e of this.items)this.focusTracker.add(e);this.items.on("add",((e,t)=>{this.focusTracker.add(t)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(e,t,o){this.items.addMany(this._buildItemsFromConfig(e,t,o))}_buildItemsFromConfig(e,t,o){const n=of(e),i=o||n.removeItems;return this._cleanItemsConfiguration(n.items,t,i).map((e=>W(e)?this._createNestedToolbarDropdown(e,t,i):"|"===e?new ef:"-"===e?new tf:t.create(e))).filter((e=>!!e))}_cleanItemsConfiguration(e,t,o){const n=e.filter(((e,n,i)=>"|"===e||-1===o.indexOf(e)&&("-"===e?!this.options.shouldGroupWhenFull||(T("toolbarview-line-break-ignored-when-grouping-items",i),!1):!(!W(e)&&!t.has(e))||(T("toolbarview-item-unavailable",{item:e}),!1))));return this._cleanSeparatorsAndLineBreaks(n)}_cleanSeparatorsAndLineBreaks(e){const t=e=>"-"!==e&&"|"!==e,o=e.length,n=e.findIndex(t);if(-1===n)return[];const i=o-e.slice().reverse().findIndex(t);return e.slice(n,i).filter(((e,o,n)=>{if(t(e))return!0;return!(o>0&&n[o-1]===e)}))}_createNestedToolbarDropdown(e,t,o){let{label:n,icon:i,items:r,tooltip:s=!0,withText:a=!1}=e;if(r=this._cleanItemsConfiguration(r,t,o),!r.length)return null;const l=kf(this.locale);return n||T("toolbarview-nested-toolbar-dropdown-missing-label",e),l.class="ck-toolbar__nested-toolbar-dropdown",l.buttonView.set({label:n,tooltip:s,withText:!!a}),!1!==i?l.buttonView.icon=sf[i]||i||up.threeVerticalDots:l.buttonView.withText=!0,wf(l,(()=>l.toolbarView._buildItemsFromConfig(r,t,o))),l}}class lf extends zp{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class cf{constructor(e){const t=e.bindTemplate;e.set("isVertical",!1),e.itemsView.children.bindTo(e.items).using((e=>e)),e.focusables.bindTo(e.items).using((e=>tm(e)?e:null)),e.extendTemplate({attributes:{class:[t.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class df{constructor(e){this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,this.view=e,this.viewChildren=e.children,this.viewFocusables=e.focusables,this.viewItemsView=e.itemsView,this.viewFocusTracker=e.focusTracker,this.viewLocale=e.locale,this.ungroupedItems=e.createCollection(),this.groupedItems=e.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),e.itemsView.children.bindTo(this.ungroupedItems).using((e=>e)),this.ungroupedItems.on("change",this._updateFocusCyclableItems.bind(this)),e.children.on("change",this._updateFocusCyclableItems.bind(this)),e.items.on("change",((e,t)=>{const o=t.index,n=Array.from(t.added);for(const e of t.removed)o>=this.ungroupedItems.length?this.groupedItems.remove(e):this.ungroupedItems.remove(e);for(let e=o;ethis.ungroupedItems.length?this.groupedItems.add(t,e-this.ungroupedItems.length):this.ungroupedItems.add(t,e)}this._updateGrouping()})),e.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(e){this.viewElement=e.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(e)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!ri(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const e=this.groupedItems.length;let t;for(;this._areItemsOverflowing;)this._groupLastItem(),t=!0;if(!t&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==e&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const e=this.viewElement,t=this.viewLocale.uiLanguageDirection,o=new Gn(e.lastChild),n=new Gn(e);if(!this.cachedPadding){const o=s.window.getComputedStyle(e),n="ltr"===t?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(o[n])}return"ltr"===t?o.right>n.right-this.cachedPadding:o.left{e&&e===t.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),e=t.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(e){e.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new ef),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const e=this.viewLocale,t=e.t,o=kf(e);return o.class="ck-toolbar__grouped-dropdown",o.panelPosition="ltr"===e.uiLanguageDirection?"sw":"se",wf(o,this.groupedItems),o.buttonView.set({label:t("Show more items"),tooltip:!0,tooltipPosition:"rtl"===e.uiLanguageDirection?"se":"sw",icon:up.threeVerticalDots}),o}_updateFocusCyclableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((e=>{tm(e)&&this.viewFocusables.add(e)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}var uf=i(7133),hf={attributes:{"data-cke":!0}};hf.setAttributes=Xr(),hf.insert=Yr().bind(null,"head"),hf.domAPI=Zr(),hf.insertStyleElement=ts();Gr()(uf.A,hf);uf.A&&uf.A.locals&&uf.A.locals;class pf extends zp{constructor(e,t){super(e);const o=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(t),this.arrowView=this._createArrowView(),this.keystrokes=new ar,this.focusTracker=new nr,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",o.to("class"),o.if("isVisible","ck-hidden",(e=>!e)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",((e,t)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),t())})),this.keystrokes.set("arrowleft",((e,t)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),t())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(e){const t=e||new Kp;return e||t.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),t.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),t.delegate("execute").to(this),t}_createArrowView(){const e=new Kp,t=e.bindTemplate;return e.icon=$m,e.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":t.to("isOn"),"aria-haspopup":!0,"aria-expanded":t.to("isOn",(e=>String(e)))}}),e.bind("isEnabled").to(this),e.bind("label").to(this),e.bind("tooltip").to(this),e.delegate("execute").to(this,"open"),e}}var mf=i(7475),gf={attributes:{"data-cke":!0}};gf.setAttributes=Xr(),gf.insert=Yr().bind(null,"head"),gf.domAPI=Zr(),gf.insertStyleElement=ts();Gr()(mf.A,gf);mf.A&&mf.A.locals&&mf.A.locals;var ff=i(2454),bf={attributes:{"data-cke":!0}};bf.setAttributes=Xr(),bf.insert=Yr().bind(null,"head"),bf.domAPI=Zr(),bf.insertStyleElement=ts();Gr()(ff.A,bf);ff.A&&ff.A.locals&&ff.A.locals;function kf(e,t=vg){const o="function"==typeof t?new t(e):t,n=new wg(e),i=new Cg(e,o,n);return o.bind("isEnabled").to(i),o instanceof pf?o.arrowView.bind("isOn").to(i,"isOpen"):o.bind("isOn").to(i,"isOpen"),function(e){(function(e){Op({emitter:e,activator:()=>e.isRendered&&e.isOpen,callback:()=>{e.isOpen=!1},contextElements:()=>[e.element,...vf(e.focusTracker).filter((t=>!e.element.contains(t)))]})})(e),function(e){e.on("execute",(t=>{t.source instanceof Vm||(e.isOpen=!1)}))}(e),function(e){e.focusTracker.on("change:isFocused",((t,o,n)=>{!n&&e.isOpen&&(e.isOpen=!1)}))}(e),function(e){e.keystrokes.set("arrowdown",((t,o)=>{e.isOpen&&(e.panelView.focus(),o())})),e.keystrokes.set("arrowup",((t,o)=>{e.isOpen&&(e.panelView.focusLast(),o())}))}(e),function(e){e.on("change:isOpen",((t,o,n)=>{if(n)return;e.focusTracker.elements.some((e=>e.contains(s.document.activeElement)))&&e.buttonView.focus()}))}(e),function(e){e.on("change:isOpen",((t,o,n)=>{n&&e.panelView.focus()}),{priority:"low"})}(e)}(i),i}function wf(e,t,o={}){e.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),e.isOpen?_f(e,t,o):e.once("change:isOpen",(()=>_f(e,t,o)),{priority:"highest"}),o.enableActiveItemFocusOnDropdownOpen&&Cf(e,(()=>e.toolbarView.items.find((e=>e.isOn))))}function _f(e,t,o){const n=e.locale,i=n.t,r=e.toolbarView=new af(n),s="function"==typeof t?t():t;r.ariaLabel=o.ariaLabel||i("Dropdown toolbar"),o.maxWidth&&(r.maxWidth=o.maxWidth),o.class&&(r.class=o.class),o.isCompact&&(r.isCompact=o.isCompact),o.isVertical&&(r.isVertical=!0),s instanceof hp?r.items.bindTo(s).using((e=>e)):r.items.addMany(s),e.panelView.children.add(r),e.focusTracker.add(r),r.items.delegate("execute").to(e)}function yf(e,t,o={}){e.isOpen?Af(e,t,o):e.once("change:isOpen",(()=>Af(e,t,o)),{priority:"highest"}),Cf(e,(()=>e.listView.items.find((e=>e instanceof Tg&&e.children.first.isOn))))}function Af(e,t,o){const n=e.locale,i=e.listView=new Mg(n),r="function"==typeof t?t():t;i.ariaLabel=o.ariaLabel,i.role=o.role,xf(e,i.items,r,n),e.panelView.children.add(i),i.items.delegate("execute").to(e)}function Cf(e,t){e.on("change:isOpen",(()=>{if(!e.isOpen)return;const o=t();o&&("function"==typeof o.focus?o.focus():T("ui-dropdown-focus-child-on-open-child-missing-focus",{view:o}))}),{priority:D.low-10})}function vf(e){return[...e.elements,...e.externalViews.flatMap((e=>vf(e.focusTracker)))]}function xf(e,t,o,n){t.on("change",(()=>{const e=[...t].reduce(((e,t)=>(t instanceof Tg&&t.children.first instanceof Am&&e.push(t.children.first),e)),[]),o=e.some((e=>e.isToggleable));e.forEach((e=>{e.hasCheckSpace=o}))})),t.bindTo(o).using((t=>{if("separator"===t.type)return new Ig(n);if("group"===t.type){const o=new Pg(n);return o.set({label:t.label}),xf(e,o.items,t.items,n),o.items.delegate("execute").to(e),o}if("button"===t.type||"switchbutton"===t.type){const e="menuitemcheckbox"===t.model.role||"menuitemradio"===t.model.role,o=new Tg(n);let i;return"button"===t.type?(i=new Am(n),i.set({isToggleable:e})):i=new Vm(n),i.bind(...Object.keys(t.model)).to(t.model),i.delegate("execute").to(o),o.children.add(i),o}return null}))}const Ef=(e,t,o)=>{const n=new gg(e.locale);return n.set({id:t,ariaDescribedById:o}),n.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),n.bind("hasError").to(e,"errorText",(e=>!!e)),n.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(n),n},Df=(e,t,o)=>{const n=new fg(e.locale);return n.set({id:t,ariaDescribedById:o,inputMode:"numeric"}),n.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),n.bind("hasError").to(e,"errorText",(e=>!!e)),n.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(n),n},Bf=(e,t,o)=>{const n=kf(e.locale);return n.set({id:t,ariaDescribedById:o}),n.bind("isEnabled").to(e),n},Sf=(e,t=0,o=1)=>e>o?o:eMath.round(o*e)/o,If=(Math.PI,e=>("#"===e[0]&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?Tf(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:8===e.length?Tf(parseInt(e.substring(6,8),16)/255,2):1})),Pf=({h:e,s:t,v:o,a:n})=>{const i=(200-t)*o/100;return{h:Tf(e),s:Tf(i>0&&i<200?t*o/100/(i<=100?i:200-i)*100:0),l:Tf(i/2),a:Tf(n,2)}},Ff=e=>{const{h:t,s:o,l:n}=Pf(e);return`hsl(${t}, ${o}%, ${n}%)`},Rf=({h:e,s:t,v:o,a:n})=>{e=e/360*6,t/=100,o/=100;const i=Math.floor(e),r=o*(1-t),s=o*(1-(e-i)*t),a=o*(1-(1-e+i)*t),l=i%6;return{r:Tf(255*[o,s,r,r,a,o][l]),g:Tf(255*[a,o,o,s,r,r][l]),b:Tf(255*[r,r,a,o,o,s][l]),a:Tf(n,2)}},Mf=e=>{const t=e.toString(16);return t.length<2?"0"+t:t},zf=({r:e,g:t,b:o,a:n})=>{const i=n<1?Mf(Tf(255*n)):"";return"#"+Mf(e)+Mf(t)+Mf(o)+i},Of=({r:e,g:t,b:o,a:n})=>{const i=Math.max(e,t,o),r=i-Math.min(e,t,o),s=r?i===e?(t-o)/r:i===t?2+(o-e)/r:4+(e-t)/r:0;return{h:Tf(60*(s<0?s+6:s)),s:Tf(i?r/i*100:0),v:Tf(i/255*100),a:n}},Nf=(e,t)=>{if(e===t)return!0;for(const o in e)if(e[o]!==t[o])return!1;return!0},Vf={},Lf=e=>{let t=Vf[e];return t||(t=document.createElement("template"),t.innerHTML=e,Vf[e]=t),t},Hf=(e,t,o)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:o}))};let jf=!1;const qf=e=>"touches"in e,$f=(e,t)=>{const o=qf(t)?t.touches[0]:t,n=e.el.getBoundingClientRect();Hf(e.el,"move",e.getMove({x:Sf((o.pageX-(n.left+window.pageXOffset))/n.width),y:Sf((o.pageY-(n.top+window.pageYOffset))/n.height)}))};class Uf{constructor(e,t,o,n){const i=Lf(`
`);e.appendChild(i.content.cloneNode(!0));const r=e.querySelector(`[part=${t}]`);r.addEventListener("mousedown",this),r.addEventListener("touchstart",this),r.addEventListener("keydown",this),this.el=r,this.xy=n,this.nodes=[r.firstChild,r]}set dragging(e){const t=e?document.addEventListener:document.removeEventListener;t(jf?"touchmove":"mousemove",this),t(jf?"touchend":"mouseup",this)}handleEvent(e){switch(e.type){case"mousedown":case"touchstart":if(e.preventDefault(),!(e=>!(jf&&!qf(e)||(jf||(jf=qf(e)),0)))(e)||!jf&&0!=e.button)return;this.el.focus(),$f(this,e),this.dragging=!0;break;case"mousemove":case"touchmove":e.preventDefault(),$f(this,e);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((e,t)=>{const o=t.keyCode;o>40||e.xy&&o<37||o<33||(t.preventDefault(),Hf(e.el,"move",e.getMove({x:39===o?.01:37===o?-.01:34===o?.05:33===o?-.05:35===o?1:36===o?-1:0,y:40===o?.01:38===o?-.01:0},!0)))})(this,e)}}style(e){e.forEach(((e,t)=>{for(const o in e)this.nodes[t].style.setProperty(o,e[o])}))}}class Wf extends Uf{constructor(e){super(e,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:e}){this.h=e,this.style([{left:e/360*100+"%",color:Ff({h:e,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${Tf(e)}`)}getMove(e,t){return{h:t?Sf(this.h+360*e.x,0,360):360*e.x}}}class Gf extends Uf{constructor(e){super(e,"saturation",'aria-label="Color"',!0)}update(e){this.hsva=e,this.style([{top:100-e.v+"%",left:`${e.s}%`,color:Ff(e)},{"background-color":Ff({h:e.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${Tf(e.s)}%, Brightness ${Tf(e.v)}%`)}getMove(e,t){return{s:t?Sf(this.hsva.s+100*e.x,0,100):100*e.x,v:t?Sf(this.hsva.v-100*e.y,0,100):Math.round(100-100*e.y)}}}const Kf=Symbol("same"),Zf=Symbol("color"),Jf=Symbol("hsva"),Yf=Symbol("update"),Qf=Symbol("parts"),Xf=Symbol("css"),eb=Symbol("sliders");class tb extends HTMLElement{static get observedAttributes(){return["color"]}get[Xf](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[eb](){return[Gf,Wf]}get color(){return this[Zf]}set color(e){if(!this[Kf](e)){const t=this.colorModel.toHsva(e);this[Yf](t),this[Zf]=e}}constructor(){super();const e=Lf(``),t=this.attachShadow({mode:"open"});t.appendChild(e.content.cloneNode(!0)),t.addEventListener("move",this),this[Qf]=this[eb].map((e=>new e(t)))}connectedCallback(){if(this.hasOwnProperty("color")){const e=this.color;delete this.color,this.color=e}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(e,t,o){const n=this.colorModel.fromAttr(o);this[Kf](n)||(this.color=n)}handleEvent(e){const t=this[Jf],o={...t,...e.detail};let n;this[Yf](o),Nf(o,t)||this[Kf](n=this.colorModel.fromHsva(o))||(this[Zf]=n,Hf(this,"color-changed",{value:n}))}[Kf](e){return this.color&&this.colorModel.equal(e,this.color)}[Yf](e){this[Jf]=e,this[Qf].forEach((t=>t.update(e)))}}const ob={defaultColor:"#000",toHsva:e=>Of(If(e)),fromHsva:({h:e,s:t,v:o})=>zf(Rf({h:e,s:t,v:o,a:1})),equal:(e,t)=>e.toLowerCase()===t.toLowerCase()||Nf(If(e),If(t)),fromAttr:e=>e};class nb extends tb{get colorModel(){return ob}}var ib=i(3086),rb={attributes:{"data-cke":!0}};rb.setAttributes=Xr(),rb.insert=Yr().bind(null,"head"),rb.domAPI=Zr(),rb.insertStyleElement=ts();Gr()(ib.A,rb);ib.A&&ib.A.locals&&ib.A.locals;class sb extends zp{constructor(e,t={}){super(e),this.set({color:"",_hexColor:""}),this.hexInputRow=this._createInputRow();const o=this.createCollection();t.hideInput||o.add(this.hexInputRow),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker"],tabindex:-1},children:o}),this._config=t,this._debounceColorPickerEvent=bl((e=>{this.set("color",e),this.fire("colorSelected",{color:this.color})}),150,{leading:!0}),this.on("set:color",((e,t,o)=>{e.return=sg(o,this._config.format||"hsl")})),this.on("change:color",(()=>{this._hexColor=ab(this.color)})),this.on("change:_hexColor",(()=>{document.activeElement!==this.picker&&this.picker.setAttribute("color",this._hexColor),ab(this.color)!=ab(this._hexColor)&&(this.color=this._hexColor)}))}render(){var e,t;if(super.render(),e="hex-color-picker",t=nb,void 0===customElements.get(e)&&customElements.define(e,t),this.picker=s.document.createElement("hex-color-picker"),this.picker.setAttribute("class","hex-color-picker"),this.picker.setAttribute("tabindex","-1"),this._createSlidersView(),this.element){this.hexInputRow.element?this.element.insertBefore(this.picker,this.hexInputRow.element):this.element.appendChild(this.picker);const e=document.createElement("style");e.textContent='[role="slider"]:focus [part$="pointer"] {border: 1px solid #fff;outline: 1px solid var(--ck-color-focus-border);box-shadow: 0 0 0 2px #fff;}',this.picker.shadowRoot.appendChild(e)}this.picker.addEventListener("color-changed",(e=>{const t=e.detail.value;this._debounceColorPickerEvent(t)}))}focus(){if(!this._config.hideInput&&(c.isGecko||c.isiOS||c.isSafari||c.isBlink)){this.hexInputRow.children.get(1).focus()}this.slidersView.first.focus()}_createSlidersView(){const e=[...this.picker.shadowRoot.children].filter((e=>"slider"===e.getAttribute("role"))).map((e=>new lb(e)));this.slidersView=this.createCollection(),e.forEach((e=>{this.slidersView.add(e)}))}_createInputRow(){const e=this._createColorInput();return new db(this.locale,e)}_createColorInput(){const e=new dg(this.locale,Ef),{t}=this.locale;return e.set({label:t("HEX"),class:"color-picker-hex-input"}),e.fieldView.bind("value").to(this,"_hexColor",(t=>e.isFocused?e.fieldView.value:t.startsWith("#")?t.substring(1):t)),e.fieldView.on("input",(()=>{const t=e.fieldView.element.value;if(t){const e=ub(t);e&&this._debounceColorPickerEvent(e)}})),e}isValid(){const{t:e}=this.locale;return!!this._config.hideInput||(this.resetValidationStatus(),!!this.hexInputRow.getParsedColor()||(this.hexInputRow.inputView.errorText=e('Please enter a valid color (e.g. "ff0000").'),!1))}resetValidationStatus(){this.hexInputRow.inputView.errorText=null}}function ab(e){let t=function(e){if(!e)return"";const t=ag(e);return t?"hex"===t.space?t.hexValue:sg(e,"hex"):"#000"}(e);return t||(t="#000"),4===t.length&&(t="#"+[t[1],t[1],t[2],t[2],t[3],t[3]].join("")),t.toLowerCase()}class lb extends zp{constructor(e){super(),this.element=e}focus(){this.element.focus()}}class cb extends zp{constructor(e){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class db extends zp{constructor(e,t){super(e),this.inputView=t,this.children=this.createCollection([new cb,this.inputView]),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}getParsedColor(){return ub(this.inputView.fieldView.element.value)}}function ub(e){if(!e)return null;const t=e.trim().replace(/^#/,"");return[3,4,6,8].includes(t.length)&&/^(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})$/.test(t)?`#${t}`:null}class hb extends(X(tr)){constructor(e){super(e),this.set("isEmpty",!0),this.on("change",(()=>{this.set("isEmpty",0===this.length)}))}add(e,t){return this.find((t=>t.color===e.color))?this:super.add(e,t)}hasColor(e){return!!this.find((t=>t.color===e))}}class pb extends zp{constructor(e,{colors:t,columns:o,removeButtonLabel:n,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,focusTracker:a,focusables:l}){super(e);const c=this.bindTemplate;this.set("isVisible",!0),this.focusTracker=a,this.items=this.createCollection(),this.colorDefinitions=t,this.columns=o,this.documentColors=new hb,this.documentColorsCount=r,this._focusables=l,this._removeButtonLabel=n,this._colorPickerLabel=s,this._documentColorsLabel=i,this.setTemplate({tag:"div",attributes:{class:["ck-color-grids-fragment",c.if("isVisible","ck-hidden",(e=>!e))]},children:this.items}),this.removeColorButtonView=this._createRemoveColorButton(),this.items.add(this.removeColorButtonView)}updateDocumentColors(e,t){const o=e.document,n=this.documentColorsCount;this.documentColors.clear();for(const i of o.getRoots()){const o=e.createRangeIn(i);for(const e of o.getItems())if(e.is("$textProxy")&&e.hasAttribute(t)&&(this._addColorToDocumentColors(e.getAttribute(t)),this.documentColors.length>=n))return}}updateSelectedColors(){const e=this.documentColorsGrid,t=this.staticColorsGrid,o=this.selectedColor;t.selectedColor=o,e&&(e.selectedColor=o)}render(){if(super.render(),this.staticColorsGrid=this._createStaticColorsGrid(),this.items.add(this.staticColorsGrid),this.documentColorsCount){const e=pp.bind(this.documentColors,this.documentColors),t=new zp(this.locale);t.setTemplate({tag:"span",attributes:{class:["ck","ck-color-grid__label",e.if("isEmpty","ck-hidden")]},children:[{text:this._documentColorsLabel}]}),this.items.add(t),this.documentColorsGrid=this._createDocumentColorsGrid(),this.items.add(this.documentColorsGrid)}this._createColorPickerButton(),this._addColorSelectorElementsToFocusTracker()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){this.colorPickerButtonView&&(this.items.add(this.colorPickerButtonView),this.focusTracker.add(this.colorPickerButtonView.element),this._focusables.add(this.colorPickerButtonView))}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element),this._focusables.add(this.removeColorButtonView),this.staticColorsGrid&&(this.focusTracker.add(this.staticColorsGrid.element),this._focusables.add(this.staticColorsGrid)),this.documentColorsGrid&&(this.focusTracker.add(this.documentColorsGrid.element),this._focusables.add(this.documentColorsGrid))}_createColorPickerButton(){this.colorPickerButtonView=new Kp,this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:!0,icon:up.colorPalette,class:"ck-color-selector__color-picker"}),this.colorPickerButtonView.on("execute",(()=>{this.fire("colorPicker:show")}))}_createRemoveColorButton(){const e=new Kp;return e.set({withText:!0,icon:up.eraser,label:this._removeButtonLabel}),e.class="ck-color-selector__remove-color",e.on("execute",(()=>{this.fire("execute",{value:null,source:"removeColorButton"})})),e.render(),e}_createStaticColorsGrid(){const e=new eg(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});return e.on("execute",((e,t)=>{this.fire("execute",{value:t.value,source:"staticColorsGrid"})})),e}_createDocumentColorsGrid(){const e=pp.bind(this.documentColors,this.documentColors),t=new eg(this.locale,{columns:this.columns});return t.extendTemplate({attributes:{class:e.if("isEmpty","ck-hidden")}}),t.items.bindTo(this.documentColors).using((e=>{const t=new Ym;return t.set({color:e.color,hasBorder:e.options&&e.options.hasBorder}),e.label&&t.set({label:e.label,tooltip:!0}),t.on("execute",(()=>{this.fire("execute",{value:e.color,source:"documentColorsGrid"})})),t})),this.documentColors.on("change:isEmpty",((e,o,n)=>{n&&(t.selectedColor=null)})),t}_addColorToDocumentColors(e){const t=this.colorDefinitions.find((t=>t.color===e));t?this.documentColors.add(Object.assign({},t)):this.documentColors.add({color:e,label:e,options:{hasBorder:!1}})}}class mb extends zp{constructor(e,{focusTracker:t,focusables:o,keystrokes:n,colorPickerViewConfig:i}){super(e),this.items=this.createCollection(),this.focusTracker=t,this.keystrokes=n,this.set("isVisible",!1),this.set("selectedColor",void 0),this._focusables=o,this._colorPickerViewConfig=i;const r=this.bindTemplate,{saveButtonView:s,cancelButtonView:a}=this._createActionButtons();this.saveButtonView=s,this.cancelButtonView=a,this.actionBarView=this._createActionBarView({saveButtonView:s,cancelButtonView:a}),this.setTemplate({tag:"div",attributes:{class:["ck-color-picker-fragment",r.if("isVisible","ck-hidden",(e=>!e))]},children:this.items})}render(){super.render();const e=new sb(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=e,this.colorPickerView.render(),this.selectedColor&&(e.color=this.selectedColor),this.listenTo(this,"change:selectedColor",((t,o,n)=>{e.color=n})),this.items.add(this.colorPickerView),this.items.add(this.actionBarView),this._addColorPickersElementsToFocusTracker(),this._stopPropagationOnArrowsKeys(),this._executeOnEnterPress(),this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}resetValidationStatus(){this.colorPickerView.resetValidationStatus()}_executeOnEnterPress(){this.keystrokes.set("enter",(e=>{this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element&&this.colorPickerView.isValid()&&(this.fire("execute",{value:this.selectedColor}),e.stopPropagation(),e.preventDefault())}))}_stopPropagationOnArrowsKeys(){const e=e=>e.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}_addColorPickersElementsToFocusTracker(){for(const e of this.colorPickerView.slidersView)this.focusTracker.add(e.element),this._focusables.add(e);const e=this.colorPickerView.hexInputRow.children.get(1);e.element&&(this.focusTracker.add(e.element),this._focusables.add(e)),this.focusTracker.add(this.saveButtonView.element),this._focusables.add(this.saveButtonView),this.focusTracker.add(this.cancelButtonView.element),this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:e,cancelButtonView:t}){const o=new zp,n=this.createCollection();return n.add(e),n.add(t),o.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector_action-bar"]},children:n}),o}_createActionButtons(){const e=this.locale,t=e.t,o=new Kp(e),n=new Kp(e);return o.set({icon:up.check,class:"ck-button-save",type:"button",withText:!1,label:t("Accept")}),n.set({icon:up.cancel,class:"ck-button-cancel",type:"button",withText:!1,label:t("Cancel")}),o.on("execute",(()=>{this.colorPickerView.isValid()&&this.fire("execute",{source:"colorPickerSaveButton",value:this.selectedColor})})),n.on("execute",(()=>{this.fire("colorPicker:cancel")})),{saveButtonView:o,cancelButtonView:n}}_executeUponColorChange(){this.colorPickerView.on("colorSelected",((e,t)=>{this.fire("execute",{value:t.color,source:"colorPicker"}),this.set("selectedColor",t.color)}))}}var gb=i(2922),fb={attributes:{"data-cke":!0}};fb.setAttributes=Xr(),fb.insert=Yr().bind(null,"head"),fb.domAPI=Zr(),fb.insertStyleElement=ts();Gr()(gb.A,fb);gb.A&&gb.A.locals&&gb.A.locals;class bb extends zp{constructor(e,{colors:t,columns:o,removeButtonLabel:n,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,colorPickerViewConfig:a}){super(e),this.items=this.createCollection(),this.focusTracker=new nr,this.keystrokes=new ar,this._focusables=new hp,this._colorPickerViewConfig=a,this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.colorGridsFragmentView=new pb(e,{colors:t,columns:o,removeButtonLabel:n,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,focusTracker:this.focusTracker,focusables:this._focusables}),this.colorPickerFragmentView=new mb(e,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:a}),this.set("_isColorGridsFragmentVisible",!0),this.set("_isColorPickerFragmentVisible",!1),this.set("selectedColor",void 0),this.colorGridsFragmentView.bind("isVisible").to(this,"_isColorGridsFragmentVisible"),this.colorPickerFragmentView.bind("isVisible").to(this,"_isColorPickerFragmentVisible"),this.on("change:selectedColor",((e,t,o)=>{this.colorGridsFragmentView.set("selectedColor",o),this.colorPickerFragmentView.set("selectedColor",o)})),this.colorGridsFragmentView.on("change:selectedColor",((e,t,o)=>{this.set("selectedColor",o)})),this.colorPickerFragmentView.on("change:selectedColor",((e,t,o)=>{this.set("selectedColor",o)})),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector"]},children:this.items})}render(){super.render(),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment(),this._colorPickerViewConfig&&this._appendColorPickerFragment()}showColorPickerFragment(){this.colorPickerFragmentView.colorPickerView&&!this._isColorPickerFragmentVisible&&(this._isColorPickerFragmentVisible=!0,this.colorPickerFragmentView.focus(),this.colorPickerFragmentView.resetValidationStatus(),this._isColorGridsFragmentVisible=!1)}showColorGridsFragment(){this._isColorGridsFragmentVisible||(this._isColorGridsFragmentVisible=!0,this.colorGridsFragmentView.focus(),this._isColorPickerFragmentVisible=!1)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(e,t){this.colorGridsFragmentView.updateDocumentColors(e,t)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){this.items.length||(this.items.add(this.colorGridsFragmentView),this.colorGridsFragmentView.delegate("execute").to(this),this.colorGridsFragmentView.delegate("colorPicker:show").to(this))}_appendColorPickerFragment(){2!==this.items.length&&(this.items.add(this.colorPickerFragmentView),this.colorGridsFragmentView.colorPickerButtonView&&this.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{this.showColorPickerFragment()})),this.colorGridsFragmentView.addColorPickerButton(),this.colorPickerFragmentView.delegate("execute").to(this),this.colorPickerFragmentView.delegate("colorPicker:cancel").to(this))}}class kb{constructor(e){this._components=new Map,this.editor=e}*names(){for(const e of this._components.values())yield e.originalName}add(e,t){this._components.set(wb(e),{callback:t,originalName:e})}create(e){if(!this.has(e))throw new S("componentfactory-item-missing",this,{name:e});return this._components.get(wb(e)).callback(this.editor.locale)}has(e){return this._components.has(wb(e))}}function wb(e){return String(e).toLowerCase()}var _b=i(4650),yb={attributes:{"data-cke":!0}};yb.setAttributes=Xr(),yb.insert=Yr().bind(null,"head"),yb.domAPI=Zr(),yb.insertStyleElement=ts();Gr()(_b.A,yb);_b.A&&_b.A.locals&&_b.A.locals;const Ab="ck-tooltip";class Cb extends(On()){constructor(e){if(super(),this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._mutationObserver=null,Cb._editors.add(e),Cb._instance)return Cb._instance;Cb._instance=this,this.tooltipTextView=new zp(e.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new Wg(e.locale),this.balloonPanelView.class=Ab,this.balloonPanelView.content.add(this.tooltipTextView),this._mutationObserver=function(e){const t=new MutationObserver((()=>{e()}));return{attach(e){t.observe(e,{attributes:!0,attributeFilter:["data-cke-tooltip-text","data-cke-tooltip-position"]})},detach(){t.disconnect()}}}((()=>{this._updateTooltipPosition()})),this._pinTooltipDebounced=bl(this._pinTooltip,600),this._unpinTooltipDebounced=bl(this._unpinTooltip,400),this.listenTo(s.document,"keydown",this._onKeyDown.bind(this),{useCapture:!0}),this.listenTo(s.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(s.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(s.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(s.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(s.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(e){const t=e.ui.view&&e.ui.view.body;Cb._editors.delete(e),this.stopListening(e.ui),t&&t.has(this.balloonPanelView)&&t.remove(this.balloonPanelView),Cb._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),Cb._instance=null)}static getPositioningFunctions(e){const t=Cb.defaultBalloonPositions;return{s:[t.southArrowNorth,t.southArrowNorthEast,t.southArrowNorthWest],n:[t.northArrowSouth],e:[t.eastArrowWest],w:[t.westArrowEast],sw:[t.southArrowNorthEast],se:[t.southArrowNorthWest]}[e]}_onKeyDown(e,t){"Escape"===t.key&&this._currentElementWithTooltip&&(this._unpinTooltip(),t.stopPropagation())}_onEnterOrFocus(e,{target:t}){const o=xb(t);o?o!==this._currentElementWithTooltip?(this._unpinTooltip(),"focus"===e.name&&!o.matches(":hover")||o.matches("[data-cke-tooltip-instant]")?this._pinTooltip(o,Eb(o)):this._pinTooltipDebounced(o,Eb(o))):this._unpinTooltipDebounced.cancel():"focus"===e.name&&this._unpinTooltip()}_onLeaveOrBlur(e,{target:t,relatedTarget:o}){if("mouseleave"===e.name){if(!Tn(t))return;const e=this.balloonPanelView.element,n=e&&(e===o||e.contains(o)),i=!n&&t===e;if(n)return void this._unpinTooltipDebounced.cancel();if(!i&&this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;const r=xb(t),s=xb(o);(i||r&&r!==s)&&(this._pinTooltipDebounced.cancel(),this._currentElementWithTooltip&&this._currentElementWithTooltip.matches("[data-cke-tooltip-instant]")||r&&r.matches("[data-cke-tooltip-instant]")?this._unpinTooltip():this._unpinTooltipDebounced())}else{if(this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;this._pinTooltipDebounced.cancel(),this._unpinTooltipDebounced()}}_onScroll(e,{target:t}){this._currentElementWithTooltip&&(t.contains(this.balloonPanelView.element)&&t.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(e,{text:t,position:o,cssClass:n}){this._unpinTooltip();const i=or(Cb._editors.values()).ui.view.body;i.has(this.balloonPanelView)||i.add(this.balloonPanelView),this.tooltipTextView.text=t,this.balloonPanelView.class=[Ab,n].filter((e=>e)).join(" "),this.balloonPanelView.pin({target:e,positions:Cb.getPositioningFunctions(o)}),this._mutationObserver.attach(e);for(const e of Cb._editors)this.listenTo(e.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=e,this._currentTooltipPosition=o}_unpinTooltip(){this._unpinTooltipDebounced.cancel(),this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const e of Cb._editors)this.stopListening(e.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this.tooltipTextView.text="",this._mutationObserver.detach()}_updateTooltipPosition(){if(!this._currentElementWithTooltip)return;const e=Eb(this._currentElementWithTooltip);ri(this._currentElementWithTooltip)&&e.text?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:Cb.getPositioningFunctions(e.position)}):this._unpinTooltip()}}Cb.defaultBalloonPositions=Wg.generatePositions({heightOffset:5,sideOffset:13}),Cb._editors=new Set,Cb._instance=null;const vb=Cb;function xb(e){return Tn(e)?e.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}function Eb(e){return{text:e.dataset.ckeTooltipText,position:e.dataset.ckeTooltipPosition||"s",cssClass:e.dataset.ckeTooltipClass||""}}class Db extends(On()){constructor(e,t={}){super(),this._balloonView=null,this._showBalloonThrottled=Hh((()=>this._showBalloon()),50,{leading:!0}),this._lastFocusedEditableElement=null,this.editor=e,this._balloonClass=t.balloonClass,e.on("ready",(()=>this._handleEditorReady()))}destroy(){const e=this._balloonView;e&&(e.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const e=this.editor;this._isEnabled()&&e.ui.view&&(e.ui.focusTracker.on("change:isFocused",((e,t,o)=>{this._updateLastFocusedEditableElement(),o?this._showBalloon():this._hideBalloon()})),e.ui.focusTracker.on("change:focusedElement",((e,t,o)=>{this._updateLastFocusedEditableElement(),o&&this._showBalloon()})),e.ui.on("update",(()=>{this._showBalloonThrottled()})))}_getNormalizedConfig(){return{side:"ltr"===this.editor.locale.contentLanguageDirection?"right":"left",position:"border",verticalOffset:0,horizontalOffset:5}}_showBalloon(){const e=this._getBalloonAttachOptions();e&&(this._balloonView||(this._balloonView=this._createBalloonView()),this._balloonView.pin(e))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_createBalloonView(){const e=this.editor,t=new Wg,o=this._createBadgeContent();return t.content.add(o),this._balloonClass&&(t.class=this._balloonClass),e.ui.view.body.add(t),t}_getBalloonAttachOptions(){if(!this._lastFocusedEditableElement)return null;const e=this._getNormalizedConfig(),t="right"===e.side?function(e,t){return Bb(e,t,((e,o)=>e.left+e.width-o.width-t.horizontalOffset))}(this._lastFocusedEditableElement,e):function(e,t){return Bb(e,t,(e=>e.left+t.horizontalOffset))}(this._lastFocusedEditableElement,e);return{target:this._lastFocusedEditableElement,positions:[t]}}_updateLastFocusedEditableElement(){const e=this.editor,t=e.ui.focusTracker.isFocused,o=e.ui.focusTracker.focusedElement;if(!t||!o)return void(this._lastFocusedEditableElement=null);const n=Array.from(e.ui.getEditableElementsNames()).map((t=>e.ui.getEditableElement(t)));n.includes(o)?this._lastFocusedEditableElement=o:this._lastFocusedEditableElement=n[0]}}function Bb(e,t,o){return(n,i)=>{const r=new Gn(e);if(r.width<350||r.height<50)return null;let s;s="inside"===t.position?r.bottom-i.height:r.bottom-i.height/2,s-=t.verticalOffset;const a=o(r,i),l=n.clone().moveTo(a,s).getIntersection(i.clone().moveTo(a,s)).getVisible();return!l||l.getArea()\n',isColorInherited:!1}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":!0},children:[{tag:"a",attributes:{href:"https://ckeditor.com/powered-by-ckeditor/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...t?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[t]}]:[],o],on:{dragstart:n.to((e=>e.preventDefault()))}}]})}}class Ib extends Db{constructor(e){super(e,{balloonClass:"ck-evaluation-badge-balloon"}),this.licenseTypeMessage={evaluation:"For evaluation purposes only",trial:"For evaluation purposes only",development:"For development purposes only"}}_isEnabled(){const e=Fb(this.editor.config.get("licenseKey"));return Boolean(e&&this.licenseTypeMessage[e])}_createBadgeContent(){const e=Fb(this.editor.config.get("licenseKey"));return new Pb(this.editor.locale,this.licenseTypeMessage[e])}_getNormalizedConfig(){const e=super._getNormalizedConfig(),t=this.editor.config.get("ui.poweredBy")||{};return{position:t.position||e.position,side:"left"===(t.side||e.side)?"right":"left",verticalOffset:e.verticalOffset,horizontalOffset:e.horizontalOffset}}}class Pb extends zp{constructor(e,t){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-evaluation-badge"],"aria-hidden":!0},children:[{tag:"span",attributes:{class:["ck","ck-evaluation-badge__label"]},children:[t]}]})}}function Fb(e){if("GPL"==e)return"GPL";const t=ur(e.split(".")[1]);return t?t.licenseType||"production":null}var Rb=i(1710),Mb={attributes:{"data-cke":!0}};Mb.setAttributes=Xr(),Mb.insert=Yr().bind(null,"head"),Mb.domAPI=Zr(),Mb.insertStyleElement=ts();Gr()(Rb.A,Mb);Rb.A&&Rb.A.locals&&Rb.A.locals;const zb={POLITE:"polite",ASSERTIVE:"assertive"};class Ob{constructor(e){this.editor=e,e.once("ready",(()=>{for(const e of Object.values(zb))this.announce("",e)}))}announce(e,t=zb.POLITE){const o=this.editor;if(!o.ui.view)return;this.view||(this.view=new Nb(o.locale),o.ui.view.body.add(this.view));const{politeness:n,isUnsafeHTML:i}="string"==typeof t?{politeness:t}:t;let r=this.view.regionViews.find((e=>e.politeness===n));r||(r=new Vb(o,n),this.view.regionViews.add(r)),r.announce({announcement:e,isUnsafeHTML:i})}}class Nb extends zp{constructor(e){super(e),this.regionViews=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class Vb extends zp{constructor(e,t){super(e.locale),this.setTemplate({tag:"div",attributes:{"aria-live":t,"aria-relevant":"additions"},children:[{tag:"ul",attributes:{class:["ck","ck-aria-live-region-list"]}}]}),e.on("destroy",(()=>{null!==this._pruneAnnouncementsInterval&&(clearInterval(this._pruneAnnouncementsInterval),this._pruneAnnouncementsInterval=null)})),this.politeness=t,this._domConverter=e.data.htmlProcessor.domConverter,this._pruneAnnouncementsInterval=setInterval((()=>{this.element&&this._listElement.firstChild&&this._listElement.firstChild.remove()}),5e3)}announce({announcement:e,isUnsafeHTML:t}){if(!e.trim().length)return;const o=document.createElement("li");t?this._domConverter.setContentOf(o,e):o.innerText=e,this._listElement.appendChild(o)}get _listElement(){return this.element.querySelector("ul")}}var Lb=i(1214),Hb={attributes:{"data-cke":!0}};Hb.setAttributes=Xr(),Hb.insert=Yr().bind(null,"head"),Hb.domAPI=Zr(),Hb.insertStyleElement=ts();Gr()(Lb.A,Hb);Lb.A&&Lb.A.locals&&Lb.A.locals;class jb extends Tg{constructor(e,t){super(e);const o=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item"]},on:{mouseenter:o.to("mouseenter")}}),this.delegate("mouseenter").to(t)}}const qb={toggleMenusAndFocusItemsOnHover(e){e.on("menu:mouseenter",(t=>{if(e.isFocusBorderEnabled||e.isOpen){if(e.isOpen)for(const o of e.menus){const e=t.path[0],n=e instanceof jb&&e.children.first===o;o.isOpen=(t.path.includes(o)||n)&&o.isEnabled}t.source.focus()}}))},focusCycleMenusOnArrows(e){const t="rtl"===e.locale.uiLanguageDirection;function o(t,o){const n=e.children.getIndex(t),i=t.isOpen,r=e.children.length,s=e.children.get((n+r+o)%r);t.isOpen=!1,i&&(s.isOpen=!0),s.buttonView.focus()}e.on("menu:arrowright",(e=>{o(e.source,t?-1:1)})),e.on("menu:arrowleft",(e=>{o(e.source,t?1:-1)}))},closeMenusWhenTheBarCloses(e){e.on("change:isOpen",(()=>{e.isOpen||e.menus.forEach((e=>{e.isOpen=!1}))}))},closeMenuWhenAnotherOnTheSameLevelOpens(e){e.on("menu:change:isOpen",((t,o,n)=>{n&&e.menus.filter((e=>t.source.parentMenuView===e.parentMenuView&&t.source!==e&&e.isOpen)).forEach((e=>{e.isOpen=!1}))}))},closeOnClickOutside(e){Op({emitter:e,activator:()=>e.isOpen,callback:()=>e.close(),contextElements:()=>e.children.map((e=>e.element))})},enableFocusHighlightOnInteraction(e){let t=!1;e.on("change:isOpen",((o,n,i)=>{i||(t||(e.isFocusBorderEnabled=!1),t=!1)})),e.listenTo(e.element,"keydown",(()=>{t=!0}),{useCapture:!0}),e.listenTo(e.element,"keyup",(()=>{t=!1}),{useCapture:!0}),e.listenTo(e.element,"focus",(()=>{t&&(e.isFocusBorderEnabled=!0)}),{useCapture:!0})}},$b={openAndFocusPanelOnArrowDownKey(e){e.keystrokes.set("arrowdown",((t,o)=>{e.focusTracker.focusedElement===e.buttonView.element&&(e.isOpen||(e.isOpen=!0),e.panelView.focus(),o())}))},openOnArrowRightKey(e){const t="rtl"===e.locale.uiLanguageDirection?"arrowleft":"arrowright";e.keystrokes.set(t,((t,o)=>{e.focusTracker.focusedElement===e.buttonView.element&&e.isEnabled&&(e.isOpen||(e.isOpen=!0),e.panelView.focus(),o())}))},openOnButtonClick(e){e.buttonView.on("execute",(()=>{e.isOpen=!0}))},toggleOnButtonClick(e){e.buttonView.on("execute",(()=>{e.isOpen=!e.isOpen}))},openAndFocusOnEnterKeyPress(e){e.keystrokes.set("enter",((t,o)=>{e.focusTracker.focusedElement===e.buttonView.element&&(e.isOpen=!0,e.panelView.focus(),o())}))},closeOnArrowLeftKey(e){const t="rtl"===e.locale.uiLanguageDirection?"arrowright":"arrowleft";e.keystrokes.set(t,((t,o)=>{e.isOpen&&(e.isOpen=!1,e.focus(),o())}))},closeOnEscKey(e){e.keystrokes.set("esc",((t,o)=>{e.isOpen&&(e.isOpen=!1,e.focus(),o())}))},closeOnParentClose(e){e.parentMenuView.on("change:isOpen",((t,o,n)=>{n||t.source!==e.parentMenuView||(e.isOpen=!1)}))}},Ub={southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),eastSouth:e=>({top:e.top,left:e.right-5,name:"es"}),eastNorth:(e,t)=>({top:e.top-t.height,left:e.right-5,name:"en"}),westSouth:(e,t)=>({top:e.top,left:e.left-t.width+5,name:"ws"}),westNorth:(e,t)=>({top:e.top-t.height,left:e.left-t.width+5,name:"wn"})},Wb=[{menuId:"file",label:"File",groups:[{groupId:"export",items:["menuBar:exportPdf","menuBar:exportWord"]},{groupId:"import",items:["menuBar:importWord"]},{groupId:"revisionHistory",items:["menuBar:revisionHistory"]}]},{menuId:"edit",label:"Edit",groups:[{groupId:"undo",items:["menuBar:undo","menuBar:redo"]},{groupId:"selectAll",items:["menuBar:selectAll"]},{groupId:"findAndReplace",items:["menuBar:findAndReplace"]}]},{menuId:"view",label:"View",groups:[{groupId:"sourceEditingEnhanced",items:["menuBar:sourceEditingEnhanced"]},{groupId:"sourceEditing",items:["menuBar:sourceEditing"]},{groupId:"showBlocks",items:["menuBar:showBlocks"]},{groupId:"previewMergeFields",items:["menuBar:previewMergeFields"]},{groupId:"restrictedEditing",items:["menuBar:restrictedEditing"]}]},{menuId:"insert",label:"Insert",groups:[{groupId:"insertMainWidgets",items:["menuBar:insertImage","menuBar:ckbox","menuBar:ckfinder","menuBar:insertTable"]},{groupId:"insertInline",items:["menuBar:link","menuBar:bookmark","menuBar:comment","menuBar:insertMergeField","menuBar:emoji"]},{groupId:"insertMinorWidgets",items:["menuBar:mediaEmbed","menuBar:insertTemplate","menuBar:specialCharacters","menuBar:blockQuote","menuBar:codeBlock","menuBar:htmlEmbed"]},{groupId:"insertStructureWidgets",items:["menuBar:horizontalLine","menuBar:pageBreak","menuBar:tableOfContents"]},{groupId:"restrictedEditingException",items:["menuBar:restrictedEditingException"]}]},{menuId:"format",label:"Format",groups:[{groupId:"textAndFont",items:[{menuId:"text",label:"Text",groups:[{groupId:"basicStyles",items:["menuBar:bold","menuBar:italic","menuBar:underline","menuBar:strikethrough","menuBar:superscript","menuBar:subscript","menuBar:code"]},{groupId:"textPartLanguage",items:["menuBar:textPartLanguage"]}]},{menuId:"font",label:"Font",groups:[{groupId:"fontProperties",items:["menuBar:fontSize","menuBar:fontFamily"]},{groupId:"fontColors",items:["menuBar:fontColor","menuBar:fontBackgroundColor"]},{groupId:"highlight",items:["menuBar:highlight"]}]},"menuBar:heading"]},{groupId:"list",items:["menuBar:bulletedList","menuBar:numberedList","menuBar:multiLevelList","menuBar:todoList"]},{groupId:"indent",items:["menuBar:alignment","menuBar:indent","menuBar:outdent"]},{groupId:"caseChange",items:["menuBar:caseChange"]},{groupId:"removeFormat",items:["menuBar:removeFormat"]}]},{menuId:"tools",label:"Tools",groups:[{groupId:"aiTools",items:["menuBar:aiAssistant","menuBar:aiCommands"]},{groupId:"tools",items:["menuBar:trackChanges","menuBar:commentsArchive"]}]},{menuId:"help",label:"Help",groups:[{groupId:"help",items:["menuBar:accessibilityHelp"]}]}];function Gb({normalizedConfig:e,locale:t,componentFactory:o,extraItems:n}){const i=Jl(e);return Kb(e,i,n),function(e,t){const o=t.removeItems,n=[];t.items=t.items.filter((({menuId:e})=>!o.includes(e)||(n.push(e),!1))),Qb(t.items,(e=>{e.groups=e.groups.filter((({groupId:e})=>!o.includes(e)||(n.push(e),!1)));for(const t of e.groups)t.items=t.items.filter((e=>{const t=ok(e);return!o.includes(t)||(n.push(t),!1)}))}));for(const t of o)n.includes(t)||T("menu-bar-item-could-not-be-removed",{menuBarConfig:e,itemName:t})}(e,i),Kb(e,i,i.addItems),function(e,t,o){Qb(t.items,(n=>{for(const i of n.groups)i.items=i.items.filter((i=>{const r="string"==typeof i&&!o.has(i);return r&&!t.isUsingDefaultConfig&&T("menu-bar-item-unavailable",{menuBarConfig:e,parentMenuConfig:Jl(n),componentName:i}),!r}))}))}(e,i,o),Jb(e,i),function(e,t){const o=t.t,n={File:o({string:"File",id:"MENU_BAR_MENU_FILE"}),Edit:o({string:"Edit",id:"MENU_BAR_MENU_EDIT"}),View:o({string:"View",id:"MENU_BAR_MENU_VIEW"}),Insert:o({string:"Insert",id:"MENU_BAR_MENU_INSERT"}),Format:o({string:"Format",id:"MENU_BAR_MENU_FORMAT"}),Tools:o({string:"Tools",id:"MENU_BAR_MENU_TOOLS"}),Help:o({string:"Help",id:"MENU_BAR_MENU_HELP"}),Text:o({string:"Text",id:"MENU_BAR_MENU_TEXT"}),Font:o({string:"Font",id:"MENU_BAR_MENU_FONT"})};Qb(e.items,(e=>{e.label in n&&(e.label=n[e.label])}))}(i,t),i}function Kb(e,t,o){const n=[];if(0!=o.length){for(const e of o){const o=ek(e.position),r=tk(e.position);if("object"==typeof(i=e)&&"menu"in i)if(r){const i=t.items.findIndex((e=>e.menuId===r));if(-1!=i)"before"===o?(t.items.splice(i,0,e.menu),n.push(e)):"after"===o&&(t.items.splice(i+1,0,e.menu),n.push(e));else{Zb(t,e.menu,r,o)&&n.push(e)}}else"start"===o?(t.items.unshift(e.menu),n.push(e)):"end"===o&&(t.items.push(e.menu),n.push(e));else if(Xb(e))Qb(t.items,(t=>{if(t.menuId===r)"start"===o?(t.groups.unshift(e.group),n.push(e)):"end"===o&&(t.groups.push(e.group),n.push(e));else{const i=t.groups.findIndex((e=>e.groupId===r));-1!==i&&("before"===o?(t.groups.splice(i,0,e.group),n.push(e)):"after"===o&&(t.groups.splice(i+1,0,e.group),n.push(e)))}}));else{Zb(t,e.item,r,o)&&n.push(e)}}var i;for(const t of o)n.includes(t)||T("menu-bar-item-could-not-be-added",{menuBarConfig:e,addedItemConfig:t})}}function Zb(e,t,o,n){let i=!1;return Qb(e.items,(e=>{for(const{groupId:r,items:s}of e.groups){if(i)return;if(r===o)"start"===n?(s.unshift(t),i=!0):"end"===n&&(s.push(t),i=!0);else{const e=s.findIndex((e=>ok(e)===o));-1!==e&&("before"===n?(s.splice(e,0,t),i=!0):"after"===n&&(s.splice(e+1,0,t),i=!0))}}})),i}function Jb(e,t){const o=t.isUsingDefaultConfig;let n=!1;t.items=t.items.filter((t=>!!t.groups.length||(Yb(e,t,o),!1))),t.items.length?(Qb(t.items,(t=>{t.groups=t.groups.filter((e=>!!e.items.length||(n=!0,!1)));for(const i of t.groups)i.items=i.items.filter((t=>!(nk(t)&&!t.groups.length)||(Yb(e,t,o),n=!0,!1)))})),n&&Jb(e,t)):Yb(e,e,o)}function Yb(e,t,o){o||T("menu-bar-menu-empty",{menuBarConfig:e,emptyMenuConfig:t})}function Qb(e,t){if(Array.isArray(e))for(const t of e)o(t);function o(e){t(e);for(const t of e.groups)for(const e of t.items)nk(e)&&o(e)}}function Xb(e){return"object"==typeof e&&"group"in e}function ek(e){return e.startsWith("start")?"start":e.startsWith("end")?"end":e.startsWith("after")?"after":"before"}function tk(e){const t=e.match(/^[^:]+:(.+)/);return t?t[1]:null}function ok(e){return"string"==typeof e?e:e.menuId}function nk(e){return"object"==typeof e&&"menuId"in e}class ik extends(X()){constructor(e){super(),this.isReady=!1,this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[],this._extraMenuBarElements=[],this._lastFocusedForeignElement=null;const t=e.editing.view;this.editor=e,this.componentFactory=new kb(e),this.focusTracker=new nr,this.tooltipManager=new vb(e),this.poweredBy=new Sb(e),this.evaluationBadge=new Ib(e),this.ariaLiveAnnouncer=new Ob(e),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.once("ready",(()=>{this._bindBodyCollectionWithFocusTracker(),this.isReady=!0})),this.listenTo(t.document,"layoutChanged",this.update.bind(this)),this.listenTo(t,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy(),this.evaluationBadge.destroy();for(const e of this._editableElementsMap.values())e.ckeditorInstance=null,this.editor.keystrokes.stopListening(e);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(e,t){this._editableElementsMap.set(e,t),t.ckeditorInstance||(t.ckeditorInstance=this.editor),this.focusTracker.add(t);const o=()=>{this.editor.editing.view.getDomRoot(e)||this.editor.keystrokes.listenTo(t)};this.isReady?o():this.once("ready",o)}removeEditableElement(e){const t=this._editableElementsMap.get(e);t&&(this._editableElementsMap.delete(e),this.editor.keystrokes.stopListening(t),this.focusTracker.remove(t),t.ckeditorInstance=null)}getEditableElement(e="main"){return this._editableElementsMap.get(e)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(e,t={}){e.isRendered?(this.focusTracker.add(e),this.editor.keystrokes.listenTo(e.element)):e.once("render",(()=>{this.focusTracker.add(e),this.editor.keystrokes.listenTo(e.element)})),this._focusableToolbarDefinitions.push({toolbarView:e,options:t})}extendMenuBar(e){this._extraMenuBarElements.push(e)}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_initMenuBar(e){const t=e.element;this.focusTracker.add(t),this.editor.keystrokes.listenTo(t);const o=function(e){let t;return t="items"in e&&e.items?{items:e.items,removeItems:[],addItems:[],isVisible:!0,isUsingDefaultConfig:!1,...e}:{items:Jl(Wb),addItems:[],removeItems:[],isVisible:!0,isUsingDefaultConfig:!0,...e},t}(this.editor.config.get("menuBar")||{});e.fillFromConfig(o,this.componentFactory,this._extraMenuBarElements),this.editor.keystrokes.set("Esc",((e,o)=>{t.contains(this.editor.ui.focusTracker.focusedElement)&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):this.editor.editing.view.focus(),o())})),this.editor.keystrokes.set("Alt+F9",((o,n)=>{t.contains(this.editor.ui.focusTracker.focusedElement)||(this._saveLastFocusedForeignElement(),e.isFocusBorderEnabled=!0,e.focus(),n())}))}_readViewportOffsetFromConfig(){const e=this.editor,t=e.config.get("ui.viewportOffset");if(t)return t;const o=e.config.get("toolbar.viewportTopOffset");return o?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:o}):{top:0}}_initFocusTracking(){const e=this.editor;let t;e.keystrokes.set("Alt+F10",((e,o)=>{this._saveLastFocusedForeignElement();const n=this._getCurrentFocusedToolbarDefinition();n&&t||(t=this._getFocusableCandidateToolbarDefinitions());for(let e=0;e{const n=this._getCurrentFocusedToolbarDefinition();n&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):e.editing.view.focus(),n.options.afterBlur&&n.options.afterBlur(),o())}))}_saveLastFocusedForeignElement(){const e=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(e)&&!Array.from(this.editor.editing.view.domRoots.values()).includes(e)&&(this._lastFocusedForeignElement=e)}_getFocusableCandidateToolbarDefinitions(){const e=[];for(const t of this._focusableToolbarDefinitions){const{toolbarView:o,options:n}=t;(ri(o.element)||n.beforeFocus)&&e.push(t)}return e.sort(((e,t)=>rk(e)-rk(t))),e}_getCurrentFocusedToolbarDefinition(){for(const e of this._focusableToolbarDefinitions)if(e.toolbarView.element&&e.toolbarView.element.contains(this.focusTracker.focusedElement))return e;return null}_focusFocusableCandidateToolbar(e){const{toolbarView:t,options:{beforeFocus:o}}=e;return o&&o(),!!ri(t.element)&&(t.focus(),!0)}_handleScrollToTheSelection(e,t){const o={top:0,bottom:0,left:0,right:0,...this.viewportOffset};t.viewportOffset.top+=o.top,t.viewportOffset.bottom+=o.bottom,t.viewportOffset.left+=o.left,t.viewportOffset.right+=o.right}_bindBodyCollectionWithFocusTracker(){const e=this.view.body;for(const t of e)this.focusTracker.add(t.element);e.on("add",((e,t)=>{this.focusTracker.add(t.element)})),e.on("remove",((e,t)=>{this.focusTracker.remove(t.element)}))}}function rk(e){const{toolbarView:t,options:o}=e;let n=10;return ri(t.element)&&n--,o.isContextual&&n--,n}var sk=i(178),ak={attributes:{"data-cke":!0}};ak.setAttributes=Xr(),ak.insert=Yr().bind(null,"head"),ak.domAPI=Zr(),ak.insertStyleElement=ts();Gr()(sk.A,ak);sk.A&&sk.A.locals&&sk.A.locals;class lk extends zp{constructor(e){super(e),this.body=new zm(e)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class ck extends zp{constructor(e,t,o){super(e),this.name=null,this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:e.contentLanguage,dir:e.contentLanguageDirection}}),this.set("isFocused",!1),this._editableElement=o,this._hasExternalElement=!!this._editableElement,this._editingView=t}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const e=this._editingView;function t(t){e.change((o=>{const n=e.document.getRoot(t.name);o.addClass(t.isFocused?"ck-focused":"ck-blurred",n),o.removeClass(t.isFocused?"ck-blurred":"ck-focused",n)}))}e.isRenderingInProgress?function o(n){e.once("change:isRenderingInProgress",((e,i,r)=>{r?o(n):t(n)}))}(this):t(this)}}class dk extends ck{constructor(e,t,o,n={}){super(e,t,o),this._options=n,this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const e=this._editingView;e.change((t=>{const o=e.document.getRoot(this.name);t.setAttribute("aria-label",this.getEditableAriaLabel(),o)}))}getEditableAriaLabel(){const e=this.locale.t,t=this._options.label,o=this._editableElement,n=this.name;if("string"==typeof t)return t;if("object"==typeof t)return t[n];if("function"==typeof t)return t(this);if(o){const e=o.getAttribute("aria-label");if(e)return e}return e("Rich Text Editor. Editing area: %0",n)}}class uk extends Cr{static get pluginName(){return"Notification"}static get isOfficialPlugin(){return!0}init(){this.on("show:warning",((e,t)=>{window.alert(t.message)}),{priority:"lowest"})}showSuccess(e,t={}){this._showNotification({message:e,type:"success",namespace:t.namespace,title:t.title})}showInfo(e,t={}){this._showNotification({message:e,type:"info",namespace:t.namespace,title:t.title})}showWarning(e,t={}){this._showNotification({message:e,type:"warning",namespace:t.namespace,title:t.title})}_showNotification(e){const t=e.namespace?`show:${e.type}:${e.namespace}`:`show:${e.type}`;this.fire(t,{message:e.message,type:e.type,title:e.title||""})}}class hk extends(X()){constructor(e,t){super(),t&&tl(this,t),e&&this.set(e)}}var pk=i(9938),mk={attributes:{"data-cke":!0}};mk.setAttributes=Xr(),mk.insert=Yr().bind(null,"head"),mk.domAPI=Zr(),mk.insertStyleElement=ts();Gr()(pk.A,mk);pk.A&&pk.A.locals&&pk.A.locals;var gk=i(3579),fk={attributes:{"data-cke":!0}};fk.setAttributes=Xr(),fk.insert=Yr().bind(null,"head"),fk.domAPI=Zr(),fk.insertStyleElement=ts();Gr()(gk.A,fk);gk.A&&gk.A.locals&&gk.A.locals;const bk=ti("px");class kk extends br{static get pluginName(){return"ContextualBalloon"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this._viewToStack=new Map,this._idToStack=new Map,this._view=null,this._rotatorView=null,this._fakePanelsView=null,this.positionLimiter=()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},this.decorate("getPositionOptions"),this.set("visibleView",null),this.set("_numberOfStacks",0),this.set("_singleViewMode",!1)}destroy(){super.destroy(),this._view&&this._view.destroy(),this._rotatorView&&this._rotatorView.destroy(),this._fakePanelsView&&this._fakePanelsView.destroy()}get view(){return this._view||this._createPanelView(),this._view}hasView(e){return Array.from(this._viewToStack.keys()).includes(e)}add(e){if(this._view||this._createPanelView(),this.hasView(e.view))throw new S("contextualballoon-add-view-exist",[this,e]);const t=e.stackId||"main";if(!this._idToStack.has(t))return this._idToStack.set(t,new Map([[e.view,e]])),this._viewToStack.set(e.view,this._idToStack.get(t)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!e.singleViewMode||this.showStack(t));const o=this._idToStack.get(t);e.singleViewMode&&this.showStack(t),o.set(e.view,e),this._viewToStack.set(e.view,o),o===this._visibleStack&&this._showView(e)}remove(e){if(!this.hasView(e))throw new S("contextualballoon-remove-view-not-exist",[this,e]);const t=this._viewToStack.get(e);this._singleViewMode&&this.visibleView===e&&(this._singleViewMode=!1),this.visibleView===e&&(1===t.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(t.values())[t.size-2])),1===t.size?(this._idToStack.delete(this._getStackId(t)),this._numberOfStacks=this._idToStack.size):t.delete(e),this._viewToStack.delete(e)}updatePosition(e){e&&(this._visibleStack.get(this.visibleView).position=e),this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition()}getPositionOptions(){let e=Array.from(this._visibleStack.values()).pop().position;return e&&(e.limiter||(e=Object.assign({},e,{limiter:this.positionLimiter})),e=Object.assign({},e,{viewportOffsetConfig:this.editor.ui.viewportOffset})),e}showStack(e){this.visibleStack=e;const t=this._idToStack.get(e);if(!t)throw new S("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==t&&this._showView(Array.from(t.values()).pop())}_createPanelView(){this._view=new Wg(this.editor.locale),this.editor.ui.view.body.add(this._view),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(e){return Array.from(this._idToStack.entries()).find((t=>t[1]===e))[0]}_showNextStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)+1;e[t]||(t=0),this.showStack(this._getStackId(e[t]))}_showPrevStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)-1;e[t]||(t=e.length-1),this.showStack(this._getStackId(e[t]))}_createRotatorView(){const e=new wk(this.editor.locale),t=this.editor.locale.t;return this.view.content.add(e),e.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>1)),e.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),e.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((e,o)=>{if(o<2)return"";const n=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return t("%0 of %1",[n,o])})),e.buttonNextView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),e.buttonPrevView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),e}_createFakePanelsView(){const e=new _k(this.editor.locale,this.view);return e.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>=2?Math.min(e-1,2):0)),e.listenTo(this.view,"change:top",(()=>e.updatePosition())),e.listenTo(this.view,"change:left",(()=>e.updatePosition())),this.editor.ui.view.body.add(e),e}_showView({view:e,balloonClassName:t="",withArrow:o=!0,singleViewMode:n=!1}){this.view.class=t,this.view.withArrow=o,this._rotatorView.showView(e),this.visibleView=e,this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition(),n&&(this._singleViewMode=!0)}}class wk extends zp{constructor(e){super(e);const t=e.t,o=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new nr,this.buttonPrevView=this._createButtonView(t("Previous"),up.previousArrow),this.buttonNextView=this._createButtonView(t("Next"),up.nextArrow),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",o.to("isNavigationVisible",(e=>e?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:o.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(e){this.hideView(),this.content.add(e)}hideView(){this.content.clear()}_createButtonView(e,t){const o=new Kp(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o}}class _k extends zp{constructor(e,t){super(e);const o=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=t,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",o.to("numberOfPanels",(e=>e?"":"ck-hidden"))],style:{top:o.to("top",bk),left:o.to("left",bk),width:o.to("width",bk),height:o.to("height",bk)}},children:this.content}),this.on("change:numberOfPanels",((e,t,o,n)=>{o>n?this._addPanels(o-n):this._removePanels(n-o),this.updatePosition()}))}_addPanels(e){for(;e--;){const e=new zp;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(e){for(;e--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:e,left:t}=this._balloonPanelView,{width:o,height:n}=new Gn(this._balloonPanelView.element);Object.assign(this,{top:e,left:t,width:o,height:n})}}}var yk=i(7289),Ak={attributes:{"data-cke":!0}};Ak.setAttributes=Xr(),Ak.insert=Yr().bind(null,"head"),Ak.domAPI=Zr(),Ak.insertStyleElement=ts();Gr()(yk.A,Ak);yk.A&&yk.A.locals&&yk.A.locals;class Ck extends dg{constructor(e,t){const o=e.t,n=Object.assign({},{showResetButton:!0,showIcon:!0,creator:Ef},t);super(e,n.creator),this.label=t.label,this._viewConfig=n,this._viewConfig.showIcon&&(this.iconView=new $p,this.iconView.content=up.loupe,this.fieldWrapperChildren.add(this.iconView,0),this.extendTemplate({attributes:{class:"ck-search__query_with-icon"}})),this._viewConfig.showResetButton&&(this.resetButtonView=new Kp(e),this.resetButtonView.set({label:o("Clear"),icon:up.cancel,class:"ck-search__reset",isVisible:!1,tooltip:!0}),this.resetButtonView.on("execute",(()=>{this.reset(),this.focus(),this.fire("reset")})),this.resetButtonView.bind("isVisible").to(this.fieldView,"isEmpty",(e=>!e)),this.fieldWrapperChildren.add(this.resetButtonView),this.extendTemplate({attributes:{class:"ck-search__query_with-reset"}}))}reset(){this.fieldView.reset(),this._viewConfig.showResetButton&&(this.resetButtonView.isVisible=!1)}}class vk extends zp{constructor(){super();const e=this.bindTemplate;this.set({isVisible:!1,primaryText:"",secondaryText:""}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__info",e.if("isVisible","ck-hidden",(e=>!e))],tabindex:-1},children:[{tag:"span",children:[{text:[e.to("primaryText")]}]},{tag:"span",children:[{text:[e.to("secondaryText")]}]}]})}focus(){this.element.focus()}}class xk extends zp{constructor(e){super(e),this.children=this.createCollection(),this.focusTracker=new nr,this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__results"],tabindex:-1},children:this.children}),this._focusCycler=new Xp({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const e of this.children)this.focusTracker.add(e.element)}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var Ek=/[\\^$.*+?()[\]{}|]/g,Dk=RegExp(Ek.source);const Bk=function(e){return(e=Vr(e))&&Dk.test(e)?e.replace(Ek,"\\$&"):e};var Sk=i(5540),Tk={attributes:{"data-cke":!0}};Tk.setAttributes=Xr(),Tk.insert=Yr().bind(null,"head"),Tk.domAPI=Zr(),Tk.insertStyleElement=ts();Gr()(Sk.A,Tk);Sk.A&&Sk.A.locals&&Sk.A.locals;class Ik extends zp{constructor(e,t){super(e),this._config=t,this.filteredView=t.filteredView,this.queryView=this._createSearchTextQueryView(),this.focusTracker=new nr,this.keystrokes=new ar,this.resultsView=new xk(e),this.children=this.createCollection(),this.focusableChildren=this.createCollection([this.queryView,this.resultsView]),this.set("isEnabled",!0),this.set("resultsCount",0),this.set("totalItemsCount",0),t.infoView&&t.infoView.instance?this.infoView=t.infoView.instance:(this.infoView=new vk,this._enableDefaultInfoViewBehavior(),this.on("render",(()=>{this.search("")}))),this.resultsView.children.addMany([this.infoView,this.filteredView]),this.focusCycler=new Xp({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.on("search",((e,{resultsCount:t,totalItemsCount:o})=>{this.resultsCount=t,this.totalItemsCount=o})),this.setTemplate({tag:"div",attributes:{class:["ck","ck-search",t.class||null],tabindex:"-1"},children:this.children})}render(){super.render(),this.children.addMany([this.queryView,this.resultsView]);const e=e=>e.stopPropagation();for(const e of this.focusableChildren)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}focus(){this.queryView.focus()}reset(){this.queryView.reset(),this.search(""),this.filteredView.element.scrollTo(0,0)}search(e){const t=e?new RegExp(Bk(e),"ig"):null,o=this.filteredView.filter(t);this.fire("search",{query:e,...o})}_createSearchTextQueryView(){const e=new Ck(this.locale,this._config.queryView);return this.listenTo(e.fieldView,"input",(()=>{this.search(e.fieldView.element.value)})),e.on("reset",(()=>this.reset())),e.bind("isEnabled").to(this),e}_enableDefaultInfoViewBehavior(){const e=this.locale.t,t=this.infoView;function o(e,{query:t,resultsCount:o,totalItemsCount:n}){return"function"==typeof e?e(t,o,n):e}this.on("search",((n,i)=>{if(i.resultsCount)t.set({isVisible:!1});else{const n=this._config.infoView&&this._config.infoView.text;let r,s;i.totalItemsCount?n&&n.notFound?(r=n.notFound.primary,s=n.notFound.secondary):(r=e("No results found"),s=""):n&&n.noSearchableItems?(r=n.noSearchableItems.primary,s=n.noSearchableItems.secondary):(r=e("No searchable items"),s=""),t.set({primaryText:o(r,i),secondaryText:o(s,i),isVisible:!0})}}))}}var Pk=i(2688),Fk={attributes:{"data-cke":!0}};Fk.setAttributes=Xr(),Fk.insert=Yr().bind(null,"head"),Fk.domAPI=Zr(),Fk.insertStyleElement=ts();Gr()(Pk.A,Fk);Pk.A&&Pk.A.locals&&Pk.A.locals;class Rk extends Ik{constructor(e,t){super(e,t),this._config=t;const o=ti("px");this.extendTemplate({attributes:{class:["ck-autocomplete"]}});const n=this.resultsView.bindTemplate;this.resultsView.set("isVisible",!1),this.resultsView.set("_position","s"),this.resultsView.set("_width",0),this.resultsView.extendTemplate({attributes:{class:[n.if("isVisible","ck-hidden",(e=>!e)),n.to("_position",(e=>`ck-search__results_${e}`))],style:{width:n.to("_width",o)}}}),this.focusTracker.on("change:isFocused",((e,o,n)=>{this._updateResultsVisibility(),n?this.resultsView.element.scrollTop=0:t.resetOnBlur&&this.queryView.reset()})),this.on("search",(()=>{this._updateResultsVisibility(),this._updateResultsViewWidthAndPosition()})),this.keystrokes.set("esc",((e,t)=>{this.resultsView.isVisible&&(this.queryView.focus(),this.resultsView.isVisible=!1,t())})),this.listenTo(s.document,"scroll",(()=>{this._updateResultsViewWidthAndPosition()})),this.on("change:isEnabled",(()=>{this._updateResultsVisibility()})),this.filteredView.on("execute",((e,{value:t})=>{this.focus(),this.reset(),this.queryView.fieldView.value=this.queryView.fieldView.element.value=t,this.resultsView.isVisible=!1})),this.resultsView.on("change:isVisible",(()=>{this._updateResultsViewWidthAndPosition()}))}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible)return;this.resultsView._width=new Gn(this.queryView.fieldView.element).width;const e=Rk._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:!0,positions:Rk.defaultResultsPositions});this.resultsView._position=e?e.name:"s"}_updateResultsVisibility(){const e=void 0===this._config.queryMinChars?0:this._config.queryMinChars,t=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&t>=e}}Rk.defaultResultsPositions=[e=>({top:e.bottom,left:e.left,name:"s"}),(e,t)=>({top:e.top-t.height,left:e.left,name:"n"})],Rk._getOptimalPosition=si;Mk={"&":"&","<":"<",">":">",'"':""","'":"'"};var Mk;var zk=/[&<>"']/g;RegExp(zk.source);var Ok=i(1998),Nk={attributes:{"data-cke":!0}};Nk.setAttributes=Xr(),Nk.insert=Yr().bind(null,"head"),Nk.domAPI=Zr(),Nk.insertStyleElement=ts();Gr()(Ok.A,Nk);Ok.A&&Ok.A.locals&&Ok.A.locals;var Vk=i(5706),Lk={attributes:{"data-cke":!0}};Lk.setAttributes=Xr(),Lk.insert=Yr().bind(null,"head"),Lk.domAPI=Zr(),Lk.insertStyleElement=ts();Gr()(Vk.A,Lk);Vk.A&&Vk.A.locals&&Vk.A.locals;var Hk=i(9939),jk={attributes:{"data-cke":!0}};jk.setAttributes=Xr(),jk.insert=Yr().bind(null,"head"),jk.domAPI=Zr(),jk.insertStyleElement=ts();Gr()(Hk.A,jk);Hk.A&&Hk.A.locals&&Hk.A.locals;var qk=i(5667),$k={attributes:{"data-cke":!0}};$k.setAttributes=Xr(),$k.insert=Yr().bind(null,"head"),$k.domAPI=Zr(),$k.insertStyleElement=ts();Gr()(qk.A,$k);qk.A&&qk.A.locals&&qk.A.locals;class Uk extends Am{constructor(e){super(e);const t=this.bindTemplate;this.set({withText:!0,role:"menuitem"}),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__button"],"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(e=>String(e))),"data-cke-tooltip-disabled":t.to("isOn")},on:{mouseenter:t.to("mouseenter")}})}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new $p;return e.content=$m,e.extendTemplate({attributes:{class:"ck-menu-bar__menu__button__arrow"}}),e}}var Wk=i(4873),Gk={attributes:{"data-cke":!0}};Gk.setAttributes=Xr(),Gk.insert=Yr().bind(null,"head"),Gk.domAPI=Zr(),Gk.insertStyleElement=ts();Gr()(Wk.A,Gk);Wk.A&&Wk.A.locals&&Wk.A.locals;class Kk extends zp{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-menu-bar__menu__panel",t.to("position",(e=>`ck-menu-bar__menu__panel_position_${e}`)),t.if("isVisible","ck-hidden",(e=>!e))],tabindex:"-1"},children:this.children,on:{selectstart:t.to((e=>{"input"!==e.target.tagName.toLocaleLowerCase()&&e.preventDefault()}))}})}focus(e=1){this.children.length&&(1===e?this.children.first.focus():this.children.last.focus())}}var Zk=i(55),Jk={attributes:{"data-cke":!0}};Jk.setAttributes=Xr(),Jk.insert=Yr().bind(null,"head"),Jk.domAPI=Zr(),Jk.insertStyleElement=ts();Gr()(Zk.A,Jk);Zk.A&&Zk.A.locals&&Zk.A.locals;class Yk extends zp{constructor(e){super(e);const t=this.bindTemplate;this.buttonView=new Uk(e),this.buttonView.delegate("mouseenter").to(this),this.buttonView.bind("isOn","isEnabled").to(this,"isOpen","isEnabled"),this.panelView=new Kk(e),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new ar,this.focusTracker=new nr,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("panelPosition","w"),this.set("class",void 0),this.set("parentMenuView",null),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar__menu",t.to("class"),t.if("isEnabled","ck-disabled",(e=>!e)),t.if("parentMenuView","ck-menu-bar__menu_top-level",(e=>!e))]},children:[this.buttonView,this.panelView]})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.keystrokes.listenTo(this.element),$b.closeOnEscKey(this),this._repositionPanelOnOpen()}_attachBehaviors(){this.parentMenuView?($b.openOnButtonClick(this),$b.openOnArrowRightKey(this),$b.closeOnArrowLeftKey(this),$b.openAndFocusOnEnterKeyPress(this),$b.closeOnParentClose(this)):(this._propagateArrowKeystrokeEvents(),$b.openAndFocusPanelOnArrowDownKey(this),$b.toggleOnButtonClick(this))}_propagateArrowKeystrokeEvents(){this.keystrokes.set("arrowright",((e,t)=>{this.fire("arrowright"),t()})),this.keystrokes.set("arrowleft",((e,t)=>{this.fire("arrowleft"),t()}))}_repositionPanelOnOpen(){this.on("change:isOpen",((e,t,o)=>{if(!o)return;const n=Yk._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=n?n.name:this._defaultMenuPositionName}))}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:e,southWest:t,northEast:o,northWest:n,westSouth:i,eastSouth:r,westNorth:s,eastNorth:a}=Ub;return"ltr"===this.locale.uiLanguageDirection?this.parentMenuView?[r,a,i,s]:[e,t,o,n]:this.parentMenuView?[i,s,r,a]:[t,e,n,o]}get _defaultMenuPositionName(){return"ltr"===this.locale.uiLanguageDirection?this.parentMenuView?"es":"se":this.parentMenuView?"ws":"sw"}}Yk._getOptimalPosition=si;const Qk=Yk;class Xk extends Mg{constructor(e){super(e),this.role="menu",this.items.on("change",this._setItemsCheckSpace.bind(this))}_setItemsCheckSpace(){const e=Array.from(this.items).some((e=>{const t=ew(e);return t&&t.isToggleable}));this.items.forEach((t=>{const o=ew(t);o&&(o.hasCheckSpace=e)}))}}function ew(e){return e instanceof Tg?e.children.map((e=>function(e){return"object"==typeof e&&"buttonView"in e&&e.buttonView instanceof Kp}(e)?e.buttonView:e)).find((e=>e instanceof Am)):null}class tw extends Hm{constructor(e){super(e),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}var ow=i(4782),nw={attributes:{"data-cke":!0}};nw.setAttributes=Xr(),nw.insert=Yr().bind(null,"head"),nw.domAPI=Zr(),nw.insertStyleElement=ts();Gr()(ow.A,nw);ow.A&&ow.A.locals&&ow.A.locals;const iw=["mouseenter","arrowleft","arrowright","change:isOpen"];class rw extends zp{constructor(e){super(e),this.menus=[];const t=e.t,o=this.bindTemplate;this.set({isOpen:!1,isFocusBorderEnabled:!1}),this._setupIsOpenUpdater(),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar",o.if("isFocusBorderEnabled","ck-menu-bar_focus-border-enabled")],"aria-label":t("Editor menu bar"),role:"menubar"},children:this.children})}fillFromConfig(e,t,o=[]){const n=Gb({normalizedConfig:e,locale:this.locale,componentFactory:t,extraItems:o}).items.map((e=>this._createMenu({componentFactory:t,menuDefinition:e})));this.children.addMany(n)}render(){super.render(),qb.toggleMenusAndFocusItemsOnHover(this),qb.closeMenusWhenTheBarCloses(this),qb.closeMenuWhenAnotherOnTheSameLevelOpens(this),qb.focusCycleMenusOnArrows(this),qb.closeOnClickOutside(this),qb.enableFocusHighlightOnInteraction(this)}focus(){this.children.first&&this.children.first.focus()}close(){for(const e of this.children)e.isOpen=!1}registerMenu(e,t=null){t?(e.delegate(...iw).to(t),e.parentMenuView=t):e.delegate(...iw).to(this,(e=>"menu:"+e)),e._attachBehaviors(),this.menus.push(e)}_createMenu({componentFactory:e,menuDefinition:t,parentMenuView:o}){const n=this.locale,i=new Qk(n);return this.registerMenu(i,o),i.buttonView.set({label:t.label}),i.once("change:isOpen",(()=>{const o=new Xk(n);o.ariaLabel=t.label,i.panelView.children.add(o),o.items.addMany(this._createMenuItems({menuDefinition:t,parentMenuView:i,componentFactory:e}))})),i}_createMenuItems({menuDefinition:e,parentMenuView:t,componentFactory:o}){const n=this.locale,i=[];for(const r of e.groups){for(const e of r.items){const r=new jb(n,t);if(W(e))r.children.add(this._createMenu({componentFactory:o,menuDefinition:e,parentMenuView:t}));else{const n=this._createMenuItemContentFromFactory({componentName:e,componentFactory:o,parentMenuView:t});if(!n)continue;r.children.add(n)}i.push(r)}r!==e.groups[e.groups.length-1]&&i.push(new Ig(n))}return i}_createMenuItemContentFromFactory({componentName:e,parentMenuView:t,componentFactory:o}){const n=o.create(e);return n instanceof Qk||n instanceof Em||n instanceof tw?(this._registerMenuTree(n,t),n.on("execute",(()=>{this.close()})),n):(T("menu-bar-component-unsupported",{componentName:e,componentView:n}),null)}_registerMenuTree(e,t){if(!(e instanceof Qk))return void e.delegate("mouseenter").to(t);this.registerMenu(e,t);const o=e.panelView.children.filter((e=>e instanceof Xk))[0];if(!o)return void e.delegate("mouseenter").to(t);const n=o.items.filter((e=>e instanceof Tg));for(const t of n)this._registerMenuTree(t.children.get(0),e)}_setupIsOpenUpdater(){let e;this.on("menu:change:isOpen",((t,o,n)=>{clearTimeout(e),n?this.isOpen=!0:e=setTimeout((()=>{this.isOpen=Array.from(this.children).some((e=>e.isOpen))}),0)}))}}class sw extends ik{constructor(e,t){super(e),this.view=t}init(){const e=this.editor,t=this.view,o=e.editing.view,n=t.editable,i=o.document.getRoot();n.name=i.rootName,t.render();const r=n.element;this.setEditableElement(n.name,r),t.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(r),this._initPlaceholder(),this._initToolbar(),this._initMenuBar(this.view.menuBarView),this.fire("ready")}destroy(){super.destroy();const e=this.view,t=this.editor.editing.view;t.getDomRoot(e.editable.name)&&t.detachDomRoot(e.editable.name),e.destroy()}_initToolbar(){const e=this.editor,t=this.view;t.toolbar.fillFromConfig(e.config.get("toolbar"),this.componentFactory),this.addToolbar(t.toolbar)}_initPlaceholder(){const e=this.editor,t=e.editing.view,o=t.document.getRoot(),n=e.config.get("placeholder");if(n){const e="string"==typeof n?n:n[o.rootName];e&&(o.placeholder=e)}ss({view:t,element:o,isDirectHost:!1,keepOnFocus:!0})}}class aw extends lk{constructor(e,t,o={}){super(e),this.toolbar=new af(e,{shouldGroupWhenFull:o.shouldToolbarGroupWhenFull}),this.menuBarView=new rw(e),this.editable=new dk(e,t,o.editableElement,{label:o.label}),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:e.uiLanguageDirection}}),this.menuBarView.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:e.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.menuBarView,this.toolbar,this.editable])}}class lw extends(cp(ap)){static get editorName(){return"DecoupledEditor"}constructor(e,t={}){if(!cw(e)&&void 0!==t.initialData)throw new S("editor-create-initial-data",null);super(t),void 0===this.config.get("initialData")&&this.config.set("initialData",function(e){return cw(e)?(t=e,t instanceof HTMLTextAreaElement?t.value:t.innerHTML):e;var t}(e)),cw(e)&&(this.sourceElement=e,function(e,t){if(t.ckeditorInstance)throw new S("editor-source-element-already-used",e);t.ckeditorInstance=e,e.once("destroy",(()=>{delete t.ckeditorInstance}))}(this,e)),this.model.document.createRoot();const o=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new aw(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:o,label:this.config.get("label")});this.ui=new sw(this,n)}destroy(){const e=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(e)}))}static create(e,t={}){return new Promise((o=>{if(cw(e)&&"TEXTAREA"===e.tagName)throw new S("editor-wrong-element",null);const n=new this(e,t);o(n.initPlugins().then((()=>n.ui.init())).then((()=>n.data.init(n.config.get("initialData")))).then((()=>n.fire("ready"))).then((()=>n)))}))}}function cw(e){return Tn(e)}class dw extends(V()){constructor(){super(...arguments),this._stack=[]}add(e,t){const o=this._stack,n=o[0];this._insertDescriptor(e);const i=o[0];n===i||uw(n,i)||this.fire("change:top",{oldDescriptor:n,newDescriptor:i,writer:t})}remove(e,t){const o=this._stack,n=o[0];this._removeDescriptor(e);const i=o[0];n===i||uw(n,i)||this.fire("change:top",{oldDescriptor:n,newDescriptor:i,writer:t})}_insertDescriptor(e){const t=this._stack,o=t.findIndex((t=>t.id===e.id));if(uw(e,t[o]))return;o>-1&&t.splice(o,1);let n=0;for(;t[n]&&hw(t[n],e);)n++;t.splice(n,0,e)}_removeDescriptor(e){const t=this._stack,o=t.findIndex((t=>t.id===e));o>-1&&t.splice(o,1)}}function uw(e,t){return e&&t&&e.priority==t.priority&&pw(e.classes)==pw(t.classes)}function hw(e,t){return e.priority>t.priority||!(e.prioritypw(t.classes)}function pw(e){return Array.isArray(e)?e.sort().join(","):e}const mw="widget-type-around";function gw(e,t,o){return!!e&&ww(e)&&!o.isInline(t)}function fw(e){return e.getAttribute(mw)}const bw='',kw="ck-widget_selected";function ww(e){return!!e.is("element")&&!!e.getCustomProperty("widget")}function _w(e,t,o={}){if(!e.is("containerElement"))throw new S("widget-to-widget-wrong-element-type",null,{element:e});return t.setAttribute("contenteditable","false",e),t.addClass("ck-widget",e),t.setCustomProperty("widget",!0,e),e.getFillerOffset=Ew,t.setCustomProperty("widgetLabel",[],e),o.label&&function(e,t){const o=e.getCustomProperty("widgetLabel");o.push(t)}(e,o.label),o.hasSelectionHandle&&function(e,t){const o=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(e){const t=this.toDomElement(e),o=new $p;return o.set("content",bw),o.render(),t.appendChild(o.element),t}));t.insert(t.createPositionAt(e,0),o),t.addClass(["ck-widget_with-selection-handle"],e)}(e,t),Cw(e,t),e}function yw(e,t,o){if(t.classes&&o.addClass(Si(t.classes),e),t.attributes)for(const n in t.attributes)o.setAttribute(n,t.attributes[n],e)}function Aw(e,t,o){if(t.classes&&o.removeClass(Si(t.classes),e),t.attributes)for(const n in t.attributes)o.removeAttribute(n,e)}function Cw(e,t,o=yw,n=Aw){const i=new dw;i.on("change:top",((t,i)=>{i.oldDescriptor&&n(e,i.oldDescriptor,i.writer),i.newDescriptor&&o(e,i.newDescriptor,i.writer)}));t.setCustomProperty("addHighlight",((e,t,o)=>i.add(t,o)),e),t.setCustomProperty("removeHighlight",((e,t,o)=>i.remove(t,o)),e)}function vw(e,t,o={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],e),t.setAttribute("role","textbox",e),t.setAttribute("tabindex","-1",e),o.label&&t.setAttribute("aria-label",o.label,e),t.setAttribute("contenteditable",e.isReadOnly?"false":"true",e),e.on("change:isReadOnly",((o,n,i)=>{t.setAttribute("contenteditable",i?"false":"true",e)})),e.on("change:isFocused",((o,n,i)=>{i?t.addClass("ck-editor__nested-editable_focused",e):t.removeClass("ck-editor__nested-editable_focused",e)})),Cw(e,t),e}function xw(e,t){const o=e.getSelectedElement();if(o){const n=fw(e);if(n)return t.createRange(t.createPositionAt(o,n))}return t.schema.findOptimalInsertionRange(e)}function Ew(){return null}function Dw(e){const t=e=>{const{width:t,paddingLeft:o,paddingRight:n}=e.ownerDocument.defaultView.getComputedStyle(e);return parseFloat(t)-(parseFloat(o)||0)-(parseFloat(n)||0)},o=e.parentElement;if(!o)return 0;let n=t(o);let i=0,r=o;for(;isNaN(n);){if(r=r.parentElement,++i>5)return 0;n=t(r)}return n}class Bw extends br{static get pluginName(){return"OPMacroToc"}static get buttonName(){return"insertToc"}init(){const e=this.editor,t=e.model,o=e.conversion;t.schema.register("op-macro-toc",{allowWhere:"$block",isBlock:!0,isLimit:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"toc"},model:"op-macro-toc"}),o.for("editingDowncast").elementToElement({model:"op-macro-toc",view:(e,{writer:t})=>_w(this.createTocViewElement(t),t,{label:this.label})}),o.for("dataDowncast").elementToElement({model:"op-macro-toc",view:(e,{writer:t})=>this.createTocDataElement(t)}),e.ui.componentFactory.add(Bw.buttonName,(t=>{const o=new Kp(t);return o.set({label:this.label,withText:!0}),o.on("execute",(()=>{e.model.change((t=>{const o=t.createElement("op-macro-toc",{});e.model.insertContent(o,e.model.document.selection)}))})),o}))}get label(){return window.I18n.t("js.editor.macro.toc")}createTocViewElement(e){const t=e.createText(this.label),o=e.createContainerElement("div");return e.insert(e.createPositionAt(o,0),t),o}createTocDataElement(e){return e.createContainerElement("macro",{class:"toc"})}}const Sw=Symbol("isOPEmbeddedTable");function Tw(e){const t=e.getSelectedElement();return!(!t||!function(e){return!!e.getCustomProperty(Sw)&&ww(e)}(t))}function Iw(e){return _.get(e.config,"_config.openProject.context.resource")}function Pw(e){return _.get(e.config,"_config.openProject.pluginContext")}function Fw(e,t){return Pw(e).services[t]}function Rw(e){return Fw(e,"pathHelperService")}function Mw(e){return Fw(e,"i18n")}class zw extends br{static get pluginName(){return"EmbeddedTableEditing"}static get buttonName(){return"insertEmbeddedTable"}init(){const e=this.editor,t=e.model,o=e.conversion,n=Pw(e);this.text={button:window.I18n.t("js.editor.macro.embedded_table.button"),macro_text:window.I18n.t("js.editor.macro.embedded_table.text")},t.schema.register("op-macro-embedded-table",{allowWhere:"$block",allowAttributes:["opEmbeddedTableQuery"],isBlock:!0,isObject:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"embedded-table"},model:(e,{writer:t})=>{const o=e.getAttribute("data-query-props");return t.createElement("op-macro-embedded-table",{opEmbeddedTableQuery:o?JSON.parse(o):{}})}}),o.for("editingDowncast").elementToElement({model:"op-macro-embedded-table",view:(e,{writer:t})=>{return o=this.createEmbeddedTableView(t),n=t,this.label,n.setCustomProperty(Sw,!0,o),_w(o,n,{label:"your label here"});var o,n}}),o.for("dataDowncast").elementToElement({model:"op-macro-embedded-table",view:(e,{writer:t})=>this.createEmbeddedTableDataElement(e,t)}),e.ui.componentFactory.add(zw.buttonName,(t=>{const o=new Kp(t);return o.set({label:this.text.button,withText:!0}),o.on("execute",(()=>n.runInZone((()=>{n.services.externalQueryConfiguration.show({currentQuery:{},callback:t=>e.model.change((o=>{const n=o.createElement("op-macro-embedded-table",{opEmbeddedTableQuery:t});e.model.insertContent(n,e.model.document.selection)}))})})))),o}))}createEmbeddedTableView(e){const t=e.createText(this.text.macro_text),o=e.createContainerElement("div");return e.insert(e.createPositionAt(o,0),t),o}createEmbeddedTableDataElement(e,t){const o=e.getAttribute("opEmbeddedTableQuery")||{};return t.createContainerElement("macro",{class:"embedded-table","data-query-props":JSON.stringify(o)})}}class Ow{constructor(e,t=20){this._batch=null,this.model=e,this._size=0,this.limit=t,this._isLocked=!1,this._changeCallback=(e,t)=>{t.isLocal&&t.isUndoable&&t!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(e){this._size+=e,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(e=!1){this.isLocked&&!e||(this._batch=null,this._size=0)}}class Nw extends wr{constructor(e,t){super(e),this._buffer=new Ow(e.model,t),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(e={}){const t=this.editor.model,o=t.document,n=e.text||"",i=n.length;let r=o.selection;if(e.selection?r=e.selection:e.range&&(r=t.createSelection(e.range)),!t.canEditAt(r))return;const s=e.resultRange;t.enqueueChange(this._buffer.batch,(e=>{this._buffer.lock();const a=Array.from(o.selection.getAttributes());t.deleteContent(r),n&&t.insertContent(e.createText(n,a),r),s?e.setSelection(s):r.is("documentSelection")||e.setSelection(r),this._buffer.unlock(),this._buffer.input(i)}))}}const Vw=["insertText","insertReplacementText"],Lw=[...Vw,"insertCompositionText"];class Hw extends Xa{constructor(e){super(e),this.focusObserver=e.getObserver(jl);const t=c.isAndroid?Lw:Vw,o=e.document;o.on("beforeinput",((n,i)=>{if(!this.isEnabled)return;const{data:r,targetRanges:s,inputType:a,domEvent:l}=i;if(!t.includes(a))return;this.focusObserver.flush();const c=new v(o,"insertText");o.fire(c,new ol(e,l,{text:r,selection:e.createSelection(s)})),c.stop.called&&n.stop()})),c.isAndroid||o.on("compositionend",((t,{data:n,domEvent:i})=>{this.isEnabled&&n&&o.fire("insertText",new ol(e,i,{text:n}))}),{priority:"lowest"})}observe(){}stopObserving(){}}class jw extends br{static get pluginName(){return"Input"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model,o=e.editing.view,n=e.editing.mapper,i=t.document.selection;this._compositionQueue=new qw(e),o.addObserver(Hw);const r=new Nw(e,e.config.get("typing.undoStep")||20);e.commands.add("insertText",r),e.commands.add("input",r),this.listenTo(o.document,"insertText",((r,s)=>{o.document.isComposing||s.preventDefault(),c.isAndroid&&o.document.isComposing&&this._compositionQueue.flush("next beforeinput");const{text:a,selection:l}=s;let d;d=l?Array.from(l.getRanges()).map((e=>n.toModelRange(e))):Array.from(i.getRanges());let u=a;if(c.isAndroid){const e=Array.from(d[0].getItems()).reduce(((e,t)=>e+(t.is("$textProxy")?t.data:"")),"");if(e&&(e.length<=u.length?u.startsWith(e)&&(u=u.substring(e.length),d[0].start=d[0].start.getShiftedBy(e.length)):e.startsWith(u)&&(d[0].start=d[0].start.getShiftedBy(u.length),u="")),0==u.length&&d[0].isCollapsed)return}const h={text:u,selection:t.createSelection(d)};c.isAndroid&&o.document.isComposing?this._compositionQueue.push(h):(e.execute("insertText",h),o.scrollToTheSelection())})),c.isAndroid?this.listenTo(o.document,"keydown",((e,n)=>{!i.isCollapsed&&229==n.keyCode&&o.document.isComposing&&$w(t,r)})):this.listenTo(o.document,"compositionstart",(()=>{i.isCollapsed||$w(t,r)})),c.isAndroid?(this.listenTo(o.document,"mutations",((e,{mutations:t})=>{if(o.document.isComposing)for(const{node:e}of t){const t=Uw(e,n),o=n.toModelElement(t);if(this._compositionQueue.isComposedElement(o))return void this._compositionQueue.flush("mutations")}})),this.listenTo(o.document,"compositionend",(()=>{this._compositionQueue.flush("composition end")})),this.listenTo(o.document,"compositionend",(()=>{const e=[];for(const t of this._compositionQueue.flushComposedElements()){const o=n.toViewElement(t);o&&e.push({type:"children",node:o})}e.length&&o.document.fire("mutations",{mutations:e})}),{priority:"lowest"})):this.listenTo(o.document,"compositionend",(()=>{o.document.fire("mutations",{mutations:[]})}),{priority:"lowest"})}destroy(){super.destroy(),this._compositionQueue.destroy()}}class qw{constructor(e){this.flushDebounced=bl((()=>this.flush("timeout")),50),this._queue=[],this._compositionElements=new Set,this.editor=e}destroy(){for(this.flushDebounced.cancel(),this._compositionElements.clear();this._queue.length;)this.shift()}get length(){return this._queue.length}push(e){const t={text:e.text};if(e.selection){t.selectionRanges=[];for(const o of e.selection.getRanges())t.selectionRanges.push(vc.fromRange(o)),this._compositionElements.add(o.start.parent)}this._queue.push(t),this.flushDebounced()}shift(){const e=this._queue.shift(),t={text:e.text};if(e.selectionRanges){const o=e.selectionRanges.map((e=>function(e){const t=e.toRange();if(e.detach(),"$graveyard"==t.root.rootName)return null;return t}(e))).filter((e=>!!e));o.length&&(t.selection=this.editor.model.createSelection(o))}return t}flush(e){const t=this.editor,o=t.model,n=t.editing.view;if(this.flushDebounced.cancel(),!this._queue.length)return;const i=t.commands.get("insertText").buffer;o.enqueueChange(i.batch,(()=>{for(i.lock();this._queue.length;){const e=this.shift();t.execute("insertText",e)}i.unlock()})),n.scrollToTheSelection()}isComposedElement(e){return this._compositionElements.has(e)}flushComposedElements(){const e=Array.from(this._compositionElements);return this._compositionElements.clear(),e}}function $w(e,t){if(!t.isEnabled)return;const o=t.buffer;o.lock(),e.enqueueChange(o.batch,(()=>{e.deleteContent(e.document.selection)})),o.unlock()}function Uw(e,t){let o=e.is("$text")?e.parent:e;for(;!t.toModelElement(o);)o=o.parent;return o}class Ww extends wr{constructor(e,t){super(e),this.direction=t,this._buffer=new Ow(e.model,e.config.get("typing.undoStep")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(e={}){const t=this.editor.model,o=t.document;t.enqueueChange(this._buffer.batch,(n=>{this._buffer.lock();const i=n.createSelection(e.selection||o.selection);if(!t.canEditAt(i))return;const r=e.sequence||1,s=i.isCollapsed;if(i.isCollapsed&&t.modifySelection(i,{direction:this.direction,unit:e.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(r))return void this._replaceEntireContentWithParagraph(n);if(this._shouldReplaceFirstBlockWithParagraph(i,r))return void this.editor.execute("paragraph",{selection:i});if(i.isCollapsed)return;let a=0;i.getFirstRange().getMinimalFlatRanges().forEach((e=>{a+=re(e.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),t.deleteContent(i,{doNotResetEntireContent:s,direction:this.direction}),this._buffer.input(a),n.setSelection(i),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(e){if(e>1)return!1;const t=this.editor.model,o=t.document.selection,n=t.schema.getLimitElement(o);if(!(o.isCollapsed&&o.containsEntireContent(n)))return!1;if(!t.schema.checkChild(n,"paragraph"))return!1;const i=n.getChild(0);return!i||!i.is("element","paragraph")}_replaceEntireContentWithParagraph(e){const t=this.editor.model,o=t.document.selection,n=t.schema.getLimitElement(o),i=e.createElement("paragraph");e.remove(e.createRangeIn(n)),e.insert(i,n),e.setSelection(i,0)}_shouldReplaceFirstBlockWithParagraph(e,t){const o=this.editor.model;if(t>1||"backward"!=this.direction)return!1;if(!e.isCollapsed)return!1;const n=e.getFirstPosition(),i=o.schema.getLimitElement(n),r=i.getChild(0);return n.parent==r&&(!!e.containsEntireContent(r)&&(!!o.schema.checkChild(i,"paragraph")&&"paragraph"!=r.name))}}const Gw="word",Kw="selection",Zw="backward",Jw="forward",Yw={deleteContent:{unit:Kw,direction:Zw},deleteContentBackward:{unit:"codePoint",direction:Zw},deleteWordBackward:{unit:Gw,direction:Zw},deleteHardLineBackward:{unit:Kw,direction:Zw},deleteSoftLineBackward:{unit:Kw,direction:Zw},deleteContentForward:{unit:"character",direction:Jw},deleteWordForward:{unit:Gw,direction:Jw},deleteHardLineForward:{unit:Kw,direction:Jw},deleteSoftLineForward:{unit:Kw,direction:Jw}};class Qw extends Xa{constructor(e){super(e);const t=e.document;let o=0;t.on("keydown",(()=>{o++})),t.on("keyup",(()=>{o=0})),t.on("beforeinput",((n,i)=>{if(!this.isEnabled)return;const{targetRanges:r,domEvent:s,inputType:a}=i,l=Yw[a];if(!l)return;const d={direction:l.direction,unit:l.unit,sequence:o};d.unit==Kw&&(d.selectionToRemove=e.createSelection(r[0])),"deleteContentBackward"===a&&(c.isAndroid&&(d.sequence=1),function(e){if(1!=e.length||e[0].isCollapsed)return!1;const t=e[0].getWalker({direction:"backward",singleCharacters:!0,ignoreElementEnd:!0});let o=0;for(const{nextPosition:e,item:n}of t){if(e.parent.is("$text")){const t=e.parent.data,n=e.offset;if(hr(t,n)||pr(t,n)||gr(t,n))continue;o++}else(n.is("containerElement")||n.is("emptyElement"))&&o++;if(o>1)return!0}return!1}(r)&&(d.unit=Kw,d.selectionToRemove=e.createSelection(r)));const u=new Zs(t,"delete",r[0]);t.fire(u,new ol(e,s,d)),u.stop.called&&n.stop()})),c.isBlink&&function(e){const t=e.view,o=t.document;let n=null,i=!1;function r(e){return e==Ai.backspace||e==Ai.delete}function s(e){return e==Ai.backspace?Zw:Jw}o.on("keydown",((e,{keyCode:t})=>{n=t,i=!1})),o.on("keyup",((a,{keyCode:l,domEvent:c})=>{const d=o.selection,u=e.isEnabled&&l==n&&r(l)&&!d.isCollapsed&&!i;if(n=null,u){const e=d.getFirstRange(),n=new Zs(o,"delete",e),i={unit:Kw,direction:s(l),selectionToRemove:d};o.fire(n,new ol(t,c,i))}})),o.on("beforeinput",((e,{inputType:t})=>{const o=Yw[t];r(n)&&o&&o.direction==s(n)&&(i=!0)}),{priority:"high"}),o.on("beforeinput",((e,{inputType:t,data:o})=>{n==Ai.delete&&"insertText"==t&&""==o&&e.stop()}),{priority:"high"})}(this)}observe(){}stopObserving(){}}class Xw extends br{static get pluginName(){return"Delete"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,o=t.document,n=e.model.document;t.addObserver(Qw),this._undoOnBackspace=!1;const i=new Ww(e,"forward");e.commands.add("deleteForward",i),e.commands.add("forwardDelete",i),e.commands.add("delete",new Ww(e,"backward")),this.listenTo(o,"delete",((n,i)=>{o.isComposing||i.preventDefault();const{direction:r,sequence:s,selectionToRemove:a,unit:l}=i,c="forward"===r?"deleteForward":"delete",d={sequence:s};if("selection"==l){const t=Array.from(a.getRanges()).map((t=>e.editing.mapper.toModelRange(t)));d.selection=e.model.createSelection(t)}else d.unit=l;e.execute(c,d),t.scrollToTheSelection()}),{priority:"low"}),this.listenTo(o,"keydown",((t,i)=>{if(o.isComposing||i.keyCode!=Ai.backspace||!n.selection.isCollapsed)return;const r=e.model.schema.getLimitElement(n.selection);e.model.createPositionAt(r,0).isTouching(n.selection.getFirstPosition())&&i.preventDefault()})),this.editor.plugins.has("UndoEditing")&&(this.listenTo(o,"delete",((t,o)=>{this._undoOnBackspace&&"backward"==o.direction&&1==o.sequence&&"codePoint"==o.unit&&(this._undoOnBackspace=!1,e.execute("undo"),o.preventDefault(),t.stop())}),{context:"$capture"}),this.listenTo(n,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class e_ extends br{static get requires(){return[jw,Xw]}static get pluginName(){return"Typing"}static get isOfficialPlugin(){return!0}}function t_(e,t){let o=e.start;return{text:Array.from(e.getWalker({ignoreElementEnd:!1})).reduce(((e,{item:n})=>n.is("$text")||n.is("$textProxy")?e+n.data:(o=t.createPositionAfter(n),"")),""),range:t.createRange(o,e.end)}}class o_ extends(X()){constructor(e,t){super(),this.model=e,this.testCallback=t,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(e.document.selection),this.stopListening(e.document))})),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",((t,{directChange:o})=>{o&&(e.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1))})),this.listenTo(e,"change:data",((e,t)=>{!t.isUndo&&t.isLocal&&this._evaluateTextBeforeSelection("data",{batch:t})}))}_evaluateTextBeforeSelection(e,t={}){const o=this.model,n=o.document.selection,i=o.createRange(o.createPositionAt(n.focus.parent,0),n.focus),{text:r,range:s}=t_(i,o),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!a,a){const o=Object.assign(t,{text:r,range:s});"object"==typeof a&&Object.assign(o,a),this.fire(`matched:${e}`,o)}}}class n_ extends br{static get pluginName(){return"TwoStepCaretMovement"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this._isNextGravityRestorationSkipped=!1,this.attributes=new Set,this._overrideUid=null}init(){const e=this.editor,t=e.model,o=e.editing.view,n=e.locale,i=t.document.selection;this.listenTo(o.document,"arrowKey",((e,t)=>{if(!i.isCollapsed)return;if(t.shiftKey||t.altKey||t.ctrlKey)return;const o=t.keyCode==Ai.arrowright,r=t.keyCode==Ai.arrowleft;if(!o&&!r)return;const s=n.contentLanguageDirection;let a=!1;a="ltr"===s&&o||"rtl"===s&&r?this._handleForwardMovement(t):this._handleBackwardMovement(t),!0===a&&e.stop()}),{context:"$text",priority:"highest"}),this.listenTo(i,"change:range",((e,t)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!t.directChange&&c_(i.getFirstPosition(),this.attributes)||this._restoreGravity())})),this._enableClickingAfterNode(),this._enableInsertContentSelectionAttributesFixer(),this._handleDeleteContentAfterNode()}registerAttribute(e){this.attributes.add(e)}_handleForwardMovement(e){const t=this.attributes,o=this.editor.model,n=o.document.selection,i=n.getFirstPosition();return!this._isGravityOverridden&&((!i.isAtStart||!i_(n,t))&&(!!c_(i,t)&&(a_(e),i_(n,t)&&c_(i,t,!0)?s_(o,t):this._overrideGravity(),!0)))}_handleBackwardMovement(e){const t=this.attributes,o=this.editor.model,n=o.document.selection,i=n.getFirstPosition();return this._isGravityOverridden?(a_(e),this._restoreGravity(),c_(i,t,!0)?s_(o,t):r_(o,t,i),!0):i.isAtStart?!!i_(n,t)&&(a_(e),r_(o,t,i),!0):!i_(n,t)&&c_(i,t,!0)?(a_(e),r_(o,t,i),!0):!!l_(i,t)&&(i.isAtEnd&&!i_(n,t)&&c_(i,t)?(a_(e),r_(o,t,i),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1))}_enableClickingAfterNode(){const e=this.editor,t=e.model,o=t.document.selection,n=e.editing.view.document;e.editing.view.addObserver(eh),e.editing.view.addObserver(th);let i=!1,r=!1;this.listenTo(n,"touchstart",(()=>{r=!1,i=!0})),this.listenTo(n,"mousedown",(()=>{r=!0})),this.listenTo(n,"selectionChange",(()=>{const e=this.attributes;if(!r&&!i)return;if(r=!1,i=!1,!o.isCollapsed)return;if(!i_(o,e))return;const n=o.getFirstPosition();c_(n,e)&&(n.isAtStart||c_(n,e,!0)?s_(t,e):this._isGravityOverridden||this._overrideGravity())}))}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection,o=this.attributes;this.listenTo(e,"insertContent",(()=>{const n=t.getFirstPosition();i_(t,o)&&c_(n,o)&&s_(e,o)}),{priority:"low"})}_handleDeleteContentAfterNode(){const e=this.editor,t=e.model,o=t.document.selection,n=e.editing.view;let i=!1,r=!1;this.listenTo(n.document,"delete",((e,t)=>{i="backward"===t.direction}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{if(!i)return;const e=o.getFirstPosition();r=i_(o,this.attributes)&&!l_(e,this.attributes)}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{i&&(i=!1,r||e.model.enqueueChange((()=>{const e=o.getFirstPosition();i_(o,this.attributes)&&c_(e,this.attributes)&&(e.isAtStart||c_(e,this.attributes,!0)?s_(t,this.attributes):this._isGravityOverridden||this._overrideGravity())})))}),{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((e=>e.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((e=>{e.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function i_(e,t){for(const o of t)if(e.hasAttribute(o))return!0;return!1}function r_(e,t,o){const n=o.nodeBefore;e.change((o=>{if(n){const t=[],i=e.schema.isObject(n)&&e.schema.isInline(n);for(const[o,r]of n.getAttributes())!e.schema.checkAttribute("$text",o)||i&&!1===e.schema.getAttributeProperties(o).copyFromObject||t.push([o,r]);o.setSelectionAttribute(t)}else o.removeSelectionAttribute(t)}))}function s_(e,t){e.change((e=>{e.removeSelectionAttribute(t)}))}function a_(e){e.preventDefault()}function l_(e,t){return c_(e.getShiftedBy(-1),t)}function c_(e,t,o=!1){const{nodeBefore:n,nodeAfter:i}=e;for(const e of t){const t=n?n.getAttribute(e):void 0,r=i?i.getAttribute(e):void 0;if((!o||void 0!==t&&void 0!==r)&&r!==t)return!0}return!1}d_('"'),d_("'"),d_("'"),d_('"'),d_('"'),d_("'");function d_(e){return new RegExp(`(^|\\s)(${e})([^${e}]*)(${e})$`)}function u_(e,t,o,n){return n.createRange(h_(e,t,o,!0,n),h_(e,t,o,!1,n))}function h_(e,t,o,n,i){let r=e.textNode||(n?e.nodeBefore:e.nodeAfter),s=null;for(;r&&r.getAttribute(t)==o;)s=r,r=n?r.previousSibling:r.nextSibling;return s?i.createPositionAt(s,n?"before":"after"):e}function p_(e,t,o,n){const i=e.editing.view,r=new Set;i.document.registerPostFixer((i=>{const s=e.model.document.selection;let a=!1;if(s.hasAttribute(t)){const l=u_(s.getFirstPosition(),t,s.getAttribute(t),e.model),c=e.editing.mapper.toViewRange(l);for(const e of c.getItems())e.is("element",o)&&!e.hasClass(n)&&(i.addClass(n,e),r.add(e),a=!0)}return a})),e.conversion.for("editingDowncast").add((e=>{function t(){i.change((e=>{for(const t of r.values())e.removeClass(n,t),r.delete(t)}))}e.on("insert",t,{priority:"highest"}),e.on("remove",t,{priority:"highest"}),e.on("attribute",t,{priority:"highest"}),e.on("selection",t,{priority:"highest"})}))}function*m_(e,t){for(const o of t)o&&e.getAttributeProperties(o[0]).copyOnEnter&&(yield o)}class g_ extends wr{execute(){this.editor.model.change((e=>{this.enterBlock(e),this.fire("afterExecute",{writer:e})}))}enterBlock(e){const t=this.editor.model,o=t.document.selection,n=t.schema,i=o.isCollapsed,r=o.getFirstRange(),s=r.start.parent,a=r.end.parent;if(n.isLimit(s)||n.isLimit(a))return i||s!=a||t.deleteContent(o),!1;if(i){const t=m_(e.model.schema,o.getAttributes());return f_(e,r.start),e.setSelectionAttribute(t),!0}{const n=!(r.start.isAtStart&&r.end.isAtEnd),i=s==a;if(t.deleteContent(o,{leaveUnmerged:n}),n){if(i)return f_(e,o.focus),!0;e.setSelection(a,0)}}return!1}}function f_(e,t){e.split(t),e.setSelection(t.parent.nextSibling,0)}const b_={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class k_ extends Xa{constructor(e){super(e);const t=this.document;let o=!1;t.on("keydown",((e,t)=>{o=t.shiftKey})),t.on("beforeinput",((n,i)=>{if(!this.isEnabled)return;let r=i.inputType;c.isSafari&&o&&"insertParagraph"==r&&(r="insertLineBreak");const s=i.domEvent,a=b_[r];if(!a)return;const l=new Zs(t,"enter",i.targetRanges[0]);t.fire(l,new ol(e,s,{isSoft:a.isSoft})),l.stop.called&&n.stop()}))}observe(){}stopObserving(){}}class w_ extends br{static get pluginName(){return"Enter"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,o=t.document,n=this.editor.t;t.addObserver(k_),e.commands.add("enter",new g_(e)),this.listenTo(o,"enter",((n,i)=>{o.isComposing||i.preventDefault(),i.isSoft||(e.execute("enter"),t.scrollToTheSelection())}),{priority:"low"}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:n("Insert a hard break (a new paragraph)"),keystroke:"Enter"}]})}}class __ extends wr{execute(){const e=this.editor.model,t=e.document;e.change((o=>{!function(e,t,o){const n=o.isCollapsed,i=o.getFirstRange(),r=i.start.parent,s=i.end.parent,a=r==s;if(n){const n=m_(e.schema,o.getAttributes());y_(e,t,i.end),t.removeSelectionAttribute(o.getAttributeKeys()),t.setSelectionAttribute(n)}else{const n=!(i.start.isAtStart&&i.end.isAtEnd);e.deleteContent(o,{leaveUnmerged:n}),a?y_(e,t,o.focus):n&&t.setSelection(s,0)}}(e,o,t.selection),this.fire("afterExecute",{writer:o})}))}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=function(e,t){if(t.rangeCount>1)return!1;const o=t.anchor;if(!o||!e.checkChild(o,"softBreak"))return!1;const n=t.getFirstRange(),i=n.start.parent,r=n.end.parent;if((A_(i,e)||A_(r,e))&&i!==r)return!1;return!0}(e.schema,t.selection)}}function y_(e,t,o){const n=t.createElement("softBreak");e.insertContent(n,o),t.setSelection(n,"after")}function A_(e,t){return!e.is("rootElement")&&(t.isLimit(e)||A_(e.parent,t))}class C_ extends br{static get pluginName(){return"ShiftEnter"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model.schema,o=e.conversion,n=e.editing.view,i=n.document,r=this.editor.t;t.register("softBreak",{allowWhere:"$text",isInline:!0}),o.for("upcast").elementToElement({model:"softBreak",view:"br"}),o.for("downcast").elementToElement({model:"softBreak",view:(e,{writer:t})=>t.createEmptyElement("br")}),n.addObserver(k_),e.commands.add("shiftEnter",new __(e)),this.listenTo(i,"enter",((t,o)=>{i.isComposing||o.preventDefault(),o.isSoft&&(e.execute("shiftEnter"),n.scrollToTheSelection())}),{priority:"low"}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:r("Insert a soft break (a <br> element)"),keystroke:"Shift+Enter"}]})}}var v_=i(6779),x_={attributes:{"data-cke":!0}};x_.setAttributes=Xr(),x_.insert=Yr().bind(null,"head"),x_.domAPI=Zr(),x_.insertStyleElement=ts();Gr()(v_.A,x_);v_.A&&v_.A.locals&&v_.A.locals;const E_=["before","after"],D_=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,B_="ck-widget__type-around_disabled";class S_ extends br{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get isOfficialPlugin(){return!0}static get requires(){return[w_,Xw]}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",((o,n,i)=>{t.change((e=>{for(const o of t.document.roots)i?e.removeClass(B_,o):e.addClass(B_,o)})),i||e.model.change((e=>{e.removeSelectionAttribute(mw)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const o=this.editor,n=o.editing.view,i=o.model.schema.getAttributesWithProperty(e,"copyOnReplace",!0);o.execute("insertParagraph",{position:o.model.createPositionAt(e,t),attributes:i}),n.focus(),n.scrollToTheSelection()}_listenToIfEnabled(e,t,o,n){this.listenTo(e,t,((...e)=>{this.isEnabled&&o(...e)}),n)}_insertParagraphAccordingToFakeCaretPosition(){const e=this.editor.model.document.selection,t=fw(e);if(!t)return!1;const o=e.getSelectedElement();return this._insertParagraph(o,t),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,o=e.locale.t,n={before:o("Insert paragraph before block"),after:o("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",((e,i,r)=>{const s=r.mapper.toViewElement(i.item);if(s&&gw(s,i.item,t)){!function(e,t,o){const n=e.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(e){const o=this.toDomElement(e);return function(e,t){for(const o of E_){const n=new pp({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${o}`],title:t[o],"aria-hidden":"true"},children:[e.ownerDocument.importNode(D_,!0)]});e.appendChild(n.render())}}(o,t),function(e){const t=new pp({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});e.appendChild(t.render())}(o),o}));e.insert(e.createPositionAt(o,"end"),n)}(r.writer,n,s);s.getCustomProperty("widgetLabel").push((()=>this.isEnabled?o("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,o=t.document.selection,n=t.schema,i=e.editing.view;function r(e){return`ck-widget_type-around_show-fake-caret_${e}`}this._listenToIfEnabled(i.document,"arrowKey",((e,t)=>{this._handleArrowKeyPress(e,t)}),{context:[ww,"$text"],priority:"high"}),this._listenToIfEnabled(o,"change:range",((t,o)=>{o.directChange&&e.model.change((e=>{e.removeSelectionAttribute(mw)}))})),this._listenToIfEnabled(t.document,"change:data",(()=>{const t=o.getSelectedElement();if(t){if(gw(e.editing.mapper.toViewElement(t),t,n))return}e.model.change((e=>{e.removeSelectionAttribute(mw)}))})),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",((e,t,o)=>{const i=o.writer;if(this._currentFakeCaretModelElement){const e=o.mapper.toViewElement(this._currentFakeCaretModelElement);e&&(i.removeClass(E_.map(r),e),this._currentFakeCaretModelElement=null)}const s=t.selection.getSelectedElement();if(!s)return;const a=o.mapper.toViewElement(s);if(!gw(a,s,n))return;const l=fw(t.selection);l&&(i.addClass(r(l),a),this._currentFakeCaretModelElement=s)})),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",((t,o,n)=>{n||e.model.change((e=>{e.removeSelectionAttribute(mw)}))}))}_handleArrowKeyPress(e,t){const o=this.editor,n=o.model,i=n.document.selection,r=n.schema,s=o.editing.view,a=function(e,t){const o=Di(e,t);return"down"===o||"right"===o}(t.keyCode,o.locale.contentLanguageDirection),l=s.document.selection.getSelectedElement();let c;gw(l,o.editing.mapper.toModelElement(l),r)?c=this._handleArrowKeyPressOnSelectedWidget(a):i.isCollapsed?c=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):t.shiftKey||(c=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),c&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const t=this.editor.model,o=fw(t.document.selection);return t.change((t=>{if(!o)return t.setSelectionAttribute(mw,e?"after":"before"),!0;if(!(o===(e?"after":"before")))return t.removeSelectionAttribute(mw),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,o=t.model,n=o.schema,i=t.plugins.get("Widget"),r=i._getObjectElementNextToSelection(e);return!!gw(t.editing.mapper.toViewElement(r),r,n)&&(o.change((t=>{i._setSelectionOverElement(r),t.setSelectionAttribute(mw,e?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,o=t.model,n=o.schema,i=t.editing.mapper,r=o.document.selection,s=e?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;return!!gw(i.toViewElement(s),s,n)&&(o.change((t=>{t.setSelection(s,"on"),t.setSelectionAttribute(mw,e?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",((o,n)=>{const i=n.domTarget.closest(".ck-widget__type-around__button");if(!i)return;const r=function(e){return e.classList.contains("ck-widget__type-around__button_before")?"before":"after"}(i),s=function(e,t){const o=e.closest(".ck-widget");return t.mapDomToView(o)}(i,t.domConverter),a=e.editing.mapper.toModelElement(s);this._insertParagraph(a,r),n.preventDefault(),o.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,o=e.editing.view;this._listenToIfEnabled(o.document,"enter",((o,n)=>{if("atTarget"!=o.eventPhase)return;const i=t.getSelectedElement(),r=e.editing.mapper.toViewElement(i),s=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:gw(r,i,s)&&(this._insertParagraph(i,n.isSoft?"before":"after"),a=!0),a&&(n.preventDefault(),o.stop())}),{context:ww})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",((t,o)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(o.selection=e.selection)}),{priority:"high"}),c.isAndroid?this._listenToIfEnabled(e,"keydown",((e,t)=>{229==t.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()})):this._listenToIfEnabled(e,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,o=e.model,n=o.schema;this._listenToIfEnabled(t.document,"delete",((t,i)=>{if("atTarget"!=t.eventPhase)return;const r=fw(o.document.selection);if(!r)return;const s=i.direction,a=o.document.selection.getSelectedElement(),l="forward"==s;if("before"===r===l)e.execute("delete",{selection:o.createSelection(a,"on")});else{const t=n.getNearestSelectionRange(o.createPositionAt(a,r),s);if(t)if(t.isCollapsed){const i=o.createSelection(t.start);if(o.modifySelection(i,{direction:s}),i.focus.isEqual(t.start)){const e=function(e,t){let o=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||e.isLimit(n))break;o=n}return o}(n,t.start.parent);o.deleteContent(o.createSelection(e,"on"),{doNotAutoparagraph:!0})}else o.change((o=>{o.setSelection(t),e.execute(l?"deleteForward":"delete")}))}else o.change((o=>{o.setSelection(t),e.execute(l?"deleteForward":"delete")}))}i.preventDefault(),t.stop()}),{context:ww})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,o=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",((e,[n,i])=>{if(i&&!i.is("documentSelection"))return;const r=fw(o);return r?(e.stop(),t.change((e=>{const i=o.getSelectedElement(),s=t.createPositionAt(i,r),a=e.createSelection(s),l=t.insertContent(n,a);return e.setSelection(a),l}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"insertObject",((e,o)=>{const[,n,i={}]=o;if(n&&!n.is("documentSelection"))return;const r=fw(t);r&&(i.findOptimalPosition=r,o[3]=i)}),{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",((e,[o])=>{if(o&&!o.is("documentSelection"))return;fw(t)&&e.stop()}),{priority:"high"})}}function T_(e){const t=e.model;return(o,n)=>{const i=n.keyCode==Ai.arrowup,r=n.keyCode==Ai.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const l=r;if(s&&function(e,t){return!e.isCollapsed&&e.isBackward==t}(a,l))return;const c=function(e,t,o){const n=e.model;if(o){const e=t.isCollapsed?t.focus:t.getLastPosition(),o=I_(n,e,"forward");if(!o)return null;const i=n.createRange(e,o),r=P_(n.schema,i,"backward");return r?n.createRange(e,r):null}{const e=t.isCollapsed?t.focus:t.getFirstPosition(),o=I_(n,e,"backward");if(!o)return null;const i=n.createRange(o,e),r=P_(n.schema,i,"forward");return r?n.createRange(r,e):null}}(e,a,l);if(c){if(c.isCollapsed){if(a.isCollapsed)return;if(s)return}(c.isCollapsed||function(e,t,o){const n=e.model,i=e.view.domConverter;if(o){const e=n.createSelection(t.start);n.modifySelection(e),e.focus.isAtEnd||t.start.isEqual(e.focus)||(t=n.createRange(e.focus,t.end))}const r=e.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=Gn.getDomRangeRects(s);let l;for(const e of a)if(void 0!==l){if(Math.round(e.top)>=l)return!1;l=Math.max(l,Math.round(e.bottom))}else l=Math.round(e.bottom);return!0}(e,c,l))&&(t.change((e=>{const o=l?c.end:c.start;if(s){const n=t.createSelection(a.anchor);n.setFocus(o),e.setSelection(n)}else e.setSelection(o)})),o.stop(),n.preventDefault(),n.stopPropagation())}}}function I_(e,t,o){const n=e.schema,i=e.createRangeIn(t.root),r="forward"==o?"elementStart":"elementEnd";for(const{previousPosition:e,item:s,type:a}of i.getWalker({startPosition:t,direction:o})){if(n.isLimit(s)&&!n.isInline(s))return e;if(a==r&&n.isBlock(s))return null}return null}function P_(e,t,o){const n="backward"==o?t.end:t.start;if(e.checkChild(n,"$text"))return n;for(const{nextPosition:n}of t.getWalker({direction:o}))if(e.checkChild(n,"$text"))return n;return null}var F_=i(1216),R_={attributes:{"data-cke":!0}};R_.setAttributes=Xr(),R_.insert=Yr().bind(null,"head"),R_.domAPI=Zr(),R_.insertStyleElement=ts();Gr()(F_.A,R_);F_.A&&F_.A.locals&&F_.A.locals;class M_ extends br{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get isOfficialPlugin(){return!0}static get requires(){return[S_,Xw]}init(){const e=this.editor,t=e.editing.view,o=t.document,n=e.t;this.editor.editing.downcastDispatcher.on("selection",((t,o,n)=>{const i=n.writer,r=o.selection;if(r.isCollapsed)return;const s=r.getSelectedElement();if(!s)return;const a=e.editing.mapper.toViewElement(s);var l;ww(a)&&(n.consumable.consume(r,"selection")&&i.setSelection(i.createRangeOn(a),{fake:!0,label:(l=a,l.getCustomProperty("widgetLabel").reduce(((e,t)=>"function"==typeof t?e?e+". "+t():t():e?e+". "+t:t),""))}))})),this.editor.editing.downcastDispatcher.on("selection",((e,t,o)=>{this._clearPreviouslySelectedWidgets(o.writer);const n=o.writer,i=n.document.selection;let r=null;for(const e of i.getRanges())for(const t of e){const e=t.item;ww(e)&&!z_(e,r)&&(n.addClass(kw,e),this._previouslySelected.add(e),r=e)}}),{priority:"low"}),t.addObserver(eh),this.listenTo(o,"mousedown",((...e)=>this._onMousedown(...e))),this.listenTo(o,"arrowKey",((...e)=>{this._handleSelectionChangeOnArrowKeyPress(...e)}),{context:[ww,"$text"]}),this.listenTo(o,"arrowKey",((...e)=>{this._preventDefaultOnArrowKeyPress(...e)}),{context:"$root"}),this.listenTo(o,"arrowKey",T_(this.editor.editing),{context:"$text"}),this.listenTo(o,"delete",((e,t)=>{this._handleDelete("forward"==t.direction)&&(t.preventDefault(),e.stop())}),{context:"$root"}),this.listenTo(o,"tab",((e,t)=>{"atTarget"==e.eventPhase&&(t.shiftKey||this._selectFirstNestedEditable()&&(t.preventDefault(),e.stop()))}),{context:ww,priority:"low"}),this.listenTo(o,"tab",((e,t)=>{t.shiftKey&&this._selectAncestorWidget()&&(t.preventDefault(),e.stop())}),{priority:"low"}),this.listenTo(o,"keydown",((e,t)=>{t.keystroke==Ai.esc&&this._selectAncestorWidget()&&(t.preventDefault(),e.stop())}),{priority:"low"}),e.accessibility.addKeystrokeInfoGroup({id:"widget",label:n("Keystrokes that can be used when a widget is selected (for example: image, table, etc.)"),keystrokes:[{label:n("Move focus from an editable area back to the parent widget"),keystroke:"Esc"},{label:n("Insert a new paragraph directly after a widget"),keystroke:"Enter"},{label:n("Insert a new paragraph directly before a widget"),keystroke:"Shift+Enter"},{label:n("Move the caret to allow typing directly before a widget"),keystroke:[["arrowup"],["arrowleft"]]},{label:n("Move the caret to allow typing directly after a widget"),keystroke:[["arrowdown"],["arrowright"]]}]})}_onMousedown(e,t){const o=this.editor,n=o.editing.view,i=n.document;let r=t.target;if(!r)return;if(t.domEvent.detail>=3)return void(this._selectBlockContent(r)&&t.preventDefault());if(!ww(r)){const e=function(e){let t=e;for(;t;){if(t.is("editableElement")||ww(t))return t;t=t.parent}return null}(r);if(!e)return;if(ww(e))r=e;else{const e=function(e,t){const o=jn(t.domEvent);let n=null;n=o?e.domConverter.domRangeToView(o):e.createRange(e.createPositionAt(t.target,0));if(!n)return null;const i=n.start;if(!i.parent)return null;let r=i.parent;i.parent.is("editableElement")&&(i.isAtEnd&&i.nodeBefore?r=i.nodeBefore:i.isAtStart&&i.nodeAfter&&(r=i.nodeAfter));if(r.is("$text"))return r.parent;return r}(n,t);if(!e||!ww(e))return;r=e}}c.isAndroid&&t.preventDefault(),i.isFocused||n.focus();const s=o.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_selectBlockContent(e){const t=this.editor,o=t.model,n=t.editing.mapper,i=o.schema,r=n.findMappedViewAncestor(this.editor.editing.view.createPositionAt(e,0)),s=function(e,t){for(const o of e.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(o,"$text"))return o;if(t.isLimit(o)&&!t.isObject(o))break}return null}(n.toModelElement(r),o.schema);return!!s&&(o.change((e=>{const t=i.isLimit(s)?null:function(e,t){const o=new ec({startPosition:e});for(const{item:e}of o){if(t.isLimit(e)||!e.is("element"))return null;if(t.checkChild(e,"$text"))return e}return null}(e.createPositionAfter(s),i),o=e.createPositionAt(s,0),n=t?e.createPositionAt(t,0):e.createPositionAt(s,"end");e.setSelection(e.createRange(o,n))})),!0)}_handleSelectionChangeOnArrowKeyPress(e,t){const o=t.keyCode,n=this.editor.model,i=n.schema,r=n.document.selection,s=r.getSelectedElement(),a=Di(o,this.editor.locale.contentLanguageDirection),l="down"==a||"right"==a,c="up"==a||"down"==a;if(s&&i.isObject(s)){const o=l?r.getLastPosition():r.getFirstPosition(),s=i.getNearestSelectionRange(o,l?"forward":"backward");return void(s&&(n.change((e=>{e.setSelection(s)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed&&!t.shiftKey){const o=r.getFirstPosition(),s=r.getLastPosition(),a=o.nodeAfter,c=s.nodeBefore;return void((a&&i.isObject(a)||c&&i.isObject(c))&&(n.change((e=>{e.setSelection(l?s:o)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed)return;const d=this._getObjectElementNextToSelection(l);if(d&&i.isObject(d)){if(i.isInline(d)&&c)return;this._setSelectionOverElement(d),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const o=this.editor.model,n=o.schema,i=o.document.selection.getSelectedElement();i&&n.isObject(i)&&(t.preventDefault(),e.stop())}_handleDelete(e){const t=this.editor.model.document.selection;if(!this.editor.model.canEditAt(t))return;if(!t.isCollapsed)return;const o=this._getObjectElementNextToSelection(e);return o?(this.editor.model.change((e=>{let n=t.anchor.parent;for(;n.isEmpty;){const t=n;n=t.parent,e.remove(t)}this._setSelectionOverElement(o)})),!0):void 0}_setSelectionOverElement(e){this.editor.model.change((t=>{t.setSelection(t.createRangeOn(e))}))}_getObjectElementNextToSelection(e){const t=this.editor.model,o=t.schema,n=t.document.selection,i=t.createSelection(n);if(t.modifySelection(i,{direction:e?"forward":"backward"}),i.isEqual(n))return null;const r=e?i.focus.nodeBefore:i.focus.nodeAfter;return r&&o.isObject(r)?r:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(kw,t);this._previouslySelected.clear()}_selectFirstNestedEditable(){const e=this.editor,t=this.editor.editing.view.document;for(const o of t.selection.getFirstRange().getItems())if(o.is("editableElement")){const t=e.editing.mapper.toModelElement(o);if(!t)continue;const n=e.model.createPositionAt(t,0),i=e.model.schema.getNearestSelectionRange(n,"forward");return e.model.change((e=>{e.setSelection(i)})),!0}return!1}_selectAncestorWidget(){const e=this.editor,t=e.editing.mapper,o=e.editing.view.document.selection.getFirstPosition().parent,n=(o.is("$text")?o.parent:o).findAncestor(ww);if(!n)return!1;const i=t.toModelElement(n);return!!i&&(e.model.change((e=>{e.setSelection(i,"on")})),!0)}}function z_(e,t){return!!t&&Array.from(e.getAncestors()).includes(t)}class O_ extends br{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[kk]}static get pluginName(){return"WidgetToolbarRepository"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",(t=>{(function(e){const t=e.getSelectedElement();return!(!t||!ww(t))})(e.editing.view.document.selection)&&t.stop()}),{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:o,getRelatedElement:n,balloonClassName:i="ck-toolbar-container"}){if(!o.length)return void T("widget-toolbar-no-items",{toolbarId:e});const r=this.editor,s=r.t,a=new af(r.locale);if(a.ariaLabel=t||s("Widget toolbar"),this._toolbarDefinitions.has(e))throw new S("widget-toolbar-duplicated",this,{toolbarId:e});const l={view:a,getRelatedElement:n,balloonClassName:i,itemsConfig:o,initialized:!1};r.ui.addToolbar(a,{isContextual:!0,beforeFocus:()=>{const e=n(r.editing.view.document.selection);e&&this._showToolbar(l,e)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(e,l)}_updateToolbarsVisibility(){let e=0,t=null,o=null;for(const n of this._toolbarDefinitions.values()){const i=n.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&i)if(this.editor.ui.focusTracker.isFocused){const r=i.getAncestors().length;r>e&&(e=r,t=i,o=n)}else this._isToolbarVisible(n)&&this._hideToolbar(n);else this._isToolbarInBalloon(n)&&this._hideToolbar(n)}o&&this._showToolbar(o,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?N_(this.editor,t):this._isToolbarInBalloon(e)||(e.initialized||(e.initialized=!0,e.view.fillFromConfig(e.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:e.view,position:V_(this.editor,t),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const e of this._toolbarDefinitions.values())if(this._isToolbarVisible(e)){const t=e.getRelatedElement(this.editor.editing.view.document.selection);N_(this.editor,t)}})))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function N_(e,t){const o=e.plugins.get("ContextualBalloon"),n=V_(e,t);o.updatePosition(n)}function V_(e,t){const o=e.editing.view,n=Wg.defaultPositions;return{target:o.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class L_ extends(X()){constructor(e){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=e,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(e,t,o){const n=new Gn(t);this.activeHandlePosition=function(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const o of t)if(e.classList.contains(H_(o)))return o}(e),this._referenceCoordinates=function(e,t){const o=new Gn(e),n=t.split("-"),i={x:"right"==n[1]?o.right:o.left,y:"bottom"==n[0]?o.bottom:o.top};return i.x+=e.ownerDocument.defaultView.scrollX,i.y+=e.ownerDocument.defaultView.scrollY,i}(t,function(e){const t=e.split("-"),o={top:"bottom",bottom:"top",left:"right",right:"left"};return`${o[t[0]]}-${o[t[1]]}`}(this.activeHandlePosition)),this._originalWidth=n.width,this._originalHeight=n.height,this._aspectRatio=n.width/n.height;const i=o.style.width;i&&i.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(i):this._originalWidthPercents=function(e,t=new Gn(e)){const o=Dw(e);return o?t.width/o*100:0}(o,n)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}function H_(e){return`ck-widget__resizer__handle-${e}`}class j_ extends zp{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",(e=>e?`ck-orientation-${e}`:""))],style:{display:e.if("_isVisible","none",(e=>!e))}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",((e,t)=>null!==e&&null!==t)),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",((t,o,n)=>"px"===e.unit?`${t}×${o}`:`${n}%`)),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",((e,t,o)=>t<50||o<50?"above-center":e))}_dismiss(){this.unbind(),this._isVisible=!1}}class q_ extends(X()){constructor(e){super(),this._viewResizerWrapper=null,this._options=e,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((e,t)=>e&&t)),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(e=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),e.stop())}),{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change((e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){this._options.editor.editing.view.change((e=>{e.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change((o=>{const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(t){const o=this.toDomElement(t);return e._appendHandles(o),e._appendSizeUI(o),o}));o.insert(o.createPositionAt(t,"end"),n),o.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=n,this.isVisible||this.hide()})),this.on("change:isVisible",(()=>{this.isVisible?(this.show(),this.redraw()):this.hide()}))}begin(e){this._state=new L_(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change((e=>{const o=this._options.unit||"%",n=("%"===o?t.widthPercents:t.width)+o;e.setStyle("width",n,this._options.viewElement)}));const o=this._getHandleHost(),n=new Gn(o),i=Math.round(n.width),r=Math.round(n.height),s=new Gn(o);t.width=Math.round(s.width),t.height=Math.round(s.height),this.redraw(n),this.state.update({...t,handleHostWidth:i,handleHostHeight:r})}commit(){const e=this._options.unit||"%",t=("%"===e?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(t)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!((o=t)&&o.ownerDocument&&o.ownerDocument.contains(o)))return;var o;const n=t.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const t=e||new Gn(i);a=[t.width+"px",t.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];"same"!==se(s,a)&&this._options.editor.editing.view.change((e=>{e.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(e){const t=this.state,o={x:(n=e).pageX,y:n.pageY};var n;const i=!this._options.isCentered||this._options.isCentered(this),r={x:t._referenceCoordinates.x-(o.x+t.originalWidth),y:o.y-t.originalHeight-t._referenceCoordinates.y};i&&t.activeHandlePosition.endsWith("-right")&&(r.x=o.x-(t._referenceCoordinates.x+t.originalWidth)),i&&(r.x*=2);let s=Math.abs(t.originalWidth+r.x),a=Math.abs(t.originalHeight+r.y);return"width"==(s/t.aspectRatio>a?"width":"height")?a=s/t.aspectRatio:s=a*t.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*s*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const n of t)e.appendChild(new pp({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(o=n,`ck-widget__resizer__handle-${o}`)}}).render());var o}_appendSizeUI(e){this._sizeView=new j_,this._sizeView.render(),e.appendChild(this._sizeView.element)}}var $_=i(2060),U_={attributes:{"data-cke":!0}};U_.setAttributes=Xr(),U_.insert=Yr().bind(null,"head"),U_.domAPI=Zr(),U_.insertStyleElement=ts();Gr()($_.A,U_);$_.A&&$_.A.locals&&$_.A.locals;class W_ extends br{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.editing,t=s.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),e.view.addObserver(eh),this._observer=new(On()),this.listenTo(e.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(t,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(t,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=Hh((()=>this.redrawSelectedResizer()),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[e,t]of this._resizers)e.isAttached()||(this._resizers.delete(e),t.destroy())}),{priority:"lowest"}),this._observer.listenTo(s.window,"resize",this._redrawSelectedResizerThrottled);const o=this.editor.editing.view.document.selection;o.on("change",(()=>{const e=o.getSelectedElement(),t=this.getResizerByViewElement(e)||null;t?this.select(t):this.deselect()}))}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawSelectedResizerThrottled.cancel()}select(e){this.deselect(),this.selectedResizer=e,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(e){const t=new q_(e),o=this.editor.plugins;if(t.attach(),o.has("WidgetToolbarRepository")){const e=o.get("WidgetToolbarRepository");t.on("begin",(()=>{e.forceDisabled("resize")}),{priority:"lowest"}),t.on("cancel",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"}),t.on("commit",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(e.viewElement,t);const n=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(n)==t&&this.select(t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const o=t.domTarget;q_.isResizeHandle(o)&&(this._activeResizer=this._getResizerByHandle(o)||null,this._activeResizer&&(this._activeResizer.begin(o),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}function G_(e,t,o){e.ui.componentFactory.add(t,(t=>{const n=new Kp(t);return n.set({label:I18n.t("js.button_edit"),icon:'\n',tooltip:!0}),n.on("execute",(()=>{const t=e.model.document.selection.getSelectedElement();t&&o(t)})),n}))}const K_="ck-toolbar-container";function Z_(e,t,o,n){const i=t.config.get(o+".toolbar");if(!i||!i.length)return;const r=t.plugins.get("ContextualBalloon"),s=new af(t.locale);function a(){t.ui.focusTracker.isFocused&&n(t.editing.view.document.selection)?c()?function(e,t){const o=e.plugins.get("ContextualBalloon");if(t(e.editing.view.document.selection)){const t=J_(e);o.updatePosition(t)}}(t,n):r.hasView(s)||r.add({view:s,position:J_(t),balloonClassName:K_}):l()}function l(){c()&&r.remove(s)}function c(){return r.visibleView==s}s.fillFromConfig(i,t.ui.componentFactory),e.listenTo(t.editing.view,"render",a),e.listenTo(t.ui.focusTracker,"change:isFocused",a,{priority:"low"})}function J_(e){const t=e.editing.view,o=Wg.defaultPositions;return{target:t.domConverter.viewToDom(t.document.selection.getSelectedElement()),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast]}}class Y_ extends br{static get requires(){return[kk]}static get pluginName(){return"EmbeddedTableToolbar"}init(){const e=this.editor,t=this.editor.model,o=Pw(e);G_(e,"opEditEmbeddedTableQuery",(e=>{const n=o.services.externalQueryConfiguration,i=e.getAttribute("opEmbeddedTableQuery")||{};o.runInZone((()=>{n.show({currentQuery:i,callback:o=>t.change((t=>{t.setAttribute("opEmbeddedTableQuery",o,e)}))})}))}))}afterInit(){Z_(this,this.editor,"OPMacroEmbeddedTable",Tw)}}const Q_=Symbol("isWpButtonMacroSymbol");function X_(e){const t=e.getSelectedElement();return!(!t||!function(e){return!!e.getCustomProperty(Q_)&&ww(e)}(t))}class ey extends br{static get pluginName(){return"OPMacroWpButtonEditing"}static get buttonName(){return"insertWorkPackageButton"}init(){const e=this.editor,t=e.model,o=e.conversion,n=Pw(e);t.schema.register("op-macro-wp-button",{allowWhere:["$block"],allowAttributes:["type","classes"],isBlock:!0,isLimit:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"create_work_package_link"},model:(e,{writer:t})=>{const o=e.getAttribute("data-type")||"",n=e.getAttribute("data-classes")||"";return t.createElement("op-macro-wp-button",{type:o,classes:n})}}),o.for("editingDowncast").elementToElement({model:"op-macro-wp-button",view:(e,{writer:t})=>this.createMacroViewElement(e,t)}),o.for("dataDowncast").elementToElement({model:"op-macro-wp-button",view:(e,{writer:t})=>t.createContainerElement("macro",{class:"create_work_package_link","data-type":e.getAttribute("type")||"","data-classes":e.getAttribute("classes")||""})}),e.ui.componentFactory.add(ey.buttonName,(t=>{const o=new Kp(t);return o.set({label:window.I18n.t("js.editor.macro.work_package_button.button"),withText:!0}),o.on("execute",(()=>{n.services.macros.configureWorkPackageButton().then((t=>e.model.change((o=>{const n=o.createElement("op-macro-wp-button",{});o.setAttribute("type",t.type,n),o.setAttribute("classes",t.classes,n),e.model.insertContent(n,e.model.document.selection)}))))})),o}))}macroLabel(e){return e?window.I18n.t("js.editor.macro.work_package_button.with_type",{typename:e}):window.I18n.t("js.editor.macro.work_package_button.without_type")}createMacroViewElement(e,t){const o=e.getAttribute("classes")||"",n=this.macroLabel(),i=t.createText(n),r=t.createContainerElement("span",{class:o});return t.insert(t.createPositionAt(r,0),i),function(e,t,o){return t.setCustomProperty(Q_,!0,e),_w(e,t,{label:o})}(r,t,{label:n})}}class ty extends br{static get requires(){return[kk]}static get pluginName(){return"OPMacroWpButtonToolbar"}init(){const e=this.editor,t=Pw(e);G_(e,"opEditWpMacroButton",(o=>{const n=t.services.macros,i=o.getAttribute("type"),r=o.getAttribute("classes");n.configureWorkPackageButton(i,r).then((t=>e.model.change((e=>{e.setAttribute("classes",t.classes,o),e.setAttribute("type",t.type,o)}))))}))}afterInit(){Z_(this,this.editor,"OPMacroWpButton",X_)}}class oy extends(X()){constructor(){super();const e=new window.FileReader;this._reader=e,this._data=void 0,this.set("loaded",0),e.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(e){const t=this._reader;return this.total=e.size,new Promise(((o,n)=>{t.onload=()=>{const e=t.result;this._data=e,o(e)},t.onerror=()=>{n("error")},t.onabort=()=>{n("aborted")},this._reader.readAsDataURL(e)}))}abort(){this._reader.abort()}}class ny extends br{constructor(){super(...arguments),this.loaders=new tr,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get isOfficialPlugin(){return!0}static get requires(){return[dp]}init(){this.loaders.on("change",(()=>this._updatePendingAction())),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0))}getLoader(e){return this._loadersMap.get(e)||null}createLoader(e){if(!this.createUploadAdapter)return T("filerepository-no-upload-adapter"),null;const t=new iy(Promise.resolve(e),this.createUploadAdapter);return this.loaders.add(t),this._loadersMap.set(e,t),e instanceof Promise&&t.file.then((e=>{this._loadersMap.set(e,t)})).catch((()=>{})),t.on("change:uploaded",(()=>{let e=0;for(const t of this.loaders)e+=t.uploaded;this.uploaded=e})),t.on("change:uploadTotal",(()=>{let e=0;for(const t of this.loaders)t.uploadTotal&&(e+=t.uploadTotal);this.uploadTotal=e})),t}destroyLoader(e){const t=e instanceof iy?e:this.getLoader(e);t._destroy(),this.loaders.remove(t),this._loadersMap.forEach(((e,o)=>{e===t&&this._loadersMap.delete(o)}))}_updatePendingAction(){const e=this.editor.plugins.get(dp);if(this.loaders.length){if(!this._pendingAction){const t=this.editor.t,o=e=>`${t("Upload in progress")} ${parseInt(e)}%.`;this._pendingAction=e.add(o(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",o)}}else e.remove(this._pendingAction),this._pendingAction=null}}class iy extends(X()){constructor(e,t){super(),this.id=E(),this._filePromiseWrapper=this._createFilePromiseWrapper(e),this._adapter=t(this),this._reader=new oy,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((e=>this._filePromiseWrapper?e:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new S("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((e=>this._reader.read(e))).then((e=>{if("reading"!==this.status)throw this.status;return this.status="idle",e})).catch((e=>{if("aborted"===e)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:e}))}upload(){if("idle"!=this.status)throw new S("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((e=>(this.uploadResponse=e,this.status="idle",e))).catch((e=>{if("aborted"===this.status)throw"aborted";throw this.status="error",e}))}abort(){const e=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==e?this._reader.abort():"uploading"==e&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(e){const t={};return t.promise=new Promise(((o,n)=>{t.rejecter=n,t.isFulfilled=!1,e.then((e=>{t.isFulfilled=!0,o(e)})).catch((e=>{t.isFulfilled=!0,n(e)}))})),t}}class ry{constructor(e,t,o){this.loader=e,this.resource=t,this.editor=o}upload(){const e=this.resource,t=Fw(this.editor,"attachmentsResourceService");return e?this.loader.file.then((o=>t.attachFiles(e,[o]).toPromise().then((e=>(this.editor.model.fire("op:attachment-added",e),this.buildResponse(e[0])))).catch((e=>{console.error("Failed upload %O",e)})))):(console.warn("resource not available in this CKEditor instance"),Promise.reject("Not possible to upload attachments without resource"))}buildResponse(e){return{default:e._links.staticDownloadLocation.href}}abort(){return!1}}class sy extends nl{constructor(e){super(e),this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"];const t=this.document;function o(e){return(o,n)=>{n.preventDefault();const i=n.dropRange?[n.dropRange]:null,r=new v(t,e);t.fire(r,{dataTransfer:n.dataTransfer,method:o.name,targetRanges:i,target:n.target,domEvent:n.domEvent}),r.stop.called&&n.stopPropagation()}}this.listenTo(t,"paste",o("clipboardInput"),{priority:"low"}),this.listenTo(t,"drop",o("clipboardInput"),{priority:"low"}),this.listenTo(t,"dragover",o("dragging"),{priority:"low"})}onDomEvent(e){const t="clipboardData"in e?e.clipboardData:e.dataTransfer,o="drop"==e.type||"paste"==e.type,n={dataTransfer:new Ul(t,{cacheFiles:o})};if("drop"==e.type||"dragover"==e.type){const t=jn(e);n.dropRange=t&&this.view.domConverter.domRangeToView(t)}this.fire(e.type,e,n)}}const ay=["figcaption","li"],ly=["ol","ul"];function cy(e,t){if(t.is("$text")||t.is("$textProxy"))return t.data;if(t.is("element","img")&&t.hasAttribute("alt"))return t.getAttribute("alt");if(t.is("element","br"))return"\n";let o="",n=null;for(const i of t.getChildren())o+=uy(i,n)+cy(e,i),n=i;if(t.is("rawElement")){const n=document.createElement("div");t.render(n,e),o+=dy(n)}return o}function dy(e){let t="";if(e.nodeType===Node.TEXT_NODE)return e.textContent;if("BR"===e.tagName)return"\n";for(const o of e.childNodes)t+=dy(o);return t}function uy(e,t){return t?e.is("element","li")&&!e.isEmpty&&e.getChild(0).is("containerElement")||ly.includes(e.name)&&ly.includes(t.name)?"\n\n":e.is("containerElement")||t.is("containerElement")?ay.includes(e.name)||ay.includes(t.name)?"\n":e.is("element")&&e.getCustomProperty("dataPipeline:transparentRendering")||t.is("element")&&t.getCustomProperty("dataPipeline:transparentRendering")?"":"\n\n":"":""}const hy=function(e,t){return e&&Ii(e,t,go)};const py=function(e,t,o,n){var i=o.length,r=i,s=!n;if(null==e)return!r;for(e=Object(e);i--;){var a=o[i];if(s&&a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++ie.model.getSelectedContent(e.model.document.selection)){return this.editor.model.change((n=>{const i=n.model.document.selection;n.setSelection(t);const r=this._insertFakeMarkersIntoSelection(n,n.model.document.selection,e),s=o(n),a=this._removeFakeMarkersInsideElement(n,s);for(const[e,t]of Object.entries(r)){a[e]||(a[e]=n.createRangeIn(s));for(const e of t)n.remove(e)}s.markers.clear();for(const[e,t]of Object.entries(a))s.markers.set(e,t);return n.setSelection(i),s}))}_pasteMarkersIntoTransformedElement(e,t){const o=this._getPasteMarkersFromRangeMap(e);return this.editor.model.change((e=>{const n=this._insertFakeMarkersElements(e,o),i=t(e),r=this._removeFakeMarkersInsideElement(e,i);for(const t of Object.values(n).flat())e.remove(t);for(const[t,o]of Object.entries(r))e.model.markers.has(t)||e.addMarker(t,{usingOperation:!0,affectsData:!0,range:o});return i}))}_pasteFragmentWithMarkers(e){const t=this._getPasteMarkersFromRangeMap(e.markers);e.markers.clear();for(const o of t)e.markers.set(o.name,o.range);return this.editor.model.insertContent(e)}_forceMarkersCopy(e,t,o={allowedActions:"all",copyPartiallySelected:!0,duplicateOnPaste:!0}){const n=this._markersToCopy.get(e);this._markersToCopy.set(e,o),t(),n?this._markersToCopy.set(e,n):this._markersToCopy.delete(e)}_isMarkerCopyable(e,t){const o=this._getMarkerClipboardConfig(e);if(!o)return!1;if(!t)return!0;const{allowedActions:n}=o;return"all"===n||n.includes(t)}_hasMarkerConfiguration(e){return!!this._getMarkerClipboardConfig(e)}_getMarkerClipboardConfig(e){const[t]=e.split(":");return this._markersToCopy.get(t)||null}_insertFakeMarkersIntoSelection(e,t,o){const n=this._getCopyableMarkersFromSelection(e,t,o);return this._insertFakeMarkersElements(e,n)}_getCopyableMarkersFromSelection(e,t,o){const n=Array.from(t.getRanges()),i=new Set(n.flatMap((t=>Array.from(e.model.markers.getMarkersIntersectingRange(t)))));return Array.from(i).filter((e=>{if(!this._isMarkerCopyable(e.name,o))return!1;const{copyPartiallySelected:t}=this._getMarkerClipboardConfig(e.name);if(!t){const t=e.getRange();return n.some((e=>e.containsRange(t,!0)))}return!0})).map((e=>({name:"dragstart"===o?this._getUniqueMarkerName(e.name):e.name,range:e.getRange()})))}_getPasteMarkersFromRangeMap(e,t=null){const{model:o}=this.editor;return(e instanceof Map?Array.from(e.entries()):Object.entries(e)).flatMap((([e,n])=>{if(!this._hasMarkerConfiguration(e))return[{name:e,range:n}];if(this._isMarkerCopyable(e,t)){const t=this._getMarkerClipboardConfig(e),i=o.markers.has(e)&&"$graveyard"===o.markers.get(e).getRange().root.rootName;return(t.duplicateOnPaste||i)&&(e=this._getUniqueMarkerName(e)),[{name:e,range:n}]}return[]}))}_insertFakeMarkersElements(e,t){const o={},n=t.flatMap((e=>{const{start:t,end:o}=e.range;return[{position:t,marker:e,type:"start"},{position:o,marker:e,type:"end"}]})).sort((({position:e},{position:t})=>e.isBefore(t)?1:-1));for(const{position:t,marker:i,type:r}of n){const n=e.createElement("$marker",{"data-name":i.name,"data-type":r});o[i.name]||(o[i.name]=[]),o[i.name].push(n),e.insert(n,t)}return o}_removeFakeMarkersInsideElement(e,t){const o=this._getAllFakeMarkersFromElement(e,t).reduce(((t,o)=>{const n=o.markerElement&&e.createPositionBefore(o.markerElement);let i=t[o.name],r=!1;if(i&&i.start&&i.end){this._getMarkerClipboardConfig(o.name).duplicateOnPaste?t[this._getUniqueMarkerName(o.name)]=t[o.name]:r=!0,i=null}return r||(t[o.name]={...i,[o.type]:n}),o.markerElement&&e.remove(o.markerElement),t}),{});return Ey(o,(o=>new lc(o.start||e.createPositionFromPath(t,[0]),o.end||e.createPositionAt(t,"end"))))}_getAllFakeMarkersFromElement(e,t){const o=Array.from(e.createRangeIn(t)).flatMap((({item:e})=>{if(!e.is("element","$marker"))return[];const t=e.getAttribute("data-name"),o=e.getAttribute("data-type");return[{markerElement:e,name:t,type:o}]})),n=[],i=[];for(const e of o){if("end"===e.type){o.some((t=>t.name===e.name&&"start"===t.type))||n.push({markerElement:null,name:e.name,type:"start"})}if("start"===e.type){o.some((t=>t.name===e.name&&"end"===t.type))||i.unshift({markerElement:null,name:e.name,type:"end"})}}return[...n,...o,...i]}_getUniqueMarkerName(e){const t=e.split(":"),o=E().substring(1,6);return 3===t.length?`${t.slice(0,2).join(":")}:${o}`:`${t.join(":")}:${o}`}}class By extends br{static get pluginName(){return"ClipboardPipeline"}static get isOfficialPlugin(){return!0}static get requires(){return[Dy]}init(){this.editor.editing.view.addObserver(sy),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(e,t,o){const n=this.editor.plugins.get("ClipboardMarkersUtils");this.editor.model.enqueueChange({isUndoable:"cut"===o},(()=>{const i=n._copySelectedFragmentWithMarkers(o,t);this.fire("outputTransformation",{dataTransfer:e,content:i,method:o})}))}_setupPasteDrop(){const e=this.editor,t=e.model,o=e.editing.view,n=o.document,i=this.editor.plugins.get("ClipboardMarkersUtils");this.listenTo(n,"clipboardInput",((t,o)=>{"paste"!=o.method||e.model.canEditAt(e.model.document.selection)||t.stop()}),{priority:"highest"}),this.listenTo(n,"clipboardInput",((e,t)=>{const n=t.dataTransfer;let i;if(t.content)i=t.content;else{let e="";n.getData("text/html")?e=function(e){return e.replace(/(\s+)<\/span>/g,((e,t)=>1==t.length?" ":t)).replace(//g,"")}(n.getData("text/html")):n.getData("text/plain")&&(((r=(r=n.getData("text/plain")).replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/\t/g,"    ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||r.includes("
"))&&(r=`

${r}

`),e=r),i=this.editor.data.htmlProcessor.toView(e)}var r;const s=new v(this,"inputTransformation"),a=n.getData("application/ckeditor5-editor-id")||null;this.fire(s,{content:i,dataTransfer:n,sourceEditorId:a,targetRanges:t.targetRanges,method:t.method}),s.stop.called&&e.stop(),o.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((e,o)=>{if(o.content.isEmpty)return;const n=this.editor.data.toModel(o.content,"$clipboardHolder");0!=n.childCount&&(e.stop(),t.change((()=>{this.fire("contentInsertion",{content:n,method:o.method,sourceEditorId:o.sourceEditorId,dataTransfer:o.dataTransfer,targetRanges:o.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((e,t)=>{t.resultRange=i._pasteFragmentWithMarkers(t.content)}),{priority:"low"})}_setupCopyCut(){const e=this.editor,t=e.model.document,o=e.editing.view.document,n=(e,o)=>{const n=o.dataTransfer;o.preventDefault(),this._fireOutputTransformationEvent(n,t.selection,e.name)};this.listenTo(o,"copy",n,{priority:"low"}),this.listenTo(o,"cut",((t,o)=>{e.model.canEditAt(e.model.document.selection)?n(t,o):o.preventDefault()}),{priority:"low"}),this.listenTo(this,"outputTransformation",((t,n)=>{const i=e.data.toView(n.content,{isClipboardPipeline:!0});o.fire("clipboardOutput",{dataTransfer:n.dataTransfer,content:i,method:n.method})}),{priority:"low"}),this.listenTo(o,"clipboardOutput",((o,n)=>{n.content.isEmpty||(n.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(n.content)),n.dataTransfer.setData("text/plain",cy(e.data.htmlProcessor.domConverter,n.content)),n.dataTransfer.setData("application/ckeditor5-editor-id",this.editor.id)),"cut"==n.method&&e.model.deleteContent(t.selection)}),{priority:"low"})}}const Sy=ti("px");class Ty extends zp{constructor(){super();const e=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",e.if("isVisible","ck-hidden",(e=>!e))],style:{left:e.to("left",(e=>Sy(e))),top:e.to("top",(e=>Sy(e))),width:e.to("width",(e=>Sy(e)))}}})}}class Iy extends br{constructor(){super(...arguments),this.removeDropMarkerDelayed=dr((()=>this.removeDropMarker()),40),this._updateDropMarkerThrottled=Hh((e=>this._updateDropMarker(e)),40),this._reconvertMarkerThrottled=Hh((()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")}),0),this._dropTargetLineView=new Ty,this._domEmitter=new(On()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}static get isOfficialPlugin(){return!0}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:e}of this._scrollables.values())e.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(e,t,o,n,i,r){this.removeDropMarkerDelayed.cancel();const s=Py(this.editor,e,t,o,n,i,r);if(s)return r&&r.containsRange(s)?this.removeDropMarker():void this._updateDropMarkerThrottled(s)}getFinalDropRange(e,t,o,n,i,r){const s=Py(this.editor,e,t,o,n,i,r);return this.removeDropMarker(),s}removeDropMarker(){const e=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,e.markers.has("drop-target")&&e.change((e=>{e.removeMarker("drop-target")}))}_setupDropMarker(){const e=this.editor;e.ui.view.body.add(this._dropTargetLineView),e.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),e.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(t,{writer:o})=>{if(e.model.schema.checkChild(t.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(o);t.markerRange.isCollapsed?this._updateDropTargetLine(t.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(e){const t=this.editor,o=t.model.markers;t.model.change((t=>{o.has("drop-target")?o.get("drop-target").getRange().isEqual(e)||t.updateMarker("drop-target",{range:e}):t.addMarker("drop-target",{range:e,usingOperation:!1,affectsData:!1})}))}_createDropTargetPosition(e){return e.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(e){const t=this.toDomElement(e);return t.append("⁠",e.createElement("span"),"⁠"),t}))}_updateDropTargetLine(e){const t=this.editor.editing,o=e.start.nodeBefore,n=e.start.nodeAfter,i=e.start.parent,r=o?t.mapper.toViewElement(o):null,a=r?t.view.domConverter.mapViewToDom(r):null,l=n?t.mapper.toViewElement(n):null,c=l?t.view.domConverter.mapViewToDom(l):null,d=t.mapper.toViewElement(i);if(!d)return;const u=t.view.domConverter.mapViewToDom(d),h=this._getScrollableRect(d),{scrollX:p,scrollY:m}=s.window,g=a?new Gn(a):null,f=c?new Gn(c):null,b=new Gn(u).excludeScrollbarsAndBorders(),k=g?g.bottom:b.top,w=f?f.top:b.bottom,_=s.window.getComputedStyle(u),y=k<=w?(k+w)/2:w;if(h.topa.schema.checkChild(r,e)))){if(a.schema.checkChild(r,"$text"))return a.createRange(r);if(t)return Ry(e,zy(e,t.parent),n,i)}}}else if(a.schema.isInline(c))return Ry(e,c,n,i);if(a.schema.isBlock(c))return Ry(e,c,n,i);if(a.schema.checkChild(c,"$block")){const t=Array.from(c.getChildren()).filter((t=>t.is("element")&&!Fy(e,t)));let o=0,r=t.length;if(0==r)return a.createRange(a.createPositionAt(c,"end"));for(;o{o?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")})),c.isAndroid&&this.forceDisabled("noAndroidSupport"),e.plugins.has("BlockToolbar")){const t=e.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(t,"dragstart",((e,t)=>this._handleBlockDragStart(t))),this._domEmitter.listenTo(s.document,"dragover",((e,t)=>this._handleBlockDragging(t))),this._domEmitter.listenTo(s.document,"drop",((e,t)=>this._handleBlockDragging(t))),this._domEmitter.listenTo(s.document,"dragend",(()=>this._handleBlockDragEnd()),{useCapture:!0}),this.isEnabled&&t.setAttribute("draggable","true"),this.on("change:isEnabled",((e,o,n)=>{t.setAttribute("draggable",n?"true":"false")}))}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(e){if(!this.isEnabled)return;const t=this.editor.model,o=t.document.selection,n=this.editor.editing.view,i=Array.from(o.getSelectedBlocks()),r=t.createRange(t.createPositionBefore(i[0]),t.createPositionAfter(i[i.length-1]));t.change((e=>e.setSelection(r))),this._isBlockDragging=!0,n.focus(),n.getObserver(sy).onDomEvent(e)}_handleBlockDragging(e){if(!this.isEnabled||!this._isBlockDragging)return;const t=e.clientX+("ltr"==this.editor.locale.contentLanguageDirection?100:-100),o=e.clientY,n=document.elementFromPoint(t,o),i=this.editor.editing.view;n&&n.closest(".ck-editor__editable")&&i.getObserver(sy).onDomEvent({...e,type:e.type,dataTransfer:e.dataTransfer,target:n,clientX:t,clientY:o,preventDefault:()=>e.preventDefault(),stopPropagation:()=>e.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var Ny=i(9262),Vy={attributes:{"data-cke":!0}};Vy.setAttributes=Xr(),Vy.insert=Yr().bind(null,"head"),Vy.domAPI=Zr(),Vy.insertStyleElement=ts();Gr()(Ny.A,Vy);Ny.A&&Ny.A.locals&&Ny.A.locals;class Ly extends br{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=dr((()=>this._clearDraggableAttributes()),40),this._blockMode=!1,this._domEmitter=new(On())}static get pluginName(){return"DragDrop"}static get isOfficialPlugin(){return!0}static get requires(){return[By,M_,Iy,Oy]}init(){const e=this.editor,t=e.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,t.addObserver(sy),t.addObserver(eh),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(e,"change:isReadOnly",((e,t,o)=>{o?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((e,t,o)=>{o||this._finalizeDragging(!1)})),c.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const e=this.editor,t=e.model,o=e.editing.view,n=o.document,i=e.plugins.get(Iy);this.listenTo(n,"dragstart",((e,o)=>{if(o.target&&o.target.is("editableElement"))return void o.preventDefault();if(this._prepareDraggedRange(o.target),!this._draggedRange)return void o.preventDefault();this._draggingUid=E(),o.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",o.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const n=t.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(o.dataTransfer,n,"dragstart");const{dataTransfer:i,domTarget:r,domEvent:s}=o,{clientX:a}=s;this._updatePreview({dataTransfer:i,domTarget:r,clientX:a}),o.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(n,"dragend",((e,t)=>{this._finalizeDragging(!t.dataTransfer.isCanceled&&"move"==t.dataTransfer.dropEffect)}),{priority:"low"}),this._domEmitter.listenTo(s.document,"dragend",(()=>{this._blockMode=!1}),{useCapture:!0}),this.listenTo(n,"dragenter",(()=>{this.isEnabled&&o.focus()})),this.listenTo(n,"dragleave",(()=>{i.removeDropMarkerDelayed()})),this.listenTo(n,"dragging",((e,t)=>{if(!this.isEnabled)return void(t.dataTransfer.dropEffect="none");const{clientX:o,clientY:n}=t.domEvent;i.updateDropMarker(t.target,t.targetRanges,o,n,this._blockMode,this._draggedRange),this._draggedRange||(t.dataTransfer.dropEffect="copy"),c.isGecko||("copy"==t.dataTransfer.effectAllowed?t.dataTransfer.dropEffect="copy":["all","copyMove"].includes(t.dataTransfer.effectAllowed)&&(t.dataTransfer.dropEffect="move")),e.stop()}),{priority:"low"})}_setupClipboardInputIntegration(){const e=this.editor,t=e.editing.view.document,o=e.plugins.get(Iy);this.listenTo(t,"clipboardInput",((t,n)=>{if("drop"!=n.method)return;const{clientX:i,clientY:r}=n.domEvent,s=o.getFinalDropRange(n.target,n.targetRanges,i,r,this._blockMode,this._draggedRange);if(!s)return this._finalizeDragging(!1),void t.stop();this._draggedRange&&this._draggingUid!=n.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==Hy(n.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(s,!0))return this._finalizeDragging(!1),void t.stop();n.targetRanges=[e.editing.mapper.toViewRange(s)]}),{priority:"high"})}_setupContentInsertionIntegration(){const e=this.editor.plugins.get(By);e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const o=t.targetRanges.map((e=>this.editor.editing.mapper.toModelRange(e)));this.editor.model.change((e=>e.setSelection(o)))}),{priority:"high"}),e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const o="move"==Hy(t.dataTransfer),n=!t.resultRange||!t.resultRange.isCollapsed;this._finalizeDragging(n&&o)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const e=this.editor,t=e.editing.view,o=t.document;this.listenTo(o,"mousedown",((n,i)=>{if(c.isAndroid||!i)return;this._clearDraggableAttributesDelayed.cancel();let r=jy(i.target);if(c.isBlink&&!e.isReadOnly&&!r&&!o.selection.isCollapsed){const e=o.selection.getSelectedElement();e&&ww(e)||(r=o.selection.editableElement)}r&&(t.change((e=>{e.setAttribute("draggable","true",r)})),this._draggableElement=e.editing.mapper.toModelElement(r))})),this.listenTo(o,"mouseup",(()=>{c.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const e=this.editor.editing;e.view.change((t=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&t.removeAttribute("draggable",e.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_finalizeDragging(e){const t=this.editor,o=t.model;if(t.plugins.get(Iy).removeDropMarker(),this._clearDraggableAttributes(),t.plugins.has("WidgetToolbarRepository")){t.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop")}this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(e&&this.isEnabled&&o.change((e=>{const t=o.createSelection(this._draggedRange);o.deleteContent(t,{doNotAutoparagraph:!0});const n=t.getFirstPosition().parent;n.isEmpty&&!o.schema.checkChild(n,"$text")&&o.schema.checkChild(n,"paragraph")&&e.insertElement("paragraph",n,0)})),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(e){const t=this.editor,o=t.model,n=o.document.selection,i=e?jy(e):null;if(i){const e=t.editing.mapper.toModelElement(i);if(this._draggedRange=vc.fromRange(o.createRangeOn(e)),this._blockMode=o.schema.isBlock(e),t.plugins.has("WidgetToolbarRepository")){t.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}return}if(n.isCollapsed&&!n.getFirstPosition().parent.isEmpty)return;const r=Array.from(n.getSelectedBlocks()),s=n.getFirstRange();if(0==r.length)return void(this._draggedRange=vc.fromRange(s));const a=qy(o,r);if(r.length>1)this._draggedRange=vc.fromRange(a),this._blockMode=!0;else if(1==r.length){const e=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=vc.fromRange(e?a:s),this._blockMode=e}o.change((e=>e.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:e,domTarget:t,clientX:o}){const n=this.editor.editing.view,i=n.document.selection.editableElement,r=n.domConverter.mapViewToDom(i),a=s.window.getComputedStyle(r);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=ve(s.document,"div",{style:"position: fixed; left: -999999px;"}),s.document.body.appendChild(this._previewContainer));const l=new Gn(r);if(r.contains(t))return;const d=parseFloat(a.paddingLeft),u=ve(s.document,"div");u.className="ck ck-content",u.style.width=a.width,u.style.paddingLeft=`${l.left-o+d}px`,c.isiOS&&(u.style.backgroundColor="white"),n.domConverter.setContentOf(u,e.getData("text/html")),e.setDragImage(u,0,0),this._previewContainer.appendChild(u)}}function Hy(e){return c.isGecko?e.dropEffect:["all","copyMove"].includes(e.effectAllowed)?"move":"copy"}function jy(e){if(e.is("editableElement"))return null;if(e.hasClass("ck-widget__selection-handle"))return e.findAncestor(ww);if(ww(e))return e;const t=e.findAncestor((e=>ww(e)||e.is("editableElement")));return ww(t)?t:null}function qy(e,t){const o=t[0],n=t[t.length-1],i=o.getCommonAncestor(n),r=e.createPositionBefore(o),s=e.createPositionAfter(n);if(i&&i.is("element")&&!e.schema.isLimit(i)){const t=e.createRangeOn(i),o=r.isTouching(t.start),n=s.isTouching(t.end);if(o&&n)return qy(e,[i])}return e.createRange(r,s)}class $y extends br{static get pluginName(){return"PastePlainText"}static get isOfficialPlugin(){return!0}static get requires(){return[By]}init(){const e=this.editor,t=e.model,o=e.editing.view,n=t.document.selection;o.addObserver(sy),e.plugins.get(By).on("contentInsertion",((e,o)=>{(function(e,t){let o=t.createRangeIn(e);if(1==e.childCount){const n=e.getChild(0);n.is("element")&&t.schema.isBlock(n)&&!t.schema.isObject(n)&&!t.schema.isLimit(n)&&(o=t.createRangeIn(n))}for(const e of o.getItems()){if(!t.schema.isInline(e))return!1;if(Array.from(e.getAttributeKeys()).find((e=>t.schema.getAttributeProperties(e).isFormatting)))return!1}return!0})(o.content,t)&&t.change((e=>{const i=Array.from(n.getAttributes()).filter((([e])=>t.schema.getAttributeProperties(e).isFormatting));n.isCollapsed||t.deleteContent(n,{doNotAutoparagraph:!0}),i.push(...n.getAttributes());const r=e.createRangeIn(o.content);for(const o of r.getItems())for(const n of i)t.schema.checkAttribute(o,n[0])&&e.setAttribute(n[0],n[1],o)}))}))}}class Uy extends br{static get pluginName(){return"Clipboard"}static get isOfficialPlugin(){return!0}static get requires(){return[Dy,By,Ly,$y]}init(){const e=this.editor,t=this.editor.t;e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Copy selected content"),keystroke:"CTRL+C"},{label:t("Paste content"),keystroke:"CTRL+V"},{label:t("Paste content as plain text"),keystroke:"CTRL+SHIFT+V"}]})}}class Wy extends wr{constructor(e){super(e),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(e.data,"set",((e,t)=>{t[1]={...t[1]};const o=t[1];o.batchType||(o.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(e.data,"set",((e,t)=>{t[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(e){const t=this.editor.model.document.selection,o={ranges:t.hasOwnRange?Array.from(t.getRanges()):[],isBackward:t.isBackward};this._stack.push({batch:e,selection:o}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(e,t,o){const n=this.editor.model,i=n.document,r=[],s=e.map((e=>e.getTransformedByOperations(o))),a=s.flat();for(const e of s){const t=e.filter((e=>e.root!=i.graveyard)).filter((e=>!Ky(e,a)));t.length&&(Gy(t),r.push(t[0]))}r.length&&n.change((e=>{e.setSelection(r,{backward:t})}))}_undo(e,t){const o=this.editor.model,n=o.document;this._createdBatches.add(t);const i=e.operations.slice().filter((e=>e.isDocumentOperation));i.reverse();for(const e of i){const i=e.baseVersion+1,r=Array.from(n.history.getOperations(i)),s=ru([e.getReversed()],r,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let i of s){const r=i.affectedSelectable;r&&!o.canEditAt(r)&&(i=new Zd(i.baseVersion)),t.addOperation(i),o.applyOperation(i),n.history.setOperationAsUndone(e,i)}}}}function Gy(e){e.sort(((e,t)=>e.start.isBefore(t.start)?-1:1));for(let t=1;tt!==e&&t.containsRange(e,!0)))}class Zy extends Wy{execute(e=null){const t=e?this._stack.findIndex((t=>t.batch==e)):this._stack.length-1,o=this._stack.splice(t,1)[0],n=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(n,(()=>{this._undo(o.batch,n);const e=this.editor.model.document.history.getOperations(o.batch.baseVersion);this._restoreSelection(o.selection.ranges,o.selection.isBackward,e)})),this.fire("revert",o.batch,n),this.refresh()}}class Jy extends Wy{execute(){const e=this._stack.pop(),t=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(t,(()=>{const o=e.batch.operations[e.batch.operations.length-1].baseVersion+1,n=this.editor.model.document.history.getOperations(o);this._restoreSelection(e.selection.ranges,e.selection.isBackward,n),this._undo(e.batch,t)})),this.refresh()}}class Yy extends br{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t;this._undoCommand=new Zy(e),this._redoCommand=new Jy(e),e.commands.add("undo",this._undoCommand),e.commands.add("redo",this._redoCommand),this.listenTo(e.model,"applyOperation",((e,t)=>{const o=t[0];if(!o.isDocumentOperation)return;const n=o.batch,i=this._redoCommand.createdBatches.has(n),r=this._undoCommand.createdBatches.has(n);this._batchRegistry.has(n)||(this._batchRegistry.add(n),n.isUndoable&&(i?this._undoCommand.addBatch(n):r||(this._undoCommand.addBatch(n),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((e,t,o)=>{this._redoCommand.addBatch(o)})),e.keystrokes.set("CTRL+Z","undo"),e.keystrokes.set("CTRL+Y","redo"),e.keystrokes.set("CTRL+SHIFT+Z","redo"),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Undo"),keystroke:"CTRL+Z"},{label:t("Redo"),keystroke:[["CTRL+Y"],["CTRL+SHIFT+Z"]]}]})}}class Qy extends br{static get pluginName(){return"UndoUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale,o=e.t,n="ltr"==t.uiLanguageDirection?up.undo:up.redo,i="ltr"==t.uiLanguageDirection?up.redo:up.undo;this._addButtonsToFactory("undo",o("Undo"),"CTRL+Z",n),this._addButtonsToFactory("redo",o("Redo"),"CTRL+Y",i)}_addButtonsToFactory(e,t,o,n){const i=this.editor;i.ui.componentFactory.add(e,(()=>{const i=this._createButton(Kp,e,t,o,n);return i.set({tooltip:!0}),i})),i.ui.componentFactory.add("menuBar:"+e,(()=>this._createButton(Em,e,t,o,n)))}_createButton(e,t,o,n,i){const r=this.editor,s=r.locale,a=r.commands.get(t),l=new e(s);return l.set({label:o,icon:i,keystroke:n}),l.bind("isEnabled").to(a,"isEnabled"),this.listenTo(l,"execute",(()=>{r.execute(t),r.editing.view.focus()})),l}}class Xy extends br{static get requires(){return[Yy,Qy]}static get pluginName(){return"Undo"}static get isOfficialPlugin(){return!0}}function eA(e){return e.createContainerElement("figure",{class:"image"},[e.createEmptyElement("img"),e.createSlot("children")])}function tA(e,t){const o=e.plugins.get("ImageUtils"),n=e.plugins.has("ImageInlineEditing")&&e.plugins.has("ImageBlockEditing");return e=>{if(!o.isInlineImageView(e))return null;if(!n)return i(e);return("block"==e.getStyle("display")||e.findAncestor(o.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(e)};function i(e){const t={name:!0};return e.hasAttribute("src")&&(t.attributes=["src"]),t}}function oA(e,t){const o=or(t.getSelectedBlocks());return!o||e.isObject(o)||o.isEmpty&&"listItem"!=o.name?"imageBlock":"imageInline"}function nA(e){return e&&e.endsWith("px")?parseInt(e):null}function iA(e){const t=nA(e.getStyle("width")),o=nA(e.getStyle("height"));return!(!t||!o)}const rA=/^(image|image-inline)$/;class sA extends br{constructor(){super(...arguments),this._domEmitter=new(On())}static get pluginName(){return"ImageUtils"}static get isOfficialPlugin(){return!0}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,o=null,n={}){const i=this.editor,r=i.model,s=r.document.selection,a=aA(i,t||s,o);e={...Object.fromEntries(s.getAttributes()),...e};for(const t in e)r.schema.checkAttribute(a,t)||delete e[t];return r.change((o=>{const{setImageSizes:i=!0}=n,s=o.createElement(a,e);return r.insertObject(s,t,null,{setSelection:"on",findOptimalPosition:t||"imageInline"==a?void 0:"auto"}),s.parent?(i&&this.setImageNaturalSizeAttributes(s),s):null}))}setImageNaturalSizeAttributes(e){const t=e.getAttribute("src");t&&(e.getAttribute("width")||e.getAttribute("height")||this.editor.model.change((o=>{const n=new s.window.Image;this._domEmitter.listenTo(n,"load",(()=>{e.getAttribute("width")||e.getAttribute("height")||this.editor.model.enqueueChange(o.batch,(t=>{t.setAttribute("width",n.naturalWidth,e),t.setAttribute("height",n.naturalHeight,e)})),this._domEmitter.stopListening(n,"load")})),n.src=t})))}getClosestSelectedImageWidget(e){const t=e.getFirstPosition();if(!t)return null;const o=e.getSelectedElement();if(o&&this.isImageWidget(o))return o;let n=t.parent;for(;n;){if(n.is("element")&&this.isImageWidget(n))return n;n=n.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(e){return e.findAncestor({classes:rA})}isImageAllowed(){const e=this.editor.model.document.selection;return function(e,t){const o=aA(e,t,null);if("imageBlock"==o){const o=function(e,t){const o=xw(e,t),n=o.start.parent;if(n.isEmpty&&!n.is("element","$root"))return n.parent;return n}(t,e.model);if(e.model.schema.checkChild(o,"imageBlock"))return!0}else if(e.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}(this.editor,e)&&function(e){return[...e.focus.getAncestors()].every((e=>!e.is("element","imageBlock")))}(e)}toImageWidget(e,t,o){t.setCustomProperty("image",!0,e);return _w(e,t,{label:()=>{const t=this.findViewImgElement(e).getAttribute("alt");return t?`${t} ${o}`:o}})}isImageWidget(e){return!!e.getCustomProperty("image")&&ww(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:o}of t.createRangeIn(e))if(this.isInlineImageView(o))return o}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function aA(e,t,o){const n=e.model.schema,i=e.config.get("image.insert.type");return e.plugins.has("ImageBlockEditing")?e.plugins.has("ImageInlineEditing")?o||("inline"===i?"imageInline":"auto"!==i?"imageBlock":t.is("selection")?oA(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class lA extends wr{refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled&&e.hasAttribute("alt")?this.value=e.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,o=t.plugins.get("ImageUtils"),n=t.model,i=o.getClosestSelectedImageElement(n.document.selection);n.change((t=>{t.setAttribute("alt",e.newValue,i)}))}}class cA extends br{static get requires(){return[sA]}static get pluginName(){return"ImageTextAlternativeEditing"}static get isOfficialPlugin(){return!0}init(){this.editor.commands.add("imageTextAlternative",new lA(this.editor))}}var dA=i(8429),uA={attributes:{"data-cke":!0}};uA.setAttributes=Xr(),uA.insert=Yr().bind(null,"head"),uA.domAPI=Zr(),uA.insertStyleElement=ts();Gr()(dA.A,uA);dA.A&&dA.A.locals&&dA.A.locals;var hA=i(871),pA={attributes:{"data-cke":!0}};pA.setAttributes=Xr(),pA.insert=Yr().bind(null,"head"),pA.domAPI=Zr(),pA.insertStyleElement=ts();Gr()(hA.A,pA);hA.A&&hA.A.locals&&hA.A.locals;class mA extends zp{constructor(e){super(e);const t=this.locale.t;this.focusTracker=new nr,this.keystrokes=new ar,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(t("Save"),up.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(t("Cancel"),up.cancel,"ck-button-cancel","cancel"),this._focusables=new hp,this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),this.keystrokes.listenTo(this.element),Vp({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(e,t,o,n){const i=new Kp(this.locale);return i.set({label:e,icon:t,tooltip:!0}),i.extendTemplate({attributes:{class:o}}),n&&i.delegate("execute").to(this,n),i}_createLabeledInputView(){const e=this.locale.t,t=new dg(this.locale,Ef);return t.label=e("Text alternative"),t}}function gA(e){const t=e.editing.view,o=Wg.defaultPositions,n=e.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}class fA extends br{static get requires(){return[kk]}static get pluginName(){return"ImageTextAlternativeUI"}static get isOfficialPlugin(){return!0}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("imageTextAlternative",(o=>{const n=e.commands.get("imageTextAlternative"),i=new Kp(o);return i.set({label:t("Change image text alternative"),icon:up.textAlternative,tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),i.bind("isOn").to(n,"value",(e=>!!e)),this.listenTo(i,"execute",(()=>{this._showForm()})),i}))}_createForm(){const e=this.editor,t=e.editing.view.document,o=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(Np(mA))(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{o.getClosestSelectedImageWidget(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(e.plugins.get("ImageUtils").getClosestSelectedImageWidget(e.editing.view.document.selection)){const o=gA(e);t.updatePosition(o)}}(e):this._hideForm(!0)})),Op({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const e=this.editor,t=e.commands.get("imageTextAlternative"),o=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:gA(e)}),o.fieldView.value=o.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class bA extends br{static get requires(){return[cA,fA]}static get pluginName(){return"ImageTextAlternative"}static get isOfficialPlugin(){return!0}}function kA(e,t){const o=(t,o,n)=>{if(!n.consumable.consume(o.item,t.name))return;const i=n.writer,r=n.mapper.toViewElement(o.item),s=e.findViewImgElement(r);null===o.attributeNewValue?(i.removeAttribute("srcset",s),i.removeAttribute("sizes",s)):o.attributeNewValue&&(i.setAttribute("srcset",o.attributeNewValue,s),i.setAttribute("sizes","100vw",s))};return e=>{e.on(`attribute:srcset:${t}`,o)}}function wA(e,t,o){const n=(t,o,n)=>{if(!n.consumable.consume(o.item,t.name))return;const i=n.writer,r=n.mapper.toViewElement(o.item),s=e.findViewImgElement(r);i.setAttribute(o.attributeKey,o.attributeNewValue||"",s)};return e=>{e.on(`attribute:${o}:${t}`,n)}}class _A extends Xa{observe(e){this.listenTo(e,"load",((e,t)=>{const o=t.target;this.checkShouldIgnoreEventFromTarget(o)||"IMG"==o.tagName&&this._fireEvents(t)}),{useCapture:!0})}stopObserving(e){this.stopListening(e)}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class yA extends wr{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||"block"===t&&T("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||"inline"===t&&T("image-inline-plugin-required")}refresh(){const e=this.editor.plugins.get("ImageUtils");this.isEnabled=e.isImageAllowed()}execute(e){const t=Si(e.source),o=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),i=Object.fromEntries(o.getAttributes());t.forEach(((t,r)=>{const s=o.getSelectedElement();if("string"==typeof t&&(t={src:t}),r&&s&&n.isImage(s)){const o=this.editor.model.createPositionAfter(s);n.insertImage({...t,...i},o,e.imageType)}else e.breakBlock?n.insertImage({...t,...i},o.getFirstPosition(),e.imageType):n.insertImage({...t,...i},null,e.imageType)}))}}class AA extends wr{constructor(e){super(e),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(t),this.value=this.isEnabled?t.getAttribute("src"):null}execute(e){const t=this.editor.model.document.selection.getSelectedElement(),o=this.editor.plugins.get("ImageUtils");this.editor.model.change((n=>{n.setAttribute("src",e.source,t),this.cleanupImage(n,t),o.setImageNaturalSizeAttributes(t)}))}cleanupImage(e,t){e.removeAttribute("srcset",t),e.removeAttribute("sizes",t),e.removeAttribute("sources",t),e.removeAttribute("width",t),e.removeAttribute("height",t),e.removeAttribute("alt",t)}}class CA extends br{static get requires(){return[sA]}static get pluginName(){return"ImageEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(_A),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const o=new yA(e),n=new AA(e);e.commands.add("insertImage",o),e.commands.add("replaceImageSource",n),e.commands.add("imageInsert",o)}}class vA extends br{static get requires(){return[sA]}static get pluginName(){return"ImageSizeAttributes"}static get isOfficialPlugin(){return!0}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(e){const t=this.editor,o=t.plugins.get("ImageUtils"),n="imageBlock"===e?"figure":"img";function i(t,n,i,r,s=!1){t.on(`attribute:${n}:${e}`,((t,n,a)=>{if(!a.consumable.consume(n.item,t.name))return;const l=a.writer,c=a.mapper.toViewElement(n.item),d=o.findViewImgElement(c);null!==n.attributeNewValue?l.setAttribute(i,n.attributeNewValue,d):l.removeAttribute(i,d);const u=n.item.getAttribute("width"),h=n.item.getAttribute("height"),p=u&&h;if(p&&s&&l.setAttribute("loading","lazy",d),n.item.hasAttribute("sources"))return;const m=n.item.hasAttribute("resizedWidth");("imageInline"!==e||m||r)&&p&&l.setStyle("aspect-ratio",`${u}/${h}`,d)}))}t.conversion.for("upcast").attributeToAttribute({view:{name:n,styles:{width:/.+/}},model:{key:"width",value:e=>iA(e)?nA(e.getStyle("width")):null}}).attributeToAttribute({view:{name:n,key:"width"},model:"width"}).attributeToAttribute({view:{name:n,styles:{height:/.+/}},model:{key:"height",value:e=>iA(e)?nA(e.getStyle("height")):null}}).attributeToAttribute({view:{name:n,key:"height"},model:"height"}),t.conversion.for("editingDowncast").add((e=>{i(e,"width","width",!0,!0),i(e,"height","height",!0,!0)})),t.conversion.for("dataDowncast").add((e=>{i(e,"width","width",!1),i(e,"height","height",!1)}))}}class xA extends wr{constructor(e,t){super(e),this._modelElementName=t}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=e.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=e.isInlineImage(t):this.isEnabled=e.isBlockImage(t)}execute(e={}){const t=this.editor,o=this.editor.model,n=t.plugins.get("ImageUtils"),i=n.getClosestSelectedImageElement(o.document.selection),r=Object.fromEntries(i.getAttributes());return r.src||r.uploadId?o.change((t=>{const{setImageSizes:s=!0}=e,a=Array.from(o.markers).filter((e=>e.getRange().containsItem(i))),l=n.insertImage(r,o.createSelection(i,"on"),this._modelElementName,{setImageSizes:s});if(!l)return null;const c=t.createRangeOn(l);for(const e of a){const o=e.getRange(),n="$graveyard"!=o.root.rootName?o.getJoined(c,!0):c;t.updateMarker(e,{range:n})}return{oldElement:i,newElement:l}})):null}}var EA=i(1091),DA={attributes:{"data-cke":!0}};DA.setAttributes=Xr(),DA.insert=Yr().bind(null,"head"),DA.domAPI=Zr(),DA.insertStyleElement=ts();Gr()(EA.A,DA);EA.A&&EA.A.locals&&EA.A.locals;class BA extends br{static get requires(){return[sA]}static get pluginName(){return"ImagePlaceholder"}static get isOfficialPlugin(){return!0}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const e=this.editor.model.schema;e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["placeholder"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const e=this.editor,t=e.conversion,o=e.plugins.get("ImageUtils");t.for("editingDowncast").add((e=>{e.on("attribute:placeholder",((e,t,n)=>{if(!n.consumable.test(t.item,e.name))return;if(!t.item.is("element","imageBlock")&&!t.item.is("element","imageInline"))return;n.consumable.consume(t.item,e.name);const i=n.writer,r=n.mapper.toViewElement(t.item),s=o.findViewImgElement(r);t.attributeNewValue?(i.addClass("image_placeholder",s),i.setStyle("background-image",`url(${t.attributeNewValue})`,s),i.setCustomProperty("editingPipeline:doNotReuseOnce",!0,s)):(i.removeClass("image_placeholder",s),i.removeStyle("background-image",s))}))}))}_setupLoadListener(){const e=this.editor,t=e.model,o=e.editing,n=o.view,i=e.plugins.get("ImageUtils");n.addObserver(_A),this.listenTo(n.document,"imageLoaded",((e,r)=>{const s=n.domConverter.mapDomToView(r.target);if(!s)return;const a=i.getImageWidgetFromImageView(s);if(!a)return;const l=o.mapper.toModelElement(a);l&&l.hasAttribute("placeholder")&&t.enqueueChange({isUndoable:!1},(e=>{e.removeAttribute("placeholder",l)}))}))}}class SA extends br{static get requires(){return[CA,vA,sA,BA,By]}static get pluginName(){return"ImageBlockEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new xA(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,o=e.conversion,n=e.plugins.get("ImageUtils");o.for("dataDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:t})=>eA(t)}),o.for("editingDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:o})=>n.toImageWidget(eA(o),o,t("image widget"))}),o.for("downcast").add(wA(n,"imageBlock","src")).add(wA(n,"imageBlock","alt")).add(kA(n,"imageBlock")),o.for("upcast").elementToElement({view:tA(e,"imageBlock"),model:(e,{writer:t})=>t.createElement("imageBlock",e.hasAttribute("src")?{src:e.getAttribute("src")}:void 0)}).add(function(e){const t=(t,o,n)=>{if(!n.consumable.test(o.viewItem,{name:!0,classes:"image"}))return;const i=e.findViewImgElement(o.viewItem);if(!i||!n.consumable.test(i,{name:!0}))return;n.consumable.consume(o.viewItem,{name:!0,classes:"image"});const r=or(n.convertItem(i,o.modelCursor).modelRange.getItems());r?(n.convertChildren(o.viewItem,r),n.updateConversionResult(r,o)):n.consumable.revert(o.viewItem,{name:!0,classes:"image"})};return e=>{e.on("element:figure",t)}}(n))}_setupClipboardIntegration(){const e=this.editor,t=e.model,o=e.editing.view,n=e.plugins.get("ImageUtils"),i=e.plugins.get("ClipboardPipeline");this.listenTo(i,"inputTransformation",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(n.isInlineImageView))return;a=r.targetRanges?e.editing.mapper.toModelRange(r.targetRanges[0]):t.document.selection.getFirstRange();const l=t.createSelection(a);if("imageBlock"===oA(t.schema,l)){const e=new oh(o.document),t=s.map((t=>e.createElement("figure",{class:"image"},t)));r.content=e.createDocumentFragment(t)}})),this.listenTo(i,"contentInsertion",((e,o)=>{"paste"===o.method&&t.change((e=>{const t=e.createRangeIn(o.content);for(const e of t.getItems())e.is("element","imageBlock")&&n.setImageNaturalSizeAttributes(e)}))}))}}var TA=i(1545),IA={attributes:{"data-cke":!0}};IA.setAttributes=Xr(),IA.insert=Yr().bind(null,"head"),IA.domAPI=Zr(),IA.insertStyleElement=ts();Gr()(TA.A,IA);TA.A&&TA.A.locals&&TA.A.locals;class PA extends zp{constructor(e,t=[]){super(e),this.focusTracker=new nr,this.keystrokes=new ar,this._focusables=new hp,this.children=this.createCollection(),this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const e of t)this.children.add(e),this._focusables.add(e),e instanceof Gm&&this._focusables.addMany(e.children);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),Vp({view:this});for(const e of this._focusables)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element);const e=e=>e.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}class FA extends br{static get pluginName(){return"ImageInsertUI"}static get isOfficialPlugin(){return!0}static get requires(){return[sA]}constructor(e){super(e),this._integrations=new Map,e.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(e.model.document,"change",(()=>{this.isImageSelected=o.isImage(t.getSelectedElement())}));const n=e=>this._createToolbarComponent(e);e.ui.componentFactory.add("insertImage",n),e.ui.componentFactory.add("imageInsert",n),e.ui.componentFactory.add("menuBar:insertImage",(e=>this._createMenuBarComponent(e)))}registerIntegration({name:e,observable:t,buttonViewCreator:o,formViewCreator:n,menuBarButtonViewCreator:i,requiresForm:r=!1,override:s=!1}){this._integrations.has(e)&&!s&&T("image-insert-integration-exists",{name:e}),this._integrations.set(e,{observable:t,buttonViewCreator:o,menuBarButtonViewCreator:i,formViewCreator:n,requiresForm:r})}_createToolbarComponent(e){const t=this.editor,o=e.t,n=this._prepareIntegrations();if(!n.length)return null;let i;const r=n[0];if(1==n.length){if(!r.requiresForm)return r.buttonViewCreator(!0);i=r.buttonViewCreator(!0)}else{const t=r.buttonViewCreator(!1);i=new pf(e,t),i.tooltip=!0,i.bind("label").to(this,"isImageSelected",(e=>o(e?"Replace image":"Insert image")))}const s=this.dropdownView=kf(e,i),a=n.map((({observable:e})=>"function"==typeof e?e():e));return s.bind("isEnabled").toMany(a,"isEnabled",((...e)=>e.some((e=>e)))),s.once("change:isOpen",(()=>{const e=n.flatMap((({formViewCreator:e})=>e(1==n.length))),o=new PA(t.locale,e);s.panelView.children.add(o)})),s}_createMenuBarComponent(e){const t=e.t,o=this._prepareIntegrations();if(!o.length)return null;const n=o.flatMap((({menuBarButtonViewCreator:e})=>e(1==o.length))),i=new Qk(e),r=new Xk(e);i.panelView.children.add(r),i.buttonView.set({icon:up.image,label:t("Image")});for(const t of n){const o=new jb(e,i);o.children.add(t),r.items.add(o),t.delegate("execute").to(i)}return i}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),t=[];if(!e.length)return T("image-insert-integrations-not-specified"),t;for(const o of e)this._integrations.has(o)?t.push(this._integrations.get(o)):["upload","assetManager","url"].includes(o)||T("image-insert-unknown-integration",{item:o});return t.length||T("image-insert-integrations-not-registered"),t}}var RA=i(8574),MA={attributes:{"data-cke":!0}};MA.setAttributes=Xr(),MA.insert=Yr().bind(null,"head"),MA.domAPI=Zr(),MA.insertStyleElement=ts();Gr()(RA.A,MA);RA.A&&RA.A.locals&&RA.A.locals;class zA extends br{static get requires(){return[CA,vA,sA,BA,By]}static get pluginName(){return"ImageInlineEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"],disallowIn:["caption"]}),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new xA(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,o=e.conversion,n=e.plugins.get("ImageUtils");o.for("dataDowncast").elementToElement({model:"imageInline",view:(e,{writer:t})=>t.createEmptyElement("img")}),o.for("editingDowncast").elementToStructure({model:"imageInline",view:(e,{writer:o})=>n.toImageWidget(function(e){return e.createContainerElement("span",{class:"image-inline"},e.createEmptyElement("img"))}(o),o,t("image widget"))}),o.for("downcast").add(wA(n,"imageInline","src")).add(wA(n,"imageInline","alt")).add(kA(n,"imageInline")),o.for("upcast").elementToElement({view:tA(e,"imageInline"),model:(e,{writer:t})=>t.createElement("imageInline",e.hasAttribute("src")?{src:e.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,o=e.editing.view,n=e.plugins.get("ImageUtils"),i=e.plugins.get("ClipboardPipeline");this.listenTo(i,"inputTransformation",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(n.isBlockImageView))return;a=r.targetRanges?e.editing.mapper.toModelRange(r.targetRanges[0]):t.document.selection.getFirstRange();const l=t.createSelection(a);if("imageInline"===oA(t.schema,l)){const e=new oh(o.document),t=s.map((t=>1===t.childCount?(Array.from(t.getAttributes()).forEach((o=>e.setAttribute(...o,n.findViewImgElement(t)))),t.getChild(0)):t));r.content=e.createDocumentFragment(t)}})),this.listenTo(i,"contentInsertion",((e,o)=>{"paste"===o.method&&t.change((e=>{const t=e.createRangeIn(o.content);for(const e of t.getItems())e.is("element","imageInline")&&n.setImageNaturalSizeAttributes(e)}))}))}}class OA extends br{static get pluginName(){return"ImageCaptionUtils"}static get isOfficialPlugin(){return!0}static get requires(){return[sA]}getCaptionFromImageModelElement(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}getCaptionFromModelSelection(e){const t=this.editor.plugins.get("ImageUtils"),o=e.getFirstPosition().findAncestor("caption");return o&&t.isBlockImage(o.parent)?o:null}matchImageCaptionViewElement(e){const t=this.editor.plugins.get("ImageUtils");return"figcaption"==e.name&&t.isBlockImageView(e.parent)?{name:!0}:null}}class NA extends wr{refresh(){const e=this.editor,t=e.plugins.get("ImageCaptionUtils"),o=e.plugins.get("ImageUtils");if(!e.plugins.has(SA))return this.isEnabled=!1,void(this.value=!1);const n=e.model.document.selection,i=n.getSelectedElement();if(!i){const e=t.getCaptionFromModelSelection(n);return this.isEnabled=!!e,void(this.value=!!e)}this.isEnabled=o.isImage(i),this.isEnabled?this.value=!!t.getCaptionFromImageModelElement(i):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideImageCaption(e):this._showImageCaption(e,t)}))}_showImageCaption(e,t){const o=this.editor.model.document.selection,n=this.editor.plugins.get("ImageCaptionEditing"),i=this.editor.plugins.get("ImageUtils");let r=o.getSelectedElement();const s=n._getSavedCaption(r);i.isInlineImage(r)&&(this.editor.execute("imageTypeBlock"),r=o.getSelectedElement());const a=s||e.createElement("caption");e.append(a,r),t&&e.setSelection(a,"in")}_hideImageCaption(e){const t=this.editor,o=t.model.document.selection,n=t.plugins.get("ImageCaptionEditing"),i=t.plugins.get("ImageCaptionUtils");let r,s=o.getSelectedElement();s?r=i.getCaptionFromImageModelElement(s):(r=i.getCaptionFromModelSelection(o),s=r.parent),n._saveCaption(s,r),e.setSelection(s,"on"),e.remove(r)}}class VA extends br{static get requires(){return[sA,OA]}static get pluginName(){return"ImageCaptionEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new NA(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const e=this.editor,t=e.editing.view,o=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils"),i=e.t;e.conversion.for("upcast").elementToElement({view:e=>n.matchImageCaptionViewElement(e),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>o.isBlockImage(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!o.isBlockImage(e.parent))return null;const r=n.createEditableElement("figcaption");n.setCustomProperty("imageCaption",!0,r),r.placeholder=i("Enter image caption"),ss({view:t,element:r,keepOnFocus:!0});const s=e.parent.getAttribute("alt");return vw(r,n,{label:s?i("Caption for image: %0",[s]):i("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),o=e.plugins.get("ImageCaptionUtils"),n=e.commands.get("imageTypeInline"),i=e.commands.get("imageTypeBlock"),r=e=>{if(!e.return)return;const{oldElement:n,newElement:i}=e.return;if(!n)return;if(t.isBlockImage(n)){const e=o.getCaptionFromImageModelElement(n);if(e)return void this._saveCaption(i,e)}const r=this._getSavedCaption(n);r&&this._saveCaption(i,r)};n&&this.listenTo(n,"execute",r,{priority:"low"}),i&&this.listenTo(i,"execute",r,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?Fc.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}_registerCaptionReconversion(){const e=this.editor,t=e.model,o=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils");t.document.on("change:data",(()=>{const i=t.document.differ.getChanges();for(const t of i){if("alt"!==t.attributeKey)continue;const i=t.range.start.nodeAfter;if(o.isBlockImage(i)){const t=n.getCaptionFromImageModelElement(i);if(!t)return;e.editing.reconvertItem(t)}}}))}}class LA extends br{static get requires(){return[OA]}static get pluginName(){return"ImageCaptionUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,o=e.plugins.get("ImageCaptionUtils"),n=e.t;e.ui.componentFactory.add("toggleImageCaption",(i=>{const r=e.commands.get("toggleImageCaption"),s=new Kp(i);return s.set({icon:up.caption,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.bind("label").to(r,"value",(e=>n(e?"Toggle caption off":"Toggle caption on"))),this.listenTo(s,"execute",(()=>{e.execute("toggleImageCaption",{focusCaptionOnShow:!0});const n=o.getCaptionFromModelSelection(e.model.document.selection);if(n){const o=e.editing.mapper.toViewElement(n);t.scrollToTheSelection(),t.change((e=>{e.addClass("image__caption_highlighted",o)}))}e.editing.view.focus()})),s}))}}var HA=i(3038),jA={attributes:{"data-cke":!0}};jA.setAttributes=Xr(),jA.insert=Yr().bind(null,"head"),jA.domAPI=Zr(),jA.insertStyleElement=ts();Gr()(HA.A,jA);HA.A&&HA.A.locals&&HA.A.locals;function qA(e){const t=e.map((e=>e.replace("+","\\+")));return new RegExp(`^image\\/(${t.join("|")})$`)}function $A(e){return new Promise(((t,o)=>{const n=e.getAttribute("src");fetch(n).then((e=>e.blob())).then((e=>{const o=UA(e,n),i=o.replace("image/",""),r=new File([e],`image.${i}`,{type:o});t(r)})).catch((e=>e&&"TypeError"===e.name?function(e){return function(e){return new Promise(((t,o)=>{const n=s.document.createElement("img");n.addEventListener("load",(()=>{const e=s.document.createElement("canvas");e.width=n.width,e.height=n.height;e.getContext("2d").drawImage(n,0,0),e.toBlob((e=>e?t(e):o()))})),n.addEventListener("error",(()=>o())),n.src=e}))}(e).then((t=>{const o=UA(t,e),n=o.replace("image/","");return new File([t],`image.${n}`,{type:o})}))}(n).then(t).catch(o):o(e)))}))}function UA(e,t){return e.type?e.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class WA extends br{static get pluginName(){return"ImageUploadUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("uploadImage",(()=>this._createToolbarButton())),e.ui.componentFactory.add("imageUpload",(()=>this._createToolbarButton())),e.ui.componentFactory.add("menuBar:uploadImage",(()=>this._createMenuBarButton("standalone"))),e.plugins.has("ImageInsertUI")&&e.plugins.get("ImageInsertUI").registerIntegration({name:"upload",observable:()=>e.commands.get("uploadImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:e=>this._createMenuBarButton(e?"insertOnly":"insertNested")})}_createButton(e){const t=this.editor,o=t.locale,n=t.commands.get("uploadImage"),i=t.config.get("image.upload.types"),r=qA(i),s=new e(t.locale),a=o.t;return s.set({acceptedType:i.map((e=>`image/${e}`)).join(","),allowMultipleFiles:!0,label:a("Upload from computer"),icon:up.imageUpload}),s.bind("isEnabled").to(n),s.on("done",((e,o)=>{const n=Array.from(o).filter((e=>r.test(e.type)));n.length&&(t.execute("uploadImage",{file:n}),t.editing.view.focus())})),s}_createToolbarButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),o=this.editor.commands.get("uploadImage"),n=this._createButton(Lm);return n.tooltip=!0,n.bind("label").to(t,"isImageSelected",o,"isAccessAllowed",((t,o)=>e(o?t?"Replace image from computer":"Upload image from computer":"You have no image upload permissions."))),n}_createDropdownButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),o=this._createButton(Lm);return o.withText=!0,o.bind("label").to(t,"isImageSelected",(t=>e(t?"Replace from computer":"Upload from computer"))),o.on("execute",(()=>{t.dropdownView.isOpen=!1})),o}_createMenuBarButton(e){const t=this.editor.locale.t,o=this._createButton(tw);switch(o.withText=!0,e){case"standalone":o.label=t("Image from computer");break;case"insertOnly":o.label=t("Image");break;case"insertNested":o.label=t("From computer")}return o}}var GA=i(7504),KA={attributes:{"data-cke":!0}};KA.setAttributes=Xr(),KA.insert=Yr().bind(null,"head"),KA.domAPI=Zr(),KA.insertStyleElement=ts();Gr()(GA.A,KA);GA.A&&GA.A.locals&&GA.A.locals;var ZA=i(1230),JA={attributes:{"data-cke":!0}};JA.setAttributes=Xr(),JA.insert=Yr().bind(null,"head"),JA.domAPI=Zr(),JA.insertStyleElement=ts();Gr()(ZA.A,JA);ZA.A&&ZA.A.locals&&ZA.A.locals;var YA=i(1160),QA={attributes:{"data-cke":!0}};QA.setAttributes=Xr(),QA.insert=Yr().bind(null,"head"),QA.domAPI=Zr(),QA.insertStyleElement=ts();Gr()(YA.A,QA);YA.A&&YA.A.locals&&YA.A.locals;class XA extends br{static get pluginName(){return"ImageUploadProgress"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this.uploadStatusChange=(e,t,o)=>{const n=this.editor,i=t.item,r=i.getAttribute("uploadId");if(!o.consumable.consume(t.item,e.name))return;const s=n.plugins.get("ImageUtils"),a=n.plugins.get(ny),l=r?t.attributeNewValue:null,c=this.placeholder,d=n.editing.mapper.toViewElement(i),u=o.writer;if("reading"==l)return eC(d,u),void tC(s,c,d,u);if("uploading"==l){const e=a.loaders.get(r);return eC(d,u),void(e?(oC(d,u),function(e,t,o,n){const i=function(e){const t=e.createUIElement("div",{class:"ck-progress-bar"});return e.setCustomProperty("progressBar",!0,t),t}(t);t.insert(t.createPositionAt(e,"end"),i),o.on("change:uploadedPercent",((e,t,o)=>{n.change((e=>{e.setStyle("width",o+"%",i)}))}))}(d,u,e,n.editing.view),function(e,t,o,n){if(n.data){const i=e.findViewImgElement(t);o.setAttribute("src",n.data,i)}}(s,d,u,e)):tC(s,c,d,u))}"complete"==l&&a.loaders.get(r)&&function(e,t,o){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(e,"end"),n),setTimeout((()=>{o.change((e=>e.remove(e.createRangeOn(n))))}),3e3)}(d,u,n.editing.view),function(e,t){iC(e,t,"progressBar")}(d,u),oC(d,u),function(e,t){t.removeClass("ck-appear",e)}(d,u)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function eC(e,t){e.hasClass("ck-appear")||t.addClass("ck-appear",e)}function tC(e,t,o,n){o.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",o);const i=e.findViewImgElement(o);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),nC(o,"placeholder")||n.insert(n.createPositionAfter(i),function(e){const t=e.createUIElement("div",{class:"ck-upload-placeholder-loader"});return e.setCustomProperty("placeholder",!0,t),t}(n))}function oC(e,t){e.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",e),iC(e,t,"placeholder")}function nC(e,t){for(const o of e.getChildren())if(o.getCustomProperty(t))return o}function iC(e,t,o){const n=nC(e,o);n&&t.remove(t.createRangeOn(n))}class rC extends wr{constructor(e){super(e),this.set("isAccessAllowed",!0)}refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),o=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(o)}execute(e){const t=Si(e.file),o=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),i=Object.fromEntries(o.getAttributes());t.forEach(((e,t)=>{const r=o.getSelectedElement();if(t&&r&&n.isImage(r)){const t=this.editor.model.createPositionAfter(r);this._uploadImage(e,i,t)}else this._uploadImage(e,i)}))}_uploadImage(e,t,o){const n=this.editor,i=n.plugins.get(ny).createLoader(e),r=n.plugins.get("ImageUtils");i&&r.insertImage({...t,uploadId:i.id},o)}}class sC extends br{static get requires(){return[ny,uk,By,sA]}static get pluginName(){return"ImageUploadEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this._uploadedImages=new Map,e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,o=e.conversion,n=e.plugins.get(ny),i=e.plugins.get("ImageUtils"),r=e.plugins.get("ClipboardPipeline"),s=qA(e.config.get("image.upload.types")),a=new rC(e);e.commands.add("uploadImage",a),e.commands.add("imageUpload",a),o.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}).add((e=>e.on("element:img",((e,t,o)=>{if(!o.consumable.test(t.viewItem,{attributes:["data-ck-upload-id"]}))return;const i=t.viewItem.getAttribute("data-ck-upload-id");if(!i)return;const[r]=Array.from(t.modelRange.getItems({shallow:!0})),s=n.loaders.get(i);r&&(o.writer.setAttribute("uploadId",i,r),o.consumable.consume(t.viewItem,{attributes:["data-ck-upload-id"]}),s&&s.data&&o.writer.setAttribute("uploadStatus",s.status,r))}),{priority:"low"}))),this.listenTo(e.editing.view.document,"clipboardInput",((t,o)=>{if(n=o.dataTransfer,Array.from(n.types).includes("text/html")&&""!==n.getData("text/html"))return;var n;const i=Array.from(o.dataTransfer.files).filter((e=>!!e&&s.test(e.type)));if(!i.length)return;t.stop(),e.model.change((t=>{o.targetRanges&&t.setSelection(o.targetRanges.map((t=>e.editing.mapper.toModelRange(t)))),e.execute("uploadImage",{file:i})}));if(!e.commands.get("uploadImage").isAccessAllowed){const t=e.plugins.get("Notification"),o=e.locale.t;t.showWarning(o("You have no image upload permissions."),{namespace:"image"})}})),this.listenTo(r,"inputTransformation",((t,o)=>{const r=Array.from(e.editing.view.createRangeIn(o.content)).map((e=>e.item)).filter((e=>function(e,t){return!(!e.isInlineImageView(t)||!t.getAttribute("src")||!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)&&!t.getAttribute("src").match(/^blob:/g))}(i,e)&&!e.getAttribute("uploadProcessed"))).map((e=>({promise:$A(e),imageElement:e})));if(!r.length)return;const s=new oh(e.editing.view.document);for(const e of r){s.setAttribute("uploadProcessed",!0,e.imageElement);const t=n.createLoader(e.promise);t&&(s.setAttribute("src","",e.imageElement),s.setAttribute("uploadId",t.id,e.imageElement))}})),e.editing.view.document.on("dragover",((e,t)=>{t.preventDefault()})),t.on("change",(()=>{const o=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),i=new Set;for(const t of o)if("insert"==t.type&&"$text"!=t.name){const o=t.position.nodeAfter,r="$graveyard"==t.position.root.rootName;for(const t of aC(e,o)){const o=t.getAttribute("uploadId");if(!o)continue;const s=n.loaders.get(o);if(s)if(r){if(!i.has(o)){Array.from(this._uploadImageElements.get(o)).every((e=>"$graveyard"==e.root.rootName))&&s.abort()}}else i.add(o),this._uploadImageElements.has(o)?this._uploadImageElements.get(o).add(t):this._uploadImageElements.set(o,new Set([t])),"idle"==s.status&&this._readAndUpload(s);else!r&&this._uploadedImages.has(o)&&e.model.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","complete",t),this.fire("uploadComplete",{data:this._uploadedImages.get(o),imageElement:t})}))}}})),this.on("uploadComplete",((e,{imageElement:t,data:o})=>{const n=o.urls?o.urls:o;this.editor.model.change((e=>{e.setAttribute("src",n.default,t),this._parseAndSetSrcsetAttributeOnImage(n,t,e),i.setImageNaturalSizeAttributes(t)}))}),{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&(e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageBlock")),this.editor.plugins.has("ImageInlineEditing")&&(e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageInline"))}_readAndUpload(e){const t=this.editor,o=t.model,n=t.locale.t,i=t.plugins.get(ny),r=t.plugins.get(uk),s=t.plugins.get("ImageUtils"),a=this._uploadImageElements;return o.enqueueChange({isUndoable:!1},(t=>{const o=a.get(e.id);for(const e of o)t.setAttribute("uploadStatus","reading",e)})),e.read().then((()=>{const i=e.upload();t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Uploading image"));for(const n of a.get(e.id)){if(c.isSafari){const e=t.editing.mapper.toViewElement(n),o=s.findViewImgElement(e);t.editing.view.once("render",(()=>{if(!o.parent)return;const e=t.editing.view.domConverter.mapViewToDom(o.parent);if(!e)return;const n=e.style.display;e.style.display="none",e._ckHack=e.offsetHeight,e.style.display=n}))}o.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","uploading",n)}))}return i})).then((i=>{o.enqueueChange({isUndoable:!1},(o=>{for(const t of a.get(e.id))o.setAttribute("uploadStatus","complete",t),this.fire("uploadComplete",{data:i,imageElement:t});t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Image upload complete")),this._uploadedImages.set(e.id,i)})),l()})).catch((i=>{if(t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Error during image upload")),"error"!==e.status&&"aborted"!==e.status)throw i;"error"==e.status&&i&&r.showWarning(i,{title:n("Upload failed"),namespace:"upload"}),o.enqueueChange({isUndoable:!1},(t=>{for(const o of a.get(e.id))"$graveyard"!==o.root.rootName&&t.remove(o)})),l()}));function l(){o.enqueueChange({isUndoable:!1},(t=>{for(const o of a.get(e.id))t.removeAttribute("uploadId",o),t.removeAttribute("uploadStatus",o);a.delete(e.id)})),i.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,o){let n=0;const i=Object.keys(e).filter((e=>{const t=parseInt(e,10);if(!isNaN(t))return n=Math.max(n,t),!0})).map((t=>`${e[t]} ${t}w`)).join(", ");if(""!=i){const e={srcset:i};t.hasAttribute("width")||t.hasAttribute("height")||(e.width=n),o.setAttributes(e,t)}}_registerConverters(e){const{conversion:t,plugins:o}=this.editor,n=o.get(ny),i=o.get(sA);t.for("dataDowncast").add((t=>{t.on(`attribute:uploadId:${e}`,((e,t,o)=>{if(!o.consumable.test(t.item,e.name))return;const r=n.loaders.get(t.attributeNewValue);if(!r||!r.data)return null;const s=o.mapper.toViewElement(t.item),a=i.findViewImgElement(s);a&&(o.consumable.consume(t.item,e.name),o.writer.setAttribute("data-ck-upload-id",r.id,a))}))}))}}function aC(e,t){const o=e.plugins.get("ImageUtils");return Array.from(e.model.createRangeOn(t)).filter((e=>o.isImage(e.item))).map((e=>e.item))}class lC extends br{static get pluginName(){return"ImageUpload"}static get isOfficialPlugin(){return!0}static get requires(){return[sC,WA,XA]}}const cC=function(e,t){return function(o,n){if(null==o)return o;if(!mo(o))return e(o,n);for(var i=o.length,r=t?i:-1,s=Object(o);(t?r--:++r{t.setAttribute("resizedWidth",e.width,i),t.removeAttribute("resizedHeight",i),n.setImageNaturalSizeAttributes(i)}))}}class pC extends br{static get requires(){return[sA]}static get pluginName(){return"ImageResizeEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:custom",value:"custom",icon:"custom"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const e=this.editor,t=new hC(e);this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}afterInit(){this._registerSchema()}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(e){const t=this.editor,o=t.plugins.get("ImageUtils");t.conversion.for("downcast").add((t=>t.on(`attribute:resizedWidth:${e}`,((e,t,o)=>{if(!o.consumable.consume(t.item,e.name))return;const n=o.writer,i=o.mapper.toViewElement(t.item);null!==t.attributeNewValue?(n.setStyle("width",t.attributeNewValue,i),n.addClass("image_resized",i)):(n.removeStyle("width",i),n.removeClass("image_resized",i))})))),t.conversion.for("dataDowncast").attributeToAttribute({model:{name:e,key:"resizedHeight"},view:e=>({key:"style",value:{height:e}})}),t.conversion.for("editingDowncast").add((t=>t.on(`attribute:resizedHeight:${e}`,((t,n,i)=>{if(!i.consumable.consume(n.item,t.name))return;const r=i.writer,s=i.mapper.toViewElement(n.item),a="imageInline"===e?o.findViewImgElement(s):s;null!==n.attributeNewValue?r.setStyle("height",n.attributeNewValue,a):r.removeStyle("height",a)})))),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:e=>iA(e)?null:e.getStyle("width")}}),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:e=>iA(e)?null:e.getStyle("height")}})}}const mC=(()=>({small:up.objectSizeSmall,medium:up.objectSizeMedium,large:up.objectSizeLarge,custom:up.objectSizeCustom,original:up.objectSizeFull}))();class gC extends br{static get requires(){return[pC]}static get pluginName(){return"ImageResizeButtons"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),o=e.commands.get("resizeImage");this.bind("isEnabled").to(o);for(const e of t)this._registerImageResizeButton(e);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:o,value:n,icon:i}=e;t.ui.componentFactory.add(o,(o=>{const r=new Kp(o),s=t.commands.get("resizeImage"),a=this._getOptionLabelValue(e,!0);if(!mC[i])throw new S("imageresizebuttons-missing-icon",t,e);if(r.set({label:a,icon:mC[i],tooltip:a,isToggleable:!0}),r.bind("isEnabled").to(this),t.plugins.has("ImageCustomResizeUI")&&fC(e)){const e=t.plugins.get("ImageCustomResizeUI");this.listenTo(r,"execute",(()=>{e._showForm(this._resizeUnit)}))}else{const e=n?n+this._resizeUnit:null;r.bind("isOn").to(s,"value",bC(e)),this.listenTo(r,"execute",(()=>{t.execute("resizeImage",{width:e})}))}return r}))}_registerImageResizeDropdown(e){const t=this.editor,o=t.t,n=e.find((e=>!e.value)),i=i=>{const r=t.commands.get("resizeImage"),s=kf(i,vg),a=s.buttonView,l=o("Resize image");return a.set({tooltip:l,commandValue:n.value,icon:mC.medium,isToggleable:!0,label:this._getOptionLabelValue(n),withText:!0,class:"ck-resize-image-button",ariaLabel:l,ariaLabelledBy:void 0}),a.bind("label").to(r,"value",(e=>e&&e.width?e.width:this._getOptionLabelValue(n))),s.bind("isEnabled").to(this),yf(s,(()=>this._getResizeDropdownListItemDefinitions(e,r)),{ariaLabel:o("Image resize list"),role:"menu"}),this.listenTo(s,"execute",(e=>{"onClick"in e.source?e.source.onClick():(t.execute(e.source.commandName,{width:e.source.commandValue}),t.editing.view.focus())})),s};t.ui.componentFactory.add("resizeImage",i),t.ui.componentFactory.add("imageResize",i)}_getOptionLabelValue(e,t=!1){const o=this.editor.t;return e.label?e.label:t?fC(e)?o("Custom image size"):e.value?o("Resize image to %0",e.value+this._resizeUnit):o("Resize image to the original size"):fC(e)?o("Custom"):e.value?e.value+this._resizeUnit:o("Original")}_getResizeDropdownListItemDefinitions(e,t){const{editor:o}=this,n=new tr,i=e.map((e=>fC(e)?{...e,valueWithUnits:"custom"}:e.value?{...e,valueWithUnits:`${e.value}${this._resizeUnit}`}:{...e,valueWithUnits:null}));for(const e of i){let r=null;if(o.plugins.has("ImageCustomResizeUI")&&fC(e)){const n=o.plugins.get("ImageCustomResizeUI");r={type:"button",model:new hk({label:this._getOptionLabelValue(e),role:"menuitemradio",withText:!0,icon:null,onClick:()=>{n._showForm(this._resizeUnit)}})};const s=uC(i,"valueWithUnits");r.model.bind("isOn").to(t,"value",kC(s))}else r={type:"button",model:new hk({commandName:"resizeImage",commandValue:e.valueWithUnits,label:this._getOptionLabelValue(e),role:"menuitemradio",withText:!0,icon:null})},r.model.bind("isOn").to(t,"value",bC(e.valueWithUnits));r.model.bind("isEnabled").to(t,"isEnabled"),n.add(r)}return n}}function fC(e){return"custom"===e.value}function bC(e){return t=>null===e&&t===e||null!==t&&t.width===e}function kC(e){return t=>!e.some((e=>bC(e)(t)))}const wC="image_resized";class _C extends br{static get requires(){return[W_,sA]}static get pluginName(){return"ImageResizeHandles"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view,o=e.plugins.get("ImageUtils");t.addObserver(_A),this.listenTo(t.document,"imageLoaded",((n,i)=>{if(!i.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const r=e.editing.view.domConverter,s=r.domToView(i.target),a=o.getImageWidgetFromImageView(s);let l=this.editor.plugins.get(W_).getResizerByViewElement(a);if(l)return void l.redraw();const c=e.editing.mapper,d=c.toModelElement(a);l=e.plugins.get(W_).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:d,viewElement:a,editor:e,getHandleHost:e=>e.querySelector("img"),getResizeHost:()=>r.mapViewToDom(c.toViewElement(d)),isCentered:()=>"alignCenter"==d.getAttribute("imageStyle"),onCommit(o){t.change((e=>{e.removeClass(wC,a)})),e.execute("resizeImage",{width:o})}}),l.on("updateSize",(()=>{a.hasClass(wC)||t.change((e=>{e.addClass(wC,a)}));const e="imageInline"===d.name?s:a;e.getStyle("height")&&t.change((t=>{t.removeStyle("height",e)}))})),l.bind("isEnabled").to(this)}))}}function yC(e){if(!e)return null;const[,t,o]=e.trim().match(/([.,\d]+)(%|px)$/)||[],n=Number.parseFloat(t);return Number.isNaN(n)?null:{value:n,unit:o}}function AC(e,t,o){return"px"===o?{value:t.value,unit:"px"}:{value:t.value/e*100,unit:"%"}}function CC(e){const{editing:t}=e,o=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);if(!o)return null;const n=t.mapper.toViewElement(o);return{model:o,view:n,dom:t.view.domConverter.mapViewToDom(n)}}var vC=i(1173),xC={attributes:{"data-cke":!0}};xC.setAttributes=Xr(),xC.insert=Yr().bind(null,"head"),xC.domAPI=Zr(),xC.insertStyleElement=ts();Gr()(vC.A,xC);vC.A&&vC.A.locals&&vC.A.locals;class EC extends zp{constructor(e,t,o){super(e);const n=this.locale.t;this.focusTracker=new nr,this.keystrokes=new ar,this.unit=t,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(n("Save"),up.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),up.cancel,"ck-button-cancel","cancel"),this._focusables=new hp,this._validators=o,this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-custom-resize-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),this.keystrokes.listenTo(this.element),Vp({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(e,t,o,n){const i=new Kp(this.locale);return i.set({label:e,icon:t,tooltip:!0}),i.extendTemplate({attributes:{class:o}}),n&&i.delegate("execute").to(this,n),i}_createLabeledInputView(){const e=this.locale.t,t=new dg(this.locale,Df);return t.label=e("Resize image (in %0)",this.unit),t.fieldView.set({step:.1}),t}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.labeledInput.errorText=t,!1}return!0}resetFormStatus(){this.labeledInput.errorText=null}get rawSize(){const{element:e}=this.labeledInput.fieldView;return e?e.value:null}get parsedSize(){const{rawSize:e}=this;if(null===e)return null;const t=Number.parseFloat(e);return Number.isNaN(t)?null:t}get sizeWithUnits(){const{parsedSize:e,unit:t}=this;return null===e?null:`${e}${t}`}}class DC extends br{static get requires(){return[kk]}static get pluginName(){return"ImageCustomResizeUI"}static get isOfficialPlugin(){return!0}destroy(){super.destroy(),this._form&&this._form.destroy()}_createForm(e){const t=this.editor;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(Np(EC))(t.locale,e,function(e){const t=e.t;return[e=>""===e.rawSize.trim()?t("The value must not be empty."):null===e.parsedSize?t("The value should be a plain number."):void 0]}(t)),this._form.render(),this.listenTo(this._form,"submit",(()=>{this._form.isValid()&&(t.execute("resizeImage",{width:this._form.sizeWithUnits}),this._hideForm(!0))})),this.listenTo(this._form.labeledInput,"change:errorText",(()=>{t.ui.update()})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),Op({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(e){if(this._isVisible)return;this._form||this._createForm(e);const t=this.editor,o=this._form.labeledInput;this._form.disableCssTransitions(),this._form.resetFormStatus(),this._isInBalloon||this._balloon.add({view:this._form,position:gA(t)});const n=function(e,t){const o=CC(e);if(!o)return null;const n=yC(o.model.getAttribute("resizedWidth")||null);return n?n.unit===t?n:AC(Dw(o.dom),{unit:"px",value:new Gn(o.dom).width},t):null}(t,e),i=n?n.value.toFixed(1):"",r=function(e,t){const o=CC(e);if(!o)return null;const n=Dw(o.dom),i=yC(window.getComputedStyle(o.dom).minWidth)||{value:1,unit:"px"};return{unit:t,lower:Math.max(.1,AC(n,i,t).value),upper:"px"===t?n:100}}(t,e);o.fieldView.value=o.fieldView.element.value=i,r&&Object.assign(o.fieldView,{min:r.lower.toFixed(1),max:Math.ceil(r.upper).toFixed(1)}),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}var BC=i(4214),SC={attributes:{"data-cke":!0}};SC.setAttributes=Xr(),SC.insert=Yr().bind(null,"head"),SC.domAPI=Zr(),SC.insertStyleElement=ts();Gr()(BC.A,SC);BC.A&&BC.A.locals&&BC.A.locals;class TC extends wr{constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map((e=>{if(e.isDefault)for(const t of e.modelElements)this._defaultStyles[t]=e.name;return[e.name,e]})))}refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?e.hasAttribute("imageStyle")?this.value=e.getAttribute("imageStyle"):this.value=this._defaultStyles[e.name]:this.value=!1}execute(e={}){const t=this.editor,o=t.model,n=t.plugins.get("ImageUtils");o.change((t=>{const i=e.value,{setImageSizes:r=!0}=e;let s=n.getClosestSelectedImageElement(o.document.selection);i&&this.shouldConvertImageType(i,s)&&(this.editor.execute(n.isBlockImage(s)?"imageTypeInline":"imageTypeBlock",{setImageSizes:r}),s=n.getClosestSelectedImageElement(o.document.selection)),!i||this._styles.get(i).isDefault?t.removeAttribute("imageStyle",s):t.setAttribute("imageStyle",i,s),r&&n.setImageNaturalSizeAttributes(s)}))}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const IC={get inline(){return{name:"inline",title:"In line",icon:up.objectInline,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:up.objectLeft,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:up.objectBlockLeft,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:up.objectCenter,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:up.objectRight,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:up.objectBlockRight,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:up.objectCenter,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:up.objectRight,modelElements:["imageBlock"],className:"image-style-side"}}},PC=(()=>({full:up.objectFullWidth,left:up.objectBlockLeft,right:up.objectBlockRight,center:up.objectCenter,inlineLeft:up.objectLeft,inlineRight:up.objectRight,inline:up.objectInline}))(),FC=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function RC(e){T("image-style-configuration-definition-invalid",e)}const MC={normalizeStyles:function(e){const t=(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?IC[e]?{...IC[e]}:{name:e}:function(e,t){const o={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(o[n]=e[n]);return o}(IC[e.name],e);"string"==typeof e.icon&&(e.icon=PC[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:o}){const{modelElements:n,name:i}=e;if(!(n&&n.length&&i))return RC({style:e}),!1;{const i=[t?"imageBlock":null,o?"imageInline":null];if(!n.some((e=>i.includes(e))))return T("image-style-missing-dependency",{style:e,missingPlugins:n.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)));return t},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...FC]:[]},warnInvalidStyle:RC,DEFAULT_OPTIONS:IC,DEFAULT_ICONS:PC,DEFAULT_DROPDOWN_DEFINITIONS:FC};function zC(e,t){for(const o of t)if(o.name===e)return o}class OC extends br{static get pluginName(){return"ImageStyleEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[sA]}init(){const{normalizeStyles:e,getDefaultStylesConfiguration:t}=MC,o=this.editor,n=o.plugins.has("ImageBlockEditing"),i=o.plugins.has("ImageInlineEditing");o.config.define("image.styles",t(n,i)),this.normalizedStyles=e({configuredStyles:o.config.get("image.styles"),isBlockPluginLoaded:n,isInlinePluginLoaded:i}),this._setupConversion(n,i),this._setupPostFixer(),o.commands.add("imageStyle",new TC(o,this.normalizedStyles))}_setupConversion(e,t){const o=this.editor,n=o.model.schema,i=(r=this.normalizedStyles,(e,t,o)=>{if(!o.consumable.consume(t.item,e.name))return;const n=zC(t.attributeNewValue,r),i=zC(t.attributeOldValue,r),s=o.mapper.toViewElement(t.item),a=o.writer;i&&a.removeClass(i.className,s),n&&a.addClass(n.className,s)});var r;const s=function(e){const t={imageInline:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageInline"))),imageBlock:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageBlock")))};return(e,o,n)=>{if(!o.modelRange)return;const i=o.viewItem,r=or(o.modelRange.getItems());if(r&&n.schema.checkAttribute(r,"imageStyle"))for(const e of t[r.name])n.consumable.consume(i,{classes:e.className})&&n.writer.setAttribute("imageStyle",e.name,r)}}(this.normalizedStyles);o.editing.downcastDispatcher.on("attribute:imageStyle",i),o.data.downcastDispatcher.on("attribute:imageStyle",i),e&&(n.extend("imageBlock",{allowAttributes:"imageStyle"}),o.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),t&&(n.extend("imageInline",{allowAttributes:"imageStyle"}),o.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,o=e.plugins.get(sA),n=new Map(this.normalizedStyles.map((e=>[e.name,e])));t.registerPostFixer((e=>{let i=!1;for(const r of t.differ.getChanges())if("insert"==r.type||"attribute"==r.type&&"imageStyle"==r.attributeKey){let t="insert"==r.type?r.position.nodeAfter:r.range.start.nodeAfter;if(t&&t.is("element","paragraph")&&t.childCount>0&&(t=t.getChild(0)),!o.isImage(t))continue;const s=t.getAttribute("imageStyle");if(!s)continue;const a=n.get(s);a&&a.modelElements.includes(t.name)||(e.removeAttribute("imageStyle",t),i=!0)}return i}))}}var NC=i(7879),VC={attributes:{"data-cke":!0}};VC.setAttributes=Xr(),VC.insert=Yr().bind(null,"head"),VC.domAPI=Zr(),VC.insertStyleElement=ts();Gr()(NC.A,VC);NC.A&&NC.A.locals&&NC.A.locals;class LC extends br{static get requires(){return[OC]}static get pluginName(){return"ImageStyleUI"}static get isOfficialPlugin(){return!0}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],o=HC(e.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const e of o)this._createButton(e);const n=HC([...t.filter(W),...MC.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const e of n)this._createDropdown(e,o)}_createDropdown(e,t){const o=this.editor.ui.componentFactory;o.add(e.name,(n=>{let i;const{defaultItem:r,items:s,title:a}=e,l=s.filter((e=>t.find((({name:t})=>jC(t)===e)))).map((e=>{const t=o.create(e);return e===r&&(i=t),t}));s.length!==l.length&&MC.warnInvalidStyle({dropdown:e});const c=kf(n,pf),d=c.buttonView,u=d.arrowView;return wf(c,l,{enableActiveItemFocusOnDropdownOpen:!0}),d.set({label:qC(a,i.label),class:null,tooltip:!0}),u.unbind("label"),u.set({label:a}),d.bind("icon").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Oi);return t<0?i.icon:l[t].icon})),d.bind("label").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Oi);return qC(a,t<0?i.label:l[t].label)})),d.bind("isOn").toMany(l,"isOn",((...e)=>e.some(Oi))),d.bind("class").toMany(l,"isOn",((...e)=>e.some(Oi)?"ck-splitbutton_flatten":void 0)),d.on("execute",(()=>{l.some((({isOn:e})=>e))?c.isOpen=!c.isOpen:i.fire("execute")})),c.bind("isEnabled").toMany(l,"isEnabled",((...e)=>e.some(Oi))),this.listenTo(c,"execute",(()=>{this.editor.editing.view.focus()})),c}))}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(jC(t),(o=>{const n=this.editor.commands.get("imageStyle"),i=new Kp(o);return i.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(n,"isEnabled"),i.bind("isOn").to(n,"value",(e=>e===t)),i.on("execute",this._executeCommand.bind(this,t)),i}))}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function HC(e,t){for(const o of e)t[o.title]&&(o.title=t[o.title]);return e}function jC(e){return`imageStyle:${e}`}function qC(e,t){return(e?e+": ":"")+t}function $C(e){return e.map((e=>W(e)?e.name:e))}const UC=Symbol("isWpButtonMacroSymbol");function WC(e){const t=e.getSelectedElement();return!(!t||!function(e){return!!e.getCustomProperty(UC)&&ww(e)}(t))}class GC extends br{static get pluginName(){return"OPChildPagesEditing"}static get buttonName(){return"insertChildPages"}init(){const e=this.editor,t=e.model,o=e.conversion;t.schema.register("op-macro-child-pages",{allowWhere:["$block"],allowAttributes:["page"],isBlock:!0,isLimit:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"child_pages"},model:(e,{writer:t})=>{const o=e.getAttribute("data-page")||"",n="true"==e.getAttribute("data-include-parent");return t.createElement("op-macro-child-pages",{page:o,includeParent:n})}}),o.for("editingDowncast").elementToElement({model:"op-macro-child-pages",view:(e,{writer:t})=>this.createMacroViewElement(e,t)}).add((e=>e.on("attribute:page",this.modelAttributeToView.bind(this)))).add((e=>e.on("attribute:includeParent",this.modelAttributeToView.bind(this)))),o.for("dataDowncast").elementToElement({model:"op-macro-child-pages",view:(e,{writer:t})=>t.createContainerElement("macro",{class:"child_pages","data-page":e.getAttribute("page")||"","data-include-parent":e.getAttribute("includeParent")||""})}),e.ui.componentFactory.add(GC.buttonName,(t=>{const o=new Kp(t);return o.set({label:window.I18n.t("js.editor.macro.child_pages.button"),withText:!0}),o.on("execute",(()=>{e.model.change((t=>{const o=t.createElement("op-macro-child-pages",{});e.model.insertContent(o,e.model.document.selection)}))})),o}))}modelAttributeToView(e,t,o){const n=t.item;if(!n.is("element","op-macro-child-pages"))return;o.consumable.consume(t.item,e.name);const i=o.mapper.toViewElement(n);o.writer.remove(o.writer.createRangeIn(i)),this.setPlaceholderContent(o.writer,n,i)}macroLabel(){return window.I18n.t("js.editor.macro.child_pages.text")}pageLabel(e){return e&&e.length>0?e:window.I18n.t("js.editor.macro.child_pages.this_page")}includeParentText(e){return e?` (${window.I18n.t("js.editor.macro.child_pages.include_parent")})`:""}createMacroViewElement(e,t){const o=t.createContainerElement("div");return this.setPlaceholderContent(t,e,o),function(e,t,o){return t.setCustomProperty(UC,!0,e),_w(e,t,{label:o})}(o,t,{label:this.macroLabel()})}setPlaceholderContent(e,t,o){const n=t.getAttribute("page"),i=t.getAttribute("includeParent"),r=this.macroLabel(),s=this.pageLabel(n),a=e.createContainerElement("span",{class:"macro-value"});let l=[e.createText(`${r} `)];e.insert(e.createPositionAt(a,0),e.createText(`${s}`)),l.push(a),l.push(e.createText(this.includeParentText(i))),e.insert(e.createPositionAt(o,0),l)}}class KC extends br{static get requires(){return[kk]}static get pluginName(){return"OPChildPagesToolbar"}init(){const e=this.editor,t=this.editor.model,o=Pw(e);G_(e,"opEditChildPagesMacroButton",(e=>{const n=o.services.macros,i=e.getAttribute("page"),r=e.getAttribute("includeParent"),s=i&&i.length>0?i:"";n.configureChildPages(s,r).then((o=>t.change((t=>{t.setAttribute("page",o.page,e),t.setAttribute("includeParent",o.includeParent,e)}))))}))}afterInit(){Z_(this,this.editor,"OPChildPages",WC)}}class ZC extends wr{constructor(e){super(e),this.affectsData=!1}execute(){const e=this.editor.model,t=e.document.selection;let o=e.schema.getLimitElement(t);if(t.containsEntireContent(o)||!JC(e.schema,o))do{if(o=o.parent,!o)return}while(!JC(e.schema,o));e.change((e=>{e.setSelection(o,"in")}))}}function JC(e,t){return e.isLimit(t)&&(e.checkChild(t,"$text")||e.checkChild(t,"paragraph"))}const YC=xi("Ctrl+A");class QC extends br{static get pluginName(){return"SelectAllEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t,o=e.editing.view.document;e.commands.add("selectAll",new ZC(e)),this.listenTo(o,"keydown",((t,o)=>{vi(o)===YC&&(e.execute("selectAll"),o.preventDefault())})),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Select all"),keystroke:"CTRL+A"}]})}}class XC extends br{static get pluginName(){return"SelectAllUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("selectAll",(()=>{const e=this._createButton(Kp);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:selectAll",(()=>this._createButton(Em)))}_createButton(e){const t=this.editor,o=t.locale,n=t.commands.get("selectAll"),i=new e(t.locale),r=o.t;return i.set({label:r("Select all"),icon:'',keystroke:"Ctrl+A"}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",(()=>{t.execute("selectAll"),t.editing.view.focus()})),i}}class ev extends br{static get requires(){return[QC,XC]}static get pluginName(){return"SelectAll"}static get isOfficialPlugin(){return!0}}const tv="ckCsrfToken",ov="abcdefghijklmnopqrstuvwxyz0123456789";function nv(){let e=function(e){e=e.toLowerCase();const t=document.cookie.split(";");for(const o of t){const t=o.split("=");if(decodeURIComponent(t[0].trim().toLowerCase())===e)return decodeURIComponent(t[1])}return null}(tv);var t,o;return e&&40==e.length||(e=function(e){let t="";const o=new Uint8Array(e);window.crypto.getRandomValues(o);for(let e=0;e.5?n.toUpperCase():n}return t}(40),t=tv,o=e,document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(o)+";path=/"),e}class iv{constructor(e,t,o){this.loader=e,this.url=t,this.t=o}upload(){return this.loader.file.then((e=>new Promise(((t,o)=>{this._initRequest(),this._initListeners(t,o,e),this._sendRequest(e)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const e=this.xhr=new XMLHttpRequest;e.open("POST",this.url,!0),e.responseType="json"}_initListeners(e,t,o){const n=this.xhr,i=this.loader,r=(0,this.t)("Cannot upload file:")+` ${o.name}.`;n.addEventListener("error",(()=>t(r))),n.addEventListener("abort",(()=>t())),n.addEventListener("load",(()=>{const o=n.response;if(!o||!o.uploaded)return t(o&&o.error&&o.error.message?o.error.message:r);e({default:o.url})})),n.upload&&n.upload.addEventListener("progress",(e=>{e.lengthComputable&&(i.uploadTotal=e.total,i.uploaded=e.loaded)}))}_sendRequest(e){const t=new FormData;t.append("upload",e),t.append("ckCsrfToken",nv()),this.xhr.send(t)}}function rv(e,t,o,n){let i,r=null;"function"==typeof n?i=n:(r=e.commands.get(n),i=()=>{e.execute(n)}),e.model.document.on("change:data",((s,a)=>{if(r&&!r.isEnabled||!t.isEnabled)return;const l=or(e.model.document.selection.getRanges());if(!l.isCollapsed)return;if(a.isUndo||!a.isLocal)return;const c=Array.from(e.model.document.differ.getChanges()),d=c[0];if(1!=c.length||"insert"!==d.type||"$text"!=d.name||1!=d.length)return;const u=d.position.parent;if(u.is("element","codeBlock"))return;if(u.is("element","listItem")&&"function"!=typeof n&&!["numberedList","bulletedList","todoList"].includes(n))return;if(r&&!0===r.value)return;const h=u.getChild(0),p=e.model.createRangeOn(h);if(!p.containsRange(l)&&!l.end.isEqual(p.end))return;const m=o.exec(h.data.substr(0,l.end.offset));m&&e.model.enqueueChange((t=>{const o=t.createPositionAt(u,0),n=t.createPositionAt(u,m[0].length),r=new vc(o,n);if(!1!==i({match:m})){t.remove(r);const o=e.model.document.selection.getFirstRange(),n=t.createRangeIn(u);!u.isEmpty||n.isEqual(o)||n.containsRange(o,!0)||t.remove(u)}r.detach(),e.model.enqueueChange((()=>{e.plugins.get("Delete").requestUndoOnBackspace()}))}))}))}function sv(e,t,o,n){let i,r;o instanceof RegExp?i=o:r=o,r=r||(e=>{let t;const o=[],n=[];for(;null!==(t=i.exec(e))&&!(t&&t.length<4);){let{index:e,1:i,2:r,3:s}=t;const a=i+r+s;e+=t[0].length-a.length;const l=[e,e+i.length],c=[e+i.length+r.length,e+i.length+r.length+s.length];o.push(l),o.push(c),n.push([e+i.length,e+i.length+r.length])}return{remove:o,format:n}}),e.model.document.on("change:data",((o,i)=>{if(i.isUndo||!i.isLocal||!t.isEnabled)return;const s=e.model,a=s.document.selection;if(!a.isCollapsed)return;const l=Array.from(s.document.differ.getChanges()),c=l[0];if(1!=l.length||"insert"!==c.type||"$text"!=c.name||1!=c.length)return;const d=a.focus,u=d.parent,{text:h,range:p}=function(e,t){let o=e.start;const n=Array.from(e.getItems()).reduce(((e,n)=>!n.is("$text")&&!n.is("$textProxy")||n.getAttribute("code")?(o=t.createPositionAfter(n),""):e+n.data),"");return{text:n,range:t.createRange(o,e.end)}}(s.createRange(s.createPositionAt(u,0),d),s),m=r(h),g=av(p.start,m.format,s),f=av(p.start,m.remove,s);g.length&&f.length&&s.enqueueChange((t=>{if(!1!==n(t,g)){for(const e of f.reverse())t.remove(e);s.enqueueChange((()=>{e.plugins.get("Delete").requestUndoOnBackspace()}))}}))}))}function av(e,t,o){return t.filter((e=>void 0!==e[0]&&void 0!==e[1])).map((t=>o.createRange(e.getShiftedBy(t[0]),e.getShiftedBy(t[1]))))}function lv(e,t){return(o,n)=>{if(!e.commands.get(t).isEnabled)return!1;const i=e.model.schema.getValidRanges(n,t);for(const e of i)o.setAttribute(t,!0,e);o.removeSelectionAttribute(t)}}class cv extends wr{constructor(e,t){super(e),this.attributeKey=t}refresh(){const e=this.editor.model,t=e.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=e.schema.checkAttributeInSelection(t.selection,this.attributeKey)}execute(e={}){const t=this.editor.model,o=t.document.selection,n=void 0===e.forceValue?!this.value:e.forceValue;t.change((e=>{if(o.isCollapsed)n?e.setSelectionAttribute(this.attributeKey,!0):e.removeSelectionAttribute(this.attributeKey);else{const i=t.schema.getValidRanges(o.getRanges(),this.attributeKey);for(const t of i)n?e.setAttribute(this.attributeKey,n,t):e.removeAttribute(this.attributeKey,t)}}))}_getValueFromFirstAllowedNode(){const e=this.editor.model,t=e.schema,o=e.document.selection;if(o.isCollapsed)return o.hasAttribute(this.attributeKey);for(const e of o.getRanges())for(const o of e.getItems())if(t.checkAttribute(o,this.attributeKey))return o.hasAttribute(this.attributeKey);return!1}}const dv="bold";class uv extends br{static get pluginName(){return"BoldEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:dv}),e.model.schema.setAttributeProperties(dv,{isFormatting:!0,copyOnEnter:!0}),e.conversion.attributeToElement({model:dv,view:"strong",upcastAlso:["b",e=>{const t=e.getStyle("font-weight");return t&&("bold"==t||Number(t)>=600)?{name:!0,styles:["font-weight"]}:null}]}),e.commands.add(dv,new cv(e,dv)),e.keystrokes.set("CTRL+B",dv),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Bold text"),keystroke:"CTRL+B"}]})}}function hv({editor:e,commandName:t,plugin:o,icon:n,label:i,keystroke:r}){return s=>{const a=e.commands.get(t),l=new s(e.locale);return l.set({label:i,icon:n,keystroke:r,isToggleable:!0}),l.bind("isEnabled").to(a,"isEnabled"),l.bind("isOn").to(a,"value"),l instanceof Em?l.set({role:"menuitemcheckbox"}):l.set({tooltip:!0}),o.listenTo(l,"execute",(()=>{e.execute(t),e.editing.view.focus()})),l}}const pv="bold";class mv extends br{static get pluginName(){return"BoldUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=hv({editor:e,commandName:pv,plugin:this,icon:up.bold,label:t("Bold"),keystroke:"CTRL+B"});e.ui.componentFactory.add(pv,(()=>o(Kp))),e.ui.componentFactory.add("menuBar:"+pv,(()=>o(Em)))}}const gv="code";class fv extends br{static get pluginName(){return"CodeEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[n_]}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:gv}),e.model.schema.setAttributeProperties(gv,{isFormatting:!0,copyOnEnter:!1}),e.conversion.attributeToElement({model:gv,view:"code"}),e.commands.add(gv,new cv(e,gv)),e.plugins.get(n_).registerAttribute(gv),p_(e,gv,"code","ck-code_selected"),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Move out of an inline code style"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}}var bv=i(9248),kv={attributes:{"data-cke":!0}};kv.setAttributes=Xr(),kv.insert=Yr().bind(null,"head"),kv.domAPI=Zr(),kv.insertStyleElement=ts();Gr()(bv.A,kv);bv.A&&bv.A.locals&&bv.A.locals;const wv="code";class _v extends br{static get pluginName(){return"CodeUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=hv({editor:e,commandName:wv,plugin:this,icon:'',label:t("Code")});e.ui.componentFactory.add(wv,(()=>o(Kp))),e.ui.componentFactory.add("menuBar:"+wv,(()=>o(Em)))}}const yv="italic";class Av extends br{static get pluginName(){return"ItalicEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:yv}),e.model.schema.setAttributeProperties(yv,{isFormatting:!0,copyOnEnter:!0}),e.conversion.attributeToElement({model:yv,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),e.commands.add(yv,new cv(e,yv)),e.keystrokes.set("CTRL+I",yv),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Italic text"),keystroke:"CTRL+I"}]})}}const Cv="italic";class vv extends br{static get pluginName(){return"ItalicUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=hv({editor:e,commandName:Cv,plugin:this,icon:'',keystroke:"CTRL+I",label:t("Italic")});e.ui.componentFactory.add(Cv,(()=>o(Kp))),e.ui.componentFactory.add("menuBar:"+Cv,(()=>o(Em)))}}const xv="strikethrough";class Ev extends br{static get pluginName(){return"StrikethroughEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:xv}),e.model.schema.setAttributeProperties(xv,{isFormatting:!0,copyOnEnter:!0}),e.conversion.attributeToElement({model:xv,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]}),e.commands.add(xv,new cv(e,xv)),e.keystrokes.set("CTRL+SHIFT+X","strikethrough"),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Strikethrough text"),keystroke:"CTRL+SHIFT+X"}]})}}const Dv="strikethrough";class Bv extends br{static get pluginName(){return"StrikethroughUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=hv({editor:e,commandName:Dv,plugin:this,icon:'',keystroke:"CTRL+SHIFT+X",label:t("Strikethrough")});e.ui.componentFactory.add(Dv,(()=>o(Kp))),e.ui.componentFactory.add("menuBar:"+Dv,(()=>o(Em)))}}class Sv extends wr{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor.model,o=t.schema,n=t.document.selection,i=Array.from(n.getSelectedBlocks()),r=void 0===e.forceValue?!this.value:e.forceValue;t.change((e=>{if(r){const t=i.filter((e=>Tv(e)||Pv(o,e)));this._applyQuote(e,t)}else this._removeQuote(e,i.filter(Tv))}))}_getValue(){const e=or(this.editor.model.document.selection.getSelectedBlocks());return!(!e||!Tv(e))}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,o=or(e.getSelectedBlocks());return!!o&&Pv(t,o)}_removeQuote(e,t){Iv(e,t).reverse().forEach((t=>{if(t.start.isAtStart&&t.end.isAtEnd)return void e.unwrap(t.start.parent);if(t.start.isAtStart){const o=e.createPositionBefore(t.start.parent);return void e.move(t,o)}t.end.isAtEnd||e.split(t.end);const o=e.createPositionAfter(t.end.parent);e.move(t,o)}))}_applyQuote(e,t){const o=[];Iv(e,t).reverse().forEach((t=>{let n=Tv(t.start);n||(n=e.createElement("blockQuote"),e.wrap(t,n)),o.push(n)})),o.reverse().reduce(((t,o)=>t.nextSibling==o?(e.merge(e.createPositionAfter(t)),t):o))}}function Tv(e){return"blockQuote"==e.parent.name?e.parent:null}function Iv(e,t){let o,n=0;const i=[];for(;n{const n=e.model.document.differ.getChanges();for(const e of n)if("insert"==e.type){const n=e.position.nodeAfter;if(!n)continue;if(n.is("element","blockQuote")&&n.isEmpty)return o.remove(n),!0;if(n.is("element","blockQuote")&&!t.checkChild(e.position,n))return o.unwrap(n),!0;if(n.is("element")){const e=o.createRangeIn(n);for(const n of e.getItems())if(n.is("element","blockQuote")&&!t.checkChild(o.createPositionBefore(n),n))return o.unwrap(n),!0}}else if("remove"==e.type){const t=e.position.parent;if(t.is("element","blockQuote")&&t.isEmpty)return o.remove(t),!0}return!1}));const o=this.editor.editing.view.document,n=e.model.document.selection,i=e.commands.get("blockQuote");this.listenTo(o,"enter",((t,o)=>{if(!n.isCollapsed||!i.value)return;n.getLastPosition().parent.isEmpty&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),o.preventDefault(),t.stop())}),{context:"blockquote"}),this.listenTo(o,"delete",((t,o)=>{if("backward"!=o.direction||!n.isCollapsed||!i.value)return;const r=n.getLastPosition().parent;r.isEmpty&&!r.previousSibling&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),o.preventDefault(),t.stop())}),{context:"blockquote"})}}var Rv=i(1501),Mv={attributes:{"data-cke":!0}};Mv.setAttributes=Xr(),Mv.insert=Yr().bind(null,"head"),Mv.domAPI=Zr(),Mv.insertStyleElement=ts();Gr()(Rv.A,Mv);Rv.A&&Rv.A.locals&&Rv.A.locals;class zv extends br{static get pluginName(){return"BlockQuoteUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("blockQuote",(()=>{const e=this._createButton(Kp);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:blockQuote",(()=>{const e=this._createButton(Em);return e.set({role:"menuitemcheckbox"}),e}))}_createButton(e){const t=this.editor,o=t.locale,n=t.commands.get("blockQuote"),i=new e(t.locale),r=o.t;return i.set({label:r("Block quote"),icon:up.quote,isToggleable:!0}),i.bind("isEnabled").to(n,"isEnabled"),i.bind("isOn").to(n,"value"),this.listenTo(i,"execute",(()=>{t.execute("blockQuote"),t.editing.view.focus()})),i}}class Ov extends wr{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}refresh(){const e=this.editor.model,t=or(e.document.selection.getSelectedBlocks());this.value=!!t&&t.is("element","paragraph"),this.isEnabled=!!t&&Nv(t,e.schema)}execute(e={}){const t=this.editor.model,o=t.document,n=e.selection||o.selection;t.canEditAt(n)&&t.change((e=>{const o=n.getSelectedBlocks();for(const n of o)!n.is("element","paragraph")&&Nv(n,t.schema)&&e.rename(n,"paragraph")}))}}function Nv(e,t){return t.checkChild(e.parent,"paragraph")&&!t.isObject(e)}class Vv extends wr{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}execute(e){const t=this.editor.model,o=e.attributes;let n=e.position;return t.canEditAt(n)?t.change((e=>{if(n=this._findPositionToInsertParagraph(n,e),!n)return null;const i=e.createElement("paragraph");return o&&t.schema.setAllowedAttributes(i,o,e),t.insertContent(i,n),e.setSelection(i,"in"),e.createPositionAt(i,0)})):null}_findPositionToInsertParagraph(e,t){const o=this.editor.model;if(o.schema.checkChild(e,"paragraph"))return e;const n=o.schema.findAllowedParent(e,"paragraph");if(!n)return null;const i=e.parent,r=o.schema.checkChild(i,"$text");return i.isEmpty||r&&e.isAtEnd?o.createPositionAfter(i):!i.isEmpty&&r&&e.isAtStart?o.createPositionBefore(i):t.split(e,n).position}}class Lv extends br{static get pluginName(){return"Paragraph"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model;e.commands.add("paragraph",new Ov(e)),e.commands.add("insertParagraph",new Vv(e)),t.schema.register("paragraph",{inheritAllFrom:"$block"}),e.conversion.elementToElement({model:"paragraph",view:"p"}),e.conversion.for("upcast").elementToElement({model:(e,{writer:t})=>Lv.paragraphLikeElements.has(e.name)?e.isEmpty?null:t.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}Lv.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const Hv=Lv;class jv extends wr{constructor(e,t){super(e),this.modelElements=t}refresh(){const e=or(this.editor.model.document.selection.getSelectedBlocks());this.value=!!e&&this.modelElements.includes(e.name)&&e.name,this.isEnabled=!!e&&this.modelElements.some((t=>qv(e,t,this.editor.model.schema)))}execute(e){const t=this.editor.model,o=t.document,n=e.value;t.change((e=>{const i=Array.from(o.selection.getSelectedBlocks()).filter((e=>qv(e,n,t.schema)));for(const t of i)t.is("element",n)||e.rename(t,n)}))}}function qv(e,t,o){return o.checkChild(e.parent,t)&&!o.isObject(e)}const $v="paragraph";class Uv extends br{static get pluginName(){return"HeadingEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[Hv]}init(){const e=this.editor,t=e.config.get("heading.options"),o=[];for(const n of t)"paragraph"!==n.model&&(e.model.schema.register(n.model,{inheritAllFrom:"$block"}),e.conversion.elementToElement(n),o.push(n.model));this._addDefaultH1Conversion(e),e.commands.add("heading",new jv(e,o))}afterInit(){const e=this.editor,t=e.commands.get("enter"),o=e.config.get("heading.options");t&&this.listenTo(t,"afterExecute",((t,n)=>{const i=e.model.document.selection.getFirstPosition().parent;o.some((e=>i.is("element",e.model)))&&!i.is("element",$v)&&0===i.childCount&&n.writer.rename(i,$v)}))}_addDefaultH1Conversion(e){e.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:D.low+1})}}var Wv=i(6186),Gv={attributes:{"data-cke":!0}};Gv.setAttributes=Xr(),Gv.insert=Yr().bind(null,"head"),Gv.domAPI=Zr(),Gv.insertStyleElement=ts();Gr()(Wv.A,Gv);Wv.A&&Wv.A.locals&&Wv.A.locals;class Kv extends br{static get pluginName(){return"HeadingUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t,o=function(e){const t=e.t,o={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return e.config.get("heading.options").map((e=>{const t=o[e.title];return t&&t!=e.title&&(e.title=t),e}))}(e),n=t("Choose heading"),i=t("Heading");e.ui.componentFactory.add("heading",(t=>{const r={},s=new tr,a=e.commands.get("heading"),l=e.commands.get("paragraph"),c=[a];for(const e of o){const t={type:"button",model:new hk({label:e.title,class:e.class,role:"menuitemradio",withText:!0})};"paragraph"===e.model?(t.model.bind("isOn").to(l,"value"),t.model.set("commandName","paragraph"),c.push(l)):(t.model.bind("isOn").to(a,"value",(t=>t===e.model)),t.model.set({commandName:"heading",commandValue:e.model})),s.add(t),r[e.model]=e.title}const d=kf(t);return yf(d,s,{ariaLabel:i,role:"menu"}),d.buttonView.set({ariaLabel:i,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:i}),d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),d.bind("isEnabled").toMany(c,"isEnabled",((...e)=>e.some((e=>e)))),d.buttonView.bind("label").to(a,"value",l,"value",((e,t)=>{const o=t?"paragraph":e;return"boolean"==typeof o?n:r[o]?r[o]:n})),d.buttonView.bind("ariaLabel").to(a,"value",l,"value",((e,t)=>{const o=t?"paragraph":e;return"boolean"==typeof o?i:r[o]?`${r[o]}, ${i}`:i})),this.listenTo(d,"execute",(t=>{const{commandName:o,commandValue:n}=t.source;e.execute(o,n?{value:n}:void 0),e.editing.view.focus()})),d})),e.ui.componentFactory.add("menuBar:heading",(n=>{const i=new Qk(n),r=e.commands.get("heading"),s=e.commands.get("paragraph"),a=[r],l=new Xk(n);i.set({class:"ck-heading-dropdown"}),l.set({ariaLabel:t("Heading"),role:"menu"}),i.buttonView.set({label:t("Heading")}),i.panelView.children.add(l);for(const t of o){const o=new jb(n,i),c=new Em(n);o.children.add(c),l.items.add(o),c.set({isToggleable:!0,label:t.title,role:"menuitemradio",class:t.class}),c.delegate("execute").to(i),c.on("execute",(()=>{const o="paragraph"===t.model?"paragraph":"heading";e.execute(o,{value:t.model}),e.editing.view.focus()})),"paragraph"===t.model?(c.bind("isOn").to(s,"value"),a.push(s)):c.bind("isOn").to(r,"value",(e=>e===t.model))}return i.bind("isEnabled").toMany(a,"isEnabled",((...e)=>e.some((e=>e)))),i}))}}new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class Zv{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(e){Array.isArray(e)?e.forEach((e=>this._definitions.add(e))):this._definitions.add(e)}getDispatcher(){return e=>{e.on("attribute:linkHref",((e,t,o)=>{if(!o.consumable.test(t.item,"attribute:linkHref"))return;if(!t.item.is("selection")&&!o.schema.isInline(t.item))return;const n=o.writer,i=n.document.selection;for(const e of this._definitions){const r=n.createAttributeElement("a",e.attributes,{priority:5});e.classes&&n.addClass(e.classes,r);for(const t in e.styles)n.setStyle(t,e.styles[t],r);n.setCustomProperty("link",!0,r),e.callback(t.attributeNewValue)?t.item.is("selection")?n.wrap(i.getFirstRange(),r):n.wrap(o.mapper.toViewRange(t.range),r):n.unwrap(o.mapper.toViewRange(t.range),r)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return e=>{e.on("attribute:linkHref:imageBlock",((e,t,{writer:o,mapper:n})=>{const i=n.toViewElement(t.item),r=Array.from(i.getChildren()).find((e=>e.is("element","a")));if(r)for(const e of this._definitions){const n=lr(e.attributes);if(e.callback(t.attributeNewValue)){for(const[e,t]of n)"class"===e?o.addClass(t,r):o.setAttribute(e,t,r);e.classes&&o.addClass(e.classes,r);for(const t in e.styles)o.setStyle(t,e.styles[t],r)}else{for(const[e,t]of n)"class"===e?o.removeClass(t,r):o.removeAttribute(e,r);e.classes&&o.removeClass(e.classes,r);for(const t in e.styles)o.removeStyle(t,r)}}}))}}}const Jv=function(e,t,o){var n=e.length;return o=void 0===o?n:o,!t&&o>=n?e:Es(e,t,o)};var Yv=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const Qv=function(e){return Yv.test(e)};const Xv=function(e){return e.split("")};var ex="\\ud800-\\udfff",tx="["+ex+"]",ox="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",nx="\\ud83c[\\udffb-\\udfff]",ix="[^"+ex+"]",rx="(?:\\ud83c[\\udde6-\\uddff]){2}",sx="[\\ud800-\\udbff][\\udc00-\\udfff]",ax="(?:"+ox+"|"+nx+")"+"?",lx="[\\ufe0e\\ufe0f]?",cx=lx+ax+("(?:\\u200d(?:"+[ix,rx,sx].join("|")+")"+lx+ax+")*"),dx="(?:"+[ix+ox+"?",ox,rx,sx,tx].join("|")+")",ux=RegExp(nx+"(?="+nx+")|"+dx+cx,"g");const hx=function(e){return e.match(ux)||[]};const px=function(e){return Qv(e)?hx(e):Xv(e)};const mx=function(e){return function(t){t=Vr(t);var o=Qv(t)?px(t):void 0,n=o?o[0]:t.charAt(0),i=o?Jv(o,1).join(""):t.slice(1);return n[e]()+i}}("toUpperCase"),gx=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,fx=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,bx=/^((\w+:(\/{2,})?)|(\W))/i,kx=["https?","ftps?","mailto"],wx="Ctrl+K";function _x(e,{writer:t}){const o=t.createAttributeElement("a",{href:e},{priority:5});return t.setCustomProperty("link",!0,o),o}function yx(e,t=kx){const o=String(e),n=t.join("|");return function(e,t){const o=e.replace(gx,"");return!!o.match(t)}(o,new RegExp(`${"^(?:(?:):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))".replace("",n)}`,"i"))?o:"#"}function Ax(e,t){return!!e&&t.checkAttribute(e.name,"linkHref")}function Cx(e,t){const o=(n=e,fx.test(n)?"mailto:":t);var n;const i=!!o&&!vx(e);return e&&i?o+e:e}function vx(e){return bx.test(e)}function xx(e){window.open(e,"_blank","noopener")}function Ex(e){const t=e.plugins.has("BookmarkEditing")?e.plugins.get("BookmarkEditing"):null;return{isScrollableToTarget:function(e){return!!e&&e.startsWith("#")&&!!t&&!!t.getElementForBookmarkId(e.slice(1))},scrollToTarget:function(o){const n=o.slice(1),i=t.getElementForBookmarkId(n);e.model.change((e=>{e.setSelection(i,"on")})),e.editing.view.scrollToTheSelection({alignToTop:!0,forceScroll:!0})}}}class Dx extends wr{constructor(){super(...arguments),this.manualDecorators=new tr,this.automaticDecorators=new Zv}restoreManualDecoratorStates(){for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}refresh(){const e=this.editor.model,t=e.document.selection,o=t.getSelectedElement()||or(t.getSelectedBlocks());Ax(o,e.schema)?(this.value=o.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttribute(o,"linkHref")):(this.value=t.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref"));for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}execute(e,t={}){const o=this.editor.model,n=o.document.selection,i=[],r=[];for(const e in t)t[e]?i.push(e):r.push(e);o.change((t=>{if(n.isCollapsed){const s=n.getFirstPosition();if(n.hasAttribute("linkHref")){const a=Bx(n);let l=u_(s,"linkHref",n.getAttribute("linkHref"),o);n.getAttribute("linkHref")===a&&(l=this._updateLinkContent(o,t,l,e)),t.setAttribute("linkHref",e,l),i.forEach((e=>{t.setAttribute(e,!0,l)})),r.forEach((e=>{t.removeAttribute(e,l)})),t.setSelection(t.createPositionAfter(l.end.nodeBefore))}else if(""!==e){const r=lr(n.getAttributes());r.set("linkHref",e),i.forEach((e=>{r.set(e,!0)}));const{end:a}=o.insertContent(t.createText(e,r),s);t.setSelection(a)}["linkHref",...i,...r].forEach((e=>{t.removeSelectionAttribute(e)}))}else{const s=o.schema.getValidRanges(n.getRanges(),"linkHref"),a=[];for(const e of n.getSelectedBlocks())o.schema.checkAttribute(e,"linkHref")&&a.push(t.createRangeOn(e));const l=a.slice();for(const e of s)this._isRangeToUpdate(e,a)&&l.push(e);for(const s of l){let a=s;if(1===l.length){const i=Bx(n);n.getAttribute("linkHref")===i&&(a=this._updateLinkContent(o,t,s,e),t.setSelection(t.createSelection(a)))}t.setAttribute("linkHref",e,a),i.forEach((e=>{t.setAttribute(e,!0,a)})),r.forEach((e=>{t.removeAttribute(e,a)}))}}}))}_getDecoratorStateFromModel(e){const t=this.editor.model,o=t.document.selection,n=o.getSelectedElement();return Ax(n,t.schema)?n.getAttribute(e):o.getAttribute(e)}_isRangeToUpdate(e,t){for(const o of t)if(o.containsRange(e))return!1;return!0}_updateLinkContent(e,t,o,n){const i=t.createText(n,{linkHref:n});return e.insertContent(i,o)}}function Bx(e){if(e.isCollapsed){const t=e.getFirstPosition();return t.textNode&&t.textNode.data}{const t=Array.from(e.getFirstRange().getItems());if(t.length>1)return null;const o=t[0];return o.is("$text")||o.is("$textProxy")?o.data:null}}class Sx extends wr{refresh(){const e=this.editor.model,t=e.document.selection,o=t.getSelectedElement();Ax(o,e.schema)?this.isEnabled=e.schema.checkAttribute(o,"linkHref"):this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref")}execute(){const e=this.editor,t=this.editor.model,o=t.document.selection,n=e.commands.get("link");t.change((e=>{const i=o.isCollapsed?[u_(o.getFirstPosition(),"linkHref",o.getAttribute("linkHref"),t)]:t.schema.getValidRanges(o.getRanges(),"linkHref");for(const t of i)if(e.removeAttribute("linkHref",t),n)for(const o of n.manualDecorators)e.removeAttribute(o.id,t)}))}}class Tx extends(X()){constructor({id:e,label:t,attributes:o,classes:n,styles:i,defaultValue:r}){super(),this.id=e,this.set("value",void 0),this.defaultValue=r,this.label=t,this.attributes=o,this.classes=n,this.styles=i}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var Ix=i(7456),Px={attributes:{"data-cke":!0}};Px.setAttributes=Xr(),Px.insert=Yr().bind(null,"head"),Px.domAPI=Zr(),Px.insertStyleElement=ts();Gr()(Ix.A,Px);Ix.A&&Ix.A.locals&&Ix.A.locals;const Fx="automatic",Rx=/^(https?:)?\/\//;class Mx extends br{static get pluginName(){return"LinkEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[n_,jw,By]}constructor(e){super(e),e.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1})}init(){const e=this.editor,t=this.editor.config.get("link.allowedProtocols");e.model.schema.extend("$text",{allowAttributes:"linkHref"}),e.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:_x}),e.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(e,o)=>_x(yx(e,t),o)}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:e=>e.getAttribute("href")}}),e.commands.add("link",new Dx(e)),e.commands.add("unlink",new Sx(e));const o=function(e,t){const o={"Open in a new tab":e("Open in a new tab"),Downloadable:e("Downloadable")};return t.forEach((e=>("label"in e&&o[e.label]&&(e.label=o[e.label]),e))),t}(e.t,function(e){const t=[];if(e)for(const[o,n]of Object.entries(e)){const e=Object.assign({},n,{id:`link${mx(o)}`});t.push(e)}return t}(e.config.get("link.decorators")));this._enableAutomaticDecorators(o.filter((e=>e.mode===Fx))),this._enableManualDecorators(o.filter((e=>"manual"===e.mode)));e.plugins.get(n_).registerAttribute("linkHref"),p_(e,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(e){const t=this.editor,o=t.commands.get("link").automaticDecorators;t.config.get("link.addTargetToExternalLinks")&&o.add({id:"linkIsExternal",mode:Fx,callback:e=>!!e&&Rx.test(e),attributes:{target:"_blank",rel:"noopener noreferrer"}}),o.add(e),o.length&&t.conversion.for("downcast").add(o.getDispatcher())}_enableManualDecorators(e){if(!e.length)return;const t=this.editor,o=t.commands.get("link").manualDecorators;e.forEach((e=>{t.model.schema.extend("$text",{allowAttributes:e.id});const n=new Tx(e);o.add(n),t.conversion.for("downcast").attributeToElement({model:n.id,view:(e,{writer:t,schema:o},{item:i})=>{if((i.is("selection")||o.isInline(i))&&e){const e=t.createAttributeElement("a",n.attributes,{priority:5});n.classes&&t.addClass(n.classes,e);for(const o in n.styles)t.setStyle(o,n.styles[o],e);return t.setCustomProperty("link",!0,e),e}}}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",...n._createPattern()},model:{key:n.id}})}))}_enableLinkOpen(){const e=this.editor,t=e.editing.view.document,o=Ex(e);function n(e){o.isScrollableToTarget(e)?o.scrollToTarget(e):xx(e)}this.listenTo(t,"click",((e,t)=>{if(!(c.isMac?t.domEvent.metaKey:t.domEvent.ctrlKey))return;let o=t.domTarget;if("a"!=o.tagName.toLowerCase()&&(o=o.closest("a")),!o)return;const i=o.getAttribute("href");i&&(e.stop(),t.preventDefault(),n(i))}),{context:"$capture"}),this.listenTo(t,"keydown",((t,o)=>{const i=e.commands.get("link").value;!!i&&o.keyCode===Ai.enter&&o.altKey&&(t.stop(),n(i))}))}_enableSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection;this.listenTo(t,"change:attribute",((o,{attributeKeys:n})=>{n.includes("linkHref")&&!t.hasAttribute("linkHref")&&e.change((t=>{var o;!function(e,t){e.removeSelectionAttribute("linkHref");for(const o of t)e.removeSelectionAttribute(o)}(t,(o=e.schema,o.getDefinition("$text").allowAttributes.filter((e=>e.startsWith("link")))))}))}))}_enableClipboardIntegration(){const e=this.editor,t=e.model,o=this.editor.config.get("link.defaultProtocol");o&&this.listenTo(e.plugins.get("ClipboardPipeline"),"contentInsertion",((e,n)=>{t.change((e=>{const t=e.createRangeIn(n.content);for(const n of t.getItems())if(n.hasAttribute("linkHref")){const t=Cx(n.getAttribute("linkHref"),o);e.setAttribute("linkHref",t,n)}}))}))}}var zx=i(2350),Ox={attributes:{"data-cke":!0}};Ox.setAttributes=Xr(),Ox.insert=Yr().bind(null,"head"),Ox.domAPI=Zr(),Ox.insertStyleElement=ts();Gr()(zx.A,Ox);zx.A&&zx.A.locals&&zx.A.locals;class Nx extends zp{constructor(e,t,o){super(e),this.focusTracker=new nr,this.keystrokes=new ar,this._focusables=new hp;const n=e.t;this._validators=o,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),up.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),up.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(t),this.children=this._createFormChildren(t.manualDecorators),this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];t.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((e,t)=>(e[t.name]=t.isOn,e)),{})}render(){super.render(),Vp({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.urlInputView.errorText=t,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null}_createUrlInput(){const e=this.locale.t,t=new dg(this.locale,Ef);return t.fieldView.inputMode="url",t.label=e("Link URL"),t}_createButton(e,t,o,n){const i=new Kp(this.locale);return i.set({label:e,icon:t,tooltip:!0}),i.extendTemplate({attributes:{class:o}}),n&&i.delegate("execute").to(this,n),i}_createManualDecoratorSwitches(e){const t=this.createCollection();for(const o of e.manualDecorators){const n=new Vm(this.locale);n.set({name:o.id,label:o.label,withText:!0}),n.bind("isOn").toMany([o,e],"value",((e,t)=>void 0===t&&void 0===e?!!o.defaultValue:!!e)),n.on("execute",(()=>{o.set("value",!n.isOn)})),t.add(n)}return t}_createFormChildren(e){const t=this.createCollection();if(t.add(this.urlInputView),e.length){const e=new zp;e.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((e=>({tag:"li",children:[e],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}}),t.add(e)}return t.add(this.saveButtonView),t.add(this.cancelButtonView),t}get url(){const{element:e}=this.urlInputView.fieldView;return e?e.value.trim():null}}var Vx=i(8040),Lx={attributes:{"data-cke":!0}};Lx.setAttributes=Xr(),Lx.insert=Yr().bind(null,"head"),Lx.domAPI=Zr(),Lx.insertStyleElement=ts();Gr()(Vx.A,Lx);Vx.A&&Vx.A.locals&&Vx.A.locals;class Hx extends zp{constructor(e,t={},o){super(e),this.focusTracker=new nr,this.keystrokes=new ar,this._focusables=new hp;const n=e.t;this._options=o,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(n("Unlink"),'',"unlink"),this.editButtonView=this._createButton(n("Edit link"),up.pencil,"edit"),this.set("href",void 0),this._linkConfig=t,this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(e,t,o){const n=new Kp(this.locale);return n.set({label:e,icon:t,tooltip:!0}),n.delegate("execute").to(this,o),n}_createPreviewButton(){const e=new Kp(this.locale),t=this.bindTemplate,o=this.t;return e.set({withText:!0}),e.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:t.to("href",(e=>e&&yx(e,this._linkConfig.allowedProtocols))),target:"_blank",rel:"noopener noreferrer"},on:{click:t.to((e=>{this._options&&this._options.isScrollableToTarget(this.href)?(e.preventDefault(),this._options.scrollToTarget(this.href)):xx(this.href)}))}}),e.bind("tooltip").to(this,"href",(e=>this._options&&this._options.isScrollableToTarget(e)?o("Scroll to target"):o("Open link in new tab"))),e.bind("label").to(this,"href",(e=>e||o("This link has no URL"))),e.bind("isEnabled").to(this,"href",(e=>!!e)),e.template.tag="a",e}}const jx="link-ui";class qx extends br{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[kk]}static get pluginName(){return"LinkUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;e.editing.view.addObserver(Xu),this._balloon=e.plugins.get(kk),this._createToolbarLinkButton(),this._enableBalloonActivators(),e.conversion.for("editingDowncast").markerToHighlight({model:jx,view:{classes:["ck-fake-link-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:jx,view:(e,{writer:t})=>{if(!e.markerRange.isCollapsed)return null;const o=t.createUIElement("span");return t.addClass(["ck-fake-link-selection","ck-fake-link-selection_collapsed"],o),o}}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Create link"),keystroke:wx},{label:t("Move out of a link"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const e=this.editor,t=new Hx(e.locale,e.config.get("link"),Ex(e)),o=e.commands.get("link"),n=e.commands.get("unlink");return t.bind("href").to(o,"value"),t.editButtonView.bind("isEnabled").to(o),t.unlinkButtonView.bind("isEnabled").to(n),this.listenTo(t,"edit",(()=>{this._addFormView()})),this.listenTo(t,"unlink",(()=>{e.execute("unlink"),this._hideUI()})),t.keystrokes.set("Esc",((e,t)=>{this._hideUI(),t()})),t.keystrokes.set(wx,((e,t)=>{this._addFormView(),t()})),t}_createFormView(){const e=this.editor,t=e.commands.get("link"),o=e.config.get("link.defaultProtocol"),n=new(Np(Nx))(e.locale,t,function(e){const t=e.t,o=e.config.get("link.allowCreatingEmptyLinks");return[e=>{if(!o&&!e.url.length)return t("Link URL must not be empty.")}]}(e));return n.urlInputView.fieldView.bind("value").to(t,"value"),n.urlInputView.bind("isEnabled").to(t,"isEnabled"),n.saveButtonView.bind("isEnabled").to(t,"isEnabled"),this.listenTo(n,"submit",(()=>{if(n.isValid()){const{value:t}=n.urlInputView.fieldView.element,i=Cx(t,o);e.execute("link",i,n.getDecoratorSwitchesState()),this._closeFormView()}})),this.listenTo(n.urlInputView,"change:errorText",(()=>{e.ui.update()})),this.listenTo(n,"cancel",(()=>{this._closeFormView()})),n.keystrokes.set("Esc",((e,t)=>{this._closeFormView(),t()})),n}_createToolbarLinkButton(){const e=this.editor;e.ui.componentFactory.add("link",(()=>{const e=this._createButton(Kp);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:link",(()=>{const e=this._createButton(Em);return e.set({role:"menuitemcheckbox"}),e}))}_createButton(e){const t=this.editor,o=t.locale,n=t.commands.get("link"),i=new e(t.locale),r=o.t;return i.set({label:r("Link"),icon:'',keystroke:wx,isToggleable:!0}),i.bind("isEnabled").to(n,"isEnabled"),i.bind("isOn").to(n,"value",(e=>!!e)),this.listenTo(i,"execute",(()=>this._showUI(!0))),i}_enableBalloonActivators(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),e.keystrokes.set(wx,((t,o)=>{o(),e.commands.get("link").isEnabled&&this._showUI(!0)}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((e,t)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),t())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((e,t)=>{this._isUIVisible&&(this._hideUI(),t())})),Op({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this.formView.resetFormStatus(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.urlInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){const e=this.editor.commands.get("link");e.restoreManualDecoratorStates(),void 0!==e.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const e=this.editor;this.stopListening(e.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let o=this._getSelectedLinkElement(),n=r();const i=()=>{const e=this._getSelectedLinkElement(),t=r();o&&!e||!o&&t!==n?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),o=e,n=t};function r(){return t.selection.focus.getAncestors().reverse().find((e=>e.is("element")))}this.listenTo(e.ui,"update",i),this.listenTo(this._balloon,"change:visibleView",i)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const e=this._balloon.visibleView;return!!this.formView&&e==this.formView||this._areActionsVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=this.editor.model,o=e.document;let n;if(t.markers.has(jx)){const t=Array.from(this.editor.editing.mapper.markerNameToElements(jx)),o=e.createRange(e.createPositionBefore(t[0]),e.createPositionAfter(t[t.length-1]));n=e.domConverter.viewRangeToDom(o)}else n=()=>{const t=this._getSelectedLinkElement();return t?e.domConverter.mapViewToDom(t):e.domConverter.viewRangeToDom(o.selection.getFirstRange())};return{target:n}}_getSelectedLinkElement(){const e=this.editor.editing.view,t=e.document.selection,o=t.getSelectedElement();if(t.isCollapsed||o&&ww(o))return $x(t.getFirstPosition());{const o=t.getFirstRange().getTrimmed(),n=$x(o.start),i=$x(o.end);return n&&n==i&&e.createRangeIn(n).getTrimmed().isEqual(o)?n:null}}_showFakeVisualSelection(){const e=this.editor.model;e.change((t=>{const o=e.document.selection.getFirstRange();if(e.markers.has(jx))t.updateMarker(jx,{range:o});else if(o.start.isAtEnd){const n=o.start.getLastMatchingPosition((({item:t})=>!e.schema.isContent(t)),{boundaries:o});t.addMarker(jx,{usingOperation:!1,affectsData:!1,range:t.createRange(n,o.end)})}else t.addMarker(jx,{usingOperation:!1,affectsData:!1,range:o})}))}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has(jx)&&e.change((e=>{e.removeMarker(jx)}))}}function $x(e){return e.getAncestors().find((e=>{return(t=e).is("attributeElement")&&!!t.getCustomProperty("link");var t}))||null}const Ux=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class Wx extends br{static get requires(){return[Xw,Mx]}static get pluginName(){return"AutoLink"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling(),this._enablePasteLinking()}_expandLinkRange(e,t){return t.textNode&&t.textNode.hasAttribute("linkHref")?u_(t,"linkHref",t.textNode.getAttribute("linkHref"),e):null}_selectEntireLinks(e,t){const o=this.editor.model,n=o.document.selection,i=n.getFirstPosition(),r=n.getLastPosition();let s=t.getJoined(this._expandLinkRange(o,i)||t);s&&(s=s.getJoined(this._expandLinkRange(o,r)||t)),s&&(s.start.isBefore(i)||s.end.isAfter(r))&&e.setSelection(s)}_enablePasteLinking(){const e=this.editor,t=e.model,o=t.document.selection,n=e.plugins.get("ClipboardPipeline"),i=e.commands.get("link");n.on("inputTransformation",((e,n)=>{if(!this.isEnabled||!i.isEnabled||o.isCollapsed||"paste"!==n.method)return;if(o.rangeCount>1)return;const r=o.getFirstRange(),s=n.dataTransfer.getData("text/plain");if(!s)return;const a=s.match(Ux);a&&a[2]===s&&(t.change((e=>{this._selectEntireLinks(e,r),i.execute(s)})),e.stop())}),{priority:"high"})}_enableTypingHandling(){const e=this.editor,t=new o_(e.model,(e=>{let t=e;if(!function(e){return e.length>4&&" "===e[e.length-1]&&" "!==e[e.length-2]}(t))return;t=t.slice(0,-1),"!.:,;?".includes(t[t.length-1])&&(t=t.slice(0,-1));const o=Gx(t);return o?{url:o,removedTrailingCharacters:e.length-t.length}:void 0}));t.on("matched:data",((t,o)=>{const{batch:n,range:i,url:r,removedTrailingCharacters:s}=o;if(!n.isTyping)return;const a=i.end.getShiftedBy(-s),l=a.getShiftedBy(-r.length),c=e.model.createRange(l,a);this._applyAutoLink(r,c)})),t.bind("isEnabled").to(this)}_enableEnterHandling(){const e=this.editor,t=e.model,o=e.commands.get("enter");o&&o.on("execute",(()=>{const e=t.document.selection.getFirstPosition();if(!e.parent.previousSibling)return;const o=t.createRangeIn(e.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(o)}))}_enableShiftEnterHandling(){const e=this.editor,t=e.model,o=e.commands.get("shiftEnter");o&&o.on("execute",(()=>{const e=t.document.selection.getFirstPosition(),o=t.createRange(t.createPositionAt(e.parent,0),e.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(o)}))}_checkAndApplyAutoLinkOnRange(e){const t=this.editor.model,{text:o,range:n}=t_(e,t),i=Gx(o);if(i){const e=t.createRange(n.end.getShiftedBy(-i.length),n.end);this._applyAutoLink(i,e)}}_applyAutoLink(e,t){const o=this.editor.model,n=Cx(e,this.editor.config.get("link.defaultProtocol"));this.isEnabled&&function(e,t){return t.schema.checkAttributeInSelection(t.createSelection(e),"linkHref")}(t,o)&&vx(n)&&!function(e){const t=e.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}(t)&&this._persistAutoLink(n,t)}_persistAutoLink(e,t){const o=this.editor.model,n=this.editor.plugins.get("Delete");o.enqueueChange((i=>{i.setAttribute("linkHref",e,t),o.enqueueChange((()=>{n.requestUndoOnBackspace()}))}))}}function Gx(e){const t=Ux.exec(e);return t?t[2]:null}var Kx=i(3669),Zx={attributes:{"data-cke":!0}};Zx.setAttributes=Xr(),Zx.insert=Yr().bind(null,"head"),Zx.domAPI=Zr(),Zx.insertStyleElement=ts();Gr()(Kx.A,Zx);Kx.A&&Kx.A.locals&&Kx.A.locals;class Jx{constructor(e,t){this._startElement=e,this._referenceIndent=e.getAttribute("listIndent"),this._isForward="forward"==t.direction,this._includeSelf=!!t.includeSelf,this._sameAttributes=Si(t.sameAttributes||[]),this._sameIndent=!!t.sameIndent,this._lowerIndent=!!t.lowerIndent,this._higherIndent=!!t.higherIndent}static first(e,t){return or(new this(e,t)[Symbol.iterator]())}*[Symbol.iterator](){const e=[];for(const{node:t}of new Yx(this._getStartNode(),this._isForward?"forward":"backward")){const o=t.getAttribute("listIndent");if(othis._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){e.push(t);continue}}else{if(!this._sameIndent){if(this._higherIndent){e.length&&(yield*e,e.length=0);break}continue}if(this._sameAttributes.some((e=>t.getAttribute(e)!==this._startElement.getAttribute(e))))break}e.length&&(yield*e,e.length=0),yield t}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}class Yx{constructor(e,t="forward"){this._previousNodesByIndent=[],this._previous=null,this._previousNodeIndent=null,this._node=e,this._isForward="forward"===t}[Symbol.iterator](){return this}next(){if(!eE(this._node))return{done:!0,value:void 0};const e=this._node.getAttribute("listIndent");let t=null;if(this._previous){const o=this._previousNodeIndent;e>o?this._previousNodesByIndent[o]=this._previous:ee.getAttribute("listItemId")!=t))}function pE(e){return Array.from(e).filter((e=>"$graveyard"!==e.root.rootName)).sort(((e,t)=>e.index-t.index))}function mE(e){const t=e.document.selection.getSelectedElement();return t&&e.schema.isObject(t)&&e.schema.isBlock(t)?t:null}function gE(e,t){return t.checkChild(e.parent,"listItem")&&t.checkChild(e,"$text")&&!t.isObject(e)}function fE(e){return"numbered"==e||"customNumbered"==e}function bE(e,t,o){return oE(t,{direction:"forward"}).pop().index>e.index?cE(e,t,o):[]}class kE extends wr{constructor(e,t){super(e),this._direction=t}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model,t=wE(e.document.selection);e.change((e=>{const o=[];hE(t)&&!iE(t[0])?("forward"==this._direction&&o.push(...dE(t,e)),o.push(...lE(t[0],e))):"forward"==this._direction?o.push(...dE(t,e,{expand:!0})):o.push(...function(e,t){const o=sE(e=Si(e)),n=new Set,i=Math.min(...o.map((e=>e.getAttribute("listIndent")))),r=new Map;for(const e of o)r.set(e,Jx.first(e,{lowerIndent:!0}));for(const e of o){if(n.has(e))continue;n.add(e);const o=e.getAttribute("listIndent")-1;if(o<0)uE(e,t);else{if(e.getAttribute("listIndent")==i){const o=bE(e,r.get(e),t);for(const e of o)n.add(e);if(o.length)continue}t.setAttribute("listIndent",o,e)}}return pE(n)}(t,e));for(const t of o){if(!t.hasAttribute("listType"))continue;const o=Jx.first(t,{sameIndent:!0});o&&e.setAttribute("listType",o.getAttribute("listType"),t)}this._fireAfterExecute(o)}))}_fireAfterExecute(e){this.fire("afterExecute",pE(new Set(e)))}_checkEnabled(){let e=wE(this.editor.model.document.selection),t=e[0];if(!t)return!1;if("backward"==this._direction)return!0;if(hE(e)&&!iE(e[0]))return!0;e=sE(e),t=e[0];const o=Jx.first(t,{sameIndent:!0});return!!o&&o.getAttribute("listType")==t.getAttribute("listType")}}function wE(e){const t=Array.from(e.getSelectedBlocks()),o=t.findIndex((e=>!eE(e)));return-1!=o&&(t.length=o),t}class _E extends wr{constructor(e,t,o={}){super(e),this.type=t,this._listWalkerOptions=o.multiLevel?{higherIndent:!0,lowerIndent:!0,sameAttributes:[]}:void 0}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor.model,o=t.document,n=mE(t),i=Array.from(o.selection.getSelectedBlocks()).filter((e=>t.schema.checkAttribute(e,"listType")||gE(e,t.schema))),r=void 0!==e.forceValue?!e.forceValue:this.value;t.change((s=>{if(r){const e=i[i.length-1],t=oE(e,{direction:"forward"}),o=[];t.length>1&&o.push(...lE(t[1],s)),o.push(...uE(i,s)),o.push(...function(e,t){const o=[];let n=Number.POSITIVE_INFINITY;for(const{node:i}of new Yx(e.nextSibling)){const e=i.getAttribute("listIndent");if(0==e)break;e{const{firstElement:r,lastElement:s}=this._getMergeSubjectElements(o,e),a=r.getAttribute("listIndent")||0,l=s.getAttribute("listIndent"),c=s.getAttribute("listItemId");if(a!=l){const e=(d=s,Array.from(new Jx(d,{direction:"forward",higherIndent:!0})));n.push(...dE([s,...e],i,{indentBy:a-l,expand:a{const t=lE(this._getStartBlock(),e);this._fireAfterExecute(t)}))}_fireAfterExecute(e){this.fire("afterExecute",pE(new Set(e)))}_checkEnabled(){const e=this.editor.model.document.selection,t=this._getStartBlock();return e.isCollapsed&&eE(t)&&!iE(t)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return"before"==this._direction?e:e.nextSibling}}class CE extends br{static get pluginName(){return"ListUtils"}static get isOfficialPlugin(){return!0}expandListBlocksToCompleteList(e){return aE(e)}isFirstBlockOfListItem(e){return iE(e)}isListItemBlock(e){return eE(e)}expandListBlocksToCompleteItems(e,t={}){return sE(e,t)}isNumberedListType(e){return fE(e)}}function vE(e){return e.is("element","ol")||e.is("element","ul")}function xE(e){return e.is("element","li")}function EE(e,t,o,n=SE(o,t)){return e.createAttributeElement(BE(o),null,{priority:2*t/100-100,id:n})}function DE(e,t,o){return e.createAttributeElement("li",null,{priority:(2*t+1)/100-100,id:o})}function BE(e){return"numbered"==e||"customNumbered"==e?"ol":"ul"}function SE(e,t){return`list-${e}-${t}`}function TE(e,t,o){const n=e.nodeBefore;if(eE(n)){let e=n;for(const{node:i}of new Yx(e,"backward")){if(e=i,o.has(e))return;if(o.add(e),t.has(n))return}t.add(e)}else{const o=e.nodeAfter;eE(o)&&t.add(o)}}function IE(){return(e,t,o)=>{const{writer:n,schema:i}=o;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter((e=>i.checkAttribute(e,"listItemId")));if(!r.length)return;const s=Xx.next(),a=function(e){let t=0,o=e.parent;for(;o;){if(xE(o))t++;else{const e=o.previousSibling;e&&xE(e)&&t++}o=o.parent}return t}(t.viewItem);let l=t.viewItem.parent&&t.viewItem.parent.is("element","ol")?"numbered":"bulleted";const c=r[0].getAttribute("listType");c&&(l=c);const d={listItemId:s,listIndent:a,listType:l};for(const e of r)e.hasAttribute("listItemId")||n.setAttributes(d,e);r.length>1&&r[1].getAttribute("listItemId")!=d.listItemId&&o.keepEmptyElement(r[0])}}function PE(e,t,o,{dataPipeline:n}={}){const i=function(e){return(t,o)=>{const n=[];for(const o of e)t.hasAttribute(o)&&n.push(`attribute:${o}`);return!!n.every((e=>!1!==o.test(t,e)))&&(n.forEach((e=>o.consume(t,e))),!0)}}(e);return(r,s,a)=>{const{writer:l,mapper:c,consumable:d}=a,u=s.item;if(!e.includes(s.attributeKey))return;if(!i(u,d))return;const h=function(e,t,o){const n=o.createRangeOn(e),i=t.toViewRange(n).getTrimmed();return i.end.nodeBefore}(u,c,o);RE(h,l,c),function(e,t){let o=e.parent;for(;o.is("attributeElement")&&["ul","ol","li"].includes(o.name);){const n=o.parent;t.unwrap(t.createRangeOn(e),o),o=n}}(h,l);const p=function(e,t,o,n,{dataPipeline:i}){let r=n.createRangeOn(t);if(!iE(e))return r;for(const s of o){if("itemMarker"!=s.scope)continue;const o=s.createElement(n,e,{dataPipeline:i});if(!o)continue;if(n.setCustomProperty("listItemMarker",!0,o),s.canInjectMarkerIntoElement&&s.canInjectMarkerIntoElement(e)?n.insert(n.createPositionAt(t,0),o):(n.insert(r.start,o),r=n.createRange(n.createPositionBefore(o),n.createPositionAfter(t))),!s.createWrapperElement||!s.canWrapElement)continue;const a=s.createWrapperElement(n,e,{dataPipeline:i});n.setCustomProperty("listItemWrapper",!0,a),s.canWrapElement(e)?r=n.wrap(r,a):(r=n.wrap(n.createRangeOn(o),a),r=n.createRange(r.start,n.createPositionAfter(t)))}return r}(u,h,t,l,{dataPipeline:n});!function(e,t,o,n){if(!e.hasAttribute("listIndent"))return;const i=e.getAttribute("listIndent");let r=e;for(let e=i;e>=0;e--){const i=DE(n,e,r.getAttribute("listItemId")),s=EE(n,e,r.getAttribute("listType"));for(const e of o)"list"!=e.scope&&"item"!=e.scope||!r.hasAttribute(e.attributeName)||e.setAttributeOnDowncast(n,r.getAttribute(e.attributeName),"list"==e.scope?s:i);if(t=n.wrap(t,i),t=n.wrap(t,s),0==e)break;if(r=Jx.first(r,{lowerIndent:!0}),!r)break}}(u,p,t,l)}}function FE(e,{dataPipeline:t}={}){return(o,{writer:n})=>{if(!ME(o,e))return null;if(!t)return n.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const i=n.createContainerElement("p");return n.setCustomProperty("dataPipeline:transparentRendering",!0,i),i}}function RE(e,t,o){for(;e.parent.is("attributeElement")&&e.parent.getCustomProperty("listItemWrapper");)t.unwrap(t.createRangeOn(e),e.parent);const n=[];i(t.createPositionBefore(e).getWalker({direction:"backward"})),i(t.createRangeIn(e).getWalker());for(const e of n)t.remove(e);function i(e){for(const{item:t}of e){if(t.is("element")&&o.toModelElement(t))break;t.is("element")&&t.getCustomProperty("listItemMarker")&&n.push(t)}}}function ME(e,t,o=tE(e)){if(!eE(e))return!1;for(const o of e.getAttributeKeys())if(!o.startsWith("selection:")&&"htmlEmptyBlock"!=o&&!t.includes(o))return!1;return o.length<2}var zE=i(7875),OE={attributes:{"data-cke":!0}};OE.setAttributes=Xr(),OE.insert=Yr().bind(null,"head"),OE.domAPI=Zr(),OE.insertStyleElement=ts();Gr()(zE.A,OE);zE.A&&zE.A.locals&&zE.A.locals;var NE=i(532),VE={attributes:{"data-cke":!0}};VE.setAttributes=Xr(),VE.insert=Yr().bind(null,"head"),VE.domAPI=Zr(),VE.insertStyleElement=ts();Gr()(NE.A,VE);NE.A&&NE.A.locals&&NE.A.locals;const LE=["listType","listIndent","listItemId"];class HE extends br{static get pluginName(){return"ListEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[w_,Xw,CE,By]}constructor(e){super(e),this._downcastStrategies=[],e.config.define("list.multiBlock",!0)}init(){const e=this.editor,t=e.model,o=e.config.get("list.multiBlock");if(e.plugins.has("LegacyListEditing"))throw new S("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});t.schema.register("$listItem",{allowAttributes:LE}),o?(t.schema.extend("$container",{allowAttributesOf:"$listItem"}),t.schema.extend("$block",{allowAttributesOf:"$listItem"}),t.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):t.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const e of LE)t.schema.setAttributeProperties(e,{copyOnReplace:!0});e.commands.add("numberedList",new _E(e,"numbered")),e.commands.add("bulletedList",new _E(e,"bulleted")),e.commands.add("customNumberedList",new _E(e,"customNumbered",{multiLevel:!0})),e.commands.add("customBulletedList",new _E(e,"customBulleted",{multiLevel:!0})),e.commands.add("indentList",new kE(e,"forward")),e.commands.add("outdentList",new kE(e,"backward")),e.commands.add("splitListItemBefore",new AE(e,"before")),e.commands.add("splitListItemAfter",new AE(e,"after")),o&&(e.commands.add("mergeListItemBackward",new yE(e,"backward")),e.commands.add("mergeListItemForward",new yE(e,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration(),this._setupAccessibilityIntegration()}afterInit(){const e=this.editor.commands,t=e.get("indent"),o=e.get("outdent");t&&t.registerChildCommand(e.get("indentList"),{priority:"high"}),o&&o.registerChildCommand(e.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(e){this._downcastStrategies.push(e)}getListAttributeNames(){return[...LE,...this._downcastStrategies.map((e=>e.attributeName))]}_setupDeleteIntegration(){const e=this.editor,t=e.commands.get("mergeListItemBackward"),o=e.commands.get("mergeListItemForward");this.listenTo(e.editing.view.document,"delete",((n,i)=>{const r=e.model.document.selection;mE(e.model)||e.model.change((()=>{const s=r.getFirstPosition();if(r.isCollapsed&&"backward"==i.direction){if(!s.isAtStart)return;const o=s.parent;if(!eE(o))return;if(Jx.first(o,{sameAttributes:"listType",sameIndent:!0})||0!==o.getAttribute("listIndent")){if(!t||!t.isEnabled)return;t.execute({shouldMergeOnBlocksContentLevel:jE(e.model,"backward")})}else rE(o)||e.execute("splitListItemAfter"),e.execute("outdentList");i.preventDefault(),n.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd)return;if(!o||!o.isEnabled)return;o.execute({shouldMergeOnBlocksContentLevel:jE(e.model,"forward")}),i.preventDefault(),n.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const e=this.editor,t=e.model,o=e.commands,n=o.get("enter");this.listenTo(e.editing.view.document,"enter",((o,n)=>{const i=t.document,r=i.selection.getFirstPosition().parent;if(i.selection.isCollapsed&&eE(r)&&r.isEmpty&&!n.isSoft){const t=iE(r),i=rE(r);t&&i?(e.execute("outdentList"),n.preventDefault(),o.stop()):t&&!i?(e.execute("splitListItemAfter"),n.preventDefault(),o.stop()):i&&(e.execute("splitListItemBefore"),n.preventDefault(),o.stop())}}),{context:"li"}),this.listenTo(n,"afterExecute",(()=>{const t=o.get("splitListItemBefore");if(t.refresh(),!t.isEnabled)return;2===tE(e.model.document.selection.getLastPosition().parent).length&&t.execute()}))}_setupTabIntegration(){const e=this.editor;this.listenTo(e.editing.view.document,"tab",((t,o)=>{const n=o.shiftKey?"outdentList":"indentList";this.editor.commands.get(n).isEnabled&&(e.execute(n),o.stopPropagation(),o.preventDefault(),t.stop())}),{context:"li"})}_setupConversion(){const e=this.editor,t=e.model,o=this.getListAttributeNames(),n=e.config.get("list.multiBlock"),i=n?"paragraph":"listItem";e.conversion.for("upcast").elementToElement({view:"li",model:(e,{writer:t})=>t.createElement(i,{listType:""})}).elementToElement({view:"p",model:(e,{writer:t})=>e.parent&&e.parent.is("element","li")?t.createElement(i,{listType:""}):null,converterPriority:"high"}).add((e=>{e.on("element:li",IE())})),n||e.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),e.conversion.for("editingDowncast").elementToElement({model:i,view:FE(o),converterPriority:"high"}).add((e=>{var n;e.on("attribute",PE(o,this._downcastStrategies,t)),e.on("remove",(n=t.schema,(e,t,o)=>{const{writer:i,mapper:r}=o,s=e.name.split(":")[1];if(!n.checkAttribute(s,"listItemId"))return;const a=r.toViewPosition(t.position),l=t.position.getShiftedBy(t.length),c=r.toViewPosition(l,{isPhantom:!0}),d=i.createRange(a,c).getTrimmed().end.nodeBefore;d&&RE(d,i,r)}))})),e.conversion.for("dataDowncast").elementToElement({model:i,view:FE(o,{dataPipeline:!0}),converterPriority:"high"}).add((e=>{e.on("attribute",PE(o,this._downcastStrategies,t,{dataPipeline:!0}))}));const r=(s=this._downcastStrategies,a=e.editing.view,(e,t)=>{if(t.modelPosition.offset>0)return;const o=t.modelPosition.parent;if(!eE(o))return;if(!s.some((e=>"itemMarker"==e.scope&&e.canInjectMarkerIntoElement&&e.canInjectMarkerIntoElement(o))))return;const n=t.mapper.toViewElement(o),i=a.createRangeIn(n),r=i.getWalker();let l=i.start;for(const{item:e}of r){if(e.is("element")&&t.mapper.toModelElement(e)||e.is("$textProxy"))break;e.is("element")&&e.getCustomProperty("listItemMarker")&&(l=a.createPositionAfter(e),r.skip((({previousPosition:e})=>!e.isEqual(l))))}t.viewPosition=l});var s,a;e.editing.mapper.on("modelToViewPosition",r),e.data.mapper.on("modelToViewPosition",r),this.listenTo(t.document,"change:data",function(e,t,o,n){return()=>{const n=e.document.differ.getChanges(),s=[],a=new Set,l=new Set,c=new Set;for(const e of n)if("insert"==e.type&&"$text"!=e.name)TE(e.position,a,c),e.attributes.has("listItemId")?l.add(e.position.nodeAfter):TE(e.position.getShiftedBy(e.length),a,c);else if("remove"==e.type&&e.attributes.has("listItemId"))TE(e.position,a,c);else if("attribute"==e.type){const t=e.range.start.nodeAfter;o.includes(e.attributeKey)?(TE(e.range.start,a,c),null===e.attributeNewValue?(TE(e.range.start.getShiftedBy(1),a,c),r(t)&&s.push(t)):l.add(t)):eE(t)&&r(t)&&s.push(t)}for(const e of a.values())s.push(...i(e,l));for(const e of new Set(s))t.reconvertItem(e)};function i(e,t){const n=[],i=new Set,a=[];for(const{node:l,previous:c}of new Yx(e)){if(i.has(l))continue;const e=l.getAttribute("listIndent");c&&eo.includes(e))));const d=oE(l,{direction:"forward"});for(const e of d)i.add(e),(r(e,d)||s(e,a,t))&&n.push(e)}return n}function r(e,i){const r=t.mapper.toViewElement(e);if(!r)return!1;if(n.fire("checkElement",{modelElement:e,viewElement:r}))return!0;if(!e.is("element","paragraph")&&!e.is("element","listItem"))return!1;const s=ME(e,o,i);return!(!s||!r.is("element","p"))||!(s||!r.is("element","span"))}function s(e,o,i){if(i.has(e))return!1;const r=t.mapper.toViewElement(e);let s=o.length-1;for(let e=r.parent;!e.is("editableElement");e=e.parent){const t=xE(e),i=vE(e);if(!i&&!t)continue;const r="checkAttributes:"+(t?"item":"list");if(n.fire(r,{viewElement:e,modelAttributes:o[s]}))break;if(i&&(s--,s<0))return!1}return!0}}(t,e.editing,o,this),{priority:"high"}),this.on("checkAttributes:item",((e,{viewElement:t,modelAttributes:o})=>{t.id!=o.listItemId&&(e.return=!0,e.stop())})),this.on("checkAttributes:list",((e,{viewElement:t,modelAttributes:o})=>{t.name==BE(o.listType)&&t.id==SE(o.listType,o.listIndent)||(e.return=!0,e.stop())}))}_setupModelPostFixing(){const e=this.editor.model,t=this.getListAttributeNames();e.document.registerPostFixer((o=>function(e,t,o,n){const i=e.document.differ.getChanges(),r=new Set,s=new Set,a=n.editor.config.get("list.multiBlock");let l=!1;for(const n of i){if("insert"==n.type&&"$text"!=n.name){const i=n.position.nodeAfter;if(!e.schema.checkAttribute(i,"listItemId"))for(const e of Array.from(i.getAttributeKeys()))o.includes(e)&&(t.removeAttribute(e,i),l=!0);TE(n.position,s,r),n.attributes.has("listItemId")||TE(n.position.getShiftedBy(n.length),s,r);for(const{item:t,previousPosition:o}of e.createRangeIn(i))eE(t)&&TE(o,s,r)}else"remove"==n.type?TE(n.position,s,r):"attribute"==n.type&&o.includes(n.attributeKey)&&(TE(n.range.start,s,r),null===n.attributeNewValue&&TE(n.range.start.getShiftedBy(1),s,r));if(!a&&"attribute"==n.type&&LE.includes(n.attributeKey)){const e=n.range.start.nodeAfter;null===n.attributeNewValue&&e&&e.is("element","listItem")?(t.rename(e,"paragraph"),l=!0):null===n.attributeOldValue&&e&&e.is("element")&&"listItem"!=e.name&&(t.rename(e,"listItem"),l=!0)}}const c=new Set;for(const e of s.values())l=n.fire("postFixer",{listNodes:new Qx(e),listHead:e,writer:t,seenIds:c})||l;return l}(e,o,t,this))),this.on("postFixer",((e,{listNodes:t,writer:o})=>{e.return=function(e,t){let o=0,n=-1,i=null,r=!1;for(const{node:s}of e){const e=s.getAttribute("listIndent");if(e>o){let a;null===i?(i=e-o,a=o):(i>e&&(i=e),a=e-i),a>n+1&&(a=n+1),t.setAttribute("listIndent",a,s),r=!0,n=a}else i=null,o=e+1,n=e}return r}(t,o)||e.return}),{priority:"high"}),this.on("postFixer",((e,{listNodes:t,writer:o,seenIds:n})=>{e.return=function(e,t,o){const n=new Set;let i=!1;for(const{node:r}of e){if(n.has(r))continue;let e=r.getAttribute("listType"),s=r.getAttribute("listItemId");if(t.has(s)&&(s=Xx.next()),t.add(s),r.is("element","listItem"))r.getAttribute("listItemId")!=s&&(o.setAttribute("listItemId",s,r),i=!0);else for(const t of oE(r,{direction:"forward"}))n.add(t),t.getAttribute("listType")!=e&&(s=Xx.next(),e=t.getAttribute("listType")),t.getAttribute("listItemId")!=s&&(o.setAttribute("listItemId",s,t),i=!0)}return i}(t,n,o)||e.return}),{priority:"high"})}_setupClipboardIntegration(){const e=this.editor.model,t=this.editor.plugins.get("ClipboardPipeline");this.listenTo(e,"insertContent",function(e){return(t,[o,n])=>{const i=o.is("documentFragment")?Array.from(o.getChildren()):[o];if(!i.length)return;const r=(n?e.createSelection(n):e.document.selection).getFirstPosition();let s;if(eE(r.parent))s=r.parent;else{if(!eE(r.nodeBefore)||!eE(r.nodeAfter))return;s=r.nodeBefore}e.change((e=>{const t=s.getAttribute("listType"),o=s.getAttribute("listIndent"),n=i[0].getAttribute("listIndent")||0,r=Math.max(o-n,0);for(const o of i){const n=eE(o);s.is("element","listItem")&&o.is("element","paragraph")&&e.rename(o,"listItem"),e.setAttributes({listIndent:(n?o.getAttribute("listIndent"):0)+r,listItemId:n?o.getAttribute("listItemId"):Xx.next(),listType:t},o)}}))}}(e),{priority:"high"}),this.listenTo(t,"outputTransformation",((t,o)=>{e.change((e=>{const t=Array.from(o.content.getChildren()),n=t[t.length-1];if(t.length>1&&n.is("element")&&n.isEmpty){t.slice(0,-1).every(eE)&&e.remove(n)}if("copy"==o.method||"cut"==o.method){const t=Array.from(o.content.getChildren());hE(t)&&uE(t,e)}}))}))}_setupAccessibilityIntegration(){const e=this.editor,t=e.t;e.accessibility.addKeystrokeInfoGroup({id:"list",label:t("Keystrokes that can be used in a list"),keystrokes:[{label:t("Increase list item indent"),keystroke:"Tab"},{label:t("Decrease list item indent"),keystroke:"Shift+Tab"}]})}}function jE(e,t){const o=e.document.selection;if(!o.isCollapsed)return!mE(e);if("forward"===t)return!0;const n=o.getFirstPosition().parent,i=n.previousSibling;return!e.schema.isObject(i)&&(!!i.isEmpty||hE([n,i]))}function qE(e,t,o,n){e.ui.componentFactory.add(t,(()=>{const i=$E(Kp,e,t,o,n);return i.set({tooltip:!0,isToggleable:!0}),i})),e.ui.componentFactory.add(`menuBar:${t}`,(()=>{const i=$E(Em,e,t,o,n);return i.set({role:"menuitemcheckbox",isToggleable:!0}),i}))}function $E(e,t,o,n,i){const r=t.commands.get(o),s=new e(t.locale);return s.set({label:n,icon:i}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",(()=>{t.execute(o),t.editing.view.focus()})),s}class UE extends br{static get pluginName(){return"ListUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.t;this.editor.ui.componentFactory.has("numberedList")||qE(this.editor,"numberedList",e("Numbered List"),up.numberedList),this.editor.ui.componentFactory.has("bulletedList")||qE(this.editor,"bulletedList",e("Bulleted List"),up.bulletedList)}}class WE extends br{static get requires(){return[HE,UE]}static get pluginName(){return"List"}static get isOfficialPlugin(){return!0}}const GE={},KE={},ZE={},JE=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:e,typeAttribute:t,listType:o}of JE)GE[e]=o,KE[e]=t,t&&(ZE[t]=e);var YE=i(1911),QE={attributes:{"data-cke":!0}};QE.setAttributes=Xr(),QE.insert=Yr().bind(null,"head"),QE.domAPI=Zr(),QE.insertStyleElement=ts();Gr()(YE.A,QE);YE.A&&YE.A.locals&&YE.A.locals;var XE=i(1330),eD={attributes:{"data-cke":!0}};eD.setAttributes=Xr(),eD.insert=Yr().bind(null,"head"),eD.domAPI=Zr(),eD.insertStyleElement=ts();Gr()(XE.A,eD);XE.A&&XE.A.locals&&XE.A.locals;class tD extends wr{constructor(e){super(e),this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){const e=this._getSelectedItems();this.value=this._getValue(e),this.isEnabled=!!e.length}execute(e={}){this.editor.model.change((t=>{const o=this._getSelectedItems(),n=void 0===e.forceValue?!this._getValue(o):e.forceValue;for(const e of o)n?t.setAttribute("todoListChecked",!0,e):t.removeAttribute("todoListChecked",e)}))}_getValue(e){return e.every((e=>e.getAttribute("todoListChecked")))}_getSelectedItems(){const e=this.editor.model,t=e.schema,o=e.document.selection.getFirstRange(),n=o.start.parent,i=[];t.checkAttribute(n,"todoListChecked")&&i.push(...tE(n));for(const e of o.getItems({shallow:!0}))t.checkAttribute(e,"todoListChecked")&&!i.includes(e)&&i.push(...tE(e));return i}}class oD extends nl{constructor(){super(...arguments),this.domEventType=["change"]}onDomEvent(e){if(e.target){const t=this.view.domConverter.mapDomToView(e.target);t&&t.is("element","input")&&"checkbox"==t.getAttribute("type")&&t.findAncestor({classes:"todo-list__label"})&&this.fire("todoCheckboxChange",e)}}}const nD=xi("Ctrl+Enter");class iD extends br{static get pluginName(){return"TodoListEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[HE]}init(){const e=this.editor,t=e.model,o=e.editing,n=e.plugins.get(HE),i=e.config.get("list.multiBlock")?"paragraph":"listItem";e.commands.add("todoList",new _E(e,"todo")),e.commands.add("checkTodoList",new tD(e)),o.view.addObserver(oD),t.schema.extend("$listItem",{allowAttributes:"todoListChecked"}),t.schema.addAttributeCheck((e=>{const t=e.last;if(!t.getAttribute("listItemId")||"todo"!=t.getAttribute("listType"))return!1}),"todoListChecked"),e.conversion.for("upcast").add((e=>{e.on("element:input",((e,t,o)=>{const n=t.modelCursor,i=n.parent,r=t.viewItem;if(!o.consumable.test(r,{name:!0}))return;if("checkbox"!=r.getAttribute("type")||!n.isAtStart||!i.hasAttribute("listType"))return;o.consumable.consume(r,{name:!0});const s=o.writer;s.setAttribute("listType","todo",i),t.viewItem.hasAttribute("checked")&&s.setAttribute("todoListChecked",!0,i),t.modelRange=s.createRange(n)})),e.on("element:li",((e,t,o)=>{const{writer:n,schema:i}=o;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter((e=>"todo"===e.getAttribute("listType")&&i.checkAttribute(e,"listItemId"))).reduce(((e,t)=>{const o=t.getAttribute("listItemId");return e.has(o)||e.set(o,tE(t)),e}),new Map);for(const[,e]of r.entries())if(e.some((e=>e.getAttribute("todoListChecked"))))for(const t of e)n.setAttribute("todoListChecked",!0,t)}),{priority:"low"}),e.on("element:label",rD({name:"label",classes:"todo-list__label"})),e.on("element:label",rD({name:"label",classes:["todo-list__label","todo-list__label_without-description"]})),e.on("element:span",rD({name:"span",classes:"todo-list__label__description"})),e.on("element:ul",function(e){const t=new As(e);return(e,o,n)=>{const i=t.match(o.viewItem);if(!i)return;const r=i.match;r.name=!1,n.consumable.consume(o.viewItem,r)}}({name:"ul",classes:"todo-list"}))})),e.conversion.for("downcast").elementToElement({model:i,view:(e,{writer:t})=>{if(sD(e,n.getListAttributeNames()))return t.createContainerElement("span",{class:"todo-list__label__description"})},converterPriority:"highest"}),n.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(e,t,o){"todo"==t?e.addClass("todo-list",o):e.removeClass("todo-list",o)}}),n.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(e,t,{dataPipeline:o}){if("todo"!=t.getAttribute("listType"))return null;const n=e.createUIElement("input",{type:"checkbox",...t.getAttribute("todoListChecked")?{checked:"checked"}:null,...o?{disabled:"disabled"}:{tabindex:"-1"}});if(o)return n;const i=e.createContainerElement("span",{contenteditable:"false"},n);return i.getFillerOffset=()=>null,i},canWrapElement:e=>sD(e,n.getListAttributeNames()),createWrapperElement(e,t,{dataPipeline:o}){const i=["todo-list__label"];return sD(t,n.getListAttributeNames())||i.push("todo-list__label_without-description"),e.createAttributeElement(o?"label":"span",{class:i.join(" ")})}}),n.on("checkElement",((e,{modelElement:t,viewElement:o})=>{const i=sD(t,n.getListAttributeNames());o.hasClass("todo-list__label__description")!=i&&(e.return=!0,e.stop())})),n.on("checkElement",((t,{modelElement:o,viewElement:n})=>{const i="todo"==o.getAttribute("listType")&&iE(o);let r=!1;const s=e.editing.view.createPositionBefore(n).getWalker({direction:"backward"});for(const{item:t}of s){if(t.is("element")&&e.editing.mapper.toModelElement(t))break;t.is("element","input")&&"checkbox"==t.getAttribute("type")&&(r=!0)}r!=i&&(t.return=!0,t.stop())})),n.on("postFixer",((e,{listNodes:t,writer:o})=>{for(const{node:n,previousNodeInList:i}of t){if(!i)continue;if(i.getAttribute("listItemId")!=n.getAttribute("listItemId"))continue;const t=i.hasAttribute("todoListChecked"),r=n.hasAttribute("todoListChecked");r&&!t?(o.removeAttribute("todoListChecked",n),e.return=!0):!r&&t&&(o.setAttribute("todoListChecked",!0,n),e.return=!0)}})),t.document.registerPostFixer((e=>{const o=t.document.differ.getChanges();let n=!1;for(const t of o)if("attribute"==t.type&&"listType"==t.attributeKey){const o=t.range.start.nodeAfter;"todo"==t.attributeOldValue&&o.hasAttribute("todoListChecked")&&(e.removeAttribute("todoListChecked",o),n=!0)}else if("insert"==t.type&&"$text"!=t.name)for(const{item:o}of e.createRangeOn(t.position.nodeAfter))o.is("element")&&"todo"!=o.getAttribute("listType")&&o.hasAttribute("todoListChecked")&&(e.removeAttribute("todoListChecked",o),n=!0);return n})),this.listenTo(o.view.document,"keydown",((t,o)=>{vi(o)===nD&&(e.execute("checkTodoList"),t.stop())}),{priority:"high"}),this.listenTo(o.view.document,"todoCheckboxChange",((e,t)=>{const n=t.target;if(!n||!n.is("element","input"))return;const i=o.view.createPositionAfter(n),r=o.mapper.toModelPosition(i).parent;r&&eE(r)&&"todo"==r.getAttribute("listType")&&this._handleCheckmarkChange(r)})),this.listenTo(o.view.document,"arrowKey",function(e,t){return(o,n)=>{const i=Di(n.keyCode,t.contentLanguageDirection),r=e.schema,s=e.document.selection;if(!s.isCollapsed)return;const a=s.getFirstPosition(),l=a.parent;if("right"==i&&a.isAtEnd){const t=r.getNearestSelectionRange(e.createPositionAfter(l),"forward");if(!t)return;const i=t.start.parent;i&&eE(i)&&"todo"==i.getAttribute("listType")&&(e.change((e=>e.setSelection(t))),n.preventDefault(),n.stopPropagation(),o.stop())}else if("left"==i&&a.isAtStart&&eE(l)&&"todo"==l.getAttribute("listType")){const t=r.getNearestSelectionRange(e.createPositionBefore(l),"backward");if(!t)return;e.change((e=>e.setSelection(t))),n.preventDefault(),n.stopPropagation(),o.stop()}}}(t,e.locale),{context:"$text"}),this.listenTo(o.mapper,"viewToModelPosition",((e,o)=>{const n=o.viewPosition.parent,i=n.is("attributeElement","li")&&0==o.viewPosition.offset,r=aD(n)&&o.viewPosition.offset<=1,s=n.is("element","span")&&"false"==n.getAttribute("contenteditable")&&aD(n.parent);if(!i&&!r&&!s)return;const a=o.modelPosition.nodeAfter;a&&"todo"==a.getAttribute("listType")&&(o.modelPosition=t.createPositionAt(a,0))}),{priority:"low"}),this._initAriaAnnouncements()}_handleCheckmarkChange(e){const t=this.editor,o=t.model,n=Array.from(o.document.selection.getRanges());o.change((o=>{o.setSelection(e,"end"),t.execute("checkTodoList"),o.setSelection(n)}))}_initAriaAnnouncements(){const{model:e,ui:t,t:o}=this.editor;let n=null;t&&e.document.selection.on("change:range",(()=>{const i=e.document.selection.focus.parent,r=lD(n),s=lD(i);r&&!s?t.ariaLiveAnnouncer.announce(o("Leaving a to-do list")):!r&&s&&t.ariaLiveAnnouncer.announce(o("Entering a to-do list")),n=i}))}}function rD(e){const t=new As(e);return(e,o,n)=>{const i=t.match(o.viewItem);i&&n.consumable.consume(o.viewItem,i.match)&&Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor))}}function sD(e,t){return(e.is("element","paragraph")||e.is("element","listItem"))&&"todo"==e.getAttribute("listType")&&iE(e)&&function(e,t){for(const o of e.getAttributeKeys())if(!o.startsWith("selection:")&&!t.includes(o))return!1;return!0}(e,t)}function aD(e){return!!e&&e.is("attributeElement")&&e.hasClass("todo-list__label")}function lD(e){return!!e&&(!(!e.is("element","paragraph")&&!e.is("element","listItem"))&&"todo"==e.getAttribute("listType"))}class cD extends br{static get pluginName(){return"TodoListUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.t;qE(this.editor,"todoList",e("To-do List"),up.todoList)}}var dD=i(5484),uD={attributes:{"data-cke":!0}};uD.setAttributes=Xr(),uD.insert=Yr().bind(null,"head"),uD.domAPI=Zr(),uD.insertStyleElement=ts();Gr()(dD.A,uD);dD.A&&dD.A.locals&&dD.A.locals;class hD extends br{static get requires(){return[iD,cD]}static get pluginName(){return"TodoList"}static get isOfficialPlugin(){return!0}}const pD=Symbol("isOPCodeBlock");function mD(e){return!!e.getCustomProperty(pD)&&ww(e)}function gD(e){const t=e.getSelectedElement();return!(!t||!mD(t))}function fD(e,t,o){const n=t.createContainerElement("pre",{title:window.I18n.t("js.editor.macro.toolbar_help")});return bD(t,e,n),function(e,t,o){return t.setCustomProperty(pD,!0,e),_w(e,t,{label:o})}(n,t,o)}function bD(e,t,o){const n=(t.getAttribute("opCodeblockLanguage")||"language-text").replace(/^language-/,""),i=e.createContainerElement("div",{class:"op-uc-code-block--language"});kD(e,n,i,"text"),e.insert(e.createPositionAt(o,0),i);kD(e,t.getAttribute("opCodeblockContent"),o,"(empty)")}function kD(e,t,o,n){const i=e.createText(t||n);e.insert(e.createPositionAt(o,0),i)}class wD extends nl{constructor(e){super(e),this.domEventType="dblclick"}onDomEvent(e){this.fire(e.type,e)}}class _D extends br{static get pluginName(){return"CodeBlockEditing"}init(){const e=this.editor,t=e.model.schema,o=e.conversion,n=e.editing.view,i=n.document,r=Pw(e);var s,a;t.register("codeblock",{isObject:!0,isBlock:!0,allowContentOf:"$block",allowWhere:["$root","$block"],allowIn:["$root"],allowAttributes:["opCodeblockLanguage","opCodeblockContent"]}),o.for("upcast").add(function(){return t=>{t.on("element:pre",e,{priority:"high"})};function e(e,t,o){if(!o.consumable.test(t.viewItem,{name:!0}))return;const n=Array.from(t.viewItem.getChildren()).find((e=>e.is("element","code")));if(!n||!o.consumable.consume(n,{name:!0}))return;const i=o.writer.createElement("codeblock");o.writer.setAttribute("opCodeblockLanguage",n.getAttribute("class"),i);const r=o.splitToAllowedParent(i,t.modelCursor);if(r){o.writer.insert(i,r.position);const e=n.getChild(0);if(e){o.consumable.consume(e,{name:!0});const t=e.data.replace(/\n$/,"");o.writer.setAttribute("opCodeblockContent",t,i)}t.modelRange=new lc(o.writer.createPositionBefore(i),o.writer.createPositionAfter(i)),t.modelCursor=t.modelRange.end}}}()),o.for("editingDowncast").elementToElement({model:"codeblock",view:(e,{writer:t})=>fD(e,t,"Code block")}).add(function(){return t=>{t.on("attribute:opCodeblockContent",e),t.on("attribute:opCodeblockLanguage",e)};function e(e,t,o){const n=t.item;o.consumable.consume(t.item,e.name);const i=o.mapper.toViewElement(n);o.writer.remove(o.writer.createRangeOn(i.getChild(1))),o.writer.remove(o.writer.createRangeOn(i.getChild(0))),bD(o.writer,n,i)}}()),o.for("dataDowncast").add(function(){return t=>{t.on("insert:codeblock",e,{priority:"high"})};function e(e,t,o){const n=t.item,i=n.getAttribute("opCodeblockLanguage")||"language-text",r=n.getAttribute("opCodeblockContent");o.consumable.consume(n,"insert");const s=o.writer,a=s.createContainerElement("pre"),l=s.createContainerElement("div",{class:"op-uc-code-block--language"}),c=s.createContainerElement("code",{class:i}),d=s.createText(i),u=s.createText(r);s.insert(s.createPositionAt(c,0),u),s.insert(s.createPositionAt(l,0),d),s.insert(s.createPositionAt(a,0),l),s.insert(s.createPositionAt(a,0),c),o.mapper.bindElements(n,c),o.mapper.bindElements(n,a),o.mapper.bindElements(n,l);const h=o.mapper.toViewPosition(t.range.start);s.insert(h,a),e.stop()}}()),this.editor.editing.mapper.on("viewToModelPosition",(s=this.editor.model,a=e=>e.hasClass("op-uc-code-block"),(e,t)=>{const{mapper:o,viewPosition:n}=t,i=o.findMappedViewAncestor(n);if(!a(i))return;const r=o.toModelElement(i);t.modelPosition=s.createPositionAt(r,n.isAtStart?"before":"after")})),n.addObserver(wD),this.listenTo(i,"dblclick",((t,o)=>{let n=o.target,i=o.domEvent;if(i.shiftKey||i.altKey||i.metaKey)return;if(!mD(n)&&(n=n.findAncestor(mD),!n))return;o.preventDefault(),o.stopPropagation();const s=e.editing.mapper.toModelElement(n),a=r.services.macros,l=s.getAttribute("opCodeblockLanguage"),c=s.getAttribute("opCodeblockContent");a.editCodeBlock(c,l).then((t=>e.model.change((e=>{e.setAttribute("opCodeblockLanguage",t.languageClass,s),e.setAttribute("opCodeblockContent",t.content,s)}))))})),e.ui.componentFactory.add("insertCodeBlock",(t=>{const o=new Kp(t);return o.set({label:window.I18n.t("js.editor.macro.code_block.button"),icon:'\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n image/svg+xml\n \n \n \n \n\n',tooltip:!0}),o.on("execute",(()=>{r.services.macros.editCodeBlock().then((t=>e.model.change((o=>{const n=o.createElement("codeblock");o.setAttribute("opCodeblockLanguage",t.languageClass,n),o.setAttribute("opCodeblockContent",t.content,n),e.model.insertContent(n,e.model.document.selection)}))))})),o}))}}class yD extends br{static get requires(){return[kk]}static get pluginName(){return"CodeBlockToolbar"}init(){const e=this.editor,t=this.editor.model,o=Pw(e);G_(e,"opEditCodeBlock",(e=>{const n=o.services.macros,i=e.getAttribute("opCodeblockLanguage"),r=e.getAttribute("opCodeblockContent");n.editCodeBlock(r,i).then((o=>t.change((t=>{t.setAttribute("opCodeblockLanguage",o.languageClass,e),t.setAttribute("opCodeblockContent",o.content,e)}))))}))}afterInit(){Z_(this,this.editor,"OPCodeBlock",gD)}}function AD(e){return e.__currentlyDisabled=e.__currentlyDisabled||[],e.ui.view.toolbar?e.ui.view.toolbar.items._items:[]}function CD(e,t){AD(e).forEach((o=>{let n=o;o instanceof Lm?n=o.buttonView:o!==t&&Object.prototype.hasOwnProperty.call(o,"isEnabled")||(n=null),n&&(n.isEnabled?n.isEnabled=!1:e.__currentlyDisabled.push(n))}))}function vD(e){AD(e).forEach((t=>{let o=t;t instanceof Lm&&(o=t.buttonView),e.__currentlyDisabled.indexOf(o)<0&&(o.isEnabled=!0)})),e.__currentlyDisabled=[]}class xD{constructor(e){this.response=e}get statusCode(){return this.response.status}get redirected(){return this.response.redirected}get ok(){return this.response.ok}get unauthenticated(){return 401===this.statusCode}get unprocessableEntity(){return 422===this.statusCode}get authenticationURL(){return this.response.headers.get("WWW-Authenticate")}get contentType(){return(this.response.headers.get("Content-Type")||"").replace(/;.*$/,"")}get headers(){return this.response.headers}get html(){return this.contentType.match(/^(application|text)\/(html|xhtml\+xml)$/)?this.text:Promise.reject(new Error(`Expected an HTML response but got "${this.contentType}" instead`))}get json(){return this.contentType.match(/^application\/.*json$/)?this.responseJson||(this.responseJson=this.response.json()):Promise.reject(new Error(`Expected a JSON response but got "${this.contentType}" instead`))}get text(){return this.responseText||(this.responseText=this.response.text())}get isTurboStream(){return this.contentType.match(/^text\/vnd\.turbo-stream\.html/)}get isScript(){return this.contentType.match(/\b(?:java|ecma)script\b/)}async renderTurboStream(){if(!this.isTurboStream)return Promise.reject(new Error(`Expected a Turbo Stream response but got "${this.contentType}" instead`));window.Turbo?await window.Turbo.renderStreamMessage(await this.text):console.warn("You must set `window.Turbo = Turbo` to automatically process Turbo Stream events with request.js")}async activeScript(){if(!this.isScript)return Promise.reject(new Error(`Expected a Script response but got "${this.contentType}" instead`));{const e=document.createElement("script"),t=document.querySelector("meta[name=csp-nonce]");if(t){const o=""===t.nonce?t.content:t.nonce;o&&e.setAttribute("nonce",o)}e.innerHTML=await this.text,document.body.appendChild(e)}}}class ED{static register(e){this.interceptor=e}static get(){return this.interceptor}static reset(){this.interceptor=void 0}}function DD(e){const t=document.head.querySelector(`meta[name="${e}"]`);return t&&t.content}class BD{constructor(e,t,o={}){this.method=e,this.options=o,this.originalUrl=t.toString()}async perform(){try{const e=ED.get();e&&await e(this)}catch(e){console.error(e)}const e=window.Turbo?window.Turbo.fetch:window.fetch,t=new xD(await e(this.url,this.fetchOptions));if(t.unauthenticated&&t.authenticationURL)return Promise.reject(window.location.href=t.authenticationURL);t.isScript&&await t.activeScript();return(t.ok||t.unprocessableEntity)&&t.isTurboStream&&await t.renderTurboStream(),t}addHeader(e,t){const o=this.additionalHeaders;o[e]=t,this.options.headers=o}sameHostname(){if(!this.originalUrl.startsWith("http:")&&!this.originalUrl.startsWith("https:"))return!0;try{return new URL(this.originalUrl).hostname===window.location.hostname}catch(e){return!0}}get fetchOptions(){return{method:this.method.toUpperCase(),headers:this.headers,body:this.formattedBody,signal:this.signal,credentials:this.credentials,redirect:this.redirect,keepalive:this.keepalive}}get headers(){const e={"X-Requested-With":"XMLHttpRequest","Content-Type":this.contentType,Accept:this.accept};return this.sameHostname()&&(e["X-CSRF-Token"]=this.csrfToken),function(e){const t={};for(const o in e){const n=e[o];void 0!==n&&(t[o]=n)}return t}(Object.assign(e,this.additionalHeaders))}get csrfToken(){return function(e){const t=document.cookie?document.cookie.split("; "):[],o=`${encodeURIComponent(e)}=`,n=t.find((e=>e.startsWith(o)));if(n){const e=n.split("=").slice(1).join("=");if(e)return decodeURIComponent(e)}}(DD("csrf-param"))||DD("csrf-token")}get contentType(){return this.options.contentType?this.options.contentType:null==this.body||this.body instanceof window.FormData?void 0:this.body instanceof window.File?this.body.type:"application/json"}get accept(){switch(this.responseKind){case"html":return"text/html, application/xhtml+xml";case"turbo-stream":return"text/vnd.turbo-stream.html, text/html, application/xhtml+xml";case"json":return"application/json, application/vnd.api+json";case"script":return"text/javascript, application/javascript";default:return"*/*"}}get body(){return this.options.body}get query(){const e=(this.originalUrl.split("?")[1]||"").split("#")[0],t=new URLSearchParams(e);let o=this.options.query;var n;o instanceof window.FormData?(n=o,o=[...n].reduce(((e,[t,o])=>e.concat("string"==typeof o?[[t,o]]:[])),[])):o=o instanceof window.URLSearchParams?o.entries():Object.entries(o||{}),function(e,t){for(const[o,n]of t)n instanceof window.File||(e.has(o)&&!o.includes("[]")?(e.delete(o),e.set(o,n)):e.append(o,n))}(t,o);const i=t.toString();return i.length>0?`?${i}`:""}get url(){return this.originalUrl.split("?")[0].split("#")[0]+this.query}get responseKind(){return this.options.responseKind||"html"}get signal(){return this.options.signal}get redirect(){return this.options.redirect||"follow"}get credentials(){return this.options.credentials||"same-origin"}get keepalive(){return this.options.keepalive||!1}get additionalHeaders(){return this.options.headers||{}}get formattedBody(){const e="[object String]"===Object.prototype.toString.call(this.body);return"application/json"===this.headers["Content-Type"]&&!e?JSON.stringify(this.body):this.body}}async function SD(e,t){return new BD("get",e,t).perform()}function TD(e,t){const{modelAttribute:o,styleName:n,viewElement:i,defaultValue:r,reduceBoxSides:s=!1,shouldUpcast:a=()=>!0}=t;e.for("upcast").attributeToAttribute({view:{name:i,styles:{[n]:/[\s\S]+/}},model:{key:o,value:e=>{if(!a(e))return;const t=e.getNormalizedStyle(n),o=s?RD(t):t;return r!==o?o:void 0}}})}function ID(e,t,o,n){e.for("upcast").add((e=>e.on("element:"+t,((e,t,i)=>{if(!t.modelRange)return;const r=["border-top-width","border-top-color","border-top-style","border-bottom-width","border-bottom-color","border-bottom-style","border-right-width","border-right-color","border-right-style","border-left-width","border-left-color","border-left-style"].filter((e=>t.viewItem.hasStyle(e)));if(!r.length)return;const s={styles:r};if(!i.consumable.test(t.viewItem,s))return;const a=[...t.modelRange.getItems({shallow:!0})].pop();i.consumable.consume(t.viewItem,s);const l={style:t.viewItem.getNormalizedStyle("border-style"),color:t.viewItem.getNormalizedStyle("border-color"),width:t.viewItem.getNormalizedStyle("border-width")},c={style:RD(l.style),color:RD(l.color),width:RD(l.width)};c.style!==n.style&&i.writer.setAttribute(o.style,c.style,a),c.color!==n.color&&i.writer.setAttribute(o.color,c.color,a),c.width!==n.width&&i.writer.setAttribute(o.width,c.width,a)}))))}function PD(e,t){const{modelElement:o,modelAttribute:n,styleName:i}=t;e.for("downcast").attributeToAttribute({model:{name:o,key:n},view:e=>({key:"style",value:{[i]:e}})})}function FD(e,t){const{modelAttribute:o,styleName:n}=t;e.for("downcast").add((e=>e.on(`attribute:${o}:table`,((e,t,o)=>{const{item:i,attributeNewValue:r}=t,{mapper:s,writer:a}=o;if(!o.consumable.consume(t.item,e.name))return;const l=[...s.toViewElement(i).getChildren()].find((e=>e.is("element","table")));r?a.setStyle(n,r,l):a.removeStyle(n,l)}))))}function RD(e){if(!e)return;const t=["top","right","bottom","left"];if(!t.every((t=>e[t])))return e;const o=e.top;return t.every((t=>e[t]===o))?o:e}function MD(e,t,o,n,i=1){null!=t&&null!=i&&t>i?n.setAttribute(e,t,o):n.removeAttribute(e,o)}function zD(e,t,o={}){const n=e.createElement("tableCell",o);return e.insertElement("paragraph",n),e.insert(n,t),n}function OD(e,t){const o=t.parent.parent,n=parseInt(o.getAttribute("headingColumns")||"0"),{column:i}=e.getCellLocation(t);return!!n&&i{e.on("element:table",((e,t,o)=>{const n=t.viewItem;if(!o.consumable.test(n,{name:!0}))return;const{rows:i,headingRows:r,headingColumns:s}=function(e){let t,o=0;const n=[],i=[];let r;for(const s of Array.from(e.getChildren())){if("tbody"!==s.name&&"thead"!==s.name&&"tfoot"!==s.name)continue;"thead"!==s.name||r||(r=s);const e=Array.from(s.getChildren()).filter((e=>e.is("element","tr")));let a=null;for(const l of e){const e=Array.from(l.getChildren()).filter((e=>e.is("element","td")||e.is("element","th")));if(r&&s===r||"tbody"===s.name&&e.length>0&&(null===a||e.length===a)&&e.every((e=>e.is("element","th"))))o++,n.push(l);else{i.push(l);const e=jD(l);(!t||eo.convertItem(e,o.writer.createPositionAt(l,"end")))),o.convertChildren(n,o.writer.createPositionAt(l,"end")),l.isEmpty){const e=o.writer.createElement("tableRow");o.writer.insert(e,o.writer.createPositionAt(l,"end")),zD(o.writer,o.writer.createPositionAt(e,"end"))}o.updateConversionResult(l,t)}}))}}function HD(e){return t=>{t.on(`element:${e}`,((e,t,{writer:o})=>{if(!t.modelRange)return;const n=t.modelRange.start.nodeAfter,i=o.createPositionAt(n,0);if(t.viewItem.isEmpty)return void o.insertElement("paragraph",i);const r=Array.from(n.getChildren());if(r.every((e=>e.is("element","$marker")))){const e=o.createElement("paragraph");o.insert(e,o.createPositionAt(n,0));for(const t of r)o.move(o.createRangeOn(t),o.createPositionAt(e,"end"))}}),{priority:"low"})}}function jD(e){let t=0,o=0;const n=Array.from(e.getChildren()).filter((e=>"th"===e.name||"td"===e.name));for(;o1||i>1)&&this._recordSpans(o,i,n),this._shouldSkipSlot()||(t=this._formatOutValue(o)),this._nextCellAtColumn=this._column+n}return this._column++,this._column==this._nextCellAtColumn&&this._cellIndex++,t||this.next()}skipRow(e){this._skipRows.add(e)}_advanceToNextRow(){return this._row++,this._rowIndex++,this._column=0,this._cellIndex=0,this._nextCellAtColumn=-1,this.next()}_isOverEndRow(){return void 0!==this._endRow&&this._row>this._endRow}_isOverEndColumn(){return void 0!==this._endColumn&&this._column>this._endColumn}_formatOutValue(e,t=this._row,o=this._column){return{done:!1,value:new $D(this,e,t,o)}}_shouldSkipSlot(){const e=this._skipRows.has(this._row),t=this._rowthis._endColumn;return e||t||o||n}_getSpanned(){const e=this._spannedCells.get(this._row);return e&&e.get(this._column)||null}_recordSpans(e,t,o){const n={cell:e,row:this._row,column:this._column};for(let e=this._row;e0&&!this._jumpedToStartRow}_jumpToNonSpannedRowClosestToStartRow(){const e=this._getRowLength(0);for(let t=this._startRow;!this._jumpedToStartRow;t--)e===this._getRowLength(t)&&(this._row=t,this._rowIndex=t,this._jumpedToStartRow=!0)}_getRowLength(e){return[...this._table.getChild(e).getChildren()].reduce(((e,t)=>e+parseInt(t.getAttribute("colspan")||"1")),0)}}class $D{constructor(e,t,o,n){this.cell=t,this.row=e._row,this.column=e._column,this.cellAnchorRow=o,this.cellAnchorColumn=n,this._cellIndex=e._cellIndex,this._rowIndex=e._rowIndex,this._table=e._table}get isAnchor(){return this.row===this.cellAnchorRow&&this.column===this.cellAnchorColumn}get cellWidth(){return parseInt(this.cell.getAttribute("colspan")||"1")}get cellHeight(){return parseInt(this.cell.getAttribute("rowspan")||"1")}get rowIndex(){return this._rowIndex}getPositionBefore(){return this._table.root.document.model.createPositionAt(this._table.getChild(this.row),this._cellIndex)}}function UD(e,t){return(o,{writer:n})=>{const i=o.getAttribute("headingRows")||0,r=n.createContainerElement("table",null,[]),s=n.createContainerElement("figure",{class:"table"},r);i>0&&n.insert(n.createPositionAt(r,"end"),n.createContainerElement("thead",null,n.createSlot((e=>e.is("element","tableRow")&&e.indexe.is("element","tableRow")&&e.index>=i))));for(const{positionOffset:e,filter:o}of t.additionalSlots)n.insert(n.createPositionAt(r,e),n.createSlot(o));return n.insert(n.createPositionAt(r,"after"),n.createSlot((e=>!e.is("element","tableRow")&&!t.additionalSlots.some((({filter:t})=>t(e)))))),t.asWidget?function(e,t){return t.setCustomProperty("table",!0,e),_w(e,t,{hasSelectionHandle:!0})}(s,n):s}}function WD(e={}){return(t,{writer:o})=>{const n=t.parent,i=n.parent,r=i.getChildIndex(n),s=new qD(i,{row:r}),a=i.getAttribute("headingRows")||0,l=i.getAttribute("headingColumns")||0;let c=null;for(const n of s)if(n.cell==t){const t=n.row{if(!t.parent.is("element","tableCell"))return null;if(!KD(t))return null;if(e.asWidget)return o.createContainerElement("span",{class:"ck-table-bogus-paragraph"});{const e=o.createContainerElement("p");return o.setCustomProperty("dataPipeline:transparentRendering",!0,e),e}}}function KD(e){return 1==e.parent.childCount&&!function(e){for(const t of e.getAttributeKeys())if(!t.startsWith("selection:")&&"htmlEmptyBlock"!=t)return!0;return!1}(e)}class ZD extends wr{refresh(){const e=this.editor.model,t=e.document.selection,o=e.schema;this.isEnabled=function(e,t){const o=e.getFirstPosition().parent,n=o===o.root?o:o.parent;return t.checkChild(n,"table")}(t,o)}execute(e={}){const t=this.editor,o=t.model,n=t.plugins.get("TableUtils"),i=t.config.get("table.defaultHeadings.rows"),r=t.config.get("table.defaultHeadings.columns");void 0===e.headingRows&&i&&(e.headingRows=i),void 0===e.headingColumns&&r&&(e.headingColumns=r),o.change((t=>{const i=n.createTable(t,e);o.insertObject(i,null,null,{findOptimalPosition:"auto"}),t.setSelection(t.createPositionAt(i.getNodeByPath([0,0,0]),0))}))}}class JD extends wr{constructor(e,t={}){super(e),this.order=t.order||"below"}refresh(){const e=this.editor.model.document.selection,t=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=t}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n="above"===this.order,i=o.getSelectionAffectedTableCells(t),r=o.getRowIndexes(i),s=n?r.first:r.last,a=i[0].findAncestor("table");o.insertRows(a,{at:n?s:s+1,copyStructureFromAbove:!n})}}class YD extends wr{constructor(e,t={}){super(e),this.order=t.order||"right"}refresh(){const e=this.editor.model.document.selection,t=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=t}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n="left"===this.order,i=o.getSelectionAffectedTableCells(t),r=o.getColumnIndexes(i),s=n?r.first:r.last,a=i[0].findAncestor("table");o.insertColumns(a,{columns:1,at:n?s:s+1})}}class QD extends wr{constructor(e,t={}){super(e),this.direction=t.direction||"horizontally"}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=1===e.length}execute(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection)[0];"horizontally"===this.direction?e.splitCellHorizontally(t,2):e.splitCellVertically(t,2)}}function XD(e,t,o){const{startRow:n,startColumn:i,endRow:r,endColumn:s}=t,a=o.createElement("table"),l=r-n+1;for(let e=0;e0){MD("headingRows",r-o,e,i,0)}const s=parseInt(t.getAttribute("headingColumns")||"0");if(s>0){MD("headingColumns",s-n,e,i,0)}}(a,e,n,i,o),a}function eB(e,t,o=0){const n=[],i=new qD(e,{startRow:o,endRow:t-1});for(const e of i){const{row:o,cellHeight:i}=e;o1&&(a.rowspan=l);const c=parseInt(e.getAttribute("colspan")||"1");c>1&&(a.colspan=c);const d=r+s,u=[...new qD(i,{startRow:r,endRow:d,includeAllSlots:!0})];let h,p=null;for(const t of u){const{row:n,column:i,cell:r}=t;r===e&&void 0===h&&(h=i),void 0!==h&&h===i&&n===d&&(p=zD(o,t.getPositionBefore(),a))}return MD("rowspan",s,e,o),p}function oB(e,t){const o=[],n=new qD(e);for(const e of n){const{column:n,cellWidth:i}=e;n1&&(r.colspan=s);const a=parseInt(e.getAttribute("rowspan")||"1");a>1&&(r.rowspan=a);const l=zD(n,n.createPositionAfter(e),r);return MD("colspan",i,e,n),l}function iB(e,t,o,n,i,r){const s=parseInt(e.getAttribute("colspan")||"1"),a=parseInt(e.getAttribute("rowspan")||"1");if(o+s-1>i){MD("colspan",i-o+1,e,r,1)}if(t+a-1>n){MD("rowspan",n-t+1,e,r,1)}}function rB(e,t){const o=t.getColumns(e),n=new Array(o).fill(0);for(const{column:t}of new qD(e))n[t]++;const i=n.reduce(((e,t,o)=>t?e:[...e,o]),[]);if(i.length>0){const o=i[i.length-1];return t.removeColumns(e,{at:o}),!0}return!1}function sB(e,t){const o=[],n=t.getRows(e);for(let t=0;t0){const n=o[o.length-1];return t.removeRows(e,{at:n}),!0}return!1}function aB(e,t){rB(e,t)||sB(e,t)}function lB(e,t){const o=Array.from(new qD(e,{startColumn:t.firstColumn,endColumn:t.lastColumn,row:t.lastRow}));if(o.every((({cellHeight:e})=>1===e)))return t.lastRow;const n=o[0].cellHeight-1;return t.lastRow+n}function cB(e,t){const o=Array.from(new qD(e,{startRow:t.firstRow,endRow:t.lastRow,column:t.lastColumn}));if(o.every((({cellWidth:e})=>1===e)))return t.lastColumn;const n=o[0].cellWidth-1;return t.lastColumn+n}class dB extends wr{constructor(e,t){super(e),this.direction=t.direction,this.isHorizontal="right"==this.direction||"left"==this.direction}refresh(){const e=this._getMergeableCell();this.value=e,this.isEnabled=!!e}execute(){const e=this.editor.model,t=e.document,o=this.editor.plugins.get("TableUtils").getTableCellsContainingSelection(t.selection)[0],n=this.value,i=this.direction;e.change((e=>{const t="right"==i||"down"==i,r=t?o:n,s=t?n:o,a=s.parent;!function(e,t,o){uB(e)||(uB(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end")));o.remove(e)}(s,r,e);const l=this.isHorizontal?"colspan":"rowspan",c=parseInt(o.getAttribute(l)||"1"),d=parseInt(n.getAttribute(l)||"1");e.setAttribute(l,c+d,r),e.setSelection(e.createRangeIn(r));const u=this.editor.plugins.get("TableUtils");aB(a.findAncestor("table"),u)}))}_getMergeableCell(){const e=this.editor.model.document,t=this.editor.plugins.get("TableUtils"),o=t.getTableCellsContainingSelection(e.selection)[0];if(!o)return;const n=this.isHorizontal?function(e,t,o){const n=e.parent,i=n.parent,r="right"==t?e.nextSibling:e.previousSibling,s=(i.getAttribute("headingColumns")||0)>0;if(!r)return;const a="right"==t?e:r,l="right"==t?r:e,{column:c}=o.getCellLocation(a),{column:d}=o.getCellLocation(l),u=parseInt(a.getAttribute("colspan")||"1"),h=OD(o,a),p=OD(o,l);if(s&&h!=p)return;return c+u===d?r:void 0}(o,this.direction,t):function(e,t,o){const n=e.parent,i=n.parent,r=i.getChildIndex(n);if("down"==t&&r===o.getRows(i)-1||"up"==t&&0===r)return null;const s=parseInt(e.getAttribute("rowspan")||"1"),a=i.getAttribute("headingRows")||0,l="down"==t&&r+s===a,c="up"==t&&r===a;if(a&&(l||c))return null;const d=parseInt(e.getAttribute("rowspan")||"1"),u="down"==t?r+d:r,h=[...new qD(i,{endRow:u})],p=h.find((t=>t.cell===e)),m=p.column,g=h.find((({row:e,cellHeight:o,column:n})=>n===m&&("down"==t?e===u:u===e+o)));return g&&g.cell?g.cell:null}(o,this.direction,t);if(!n)return;const i=this.isHorizontal?"rowspan":"colspan",r=parseInt(o.getAttribute(i)||"1");return parseInt(n.getAttribute(i)||"1")===r?n:void 0}}function uB(e){const t=e.getChild(0);return 1==e.childCount&&t.is("element","paragraph")&&t.isEmpty}class hB extends wr{refresh(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){const n=o.findAncestor("table"),i=e.getRows(n)-1,r=e.getRowIndexes(t),s=0===r.first&&r.last===i;this.isEnabled=!s}else this.isEnabled=!1}execute(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),n=t.getRowIndexes(o),i=o[0],r=i.findAncestor("table"),s=t.getCellLocation(i).column;e.change((e=>{const o=n.last-n.first+1;t.removeRows(r,{at:n.first,rows:o});const i=function(e,t,o,n){const i=e.getChild(Math.min(t,n-1));let r=i.getChild(0),s=0;for(const e of i.getChildren()){if(s>o)return r;r=e,s+=parseInt(e.getAttribute("colspan")||"1")}return r}(r,n.first,s,t.getRows(r));e.setSelection(e.createPositionAt(i,0))}))}}class pB extends wr{refresh(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){const n=o.findAncestor("table"),i=e.getColumns(n),{first:r,last:s}=e.getColumnIndexes(t);this.isEnabled=s-re.cell===t)).column,last:i.find((e=>e.cell===o)).column},s=function(e,t,o,n){const i=parseInt(o.getAttribute("colspan")||"1");return i>1?o:t.previousSibling||o.nextSibling?o.nextSibling||t.previousSibling:n.first?e.reverse().find((({column:e})=>ee>n.last)).cell}(i,t,o,r);this.editor.model.change((t=>{const o=r.last-r.first+1;e.removeColumns(n,{at:r.first,columns:o}),t.setSelection(t.createPositionAt(s,0))}))}}class mB extends wr{refresh(){const e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection),n=o.length>0;this.isEnabled=n,this.value=n&&o.every((e=>this._isInHeading(e,e.parent.parent)))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.plugins.get("TableUtils"),o=this.editor.model,n=t.getSelectionAffectedTableCells(o.document.selection),i=n[0].findAncestor("table"),{first:r,last:s}=t.getRowIndexes(n),a=this.value?r:s+1,l=i.getAttribute("headingRows")||0;o.change((e=>{if(a){const t=eB(i,a,a>l?l:0);for(const{cell:o}of t)tB(o,a,e)}MD("headingRows",a,i,e,0)}))}_isInHeading(e,t){const o=parseInt(t.getAttribute("headingRows")||"0");return!!o&&e.parent.index0;this.isEnabled=n,this.value=n&&o.every((e=>OD(t,e)))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.plugins.get("TableUtils"),o=this.editor.model,n=t.getSelectionAffectedTableCells(o.document.selection),i=n[0].findAncestor("table"),{first:r,last:s}=t.getColumnIndexes(n),a=this.value?r:s+1;o.change((e=>{if(a){const t=oB(i,a);for(const{cell:o,column:n}of t)nB(o,n,a,e)}MD("headingColumns",a,i,e,0)}))}}function fB(e){if(e.is("element","tableColumnGroup"))return e;const t=e.getChildren();return Array.from(t).find((e=>e.is("element","tableColumnGroup")))}function bB(e){const t=fB(e);return t?Array.from(t.getChildren()):[]}class kB extends br{static get pluginName(){return"TableUtils"}static get isOfficialPlugin(){return!0}init(){this.decorate("insertColumns"),this.decorate("insertRows")}getCellLocation(e){const t=e.parent,o=t.parent,n=o.getChildIndex(t),i=new qD(o,{row:n});for(const{cell:t,row:o,column:n}of i)if(t===e)return{row:o,column:n}}createTable(e,t){const o=e.createElement("table"),n=t.rows||2,i=t.columns||2;return wB(e,o,0,n,i),t.headingRows&&MD("headingRows",Math.min(t.headingRows,n),o,e,0),t.headingColumns&&MD("headingColumns",Math.min(t.headingColumns,i),o,e,0),o}insertRows(e,t={}){const o=this.editor.model,n=t.at||0,i=t.rows||1,r=void 0!==t.copyStructureFromAbove,s=t.copyStructureFromAbove?n-1:n,a=this.getRows(e),l=this.getColumns(e);if(n>a)throw new S("tableutils-insertrows-insert-out-of-range",this,{options:t});o.change((t=>{const o=e.getAttribute("headingRows")||0;if(o>n&&MD("headingRows",o+i,e,t,0),!r&&(0===n||n===a))return void wB(t,e,n,i,l);const c=r?Math.max(n,s):n,d=new qD(e,{endRow:c}),u=new Array(l).fill(1);for(const{row:e,column:o,cellHeight:a,cellWidth:l,cell:c}of d){const d=e+a-1,h=e<=s&&s<=d;e0&&zD(t,i,n>1?{colspan:n}:void 0),e+=Math.abs(n)-1}}}))}insertColumns(e,t={}){const o=this.editor.model,n=t.at||0,i=t.columns||1;o.change((t=>{const o=e.getAttribute("headingColumns");ni-1)throw new S("tableutils-removerows-row-index-out-of-range",this,{table:e,options:t});o.change((t=>{const o={first:r,last:s},{cellsToMove:n,cellsToTrim:i}=function(e,{first:t,last:o}){const n=new Map,i=[];for(const{row:r,column:s,cellHeight:a,cell:l}of new qD(e,{endRow:o})){const e=r+a-1;if(r>=t&&r<=o&&e>o){const e=a-(o-r+1);n.set(s,{cell:l,rowspan:e})}if(r=t){let n;n=e>=o?o-t+1:e-t+1,i.push({cell:l,rowspan:a-n})}}return{cellsToMove:n,cellsToTrim:i}}(e,o);if(n.size){!function(e,t,o,n){const i=new qD(e,{includeAllSlots:!0,row:t}),r=[...i],s=e.getChild(t);let a;for(const{column:e,cell:t,isAnchor:i}of r)if(o.has(e)){const{cell:t,rowspan:i}=o.get(e),r=a?n.createPositionAfter(a):n.createPositionAt(s,0);n.move(n.createRangeOn(t),r),MD("rowspan",i,t,n),a=t}else i&&(a=t)}(e,s+1,n,t)}for(let o=s;o>=r;o--)t.remove(e.getChild(o));for(const{rowspan:e,cell:o}of i)MD("rowspan",e,o,t);!function(e,{first:t,last:o},n){const i=e.getAttribute("headingRows")||0;if(t{!function(e,t,o){const n=e.getAttribute("headingColumns")||0;if(n&&t.first=n;i--){for(const{cell:o,column:n,cellWidth:r}of[...new qD(e)])n<=i&&r>1&&n+r>i?MD("colspan",r-1,o,t):n===i&&t.remove(o);if(o[i]){const e=0===i?o[1]:o[i-1],n=parseFloat(o[i].getAttribute("columnWidth")),r=parseFloat(e.getAttribute("columnWidth"));t.remove(o[i]),t.setAttribute("columnWidth",n+r+"%",e)}}sB(e,this)||rB(e,this)}))}splitCellVertically(e,t=2){const o=this.editor.model,n=e.parent.parent,i=parseInt(e.getAttribute("rowspan")||"1"),r=parseInt(e.getAttribute("colspan")||"1");o.change((o=>{if(r>1){const{newCellsSpan:n,updatedSpan:s}=yB(r,t);MD("colspan",s,e,o);const a={};n>1&&(a.colspan=n),i>1&&(a.rowspan=i);_B(r>t?t-1:r-1,o,o.createPositionAfter(e),a)}if(rt===e)),c=a.filter((({cell:t,cellWidth:o,column:n})=>t!==e&&n===l||nl));for(const{cell:e,cellWidth:t}of c)o.setAttribute("colspan",t+s,e);const d={};i>1&&(d.rowspan=i),_B(s,o,o.createPositionAfter(e),d);const u=n.getAttribute("headingColumns")||0;u>l&&MD("headingColumns",u+s,n,o)}}))}splitCellHorizontally(e,t=2){const o=this.editor.model,n=e.parent,i=n.parent,r=i.getChildIndex(n),s=parseInt(e.getAttribute("rowspan")||"1"),a=parseInt(e.getAttribute("colspan")||"1");o.change((o=>{if(s>1){const n=[...new qD(i,{startRow:r,endRow:r+s-1,includeAllSlots:!0})],{newCellsSpan:l,updatedSpan:c}=yB(s,t);MD("rowspan",c,e,o);const{column:d}=n.find((({cell:t})=>t===e)),u={};l>1&&(u.rowspan=l),a>1&&(u.colspan=a);let h=0;for(const e of n){const{column:t,row:n}=e,i=t===d;h>=l&&i&&(h=0),n>=r+c&&i&&(h||_B(1,o,e.getPositionBefore(),u),h++)}}if(sr){const e=i+n;o.setAttribute("rowspan",e,t)}const c={};a>1&&(c.colspan=a),wB(o,i,r+1,n,1,c);const d=i.getAttribute("headingRows")||0;d>r&&MD("headingRows",d+n,i,o)}}))}getColumns(e){return[...e.getChild(0).getChildren()].filter((e=>e.is("element","tableCell"))).reduce(((e,t)=>e+parseInt(t.getAttribute("colspan")||"1")),0)}getRows(e){return Array.from(e.getChildren()).reduce(((e,t)=>t.is("element","tableRow")?e+1:e),0)}createTableWalker(e,t={}){return new qD(e,t)}getSelectedTableCells(e){const t=[];for(const o of this.sortRanges(e.getRanges())){const e=o.getContainedElement();e&&e.is("element","tableCell")&&t.push(e)}return t}getTableCellsContainingSelection(e){const t=[];for(const o of e.getRanges()){const e=o.start.findAncestor("tableCell");e&&t.push(e)}return t}getSelectionAffectedTableCells(e){const t=this.getSelectedTableCells(e);return t.length?t:this.getTableCellsContainingSelection(e)}getRowIndexes(e){const t=e.map((e=>e.parent.index));return this._getFirstLastIndexesObject(t)}getColumnIndexes(e){const t=e[0].findAncestor("table"),o=[...new qD(t)].filter((t=>e.includes(t.cell))).map((e=>e.column));return this._getFirstLastIndexesObject(o)}isSelectionRectangular(e){if(e.length<2||!this._areCellInTheSameTableSection(e))return!1;const t=new Set,o=new Set;let n=0;for(const i of e){const{row:e,column:r}=this.getCellLocation(i),s=parseInt(i.getAttribute("rowspan"))||1,a=parseInt(i.getAttribute("colspan"))||1;t.add(e),o.add(r),s>1&&t.add(e+s-1),a>1&&o.add(r+a-1),n+=s*a}const i=function(e,t){const o=Array.from(e.values()),n=Array.from(t.values()),i=Math.max(...o),r=Math.min(...o),s=Math.max(...n),a=Math.min(...n);return(i-r+1)*(s-a+1)}(t,o);return i==n}sortRanges(e){return Array.from(e).sort(AB)}_getFirstLastIndexesObject(e){const t=e.sort(((e,t)=>e-t));return{first:t[0],last:t[t.length-1]}}_areCellInTheSameTableSection(e){const t=e[0].findAncestor("table"),o=this.getRowIndexes(e),n=parseInt(t.getAttribute("headingRows"))||0;if(!this._areIndexesInSameSection(o,n))return!1;const i=this.getColumnIndexes(e),r=parseInt(t.getAttribute("headingColumns"))||0;return this._areIndexesInSameSection(i,r)}_areIndexesInSameSection({first:e,last:t},o){return e{const n=t.getSelectedTableCells(e.document.selection),i=n.shift(),{mergeWidth:r,mergeHeight:s}=function(e,t,o){let n=0,i=0;for(const e of t){const{row:t,column:r}=o.getCellLocation(e);n=EB(e,r,n,"colspan"),i=EB(e,t,i,"rowspan")}const{row:r,column:s}=o.getCellLocation(e),a=n-s,l=i-r;return{mergeWidth:a,mergeHeight:l}}(i,n,t);MD("colspan",r,i,o),MD("rowspan",s,i,o);for(const e of n)vB(e,i,o);aB(i.findAncestor("table"),t),o.setSelection(i,"in")}))}}function vB(e,t,o){xB(e)||(xB(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end"))),o.remove(e)}function xB(e){const t=e.getChild(0);return 1==e.childCount&&t.is("element","paragraph")&&t.isEmpty}function EB(e,t,o,n){const i=parseInt(e.getAttribute(n)||"1");return Math.max(o,t+i)}class DB extends wr{constructor(e){super(e),this.affectsData=!1}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),n=t.getRowIndexes(o),i=o[0].findAncestor("table"),r=[];for(let t=n.first;t<=n.last;t++)for(const o of i.getChild(t).getChildren())r.push(e.createRangeOn(o));e.change((e=>{e.setSelection(r)}))}}class BB extends wr{constructor(e){super(e),this.affectsData=!1}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection),n=o[0],i=o.pop(),r=n.findAncestor("table"),s=e.getCellLocation(n),a=e.getCellLocation(i),l=Math.min(s.column,a.column),c=Math.max(s.column,a.column),d=[];for(const e of new qD(r,{startColumn:l,endColumn:c}))d.push(t.createRangeOn(e.cell));t.change((e=>{e.setSelection(d)}))}}function SB(e){e.document.registerPostFixer((t=>function(e,t){const o=t.document.differ.getChanges();let n=!1;const i=new Set;for(const t of o){let o=null;"insert"==t.type&&"table"==t.name&&(o=t.position.nodeAfter),"insert"!=t.type&&"remove"!=t.type||"tableRow"!=t.name&&"tableCell"!=t.name||(o=t.position.findAncestor("table")),PB(t)&&(o=t.range.start.findAncestor("table")),o&&!i.has(o)&&(n=TB(o,e)||n,n=IB(o,e)||n,i.add(o))}return n}(t,e)))}function TB(e,t){let o=!1;const n=function(e){const t=parseInt(e.getAttribute("headingRows")||"0"),o=Array.from(e.getChildren()).reduce(((e,t)=>t.is("element","tableRow")?e+1:e),0),n=[];for(const{row:i,cell:r,cellHeight:s}of new qD(e)){if(s<2)continue;const e=ie){const t=e-i;n.push({cell:r,rowspan:t})}}return n}(e);if(n.length){o=!0;for(const e of n)MD("rowspan",e.rowspan,e.cell,t,1)}return o}function IB(e,t){let o=!1;const n=function(e){const t=new Array(e.childCount).fill(0);for(const{rowIndex:o}of new qD(e,{includeAllSlots:!0}))t[o]++;return t}(e),i=[];for(const[t,o]of n.entries())!o&&e.getChild(t).is("element","tableRow")&&i.push(t);if(i.length){o=!0;for(const o of i.reverse())t.remove(e.getChild(o)),n.splice(o,1)}const r=n.filter(((t,o)=>e.getChild(o).is("element","tableRow"))),s=r[0];if(!r.every((e=>e===s))){const n=r.reduce(((e,t)=>t>e?t:e),0);for(const[i,s]of r.entries()){const r=n-s;if(r){for(let o=0;ofunction(e,t){const o=t.document.differ.getChanges();let n=!1;for(const t of o)"insert"==t.type&&"table"==t.name&&(n=RB(t.position.nodeAfter,e)||n),"insert"==t.type&&"tableRow"==t.name&&(n=MB(t.position.nodeAfter,e)||n),"insert"==t.type&&"tableCell"==t.name&&(n=zB(t.position.nodeAfter,e)||n),"remove"!=t.type&&"insert"!=t.type||!OB(t)||(n=zB(t.position.parent,e)||n);return n}(t,e)))}function RB(e,t){let o=!1;for(const n of e.getChildren())n.is("element","tableRow")&&(o=MB(n,t)||o);return o}function MB(e,t){let o=!1;for(const n of e.getChildren())o=zB(n,t)||o;return o}function zB(e,t){if(0==e.childCount)return t.insertElement("paragraph",e),!0;const o=Array.from(e.getChildren()).filter((e=>e.is("$text")));for(const e of o)t.wrap(t.createRangeOn(e),"paragraph");return!!o.length}function OB(e){return!!e.position.parent.is("element","tableCell")&&("insert"==e.type&&"$text"==e.name||"remove"==e.type)}function NB(e,t){if(!e.is("element","paragraph"))return!1;const o=t.toViewElement(e);return!!o&&KD(e)!==o.is("element","span")}var VB=i(8864),LB={attributes:{"data-cke":!0}};LB.setAttributes=Xr(),LB.insert=Yr().bind(null,"head"),LB.domAPI=Zr(),LB.insertStyleElement=ts();Gr()(VB.A,LB);VB.A&&VB.A.locals&&VB.A.locals;class HB extends br{static get pluginName(){return"TableEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[kB]}constructor(e){super(e),this._additionalSlots=[]}init(){const e=this.editor,t=e.model,o=t.schema,n=e.conversion,i=e.plugins.get(kB);o.register("table",{inheritAllFrom:"$blockObject",allowAttributes:["headingRows","headingColumns"]}),o.register("tableRow",{allowIn:"table",isLimit:!0}),o.register("tableCell",{allowContentOf:"$container",allowIn:"tableRow",allowAttributes:["colspan","rowspan"],isLimit:!0,isSelectable:!0}),n.for("upcast").add((e=>{e.on("element:figure",((e,t,o)=>{if(!o.consumable.test(t.viewItem,{name:!0,classes:"table"}))return;const n=function(e){for(const t of e.getChildren())if(t.is("element","table"))return t}(t.viewItem);if(!n||!o.consumable.test(n,{name:!0}))return;o.consumable.consume(t.viewItem,{name:!0,classes:"table"});const i=or(o.convertItem(n,t.modelCursor).modelRange.getItems());i?(o.convertChildren(t.viewItem,o.writer.createPositionAt(i,"end")),o.updateConversionResult(i,t)):o.consumable.revert(t.viewItem,{name:!0,classes:"table"})}))})),n.for("upcast").add(LD()),n.for("editingDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:UD(i,{asWidget:!0,additionalSlots:this._additionalSlots})}),n.for("dataDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:UD(i,{additionalSlots:this._additionalSlots})}),n.for("upcast").elementToElement({model:"tableRow",view:"tr"}),n.for("upcast").add((e=>{e.on("element:tr",((e,t)=>{t.viewItem.isEmpty&&0==t.modelCursor.index&&e.stop()}),{priority:"high"})})),n.for("downcast").elementToElement({model:"tableRow",view:(e,{writer:t})=>e.isEmpty?t.createEmptyElement("tr"):t.createContainerElement("tr")}),n.for("upcast").elementToElement({model:"tableCell",view:"td"}),n.for("upcast").elementToElement({model:"tableCell",view:"th"}),n.for("upcast").add(HD("td")),n.for("upcast").add(HD("th")),n.for("editingDowncast").elementToElement({model:"tableCell",view:WD({asWidget:!0})}),n.for("dataDowncast").elementToElement({model:"tableCell",view:WD()}),n.for("editingDowncast").elementToElement({model:"paragraph",view:GD({asWidget:!0}),converterPriority:"high"}),n.for("dataDowncast").elementToElement({model:"paragraph",view:GD(),converterPriority:"high"}),n.for("downcast").attributeToAttribute({model:"colspan",view:"colspan"}),n.for("upcast").attributeToAttribute({model:{key:"colspan",value:jB("colspan")},view:"colspan"}),n.for("downcast").attributeToAttribute({model:"rowspan",view:"rowspan"}),n.for("upcast").attributeToAttribute({model:{key:"rowspan",value:jB("rowspan")},view:"rowspan"}),e.config.define("table.defaultHeadings.rows",0),e.config.define("table.defaultHeadings.columns",0),e.commands.add("insertTable",new ZD(e)),e.commands.add("insertTableRowAbove",new JD(e,{order:"above"})),e.commands.add("insertTableRowBelow",new JD(e,{order:"below"})),e.commands.add("insertTableColumnLeft",new YD(e,{order:"left"})),e.commands.add("insertTableColumnRight",new YD(e,{order:"right"})),e.commands.add("removeTableRow",new hB(e)),e.commands.add("removeTableColumn",new pB(e)),e.commands.add("splitTableCellVertically",new QD(e,{direction:"vertically"})),e.commands.add("splitTableCellHorizontally",new QD(e,{direction:"horizontally"})),e.commands.add("mergeTableCells",new CB(e)),e.commands.add("mergeTableCellRight",new dB(e,{direction:"right"})),e.commands.add("mergeTableCellLeft",new dB(e,{direction:"left"})),e.commands.add("mergeTableCellDown",new dB(e,{direction:"down"})),e.commands.add("mergeTableCellUp",new dB(e,{direction:"up"})),e.commands.add("setTableColumnHeader",new gB(e)),e.commands.add("setTableRowHeader",new mB(e)),e.commands.add("selectTableRow",new DB(e)),e.commands.add("selectTableColumn",new BB(e)),SB(t),FB(t),this.listenTo(t.document,"change:data",(()=>{!function(e,t){const o=e.document.differ;for(const e of o.getChanges()){let o,n=!1;if("attribute"==e.type){const t=e.range.start.nodeAfter;if(!t||!t.is("element","table"))continue;if("headingRows"!=e.attributeKey&&"headingColumns"!=e.attributeKey)continue;o=t,n="headingRows"==e.attributeKey}else"tableRow"!=e.name&&"tableCell"!=e.name||(o=e.position.findAncestor("table"),n="tableRow"==e.name);if(!o)continue;const i=o.getAttribute("headingRows")||0,r=o.getAttribute("headingColumns")||0,s=new qD(o);for(const e of s){const o=e.rowNB(e,t.mapper)));for(const e of o)t.reconvertItem(e)}}(t,e.editing)}))}registerAdditionalSlot(e){this._additionalSlots.push(e)}}function jB(e){return t=>{const o=parseInt(t.getAttribute(e));return Number.isNaN(o)||o<=0?null:o}}var qB=i(8603),$B={attributes:{"data-cke":!0}};$B.setAttributes=Xr(),$B.insert=Yr().bind(null,"head"),$B.domAPI=Zr(),$B.insertStyleElement=ts();Gr()(qB.A,$B);qB.A&&qB.A.locals&&qB.A.locals;class UB extends zp{constructor(e){super(e);const t=this.bindTemplate;this.items=this._createGridCollection(),this.keystrokes=new ar,this.focusTracker=new nr,this.set("rows",0),this.set("columns",0),this.bind("label").to(this,"columns",this,"rows",((e,t)=>`${t} × ${e}`)),this.setTemplate({tag:"div",attributes:{class:["ck"]},children:[{tag:"div",attributes:{class:["ck-insert-table-dropdown__grid"]},on:{"mouseover@.ck-insert-table-dropdown-grid-box":t.to("boxover")},children:this.items},{tag:"div",attributes:{class:["ck","ck-insert-table-dropdown__label"],"aria-hidden":!0},children:[{text:t.to("label")}]}],on:{mousedown:t.to((e=>{e.preventDefault()})),click:t.to((()=>{this.fire("execute")}))}}),this.on("boxover",((e,t)=>{const{row:o,column:n}=t.target.dataset;this.items.get(10*(parseInt(o,10)-1)+(parseInt(n,10)-1)).focus()})),this.focusTracker.on("change:focusedElement",((e,t,o)=>{if(!o)return;const{row:n,column:i}=o.dataset;this.set({rows:parseInt(n),columns:parseInt(i)})})),this.on("change:columns",(()=>this._highlightGridBoxes())),this.on("change:rows",(()=>this._highlightGridBoxes()))}render(){super.render(),Lp({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:10,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection});for(const e of this.items)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element)}reset(){this.set({rows:1,columns:1})}focus(){this.items.get(0).focus()}focusLast(){this.items.get(0).focus()}_highlightGridBoxes(){const e=this.rows,t=this.columns;this.items.map(((o,n)=>{const i=Math.floor(n/10){const n=e.commands.get("insertTable"),i=kf(o);let r;return i.bind("isEnabled").to(n),i.buttonView.set({icon:up.table,label:t("Insert table"),tooltip:!0}),i.on("change:isOpen",(()=>{r||(r=new UB(o),i.panelView.children.add(r),r.delegate("execute").to(i),i.on("execute",(()=>{e.execute("insertTable",{rows:r.rows,columns:r.columns}),e.editing.view.focus()})))})),i})),e.ui.componentFactory.add("menuBar:insertTable",(o=>{const n=e.commands.get("insertTable"),i=new Qk(o),r=new UB(o);return r.delegate("execute").to(i),i.on("change:isOpen",((e,t,o)=>{o||r.reset()})),r.on("execute",(()=>{e.execute("insertTable",{rows:r.rows,columns:r.columns}),e.editing.view.focus()})),i.buttonView.set({label:t("Table"),icon:up.table}),i.panelView.children.add(r),i.bind("isEnabled").to(n),i})),e.ui.componentFactory.add("tableColumn",(e=>{const n=[{type:"switchbutton",model:{commandName:"setTableColumnHeader",label:t("Header column"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:o?"insertTableColumnLeft":"insertTableColumnRight",label:t("Insert column left")}},{type:"button",model:{commandName:o?"insertTableColumnRight":"insertTableColumnLeft",label:t("Insert column right")}},{type:"button",model:{commandName:"removeTableColumn",label:t("Delete column")}},{type:"button",model:{commandName:"selectTableColumn",label:t("Select column")}}];return this._prepareDropdown(t("Column"),'',n,e)})),e.ui.componentFactory.add("tableRow",(e=>{const o=[{type:"switchbutton",model:{commandName:"setTableRowHeader",label:t("Header row"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:"insertTableRowAbove",label:t("Insert row above")}},{type:"button",model:{commandName:"insertTableRowBelow",label:t("Insert row below")}},{type:"button",model:{commandName:"removeTableRow",label:t("Delete row")}},{type:"button",model:{commandName:"selectTableRow",label:t("Select row")}}];return this._prepareDropdown(t("Row"),'',o,e)})),e.ui.componentFactory.add("mergeTableCells",(e=>{const n=[{type:"button",model:{commandName:"mergeTableCellUp",label:t("Merge cell up")}},{type:"button",model:{commandName:o?"mergeTableCellRight":"mergeTableCellLeft",label:t("Merge cell right")}},{type:"button",model:{commandName:"mergeTableCellDown",label:t("Merge cell down")}},{type:"button",model:{commandName:o?"mergeTableCellLeft":"mergeTableCellRight",label:t("Merge cell left")}},{type:"separator"},{type:"button",model:{commandName:"splitTableCellVertically",label:t("Split cell vertically")}},{type:"button",model:{commandName:"splitTableCellHorizontally",label:t("Split cell horizontally")}}];return this._prepareMergeSplitButtonDropdown(t("Merge cells"),'',n,e)}))}_prepareDropdown(e,t,o,n){const i=this.editor,r=kf(n),s=this._fillDropdownWithListOptions(r,o);return r.buttonView.set({label:e,icon:t,tooltip:!0}),r.bind("isEnabled").toMany(s,"isEnabled",((...e)=>e.some((e=>e)))),this.listenTo(r,"execute",(e=>{i.execute(e.source.commandName),e.source instanceof Vm||i.editing.view.focus()})),r}_prepareMergeSplitButtonDropdown(e,t,o,n){const i=this.editor,r=kf(n,pf),s="mergeTableCells",a=i.commands.get(s),l=this._fillDropdownWithListOptions(r,o);return r.buttonView.set({label:e,icon:t,tooltip:!0,isEnabled:!0}),r.bind("isEnabled").toMany([a,...l],"isEnabled",((...e)=>e.some((e=>e)))),this.listenTo(r.buttonView,"execute",(()=>{i.execute(s),i.editing.view.focus()})),this.listenTo(r,"execute",(e=>{i.execute(e.source.commandName),i.editing.view.focus()})),r}_fillDropdownWithListOptions(e,t){const o=this.editor,n=[],i=new tr;for(const e of t)GB(e,o,n,i);return yf(e,i),n}}function GB(e,t,o,n){if("button"===e.type||"switchbutton"===e.type){const n=e.model=new hk(e.model),{commandName:i,bindIsOn:r}=e.model,s=t.commands.get(i);o.push(s),n.set({commandName:i}),n.bind("isEnabled").to(s),r&&n.bind("isOn").to(s,"value"),n.set({withText:!0})}n.add(e)}var KB=i(2850),ZB={attributes:{"data-cke":!0}};ZB.setAttributes=Xr(),ZB.insert=Yr().bind(null,"head"),ZB.domAPI=Zr(),ZB.insertStyleElement=ts();Gr()(KB.A,ZB);KB.A&&KB.A.locals&&KB.A.locals;class JB extends br{static get pluginName(){return"TableSelection"}static get isOfficialPlugin(){return!0}static get requires(){return[kB,kB]}init(){const e=this.editor,t=e.model,o=e.editing.view;this.listenTo(t,"deleteContent",((e,t)=>this._handleDeleteContent(e,t)),{priority:"high"}),this.listenTo(o.document,"insertText",((e,t)=>this._handleInsertTextEvent(e,t)),{priority:"high"}),this._defineSelectionConverter(),this._enablePluginDisabling()}getSelectedTableCells(){const e=this.editor.plugins.get(kB),t=this.editor.model.document.selection,o=e.getSelectedTableCells(t);return 0==o.length?null:o}getSelectionAsFragment(){const e=this.editor.plugins.get(kB),t=this.getSelectedTableCells();return t?this.editor.model.change((o=>{const n=o.createDocumentFragment(),{first:i,last:r}=e.getColumnIndexes(t),{first:s,last:a}=e.getRowIndexes(t),l=t[0].findAncestor("table");let c=a,d=r;if(e.isSelectionRectangular(t)){const e={firstColumn:i,lastColumn:r,firstRow:s,lastRow:a};c=lB(l,e),d=cB(l,e)}const u=XD(l,{startRow:s,startColumn:i,endRow:c,endColumn:d},o);return o.insert(u,n,0),n})):null}setCellSelection(e,t){const o=this._getCellsToSelect(e,t);this.editor.model.change((e=>{e.setSelection(o.cells.map((t=>e.createRangeOn(t))),{backward:o.backward})}))}getFocusCell(){const e=[...this.editor.model.document.selection.getRanges()].pop().getContainedElement();return e&&e.is("element","tableCell")?e:null}getAnchorCell(){const e=or(this.editor.model.document.selection.getRanges()).getContainedElement();return e&&e.is("element","tableCell")?e:null}_defineSelectionConverter(){const e=this.editor,t=new Set;e.conversion.for("editingDowncast").add((e=>e.on("selection",((e,o,n)=>{const i=n.writer;!function(e){for(const o of t)e.removeClass("ck-editor__editable_selected",o);t.clear()}(i);const r=this.getSelectedTableCells();if(!r)return;for(const e of r){const o=n.mapper.toViewElement(e);i.addClass("ck-editor__editable_selected",o),t.add(o)}const s=n.mapper.toViewElement(r[r.length-1]);i.setSelection(s,0)}),{priority:"lowest"})))}_enablePluginDisabling(){const e=this.editor;this.on("change:isEnabled",(()=>{if(!this.isEnabled){const t=this.getSelectedTableCells();if(!t)return;e.model.change((o=>{const n=o.createPositionAt(t[0],0),i=e.model.schema.getNearestSelectionRange(n);o.setSelection(i)}))}}))}_handleDeleteContent(e,t){const o=this.editor.plugins.get(kB),n=t[0],i=t[1],r=this.editor.model,s=!i||"backward"==i.direction,a=o.getSelectedTableCells(n);a.length&&(e.stop(),r.change((e=>{const t=a[s?a.length-1:0];r.change((e=>{for(const t of a)r.deleteContent(e.createSelection(t,"in"))}));const o=r.schema.getNearestSelectionRange(e.createPositionAt(t,0));n.is("documentSelection")?e.setSelection(o):n.setTo(o)})))}_handleInsertTextEvent(e,t){const o=this.editor,n=this.getSelectedTableCells();if(!n)return;const i=o.editing.view,r=o.editing.mapper,s=n.map((e=>i.createRangeOn(r.toViewElement(e))));t.selection=i.createSelection(s)}_getCellsToSelect(e,t){const o=this.editor.plugins.get("TableUtils"),n=o.getCellLocation(e),i=o.getCellLocation(t),r=Math.min(n.row,i.row),s=Math.max(n.row,i.row),a=Math.min(n.column,i.column),l=Math.max(n.column,i.column),c=new Array(s-r+1).fill(null).map((()=>[])),d={startRow:r,endRow:s,startColumn:a,endColumn:l};for(const{row:t,cell:o}of new qD(e.findAncestor("table"),d))c[t-r].push(o);const u=i.rowe.reverse())),{cells:c.flat(),backward:u||h}}}class YB extends br{static get pluginName(){return"TableClipboard"}static get isOfficialPlugin(){return!0}static get requires(){return[Dy,By,JB,kB]}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"copy",((e,t)=>this._onCopyCut(e,t))),this.listenTo(t,"cut",((e,t)=>this._onCopyCut(e,t))),this.listenTo(e.model,"insertContent",((e,[t,o])=>this._onInsertContent(e,t,o)),{priority:"high"}),this.decorate("_replaceTableSlotCell")}_onCopyCut(e,t){const o=this.editor.editing.view,n=this.editor.plugins.get(JB),i=this.editor.plugins.get(Dy);n.getSelectedTableCells()&&("cut"!=e.name||this.editor.model.canEditAt(this.editor.model.document.selection))&&(t.preventDefault(),e.stop(),this.editor.model.enqueueChange({isUndoable:"cut"===e.name},(()=>{const r=i._copySelectedFragmentWithMarkers(e.name,this.editor.model.document.selection,(()=>n.getSelectionAsFragment()));o.document.fire("clipboardOutput",{dataTransfer:t.dataTransfer,content:this.editor.data.toView(r),method:e.name})})))}_onInsertContent(e,t,o){if(o&&!o.is("documentSelection"))return;const n=this.editor.model,i=this.editor.plugins.get(kB),r=this.editor.plugins.get(Dy),s=this.getTableIfOnlyTableInContent(t,n);if(!s)return;const a=i.getSelectionAffectedTableCells(n.document.selection);a.length?(e.stop(),t.is("documentFragment")?r._pasteMarkersIntoTransformedElement(t.markers,(e=>this._replaceSelectedCells(s,a,e))):this.editor.model.change((e=>{this._replaceSelectedCells(s,a,e)}))):aB(s,i)}_replaceSelectedCells(e,t,o){const n=this.editor.plugins.get(kB),i={width:n.getColumns(e),height:n.getRows(e)},r=function(e,t,o,n){const i=e[0].findAncestor("table"),r=n.getColumnIndexes(e),s=n.getRowIndexes(e),a={firstColumn:r.first,lastColumn:r.last,firstRow:s.first,lastRow:s.last},l=1===e.length;l&&(a.lastRow+=t.height-1,a.lastColumn+=t.width-1,function(e,t,o,n){const i=n.getColumns(e),r=n.getRows(e);o>i&&n.insertColumns(e,{at:i,columns:o-i});t>r&&n.insertRows(e,{at:r,rows:t-r})}(i,a.lastRow+1,a.lastColumn+1,n));l||!n.isSelectionRectangular(e)?function(e,t,o){const{firstRow:n,lastRow:i,firstColumn:r,lastColumn:s}=t,a={first:n,last:i},l={first:r,last:s};XB(e,r,a,o),XB(e,s+1,a,o),QB(e,n,l,o),QB(e,i+1,l,o,n)}(i,a,o):(a.lastRow=lB(i,a),a.lastColumn=cB(i,a));return a}(t,i,o,n),s=r.lastRow-r.firstRow+1,a=r.lastColumn-r.firstColumn+1;e=XD(e,{startRow:0,startColumn:0,endRow:Math.min(s,i.height)-1,endColumn:Math.min(a,i.width)-1},o);const l=t[0].findAncestor("table"),c=this._replaceSelectedCellsWithPasted(e,i,l,r,o);if(this.editor.plugins.get("TableSelection").isEnabled){const e=n.sortRanges(c.map((e=>o.createRangeOn(e))));o.setSelection(e)}else o.setSelection(c[0],0);return l}_replaceSelectedCellsWithPasted(e,t,o,n,i){const{width:r,height:s}=t,a=function(e,t,o){const n=new Array(o).fill(null).map((()=>new Array(t).fill(null)));for(const{column:t,row:o,cell:i}of new qD(e))n[o][t]=i;return n}(e,r,s),l=[...new qD(o,{startRow:n.firstRow,endRow:n.lastRow,startColumn:n.firstColumn,endColumn:n.lastColumn,includeAllSlots:!0})],c=[];let d;for(const e of l){const{row:t,column:o}=e;o===n.firstColumn&&(d=e.getPositionBefore());const l=t-n.firstRow,u=o-n.firstColumn,h=a[l%s][u%r],p=h?i.cloneElement(h):null,m=this._replaceTableSlotCell(e,p,d,i);m&&(iB(m,t,o,n.lastRow,n.lastColumn,i),c.push(m),d=i.createPositionAfter(m))}const u=parseInt(o.getAttribute("headingRows")||"0"),h=parseInt(o.getAttribute("headingColumns")||"0"),p=n.firstRoweS(e,t,o))).map((({cell:e})=>tB(e,t,n)))}function XB(e,t,o,n){if(t<1)return;return oB(e,t).filter((({row:e,cellHeight:t})=>eS(e,t,o))).map((({cell:e,column:o})=>nB(e,o,t,n)))}function eS(e,t,o){const n=e+t-1,{first:i,last:r}=o;return e>=i&&e<=r||e=i}class tS extends br{static get pluginName(){return"TableKeyboard"}static get isOfficialPlugin(){return!0}static get requires(){return[JB,kB]}init(){const e=this.editor,t=e.editing.view.document,o=e.t;this.listenTo(t,"arrowKey",((...e)=>this._onArrowKey(...e)),{context:"table"}),this.listenTo(t,"tab",((...e)=>this._handleTabOnSelectedTable(...e)),{context:"figure"}),this.listenTo(t,"tab",((...e)=>this._handleTab(...e)),{context:["th","td"]}),e.accessibility.addKeystrokeInfoGroup({id:"table",label:o("Keystrokes that can be used in a table cell"),keystrokes:[{label:o("Move the selection to the next cell"),keystroke:"Tab"},{label:o("Move the selection to the previous cell"),keystroke:"Shift+Tab"},{label:o("Insert a new table row (when in the last cell of a table)"),keystroke:"Tab"},{label:o("Navigate through the table"),keystroke:[["arrowup"],["arrowright"],["arrowdown"],["arrowleft"]]}]})}_handleTabOnSelectedTable(e,t){const o=this.editor,n=o.model.document.selection.getSelectedElement();n&&n.is("element","table")&&(t.preventDefault(),t.stopPropagation(),e.stop(),o.model.change((e=>{e.setSelection(e.createRangeIn(n.getChild(0).getChild(0)))})))}_handleTab(e,t){const o=this.editor,n=this.editor.plugins.get(kB),i=this.editor.plugins.get("TableSelection"),r=o.model.document.selection,s=!t.shiftKey;let a=n.getTableCellsContainingSelection(r)[0];if(a||(a=i.getFocusCell()),!a)return;t.preventDefault(),t.stopPropagation(),e.stop();const l=a.parent,c=l.parent,d=c.getChildIndex(l),u=l.getChildIndex(a),h=0===u;if(!s&&h&&0===d)return void o.model.change((e=>{e.setSelection(e.createRangeOn(c))}));const p=u===l.childCount-1,m=d===n.getRows(c)-1;if(s&&m&&p&&(o.execute("insertTableRowBelow"),d===n.getRows(c)-1))return void o.model.change((e=>{e.setSelection(e.createRangeOn(c))}));let g;if(s&&p){const e=c.getChild(d+1);g=e.getChild(0)}else if(!s&&h){const e=c.getChild(d-1);g=e.getChild(e.childCount-1)}else g=l.getChild(u+(s?1:-1));o.model.change((e=>{e.setSelection(e.createRangeIn(g))}))}_onArrowKey(e,t){const o=this.editor,n=Di(t.keyCode,o.locale.contentLanguageDirection);this._handleArrowKeys(n,t.shiftKey)&&(t.preventDefault(),t.stopPropagation(),e.stop())}_handleArrowKeys(e,t){const o=this.editor.plugins.get(kB),n=this.editor.plugins.get("TableSelection"),i=this.editor.model,r=i.document.selection,s=["right","down"].includes(e),a=o.getSelectedTableCells(r);if(a.length){let o;return o=t?n.getFocusCell():s?a[a.length-1]:a[0],this._navigateFromCellInDirection(o,e,t),!0}const l=r.focus.findAncestor("tableCell");if(!l)return!1;if(!r.isCollapsed)if(t){if(r.isBackward==s&&!r.containsEntireContent(l))return!1}else{const e=r.getSelectedElement();if(!e||!i.schema.isObject(e))return!1}return!!this._isSelectionAtCellEdge(r,l,s)&&(this._navigateFromCellInDirection(l,e,t),!0)}_isSelectionAtCellEdge(e,t,o){const n=this.editor.model,i=this.editor.model.schema,r=o?e.getLastPosition():e.getFirstPosition();if(!i.getLimitElement(r).is("element","tableCell")){return n.createPositionAt(t,o?"end":0).isTouching(r)}const s=n.createSelection(r);return n.modifySelection(s,{direction:o?"forward":"backward"}),r.isEqual(s.focus)}_navigateFromCellInDirection(e,t,o=!1){const n=this.editor.model,i=e.findAncestor("table"),r=[...new qD(i,{includeAllSlots:!0})],{row:s,column:a}=r[r.length-1],l=r.find((({cell:t})=>t==e));let{row:c,column:d}=l;switch(t){case"left":d--;break;case"up":c--;break;case"right":d+=l.cellWidth;break;case"down":c+=l.cellHeight}if(c<0||c>s||d<0&&c<=0||d>a&&c>=s)return void n.change((e=>{e.setSelection(e.createRangeOn(i))}));d<0?(d=o?0:a,c--):d>a&&(d=o?a:0,c++);const u=r.find((e=>e.row==c&&e.column==d)).cell,h=["right","down"].includes(t),p=this.editor.plugins.get("TableSelection");if(o&&p.isEnabled){const t=p.getAnchorCell()||e;p.setCellSelection(t,u)}else{const e=n.createPositionAt(u,h?0:"end");n.change((t=>{t.setSelection(e)}))}}}class oS extends nl{constructor(){super(...arguments),this.domEventType=["mousemove","mouseleave"]}onDomEvent(e){this.fire(e.type,e)}}class nS extends br{static get pluginName(){return"TableMouse"}static get isOfficialPlugin(){return!0}static get requires(){return[JB,kB]}init(){this.editor.editing.view.addObserver(oS),this._enableShiftClickSelection(),this._enableMouseDragSelection()}_enableShiftClickSelection(){const e=this.editor,t=e.plugins.get(kB);let o=!1;const n=e.plugins.get(JB);this.listenTo(e.editing.view.document,"mousedown",((i,r)=>{const s=e.model.document.selection;if(!this.isEnabled||!n.isEnabled)return;if(!r.domEvent.shiftKey)return;const a=n.getAnchorCell()||t.getTableCellsContainingSelection(s)[0];if(!a)return;const l=this._getModelTableCellFromDomEvent(r);l&&iS(a,l)&&(o=!0,n.setCellSelection(a,l),r.preventDefault())})),this.listenTo(e.editing.view.document,"mouseup",(()=>{o=!1})),this.listenTo(e.editing.view.document,"selectionChange",(e=>{o&&e.stop()}),{priority:"highest"})}_enableMouseDragSelection(){const e=this.editor;let t,o,n=!1,i=!1;const r=e.plugins.get(JB);this.listenTo(e.editing.view.document,"mousedown",((e,o)=>{this.isEnabled&&r.isEnabled&&(o.domEvent.shiftKey||o.domEvent.ctrlKey||o.domEvent.altKey||(t=this._getModelTableCellFromDomEvent(o)))})),this.listenTo(e.editing.view.document,"mousemove",((e,s)=>{if(!s.domEvent.buttons)return;if(!t)return;const a=this._getModelTableCellFromDomEvent(s);a&&iS(t,a)&&(o=a,n||o==t||(n=!0)),n&&(i=!0,r.setCellSelection(t,o),s.preventDefault())})),this.listenTo(e.editing.view.document,"mouseup",(()=>{n=!1,i=!1,t=null,o=null})),this.listenTo(e.editing.view.document,"selectionChange",(e=>{i&&e.stop()}),{priority:"highest"})}_getModelTableCellFromDomEvent(e){const t=e.target,o=this.editor.editing.view.createPositionAt(t,0);return this.editor.editing.mapper.toModelPosition(o).parent.findAncestor("tableCell",{includeSelf:!0})}}function iS(e,t){return e.parent.parent==t.parent.parent}var rS=i(9969),sS={attributes:{"data-cke":!0}};sS.setAttributes=Xr(),sS.insert=Yr().bind(null,"head"),sS.domAPI=Zr(),sS.insertStyleElement=ts();Gr()(rS.A,sS);rS.A&&rS.A.locals&&rS.A.locals;function aS(e){const t=lS(e);return t||cS(e)}function lS(e){const t=e.getSelectedElement();return t&&dS(t)?t:null}function cS(e){const t=e.getFirstPosition();if(!t)return null;let o=t.parent;for(;o;){if(o.is("element")&&dS(o))return o;o=o.parent}return null}function dS(e){return!!e.getCustomProperty("table")&&ww(e)}var uS=i(4307),hS={attributes:{"data-cke":!0}};hS.setAttributes=Xr(),hS.insert=Yr().bind(null,"head"),hS.domAPI=Zr(),hS.insertStyleElement=ts();Gr()(uS.A,hS);uS.A&&uS.A.locals&&uS.A.locals;class pS extends zp{constructor(e,t){super(e),this.set("value",""),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isEmpty",!0),this.options=t,this.focusTracker=new nr,this._focusables=new hp,this.dropdownView=this._createDropdownView(),this.inputView=this._createInputTextView(),this.keystrokes=new ar,this._stillTyping=!1,this.focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-input-color"]},children:[this.dropdownView,this.inputView]}),this.on("change:value",((e,t,o)=>this._setInputValue(o)))}render(){super.render(),[this.inputView,this.dropdownView.buttonView].forEach((e=>{this.focusTracker.add(e.element),this._focusables.add(e)})),this.keystrokes.listenTo(this.element)}focus(e){-1===e?this.focusCycler.focusLast():this.focusCycler.focusFirst()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createDropdownView(){const e=this.locale,t=e.t,o=this.bindTemplate,n=this._createColorSelector(e),i=kf(e),r=new zp;return r.setTemplate({tag:"span",attributes:{class:["ck","ck-input-color__button__preview"],style:{backgroundColor:o.to("value")}},children:[{tag:"span",attributes:{class:["ck","ck-input-color__button__preview__no-color-indicator",o.if("value","ck-hidden",(e=>""!=e))]}}]}),i.buttonView.extendTemplate({attributes:{class:"ck-input-color__button"}}),i.buttonView.children.add(r),i.buttonView.label=t("Color picker"),i.buttonView.tooltip=!0,i.panelPosition="rtl"===e.uiLanguageDirection?"se":"sw",i.panelView.children.add(n),i.bind("isEnabled").to(this,"isReadOnly",(e=>!e)),i.on("change:isOpen",((e,t,o)=>{o&&(n.updateSelectedColors(),n.showColorGridsFragment())})),i}_createInputTextView(){const e=this.locale,t=new gg(e);return t.extendTemplate({on:{blur:t.bindTemplate.to("blur")}}),t.value=this.value,t.bind("isReadOnly","hasError").to(this),this.bind("isFocused","isEmpty").to(t),t.on("input",(()=>{const e=t.element.value,o=this.options.colorDefinitions.find((t=>e===t.label));this._stillTyping=!0,this.value=o&&o.color||e})),t.on("blur",(()=>{this._stillTyping=!1,this._setInputValue(t.element.value)})),t.delegate("input").to(this),t}_createColorSelector(e){const t=e.t,o=this.options.defaultColorValue||"",n=t(o?"Restore default":"Remove color"),i=new bb(e,{colors:this.options.colorDefinitions,columns:this.options.columns,removeButtonLabel:n,colorPickerLabel:t("Color picker"),colorPickerViewConfig:!1!==this.options.colorPickerConfig&&{...this.options.colorPickerConfig,hideInput:!0}});i.appendUI(),i.on("execute",((e,t)=>{"colorPickerSaveButton"!==t.source?(this.value=t.value||o,this.fire("input"),"colorPicker"!==t.source&&(this.dropdownView.isOpen=!1)):this.dropdownView.isOpen=!1}));let r=this.value;return i.on("colorPicker:cancel",(()=>{this.value=r,this.fire("input"),this.dropdownView.isOpen=!1})),i.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{r=this.value})),i.bind("selectedColor").to(this,"value"),i}_setInputValue(e){if(!this._stillTyping){const t=mS(e),o=this.options.colorDefinitions.find((e=>t===mS(e.color)));this.inputView.value=o?o.label:e||""}}}function mS(e){return e.replace(/([(,])\s+/g,"$1").replace(/^\s+|\s+(?=[),\s]|$)/g,"").replace(/,|\s/g," ")}const gS=e=>""===e;function fS(e){return{none:e("None"),solid:e("Solid"),dotted:e("Dotted"),dashed:e("Dashed"),double:e("Double"),groove:e("Groove"),ridge:e("Ridge"),inset:e("Inset"),outset:e("Outset")}}function bS(e){return e('The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".')}function kS(e){return e('The value is invalid. Try "10px" or "2em" or simply "2".')}function wS(e){return e=e.trim().toLowerCase(),gS(e)||dh(e)}function _S(e){return e=e.trim(),gS(e)||ES(e)||mh(e)||(t=e,gh.test(t));var t}function yS(e){return e=e.trim(),gS(e)||ES(e)||mh(e)}function AS(e,t){const o=new tr,n=fS(e.t);for(const i in n){const r={type:"button",model:new hk({_borderStyleValue:i,label:n[i],role:"menuitemradio",withText:!0})};"none"===i?r.model.bind("isOn").to(e,"borderStyle",(e=>"none"===t?!e:e===i)):r.model.bind("isOn").to(e,"borderStyle",(e=>e===i)),o.add(r)}return o}function CS(e){const{view:t,icons:o,toolbar:n,labels:i,propertyName:r,nameToValue:s,defaultValue:a}=e;for(const e in i){const l=new Kp(t.locale);l.set({role:"radio",isToggleable:!0,label:i[e],icon:o[e],tooltip:i[e]});const c=s?s(e):e;l.bind("isOn").to(t,r,(e=>{let t=e;return""===e&&a&&(t=a),c===t})),l.on("execute",(()=>{t[r]=c})),n.items.add(l)}}const vS=[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}];function xS(e){return(t,o,n)=>{const i=new pS(t.locale,{colorDefinitions:(r=e.colorConfig,r.map((e=>({color:e.model,label:e.label,options:{hasBorder:e.hasBorder}})))),columns:e.columns,defaultColorValue:e.defaultColorValue,colorPickerConfig:e.colorPickerConfig});var r;return i.inputView.set({id:o,ariaDescribedById:n}),i.bind("isReadOnly").to(t,"isEnabled",(e=>!e)),i.bind("hasError").to(t,"errorText",(e=>!!e)),i.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused").to(i),i}}function ES(e){const t=parseFloat(e);return!Number.isNaN(t)&&e===String(t)}var DS=i(6016),BS={attributes:{"data-cke":!0}};BS.setAttributes=Xr(),BS.insert=Yr().bind(null,"head"),BS.domAPI=Zr(),BS.insertStyleElement=ts();Gr()(DS.A,BS);DS.A&&DS.A.locals&&DS.A.locals;class SS extends zp{constructor(e,t={}){super(e);const o=this.bindTemplate;this.set("class",t.class||null),this.children=this.createCollection(),t.children&&t.children.forEach((e=>this.children.add(e))),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",o.to("class")],role:o.to("_role"),"aria-labelledby":o.to("_ariaLabelledBy")},children:this.children})}}var TS=i(1806),IS={attributes:{"data-cke":!0}};IS.setAttributes=Xr(),IS.insert=Yr().bind(null,"head"),IS.domAPI=Zr(),IS.insertStyleElement=ts();Gr()(TS.A,IS);TS.A&&TS.A.locals&&TS.A.locals;var PS=i(5704),FS={attributes:{"data-cke":!0}};FS.setAttributes=Xr(),FS.insert=Yr().bind(null,"head"),FS.domAPI=Zr(),FS.insertStyleElement=ts();Gr()(PS.A,FS);PS.A&&PS.A.locals&&PS.A.locals;var RS=i(6701),MS={attributes:{"data-cke":!0}};MS.setAttributes=Xr(),MS.insert=Yr().bind(null,"head"),MS.domAPI=Zr(),MS.insertStyleElement=ts();Gr()(RS.A,MS);RS.A&&RS.A.locals&&RS.A.locals;class zS extends zp{constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",padding:"",backgroundColor:"",width:"",height:"",horizontalAlignment:"",verticalAlignment:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:i,borderRowLabel:r}=this._createBorderFields(),{backgroundRowLabel:s,backgroundInput:a}=this._createBackgroundFields(),{widthInput:l,operatorLabel:c,heightInput:d,dimensionsLabel:u}=this._createDimensionFields(),{horizontalAlignmentToolbar:h,verticalAlignmentToolbar:p,alignmentLabel:m}=this._createAlignmentFields();this.focusTracker=new nr,this.keystrokes=new ar,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=i,this.backgroundInput=a,this.paddingInput=this._createPaddingField(),this.widthInput=l,this.heightInput=d,this.horizontalAlignmentToolbar=h,this.verticalAlignmentToolbar=p;const{saveButtonView:g,cancelButtonView:f}=this._createActionButtons();this.saveButtonView=g,this.cancelButtonView=f,this._focusables=new hp,this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new Qp(e,{label:this.t("Cell properties")})),this.children.add(new SS(e,{labelView:r,children:[r,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new SS(e,{labelView:s,children:[s,a],class:"ck-table-form__background-row"})),this.children.add(new SS(e,{children:[new SS(e,{labelView:u,children:[u,l,c,d],class:"ck-table-form__dimensions-row"}),new SS(e,{children:[this.paddingInput],class:"ck-table-cell-properties-form__padding-row"})]})),this.children.add(new SS(e,{labelView:m,children:[m,h,p],class:"ck-table-cell-properties-form__alignment-row"})),this.children.add(new SS(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-cell-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Vp({view:this}),[this.borderColorInput,this.backgroundInput].forEach((e=>{this._focusCycler.chain(e.fieldView.focusCycler)})),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.paddingInput,this.horizontalAlignmentToolbar,this.verticalAlignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableCellProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=xS({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color,colorPickerConfig:this.options.colorPickerConfig}),n=this.locale,i=this.t,r=i("Style"),s=new Sm(n);s.text=i("Border");const a=fS(i),l=new dg(n,Bf);l.set({label:r,class:"ck-table-form__border-style"}),l.fieldView.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),l.fieldView.buttonView.bind("label").to(this,"borderStyle",(e=>a[e||"none"])),l.fieldView.on("execute",(e=>{this.borderStyle=e.source._borderStyleValue})),l.bind("isEmpty").to(this,"borderStyle",(e=>!e)),yf(l.fieldView,AS(this,t.style),{role:"menu",ariaLabel:r});const c=new dg(n,Ef);c.set({label:i("Width"),class:"ck-table-form__border-width"}),c.fieldView.bind("value").to(this,"borderWidth"),c.bind("isEnabled").to(this,"borderStyle",OS),c.fieldView.on("input",(()=>{this.borderWidth=c.fieldView.element.value}));const d=new dg(n,o);return d.set({label:i("Color"),class:"ck-table-form__border-color"}),d.fieldView.bind("value").to(this,"borderColor"),d.bind("isEnabled").to(this,"borderStyle",OS),d.fieldView.on("input",(()=>{this.borderColor=d.fieldView.value})),this.on("change:borderStyle",((e,o,n,i)=>{OS(n)||(this.borderColor="",this.borderWidth=""),OS(i)||(this.borderColor=t.color,this.borderWidth=t.width)})),{borderRowLabel:s,borderStyleDropdown:l,borderColorInput:d,borderWidthInput:c}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new Sm(e);o.text=t("Background");const n=xS({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableCellProperties.backgroundColor,colorPickerConfig:this.options.colorPickerConfig}),i=new dg(e,n);return i.set({label:t("Color"),class:"ck-table-cell-properties-form__background"}),i.fieldView.bind("value").to(this,"backgroundColor"),i.fieldView.on("input",(()=>{this.backgroundColor=i.fieldView.value})),{backgroundRowLabel:o,backgroundInput:i}}_createDimensionFields(){const e=this.locale,t=this.t,o=new Sm(e);o.text=t("Dimensions");const n=new dg(e,Ef);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",(()=>{this.width=n.fieldView.element.value}));const i=new zp(e);i.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const r=new dg(e,Ef);return r.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),r.fieldView.bind("value").to(this,"height"),r.fieldView.on("input",(()=>{this.height=r.fieldView.element.value})),{dimensionsLabel:o,widthInput:n,operatorLabel:i,heightInput:r}}_createPaddingField(){const e=this.locale,t=this.t,o=new dg(e,Ef);return o.set({label:t("Padding"),class:"ck-table-cell-properties-form__padding"}),o.fieldView.bind("value").to(this,"padding"),o.fieldView.on("input",(()=>{this.padding=o.fieldView.element.value})),o}_createAlignmentFields(){const e=this.locale,t=this.t,o=new Sm(e),n={left:up.alignLeft,center:up.alignCenter,right:up.alignRight,justify:up.alignJustify,top:up.alignTop,middle:up.alignMiddle,bottom:up.alignBottom};o.text=t("Table cell text alignment");const i=new af(e),r="rtl"===e.contentLanguageDirection;i.set({isCompact:!0,role:"radiogroup",ariaLabel:t("Horizontal text alignment toolbar")}),CS({view:this,icons:n,toolbar:i,labels:this._horizontalAlignmentLabels,propertyName:"horizontalAlignment",nameToValue:e=>{if(r){if("left"===e)return"right";if("right"===e)return"left"}return e},defaultValue:this.options.defaultTableCellProperties.horizontalAlignment});const s=new af(e);return s.set({isCompact:!0,role:"radiogroup",ariaLabel:t("Vertical text alignment toolbar")}),CS({view:this,icons:n,toolbar:s,labels:this._verticalAlignmentLabels,propertyName:"verticalAlignment",defaultValue:this.options.defaultTableCellProperties.verticalAlignment}),{horizontalAlignmentToolbar:i,verticalAlignmentToolbar:s,alignmentLabel:o}}_createActionButtons(){const e=this.locale,t=this.t,o=new Kp(e),n=new Kp(e),i=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.paddingInput];return o.set({label:t("Save"),icon:up.check,class:"ck-button-save",type:"submit",withText:!0}),o.bind("isEnabled").toMany(i,"errorText",((...e)=>e.every((e=>!e)))),n.set({label:t("Cancel"),icon:up.cancel,class:"ck-button-cancel",withText:!0}),n.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:n}}get _horizontalAlignmentLabels(){const e=this.locale,t=this.t,o=t("Align cell text to the left"),n=t("Align cell text to the center"),i=t("Align cell text to the right"),r=t("Justify cell text");return"rtl"===e.uiLanguageDirection?{right:i,center:n,left:o,justify:r}:{left:o,center:n,right:i,justify:r}}get _verticalAlignmentLabels(){const e=this.t;return{top:e("Align cell text to the top"),middle:e("Align cell text to the middle"),bottom:e("Align cell text to the bottom")}}}function OS(e){return"none"!==e}const NS=(()=>[Wg.defaultPositions.northArrowSouth,Wg.defaultPositions.northArrowSouthWest,Wg.defaultPositions.northArrowSouthEast,Wg.defaultPositions.southArrowNorth,Wg.defaultPositions.southArrowNorthWest,Wg.defaultPositions.southArrowNorthEast,Wg.defaultPositions.viewportStickyNorth])();function VS(e,t){const o=e.plugins.get("ContextualBalloon"),n=e.editing.view.document.selection;let i;"cell"===t?cS(n)&&(i=HS(e)):aS(n)&&(i=LS(e)),i&&o.updatePosition(i)}function LS(e){const t=VD(e.model.document.selection),o=e.editing.mapper.toViewElement(t);return{target:e.editing.view.domConverter.mapViewToDom(o),positions:NS}}function HS(e){const t=e.editing.mapper,o=e.editing.view.domConverter,n=e.model.document.selection;if(n.rangeCount>1)return{target:()=>function(e,t){const o=t.editing.mapper,n=t.editing.view.domConverter,i=Array.from(e).map((e=>{const t=jS(e.start),i=o.toViewElement(t);return new Gn(n.mapViewToDom(i))}));return Gn.getBoundingRect(i)}(n.getRanges(),e),positions:NS};const i=jS(n.getFirstPosition()),r=t.toViewElement(i);return{target:o.mapViewToDom(r),positions:NS}}function jS(e){return e.nodeAfter&&e.nodeAfter.is("element","tableCell")?e.nodeAfter:e.findAncestor("tableCell")}function qS(e){if(!e||!W(e))return e;const{top:t,right:o,bottom:n,left:i}=e;return t==o&&o==n&&n==i?t:void 0}function $S(e,t){const o=parseFloat(e);return Number.isNaN(o)||String(o)!==String(e)?e:`${o}${t}`}function US(e,t={}){const o={borderStyle:"none",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",...e};return t.includeAlignmentProperty&&!o.alignment&&(o.alignment="center"),t.includePaddingProperty&&!o.padding&&(o.padding=""),t.includeVerticalAlignmentProperty&&!o.verticalAlignment&&(o.verticalAlignment="middle"),t.includeHorizontalAlignmentProperty&&!o.horizontalAlignment&&(o.horizontalAlignment=t.isRightToLeftContent?"right":"left"),o}function WS(e,t){return US({borderStyle:"double",borderColor:"hsl(0, 0%, 70%)",borderWidth:"1px",...e},t)}function GS(e,t){return US({borderStyle:"solid",borderColor:"hsl(0, 0%, 75%)",borderWidth:"1px",...e},t)}const KS={borderStyle:"tableCellBorderStyle",borderColor:"tableCellBorderColor",borderWidth:"tableCellBorderWidth",height:"tableCellHeight",width:"tableCellWidth",padding:"tableCellPadding",backgroundColor:"tableCellBackgroundColor",horizontalAlignment:"tableCellHorizontalAlignment",verticalAlignment:"tableCellVerticalAlignment"};class ZS extends br{static get requires(){return[kk]}static get pluginName(){return"TableCellPropertiesUI"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("table.tableCellProperties",{borderColors:vS,backgroundColors:vS})}init(){const e=this.editor,t=e.t;this._defaultTableCellProperties=GS(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection}),this._balloon=e.plugins.get(kk),this.view=null,this._isReady=!1,e.ui.componentFactory.add("tableCellProperties",(o=>{const n=new Kp(o);n.set({label:t("Cell properties"),icon:'',tooltip:!0}),this.listenTo(n,"execute",(()=>this._showView()));const i=Object.values(KS).map((t=>e.commands.get(t)));return n.bind("isEnabled").toMany(i,"isEnabled",((...e)=>e.some((e=>e)))),n}))}destroy(){super.destroy(),this.view&&this.view.destroy()}_createPropertiesView(){const e=this.editor,t=e.config.get("table.tableCellProperties"),o=Zm(t.borderColors),n=Km(e.locale,o),i=Zm(t.backgroundColors),r=Km(e.locale,i),s=!1!==t.colorPicker,a=new zS(e.locale,{borderColors:n,backgroundColors:r,defaultTableCellProperties:this._defaultTableCellProperties,colorPickerConfig:!!s&&(t.colorPicker||{})}),l=e.t;a.render(),this.listenTo(a,"submit",(()=>{this._hideView()})),this.listenTo(a,"cancel",(()=>{this._undoStepBatch.operations.length&&e.execute("undo",this._undoStepBatch),this._hideView()})),a.keystrokes.set("Esc",((e,t)=>{this._hideView(),t()})),Op({emitter:a,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const c=bS(l),d=kS(l);return a.on("change:borderStyle",this._getPropertyChangeCallback("tableCellBorderStyle")),a.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:a.borderColorInput,commandName:"tableCellBorderColor",errorText:c,validator:wS})),a.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:a.borderWidthInput,commandName:"tableCellBorderWidth",errorText:d,validator:yS})),a.on("change:padding",this._getValidatedPropertyChangeCallback({viewField:a.paddingInput,commandName:"tableCellPadding",errorText:d,validator:_S})),a.on("change:width",this._getValidatedPropertyChangeCallback({viewField:a.widthInput,commandName:"tableCellWidth",errorText:d,validator:_S})),a.on("change:height",this._getValidatedPropertyChangeCallback({viewField:a.heightInput,commandName:"tableCellHeight",errorText:d,validator:_S})),a.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:a.backgroundInput,commandName:"tableCellBackgroundColor",errorText:c,validator:wS})),a.on("change:horizontalAlignment",this._getPropertyChangeCallback("tableCellHorizontalAlignment")),a.on("change:verticalAlignment",this._getPropertyChangeCallback("tableCellVerticalAlignment")),a}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableCellBorderStyle");Object.entries(KS).map((([t,o])=>{const n=this._defaultTableCellProperties[t]||"";return[t,e.get(o).value||n]})).forEach((([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)})),this._isReady=!0}_showView(){const e=this.editor;this.view||(this.view=this._createPropertiesView()),this.listenTo(e.ui,"update",(()=>{this._updateView()})),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:HS(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){const e=this.editor;this.stopListening(e.ui,"update"),this._isReady=!1,this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){const e=this.editor;cS(e.editing.view.document.selection)?this._isViewVisible&&VS(e,"cell"):this._hideView()}get _isViewVisible(){return!!this.view&&this._balloon.visibleView===this.view}get _isViewInBalloon(){return!!this.view&&this._balloon.hasView(this.view)}_getPropertyChangeCallback(e){return(t,o,n)=>{this._isReady&&this.editor.execute(e,{value:n,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:n,errorText:i}=e,r=bl((()=>{o.errorText=i}),500);return(e,i,s)=>{r.cancel(),this._isReady&&(n(s)?(this.editor.execute(t,{value:s,batch:this._undoStepBatch}),o.errorText=null):r())}}}class JS extends wr{constructor(e,t,o){super(e),this.attributeName=t,this._defaultValue=o}refresh(){const e=this.editor,t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e.model.document.selection);this.isEnabled=!!t.length,this.value=this._getSingleValue(t)}execute(e={}){const{value:t,batch:o}=e,n=this.editor.model,i=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(n.document.selection),r=this._getValueToSet(t);n.enqueueChange(o,(e=>{r?i.forEach((t=>e.setAttribute(this.attributeName,r,t))):i.forEach((t=>e.removeAttribute(this.attributeName,t)))}))}_getAttribute(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}_getSingleValue(e){const t=this._getAttribute(e[0]);return e.every((e=>this._getAttribute(e)===t))?t:void 0}}class YS extends JS{constructor(e,t){super(e,"tableCellWidth",t)}_getValueToSet(e){if((e=$S(e,"px"))!==this._defaultValue)return e}}class QS extends br{static get pluginName(){return"TableCellWidthEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[HB]}init(){const e=this.editor,t=GS(e.config.get("table.tableCellProperties.defaultProperties"));ND(e.model.schema,e.conversion,{modelAttribute:"tableCellWidth",styleName:"width",defaultValue:t.width}),e.commands.add("tableCellWidth",new YS(e,t.width))}}class XS extends JS{constructor(e,t){super(e,"tableCellPadding",t)}_getAttribute(e){if(!e)return;const t=qS(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){const t=$S(e,"px");if(t!==this._defaultValue)return t}}class eT extends JS{constructor(e,t){super(e,"tableCellHeight",t)}_getValueToSet(e){const t=$S(e,"px");if(t!==this._defaultValue)return t}}class tT extends JS{constructor(e,t){super(e,"tableCellBackgroundColor",t)}}class oT extends JS{constructor(e,t){super(e,"tableCellVerticalAlignment",t)}}class nT extends JS{constructor(e,t){super(e,"tableCellHorizontalAlignment",t)}}class iT extends JS{constructor(e,t){super(e,"tableCellBorderStyle",t)}_getAttribute(e){if(!e)return;const t=qS(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class rT extends JS{constructor(e,t){super(e,"tableCellBorderColor",t)}_getAttribute(e){if(!e)return;const t=qS(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class sT extends JS{constructor(e,t){super(e,"tableCellBorderWidth",t)}_getAttribute(e){if(!e)return;const t=qS(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){const t=$S(e,"px");if(t!==this._defaultValue)return t}}const aT=/^(top|middle|bottom)$/,lT=/^(left|center|right|justify)$/;class cT extends br{static get pluginName(){return"TableCellPropertiesEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[HB,QS]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableCellProperties.defaultProperties",{});const n=GS(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection});e.data.addStyleProcessorRules(Sh),function(e,t,o){const n={width:"tableCellBorderWidth",color:"tableCellBorderColor",style:"tableCellBorderStyle"};e.extend("tableCell",{allowAttributes:Object.values(n)}),ID(t,"td",n,o),ID(t,"th",n,o),PD(t,{modelElement:"tableCell",modelAttribute:n.style,styleName:"border-style"}),PD(t,{modelElement:"tableCell",modelAttribute:n.color,styleName:"border-color"}),PD(t,{modelElement:"tableCell",modelAttribute:n.width,styleName:"border-width"})}(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableCellBorderStyle",new iT(e,n.borderStyle)),e.commands.add("tableCellBorderColor",new rT(e,n.borderColor)),e.commands.add("tableCellBorderWidth",new sT(e,n.borderWidth)),ND(t,o,{modelAttribute:"tableCellHeight",styleName:"height",defaultValue:n.height}),e.commands.add("tableCellHeight",new eT(e,n.height)),e.data.addStyleProcessorRules(Vh),ND(t,o,{modelAttribute:"tableCellPadding",styleName:"padding",reduceBoxSides:!0,defaultValue:n.padding}),e.commands.add("tableCellPadding",new XS(e,n.padding)),e.data.addStyleProcessorRules(Bh),ND(t,o,{modelAttribute:"tableCellBackgroundColor",styleName:"background-color",defaultValue:n.backgroundColor}),e.commands.add("tableCellBackgroundColor",new tT(e,n.backgroundColor)),function(e,t,o){e.extend("tableCell",{allowAttributes:["tableCellHorizontalAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellHorizontalAlignment"},view:e=>({key:"style",value:{"text-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"text-align":lT}},model:{key:"tableCellHorizontalAlignment",value:e=>{const t=e.getStyle("text-align");return t===o?null:t}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{align:lT}},model:{key:"tableCellHorizontalAlignment",value:e=>{const t=e.getAttribute("align");return t===o?null:t}}})}(t,o,n.horizontalAlignment),e.commands.add("tableCellHorizontalAlignment",new nT(e,n.horizontalAlignment)),function(e,t,o){e.extend("tableCell",{allowAttributes:["tableCellVerticalAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellVerticalAlignment"},view:e=>({key:"style",value:{"vertical-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"vertical-align":aT}},model:{key:"tableCellVerticalAlignment",value:e=>{const t=e.getStyle("vertical-align");return t===o?null:t}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{valign:aT}},model:{key:"tableCellVerticalAlignment",value:e=>{const t=e.getAttribute("valign");return t===o?null:t}}})}(t,o,n.verticalAlignment),e.commands.add("tableCellVerticalAlignment",new oT(e,n.verticalAlignment))}}class dT extends wr{constructor(e,t,o){super(e),this.attributeName=t,this._defaultValue=o}refresh(){const e=VD(this.editor.model.document.selection);this.isEnabled=!!e,this.value=this._getValue(e)}execute(e={}){const t=this.editor.model,o=t.document.selection,{value:n,batch:i}=e,r=VD(o),s=this._getValueToSet(n);t.enqueueChange(i,(e=>{s?e.setAttribute(this.attributeName,s,r):e.removeAttribute(this.attributeName,r)}))}_getValue(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}}class uT extends dT{constructor(e,t){super(e,"tableBackgroundColor",t)}}class hT extends dT{constructor(e,t){super(e,"tableBorderColor",t)}_getValue(e){if(!e)return;const t=qS(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class pT extends dT{constructor(e,t){super(e,"tableBorderStyle",t)}_getValue(e){if(!e)return;const t=qS(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class mT extends dT{constructor(e,t){super(e,"tableBorderWidth",t)}_getValue(e){if(!e)return;const t=qS(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){const t=$S(e,"px");if(t!==this._defaultValue)return t}}class gT extends dT{constructor(e,t){super(e,"tableWidth",t)}_getValueToSet(e){if((e=$S(e,"px"))!==this._defaultValue)return e}}class fT extends dT{constructor(e,t){super(e,"tableHeight",t)}_getValueToSet(e){if((e=$S(e,"px"))!==this._defaultValue)return e}}class bT extends dT{constructor(e,t){super(e,"tableAlignment",t)}}const kT=/^(left|center|right)$/,wT=/^(left|none|right)$/;class _T extends br{static get pluginName(){return"TablePropertiesEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[HB]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableProperties.defaultProperties",{});const n=WS(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0});e.data.addStyleProcessorRules(Sh),function(e,t,o){const n={width:"tableBorderWidth",color:"tableBorderColor",style:"tableBorderStyle"};e.extend("table",{allowAttributes:Object.values(n)}),ID(t,"table",n,o),FD(t,{modelAttribute:n.color,styleName:"border-color"}),FD(t,{modelAttribute:n.style,styleName:"border-style"}),FD(t,{modelAttribute:n.width,styleName:"border-width"})}(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableBorderColor",new hT(e,n.borderColor)),e.commands.add("tableBorderStyle",new pT(e,n.borderStyle)),e.commands.add("tableBorderWidth",new mT(e,n.borderWidth)),function(e,t,o){e.extend("table",{allowAttributes:["tableAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"table",key:"tableAlignment"},view:e=>({key:"style",value:{float:"center"===e?"none":e}}),converterPriority:"high"}),t.for("upcast").attributeToAttribute({view:{name:/^(table|figure)$/,styles:{float:wT}},model:{key:"tableAlignment",value:e=>{let t=e.getStyle("float");return"none"===t&&(t="center"),t===o?null:t}}}).attributeToAttribute({view:{attributes:{align:kT}},model:{name:"table",key:"tableAlignment",value:e=>{const t=e.getAttribute("align");return t===o?null:t}}})}(t,o,n.alignment),e.commands.add("tableAlignment",new bT(e,n.alignment)),yT(t,o,{modelAttribute:"tableWidth",styleName:"width",defaultValue:n.width}),e.commands.add("tableWidth",new gT(e,n.width)),yT(t,o,{modelAttribute:"tableHeight",styleName:"height",defaultValue:n.height}),e.commands.add("tableHeight",new fT(e,n.height)),e.data.addStyleProcessorRules(Bh),function(e,t,o){const{modelAttribute:n}=o;e.extend("table",{allowAttributes:[n]}),TD(t,{viewElement:"table",...o}),FD(t,o)}(t,o,{modelAttribute:"tableBackgroundColor",styleName:"background-color",defaultValue:n.backgroundColor}),e.commands.add("tableBackgroundColor",new uT(e,n.backgroundColor))}}function yT(e,t,o){const{modelAttribute:n}=o;e.extend("table",{allowAttributes:[n]}),TD(t,{viewElement:/^(table|figure)$/,shouldUpcast:e=>!("table"==e.name&&"figure"==e.parent.name),...o}),PD(t,{modelElement:"table",...o})}var AT=i(4001),CT={attributes:{"data-cke":!0}};CT.setAttributes=Xr(),CT.insert=Yr().bind(null,"head"),CT.domAPI=Zr(),CT.insertStyleElement=ts();Gr()(AT.A,CT);AT.A&&AT.A.locals&&AT.A.locals;class vT extends zp{constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",alignment:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:i,borderRowLabel:r}=this._createBorderFields(),{backgroundRowLabel:s,backgroundInput:a}=this._createBackgroundFields(),{widthInput:l,operatorLabel:c,heightInput:d,dimensionsLabel:u}=this._createDimensionFields(),{alignmentToolbar:h,alignmentLabel:p}=this._createAlignmentFields();this.focusTracker=new nr,this.keystrokes=new ar,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=i,this.backgroundInput=a,this.widthInput=l,this.heightInput=d,this.alignmentToolbar=h;const{saveButtonView:m,cancelButtonView:g}=this._createActionButtons();this.saveButtonView=m,this.cancelButtonView=g,this._focusables=new hp,this._focusCycler=new Xp({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new Qp(e,{label:this.t("Table properties")})),this.children.add(new SS(e,{labelView:r,children:[r,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new SS(e,{labelView:s,children:[s,a],class:"ck-table-form__background-row"})),this.children.add(new SS(e,{children:[new SS(e,{labelView:u,children:[u,l,c,d],class:"ck-table-form__dimensions-row"}),new SS(e,{labelView:p,children:[p,h],class:"ck-table-properties-form__alignment-row"})]})),this.children.add(new SS(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Vp({view:this}),[this.borderColorInput,this.backgroundInput].forEach((e=>{this._focusCycler.chain(e.fieldView.focusCycler)})),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.alignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=xS({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color,colorPickerConfig:this.options.colorPickerConfig}),n=this.locale,i=this.t,r=i("Style"),s=new Sm(n);s.text=i("Border");const a=fS(i),l=new dg(n,Bf);l.set({label:r,class:"ck-table-form__border-style"}),l.fieldView.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),l.fieldView.buttonView.bind("label").to(this,"borderStyle",(e=>a[e||"none"])),l.fieldView.on("execute",(e=>{this.borderStyle=e.source._borderStyleValue})),l.bind("isEmpty").to(this,"borderStyle",(e=>!e)),yf(l.fieldView,AS(this,t.style),{role:"menu",ariaLabel:r});const c=new dg(n,Ef);c.set({label:i("Width"),class:"ck-table-form__border-width"}),c.fieldView.bind("value").to(this,"borderWidth"),c.bind("isEnabled").to(this,"borderStyle",xT),c.fieldView.on("input",(()=>{this.borderWidth=c.fieldView.element.value}));const d=new dg(n,o);return d.set({label:i("Color"),class:"ck-table-form__border-color"}),d.fieldView.bind("value").to(this,"borderColor"),d.bind("isEnabled").to(this,"borderStyle",xT),d.fieldView.on("input",(()=>{this.borderColor=d.fieldView.value})),this.on("change:borderStyle",((e,o,n,i)=>{xT(n)||(this.borderColor="",this.borderWidth=""),xT(i)||(this.borderColor=t.color,this.borderWidth=t.width)})),{borderRowLabel:s,borderStyleDropdown:l,borderColorInput:d,borderWidthInput:c}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new Sm(e);o.text=t("Background");const n=xS({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableProperties.backgroundColor,colorPickerConfig:this.options.colorPickerConfig}),i=new dg(e,n);return i.set({label:t("Color"),class:"ck-table-properties-form__background"}),i.fieldView.bind("value").to(this,"backgroundColor"),i.fieldView.on("input",(()=>{this.backgroundColor=i.fieldView.value})),{backgroundRowLabel:o,backgroundInput:i}}_createDimensionFields(){const e=this.locale,t=this.t,o=new Sm(e);o.text=t("Dimensions");const n=new dg(e,Ef);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",(()=>{this.width=n.fieldView.element.value}));const i=new zp(e);i.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const r=new dg(e,Ef);return r.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),r.fieldView.bind("value").to(this,"height"),r.fieldView.on("input",(()=>{this.height=r.fieldView.element.value})),{dimensionsLabel:o,widthInput:n,operatorLabel:i,heightInput:r}}_createAlignmentFields(){const e=this.locale,t=this.t,o=new Sm(e);o.text=t("Alignment");const n=new af(e);return n.set({role:"radiogroup",isCompact:!0,ariaLabel:t("Table alignment toolbar")}),CS({view:this,icons:{left:up.objectLeft,center:up.objectCenter,right:up.objectRight},toolbar:n,labels:this._alignmentLabels,propertyName:"alignment",defaultValue:this.options.defaultTableProperties.alignment}),{alignmentLabel:o,alignmentToolbar:n}}_createActionButtons(){const e=this.locale,t=this.t,o=new Kp(e),n=new Kp(e),i=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.widthInput,this.heightInput];return o.set({label:t("Save"),icon:up.check,class:"ck-button-save",type:"submit",withText:!0}),o.bind("isEnabled").toMany(i,"errorText",((...e)=>e.every((e=>!e)))),n.set({label:t("Cancel"),icon:up.cancel,class:"ck-button-cancel",withText:!0}),n.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:n}}get _alignmentLabels(){const e=this.locale,t=this.t,o=t("Align table to the left"),n=t("Center table"),i=t("Align table to the right");return"rtl"===e.uiLanguageDirection?{right:i,center:n,left:o}:{left:o,center:n,right:i}}}function xT(e){return"none"!==e}const ET={borderStyle:"tableBorderStyle",borderColor:"tableBorderColor",borderWidth:"tableBorderWidth",backgroundColor:"tableBackgroundColor",width:"tableWidth",height:"tableHeight",alignment:"tableAlignment"};class DT extends br{static get requires(){return[kk]}static get pluginName(){return"TablePropertiesUI"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this.view=null,e.config.define("table.tableProperties",{borderColors:vS,backgroundColors:vS})}init(){const e=this.editor,t=e.t;this._defaultTableProperties=WS(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0}),this._balloon=e.plugins.get(kk),e.ui.componentFactory.add("tableProperties",(o=>{const n=new Kp(o);n.set({label:t("Table properties"),icon:'',tooltip:!0}),this.listenTo(n,"execute",(()=>this._showView()));const i=Object.values(ET).map((t=>e.commands.get(t)));return n.bind("isEnabled").toMany(i,"isEnabled",((...e)=>e.some((e=>e)))),n}))}destroy(){super.destroy(),this.view&&this.view.destroy()}_createPropertiesView(){const e=this.editor,t=e.config.get("table.tableProperties"),o=Zm(t.borderColors),n=Km(e.locale,o),i=Zm(t.backgroundColors),r=Km(e.locale,i),s=!1!==t.colorPicker,a=new vT(e.locale,{borderColors:n,backgroundColors:r,defaultTableProperties:this._defaultTableProperties,colorPickerConfig:!!s&&(t.colorPicker||{})}),l=e.t;a.render(),this.listenTo(a,"submit",(()=>{this._hideView()})),this.listenTo(a,"cancel",(()=>{this._undoStepBatch.operations.length&&e.execute("undo",this._undoStepBatch),this._hideView()})),a.keystrokes.set("Esc",((e,t)=>{this._hideView(),t()})),Op({emitter:a,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const c=bS(l),d=kS(l);return a.on("change:borderStyle",this._getPropertyChangeCallback("tableBorderStyle")),a.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:a.borderColorInput,commandName:"tableBorderColor",errorText:c,validator:wS})),a.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:a.borderWidthInput,commandName:"tableBorderWidth",errorText:d,validator:yS})),a.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:a.backgroundInput,commandName:"tableBackgroundColor",errorText:c,validator:wS})),a.on("change:width",this._getValidatedPropertyChangeCallback({viewField:a.widthInput,commandName:"tableWidth",errorText:d,validator:_S})),a.on("change:height",this._getValidatedPropertyChangeCallback({viewField:a.heightInput,commandName:"tableHeight",errorText:d,validator:_S})),a.on("change:alignment",this._getPropertyChangeCallback("tableAlignment")),a}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableBorderStyle");Object.entries(ET).map((([t,o])=>{const n=t,i=this._defaultTableProperties[n]||"";return[n,e.get(o).value||i]})).forEach((([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)})),this._isReady=!0}_showView(){const e=this.editor;this.view||(this.view=this._createPropertiesView()),this.listenTo(e.ui,"update",(()=>{this._updateView()})),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:LS(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){const e=this.editor;this.stopListening(e.ui,"update"),this._isReady=!1,this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){const e=this.editor;aS(e.editing.view.document.selection)?this._isViewVisible&&VS(e,"table"):this._hideView()}get _isViewVisible(){return!!this.view&&this._balloon.visibleView===this.view}get _isViewInBalloon(){return!!this.view&&this._balloon.hasView(this.view)}_getPropertyChangeCallback(e){return(t,o,n)=>{this._isReady&&this.editor.execute(e,{value:n,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:n,errorText:i}=e,r=bl((()=>{o.errorText=i}),500);return(e,i,s)=>{r.cancel(),this._isReady&&(n(s)?(this.editor.execute(t,{value:s,batch:this._undoStepBatch}),o.errorText=null):r())}}}var BT=i(7406),ST={attributes:{"data-cke":!0}};ST.setAttributes=Xr(),ST.insert=Yr().bind(null,"head"),ST.domAPI=Zr(),ST.insertStyleElement=ts();Gr()(BT.A,ST);BT.A&&BT.A.locals&&BT.A.locals;var TT=i(4204),IT={attributes:{"data-cke":!0}};IT.setAttributes=Xr(),IT.insert=Yr().bind(null,"head"),IT.domAPI=Zr(),IT.insertStyleElement=ts();Gr()(TT.A,IT);TT.A&&TT.A.locals&&TT.A.locals;function PT(e){return void 0!==e&&e.endsWith("px")}function FT(e){return e.toFixed(2).replace(/\.?0+$/,"")+"px"}function RT(e,t,o){if(!e.childCount)return;const n=new oh(e.document),i=function(e,t){const o=t.createRangeIn(e),n=[],i=new Set;for(const e of o.getItems()){if(!e.is("element")||!e.name.match(/^(p|h\d+|li|div)$/))continue;let t=jT(e);if(void 0===t||0!=parseFloat(t)||Array.from(e.getClassNames()).find((e=>e.startsWith("MsoList")))||(t=void 0),e.hasStyle("mso-list")||void 0!==t&&i.has(t)){const o=LT(e);n.push({element:e,id:o.id,order:o.order,indent:o.indent,marginLeft:t}),void 0!==t&&i.add(t)}else i.clear()}return n}(e,n);if(!i.length)return;const r={},s=[];for(const e of i)if(void 0!==e.indent){MT(e)||(s.length=0);const i=`${e.id}:${e.indent}`,a=Math.min(e.indent-1,s.length);if(as.length-1||s[a].listElement.name!=l.type){0==a&&"ol"==l.type&&void 0!==e.id&&r[i]&&(l.startIndex=r[i]);const t=VT(l,n,o);if(PT(e.marginLeft)&&(0==a||PT(s[a-1].marginLeft))){let o=e.marginLeft;a>0&&(o=FT(parseFloat(o)-parseFloat(s[a-1].marginLeft))),n.setStyle("padding-left",o,t)}if(0==s.length){const o=e.element.parent,i=o.getChildIndex(e.element)+1;n.insertChild(i,t,o)}else{const e=s[a-1].listItemElements;n.appendChild(t,e[e.length-1])}s[a]={...e,listElement:t,listItemElements:[]},0==a&&void 0!==e.id&&(r[i]=l.startIndex||1)}}const l="li"==e.element.name?e.element:n.createElement("li");n.appendChild(l,s[a].listElement),s[a].listItemElements.push(l),0==a&&void 0!==e.id&&r[i]++,e.element!=l&&n.appendChild(e.element,l),HT(e.element,n),n.removeStyle("text-indent",e.element),n.removeStyle("margin-left",e.element)}else{const t=s.find((t=>t.marginLeft==e.marginLeft));if(t){const o=t.listItemElements;n.appendChild(e.element,o[o.length-1]),n.removeStyle("margin-left",e.element)}else s.length=0}}function MT(e){const t=e.element.previousSibling;return zT(t||e.element.parent)}function zT(e){return e.is("element","ol")||e.is("element","ul")}function OT(e,t){const o=new RegExp(`@list l${e.id}:level${e.indent}\\s*({[^}]*)`,"gi"),n=/mso-level-number-format:([^;]{0,100});/gi,i=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,r=new RegExp(`@list\\s+l${e.id}:level\\d\\s*{[^{]*mso-level-text:"%\\d\\\\.`,"gi"),s=new RegExp(`@list l${e.id}:level\\d\\s*{[^{]*mso-level-number-format:`,"gi"),a=r.exec(t),l=s.exec(t),c=a&&!l,d=o.exec(t);let u="decimal",h="ol",p=null;if(d&&d[1]){const t=n.exec(d[1]);if(t&&t[1]&&(u=t[1].trim(),h="bullet"!==u&&"image"!==u?"ol":"ul"),"bullet"===u){const t=function(e){if("li"==e.name&&"ul"==e.parent.name&&e.parent.hasAttribute("type"))return e.parent.getAttribute("type");const t=function(e){if(e.getChild(0).is("$text"))return null;for(const t of e.getChildren()){if(!t.is("element","span"))continue;const e=t.getChild(0);if(e)return e.is("$text")?e:e.getChild(0)}return null}(e);if(!t)return null;const o=t._data;if("o"===o)return"circle";if("·"===o)return"disc";if("§"===o)return"square";return null}(e.element);t&&(u=t)}else{const e=i.exec(d[1]);e&&e[1]&&(p=parseInt(e[1]))}c&&(h="ol")}return{type:h,startIndex:p,style:NT(u),isLegalStyleList:c}}function NT(e){if(e.startsWith("arabic-leading-zero"))return"decimal-leading-zero";switch(e){case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return e;default:return null}}function VT(e,t,o){const n=t.createElement(e.type);return e.style&&t.setStyle("list-style-type",e.style,n),e.startIndex&&e.startIndex>1&&t.setAttribute("start",e.startIndex,n),e.isLegalStyleList&&o&&t.addClass("legal-list",n),n}function LT(e){const t=e.getStyle("mso-list");if(void 0===t)return{};const o=t.match(/(^|\s{1,100})l(\d+)/i),n=t.match(/\s{0,100}lfo(\d+)/i),i=t.match(/\s{0,100}level(\d+)/i);return o&&n&&i?{id:o[2],order:n[1],indent:parseInt(i[1])}:{indent:1}}function HT(e,t){const o=new As({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(e);for(const e of n)"elementStart"===e.type&&o.match(e.item)&&t.remove(e.item)}function jT(e){const t=e.getStyle("margin-left");return void 0===t||t.endsWith("px")?t:function(e){const t=parseFloat(e);return e.endsWith("pt")?FT(96*t/72):e.endsWith("pc")?FT(12*t*96/72):e.endsWith("in")?FT(96*t):e.endsWith("cm")?FT(96*t/2.54):e.endsWith("mm")?FT(t/10*96/2.54):e}(t)}function qT(e,t){if(!e.childCount)return;const o=new oh(e.document),n=function(e,t){const o=t.createRangeIn(e),n=new As({name:/v:(.+)/}),i=[];for(const e of o){if("elementStart"!=e.type)continue;const t=e.item,o=t.previousSibling,r=o&&o.is("element")?o.name:null,s=["Chart"],a=n.match(t),l=t.getAttribute("o:gfxdata"),c="v:shapetype"===r,d=l&&s.some((e=>t.getAttribute("id").includes(e)));a&&l&&!c&&!d&&i.push(e.item.getAttribute("id"))}return i}(e,o);!function(e,t,o){const n=o.createRangeIn(t),i=new As({name:"img"}),r=[];for(const t of n)if(t.item.is("element")&&i.match(t.item)){const o=t.item,n=o.getAttribute("v:shapes")?o.getAttribute("v:shapes").split(" "):[];n.length&&n.every((t=>e.indexOf(t)>-1))?r.push(o):o.getAttribute("src")||r.push(o)}for(const e of r)o.remove(e)}(n,e,o),function(e,t,o){const n=o.createRangeIn(t),i=[];for(const t of n)if("elementStart"==t.type&&t.item.is("element","v:shape")){const o=t.item.getAttribute("id");if(e.includes(o))continue;r(t.item.parent.getChildren(),o)||i.push(t.item)}for(const e of i){const t={src:s(e)};e.hasAttribute("alt")&&(t.alt=e.getAttribute("alt"));const n=o.createElement("img",t);o.insertChild(e.index+1,n,e.parent)}function r(e,t){for(const o of e)if(o.is("element")){if("img"==o.name&&o.getAttribute("v:shapes")==t)return!0;if(r(o.getChildren(),t))return!0}return!1}function s(e){for(const t of e.getChildren())if(t.is("element")&&t.getAttribute("src"))return t.getAttribute("src")}}(n,e,o),function(e,t){const o=t.createRangeIn(e),n=new As({name:/v:(.+)/}),i=[];for(const e of o)"elementStart"==e.type&&n.match(e.item)&&i.push(e.item);for(const e of i)t.remove(e)}(e,o);const i=function(e,t){const o=t.createRangeIn(e),n=new As({name:"img"}),i=[];for(const e of o)e.item.is("element")&&n.match(e.item)&&e.item.getAttribute("src").startsWith("file://")&&i.push(e.item);return i}(e,o);i.length&&function(e,t,o){if(e.length===t.length)for(let n=0;nString.fromCharCode(parseInt(e,16)))).join(""))}const UT=//i,WT=/xmlns:o="urn:schemas-microsoft-com/i;class GT{constructor(e,t=!1){this.document=e,this.hasMultiLevelListPlugin=t}isActive(e){return UT.test(e)||WT.test(e)}execute(e){const t=new oh(this.document),{body:o,stylesString:n}=e._parsedData;!function(e,t){const o=[];for(const n of t.createRangeIn(e)){const e=n.item;e.is("element","a")&&!e.hasAttribute("href")&&(e.hasAttribute("id")||e.hasAttribute("name"))&&o.push(e)}for(const e of o){const o=e.parent.getChildIndex(e)+1,n=e.getChildren();t.insertChild(o,n,e.parent)}}(o,t),RT(o,n,this.hasMultiLevelListPlugin),qT(o,e.dataTransfer.getData("text/rtf")),function(e){const t=[],o=new oh(e.document);for(const{item:n}of o.createRangeIn(e))if(n.is("element")){for(const e of n.getClassNames())/\bmso/gi.exec(e)&&o.removeClass(e,n);for(const e of n.getStyleNames())/\bmso/gi.exec(e)&&o.removeStyle(e,n);(n.is("element","w:sdt")||n.is("element","w:sdtpr")&&n.isEmpty||n.is("element","o:p")&&n.isEmpty)&&t.push(n)}for(const e of t){const t=e.parent,n=t.getChildIndex(e);o.insertChild(n,e.getChildren(),t),o.remove(e)}}(o),e.content=o}}function KT(e,t,o,{blockElements:n,inlineObjectElements:i}){let r=o.createPositionAt(e,"forward"==t?"after":"before");return r=r.getLastMatchingPosition((({item:e})=>e.is("element")&&!n.includes(e.name)&&!i.includes(e.name)),{direction:t}),"forward"==t?r.nodeAfter:r.nodeBefore}function ZT(e,t){return!!e&&e.is("element")&&t.includes(e.name)}const JT=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class YT{constructor(e){this.document=e}isActive(e){return JT.test(e)}execute(e){const t=new oh(this.document),{body:o}=e._parsedData;!function(e,t){for(const o of e.getChildren())if(o.is("element","b")&&"normal"===o.getStyle("font-weight")){const n=e.getChildIndex(o);t.remove(o),t.insertChild(n,o.getChildren(),e)}}(o,t),function(e,t){for(const o of t.createRangeIn(e)){const e=o.item;if(e.is("element","li")){const o=e.getChild(0);o&&o.is("element","p")&&t.unwrapElement(o)}}}(o,t),function(e,t){const o=new oa(t.document.stylesProcessor),n=new Ua(o,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const o of t.createRangeIn(e)){const e=o.item;if(e.is("element","br")){const o=KT(e,"forward",t,{blockElements:i,inlineObjectElements:r}),n=KT(e,"backward",t,{blockElements:i,inlineObjectElements:r}),a=ZT(o,i);(ZT(n,i)||a)&&s.push(e)}}for(const e of s)e.hasClass("Apple-interchange-newline")?t.remove(e):t.replace(e,t.createElement("p"))}(o,t),e.content=o}}const QT=/(\s+)<\/span>/g,((e,t)=>1===t.length?" ":Array(t.length+1).join("  ").substr(0,t.length)))}function tI(e,t){const o=new DOMParser,n=function(e){return eI(eI(e)).replace(/([^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}(function(e){const t="",o="",n=e.indexOf(t);if(n<0)return e;const i=e.indexOf(o,n+t.length);return e.substring(0,n+t.length)+(i>=0?e.substring(i):"")}(e=(e=e.replace(//,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(GF.source+"\\s*$"),/^$/,!1]];const ZF=[["table",function(e,t,o,n){if(t+2>o)return!1;let i=t+1;if(e.sCount[i]=4)return!1;let r=e.bMarks[i]+e.tShift[i];if(r>=e.eMarks[i])return!1;const s=e.src.charCodeAt(r++);if(124!==s&&45!==s&&58!==s)return!1;if(r>=e.eMarks[i])return!1;const a=e.src.charCodeAt(r++);if(124!==a&&45!==a&&58!==a&&!nF(a))return!1;if(45===s&&nF(a))return!1;for(;r=4)return!1;c=HF(l),c.length&&""===c[0]&&c.shift(),c.length&&""===c[c.length-1]&&c.pop();const u=c.length;if(0===u||u!==d.length)return!1;if(n)return!0;const h=e.parentType;e.parentType="table";const p=e.md.block.ruler.getRules("blockquote"),m=[t,0];e.push("table_open","table",1).map=m,e.push("thead_open","thead",1).map=[t,t+1],e.push("tr_open","tr",1).map=[t,t+1];for(let t=0;t=4)break;if(c=HF(l),c.length&&""===c[0]&&c.shift(),c.length&&""===c[c.length-1]&&c.pop(),f+=u-c.length,f>65536)break;if(i===t+2){e.push("tbody_open","tbody",1).map=g=[t+2,0]}e.push("tr_open","tr",1).map=[i,i+1];for(let t=0;t=4))break;n++,i=n}e.line=i;const r=e.push("code_block","code",0);return r.content=e.getLines(t,i,4+e.blkIndent,!1)+"\n",r.map=[t,e.line],!0}],["fence",function(e,t,o,n){let i=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(i+3>r)return!1;const s=e.src.charCodeAt(i);if(126!==s&&96!==s)return!1;let a=i;i=e.skipChars(i,s);let l=i-a;if(l<3)return!1;const c=e.src.slice(a,i),d=e.src.slice(i,r);if(96===s&&d.indexOf(String.fromCharCode(s))>=0)return!1;if(n)return!0;let u=t,h=!1;for(;(u++,!(u>=o))&&(i=a=e.bMarks[u]+e.tShift[u],r=e.eMarks[u],!(i=4||(i=e.skipChars(i,s),i-a=4)return!1;if(62!==e.src.charCodeAt(i))return!1;if(n)return!0;const a=[],l=[],c=[],d=[],u=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let p,m=!1;for(p=t;p=r)break;if(62===e.src.charCodeAt(i++)&&!t){let t,o,n=e.sCount[p]+1;32===e.src.charCodeAt(i)?(i++,n++,o=!1,t=!0):9===e.src.charCodeAt(i)?(t=!0,(e.bsCount[p]+n)%4==3?(i++,n++,o=!1):o=!0):t=!1;let s=n;for(a.push(e.bMarks[p]),e.bMarks[p]=i;i=r,l.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(t?1:0),c.push(e.sCount[p]),e.sCount[p]=s-n,d.push(e.tShift[p]),e.tShift[p]=i-e.bMarks[p];continue}if(m)break;let n=!1;for(let t=0,i=u.length;t";const b=[t,0];f.map=b,e.md.block.tokenize(e,t,p),e.push("blockquote_close","blockquote",-1).markup=">",e.lineMax=s,e.parentType=h,b[1]=e.line;for(let o=0;o=4)return!1;let r=e.bMarks[t]+e.tShift[t];const s=e.src.charCodeAt(r++);if(42!==s&&45!==s&&95!==s)return!1;let a=1;for(;r=4)return!1;if(e.listIndent>=0&&e.sCount[l]-e.listIndent>=4&&e.sCount[l]=e.blkIndent&&(p=!0),(h=qF(e,l))>=0){if(d=!0,s=e.bMarks[l]+e.tShift[l],u=Number(e.src.slice(s,h-1)),p&&1!==u)return!1}else{if(!((h=jF(e,l))>=0))return!1;d=!1}if(p&&e.skipSpaces(h)>=e.eMarks[l])return!1;if(n)return!0;const m=e.src.charCodeAt(h-1),g=e.tokens.length;d?(a=e.push("ordered_list_open","ol",1),1!==u&&(a.attrs=[["start",u]])):a=e.push("bullet_list_open","ul",1);const f=[l,0];a.map=f,a.markup=String.fromCharCode(m);let b=!1;const k=e.md.block.ruler.getRules("list"),w=e.parentType;for(e.parentType="list";l=i?1:n-t,p>4&&(p=1);const g=t+p;a=e.push("list_item_open","li",1),a.markup=String.fromCharCode(m);const f=[l,0];a.map=f,d&&(a.info=e.src.slice(s,h-1));const w=e.tight,_=e.tShift[l],y=e.sCount[l],A=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=g,e.tight=!0,e.tShift[l]=u-e.bMarks[l],e.sCount[l]=n,u>=i&&e.isEmpty(l+1)?e.line=Math.min(e.line+2,o):e.md.block.tokenize(e,l,o,!0),e.tight&&!b||(c=!1),b=e.line-l>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=A,e.tShift[l]=_,e.sCount[l]=y,e.tight=w,a=e.push("list_item_close","li",-1),a.markup=String.fromCharCode(m),l=e.line,f[1]=l,l>=o)break;if(e.sCount[l]=4)break;let C=!1;for(let t=0,n=k.length;t=4)return!1;if(91!==e.src.charCodeAt(i))return!1;function a(t){const o=e.lineMax;if(t>=o||e.isEmpty(t))return null;let n=!1;if(e.sCount[t]-e.blkIndent>3&&(n=!0),e.sCount[t]<0&&(n=!0),!n){const n=e.md.block.ruler.getRules("reference"),i=e.parentType;e.parentType="reference";let r=!1;for(let i=0,s=n.length;i=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(i))return!1;let s=e.src.slice(i,r),a=0;for(;a=4)return!1;let s=e.src.charCodeAt(i);if(35!==s||i>=r)return!1;let a=1;for(s=e.src.charCodeAt(++i);35===s&&i6||ii&&nF(e.src.charCodeAt(l-1))&&(r=l),e.line=t+1;const c=e.push("heading_open","h"+String(a),1);c.markup="########".slice(0,a),c.map=[t,e.line];const d=e.push("inline","",0);return d.content=e.src.slice(i,r).trim(),d.map=[t,e.line],d.children=[],e.push("heading_close","h"+String(a),-1).markup="########".slice(0,a),!0},["paragraph","reference","blockquote"]],["lheading",function(e,t,o){const n=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const i=e.parentType;e.parentType="paragraph";let r,s=0,a=t+1;for(;a3)continue;if(e.sCount[a]>=e.blkIndent){let t=e.bMarks[a]+e.tShift[a];const o=e.eMarks[a];if(t=o))){s=61===r?1:2;break}}if(e.sCount[a]<0)continue;let t=!1;for(let i=0,r=n.length;i3)continue;if(e.sCount[r]<0)continue;let t=!1;for(let i=0,s=n.length;i=o))&&!(e.sCount[s]=r){e.line=o;break}const t=e.line;let l=!1;for(let r=0;r=e.line)throw new Error("block rule didn't increment state.line");break}if(!l)throw new Error("none of the block rules matched");e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),s=e.line,s0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(n),this.tokens_meta.push(i),n},QF.prototype.scanDelims=function(e,t){const o=this.posMax,n=this.src.charCodeAt(e),i=e>0?this.src.charCodeAt(e-1):32;let r=e;for(;r?@[]^_`{|}~-".split("").forEach((function(e){oR[e.charCodeAt(0)]=1}));const iR={tokenize:function(e,t){const o=e.pos,n=e.src.charCodeAt(o);if(t)return!1;if(126!==n)return!1;const i=e.scanDelims(e.pos,!0);let r=i.length;const s=String.fromCharCode(n);if(r<2)return!1;let a;r%2&&(a=e.push("text","",0),a.content=s,r--);for(let t=0;t=0;o--){const n=t[o];if(95!==n.marker&&42!==n.marker)continue;if(-1===n.end)continue;const i=t[n.end],r=o>0&&t[o-1].end===n.end+1&&t[o-1].marker===n.marker&&t[o-1].token===n.token-1&&t[n.end+1].token===i.token+1,s=String.fromCharCode(n.marker),a=e.tokens[n.token];a.type=r?"strong_open":"em_open",a.tag=r?"strong":"em",a.nesting=1,a.markup=r?s+s:s,a.content="";const l=e.tokens[i.token];l.type=r?"strong_close":"em_close",l.tag=r?"strong":"em",l.nesting=-1,l.markup=r?s+s:s,l.content="",r&&(e.tokens[t[o-1].token].content="",e.tokens[t[n.end+1].token].content="",o--)}}const sR={tokenize:function(e,t){const o=e.pos,n=e.src.charCodeAt(o);if(t)return!1;if(95!==n&&42!==n)return!1;const i=e.scanDelims(e.pos,42===n);for(let t=0;t\x00-\x20]*)$/;const cR=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,dR=/^&([a-z][a-z0-9]{1,31});/i;function uR(e){const t={},o=e.length;if(!o)return;let n=0,i=-2;const r=[];for(let s=0;sa;l-=r[l]+1){const t=e[l];if(t.marker===o.marker&&(t.open&&t.end<0)){let n=!1;if((t.close||o.open)&&(t.length+o.length)%3==0&&(t.length%3==0&&o.length%3==0||(n=!0)),!n){const n=l>0&&!e[l-1].open?r[l-1]+1:0;r[s]=s-l+n,r[l]=n,o.open=!1,t.end=s,t.close=!1,c=-1,i=-2;break}}}-1!==c&&(t[o.marker][(o.open?3:0)+(o.length||0)%3]=c)}}const hR=[["text",function(e,t){let o=e.pos;for(;o0)return!1;const o=e.pos;if(o+3>e.posMax)return!1;if(58!==e.src.charCodeAt(o))return!1;if(47!==e.src.charCodeAt(o+1))return!1;if(47!==e.src.charCodeAt(o+2))return!1;const n=e.pending.match(tR);if(!n)return!1;const i=n[1],r=e.md.linkify.matchAtStart(e.src.slice(o-i.length));if(!r)return!1;let s=r.url;if(s.length<=i.length)return!1;s=s.replace(/\*+$/,"");const a=e.md.normalizeLink(s);if(!e.md.validateLink(a))return!1;if(!t){e.pending=e.pending.slice(0,-i.length);const t=e.push("link_open","a",1);t.attrs=[["href",a]],t.markup="linkify",t.info="auto";e.push("text","",0).content=e.md.normalizeLinkText(s);const o=e.push("link_close","a",-1);o.markup="linkify",o.info="auto"}return e.pos+=s.length-i.length,!0}],["newline",function(e,t){let o=e.pos;if(10!==e.src.charCodeAt(o))return!1;const n=e.pending.length-1,i=e.posMax;if(!t)if(n>=0&&32===e.pending.charCodeAt(n))if(n>=1&&32===e.pending.charCodeAt(n-1)){let t=n-1;for(;t>=1&&32===e.pending.charCodeAt(t-1);)t--;e.pending=e.pending.slice(0,t),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(o++;o=n)return!1;let i=e.src.charCodeAt(o);if(10===i){for(t||e.push("hardbreak","br",0),o++;o=55296&&i<=56319&&o+1=56320&&t<=57343&&(r+=e.src[o+1],o++)}const s="\\"+r;if(!t){const t=e.push("text_special","",0);i<256&&0!==oR[i]?t.content=r:t.content=s,t.markup=s,t.info="escape"}return e.pos=o+1,!0}],["backticks",function(e,t){let o=e.pos;if(96!==e.src.charCodeAt(o))return!1;const n=o;o++;const i=e.posMax;for(;o=u)return!1;if(l=m,i=e.md.helpers.parseLinkDestination(e.src,m,e.posMax),i.ok){for(s=e.md.normalizeLink(i.str),e.md.validateLink(s)?m=i.pos:s="",l=m;m=u||41!==e.src.charCodeAt(m))&&(c=!0),m++}if(c){if(void 0===e.env.references)return!1;if(m=0?n=e.src.slice(l,m++):m=p+1):m=p+1,n||(n=e.src.slice(h,p)),r=e.env.references[aF(n)],!r)return e.pos=d,!1;s=r.href,a=r.title}if(!t){e.pos=h,e.posMax=p;const t=[["href",s]];e.push("link_open","a",1).attrs=t,a&&t.push(["title",a]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=m,e.posMax=u,!0}],["image",function(e,t){let o,n,i,r,s,a,l,c,d="";const u=e.pos,h=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;const p=e.pos+2,m=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(m<0)return!1;if(r=m+1,r=h)return!1;for(c=r,a=e.md.helpers.parseLinkDestination(e.src,r,e.posMax),a.ok&&(d=e.md.normalizeLink(a.str),e.md.validateLink(d)?r=a.pos:d=""),c=r;r=h||41!==e.src.charCodeAt(r))return e.pos=u,!1;r++}else{if(void 0===e.env.references)return!1;if(r=0?i=e.src.slice(c,r++):r=m+1):r=m+1,i||(i=e.src.slice(p,m)),s=e.env.references[aF(i)],!s)return e.pos=u,!1;d=s.href,l=s.title}if(!t){n=e.src.slice(p,m);const t=[];e.md.inline.parse(n,e.md,e.env,t);const o=e.push("image","img",0),i=[["src",d],["alt",""]];o.attrs=i,o.children=t,o.content=n,l&&i.push(["title",l])}return e.pos=r,e.posMax=h,!0}],["autolink",function(e,t){let o=e.pos;if(60!==e.src.charCodeAt(o))return!1;const n=e.pos,i=e.posMax;for(;;){if(++o>=i)return!1;const t=e.src.charCodeAt(o);if(60===t)return!1;if(62===t)break}const r=e.src.slice(n+1,o);if(lR.test(r)){const o=e.md.normalizeLink(r);if(!e.md.validateLink(o))return!1;if(!t){const t=e.push("link_open","a",1);t.attrs=[["href",o]],t.markup="autolink",t.info="auto";e.push("text","",0).content=e.md.normalizeLinkText(r);const n=e.push("link_close","a",-1);n.markup="autolink",n.info="auto"}return e.pos+=r.length+2,!0}if(aR.test(r)){const o=e.md.normalizeLink("mailto:"+r);if(!e.md.validateLink(o))return!1;if(!t){const t=e.push("link_open","a",1);t.attrs=[["href",o]],t.markup="autolink",t.info="auto";e.push("text","",0).content=e.md.normalizeLinkText(r);const n=e.push("link_close","a",-1);n.markup="autolink",n.info="auto"}return e.pos+=r.length+2,!0}return!1}],["html_inline",function(e,t){if(!e.md.options.html)return!1;const o=e.posMax,n=e.pos;if(60!==e.src.charCodeAt(n)||n+2>=o)return!1;const i=e.src.charCodeAt(n+1);if(33!==i&&63!==i&&47!==i&&!function(e){const t=32|e;return t>=97&&t<=122}(i))return!1;const r=e.src.slice(n).match(WF);if(!r)return!1;if(!t){const t=e.push("html_inline","",0);t.content=r[0],s=t.content,/^\s]/i.test(s)&&e.linkLevel++,function(e){return/^<\/a\s*>/i.test(e)}(t.content)&&e.linkLevel--}var s;return e.pos+=r[0].length,!0}],["entity",function(e,t){const o=e.pos,n=e.posMax;if(38!==e.src.charCodeAt(o))return!1;if(o+1>=n)return!1;if(35===e.src.charCodeAt(o+1)){const n=e.src.slice(o).match(cR);if(n){if(!t){const t="x"===n[1][0].toLowerCase()?parseInt(n[1].slice(1),16):parseInt(n[1],10),o=e.push("text_special","",0);o.content=qP(t)?$P(t):$P(65533),o.markup=n[0],o.info="entity"}return e.pos+=n[0].length,!0}}else{const n=e.src.slice(o).match(dR);if(n){const o=PP(n[0]);if(o!==n[0]){if(!t){const t=e.push("text_special","",0);t.content=o,t.markup=n[0],t.info="entity"}return e.pos+=n[0].length,!0}}}return!1}]],pR=[["balance_pairs",function(e){const t=e.tokens_meta,o=e.tokens_meta.length;uR(e.delimiters);for(let e=0;e0&&n++,"text"===i[t].type&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;s||e.pos++,r[t]=e.pos},mR.prototype.tokenize=function(e){const t=this.ruler.getRules(""),o=t.length,n=e.posMax,i=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}if(s){if(e.pos>=n)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},mR.prototype.parse=function(e,t,o,n){const i=new this.State(e,t,o,n);this.tokenize(i);const r=this.ruler2.getRules(""),s=r.length;for(let e=0;e=3&&":"===e[t-3]||t>=3&&"/"===e[t-3]?0:n.match(o.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,o){const n=e.slice(t);return o.re.mailto||(o.re.mailto=new RegExp("^"+o.re.src_email_name+"@"+o.re.src_host_strict,"i")),o.re.mailto.test(n)?n.match(o.re.mailto)[0].length:0}}},AR="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function CR(e){const t=e.re=function(e){const t={};e=e||{},t.src_Any=uP.source,t.src_Cc=hP.source,t.src_Z=mP.source,t.src_P=cP.source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join("|"),t.src_ZCc=[t.src_Z,t.src_Cc].join("|");const o="[><|]";return t.src_pseudo_letter="(?:(?![><|]|"+t.src_ZPCc+")"+t.src_Any+")",t.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",t.src_auth="(?:(?:(?!"+t.src_ZCc+"|[@/\\[\\]()]).)+@)?",t.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",t.src_host_terminator="(?=$|[><|]|"+t.src_ZPCc+")(?!"+(e["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+t.src_ZPCc+"))",t.src_path="(?:[/?#](?:(?!"+t.src_ZCc+"|"+o+"|[()[\\]{}.,\"'?!\\-;]).|\\[(?:(?!"+t.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+t.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+t.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+t.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+t.src_ZCc+"|[']).)+\\'|\\'(?="+t.src_pseudo_letter+"|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+t.src_ZCc+"|[.]|$)|"+(e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+t.src_ZCc+"|$)|;(?!"+t.src_ZCc+"|$)|\\!+(?!"+t.src_ZCc+"|[!]|$)|\\?(?!"+t.src_ZCc+"|[?]|$))+|\\/)?",t.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',t.src_xn="xn--[a-z0-9\\-]{1,59}",t.src_domain_root="(?:"+t.src_xn+"|"+t.src_pseudo_letter+"{1,63})",t.src_domain="(?:"+t.src_xn+"|(?:"+t.src_pseudo_letter+")|(?:"+t.src_pseudo_letter+"(?:-|"+t.src_pseudo_letter+"){0,61}"+t.src_pseudo_letter+"))",t.src_host="(?:(?:(?:(?:"+t.src_domain+")\\.)*"+t.src_domain+"))",t.tpl_host_fuzzy="(?:"+t.src_ip4+"|(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%)))",t.tpl_host_no_ip_fuzzy="(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%))",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+t.src_ZPCc+"|>|$))",t.tpl_email_fuzzy='(^|[><|]|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}(e.__opts__),o=e.__tlds__.slice();function n(e){return e.replace("%TLDS%",t.src_tlds)}e.onCompile(),e.__tlds_replaced__||o.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"),o.push(t.src_xn),t.src_tlds=o.join("|"),t.email_fuzzy=RegExp(n(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(n(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(n(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(n(t.tpl_host_fuzzy_test),"i");const i=[];function r(e,t){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+t)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(t){const o=e.__schemas__[t];if(null===o)return;const n={validate:null,link:null};if(e.__compiled__[t]=n,"[object Object]"===bR(o))return!function(e){return"[object RegExp]"===bR(e)}(o.validate)?kR(o.validate)?n.validate=o.validate:r(t,o):n.validate=function(e){return function(t,o){const n=t.slice(o);return e.test(n)?n.match(e)[0].length:0}}(o.validate),void(kR(o.normalize)?n.normalize=o.normalize:o.normalize?r(t,o):n.normalize=function(e,t){t.normalize(e)});!function(e){return"[object String]"===bR(e)}(o)?r(t,o):i.push(t)})),i.forEach((function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)})),e.__compiled__[""]={validate:null,normalize:function(e,t){t.normalize(e)}};const s=Object.keys(e.__compiled__).filter((function(t){return t.length>0&&e.__compiled__[t]})).map(wR).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+s+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+s+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(e)}function vR(e,t){const o=e.__index__,n=e.__last_index__,i=e.__text_cache__.slice(o,n);this.schema=e.__schema__.toLowerCase(),this.index=o+t,this.lastIndex=n+t,this.raw=i,this.text=i,this.url=i}function xR(e,t){const o=new vR(e,t);return e.__compiled__[o.schema].normalize(o,e),o}function ER(e,t){if(!(this instanceof ER))return new ER(e,t);var o;t||(o=e,Object.keys(o||{}).reduce((function(e,t){return e||_R.hasOwnProperty(t)}),!1)&&(t=e,e={})),this.__opts__=fR({},_R,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=fR({},yR,e),this.__compiled__={},this.__tlds__=AR,this.__tlds_replaced__=!1,this.re={},CR(this)}ER.prototype.add=function(e,t){return this.__schemas__[e]=t,CR(this),this},ER.prototype.set=function(e){return this.__opts__=fR(this.__opts__,e),this},ER.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;let t,o,n,i,r,s,a,l,c;if(this.re.schema_test.test(e))for(a=this.re.schema_search,a.lastIndex=0;null!==(t=a.exec(e));)if(i=this.testSchemaAt(e,t[2],a.lastIndex),i){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+i;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(l=e.search(this.re.host_fuzzy_test),l>=0&&(this.__index__<0||l=0&&null!==(n=e.match(this.re.email_fuzzy))&&(r=n.index+n[1].length,s=n.index+n[0].length,(this.__index__<0||rthis.__last_index__)&&(this.__schema__="mailto:",this.__index__=r,this.__last_index__=s))),this.__index__>=0},ER.prototype.pretest=function(e){return this.re.pretest.test(e)},ER.prototype.testSchemaAt=function(e,t,o){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,o,this):0},ER.prototype.match=function(e){const t=[];let o=0;this.__index__>=0&&this.__text_cache__===e&&(t.push(xR(this,o)),o=this.__last_index__);let n=o?e.slice(o):e;for(;this.test(n);)t.push(xR(this,o)),n=n.slice(this.__last_index__),o+=this.__last_index__;return t.length?t:null},ER.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;const t=this.re.schema_at_start.exec(e);if(!t)return null;const o=this.testSchemaAt(e,t[2],t[0].length);return o?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+o,xR(this,0)):null},ER.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,t,o){return e!==o[t-1]})).reverse(),CR(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,CR(this),this)},ER.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},ER.prototype.onCompile=function(){};const DR=ER,BR=2147483647,SR=36,TR=/^xn--/,IR=/[^\0-\x7F]/,PR=/[\x2E\u3002\uFF0E\uFF61]/g,FR={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},RR=Math.floor,MR=String.fromCharCode;function zR(e){throw new RangeError(FR[e])}function OR(e,t){const o=e.split("@");let n="";o.length>1&&(n=o[0]+"@",e=o[1]);const i=function(e,t){const o=[];let n=e.length;for(;n--;)o[n]=t(e[n]);return o}((e=e.replace(PR,".")).split("."),t).join(".");return n+i}function NR(e){const t=[];let o=0;const n=e.length;for(;o=55296&&i<=56319&&o>1,e+=RR(e/t);e>455;n+=SR)e=RR(e/35);return RR(n+36*e/(e+38))},HR=function(e){const t=[],o=e.length;let n=0,i=128,r=72,s=e.lastIndexOf("-");s<0&&(s=0);for(let o=0;o=128&&zR("not-basic"),t.push(e.charCodeAt(o));for(let l=s>0?s+1:0;l=o&&zR("invalid-input");const s=(a=e.charCodeAt(l++))>=48&&a<58?a-48+26:a>=65&&a<91?a-65:a>=97&&a<123?a-97:SR;s>=SR&&zR("invalid-input"),s>RR((BR-n)/t)&&zR("overflow"),n+=s*t;const c=i<=r?1:i>=r+26?26:i-r;if(sRR(BR/d)&&zR("overflow"),t*=d}const c=t.length+1;r=LR(n-s,c,0==s),RR(n/c)>BR-i&&zR("overflow"),i+=RR(n/c),n%=c,t.splice(n++,0,i)}var a;return String.fromCodePoint(...t)},jR=function(e){const t=[],o=(e=NR(e)).length;let n=128,i=0,r=72;for(const o of e)o<128&&t.push(MR(o));const s=t.length;let a=s;for(s&&t.push("-");a=n&&tRR((BR-i)/l)&&zR("overflow"),i+=(o-n)*l,n=o;for(const o of e)if(oBR&&zR("overflow"),o===n){let e=i;for(let o=SR;;o+=SR){const n=o<=r?1:o>=r+26?26:o-r;if(eString.fromCodePoint(...e)},decode:HR,encode:jR,toASCII:function(e){return OR(e,(function(e){return IR.test(e)?"xn--"+jR(e):e}))},toUnicode:function(e){return OR(e,(function(e){return TR.test(e)?HR(e.slice(4).toLowerCase()):e}))}},$R=qR,UR={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},WR=/^(vbscript|javascript|file|data):/,GR=/^data:image\/(gif|png|jpeg|webp);/;function KR(e){const t=e.trim().toLowerCase();return!WR.test(t)||GR.test(t)}const ZR=["http:","https:","mailto:"];function JR(e){const t=lP(e,!0);if(t.hostname&&(!t.protocol||ZR.indexOf(t.protocol)>=0))try{t.hostname=$R.toASCII(t.hostname)}catch(e){}return KI(ZI(t))}function YR(e){const t=lP(e,!0);if(t.hostname&&(!t.protocol||ZR.indexOf(t.protocol)>=0))try{t.hostname=$R.toUnicode(t.hostname)}catch(e){}return UI(ZI(t),UI.defaultChars+"%")}function QR(e,t){if(!(this instanceof QR))return new QR(e,t);t||NP(e)||(t=e||{},e="default"),this.inline=new gR,this.block=new YF,this.core=new OF,this.renderer=new mF,this.linkify=new DR,this.validateLink=KR,this.normalizeLink=JR,this.normalizeLinkText=YR,this.utils=o,this.helpers=HP({},n),this.options={},this.configure(e),t&&this.set(t)}QR.prototype.set=function(e){return HP(this.options,e),this},QR.prototype.configure=function(e){const t=this;if(NP(e)){const t=e;if(!(e=UR[t]))throw new Error('Wrong `markdown-it` preset "'+t+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach((function(o){e.components[o].rules&&t[o].ruler.enableOnly(e.components[o].rules),e.components[o].rules2&&t[o].ruler2.enableOnly(e.components[o].rules2)})),this},QR.prototype.enable=function(e,t){let o=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(t){o=o.concat(this[t].ruler.enable(e,!0))}),this),o=o.concat(this.inline.ruler2.enable(e,!0));const n=e.filter((function(e){return o.indexOf(e)<0}));if(n.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this},QR.prototype.disable=function(e,t){let o=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(t){o=o.concat(this[t].ruler.disable(e,!0))}),this),o=o.concat(this.inline.ruler2.disable(e,!0));const n=e.filter((function(e){return o.indexOf(e)<0}));if(n.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this},QR.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},QR.prototype.parse=function(e,t){if("string"!=typeof e)throw new Error("Input data should be a String");const o=new this.core.State(e,this,t);return this.core.process(o),o.tokens},QR.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},QR.prototype.parseInline=function(e,t){const o=new this.core.State(e,this,t);return o.inlineMode=!0,this.core.process(o),o.tokens},QR.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};const XR=QR;var eM=i(9428),tM=i.n(eM);class oM{constructor(e){this._htmlDP=new Sd(e),this._domConverter=new Ua(e)}toView(e){const t=XR({html:!0,breaks:!0,langPrefix:"language-"});let o=t.use(tM(),{label:!0});const n=o.renderer.rules.code_block;t.renderer.rules.code_block=function(e,t,o,i,r){return e[t].content=e[t].content.replace(/\n$/,""),n(e,t,o,i,r)};const i=o.render(e),r=this._htmlDP._toDom(i);!function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(;t=o.nextNode();)t.previousElementSibling&&t.previousElementSibling.classList.contains("task-list-item-checkbox")&&(t.textContent=t.textContent.replace(/^\s+/,""))}(r),function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("BR"===e.tagName&&!e.parentElement)return NodeFilter.FILTER_ACCEPT}}),n=[];for(;t=o.nextNode();)n.push(t);for(const t of n){const o=document.createElement("p");e.insertBefore(o,t),jI(t)?o.appendChild(t):t.remove()}}(r),function(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("P"===e.tagName&&e.parentElement&&"TD"===e.parentElement.tagName&&1===e.childNodes.length&&"BR"===e.childNodes[0].nodeName)return NodeFilter.FILTER_ACCEPT}});let o;for(;o=t.nextNode();)o.childNodes[0].remove()}(r),function(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("BR"===e.tagName&&e.parentElement&&"LI"===e.parentElement.tagName)return NodeFilter.FILTER_ACCEPT}});let o,n=[];for(;o=t.nextNode();)n.push(o);for(const e of n)e.parentElement.insertBefore(document.createElement("p"),e),e.remove()}(r),r.querySelectorAll("input.task-list-item-checkbox").forEach((e=>{const t=e.closest("li.task-list-item");t&&e.parentElement!==t&&(e.parentElement&&e.parentElement.removeChild(e),t.insertBefore(e,t.firstChild))}));return this._domConverter.domToView(r)}toData(e){const t=this._domConverter.viewToDom(e,document);!function(e,t,o){t=t.map((e=>e.toUpperCase())),o=o.map((e=>e.toUpperCase()));let n,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(;n=i.nextNode();)n.parentElement&&t.indexOf(n.parentElement.nodeName)>=0&&(n.nodeValue=n.nodeValue.replace(/^[\u00a0]+/g," ").replace(/[\u00a0]+$/g," ")),LI(n,o)||(n.nodeValue=_.escape(n.nodeValue))}(t,["strong","em"],["pre","code","table"]),function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,(function(e){return"a"===e.nodeName.toLowerCase()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}));for(;t=o.nextNode();)t.setAttribute("href",t.href)}(t),function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("P"===e.tagName&&0===e.childNodes.length&&(!e.parentElement||"LI"===e.parentElement.tagName))return NodeFilter.FILTER_ACCEPT}});for(;t=o.nextNode();)t.appendChild(document.createElement("br"))}(t);const o=new VI({headingStyle:"atx",codeBlockStyle:"fenced",blankReplacement:function(e,t){if("CODE"===t.tagName){const e=(t.getAttribute("class")||"").replace("language-",""),o=t.textContent||"";return"```"+e+"\n"+(o.length?o:"\n")+"```\n"}return"PRE"===t.tagName?e:t.isBlock?"\n\n":""}});return o.use([nI]),o.addRule("taskListItems",{filter:function(e){const t="checkbox"===e.type,o=e.parentNode&&"LI"===e.parentNode.nodeName,n=e.parentNode&&e.parentNode.parentNode&&"LI"===e.parentNode.parentNode.nodeName;return t&&(o||n)},replacement:function(e,t){return(t.checked?"[x]":"[ ]")+" "}}),o.addRule("orderedListItems",{filter:function(e){return"LI"===e.nodeName&&!!e.closest("ol")},replacement:function(e,t,o){e=e.replace(/^\n+/,"").replace(/\n+$/,"\n");var n=t.parentNode,i=o.bulletListMarker+" ";if("OL"===n.nodeName){var r=n.getAttribute("start"),s=Array.prototype.indexOf.call(n.children,t);i=(r?Number(r)+s:s+1)+". "}var a=i.length,l=" ".repeat(a);return i+(e=e.replace(/\n/gm,"\n"+l))+(t.nextSibling&&!/\n$/.test(e)?"\n":"")}}),o.addRule("imageFigure",{filter:"img",replacement:function(e,t){const o=t.parentElement;return o&&o.classList.contains("op-uc-figure--content")?o.parentElement.outerHTML:t.outerHTML}}),o.addRule("figcaption",{filter:"figcaption",replacement:function(e,t){return""}}),o.addRule("markdownTables",{filter:function(e){return"TABLE"===e.nodeName&&(!e.parentElement||"FIGURE"!==e.parentElement.nodeName)},replacement:function(e,t){return t.outerHTML}}),o.addRule("htmlTables",{filter:function(e){const t=e.getElementsByTagName("table");return"FIGURE"===e.nodeName&&t.length},replacement:function(e,t){return t.querySelectorAll("td br[data-cke-filler]").forEach((e=>{e.nextElementSibling&&e.removeAttribute("data-cke-filler")})),t.outerHTML}}),o.addRule("strikethrough",{filter:["del","s","strike"],replacement:function(e){return"~~"+e+"~~"}}),o.addRule("openProjectMacros",{filter:["macro"],replacement:(e,t)=>{t.innerHTML="";return t.outerHTML.replace("","\n")}}),o.addRule("mentions",{filter:e=>"MENTION"===e.nodeName&&e.classList.contains("mention"),replacement:(e,t)=>t.outerHTML}),o.addRule("emptyParagraphs",{filter:e=>"P"===e.nodeName&&(0===e.childNodes.length||1===e.childNodes.length&&"BR"===e.childNodes[0].nodeName),replacement:(e,t)=>t.parentElement||t.nextSibling||t.previousSibling?1===t.childNodes.length&&jI(t.childNodes[0])?HI+"\n\n":"
\n\n":""}),o.addRule("openProjectPageBreak",{filter:e=>"DIV"===e.nodeName&&e.classList.contains("page-break"),replacement:(e,t)=>HI}),o.turndown(t).replace(/\u00A0/," ").replace("###turndown-ignore###\n","")}}const nM='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n image/svg+xml\n \n \n \n \n \n\n';const iM={"(":")","[":"]","{":"}"};class rM extends wr{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=e.schema.checkAttributeInSelection(t.selection,"mention")}execute(e){const t=this.editor.model,o=t.document.selection,n="string"==typeof e.mention?{id:e.mention}:e.mention,i=n.id,r=e.range||o.getFirstRange();if(!t.canEditAt(r))return;const s=e.text||i,a=aM({_text:s,id:i},n);if(!i.startsWith(e.marker))throw new S("mentioncommand-incorrect-id",this);t.change((e=>{const n=lr(o.getAttributes()),i=new Map(n.entries());i.set("mention",a);const l=t.insertContent(e.createText(s,i),r),c=l.start.nodeBefore,d=l.end.nodeAfter,u=d&&d.is("$text")&&d.data.startsWith(" ");let h=!1;if(c&&d&&c.is("$text")&&d.is("$text")){const e=c.data.slice(-1),t=e in iM,o=t&&d.data.startsWith(iM[e]);h=t&&o}h||u||t.insertContent(e.createText(" ",n),r.start.getShiftedBy(s.length))}))}}class sM extends br{static get pluginName(){return"MentionEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model,o=t.document;t.schema.extend("$text",{allowAttributes:"mention"}),e.conversion.for("upcast").elementToAttribute({view:{name:"span",attributes:"data-mention",classes:"mention"},model:{key:"mention",value:e=>lM(e)}}),e.conversion.for("downcast").attributeToElement({model:"mention",view:dM}),e.conversion.for("downcast").add(cM),o.registerPostFixer((e=>function(e,t,o){const n=t.differ.getChanges();let i=!1;for(const t of n){if("attribute"==t.type)continue;const n=t.position;if("$text"==t.name){const t=n.textNode&&n.textNode.nextSibling;i=hM(n.textNode,e)||i,i=hM(t,e)||i,i=hM(n.nodeBefore,e)||i,i=hM(n.nodeAfter,e)||i}if("$text"!=t.name&&"insert"==t.type){const t=n.nodeAfter;for(const o of e.createRangeIn(t).getItems())i=hM(o,e)||i}if("insert"==t.type&&o.isInline(t.name)){const t=n.nodeAfter&&n.nodeAfter.nextSibling;i=hM(n.nodeBefore,e)||i,i=hM(t,e)||i}}return i}(e,o,t.schema))),o.registerPostFixer((e=>function(e,t){const o=t.differ.getChanges();let n=!1;for(const t of o)if("attribute"===t.type&&"mention"!=t.attributeKey){const o=t.range.start.nodeBefore,i=t.range.end.nodeAfter;for(const r of[o,i])uM(r)&&r.getAttribute(t.attributeKey)!=t.attributeNewValue&&(e.setAttribute(t.attributeKey,t.attributeNewValue,r),n=!0)}return n}(e,o))),o.registerPostFixer((e=>function(e,t){const o=t.selection,n=o.focus;if(o.isCollapsed&&o.hasAttribute("mention")&&function(e){const t=e.isAtStart;return e.nodeBefore&&e.nodeBefore.is("$text")||t}(n))return e.removeSelectionAttribute("mention"),!0;return!1}(e,o))),e.commands.add("mention",new rM(e))}}function aM(e,t){return Object.assign({uid:E()},e,t||{})}function lM(e,t){const o=e.getAttribute("data-mention"),n=e.getChild(0);if(!n)return;return aM({id:o,_text:n.data},t)}function cM(e){e.on("attribute:mention",((e,t,o)=>{const n=t.attributeNewValue;if(!t.item.is("$textProxy")||!n)return;const i=t.range.start;(i.textNode||i.nodeAfter).data!=n._text&&o.consumable.consume(t.item,e.name)}),{priority:"highest"})}function dM(e,{writer:t}){if(!e)return;const o={class:"mention","data-mention":e.id},n={id:e.uid,priority:20};return t.createAttributeElement("span",o,n)}function uM(e){if(!e||!e.is("$text")&&!e.is("$textProxy")||!e.hasAttribute("mention"))return!1;return e.data!=e.getAttribute("mention")._text}function hM(e,t){return!!uM(e)&&(t.removeAttribute("mention",e),!0)}var pM=i(7216),mM={attributes:{"data-cke":!0}};mM.setAttributes=Xr(),mM.insert=Yr().bind(null,"head"),mM.domAPI=Zr(),mM.insertStyleElement=ts();Gr()(pM.A,mM);pM.A&&pM.A.locals&&pM.A.locals;class gM extends Mg{constructor(e){super(e),this.extendTemplate({attributes:{class:["ck-mentions"],tabindex:"-1"}})}selectFirst(){this.select(0)}selectNext(){const e=this.selected,t=this.items.getIndex(e);this.select(t+1)}selectPrevious(){const e=this.selected,t=this.items.getIndex(e);this.select(t-1)}select(e){let t=0;e>0&&e{o?(this.domElement.classList.add("ck-on"),this.domElement.classList.remove("ck-off")):(this.domElement.classList.add("ck-off"),this.domElement.classList.remove("ck-on"))})),this.listenTo(this.domElement,"click",(()=>{this.fire("execute")}))}render(){super.render(),this.element=this.domElement}focus(){this.domElement.focus()}}class bM extends Tg{highlight(){this.children.first.isOn=!0}removeHighlight(){this.children.first.isOn=!1}}const kM=[Ai.arrowup,Ai.arrowdown,Ai.esc],wM=[Ai.enter,Ai.tab];class _M extends br{static get pluginName(){return"MentionUI"}static get isOfficialPlugin(){return!0}static get requires(){return[kk]}constructor(e){super(e),this._items=new tr,this._mentionsView=this._createMentionView(),this._mentionsConfigurations=new Map,this._requestFeedDebounced=bl(this._requestFeed,100),e.config.define("mention",{feeds:[]})}init(){const e=this.editor,t=e.config.get("mention.commitKeys")||wM,o=kM.concat(t);this._balloon=e.plugins.get(kk),e.editing.view.document.on("keydown",((e,n)=>{var i;i=n.keyCode,o.includes(i)&&this._isUIVisible&&(n.preventDefault(),e.stop(),n.keyCode==Ai.arrowdown&&this._mentionsView.selectNext(),n.keyCode==Ai.arrowup&&this._mentionsView.selectPrevious(),t.includes(n.keyCode)&&this._mentionsView.executeSelected(),n.keyCode==Ai.esc&&this._hideUIAndRemoveMarker())}),{priority:"highest"}),Op({emitter:this._mentionsView,activator:()=>this._isUIVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUIAndRemoveMarker()});const n=e.config.get("mention.feeds");for(const e of n){const{feed:t,marker:o,dropdownLimit:n}=e;if(!xM(o))throw new S("mentionconfig-incorrect-marker",null,{marker:o});const i={marker:o,feedCallback:"function"==typeof t?t.bind(this.editor):vM(t),itemRenderer:e.itemRenderer,dropdownLimit:n};this._mentionsConfigurations.set(o,i)}this._setupTextWatcher(n),this.listenTo(e,"change:isReadOnly",(()=>{this._hideUIAndRemoveMarker()})),this.on("requestFeed:response",((e,t)=>this._handleFeedResponse(t))),this.on("requestFeed:error",(()=>this._hideUIAndRemoveMarker()))}destroy(){super.destroy(),this._mentionsView.destroy()}get _isUIVisible(){return this._balloon.visibleView===this._mentionsView}_createMentionView(){const e=this.editor.locale,t=new gM(e);return t.items.bindTo(this._items).using((o=>{const{item:n,marker:i}=o,{dropdownLimit:r}=this._mentionsConfigurations.get(i),s=r||this.editor.config.get("mention.dropdownLimit")||10;if(t.items.length>=s)return null;const a=new bM(e),l=this._renderItem(n,i);return l.delegate("execute").to(a),a.children.add(l),a.item=n,a.marker=i,a.on("execute",(()=>{t.fire("execute",{item:n,marker:i})})),a})),t.on("execute",((e,t)=>{const o=this.editor,n=o.model,i=t.item,r=t.marker,s=o.model.markers.get("mention"),a=n.createPositionAt(n.document.selection.focus),l=n.createPositionAt(s.getStart()),c=n.createRange(l,a);this._hideUIAndRemoveMarker(),o.execute("mention",{mention:i,text:i.text,marker:r,range:c}),o.editing.view.focus()})),t}_getItemRenderer(e){const{itemRenderer:t}=this._mentionsConfigurations.get(e);return t}_requestFeed(e,t){this._lastRequested=t;const{feedCallback:o}=this._mentionsConfigurations.get(e),n=o(t);n instanceof Promise?n.then((o=>{this._lastRequested==t?this.fire("requestFeed:response",{feed:o,marker:e,feedText:t}):this.fire("requestFeed:discarded",{feed:o,marker:e,feedText:t})})).catch((t=>{this.fire("requestFeed:error",{error:t}),T("mention-feed-callback-error",{marker:e})})):this.fire("requestFeed:response",{feed:n,marker:e,feedText:t})}_setupTextWatcher(e){const t=this.editor,o=e.map((e=>({...e,pattern:CM(e.marker,e.minimumCharacters||0)}))),n=new o_(t.model,function(e){const t=t=>{const o=AM(e,t);if(!o)return!1;let n=0;0!==o.position&&(n=o.position-1);const i=t.substring(n);return o.pattern.test(i)};return t}(o));n.on("matched",((e,n)=>{const i=AM(o,n.text),r=t.model.document.selection.focus,s=t.model.createPositionAt(r.parent,i.position);if(function(e){const t=e.textNode&&e.textNode.hasAttribute("mention"),o=e.nodeBefore;return t||o&&o.is("$text")&&o.hasAttribute("mention")}(r)||function(e){const t=e.nodeAfter;return t&&t.is("$text")&&t.hasAttribute("mention")}(s))return void this._hideUIAndRemoveMarker();const a=function(e,t){let o=0;0!==e.position&&(o=e.position-1);const n=CM(e.marker,0),i=t.substring(o);return i.match(n)[2]}(i,n.text),l=i.marker.length+a.length,c=r.getShiftedBy(-l),d=r.getShiftedBy(-a.length),u=t.model.createRange(c,d);if(EM(t)){const e=t.model.markers.get("mention");t.model.change((t=>{t.updateMarker(e,{range:u})}))}else t.model.change((e=>{e.addMarker("mention",{range:u,usingOperation:!1,affectsData:!1})}));this._requestFeedDebounced(i.marker,a)})),n.on("unmatched",(()=>{this._hideUIAndRemoveMarker()}));const i=t.commands.get("mention");return n.bind("isEnabled").to(i),n}_handleFeedResponse(e){const{feed:t,marker:o}=e;if(!EM(this.editor))return;this._items.clear();for(const e of t){const t="object"!=typeof e?{id:e,text:e}:e;this._items.add({item:t,marker:o})}const n=this.editor.model.markers.get("mention");this._items.length?this._showOrUpdateUI(n):this._hideUIAndRemoveMarker()}_showOrUpdateUI(e){this._isUIVisible?this._balloon.updatePosition(this._getBalloonPanelPositionData(e,this._mentionsView.position)):this._balloon.add({view:this._mentionsView,position:this._getBalloonPanelPositionData(e,this._mentionsView.position),singleViewMode:!0}),this._mentionsView.position=this._balloon.view.position,this._mentionsView.selectFirst()}_hideUIAndRemoveMarker(){this._balloon.hasView(this._mentionsView)&&this._balloon.remove(this._mentionsView),EM(this.editor)&&this.editor.model.change((e=>e.removeMarker("mention"))),this._mentionsView.position=void 0}_renderItem(e,t){const o=this.editor;let n,i=e.id;const r=this._getItemRenderer(t);if(r){const t=r(e);"string"!=typeof t?n=new fM(o.locale,t):i=t}if(!n){const e=new Kp(o.locale);e.label=i,e.withText=!0,n=e}return n}_getBalloonPanelPositionData(e,t){const o=this.editor,n=o.editing,i=n.view.domConverter,r=n.mapper;return{target:()=>{let t=e.getRange();"$graveyard"==t.start.root.rootName&&(t=o.model.document.selection.getFirstRange());const n=r.toViewRange(t);return Gn.getDomRangeRects(i.viewRangeToDom(n)).pop()},limiter:()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},positions:yM(t,o.locale.uiLanguageDirection)}}}function yM(e,t){const o={caret_se:e=>({top:e.bottom+3,left:e.right,name:"caret_se",config:{withArrow:!1}}),caret_ne:(e,t)=>({top:e.top-t.height-3,left:e.right,name:"caret_ne",config:{withArrow:!1}}),caret_sw:(e,t)=>({top:e.bottom+3,left:e.right-t.width,name:"caret_sw",config:{withArrow:!1}}),caret_nw:(e,t)=>({top:e.top-t.height-3,left:e.right-t.width,name:"caret_nw",config:{withArrow:!1}})};return Object.prototype.hasOwnProperty.call(o,e)?[o[e]]:"rtl"!==t?[o.caret_se,o.caret_sw,o.caret_ne,o.caret_nw]:[o.caret_sw,o.caret_se,o.caret_nw,o.caret_ne]}function AM(e,t){let o;for(const n of e){const e=t.lastIndexOf(n.marker);e>0&&!t.substring(e-1).match(n.pattern)||(!o||e>=o.position)&&(o={marker:n.marker,position:e,minimumCharacters:n.minimumCharacters,pattern:n.pattern})}return o}function CM(e,t){const o=0==t?"*":`{${t},}`,n=c.features.isRegExpUnicodePropertySupported?"\\p{Ps}\\p{Pi}\"'":"\\(\\[{\"'";e=e.replace(/[.*+?^${}()\-|[\]\\]/g,"\\$&");return new RegExp(`(?:^|[ ${n}])(${e})([^#@]${o})$`,"u")}function vM(e){return t=>e.filter((e=>("string"==typeof e?e:String(e.id)).toLowerCase().includes(t.toLowerCase())))}function xM(e){return!!e}function EM(e){return e.model.markers.has("mention")}var DM=i(1478),BM={attributes:{"data-cke":!0}};BM.setAttributes=Xr(),BM.insert=Yr().bind(null,"head"),BM.domAPI=Zr(),BM.insertStyleElement=ts();Gr()(DM.A,BM);DM.A&&DM.A.locals&&DM.A.locals;class SM extends wr{refresh(){const e=this.editor.model,t=e.schema,o=e.document.selection;this.isEnabled=function(e,t,o){const n=function(e,t){const o=xw(e,t),n=o.start.parent;if(n.isEmpty&&!n.is("element","$root"))return n.parent;return n}(e,o);return t.checkChild(n,"pageBreak")}(o,t,e)}execute(){const e=this.editor.model;e.change((t=>{const o=t.createElement("pageBreak");e.insertObject(o,null,null,{setSelection:"after"})}))}}var TM=i(5079),IM={attributes:{"data-cke":!0}};IM.setAttributes=Xr(),IM.insert=Yr().bind(null,"head"),IM.domAPI=Zr(),IM.insertStyleElement=ts();Gr()(TM.A,IM);TM.A&&TM.A.locals&&TM.A.locals;class PM extends br{static get pluginName(){return"PageBreakEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model.schema,o=e.t,n=e.conversion;t.register("pageBreak",{inheritAllFrom:"$blockObject"}),n.for("dataDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:t})=>t.createContainerElement("div",{class:"page-break",style:"page-break-after: always"},t.createContainerElement("span",{style:"display: none"}))}),n.for("editingDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:t})=>{const n=o("Page break"),i=t.createContainerElement("div"),r=t.createRawElement("span",{class:"page-break__label"},(function(e){e.innerText=o("Page break")}));return t.addClass("page-break",i),t.insert(t.createPositionAt(i,0),r),function(e,t,o){return t.setCustomProperty("pageBreak",!0,e),_w(e,t,{label:o})}(i,t,n)}}),n.for("upcast").elementToElement({view:e=>{const t="always"==e.getStyle("page-break-before"),o="always"==e.getStyle("page-break-after");if(!t&&!o)return null;if(1==e.childCount){const t=e.getChild(0);if(!t.is("element","span")||"none"!=t.getStyle("display"))return null}else if(e.childCount>1)return null;return{name:!0}},model:"pageBreak",converterPriority:"high"}),e.commands.add("pageBreak",new SM(e))}}class FM extends br{static get pluginName(){return"PageBreakUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("pageBreak",(()=>{const e=this._createButton(Kp);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:pageBreak",(()=>this._createButton(Em)))}_createButton(e){const t=this.editor,o=t.locale,n=t.commands.get("pageBreak"),i=new e(t.locale),r=o.t;return i.set({label:r("Page break"),icon:''}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",(()=>{t.execute("pageBreak"),t.editing.view.focus()})),i}}class RM extends br{static get pluginName(){return"Autosave"}static get isOfficialPlugin(){return!0}static get requires(){return[dp]}constructor(e){super(e),this._action=null;const t=e.config.get("autosave")||{},o=t.waitingTime||1e3;this.set("state","synchronized"),this._debouncedSave=bl(this._save.bind(this),o),this._lastDocumentVersion=e.model.document.version,this._savePromise=null,this._domEmitter=new(On()),this._config=t,this._pendingActions=e.plugins.get(dp),this._makeImmediateSave=!1}init(){const e=this.editor,t=e.model.document;this.listenTo(e,"ready",(()=>{this.listenTo(t,"change:data",((e,t)=>{this._saveCallbacks.length&&t.isLocal&&("synchronized"===this.state&&(this.state="waiting",this._setPendingAction()),"waiting"===this.state&&this._debouncedSave())}))})),this.listenTo(e,"destroy",(()=>this._flush()),{priority:"highest"}),this._domEmitter.listenTo(window,"beforeunload",((e,t)=>{this._pendingActions.hasAny&&(t.returnValue=this._pendingActions.first.message)}))}destroy(){this._domEmitter.stopListening(),super.destroy()}save(){return this._debouncedSave.cancel(),this._save()}_flush(){this._debouncedSave.flush()}_save(){return this._savePromise?(this._makeImmediateSave=this.editor.model.document.version>this._lastDocumentVersion,this._savePromise):(this._setPendingAction(),this.state="saving",this._lastDocumentVersion=this.editor.model.document.version,this._savePromise=Promise.resolve().then((()=>Promise.all(this._saveCallbacks.map((e=>e(this.editor)))))).finally((()=>{this._savePromise=null})).then((()=>{if(this._makeImmediateSave)return this._makeImmediateSave=!1,this._save();this.editor.model.document.version>this._lastDocumentVersion?(this.state="waiting",this._debouncedSave()):(this.state="synchronized",this._pendingActions.remove(this._action),this._action=null)})).catch((e=>{throw this.state="error",this.state="saving",this._debouncedSave(),e})),this._savePromise)}_setPendingAction(){const e=this.editor.t;this._action||(this._action=this._pendingActions.add(e("Saving changes")))}get _saveCallbacks(){const e=[];return this.adapter&&this.adapter.save&&e.push(this.adapter.save),this._config.save&&e.push(this._config.save),e}}var MM=i(2992);function zM(e){return e.trim().split(/\s+/).length}function OM(e){const t=e.length;let o=5381;for(let n=0;n>>0}function NM(e){const t=localStorage.getItem(e);if(!t)return null;try{return JSON.parse(MM.decompress(t))}catch(e){return console.error("Failed to load CKEditor revisions from localStorage: "+e.toString()),null}}class VM extends br{init(){const e=this.editor,t=Mw(e);e.ui.componentFactory.add("opContentRevisions",(o=>{const n=kf(o),i=new tr;return yf(n,i,{role:"menu",ariaLabel:t.t("js.editor.revisions")}),n.buttonView.set({label:t.t("js.editor.revisions"),icon:'\n\n\n',tooltip:!0}),this.listenTo(n.buttonView,"execute",(async()=>{i.clear(),function(e,t){const o=e.config.get(HM),n=NM(o),i=Mw(e),r=Fw(e,"timezone");if(!n?.items||n.items.count<=0){const e={type:"button",model:{label:i.t("js.editor.no_revisions"),withText:!0}};return void t.add(e)}const s=e.getData(),a=OM(s);for(let e=n.items.length;e>0;){e--;const o=n.items[e],s=r.formattedRelativeDateTime(o.timestamp),l=i.t("js.units.word",{count:zM(o.content)}),c=`${o.hash===a?`${i.t("js.label_current")} - `:""}${s} (${l})`,d={type:"button",model:{timestamp:o.timestamp,label:c,withText:!0}};t.add(d)}}(e,i)})),n.on("execute",(t=>{const{timestamp:o}=t.source;o&&e.execute("opContentRevisionApply",o)})),n}))}}class LM extends wr{async execute(e){const t=this.editor,o=t.config.get(HM),n=await NM(o);if(!n)return void console.error(`Trying to load revision ${e} but no record present.`);const i=n.items.find((t=>t.timestamp===e));i&&(t.setData(i.content),setTimeout((()=>{t.editing.view.focus()})))}}const HM="opContentRevisionKey",jM="op_ckeditor_rev";const qM=[Bw,class extends br{static get requires(){return[zw,M_,Y_]}static get pluginName(){return"OPMacroEmbeddedTable"}static get buttonName(){return zw.buttonName}},class extends br{static get requires(){return[ey,M_,ty]}static get pluginName(){return"OPMacroWpButton"}static get buttonName(){return ey.buttonName}},class extends br{static get requires(){return[GC,M_,KC]}static get pluginName(){return"OPChildPages"}static get buttonName(){return GC.buttonName}}],$M=[class extends br{static get requires(){return[ny,lC]}static get pluginName(){return"OpUploadPlugin"}init(){this.editor.plugins.get("FileRepository").createUploadAdapter=e=>{const t=Iw(this.editor);return new ry(e,t,this.editor)}}},class extends br{static get pluginName(){return"OPAttachmentListener"}init(){this.editor.model.on("op:attachment-removed",((e,t)=>{this.removeDeletedImage(t)}))}removeDeletedImage(e){let t=this.editor.model.document.getRoot();for(const o of Array.from(t.getChildren()))if("image"===o.name&&e.indexOf(o.getAttribute("src"))>-1){const e=new bc(o,"on");this.editor.model.deleteContent(e)}}}],UM=[class extends br{static get requires(){return[Mm,Uy,w_,ev,C_,e_,Xy]}static get pluginName(){return"Essentials"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[ny]}static get pluginName(){return"CKFinderUploadAdapter"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.config.get("ckfinder.uploadUrl");e&&(this.editor.plugins.get(ny).createUploadAdapter=t=>new iv(t,e,this.editor.t))}},class extends br{static get requires(){return[Xw]}static get pluginName(){return"Autoformat"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=this.editor.t;this._addListAutoformats(),this._addBasicStylesAutoformats(),this._addHeadingAutoformats(),this._addBlockQuoteAutoformats(),this._addCodeBlockAutoformats(),this._addHorizontalLineAutoformats(),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Revert autoformatting action"),keystroke:"Backspace"}]})}_addListAutoformats(){const e=this.editor.commands;e.get("bulletedList")&&rv(this.editor,this,/^[*-]\s$/,"bulletedList"),e.get("numberedList")&&rv(this.editor,this,/^1[.|)]\s$/,"numberedList"),e.get("todoList")&&rv(this.editor,this,/^\[\s?\]\s$/,"todoList"),e.get("checkTodoList")&&rv(this.editor,this,/^\[\s?x\s?\]\s$/,(()=>{this.editor.execute("todoList"),this.editor.execute("checkTodoList")}))}_addBasicStylesAutoformats(){const e=this.editor.commands;if(e.get("bold")){const e=lv(this.editor,"bold");sv(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,e),sv(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,e)}if(e.get("italic")){const e=lv(this.editor,"italic");sv(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,e),sv(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,e)}if(e.get("code")){const e=lv(this.editor,"code");sv(this.editor,this,/(`)([^`]+)(`)$/g,e)}if(e.get("strikethrough")){const e=lv(this.editor,"strikethrough");sv(this.editor,this,/(~~)([^~]+)(~~)$/g,e)}}_addHeadingAutoformats(){const e=this.editor.commands.get("heading");e&&e.modelElements.filter((e=>e.match(/^heading[1-6]$/))).forEach((t=>{const o=t[7],n=new RegExp(`^(#{${o}})\\s$`);rv(this.editor,this,n,(()=>{if(!e.isEnabled||e.value===t)return!1;this.editor.execute("heading",{value:t})}))}))}_addBlockQuoteAutoformats(){this.editor.commands.get("blockQuote")&&rv(this.editor,this,/^>\s$/,"blockQuote")}_addCodeBlockAutoformats(){const e=this.editor,t=e.model.document.selection;e.commands.get("codeBlock")&&rv(e,this,/^```$/,(()=>{if(t.getFirstPosition().parent.is("element","listItem"))return!1;this.editor.execute("codeBlock",{usePreviousLanguageChoice:!0})}))}_addHorizontalLineAutoformats(){this.editor.commands.get("horizontalLine")&&rv(this.editor,this,/^---$/,"horizontalLine")}},RM,class extends br{static get requires(){return[uv,mv]}static get pluginName(){return"Bold"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[fv,_v]}static get pluginName(){return"Code"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[Av,vv]}static get pluginName(){return"Italic"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[Ev,Bv]}static get pluginName(){return"Strikethrough"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[Fv,zv]}static get pluginName(){return"BlockQuote"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[Uv,Kv]}static get pluginName(){return"Heading"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[SA,M_,bA,FA]}static get pluginName(){return"ImageBlock"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[zA,M_,bA,FA]}static get pluginName(){return"ImageInline"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[VA,LA]}static get pluginName(){return"ImageCaption"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[OC,LC]}static get pluginName(){return"ImageStyle"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[pC,_C,DC,gC]}static get pluginName(){return"ImageResize"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[O_,sA]}static get pluginName(){return"ImageToolbar"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=e.t,o=e.plugins.get(O_),n=e.plugins.get("ImageUtils");o.register("image",{ariaLabel:t("Image toolbar"),items:$C(e.config.get("image.toolbar")||[]),getRelatedElement:e=>n.getClosestSelectedImageWidget(e)})}},class extends br{static get pluginName(){return"OpImageAttachmentLookup"}init(){const e=this.editor,t=e.conversion,o=Iw(e);t.for("editingDowncast").add(function(e){return e=>{e.on("attribute:src:imageBlock",t,{priority:"highest"}),e.on("attribute:src:imageInline",t,{priority:"highest"})};function t(t,o,n){let i=o.attributeNewValue;if(!i||!e.lookupDownloadLocationByName)return;const r=e.lookupDownloadLocationByName(i);o.attributeNewValue=r||i}}(o)),t.for("dataDowncast").add(function(e){return e=>{e.on("attribute:src:imageBlock",t,{priority:"highest"}),e.on("attribute:src:imageInline",t,{priority:"highest"})};function t(t,o,n){let i=o.attributeNewValue;if(!i||!e.lookupDownloadLocationByName)return;const r=e.lookupDownloadLocationByName(i);o.attributeNewValue=r||i;const s=n.writer,a=n.mapper.toViewElement(o.item);let l;l="imageInline"===o.item.name?a:a.getChild(0),r&&s.setAttribute("data-original-src",i,l)}}(o));const n=e.plugins.get("ImageUtils");n.decorate("setImageNaturalSizeAttributes"),n.on("setImageNaturalSizeAttributes",((e,[t])=>{console.log("model image element:",{element:t}),e.stop()}),{priority:"highest"})}},class extends br{static get requires(){return[Mx,qx,Wx]}static get pluginName(){return"Link"}static get isOfficialPlugin(){return!0}},WE,hD,class extends br{static get requires(){return[PM,FM,M_]}static get pluginName(){return"PageBreak"}static get isOfficialPlugin(){return!0}},Hv,e_,class extends br{toMentionAttribute(e,t){return lM(e,t)}static get pluginName(){return"Mention"}static get isOfficialPlugin(){return!0}static get requires(){return[sM,_M]}},function(e){const t=Pw(e),o=e.editing.view,n=o.document;o.addObserver(Xu),e.listenTo(n,"click",((e,t)=>{if("A"===t.domTarget.nodeName&&t.domTarget.classList.contains("mention")){const e=document.createElement("a");e.target="_blank",e.href=t.domTarget.attributes.href.value,e.click()}})),e.conversion.for("upcast").elementToAttribute({view:{name:"mention",key:"data-mention",classes:"mention"},model:{key:"mention",value:o=>{const n=o.getAttribute("data-id"),i=o.getAttribute("data-type"),r=o.getAttribute("data-text"),s=function(e,o){const n=t.services.apiV3Service[`${o}s`].segment,i=window.OpenProject.urlRoot;return`${i}/${n}/${e}`}(n,i);return e.plugins.get("Mention").toMentionAttribute(o,{idNumber:n,link:s,text:r,type:i})}},converterPriority:"high"}),e.conversion.for("upcast").elementToAttribute({view:{name:"span",key:"data-mention",classes:"mention"},model:{key:"mention",value:e=>{const t=[...e.getChildren()][0],o=t&&t.data;if(o){const e=`[Invalid mention: ${o}]`;t._data=e}}},converterPriority:"high"}),e.conversion.for("editingDowncast").attributeToElement({model:"mention",converterPriority:"high",view:(e,{writer:t})=>{if(!e)return;if("emoji"===e.type)return t.createAttributeElement("span");return t.createAttributeElement("a",{class:"mention",href:e.link,"data-mention":e.text,title:e.text})}}),e.conversion.for("dataDowncast").attributeToElement({model:"mention",converterPriority:"high",view:(e,{writer:t})=>{if(!e)return;if("emoji"===e.type)return t.createAttributeElement("span");return t.createAttributeElement("mention",{class:"mention","data-id":e.idNumber,"data-type":e.type,"data-text":e.text})}})},class extends br{static get pluginName(){return"PasteFromOffice"}static get isOfficialPlugin(){return!0}static get requires(){return[By]}init(){const e=this.editor,t=e.plugins.get("ClipboardPipeline"),o=e.editing.view.document,n=[],i=this.editor.plugins.has("MultiLevelList");n.push(new GT(o,i)),n.push(new YT(o)),n.push(new XT(o)),t.on("inputTransformation",((t,i)=>{if(i._isTransformedWithPasteFromOffice)return;if(e.model.document.selection.getFirstPosition().parent.is("element","codeBlock"))return;const r=i.dataTransfer.getData("text/html"),s=n.find((e=>e.isActive(r)));s&&(i._parsedData||(i._parsedData=tI(r,o.stylesProcessor)),s.execute(i),i._isTransformedWithPasteFromOffice=!0)}),{priority:"high"})}},class extends br{static get pluginName(){return"OPHelpLinkPlugin"}init(){const e=this.editor,t=e.config.get("openProject.helpURL");e.ui.componentFactory.add("openProjectShowFormattingHelp",(e=>{const o=new Kp(e);return o.set({label:window.I18n.t("js.inplace.link_formatting_help"),icon:'',tooltip:!0}),o.on("execute",(()=>{window.open(t,"_blank")})),o}))}},class extends br{static get pluginName(){return"OPPreview"}init(){const e=this.editor;let t=!1,o=null;e.ui.componentFactory.add("preview",(n=>{const i=new Kp(n);i.set({label:this.label,icon:'\n',tooltip:!0});let r=function(t){const n=e.ui.getEditableElement(),r=n?.parentElement;if(!r?.parentElement)return void console.error("Cannot show preview: invalid editor structure");const s=document.createElement("div");s.className="ck-editor__preview op-uc-container";Array.from(r.parentElement.children).filter((e=>e!==r&&e.classList.contains("ck-editor__preview"))).forEach((e=>e.remove()));const a=Fw(e,"ckEditorPreview");o=a.render(s,t),r.style.display="none",r.parentElement.insertBefore(s,r.nextSibling),CD(e,i)},s=function(){let o=function(e){return _.get(e.config,"_config.openProject.context.previewContext")}(e);(async function(e,t){return new BD("post",e,t).perform()})(Rw(e).api.v3.previewMarkup(o),{contentType:"text/plain; charset=UTF-8",responseKind:"html",body:e.getData()}).then((e=>e.html)).then(r).catch((o=>{console.error("Error fetching preview:",o),t=!1,vD(e)}))};return i.on("execute",(()=>{t?(t=!1,function(){const t=e.ui.getEditableElement(),n=t?.parentElement;if(!n?.parentElement)return void console.error("Cannot disable preview: invalid editor structure");o&&o(),Array.from(n.parentElement.children).filter((e=>e!==n&&e.classList.contains("ck-editor__preview"))).forEach((e=>e.remove())),n.style.display="",vD(e)}()):(t=!0,s())})),i}))}get label(){return window.I18n.t("js.editor.preview")}},class extends br{static get pluginName(){return"OPSourceCode"}init(){const e=this.editor;let t=!1,o={source:window.I18n.t("js.editor.mode.manual"),wysiwyg:window.I18n.t("js.editor.mode.wysiwyg")};e.ui.componentFactory.add("opShowSource",(n=>{const i=new Kp(n);i.set({label:o.source,class:"",icon:nM,tooltip:!0});return i.on("execute",(()=>{t?(t=!1,function(){const t=e.ui.getEditableElement(),n=t?.parentElement;if(!n?.parentElement)return void console.error("Cannot hide source: invalid editor structure");e.fire("op:source-code-disabled"),Array.from(n.parentElement.children).filter((e=>e!==n&&e.classList.contains("ck-editor__source"))).forEach((e=>e.remove())),n.style.display="",vD(e),i.set({label:o.source,class:"",icon:nM,tooltip:!0})}()):(t=!0,function(){const t=e.ui.getEditableElement(),n=t?.parentElement;if(!n?.parentElement)return void console.error("Cannot show source: invalid editor structure");const r=document.createElement("div");r.className="ck-editor__source",Array.from(n.parentElement.children).filter((e=>e!==n&&e.classList.contains("ck-editor__source"))).forEach((e=>e.remove())),n.style.display="none",n.parentElement.insertBefore(r,n.nextSibling),CD(e,i),e.fire("op:source-code-enabled"),i.set({label:o.wysiwyg,class:"-source-enabled",icon:'\n\n \n \n \n image/svg+xml\n \n \n \n \n \n \n \n \n\n',tooltip:!0})}())})),i}))}},class extends br{static get requires(){return[RM,VM]}static get pluginName(){return"OpContentRevisions"}constructor(e){super(e);const t=this.getStorageKey(e);e.config.define(HM,t)}init(){const e=this.editor;e.commands.add("opContentRevisionApply",new LM(e)),e.once("ready",(()=>{const t=Date.now();e.plugins.get("Autosave")._domEmitter.stopListening(window,"beforeunload"),Object.keys(localStorage).forEach((e=>{if(e.startsWith(jM)){const o=NM(e);o?.updatedAt&&t-o.updatedAt>=288e5&&localStorage.removeItem(e)}}))}))}getStorageKey(e){const t=e.config.get("storageKey");return t||this.createLocalStorageKey(e)}createLocalStorageKey(e){const t=Iw(e),o=function(e){return _.get(e.config,"_config.openProject.context.field")}(e);let n="";return n=t?.href?t.href:location.pathname,o&&(n+=`_${o}`),`${jM}_${n}`}},class extends br{static get pluginName(){return"CodeBlock"}static get requires(){return[_D,yD]}},function(e){e.data.processor=new oM(e.editing.view.document)},class extends br{static get requires(){return[HB,WB,JB,nS,tS,YB,M_]}static get pluginName(){return"Table"}static get isOfficialPlugin(){return!0}},class extends br{static get requires(){return[O_]}static get pluginName(){return"TableToolbar"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=e.t,o=e.plugins.get(O_),n=e.config.get("table.contentToolbar"),i=e.config.get("table.tableToolbar");n&&o.register("tableContent",{ariaLabel:t("Table toolbar"),items:n,getRelatedElement:cS}),i&&o.register("table",{ariaLabel:t("Table toolbar"),items:i,getRelatedElement:lS})}},class extends br{static get pluginName(){return"TableProperties"}static get isOfficialPlugin(){return!0}static get requires(){return[_T,DT]}},class extends br{static get pluginName(){return"TableCellProperties"}static get isOfficialPlugin(){return!0}static get requires(){return[cT,ZS]}},class extends br{init(){const e=this.editor,t=(e.config.get("removePlugins")||[]).map((e=>e.pluginName)),o=window.I18n.t("js.editor.macro.dropdown.chose_macro");!0!==e.config.get("openProject.disableAllMacros")&&e.ui.componentFactory.add("macroList",(n=>{const i=[];for(const o of qM){if(-1!==t.indexOf(o.pluginName))continue;const n=e.ui.componentFactory.create(o.buttonName);i.push(n)}const r=kf(n);return wf(r,i,{isVertical:!0,class:"op-macro-list-button"}),r.buttonView.set({isOn:!1,withText:!0,tooltip:o,label:window.I18n.t("js.editor.macro.dropdown.macros")}),r}))}},class extends br{get config(){const e="op-uc-";return{preFix:e,editorClasses:[`${e}container`,`${e}container_editing`],elementsWithCustomClassesMap:{paragraph:`${e}p`,heading1:`${e}h1`,heading2:`${e}h2`,heading3:`${e}h3`,heading4:`${e}h4`,heading5:`${e}h5`,heading6:`${e}h6`,blockQuote:`${e}blockquote`,figure:`${e}figure`,table:`${e}table`,thead:`${e}table--head`,tr:`${e}table--row`,td:`${e}table--cell`,th:[`${e}table--cell`,`${e}table--cell_head`],tableCell:`${e}table--cell`,tableRow:`${e}table--row`,ol:`${e}list`,ul:`${e}list`,list:`${e}list`,todo:`${e}list ${e}list_task-list`,listItem:`${e}list--item`,li:`${e}list--item`,imageInline:`${e}image ${e}image_inline`,imageBlock:`${e}image`,img:`${e}image`,codeblock:`${e}code-block`,caption:`${e}figure--description`,"op-macro-embedded-table":[`${e}placeholder`,`${e}embedded-table`],"op-macro-wp-button":[`${e}placeholder`,`${e}wp-button`],"op-macro-child-pages":[`${e}placeholder`,`${e}child-pages`],"op-macro-toc":[`${e}placeholder`,`${e}toc`],content:`${e}figure--content`},attributesWithCustomClassesMap:{code:`${e}code`,linkHref:`${e}link`,alignment:`${e}figure_align-`,tableAlignment:`${e}figure_align-`,todo:`${e}list_task-list`,numbered:`${e}list`,bulleted:`${e}list`,listType:null,headingColumns:null,width:null,uploadStatus:null},alignmentValuesMap:{left:"start",right:"end",center:"center",default:"center"}}}init(){this._addCustomCSSClassesToTheEditorContainer(this.editor),this._addCustomCSSClassesToElements(this.config),this._addCustomCSSClassesToAttributes(this.config)}_addCustomCSSClassesToTheEditorContainer(e){e.sourceElement.classList.add(...this.config.editorClasses)}_addCustomCSSClassesToElements(e){this.editor.model.schema.extend("table",{allowAttributes:["figureClasses"]}),this.editor.conversion.for("upcast").add((t=>t.on("element:table",this._manageTableUpcast(e))),{priority:"high"}),this.editor.conversion.for("downcast").add((t=>t.on("insert",this._manageElementsInsertion(e),{priority:"low"})))}_addCustomCSSClassesToAttributes(e){this.editor.conversion.for("downcast").add((t=>t.on("attribute",this._manageAttributesInsertion(e),{priority:"low"})))}_manageTableUpcast(e){return(t,o,n)=>{const i=n.writer,r=o.viewItem,s=o.modelRange,a=s&&s.start.nodeAfter;if(!a)return;let l=a.getAttribute("figureClasses")||[],c=r.parent.getClassNames&&r.parent.getClassNames();const d=c?[...c].filter((e=>!!e)):[];l=[...l,...d];const u=d.filter((t=>t.startsWith(e.attributesWithCustomClassesMap.alignment)))[0],h=u&&u.replace(e.attributesWithCustomClassesMap.alignment,"")||e.alignmentValuesMap.default,p=Object.keys(e.alignmentValuesMap).find((t=>e.alignmentValuesMap[t]===h));if(!u){const t=`${e.attributesWithCustomClassesMap.alignment}${h}`;l=[...l,t]}i.setAttribute("figureClasses",l,a),"center"===p?i.setAttribute("alignment",null,a):i.setAttribute("alignment",p,a)}}_manageElementsInsertion(e){return(t,o,n)=>{const i=Object.keys(e.elementsWithCustomClassesMap),r=n.writer,s=o.item.name,a=o.item,l=n.mapper.toViewElement(a);let c=[l];const d=["imageBlock","table","tableCell","tableRow","listItem"].includes(s);if(i.includes(s)&&l){if(d)if("listItem"===s)c=this._manageListItems(r,a,l,c,e);else{const t=l,o=Array.from(r.createRangeIn(l).getItems());if("imageBlock"===s){const n=o.find((e=>e.is("element","img")));this._wrapInFigureContentContainer(n,t,e,r),c=[...c,n]}else if("table"===s||"tableRow"===s){const n=o.filter((e=>i.includes(e.name)));if(c=[...c,...n],"table"===s){if(!a.getAttribute("tableAlignment")){const o=`${e.attributesWithCustomClassesMap.alignment}${e.alignmentValuesMap.default}`;r.addClass(o,t)}}}}c.forEach((t=>{const o=d?t.name:s,n=e.elementsWithCustomClassesMap[o];r.addClass(n,t)}))}}}_manageAttributesInsertion(e){return(t,o,n)=>{const i=Object.keys(e.attributesWithCustomClassesMap),r=o.attributeKey,s=n.writer,a=o.item,l=n.mapper.toViewElement(a);if(i.includes(r))if("linkHref"===r||"code"===r){const t="linkHref"===r?"a":r,i="linkHref"===r?5:10,l=s.document.selection,c=s.createAttributeElement(t,{class:e.attributesWithCustomClassesMap[r]},{priority:i});a.is("selection")?s.wrap(l.getFirstRange(),c):s.wrap(n.mapper.toViewRange(o.range),c)}else if("tableAlignment"===r){const t=l,n=e.alignmentValuesMap[o.attributeNewValue||e.alignmentValuesMap.default];Object.values(e.alignmentValuesMap).map((t=>`${e.attributesWithCustomClassesMap[r]}${t}`)).filter((e=>t.hasClass(e))).forEach((e=>s.removeClass(e,t))),t.hasStyle("float")&&s.removeStyle("float",t),s.addClass(`${e.attributesWithCustomClassesMap[r]}${n}`,t)}else if("listType"===r){this._manageListItems(s,a,l,[l],e).forEach((t=>{const o=t.name,n=e.elementsWithCustomClassesMap[o];s.addClass(n,t)}))}else if("headingColumns"===r){const t=o.attributeNewValue,n=Array.from(s.createRangeIn(l).getItems()).filter((t=>Object.keys(e.elementsWithCustomClassesMap).includes(t.name)));t?n.forEach((t=>{const o=t.name,n=e.elementsWithCustomClassesMap[o];s.addClass(n,t)})):n.filter((t=>t.hasClass(e.elementsWithCustomClassesMap.th[1]))).forEach((t=>{const o=t.nextSibling;o&&"th"!==o.name&&s.removeClass(e.elementsWithCustomClassesMap.th[1],t)}))}else if("width"===r)l.hasClass("image_resized")&&s.removeClass("image_resized",l);else if("uploadStatus"===r&&"complete"===o.attributeNewValue){let e=Array.from(s.createRangeIn(l).getItems()).find((e=>e.hasClass("ck-upload-placeholder-loader")));e&&s.remove(s.createRangeOn(e))}}}_manageListItems(e,t,o,n,i){const r=o.findAncestor("li"),s=o.findAncestor(/^(ul|ol)$/);if(!s)return n;const a=t.getAttribute("listType"),l=i.attributesWithCustomClassesMap[a];if("todo"===a)e.addClass(l,s);else{const t=i.attributesWithCustomClassesMap.todo;s.hasClass(t)&&e.removeClass(t,s)}return[...n,s,r]}_wrapInFigureContentContainer(e,t,o,n){const i=n.createContainerElement("div",{class:o.elementsWithCustomClassesMap.content});n.insert(n.createPositionAt(i,0),e),n.insert(n.createPositionAt(t,0),i)}}].concat(qM,$M);function WM(e){return function(t){const o=window.OpenProject.urlRoot+"/work_packages/auto_complete.json";let n=window.OpenProject.urlRoot+"/work_packages/";return this.config.get("disabledMentions").includes("work_package")?[]:new Promise(((i,r)=>{SD(o,{responseKind:"json",query:{q:t,scope:"all"}}).then((e=>e.json)).then((t=>{i(t.map((t=>{const o=`${e}${t.id}`;return{id:o,idNumber:t.id,type:"work_package",text:o,name:t.to_s,link:n+t.id}})))})).catch((e=>{console.error("Error fetching work package mentions:",e),r(e)}))}))}}function GM(e){const t=document.createElement("span");return"user"!==e.type&&"work_package"!==e.type||(t.setAttribute("data-hover-card-trigger-target","trigger"),t.setAttribute("data-hover-card-url",`${e.link}/hover_card`)),t.classList.add("mention-list-item"),t.textContent=e.name,t}const KM=JSON.parse('[{"id":":grinning_face:","symbol":"😀","group":"people","keywords":["face","grin","grinning face"]},{"id":":beaming_face_with_smiling_eyes:","symbol":"😁","group":"people","keywords":["beaming face with smiling eyes","eye","face","grin","smile"]},{"id":":face_with_tears_of_joy:","symbol":"😂","group":"people","keywords":["face","face with tears of joy","joy","laugh","tear"]},{"id":":rolling_on_the_floor_laughing:","symbol":"🤣","group":"people","keywords":["face","floor","laugh","rolling","rolling on the floor laughing"]},{"id":":grinning_face_with_big_eyes:","symbol":"😃","group":"people","keywords":["face","grinning face with big eyes","mouth","open","smile"]},{"id":":grinning_face_with_smiling_eyes:","symbol":"😄","group":"people","keywords":["eye","face","grinning face with smiling eyes","mouth","open","smile"]},{"id":":grinning_face_with_sweat:","symbol":"😅","group":"people","keywords":["cold","face","grinning face with sweat","open","smile","sweat"]},{"id":":grinning_squinting_face:","symbol":"😆","group":"people","keywords":["face","grinning squinting face","laugh","mouth","satisfied","smile"]},{"id":":winking_face:","symbol":"😉","group":"people","keywords":["face","wink","winking face"]},{"id":":smiling_face_with_smiling_eyes:","symbol":"😊","group":"people","keywords":["blush","eye","face","smile","smiling face with smiling eyes"]},{"id":":face_savoring_food:","symbol":"😋","group":"people","keywords":["delicious","face","face savoring food","savouring","smile","yum"]},{"id":":smiling_face_with_sunglasses:","symbol":"😎","group":"people","keywords":["bright","cool","face","smiling face with sunglasses","sun","sunglasses"]},{"id":":smiling_face_with_heart-eyes:","symbol":"😍","group":"people","keywords":["eye","face","love","smile","smiling face with heart-eyes"]},{"id":":face_blowing_a_kiss:","symbol":"😘","group":"people","keywords":["face","face blowing a kiss","kiss"]},{"id":":kissing_face:","symbol":"😗","group":"people","keywords":["face","kiss","kissing face"]},{"id":":kissing_face_with_smiling_eyes:","symbol":"😙","group":"people","keywords":["eye","face","kiss","kissing face with smiling eyes","smile"]},{"id":":kissing_face_with_closed_eyes:","symbol":"😚","group":"people","keywords":["closed","eye","face","kiss","kissing face with closed eyes"]},{"id":":smiling_face:","symbol":"☺","group":"people","keywords":["face","outlined","relaxed","smile","smiling face"]},{"id":":slightly_smiling_face:","symbol":"🙂","group":"people","keywords":["face","slightly smiling face","smile"]},{"id":":hugging_face:","symbol":"🤗","group":"people","keywords":["face","hug","hugging"]},{"id":":star-struck:","symbol":"🤩","group":"people","keywords":["eyes","face","grinning","star","star-struck",""]},{"id":":thinking_face:","symbol":"🤔","group":"people","keywords":["face","thinking"]},{"id":":face_with_raised_eyebrow:","symbol":"🤨","group":"people","keywords":["distrust","face with raised eyebrow","skeptic",""]},{"id":":neutral_face:","symbol":"😐","group":"people","keywords":["deadpan","face","neutral"]},{"id":":expressionless_face:","symbol":"😑","group":"people","keywords":["expressionless","face","inexpressive","unexpressive"]},{"id":":face_without_mouth:","symbol":"😶","group":"people","keywords":["face","face without mouth","mouth","quiet","silent"]},{"id":":face_with_rolling_eyes:","symbol":"🙄","group":"people","keywords":["eyes","face","face with rolling eyes","rolling"]},{"id":":smirking_face:","symbol":"😏","group":"people","keywords":["face","smirk","smirking face"]},{"id":":persevering_face:","symbol":"😣","group":"people","keywords":["face","persevere","persevering face"]},{"id":":sad_but_relieved_face:","symbol":"😥","group":"people","keywords":["disappointed","face","relieved","sad but relieved face","whew"]},{"id":":face_with_open_mouth:","symbol":"😮","group":"people","keywords":["face","face with open mouth","mouth","open","sympathy"]},{"id":":zipper-mouth_face:","symbol":"🤐","group":"people","keywords":["face","mouth","zipper","zipper-mouth face"]},{"id":":hushed_face:","symbol":"😯","group":"people","keywords":["face","hushed","stunned","surprised"]},{"id":":sleepy_face:","symbol":"😪","group":"people","keywords":["face","sleep","sleepy face"]},{"id":":tired_face:","symbol":"😫","group":"people","keywords":["face","tired"]},{"id":":sleeping_face:","symbol":"😴","group":"people","keywords":["face","sleep","sleeping face","zzz"]},{"id":":relieved_face:","symbol":"😌","group":"people","keywords":["face","relieved"]},{"id":":face_with_tongue:","symbol":"😛","group":"people","keywords":["face","face with tongue","tongue"]},{"id":":winking_face_with_tongue:","symbol":"😜","group":"people","keywords":["eye","face","joke","tongue","wink","winking face with tongue"]},{"id":":squinting_face_with_tongue:","symbol":"😝","group":"people","keywords":["eye","face","horrible","squinting face with tongue","taste","tongue"]},{"id":":drooling_face:","symbol":"🤤","group":"people","keywords":["drooling","face"]},{"id":":unamused_face:","symbol":"😒","group":"people","keywords":["face","unamused","unhappy"]},{"id":":downcast_face_with_sweat:","symbol":"😓","group":"people","keywords":["cold","downcast face with sweat","face","sweat"]},{"id":":pensive_face:","symbol":"😔","group":"people","keywords":["dejected","face","pensive"]},{"id":":confused_face:","symbol":"😕","group":"people","keywords":["confused","face"]},{"id":":upside-down_face:","symbol":"🙃","group":"people","keywords":["face","upside-down"]},{"id":":money-mouth_face:","symbol":"🤑","group":"people","keywords":["face","money","money-mouth face","mouth"]},{"id":":astonished_face:","symbol":"😲","group":"people","keywords":["astonished","face","shocked","totally"]},{"id":":frowning_face:","symbol":"☹","group":"people","keywords":["face","frown","frowning face"]},{"id":":slightly_frowning_face:","symbol":"🙁","group":"people","keywords":["face","frown","slightly frowning face"]},{"id":":confounded_face:","symbol":"😖","group":"people","keywords":["confounded","face"]},{"id":":disappointed_face:","symbol":"😞","group":"people","keywords":["disappointed","face"]},{"id":":worried_face:","symbol":"😟","group":"people","keywords":["face","worried"]},{"id":":face_with_steam_from_nose:","symbol":"😤","group":"people","keywords":["face","face with steam from nose","triumph","won"]},{"id":":crying_face:","symbol":"😢","group":"people","keywords":["cry","crying face","face","sad","tear"]},{"id":":loudly_crying_face:","symbol":"😭","group":"people","keywords":["cry","face","loudly crying face","sad","sob","tear"]},{"id":":frowning_face_with_open_mouth:","symbol":"😦","group":"people","keywords":["face","frown","frowning face with open mouth","mouth","open"]},{"id":":anguished_face:","symbol":"😧","group":"people","keywords":["anguished","face"]},{"id":":fearful_face:","symbol":"😨","group":"people","keywords":["face","fear","fearful","scared"]},{"id":":weary_face:","symbol":"😩","group":"people","keywords":["face","tired","weary"]},{"id":":exploding_head:","symbol":"🤯","group":"people","keywords":["exploding head","shocked"]},{"id":":grimacing_face:","symbol":"😬","group":"people","keywords":["face","grimace","grimacing face"]},{"id":":anxious_face_with_sweat:","symbol":"😰","group":"people","keywords":["anxious face with sweat","blue","cold","face","rushed","sweat"]},{"id":":face_screaming_in_fear:","symbol":"😱","group":"people","keywords":["face","face screaming in fear","fear","munch","scared","scream"]},{"id":":flushed_face:","symbol":"😳","group":"people","keywords":["dazed","face","flushed"]},{"id":":zany_face:","symbol":"🤪","group":"people","keywords":["eye","goofy","large","small","zany face"]},{"id":":dizzy_face:","symbol":"😵","group":"people","keywords":["dizzy","face"]},{"id":":pouting_face:","symbol":"😡","group":"people","keywords":["angry","face","mad","pouting","rage","red"]},{"id":":angry_face:","symbol":"😠","group":"people","keywords":["angry","face","mad"]},{"id":":face_with_symbols_on_mouth:","symbol":"🤬","group":"people","keywords":["face with symbols on mouth","swearing",""]},{"id":":face_with_medical_mask:","symbol":"😷","group":"people","keywords":["cold","doctor","face","face with medical mask","mask","sick"]},{"id":":face_with_thermometer:","symbol":"🤒","group":"people","keywords":["face","face with thermometer","ill","sick","thermometer"]},{"id":":face_with_head-bandage:","symbol":"🤕","group":"people","keywords":["bandage","face","face with head-bandage","hurt","injury"]},{"id":":nauseated_face:","symbol":"🤢","group":"people","keywords":["face","nauseated","vomit"]},{"id":":face_vomiting:","symbol":"🤮","group":"people","keywords":["face vomiting","sick","vomit"]},{"id":":sneezing_face:","symbol":"🤧","group":"people","keywords":["face","gesundheit","sneeze","sneezing face"]},{"id":":smiling_face_with_halo:","symbol":"😇","group":"people","keywords":["angel","face","fantasy","halo","innocent","smiling face with halo"]},{"id":":cowboy_hat_face:","symbol":"🤠","group":"people","keywords":["cowboy","cowgirl","face","hat"]},{"id":":lying_face:","symbol":"🤥","group":"people","keywords":["face","lie","lying face","pinocchio"]},{"id":":shushing_face:","symbol":"🤫","group":"people","keywords":["quiet","shush","shushing face"]},{"id":":face_with_hand_over_mouth:","symbol":"🤭","group":"people","keywords":["face with hand over mouth","whoops",""]},{"id":":face_with_monocle:","symbol":"🧐","group":"people","keywords":["face with monocle","stuffy",""]},{"id":":nerd_face:","symbol":"🤓","group":"people","keywords":["face","geek","nerd"]},{"id":":smiling_face_with_horns:","symbol":"😈","group":"people","keywords":["face","fairy tale","fantasy","horns","smile","smiling face with horns"]},{"id":":angry_face_with_horns:","symbol":"👿","group":"people","keywords":["angry face with horns","demon","devil","face","fantasy","imp"]},{"id":":clown_face:","symbol":"🤡","group":"people","keywords":["clown","face"]},{"id":":ogre:","symbol":"👹","group":"people","keywords":["creature","face","fairy tale","fantasy","monster","ogre",""]},{"id":":goblin:","symbol":"👺","group":"people","keywords":["creature","face","fairy tale","fantasy","goblin","monster"]},{"id":":skull:","symbol":"💀","group":"people","keywords":["death","face","fairy tale","monster","skull"]},{"id":":skull_and_crossbones:","symbol":"☠","group":"people","keywords":["crossbones","death","face","monster","skull","skull and crossbones"]},{"id":":ghost:","symbol":"👻","group":"people","keywords":["creature","face","fairy tale","fantasy","ghost","monster"]},{"id":":alien:","symbol":"👽","group":"people","keywords":["alien","creature","extraterrestrial","face","fantasy","ufo"]},{"id":":alien_monster:","symbol":"👾","group":"people","keywords":["alien","creature","extraterrestrial","face","monster","ufo"]},{"id":":robot_face:","symbol":"🤖","group":"people","keywords":["face","monster","robot"]},{"id":":pile_of_poo:","symbol":"💩","group":"people","keywords":["dung","face","monster","pile of poo","poo","poop"]},{"id":":grinning_cat_face:","symbol":"😺","group":"people","keywords":["cat","face","grinning cat face","mouth","open","smile"]},{"id":":grinning_cat_face_with_smiling_eyes:","symbol":"😸","group":"people","keywords":["cat","eye","face","grin","grinning cat face with smiling eyes","smile"]},{"id":":cat_face_with_tears_of_joy:","symbol":"😹","group":"people","keywords":["cat","cat face with tears of joy","face","joy","tear"]},{"id":":smiling_cat_face_with_heart-eyes:","symbol":"😻","group":"people","keywords":["cat","eye","face","love","smile","smiling cat face with heart-eyes"]},{"id":":cat_face_with_wry_smile:","symbol":"😼","group":"people","keywords":["cat","cat face with wry smile","face","ironic","smile","wry"]},{"id":":kissing_cat_face:","symbol":"😽","group":"people","keywords":["cat","eye","face","kiss","kissing cat face"]},{"id":":weary_cat_face:","symbol":"🙀","group":"people","keywords":["cat","face","oh","surprised","weary"]},{"id":":crying_cat_face:","symbol":"😿","group":"people","keywords":["cat","cry","crying cat face","face","sad","tear"]},{"id":":pouting_cat_face:","symbol":"😾","group":"people","keywords":["cat","face","pouting"]},{"id":":see-no-evil_monkey:","symbol":"🙈","group":"people","keywords":["evil","face","forbidden","monkey","see","see-no-evil monkey"]},{"id":":hear-no-evil_monkey:","symbol":"🙉","group":"people","keywords":["evil","face","forbidden","hear","hear-no-evil monkey","monkey"]},{"id":":speak-no-evil_monkey:","symbol":"🙊","group":"people","keywords":["evil","face","forbidden","monkey","speak","speak-no-evil monkey"]},{"id":":baby:","symbol":"👶","group":"people","keywords":["baby","young"]},{"id":":child:","symbol":"🧒","group":"people","keywords":["child","gender-neutral","unspecified gender","young"]},{"id":":boy:","symbol":"👦","group":"people","keywords":["boy","young"]},{"id":":girl:","symbol":"👧","group":"people","keywords":["girl","Virgo","young","zodiac"]},{"id":":person:","symbol":"🧑","group":"people","keywords":["adult","gender-neutral","person","unspecified gender"]},{"id":":person_blond_hair:","symbol":"👱","group":"people","keywords":["blond","blond-haired person","person: blond hair"]},{"id":":man:","symbol":"👨","group":"people","keywords":["adult","man"]},{"id":":man_blond_hair:","symbol":"👱‍♂️","group":"people","keywords":["blond","blond-haired man","man","man: blond hair"]},{"id":":man_beard:","symbol":"🧔","group":"people","keywords":["beard","man: beard","person",""]},{"id":":woman:","symbol":"👩","group":"people","keywords":["adult","woman"]},{"id":":woman_blond_hair:","symbol":"👱‍♀️","group":"people","keywords":["blond-haired woman","blonde","woman","woman: blond hair"]},{"id":":older_person:","symbol":"🧓","group":"people","keywords":["adult","gender-neutral","old","older person","unspecified gender"]},{"id":":old_man:","symbol":"👴","group":"people","keywords":["adult","man","old"]},{"id":":old_woman:","symbol":"👵","group":"people","keywords":["adult","old","woman"]},{"id":":man_health_worker:","symbol":"👨‍⚕️","group":"people","keywords":["doctor","healthcare","man","man health worker","nurse","therapist"]},{"id":":woman_health_worker:","symbol":"👩‍⚕️","group":"people","keywords":["doctor","healthcare","nurse","therapist","woman","woman health worker"]},{"id":":man_student:","symbol":"👨‍🎓","group":"people","keywords":["graduate","man","student"]},{"id":":woman_student:","symbol":"👩‍🎓","group":"people","keywords":["graduate","student","woman"]},{"id":":man_teacher:","symbol":"👨‍🏫","group":"people","keywords":["instructor","man","professor","teacher"]},{"id":":woman_teacher:","symbol":"👩‍🏫","group":"people","keywords":["instructor","professor","teacher","woman"]},{"id":":man_judge:","symbol":"👨‍⚖️","group":"people","keywords":["justice","man","man judge","scales"]},{"id":":woman_judge:","symbol":"👩‍⚖️","group":"people","keywords":["judge","scales","woman"]},{"id":":man_farmer:","symbol":"👨‍🌾","group":"people","keywords":["farmer","gardener","man","rancher"]},{"id":":woman_farmer:","symbol":"👩‍🌾","group":"people","keywords":["farmer","gardener","rancher","woman"]},{"id":":man_cook:","symbol":"👨‍🍳","group":"people","keywords":["chef","cook","man"]},{"id":":woman_cook:","symbol":"👩‍🍳","group":"people","keywords":["chef","cook","woman"]},{"id":":man_mechanic:","symbol":"👨‍🔧","group":"people","keywords":["electrician","man","mechanic","plumber","tradesperson"]},{"id":":woman_mechanic:","symbol":"👩‍🔧","group":"people","keywords":["electrician","mechanic","plumber","tradesperson","woman"]},{"id":":man_factory_worker:","symbol":"👨‍🏭","group":"people","keywords":["assembly","factory","industrial","man","worker"]},{"id":":woman_factory_worker:","symbol":"👩‍🏭","group":"people","keywords":["assembly","factory","industrial","woman","worker"]},{"id":":man_office_worker:","symbol":"👨‍💼","group":"people","keywords":["architect","business","man","man office worker","manager","white-collar"]},{"id":":woman_office_worker:","symbol":"👩‍💼","group":"people","keywords":["architect","business","manager","white-collar","woman","woman office worker"]},{"id":":man_scientist:","symbol":"👨‍🔬","group":"people","keywords":["biologist","chemist","engineer","man","physicist","scientist"]},{"id":":woman_scientist:","symbol":"👩‍🔬","group":"people","keywords":["biologist","chemist","engineer","physicist","scientist","woman"]},{"id":":man_technologist:","symbol":"👨‍💻","group":"people","keywords":["coder","developer","inventor","man","software","technologist"]},{"id":":woman_technologist:","symbol":"👩‍💻","group":"people","keywords":["coder","developer","inventor","software","technologist","woman"]},{"id":":man_singer:","symbol":"👨‍🎤","group":"people","keywords":["actor","entertainer","man","rock","singer","star"]},{"id":":woman_singer:","symbol":"👩‍🎤","group":"people","keywords":["actor","entertainer","rock","singer","star","woman"]},{"id":":man_artist:","symbol":"👨‍🎨","group":"people","keywords":["artist","man","palette"]},{"id":":woman_artist:","symbol":"👩‍🎨","group":"people","keywords":["artist","palette","woman"]},{"id":":man_pilot:","symbol":"👨‍✈️","group":"people","keywords":["man","pilot","plane"]},{"id":":woman_pilot:","symbol":"👩‍✈️","group":"people","keywords":["pilot","plane","woman"]},{"id":":man_astronaut:","symbol":"👨‍🚀","group":"people","keywords":["astronaut","man","rocket"]},{"id":":woman_astronaut:","symbol":"👩‍🚀","group":"people","keywords":["astronaut","rocket","woman"]},{"id":":man_firefighter:","symbol":"👨‍🚒","group":"people","keywords":["firefighter","firetruck","man"]},{"id":":woman_firefighter:","symbol":"👩‍🚒","group":"people","keywords":["firefighter","firetruck","woman"]},{"id":":police_officer:","symbol":"👮","group":"people","keywords":["cop","officer","police"]},{"id":":man_police_officer:","symbol":"👮‍♂️","group":"people","keywords":["cop","man","officer","police"]},{"id":":woman_police_officer:","symbol":"👮‍♀️","group":"people","keywords":["cop","officer","police","woman"]},{"id":":detective:","symbol":"🕵","group":"people","keywords":["detective","sleuth","spy"]},{"id":":man_detective:","symbol":"🕵️‍♂️","group":"people","keywords":["detective","man","sleuth","spy"]},{"id":":woman_detective:","symbol":"🕵️‍♀️","group":"people","keywords":["detective","sleuth","spy","woman"]},{"id":":guard:","symbol":"💂","group":"people","keywords":["guard"]},{"id":":man_guard:","symbol":"💂‍♂️","group":"people","keywords":["guard","man"]},{"id":":woman_guard:","symbol":"💂‍♀️","group":"people","keywords":["guard","woman"]},{"id":":construction_worker:","symbol":"👷","group":"people","keywords":["construction","hat","worker"]},{"id":":man_construction_worker:","symbol":"👷‍♂️","group":"people","keywords":["construction","man","worker"]},{"id":":woman_construction_worker:","symbol":"👷‍♀️","group":"people","keywords":["construction","woman","worker"]},{"id":":prince:","symbol":"🤴","group":"people","keywords":["prince"]},{"id":":princess:","symbol":"👸","group":"people","keywords":["fairy tale","fantasy","princess"]},{"id":":person_wearing_turban:","symbol":"👳","group":"people","keywords":["person wearing turban","turban"]},{"id":":man_wearing_turban:","symbol":"👳‍♂️","group":"people","keywords":["man","man wearing turban","turban"]},{"id":":woman_wearing_turban:","symbol":"👳‍♀️","group":"people","keywords":["turban","woman","woman wearing turban"]},{"id":":man_with_chinese_cap:","symbol":"👲","group":"people","keywords":["gua pi mao","hat","man","man with Chinese cap"]},{"id":":woman_with_headscarf:","symbol":"🧕","group":"people","keywords":["headscarf","hijab","mantilla","tichel","woman with headscarf",""]},{"id":":man_in_tuxedo:","symbol":"🤵","group":"people","keywords":["groom","man","man in tuxedo","tuxedo"]},{"id":":bride_with_veil:","symbol":"👰","group":"people","keywords":["bride","bride with veil","veil","wedding"]},{"id":":pregnant_woman:","symbol":"🤰","group":"people","keywords":["pregnant","woman"]},{"id":":breast-feeding:","symbol":"🤱","group":"people","keywords":["baby","breast","breast-feeding","nursing"]},{"id":":baby_angel:","symbol":"👼","group":"people","keywords":["angel","baby","face","fairy tale","fantasy"]},{"id":":santa_claus:","symbol":"🎅","group":"people","keywords":["celebration","Christmas","claus","father","santa","Santa Claus"]},{"id":":mrs._claus:","symbol":"🤶","group":"people","keywords":["celebration","Christmas","claus","mother","Mrs.","Mrs. Claus"]},{"id":":mage:","symbol":"🧙","group":"people","keywords":["mage","sorcerer","sorceress","witch","wizard"]},{"id":":man_mage:","symbol":"🧙‍♂️","group":"people","keywords":["man mage","sorcerer","wizard"]},{"id":":woman_mage:","symbol":"🧙‍♀️","group":"people","keywords":["sorceress","witch","woman mage"]},{"id":":fairy:","symbol":"🧚","group":"people","keywords":["fairy","Oberon","Puck","Titania"]},{"id":":man_fairy:","symbol":"🧚‍♂️","group":"people","keywords":["man fairy","Oberon","Puck"]},{"id":":woman_fairy:","symbol":"🧚‍♀️","group":"people","keywords":["Titania","woman fairy"]},{"id":":vampire:","symbol":"🧛","group":"people","keywords":["Dracula","undead","vampire"]},{"id":":man_vampire:","symbol":"🧛‍♂️","group":"people","keywords":["Dracula","man vampire","undead"]},{"id":":woman_vampire:","symbol":"🧛‍♀️","group":"people","keywords":["undead","woman vampire"]},{"id":":merperson:","symbol":"🧜","group":"people","keywords":["mermaid","merman","merperson","merwoman"]},{"id":":merman:","symbol":"🧜‍♂️","group":"people","keywords":["merman","Triton"]},{"id":":mermaid:","symbol":"🧜‍♀️","group":"people","keywords":["mermaid","merwoman"]},{"id":":elf:","symbol":"🧝","group":"people","keywords":["elf","magical",""]},{"id":":man_elf:","symbol":"🧝‍♂️","group":"people","keywords":["magical","man elf"]},{"id":":woman_elf:","symbol":"🧝‍♀️","group":"people","keywords":["magical","woman elf"]},{"id":":genie:","symbol":"🧞","group":"people","keywords":["djinn","genie",""]},{"id":":man_genie:","symbol":"🧞‍♂️","group":"people","keywords":["djinn","man genie"]},{"id":":woman_genie:","symbol":"🧞‍♀️","group":"people","keywords":["djinn","woman genie"]},{"id":":zombie:","symbol":"🧟","group":"people","keywords":["undead","walking dead","zombie",""]},{"id":":man_zombie:","symbol":"🧟‍♂️","group":"people","keywords":["man zombie","undead","walking dead"]},{"id":":woman_zombie:","symbol":"🧟‍♀️","group":"people","keywords":["undead","walking dead","woman zombie"]},{"id":":person_frowning:","symbol":"🙍","group":"people","keywords":["frown","gesture","person frowning"]},{"id":":man_frowning:","symbol":"🙍‍♂️","group":"people","keywords":["frowning","gesture","man"]},{"id":":woman_frowning:","symbol":"🙍‍♀️","group":"people","keywords":["frowning","gesture","woman"]},{"id":":person_pouting:","symbol":"🙎","group":"people","keywords":["gesture","person pouting","pouting"]},{"id":":man_pouting:","symbol":"🙎‍♂️","group":"people","keywords":["gesture","man","pouting"]},{"id":":woman_pouting:","symbol":"🙎‍♀️","group":"people","keywords":["gesture","pouting","woman"]},{"id":":person_gesturing_no:","symbol":"🙅","group":"people","keywords":["forbidden","gesture","hand","person gesturing NO","prohibited"]},{"id":":man_gesturing_no:","symbol":"🙅‍♂️","group":"people","keywords":["forbidden","gesture","hand","man","man gesturing NO","prohibited"]},{"id":":woman_gesturing_no:","symbol":"🙅‍♀️","group":"people","keywords":["forbidden","gesture","hand","prohibited","woman","woman gesturing NO"]},{"id":":person_gesturing_ok:","symbol":"🙆","group":"people","keywords":["gesture","hand","OK","person gesturing OK"]},{"id":":man_gesturing_ok:","symbol":"🙆‍♂️","group":"people","keywords":["gesture","hand","man","man gesturing OK","OK"]},{"id":":woman_gesturing_ok:","symbol":"🙆‍♀️","group":"people","keywords":["gesture","hand","OK","woman","woman gesturing OK"]},{"id":":person_tipping_hand:","symbol":"💁","group":"people","keywords":["hand","help","information","person tipping hand","sassy","tipping"]},{"id":":man_tipping_hand:","symbol":"💁‍♂️","group":"people","keywords":["man","man tipping hand","sassy","tipping hand"]},{"id":":woman_tipping_hand:","symbol":"💁‍♀️","group":"people","keywords":["sassy","tipping hand","woman","woman tipping hand"]},{"id":":person_raising_hand:","symbol":"🙋","group":"people","keywords":["gesture","hand","happy","person raising hand","raised"]},{"id":":man_raising_hand:","symbol":"🙋‍♂️","group":"people","keywords":["gesture","man","man raising hand","raising hand"]},{"id":":woman_raising_hand:","symbol":"🙋‍♀️","group":"people","keywords":["gesture","raising hand","woman","woman raising hand"]},{"id":":person_bowing:","symbol":"🙇","group":"people","keywords":["apology","bow","gesture","person bowing","sorry"]},{"id":":man_bowing:","symbol":"🙇‍♂️","group":"people","keywords":["apology","bowing","favor","gesture","man","sorry"]},{"id":":woman_bowing:","symbol":"🙇‍♀️","group":"people","keywords":["apology","bowing","favor","gesture","sorry","woman"]},{"id":":person_facepalming:","symbol":"🤦","group":"people","keywords":["disbelief","exasperation","face","palm","person facepalming"]},{"id":":man_facepalming:","symbol":"🤦‍♂️","group":"people","keywords":["disbelief","exasperation","facepalm","man","man facepalming"]},{"id":":woman_facepalming:","symbol":"🤦‍♀️","group":"people","keywords":["disbelief","exasperation","facepalm","woman","woman facepalming"]},{"id":":person_shrugging:","symbol":"🤷","group":"people","keywords":["doubt","ignorance","indifference","person shrugging","shrug"]},{"id":":man_shrugging:","symbol":"🤷‍♂️","group":"people","keywords":["doubt","ignorance","indifference","man","man shrugging","shrug"]},{"id":":woman_shrugging:","symbol":"🤷‍♀️","group":"people","keywords":["doubt","ignorance","indifference","shrug","woman","woman shrugging"]},{"id":":person_getting_massage:","symbol":"💆","group":"people","keywords":["face","massage","person getting massage","salon"]},{"id":":man_getting_massage:","symbol":"💆‍♂️","group":"people","keywords":["face","man","man getting massage","massage"]},{"id":":woman_getting_massage:","symbol":"💆‍♀️","group":"people","keywords":["face","massage","woman","woman getting massage"]},{"id":":person_getting_haircut:","symbol":"💇","group":"people","keywords":["barber","beauty","haircut","parlor","person getting haircut"]},{"id":":man_getting_haircut:","symbol":"💇‍♂️","group":"people","keywords":["haircut","man","man getting haircut"]},{"id":":woman_getting_haircut:","symbol":"💇‍♀️","group":"people","keywords":["haircut","woman","woman getting haircut"]},{"id":":person_walking:","symbol":"🚶","group":"people","keywords":["hike","person walking","walk","walking"]},{"id":":man_walking:","symbol":"🚶‍♂️","group":"people","keywords":["hike","man","man walking","walk"]},{"id":":woman_walking:","symbol":"🚶‍♀️","group":"people","keywords":["hike","walk","woman","woman walking"]},{"id":":person_running:","symbol":"🏃","group":"people","keywords":["marathon","person running","running"]},{"id":":man_running:","symbol":"🏃‍♂️","group":"people","keywords":["man","marathon","racing","running"]},{"id":":woman_running:","symbol":"🏃‍♀️","group":"people","keywords":["marathon","racing","running","woman"]},{"id":":woman_dancing:","symbol":"💃","group":"people","keywords":["dancing","woman"]},{"id":":man_dancing:","symbol":"🕺","group":"people","keywords":["dance","man","man dancing"]},{"id":":people_with_bunny_ears:","symbol":"👯","group":"people","keywords":["bunny ear","dancer","partying","people with bunny ears"]},{"id":":men_with_bunny_ears:","symbol":"👯‍♂️","group":"people","keywords":["bunny ear","dancer","men","men with bunny ears","partying"]},{"id":":women_with_bunny_ears:","symbol":"👯‍♀️","group":"people","keywords":["bunny ear","dancer","partying","women","women with bunny ears"]},{"id":":person_in_steamy_room:","symbol":"🧖","group":"people","keywords":["person in steamy room","sauna","steam room",""]},{"id":":man_in_steamy_room:","symbol":"🧖‍♂️","group":"people","keywords":["man in steamy room","sauna","steam room"]},{"id":":woman_in_steamy_room:","symbol":"🧖‍♀️","group":"people","keywords":["sauna","steam room","woman in steamy room"]},{"id":":person_climbing:","symbol":"🧗","group":"people","keywords":["climber","person climbing"]},{"id":":man_climbing:","symbol":"🧗‍♂️","group":"people","keywords":["climber","man climbing"]},{"id":":woman_climbing:","symbol":"🧗‍♀️","group":"people","keywords":["climber","woman climbing"]},{"id":":person_in_lotus_position:","symbol":"🧘","group":"people","keywords":["meditation","person in lotus position","yoga",""]},{"id":":man_in_lotus_position:","symbol":"🧘‍♂️","group":"people","keywords":["man in lotus position","meditation","yoga"]},{"id":":woman_in_lotus_position:","symbol":"🧘‍♀️","group":"people","keywords":["meditation","woman in lotus position","yoga"]},{"id":":person_taking_bath:","symbol":"🛀","group":"people","keywords":["bath","bathtub","person taking bath"]},{"id":":person_in_bed:","symbol":"🛌","group":"people","keywords":["hotel","person in bed","sleep"]},{"id":":man_in_suit_levitating:","symbol":"🕴","group":"people","keywords":["business","man","man in suit levitating","suit"]},{"id":":speaking_head:","symbol":"🗣","group":"people","keywords":["face","head","silhouette","speak","speaking"]},{"id":":bust_in_silhouette:","symbol":"👤","group":"people","keywords":["bust","bust in silhouette","silhouette"]},{"id":":busts_in_silhouette:","symbol":"👥","group":"people","keywords":["bust","busts in silhouette","silhouette"]},{"id":":person_fencing:","symbol":"🤺","group":"people","keywords":["fencer","fencing","person fencing","sword"]},{"id":":horse_racing:","symbol":"🏇","group":"people","keywords":["horse","jockey","racehorse","racing"]},{"id":":skier:","symbol":"⛷","group":"people","keywords":["ski","skier","snow"]},{"id":":snowboarder:","symbol":"🏂","group":"people","keywords":["ski","snow","snowboard","snowboarder"]},{"id":":person_golfing:","symbol":"🏌","group":"people","keywords":["ball","golf","person golfing"]},{"id":":man_golfing:","symbol":"🏌️‍♂️","group":"people","keywords":["golf","man","man golfing"]},{"id":":woman_golfing:","symbol":"🏌️‍♀️","group":"people","keywords":["golf","woman","woman golfing"]},{"id":":person_surfing:","symbol":"🏄","group":"people","keywords":["person surfing","surfing"]},{"id":":man_surfing:","symbol":"🏄‍♂️","group":"people","keywords":["man","surfing"]},{"id":":woman_surfing:","symbol":"🏄‍♀️","group":"people","keywords":["surfing","woman"]},{"id":":person_rowing_boat:","symbol":"🚣","group":"people","keywords":["boat","person rowing boat","rowboat"]},{"id":":man_rowing_boat:","symbol":"🚣‍♂️","group":"people","keywords":["boat","man","man rowing boat","rowboat"]},{"id":":woman_rowing_boat:","symbol":"🚣‍♀️","group":"people","keywords":["boat","rowboat","woman","woman rowing boat"]},{"id":":person_swimming:","symbol":"🏊","group":"people","keywords":["person swimming","swim"]},{"id":":man_swimming:","symbol":"🏊‍♂️","group":"people","keywords":["man","man swimming","swim"]},{"id":":woman_swimming:","symbol":"🏊‍♀️","group":"people","keywords":["swim","woman","woman swimming"]},{"id":":person_bouncing_ball:","symbol":"⛹","group":"people","keywords":["ball","person bouncing ball"]},{"id":":man_bouncing_ball:","symbol":"⛹️‍♂️","group":"people","keywords":["ball","man","man bouncing ball"]},{"id":":woman_bouncing_ball:","symbol":"⛹️‍♀️","group":"people","keywords":["ball","woman","woman bouncing ball"]},{"id":":person_lifting_weights:","symbol":"🏋","group":"people","keywords":["lifter","person lifting weights","weight"]},{"id":":man_lifting_weights:","symbol":"🏋️‍♂️","group":"people","keywords":["man","man lifting weights","weight lifter"]},{"id":":woman_lifting_weights:","symbol":"🏋️‍♀️","group":"people","keywords":["weight lifter","woman","woman lifting weights"]},{"id":":person_biking:","symbol":"🚴","group":"people","keywords":["bicycle","biking","cyclist","person biking"]},{"id":":man_biking:","symbol":"🚴‍♂️","group":"people","keywords":["bicycle","biking","cyclist","man"]},{"id":":woman_biking:","symbol":"🚴‍♀️","group":"people","keywords":["bicycle","biking","cyclist","woman"]},{"id":":person_mountain_biking:","symbol":"🚵","group":"people","keywords":["bicycle","bicyclist","bike","cyclist","mountain","person mountain biking"]},{"id":":man_mountain_biking:","symbol":"🚵‍♂️","group":"people","keywords":["bicycle","bike","cyclist","man","man mountain biking","mountain"]},{"id":":woman_mountain_biking:","symbol":"🚵‍♀️","group":"people","keywords":["bicycle","bike","biking","cyclist","mountain","woman"]},{"id":":racing_car:","symbol":"🏎","group":"people","keywords":["car","racing"]},{"id":":motorcycle:","symbol":"🏍","group":"people","keywords":["motorcycle","racing"]},{"id":":person_cartwheeling:","symbol":"🤸","group":"people","keywords":["cartwheel","gymnastics","person cartwheeling"]},{"id":":man_cartwheeling:","symbol":"🤸‍♂️","group":"people","keywords":["cartwheel","gymnastics","man","man cartwheeling"]},{"id":":woman_cartwheeling:","symbol":"🤸‍♀️","group":"people","keywords":["cartwheel","gymnastics","woman","woman cartwheeling"]},{"id":":people_wrestling:","symbol":"🤼","group":"people","keywords":["people wrestling","wrestle","wrestler"]},{"id":":men_wrestling:","symbol":"🤼‍♂️","group":"people","keywords":["men","men wrestling","wrestle"]},{"id":":women_wrestling:","symbol":"🤼‍♀️","group":"people","keywords":["women","women wrestling","wrestle"]},{"id":":person_playing_water_polo:","symbol":"🤽","group":"people","keywords":["person playing water polo","polo","water"]},{"id":":man_playing_water_polo:","symbol":"🤽‍♂️","group":"people","keywords":["man","man playing water polo","water polo"]},{"id":":woman_playing_water_polo:","symbol":"🤽‍♀️","group":"people","keywords":["water polo","woman","woman playing water polo"]},{"id":":person_playing_handball:","symbol":"🤾","group":"people","keywords":["ball","handball","person playing handball"]},{"id":":man_playing_handball:","symbol":"🤾‍♂️","group":"people","keywords":["handball","man","man playing handball"]},{"id":":woman_playing_handball:","symbol":"🤾‍♀️","group":"people","keywords":["handball","woman","woman playing handball"]},{"id":":person_juggling:","symbol":"🤹","group":"people","keywords":["balance","juggle","multitask","person juggling","skill"]},{"id":":man_juggling:","symbol":"🤹‍♂️","group":"people","keywords":["juggling","man","multitask"]},{"id":":woman_juggling:","symbol":"🤹‍♀️","group":"people","keywords":["juggling","multitask","woman"]},{"id":":man_and_woman_holding_hands:","symbol":"👫","group":"people","keywords":["couple","hand","hold","man","man and woman holding hands","woman"]},{"id":":two_men_holding_hands:","symbol":"👬","group":"people","keywords":["couple","Gemini","man","twins","two men holding hands","zodiac"]},{"id":":two_women_holding_hands:","symbol":"👭","group":"people","keywords":["couple","hand","two women holding hands","woman"]},{"id":":kiss:","symbol":"💏","group":"people","keywords":["couple","kiss"]},{"id":":kiss_woman_man:","symbol":"👩‍❤️‍💋‍👨","group":"people","keywords":["couple","kiss","man","woman"]},{"id":":kiss_man_man:","symbol":"👨‍❤️‍💋‍👨","group":"people","keywords":["couple","kiss","man"]},{"id":":kiss_woman_woman:","symbol":"👩‍❤️‍💋‍👩","group":"people","keywords":["couple","kiss","woman"]},{"id":":couple_with_heart:","symbol":"💑","group":"people","keywords":["couple","couple with heart","love"]},{"id":":couple_with_heart_woman_man:","symbol":"👩‍❤️‍👨","group":"people","keywords":["couple","couple with heart","love","man","woman"]},{"id":":couple_with_heart_man_man:","symbol":"👨‍❤️‍👨","group":"people","keywords":["couple","couple with heart","love","man"]},{"id":":couple_with_heart_woman_woman:","symbol":"👩‍❤️‍👩","group":"people","keywords":["couple","couple with heart","love","woman"]},{"id":":family:","symbol":"👪","group":"people","keywords":["family"]},{"id":":family_man_woman_boy:","symbol":"👨‍👩‍👦","group":"people","keywords":["boy","family","man","woman"]},{"id":":family_man_woman_girl:","symbol":"👨‍👩‍👧","group":"people","keywords":["family","girl","man","woman"]},{"id":":family_man_woman_girl_boy:","symbol":"👨‍👩‍👧‍👦","group":"people","keywords":["boy","family","girl","man","woman"]},{"id":":family_man_woman_boy_boy:","symbol":"👨‍👩‍👦‍👦","group":"people","keywords":["boy","family","man","woman"]},{"id":":family_man_woman_girl_girl:","symbol":"👨‍👩‍👧‍👧","group":"people","keywords":["family","girl","man","woman"]},{"id":":family_man_man_boy:","symbol":"👨‍👨‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_man_girl:","symbol":"👨‍👨‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_man_man_girl_boy:","symbol":"👨‍👨‍👧‍👦","group":"people","keywords":["boy","family","girl","man"]},{"id":":family_man_man_boy_boy:","symbol":"👨‍👨‍👦‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_man_girl_girl:","symbol":"👨‍👨‍👧‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_woman_woman_boy:","symbol":"👩‍👩‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_woman_girl:","symbol":"👩‍👩‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":family_woman_woman_girl_boy:","symbol":"👩‍👩‍👧‍👦","group":"people","keywords":["boy","family","girl","woman"]},{"id":":family_woman_woman_boy_boy:","symbol":"👩‍👩‍👦‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_woman_girl_girl:","symbol":"👩‍👩‍👧‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":family_man_boy:","symbol":"👨‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_boy_boy:","symbol":"👨‍👦‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_girl:","symbol":"👨‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_man_girl_boy:","symbol":"👨‍👧‍👦","group":"people","keywords":["boy","family","girl","man"]},{"id":":family_man_girl_girl:","symbol":"👨‍👧‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_woman_boy:","symbol":"👩‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_boy_boy:","symbol":"👩‍👦‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_girl:","symbol":"👩‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":family_woman_girl_boy:","symbol":"👩‍👧‍👦","group":"people","keywords":["boy","family","girl","woman"]},{"id":":family_woman_girl_girl:","symbol":"👩‍👧‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":selfie:","symbol":"🤳","group":"people","keywords":["camera","phone","selfie"]},{"id":":flexed_biceps:","symbol":"💪","group":"people","keywords":["biceps","comic","flex","flexed biceps","muscle"]},{"id":":backhand_index_pointing_left:","symbol":"👈","group":"people","keywords":["backhand","backhand index pointing left","finger","hand","index","point"]},{"id":":backhand_index_pointing_right:","symbol":"👉","group":"people","keywords":["backhand","backhand index pointing right","finger","hand","index","point"]},{"id":":index_pointing_up:","symbol":"☝","group":"people","keywords":["finger","hand","index","index pointing up","point","up"]},{"id":":backhand_index_pointing_up:","symbol":"👆","group":"people","keywords":["backhand","backhand index pointing up","finger","hand","point","up"]},{"id":":middle_finger:","symbol":"🖕","group":"people","keywords":["finger","hand","middle finger"]},{"id":":backhand_index_pointing_down:","symbol":"👇","group":"people","keywords":["backhand","backhand index pointing down","down","finger","hand","point"]},{"id":":victory_hand:","symbol":"✌","group":"people","keywords":["hand","v","victory"]},{"id":":crossed_fingers:","symbol":"🤞","group":"people","keywords":["cross","crossed fingers","finger","hand","luck"]},{"id":":vulcan_salute:","symbol":"🖖","group":"people","keywords":["finger","hand","spock","vulcan","vulcan salute"]},{"id":":sign_of_the_horns:","symbol":"🤘","group":"people","keywords":["finger","hand","horns","rock-on","sign of the horns"]},{"id":":call_me_hand:","symbol":"🤙","group":"people","keywords":["call","call me hand","hand"]},{"id":":hand_with_fingers_splayed:","symbol":"🖐","group":"people","keywords":["finger","hand","hand with fingers splayed","splayed"]},{"id":":raised_hand:","symbol":"✋","group":"people","keywords":["hand","raised hand"]},{"id":":ok_hand:","symbol":"👌","group":"people","keywords":["hand","OK"]},{"id":":thumbs_up:","symbol":"👍","group":"people","keywords":["+1","hand","thumb","thumbs up","up"]},{"id":":thumbs_down:","symbol":"👎","group":"people","keywords":["-1","down","hand","thumb","thumbs down"]},{"id":":raised_fist:","symbol":"✊","group":"people","keywords":["clenched","fist","hand","punch","raised fist"]},{"id":":oncoming_fist:","symbol":"👊","group":"people","keywords":["clenched","fist","hand","oncoming fist","punch"]},{"id":":left-facing_fist:","symbol":"🤛","group":"people","keywords":["fist","left-facing fist","leftwards"]},{"id":":right-facing_fist:","symbol":"🤜","group":"people","keywords":["fist","right-facing fist","rightwards"]},{"id":":raised_back_of_hand:","symbol":"🤚","group":"people","keywords":["backhand","raised","raised back of hand"]},{"id":":waving_hand:","symbol":"👋","group":"people","keywords":["hand","wave","waving"]},{"id":":love-you_gesture:","symbol":"🤟","group":"people","keywords":["hand","ILY","love-you gesture"]},{"id":":writing_hand:","symbol":"✍","group":"people","keywords":["hand","write","writing hand"]},{"id":":clapping_hands:","symbol":"👏","group":"people","keywords":["clap","clapping hands","hand"]},{"id":":open_hands:","symbol":"👐","group":"people","keywords":["hand","open","open hands"]},{"id":":raising_hands:","symbol":"🙌","group":"people","keywords":["celebration","gesture","hand","hooray","raised","raising hands"]},{"id":":palms_up_together:","symbol":"🤲","group":"people","keywords":["palms up together","prayer",""]},{"id":":folded_hands:","symbol":"🙏","group":"people","keywords":["ask","folded hands","hand","please","pray","thanks"]},{"id":":handshake:","symbol":"🤝","group":"people","keywords":["agreement","hand","handshake","meeting","shake"]},{"id":":nail_polish:","symbol":"💅","group":"people","keywords":["care","cosmetics","manicure","nail","polish"]},{"id":":ear:","symbol":"👂","group":"people","keywords":["body","ear"]},{"id":":nose:","symbol":"👃","group":"people","keywords":["body","nose"]},{"id":":footprints:","symbol":"👣","group":"people","keywords":["clothing","footprint","footprints","print"]},{"id":":eyes:","symbol":"👀","group":"people","keywords":["eye","eyes","face"]},{"id":":eye:","symbol":"👁","group":"people","keywords":["body","eye"]},{"id":":eye_in_speech_bubble:","symbol":"👁️‍🗨️","group":"people","keywords":["eye","eye in speech bubble","speech bubble","witness"]},{"id":":brain:","symbol":"🧠","group":"people","keywords":["brain","intelligent"]},{"id":":tongue:","symbol":"👅","group":"people","keywords":["body","tongue"]},{"id":":mouth:","symbol":"👄","group":"people","keywords":["lips","mouth"]},{"id":":kiss_mark:","symbol":"💋","group":"people","keywords":["kiss","kiss mark","lips"]},{"id":":heart_with_arrow:","symbol":"💘","group":"people","keywords":["arrow","cupid","heart with arrow"]},{"id":":heart_with_ribbon:","symbol":"💝","group":"people","keywords":["heart with ribbon","ribbon","valentine"]},{"id":":sparkling_heart:","symbol":"💖","group":"people","keywords":["excited","sparkle","sparkling heart"]},{"id":":growing_heart:","symbol":"💗","group":"people","keywords":["excited","growing","growing heart","nervous","pulse"]},{"id":":beating_heart:","symbol":"💓","group":"people","keywords":["beating","beating heart","heartbeat","pulsating"]},{"id":":revolving_hearts:","symbol":"💞","group":"people","keywords":["revolving","revolving hearts"]},{"id":":two_hearts:","symbol":"💕","group":"people","keywords":["love","two hearts"]},{"id":":love_letter:","symbol":"💌","group":"people","keywords":["heart","letter","love","mail"]},{"id":":heavy_heart_exclamation:","symbol":"❣","group":"people","keywords":["exclamation","heavy heart exclamation","mark","punctuation"]},{"id":":broken_heart:","symbol":"💔","group":"people","keywords":["break","broken","broken heart"]},{"id":":red_heart:","symbol":"❤","group":"people","keywords":["heart","red heart"]},{"id":":orange_heart:","symbol":"🧡","group":"people","keywords":["orange","orange heart"]},{"id":":yellow_heart:","symbol":"💛","group":"people","keywords":["yellow","yellow heart"]},{"id":":green_heart:","symbol":"💚","group":"people","keywords":["green","green heart"]},{"id":":blue_heart:","symbol":"💙","group":"people","keywords":["blue","blue heart"]},{"id":":purple_heart:","symbol":"💜","group":"people","keywords":["purple","purple heart"]},{"id":":black_heart:","symbol":"🖤","group":"people","keywords":["black","black heart","evil","wicked"]},{"id":":heart_decoration:","symbol":"💟","group":"people","keywords":["heart","heart decoration"]},{"id":":zzz:","symbol":"💤","group":"people","keywords":["comic","sleep","zzz"]},{"id":":anger_symbol:","symbol":"💢","group":"people","keywords":["anger symbol","angry","comic","mad"]},{"id":":bomb:","symbol":"💣","group":"people","keywords":["bomb","comic"]},{"id":":collision:","symbol":"💥","group":"people","keywords":["boom","collision","comic"]},{"id":":sweat_droplets:","symbol":"💦","group":"people","keywords":["comic","splashing","sweat","sweat droplets"]},{"id":":dashing_away:","symbol":"💨","group":"people","keywords":["comic","dash","dashing away","running"]},{"id":":dizzy:","symbol":"💫","group":"people","keywords":["comic","dizzy","star"]},{"id":":speech_balloon:","symbol":"💬","group":"people","keywords":["balloon","bubble","comic","dialog","speech"]},{"id":":left_speech_bubble:","symbol":"🗨","group":"people","keywords":["dialog","left speech bubble","speech"]},{"id":":right_anger_bubble:","symbol":"🗯","group":"people","keywords":["angry","balloon","bubble","mad","right anger bubble"]},{"id":":thought_balloon:","symbol":"💭","group":"people","keywords":["balloon","bubble","comic","thought"]},{"id":":hole:","symbol":"🕳","group":"people","keywords":["hole"]},{"id":":glasses:","symbol":"👓","group":"people","keywords":["clothing","eye","eyeglasses","eyewear","glasses"]},{"id":":sunglasses:","symbol":"🕶","group":"people","keywords":["dark","eye","eyewear","glasses","sunglasses"]},{"id":":necktie:","symbol":"👔","group":"people","keywords":["clothing","necktie","tie"]},{"id":":t-shirt:","symbol":"👕","group":"people","keywords":["clothing","shirt","t-shirt","tshirt"]},{"id":":jeans:","symbol":"👖","group":"people","keywords":["clothing","jeans","pants","trousers"]},{"id":":scarf:","symbol":"🧣","group":"people","keywords":["neck","scarf"]},{"id":":gloves:","symbol":"🧤","group":"people","keywords":["gloves","hand"]},{"id":":coat:","symbol":"🧥","group":"people","keywords":["coat","jacket"]},{"id":":socks:","symbol":"🧦","group":"people","keywords":["socks","stocking"]},{"id":":dress:","symbol":"👗","group":"people","keywords":["clothing","dress"]},{"id":":kimono:","symbol":"👘","group":"people","keywords":["clothing","kimono"]},{"id":":bikini:","symbol":"👙","group":"people","keywords":["bikini","clothing","swim"]},{"id":":woman’s_clothes:","symbol":"👚","group":"people","keywords":["clothing","woman","woman’s clothes"]},{"id":":purse:","symbol":"👛","group":"people","keywords":["clothing","coin","purse"]},{"id":":handbag:","symbol":"👜","group":"people","keywords":["bag","clothing","handbag","purse"]},{"id":":clutch_bag:","symbol":"👝","group":"people","keywords":["bag","clothing","clutch bag","pouch"]},{"id":":shopping_bags:","symbol":"🛍","group":"people","keywords":["bag","hotel","shopping","shopping bags"]},{"id":":backpack:","symbol":"🎒","group":"people","keywords":["backpack","bag","rucksack","satchel","school"]},{"id":":man’s_shoe:","symbol":"👞","group":"people","keywords":["clothing","man","man’s shoe","shoe"]},{"id":":running_shoe:","symbol":"👟","group":"people","keywords":["athletic","clothing","running shoe","shoe","sneaker"]},{"id":":high-heeled_shoe:","symbol":"👠","group":"people","keywords":["clothing","heel","high-heeled shoe","shoe","woman"]},{"id":":woman’s_sandal:","symbol":"👡","group":"people","keywords":["clothing","sandal","shoe","woman","woman’s sandal"]},{"id":":woman’s_boot:","symbol":"👢","group":"people","keywords":["boot","clothing","shoe","woman","woman’s boot"]},{"id":":crown:","symbol":"👑","group":"people","keywords":["clothing","crown","king","queen"]},{"id":":woman’s_hat:","symbol":"👒","group":"people","keywords":["clothing","hat","woman","woman’s hat"]},{"id":":top_hat:","symbol":"🎩","group":"people","keywords":["clothing","hat","top","tophat"]},{"id":":graduation_cap:","symbol":"🎓","group":"people","keywords":["cap","celebration","clothing","graduation","hat"]},{"id":":billed_cap:","symbol":"🧢","group":"people","keywords":["baseball cap","billed cap"]},{"id":":rescue_worker’s_helmet:","symbol":"⛑","group":"people","keywords":["aid","cross","face","hat","helmet","rescue worker’s helmet"]},{"id":":prayer_beads:","symbol":"📿","group":"people","keywords":["beads","clothing","necklace","prayer","religion"]},{"id":":lipstick:","symbol":"💄","group":"people","keywords":["cosmetics","lipstick","makeup"]},{"id":":ring:","symbol":"💍","group":"people","keywords":["diamond","ring"]},{"id":":gem_stone:","symbol":"💎","group":"people","keywords":["diamond","gem","gem stone","jewel"]},{"id":":monkey_face:","symbol":"🐵","group":"nature","keywords":["face","monkey"]},{"id":":monkey:","symbol":"🐒","group":"nature","keywords":["monkey"]},{"id":":gorilla:","symbol":"🦍","group":"nature","keywords":["gorilla"]},{"id":":dog_face:","symbol":"🐶","group":"nature","keywords":["dog","face","pet"]},{"id":":dog:","symbol":"🐕","group":"nature","keywords":["dog","pet"]},{"id":":poodle:","symbol":"🐩","group":"nature","keywords":["dog","poodle"]},{"id":":wolf_face:","symbol":"🐺","group":"nature","keywords":["face","wolf"]},{"id":":fox_face:","symbol":"🦊","group":"nature","keywords":["face","fox"]},{"id":":cat_face:","symbol":"🐱","group":"nature","keywords":["cat","face","pet"]},{"id":":cat:","symbol":"🐈","group":"nature","keywords":["cat","pet"]},{"id":":lion_face:","symbol":"🦁","group":"nature","keywords":["face","Leo","lion","zodiac"]},{"id":":tiger_face:","symbol":"🐯","group":"nature","keywords":["face","tiger"]},{"id":":tiger:","symbol":"🐅","group":"nature","keywords":["tiger"]},{"id":":leopard:","symbol":"🐆","group":"nature","keywords":["leopard"]},{"id":":horse_face:","symbol":"🐴","group":"nature","keywords":["face","horse"]},{"id":":horse:","symbol":"🐎","group":"nature","keywords":["equestrian","horse","racehorse","racing"]},{"id":":unicorn_face:","symbol":"🦄","group":"nature","keywords":["face","unicorn"]},{"id":":zebra:","symbol":"🦓","group":"nature","keywords":["stripe","zebra"]},{"id":":deer:","symbol":"🦌","group":"nature","keywords":["deer"]},{"id":":cow_face:","symbol":"🐮","group":"nature","keywords":["cow","face"]},{"id":":ox:","symbol":"🐂","group":"nature","keywords":["bull","ox","Taurus","zodiac"]},{"id":":water_buffalo:","symbol":"🐃","group":"nature","keywords":["buffalo","water"]},{"id":":cow:","symbol":"🐄","group":"nature","keywords":["cow"]},{"id":":pig_face:","symbol":"🐷","group":"nature","keywords":["face","pig"]},{"id":":pig:","symbol":"🐖","group":"nature","keywords":["pig","sow"]},{"id":":boar:","symbol":"🐗","group":"nature","keywords":["boar","pig"]},{"id":":pig_nose:","symbol":"🐽","group":"nature","keywords":["face","nose","pig"]},{"id":":ram:","symbol":"🐏","group":"nature","keywords":["Aries","male","ram","sheep","zodiac"]},{"id":":ewe:","symbol":"🐑","group":"nature","keywords":["ewe","female","sheep"]},{"id":":goat:","symbol":"🐐","group":"nature","keywords":["Capricorn","goat","zodiac"]},{"id":":camel:","symbol":"🐪","group":"nature","keywords":["camel","dromedary","hump"]},{"id":":two-hump_camel:","symbol":"🐫","group":"nature","keywords":["bactrian","camel","hump","two-hump camel"]},{"id":":giraffe:","symbol":"🦒","group":"nature","keywords":["giraffe","spots"]},{"id":":elephant:","symbol":"🐘","group":"nature","keywords":["elephant"]},{"id":":rhinoceros:","symbol":"🦏","group":"nature","keywords":["rhinoceros"]},{"id":":mouse_face:","symbol":"🐭","group":"nature","keywords":["face","mouse"]},{"id":":mouse:","symbol":"🐁","group":"nature","keywords":["mouse"]},{"id":":rat:","symbol":"🐀","group":"nature","keywords":["rat"]},{"id":":hamster_face:","symbol":"🐹","group":"nature","keywords":["face","hamster","pet"]},{"id":":rabbit_face:","symbol":"🐰","group":"nature","keywords":["bunny","face","pet","rabbit"]},{"id":":rabbit:","symbol":"🐇","group":"nature","keywords":["bunny","pet","rabbit"]},{"id":":chipmunk:","symbol":"🐿","group":"nature","keywords":["chipmunk","squirrel"]},{"id":":hedgehog:","symbol":"🦔","group":"nature","keywords":["hedgehog","spiny"]},{"id":":bat:","symbol":"🦇","group":"nature","keywords":["bat","vampire"]},{"id":":bear_face:","symbol":"🐻","group":"nature","keywords":["bear","face"]},{"id":":koala:","symbol":"🐨","group":"nature","keywords":["bear","koala"]},{"id":":panda_face:","symbol":"🐼","group":"nature","keywords":["face","panda"]},{"id":":paw_prints:","symbol":"🐾","group":"nature","keywords":["feet","paw","paw prints","print"]},{"id":":turkey:","symbol":"🦃","group":"nature","keywords":["bird","turkey"]},{"id":":chicken:","symbol":"🐔","group":"nature","keywords":["bird","chicken"]},{"id":":rooster:","symbol":"🐓","group":"nature","keywords":["bird","rooster"]},{"id":":hatching_chick:","symbol":"🐣","group":"nature","keywords":["baby","bird","chick","hatching"]},{"id":":baby_chick:","symbol":"🐤","group":"nature","keywords":["baby","bird","chick"]},{"id":":front-facing_baby_chick:","symbol":"🐥","group":"nature","keywords":["baby","bird","chick","front-facing baby chick"]},{"id":":bird:","symbol":"🐦","group":"nature","keywords":["bird"]},{"id":":penguin:","symbol":"🐧","group":"nature","keywords":["bird","penguin"]},{"id":":dove:","symbol":"🕊","group":"nature","keywords":["bird","dove","fly","peace"]},{"id":":eagle:","symbol":"🦅","group":"nature","keywords":["bird","eagle"]},{"id":":duck:","symbol":"🦆","group":"nature","keywords":["bird","duck"]},{"id":":owl:","symbol":"🦉","group":"nature","keywords":["bird","owl","wise"]},{"id":":frog_face:","symbol":"🐸","group":"nature","keywords":["face","frog"]},{"id":":crocodile:","symbol":"🐊","group":"nature","keywords":["crocodile"]},{"id":":turtle:","symbol":"🐢","group":"nature","keywords":["terrapin","tortoise","turtle"]},{"id":":lizard:","symbol":"🦎","group":"nature","keywords":["lizard","reptile"]},{"id":":snake:","symbol":"🐍","group":"nature","keywords":["bearer","Ophiuchus","serpent","snake","zodiac"]},{"id":":dragon_face:","symbol":"🐲","group":"nature","keywords":["dragon","face","fairy tale"]},{"id":":dragon:","symbol":"🐉","group":"nature","keywords":["dragon","fairy tale"]},{"id":":sauropod:","symbol":"🦕","group":"nature","keywords":["brachiosaurus","brontosaurus","diplodocus","sauropod"]},{"id":":t-rex:","symbol":"🦖","group":"nature","keywords":["T-Rex","Tyrannosaurus Rex"]},{"id":":spouting_whale:","symbol":"🐳","group":"nature","keywords":["face","spouting","whale"]},{"id":":whale:","symbol":"🐋","group":"nature","keywords":["whale"]},{"id":":dolphin:","symbol":"🐬","group":"nature","keywords":["dolphin","flipper"]},{"id":":fish:","symbol":"🐟","group":"nature","keywords":["fish","Pisces","zodiac"]},{"id":":tropical_fish:","symbol":"🐠","group":"nature","keywords":["fish","tropical"]},{"id":":blowfish:","symbol":"🐡","group":"nature","keywords":["blowfish","fish"]},{"id":":shark:","symbol":"🦈","group":"nature","keywords":["fish","shark"]},{"id":":octopus:","symbol":"🐙","group":"nature","keywords":["octopus"]},{"id":":spiral_shell:","symbol":"🐚","group":"nature","keywords":["shell","spiral"]},{"id":":crab:","symbol":"🦀","group":"nature","keywords":["Cancer","crab","zodiac"]},{"id":":shrimp:","symbol":"🦐","group":"nature","keywords":["food","shellfish","shrimp","small"]},{"id":":squid:","symbol":"🦑","group":"nature","keywords":["food","molusc","squid"]},{"id":":snail:","symbol":"🐌","group":"nature","keywords":["snail"]},{"id":":butterfly:","symbol":"🦋","group":"nature","keywords":["butterfly","insect","pretty"]},{"id":":bug:","symbol":"🐛","group":"nature","keywords":["bug","insect"]},{"id":":ant:","symbol":"🐜","group":"nature","keywords":["ant","insect"]},{"id":":honeybee:","symbol":"🐝","group":"nature","keywords":["bee","honeybee","insect"]},{"id":":lady_beetle:","symbol":"🐞","group":"nature","keywords":["beetle","insect","lady beetle","ladybird","ladybug"]},{"id":":cricket:","symbol":"🦗","group":"nature","keywords":["cricket","grasshopper",""]},{"id":":spider:","symbol":"🕷","group":"nature","keywords":["insect","spider"]},{"id":":spider_web:","symbol":"🕸","group":"nature","keywords":["spider","web"]},{"id":":scorpion:","symbol":"🦂","group":"nature","keywords":["scorpio","Scorpio","scorpion","zodiac"]},{"id":":bouquet:","symbol":"💐","group":"nature","keywords":["bouquet","flower"]},{"id":":cherry_blossom:","symbol":"🌸","group":"nature","keywords":["blossom","cherry","flower"]},{"id":":white_flower:","symbol":"💮","group":"nature","keywords":["flower","white flower"]},{"id":":rosette:","symbol":"🏵","group":"nature","keywords":["plant","rosette"]},{"id":":rose:","symbol":"🌹","group":"nature","keywords":["flower","rose"]},{"id":":wilted_flower:","symbol":"🥀","group":"nature","keywords":["flower","wilted"]},{"id":":hibiscus:","symbol":"🌺","group":"nature","keywords":["flower","hibiscus"]},{"id":":sunflower:","symbol":"🌻","group":"nature","keywords":["flower","sun","sunflower"]},{"id":":blossom:","symbol":"🌼","group":"nature","keywords":["blossom","flower"]},{"id":":tulip:","symbol":"🌷","group":"nature","keywords":["flower","tulip"]},{"id":":seedling:","symbol":"🌱","group":"nature","keywords":["seedling","young"]},{"id":":evergreen_tree:","symbol":"🌲","group":"nature","keywords":["evergreen tree","tree"]},{"id":":deciduous_tree:","symbol":"🌳","group":"nature","keywords":["deciduous","shedding","tree"]},{"id":":palm_tree:","symbol":"🌴","group":"nature","keywords":["palm","tree"]},{"id":":cactus:","symbol":"🌵","group":"nature","keywords":["cactus","plant"]},{"id":":sheaf_of_rice:","symbol":"🌾","group":"nature","keywords":["ear","grain","rice","sheaf of rice"]},{"id":":herb:","symbol":"🌿","group":"nature","keywords":["herb","leaf"]},{"id":":shamrock:","symbol":"☘","group":"nature","keywords":["plant","shamrock"]},{"id":":four_leaf_clover:","symbol":"🍀","group":"nature","keywords":["4","clover","four","four-leaf clover","leaf"]},{"id":":maple_leaf:","symbol":"🍁","group":"nature","keywords":["falling","leaf","maple"]},{"id":":fallen_leaf:","symbol":"🍂","group":"nature","keywords":["fallen leaf","falling","leaf"]},{"id":":leaf_fluttering_in_wind:","symbol":"🍃","group":"nature","keywords":["blow","flutter","leaf","leaf fluttering in wind","wind"]},{"id":":grapes:","symbol":"🍇","group":"food","keywords":["fruit","grape","grapes"]},{"id":":melon:","symbol":"🍈","group":"food","keywords":["fruit","melon"]},{"id":":watermelon:","symbol":"🍉","group":"food","keywords":["fruit","watermelon"]},{"id":":tangerine:","symbol":"🍊","group":"food","keywords":["fruit","orange","tangerine"]},{"id":":lemon:","symbol":"🍋","group":"food","keywords":["citrus","fruit","lemon"]},{"id":":banana:","symbol":"🍌","group":"food","keywords":["banana","fruit"]},{"id":":pineapple:","symbol":"🍍","group":"food","keywords":["fruit","pineapple"]},{"id":":red_apple:","symbol":"🍎","group":"food","keywords":["apple","fruit","red"]},{"id":":green_apple:","symbol":"🍏","group":"food","keywords":["apple","fruit","green"]},{"id":":pear:","symbol":"🍐","group":"food","keywords":["fruit","pear"]},{"id":":peach:","symbol":"🍑","group":"food","keywords":["fruit","peach"]},{"id":":cherries:","symbol":"🍒","group":"food","keywords":["berries","cherries","cherry","fruit","red"]},{"id":":strawberry:","symbol":"🍓","group":"food","keywords":["berry","fruit","strawberry"]},{"id":":kiwi_fruit:","symbol":"🥝","group":"food","keywords":["food","fruit","kiwi"]},{"id":":tomato:","symbol":"🍅","group":"food","keywords":["fruit","tomato","vegetable"]},{"id":":coconut:","symbol":"🥥","group":"food","keywords":["coconut","palm","piña colada"]},{"id":":avocado:","symbol":"🥑","group":"food","keywords":["avocado","food","fruit"]},{"id":":eggplant:","symbol":"🍆","group":"food","keywords":["aubergine","eggplant","vegetable"]},{"id":":potato:","symbol":"🥔","group":"food","keywords":["food","potato","vegetable"]},{"id":":carrot:","symbol":"🥕","group":"food","keywords":["carrot","food","vegetable"]},{"id":":ear_of_corn:","symbol":"🌽","group":"food","keywords":["corn","ear","ear of corn","maize","maze"]},{"id":":hot_pepper:","symbol":"🌶","group":"food","keywords":["hot","pepper"]},{"id":":cucumber:","symbol":"🥒","group":"food","keywords":["cucumber","food","pickle","vegetable"]},{"id":":broccoli:","symbol":"🥦","group":"food","keywords":["broccoli","wild cabbage"]},{"id":":mushroom:","symbol":"🍄","group":"food","keywords":["mushroom","toadstool"]},{"id":":peanuts:","symbol":"🥜","group":"food","keywords":["food","nut","peanut","peanuts","vegetable"]},{"id":":chestnut:","symbol":"🌰","group":"food","keywords":["chestnut","plant"]},{"id":":bread:","symbol":"🍞","group":"food","keywords":["bread","loaf"]},{"id":":croissant:","symbol":"🥐","group":"food","keywords":["bread","crescent roll","croissant","food","french"]},{"id":":baguette_bread:","symbol":"🥖","group":"food","keywords":["baguette","bread","food","french"]},{"id":":pretzel:","symbol":"🥨","group":"food","keywords":["pretzel","twisted",""]},{"id":":pancakes:","symbol":"🥞","group":"food","keywords":["crêpe","food","hotcake","pancake","pancakes"]},{"id":":cheese_wedge:","symbol":"🧀","group":"food","keywords":["cheese","cheese wedge"]},{"id":":meat_on_bone:","symbol":"🍖","group":"food","keywords":["bone","meat","meat on bone"]},{"id":":poultry_leg:","symbol":"🍗","group":"food","keywords":["bone","chicken","drumstick","leg","poultry"]},{"id":":cut_of_meat:","symbol":"🥩","group":"food","keywords":["chop","cut of meat","lambchop","porkchop","steak"]},{"id":":bacon:","symbol":"🥓","group":"food","keywords":["bacon","food","meat"]},{"id":":hamburger:","symbol":"🍔","group":"food","keywords":["burger","hamburger"]},{"id":":french_fries:","symbol":"🍟","group":"food","keywords":["french","fries"]},{"id":":pizza:","symbol":"🍕","group":"food","keywords":["cheese","pizza","slice"]},{"id":":hot_dog:","symbol":"🌭","group":"food","keywords":["frankfurter","hot dog","hotdog","sausage"]},{"id":":sandwich:","symbol":"🥪","group":"food","keywords":["bread","sandwich"]},{"id":":taco:","symbol":"🌮","group":"food","keywords":["mexican","taco"]},{"id":":burrito:","symbol":"🌯","group":"food","keywords":["burrito","mexican","wrap"]},{"id":":stuffed_flatbread:","symbol":"🥙","group":"food","keywords":["falafel","flatbread","food","gyro","kebab","stuffed"]},{"id":":egg:","symbol":"🥚","group":"food","keywords":["egg","food"]},{"id":":cooking:","symbol":"🍳","group":"food","keywords":["cooking","egg","frying","pan"]},{"id":":shallow_pan_of_food:","symbol":"🥘","group":"food","keywords":["casserole","food","paella","pan","shallow","shallow pan of food"]},{"id":":pot_of_food:","symbol":"🍲","group":"food","keywords":["pot","pot of food","stew"]},{"id":":bowl_with_spoon:","symbol":"🥣","group":"food","keywords":["bowl with spoon","breakfast","cereal","congee",""]},{"id":":green_salad:","symbol":"🥗","group":"food","keywords":["food","green","salad"]},{"id":":popcorn:","symbol":"🍿","group":"food","keywords":["popcorn"]},{"id":":canned_food:","symbol":"🥫","group":"food","keywords":["can","canned food"]},{"id":":bento_box:","symbol":"🍱","group":"food","keywords":["bento","box"]},{"id":":rice_cracker:","symbol":"🍘","group":"food","keywords":["cracker","rice"]},{"id":":rice_ball:","symbol":"🍙","group":"food","keywords":["ball","Japanese","rice"]},{"id":":cooked_rice:","symbol":"🍚","group":"food","keywords":["cooked","rice"]},{"id":":curry_rice:","symbol":"🍛","group":"food","keywords":["curry","rice"]},{"id":":steaming_bowl:","symbol":"🍜","group":"food","keywords":["bowl","noodle","ramen","steaming"]},{"id":":spaghetti:","symbol":"🍝","group":"food","keywords":["pasta","spaghetti"]},{"id":":roasted_sweet_potato:","symbol":"🍠","group":"food","keywords":["potato","roasted","sweet"]},{"id":":oden:","symbol":"🍢","group":"food","keywords":["kebab","oden","seafood","skewer","stick"]},{"id":":sushi:","symbol":"🍣","group":"food","keywords":["sushi"]},{"id":":fried_shrimp:","symbol":"🍤","group":"food","keywords":["fried","prawn","shrimp","tempura"]},{"id":":fish_cake_with_swirl:","symbol":"🍥","group":"food","keywords":["cake","fish","fish cake with swirl","pastry","swirl"]},{"id":":dango:","symbol":"🍡","group":"food","keywords":["dango","dessert","Japanese","skewer","stick","sweet"]},{"id":":dumpling:","symbol":"🥟","group":"food","keywords":["dumpling","empanada","gyōza","jiaozi","pierogi","potsticker"]},{"id":":fortune_cookie:","symbol":"🥠","group":"food","keywords":["fortune cookie","prophecy"]},{"id":":takeout_box:","symbol":"🥡","group":"food","keywords":["oyster pail","takeout box"]},{"id":":soft_ice_cream:","symbol":"🍦","group":"food","keywords":["cream","dessert","ice","icecream","soft","sweet"]},{"id":":shaved_ice:","symbol":"🍧","group":"food","keywords":["dessert","ice","shaved","sweet"]},{"id":":ice_cream:","symbol":"🍨","group":"food","keywords":["cream","dessert","ice","sweet"]},{"id":":doughnut:","symbol":"🍩","group":"food","keywords":["dessert","donut","doughnut","sweet"]},{"id":":cookie:","symbol":"🍪","group":"food","keywords":["cookie","dessert","sweet"]},{"id":":birthday_cake:","symbol":"🎂","group":"food","keywords":["birthday","cake","celebration","dessert","pastry","sweet"]},{"id":":shortcake:","symbol":"🍰","group":"food","keywords":["cake","dessert","pastry","shortcake","slice","sweet"]},{"id":":pie:","symbol":"🥧","group":"food","keywords":["filling","pastry","pie",""]},{"id":":chocolate_bar:","symbol":"🍫","group":"food","keywords":["bar","chocolate","dessert","sweet"]},{"id":":candy:","symbol":"🍬","group":"food","keywords":["candy","dessert","sweet"]},{"id":":lollipop:","symbol":"🍭","group":"food","keywords":["candy","dessert","lollipop","sweet"]},{"id":":custard:","symbol":"🍮","group":"food","keywords":["custard","dessert","pudding","sweet"]},{"id":":honey_pot:","symbol":"🍯","group":"food","keywords":["honey","honeypot","pot","sweet"]},{"id":":baby_bottle:","symbol":"🍼","group":"food","keywords":["baby","bottle","drink","milk"]},{"id":":glass_of_milk:","symbol":"🥛","group":"food","keywords":["drink","glass","glass of milk","milk"]},{"id":":hot_beverage:","symbol":"☕","group":"food","keywords":["beverage","coffee","drink","hot","steaming","tea"]},{"id":":teacup_without_handle:","symbol":"🍵","group":"food","keywords":["beverage","cup","drink","tea","teacup","teacup without handle"]},{"id":":sake:","symbol":"🍶","group":"food","keywords":["bar","beverage","bottle","cup","drink","sake"]},{"id":":bottle_with_popping_cork:","symbol":"🍾","group":"food","keywords":["bar","bottle","bottle with popping cork","cork","drink","popping"]},{"id":":wine_glass:","symbol":"🍷","group":"food","keywords":["bar","beverage","drink","glass","wine"]},{"id":":cocktail_glass:","symbol":"🍸","group":"food","keywords":["bar","cocktail","drink","glass"]},{"id":":tropical_drink:","symbol":"🍹","group":"food","keywords":["bar","drink","tropical"]},{"id":":beer_mug:","symbol":"🍺","group":"food","keywords":["bar","beer","drink","mug"]},{"id":":clinking_beer_mugs:","symbol":"🍻","group":"food","keywords":["bar","beer","clink","clinking beer mugs","drink","mug"]},{"id":":clinking_glasses:","symbol":"🥂","group":"food","keywords":["celebrate","clink","clinking glasses","drink","glass"]},{"id":":tumbler_glass:","symbol":"🥃","group":"food","keywords":["glass","liquor","shot","tumbler","whisky"]},{"id":":cup_with_straw:","symbol":"🥤","group":"food","keywords":["cup with straw","juice","soda",""]},{"id":":chopsticks:","symbol":"🥢","group":"food","keywords":["chopsticks","hashi",""]},{"id":":fork_and_knife_with_plate:","symbol":"🍽","group":"food","keywords":["cooking","fork","fork and knife with plate","knife","plate"]},{"id":":fork_and_knife:","symbol":"🍴","group":"food","keywords":["cooking","cutlery","fork","fork and knife","knife"]},{"id":":spoon:","symbol":"🥄","group":"food","keywords":["spoon","tableware"]},{"id":":kitchen_knife:","symbol":"🔪","group":"food","keywords":["cooking","hocho","kitchen knife","knife","tool","weapon"]},{"id":":amphora:","symbol":"🏺","group":"food","keywords":["amphora","Aquarius","cooking","drink","jug","zodiac"]},{"id":":globe_showing_europe-africa:","symbol":"🌍","group":"travel","keywords":["Africa","earth","Europe","globe","globe showing Europe-Africa","world"]},{"id":":globe_showing_americas:","symbol":"🌎","group":"travel","keywords":["Americas","earth","globe","globe showing Americas","world"]},{"id":":globe_showing_asia-australia:","symbol":"🌏","group":"travel","keywords":["Asia","Australia","earth","globe","globe showing Asia-Australia","world"]},{"id":":globe_with_meridians:","symbol":"🌐","group":"travel","keywords":["earth","globe","globe with meridians","meridians","world"]},{"id":":world_map:","symbol":"🗺","group":"travel","keywords":["map","world"]},{"id":":map_of_japan:","symbol":"🗾","group":"travel","keywords":["Japan","map","map of Japan"]},{"id":":snow-capped_mountain:","symbol":"🏔","group":"travel","keywords":["cold","mountain","snow","snow-capped mountain"]},{"id":":mountain:","symbol":"⛰","group":"travel","keywords":["mountain"]},{"id":":volcano:","symbol":"🌋","group":"travel","keywords":["eruption","mountain","volcano"]},{"id":":mount_fuji:","symbol":"🗻","group":"travel","keywords":["fuji","mount fuji","mountain"]},{"id":":camping:","symbol":"🏕","group":"travel","keywords":["camping"]},{"id":":beach_with_umbrella:","symbol":"🏖","group":"travel","keywords":["beach","beach with umbrella","umbrella"]},{"id":":desert:","symbol":"🏜","group":"travel","keywords":["desert"]},{"id":":desert_island:","symbol":"🏝","group":"travel","keywords":["desert","island"]},{"id":":national_park:","symbol":"🏞","group":"travel","keywords":["national park","park"]},{"id":":stadium:","symbol":"🏟","group":"travel","keywords":["stadium"]},{"id":":classical_building:","symbol":"🏛","group":"travel","keywords":["classical","classical building"]},{"id":":building_construction:","symbol":"🏗","group":"travel","keywords":["building construction","construction"]},{"id":":houses:","symbol":"🏘","group":"travel","keywords":["houses"]},{"id":":derelict_house:","symbol":"🏚","group":"travel","keywords":["derelict","house"]},{"id":":house:","symbol":"🏠","group":"travel","keywords":["home","house"]},{"id":":house_with_garden:","symbol":"🏡","group":"travel","keywords":["garden","home","house","house with garden"]},{"id":":office_building:","symbol":"🏢","group":"travel","keywords":["building","office building"]},{"id":":japanese_post_office:","symbol":"🏣","group":"travel","keywords":["Japanese","Japanese post office","post"]},{"id":":post_office:","symbol":"🏤","group":"travel","keywords":["European","post","post office"]},{"id":":hospital:","symbol":"🏥","group":"travel","keywords":["doctor","hospital","medicine"]},{"id":":bank:","symbol":"🏦","group":"travel","keywords":["bank","building"]},{"id":":hotel:","symbol":"🏨","group":"travel","keywords":["building","hotel"]},{"id":":love_hotel:","symbol":"🏩","group":"travel","keywords":["hotel","love"]},{"id":":convenience_store:","symbol":"🏪","group":"travel","keywords":["convenience","store"]},{"id":":school:","symbol":"🏫","group":"travel","keywords":["building","school"]},{"id":":department_store:","symbol":"🏬","group":"travel","keywords":["department","store"]},{"id":":factory:","symbol":"🏭","group":"travel","keywords":["building","factory"]},{"id":":japanese_castle:","symbol":"🏯","group":"travel","keywords":["castle","Japanese"]},{"id":":castle:","symbol":"🏰","group":"travel","keywords":["castle","European"]},{"id":":wedding:","symbol":"💒","group":"travel","keywords":["chapel","romance","wedding"]},{"id":":tokyo_tower:","symbol":"🗼","group":"travel","keywords":["Tokyo","tower"]},{"id":":statue_of_liberty:","symbol":"🗽","group":"travel","keywords":["liberty","statue","Statue of Liberty"]},{"id":":church:","symbol":"⛪","group":"travel","keywords":["Christian","church","cross","religion"]},{"id":":mosque:","symbol":"🕌","group":"travel","keywords":["islam","mosque","Muslim","religion"]},{"id":":synagogue:","symbol":"🕍","group":"travel","keywords":["Jew","Jewish","religion","synagogue","temple"]},{"id":":shinto_shrine:","symbol":"⛩","group":"travel","keywords":["religion","shinto","shrine"]},{"id":":kaaba:","symbol":"🕋","group":"travel","keywords":["islam","kaaba","Muslim","religion"]},{"id":":fountain:","symbol":"⛲","group":"travel","keywords":["fountain"]},{"id":":tent:","symbol":"⛺","group":"travel","keywords":["camping","tent"]},{"id":":foggy:","symbol":"🌁","group":"travel","keywords":["fog","foggy"]},{"id":":night_with_stars:","symbol":"🌃","group":"travel","keywords":["night","night with stars","star"]},{"id":":cityscape:","symbol":"🏙","group":"travel","keywords":["city","cityscape"]},{"id":":sunrise_over_mountains:","symbol":"🌄","group":"travel","keywords":["morning","mountain","sun","sunrise","sunrise over mountains"]},{"id":":sunrise:","symbol":"🌅","group":"travel","keywords":["morning","sun","sunrise"]},{"id":":cityscape_at_dusk:","symbol":"🌆","group":"travel","keywords":["city","cityscape at dusk","dusk","evening","landscape","sunset"]},{"id":":sunset:","symbol":"🌇","group":"travel","keywords":["dusk","sun","sunset"]},{"id":":bridge_at_night:","symbol":"🌉","group":"travel","keywords":["bridge","bridge at night","night"]},{"id":":hot_springs:","symbol":"♨","group":"travel","keywords":["hot","hotsprings","springs","steaming"]},{"id":":milky_way:","symbol":"🌌","group":"travel","keywords":["milky way","space"]},{"id":":carousel_horse:","symbol":"🎠","group":"travel","keywords":["carousel","horse"]},{"id":":ferris_wheel:","symbol":"🎡","group":"travel","keywords":["amusement park","ferris","wheel"]},{"id":":roller_coaster:","symbol":"🎢","group":"travel","keywords":["amusement park","coaster","roller"]},{"id":":barber_pole:","symbol":"💈","group":"travel","keywords":["barber","haircut","pole"]},{"id":":circus_tent:","symbol":"🎪","group":"travel","keywords":["circus","tent"]},{"id":":locomotive:","symbol":"🚂","group":"travel","keywords":["engine","locomotive","railway","steam","train"]},{"id":":railway_car:","symbol":"🚃","group":"travel","keywords":["car","electric","railway","train","tram","trolleybus"]},{"id":":high-speed_train:","symbol":"🚄","group":"travel","keywords":["high-speed train","railway","shinkansen","speed","train"]},{"id":":bullet_train:","symbol":"🚅","group":"travel","keywords":["bullet","railway","shinkansen","speed","train"]},{"id":":train:","symbol":"🚆","group":"travel","keywords":["railway","train"]},{"id":":metro:","symbol":"🚇","group":"travel","keywords":["metro","subway"]},{"id":":light_rail:","symbol":"🚈","group":"travel","keywords":["light rail","railway"]},{"id":":station:","symbol":"🚉","group":"travel","keywords":["railway","station","train"]},{"id":":tram:","symbol":"🚊","group":"travel","keywords":["tram","trolleybus"]},{"id":":monorail:","symbol":"🚝","group":"travel","keywords":["monorail","vehicle"]},{"id":":mountain_railway:","symbol":"🚞","group":"travel","keywords":["car","mountain","railway"]},{"id":":tram_car:","symbol":"🚋","group":"travel","keywords":["car","tram","trolleybus"]},{"id":":bus:","symbol":"🚌","group":"travel","keywords":["bus","vehicle"]},{"id":":oncoming_bus:","symbol":"🚍","group":"travel","keywords":["bus","oncoming"]},{"id":":trolleybus:","symbol":"🚎","group":"travel","keywords":["bus","tram","trolley","trolleybus"]},{"id":":minibus:","symbol":"🚐","group":"travel","keywords":["bus","minibus"]},{"id":":ambulance:","symbol":"🚑","group":"travel","keywords":["ambulance","vehicle"]},{"id":":fire_engine:","symbol":"🚒","group":"travel","keywords":["engine","fire","truck"]},{"id":":police_car:","symbol":"🚓","group":"travel","keywords":["car","patrol","police"]},{"id":":oncoming_police_car:","symbol":"🚔","group":"travel","keywords":["car","oncoming","police"]},{"id":":taxi:","symbol":"🚕","group":"travel","keywords":["taxi","vehicle"]},{"id":":oncoming_taxi:","symbol":"🚖","group":"travel","keywords":["oncoming","taxi"]},{"id":":automobile:","symbol":"🚗","group":"travel","keywords":["automobile","car"]},{"id":":oncoming_automobile:","symbol":"🚘","group":"travel","keywords":["automobile","car","oncoming"]},{"id":":sport_utility_vehicle:","symbol":"🚙","group":"travel","keywords":["recreational","sport utility","sport utility vehicle"]},{"id":":delivery_truck:","symbol":"🚚","group":"travel","keywords":["delivery","truck"]},{"id":":articulated_lorry:","symbol":"🚛","group":"travel","keywords":["articulated lorry","lorry","semi","truck"]},{"id":":tractor:","symbol":"🚜","group":"travel","keywords":["tractor","vehicle"]},{"id":":bicycle:","symbol":"🚲","group":"travel","keywords":["bicycle","bike"]},{"id":":kick_scooter:","symbol":"🛴","group":"travel","keywords":["kick","scooter"]},{"id":":motor_scooter:","symbol":"🛵","group":"travel","keywords":["motor","scooter"]},{"id":":bus_stop:","symbol":"🚏","group":"travel","keywords":["bus","busstop","stop"]},{"id":":motorway:","symbol":"🛣","group":"travel","keywords":["highway","motorway","road"]},{"id":":railway_track:","symbol":"🛤","group":"travel","keywords":["railway","railway track","train"]},{"id":":oil_drum:","symbol":"🛢","group":"travel","keywords":["drum","oil"]},{"id":":fuel_pump:","symbol":"⛽","group":"travel","keywords":["diesel","fuel","fuelpump","gas","pump","station"]},{"id":":police_car_light:","symbol":"🚨","group":"travel","keywords":["beacon","car","light","police","revolving"]},{"id":":horizontal_traffic_light:","symbol":"🚥","group":"travel","keywords":["horizontal traffic light","light","signal","traffic"]},{"id":":vertical_traffic_light:","symbol":"🚦","group":"travel","keywords":["light","signal","traffic","vertical traffic light"]},{"id":":stop_sign:","symbol":"🛑","group":"travel","keywords":["octagonal","sign","stop"]},{"id":":construction:","symbol":"🚧","group":"travel","keywords":["barrier","construction"]},{"id":":anchor:","symbol":"⚓","group":"travel","keywords":["anchor","ship","tool"]},{"id":":sailboat:","symbol":"⛵","group":"travel","keywords":["boat","resort","sailboat","sea","yacht"]},{"id":":canoe:","symbol":"🛶","group":"travel","keywords":["boat","canoe"]},{"id":":speedboat:","symbol":"🚤","group":"travel","keywords":["boat","speedboat"]},{"id":":passenger_ship:","symbol":"🛳","group":"travel","keywords":["passenger","ship"]},{"id":":ferry:","symbol":"⛴","group":"travel","keywords":["boat","ferry","passenger"]},{"id":":motor_boat:","symbol":"🛥","group":"travel","keywords":["boat","motor boat","motorboat"]},{"id":":ship:","symbol":"🚢","group":"travel","keywords":["boat","passenger","ship"]},{"id":":airplane:","symbol":"✈","group":"travel","keywords":["aeroplane","airplane"]},{"id":":small_airplane:","symbol":"🛩","group":"travel","keywords":["aeroplane","airplane","small airplane"]},{"id":":airplane_departure:","symbol":"🛫","group":"travel","keywords":["aeroplane","airplane","check-in","departure","departures"]},{"id":":airplane_arrival:","symbol":"🛬","group":"travel","keywords":["aeroplane","airplane","airplane arrival","arrivals","arriving","landing"]},{"id":":seat:","symbol":"💺","group":"travel","keywords":["chair","seat"]},{"id":":helicopter:","symbol":"🚁","group":"travel","keywords":["helicopter","vehicle"]},{"id":":suspension_railway:","symbol":"🚟","group":"travel","keywords":["railway","suspension"]},{"id":":mountain_cableway:","symbol":"🚠","group":"travel","keywords":["cable","gondola","mountain","mountain cableway"]},{"id":":aerial_tramway:","symbol":"🚡","group":"travel","keywords":["aerial","cable","car","gondola","tramway"]},{"id":":satellite:","symbol":"🛰","group":"travel","keywords":["satellite","space"]},{"id":":rocket:","symbol":"🚀","group":"travel","keywords":["rocket","space"]},{"id":":flying_saucer:","symbol":"🛸","group":"travel","keywords":["flying saucer","UFO"]},{"id":":bellhop_bell:","symbol":"🛎","group":"travel","keywords":["bell","bellhop","hotel"]},{"id":":hourglass_done:","symbol":"⌛","group":"travel","keywords":["hourglass done","sand","timer"]},{"id":":hourglass_not_done:","symbol":"⏳","group":"travel","keywords":["hourglass","hourglass not done","sand","timer"]},{"id":":watch:","symbol":"⌚","group":"travel","keywords":["clock","watch"]},{"id":":alarm_clock:","symbol":"⏰","group":"travel","keywords":["alarm","clock"]},{"id":":stopwatch:","symbol":"⏱","group":"travel","keywords":["clock","stopwatch"]},{"id":":timer_clock:","symbol":"⏲","group":"travel","keywords":["clock","timer"]},{"id":":mantelpiece_clock:","symbol":"🕰","group":"travel","keywords":["clock","mantelpiece clock"]},{"id":":twelve_o’clock:","symbol":"🕛","group":"travel","keywords":["00","12","12:00","clock","o’clock","twelve"]},{"id":":twelve-thirty:","symbol":"🕧","group":"travel","keywords":["12","12:30","clock","thirty","twelve","twelve-thirty"]},{"id":":one_o’clock:","symbol":"🕐","group":"travel","keywords":["00","1","1:00","clock","o’clock","one"]},{"id":":one-thirty:","symbol":"🕜","group":"travel","keywords":["1","1:30","clock","one","one-thirty","thirty"]},{"id":":two_o’clock:","symbol":"🕑","group":"travel","keywords":["00","2","2:00","clock","o’clock","two"]},{"id":":two-thirty:","symbol":"🕝","group":"travel","keywords":["2","2:30","clock","thirty","two","two-thirty"]},{"id":":three_o’clock:","symbol":"🕒","group":"travel","keywords":["00","3","3:00","clock","o’clock","three"]},{"id":":three-thirty:","symbol":"🕞","group":"travel","keywords":["3","3:30","clock","thirty","three","three-thirty"]},{"id":":four_o’clock:","symbol":"🕓","group":"travel","keywords":["00","4","4:00","clock","four","o’clock"]},{"id":":four-thirty:","symbol":"🕟","group":"travel","keywords":["4","4:30","clock","four","four-thirty","thirty"]},{"id":":five_o’clock:","symbol":"🕔","group":"travel","keywords":["00","5","5:00","clock","five","o’clock"]},{"id":":five-thirty:","symbol":"🕠","group":"travel","keywords":["5","5:30","clock","five","five-thirty","thirty"]},{"id":":six_o’clock:","symbol":"🕕","group":"travel","keywords":["00","6","6:00","clock","o’clock","six"]},{"id":":six-thirty:","symbol":"🕡","group":"travel","keywords":["6","6:30","clock","six","six-thirty","thirty"]},{"id":":seven_o’clock:","symbol":"🕖","group":"travel","keywords":["00","7","7:00","clock","o’clock","seven"]},{"id":":seven-thirty:","symbol":"🕢","group":"travel","keywords":["7","7:30","clock","seven","seven-thirty","thirty"]},{"id":":eight_o’clock:","symbol":"🕗","group":"travel","keywords":["00","8","8:00","clock","eight","o’clock"]},{"id":":eight-thirty:","symbol":"🕣","group":"travel","keywords":["8","8:30","clock","eight","eight-thirty","thirty"]},{"id":":nine_o’clock:","symbol":"🕘","group":"travel","keywords":["00","9","9:00","clock","nine","o’clock"]},{"id":":nine-thirty:","symbol":"🕤","group":"travel","keywords":["9","9:30","clock","nine","nine-thirty","thirty"]},{"id":":ten_o’clock:","symbol":"🕙","group":"travel","keywords":["00","10","10:00","clock","o’clock","ten"]},{"id":":ten-thirty:","symbol":"🕥","group":"travel","keywords":["10","10:30","clock","ten","ten-thirty","thirty"]},{"id":":eleven_o’clock:","symbol":"🕚","group":"travel","keywords":["00","11","11:00","clock","eleven","o’clock"]},{"id":":eleven-thirty:","symbol":"🕦","group":"travel","keywords":["11","11:30","clock","eleven","eleven-thirty","thirty"]},{"id":":new_moon:","symbol":"🌑","group":"travel","keywords":["dark","moon","new moon"]},{"id":":waxing_crescent_moon:","symbol":"🌒","group":"travel","keywords":["crescent","moon","waxing"]},{"id":":first_quarter_moon:","symbol":"🌓","group":"travel","keywords":["first quarter moon","moon","quarter"]},{"id":":waxing_gibbous_moon:","symbol":"🌔","group":"travel","keywords":["gibbous","moon","waxing"]},{"id":":full_moon:","symbol":"🌕","group":"travel","keywords":["full","moon"]},{"id":":waning_gibbous_moon:","symbol":"🌖","group":"travel","keywords":["gibbous","moon","waning"]},{"id":":last_quarter_moon:","symbol":"🌗","group":"travel","keywords":["last quarter moon","moon","quarter"]},{"id":":waning_crescent_moon:","symbol":"🌘","group":"travel","keywords":["crescent","moon","waning"]},{"id":":crescent_moon:","symbol":"🌙","group":"travel","keywords":["crescent","moon"]},{"id":":new_moon_face:","symbol":"🌚","group":"travel","keywords":["face","moon","new moon face"]},{"id":":first_quarter_moon_face:","symbol":"🌛","group":"travel","keywords":["face","first quarter moon face","moon","quarter"]},{"id":":last_quarter_moon_face:","symbol":"🌜","group":"travel","keywords":["face","last quarter moon face","moon","quarter"]},{"id":":thermometer:","symbol":"🌡","group":"travel","keywords":["thermometer","weather"]},{"id":":sun:","symbol":"☀","group":"travel","keywords":["bright","rays","sun","sunny"]},{"id":":full_moon_face:","symbol":"🌝","group":"travel","keywords":["bright","face","full","moon"]},{"id":":sun_with_face:","symbol":"🌞","group":"travel","keywords":["bright","face","sun","sun with face"]},{"id":":star:","symbol":"⭐","group":"travel","keywords":["star"]},{"id":":glowing_star:","symbol":"🌟","group":"travel","keywords":["glittery","glow","glowing star","shining","sparkle","star"]},{"id":":shooting_star:","symbol":"🌠","group":"travel","keywords":["falling","shooting","star"]},{"id":":cloud:","symbol":"☁️","group":"travel","keywords":["cloud","weather"]},{"id":":sun_behind_cloud:","symbol":"⛅","group":"travel","keywords":["cloud","sun","sun behind cloud"]},{"id":":cloud_with_lightning_and_rain:","symbol":"⛈️","group":"travel","keywords":["cloud","cloud with lightning and rain","rain","thunder"]},{"id":":sun_behind_small_cloud:","symbol":"🌤","group":"travel","keywords":["cloud","sun","sun behind small cloud"]},{"id":":sun_behind_large_cloud:","symbol":"🌥","group":"travel","keywords":["cloud","sun","sun behind large cloud"]},{"id":":sun_behind_rain_cloud:","symbol":"🌦","group":"travel","keywords":["cloud","rain","sun","sun behind rain cloud"]},{"id":":cloud_with_rain:","symbol":"🌧","group":"travel","keywords":["cloud","cloud with rain","rain"]},{"id":":cloud_with_snow:","symbol":"🌨","group":"travel","keywords":["cloud","cloud with snow","cold","snow"]},{"id":":cloud_with_lightning:","symbol":"🌩","group":"travel","keywords":["cloud","cloud with lightning","lightning"]},{"id":":tornado:","symbol":"🌪","group":"travel","keywords":["cloud","tornado","whirlwind"]},{"id":":fog:","symbol":"🌫","group":"travel","keywords":["cloud","fog"]},{"id":":wind_face:","symbol":"🌬","group":"travel","keywords":["blow","cloud","face","wind"]},{"id":":cyclone:","symbol":"🌀","group":"travel","keywords":["cyclone","dizzy","hurricane","twister","typhoon"]},{"id":":rainbow:","symbol":"🌈","group":"travel","keywords":["rain","rainbow"]},{"id":":closed_umbrella:","symbol":"🌂","group":"travel","keywords":["closed umbrella","clothing","rain","umbrella"]},{"id":":umbrella:","symbol":"☂","group":"travel","keywords":["clothing","rain","umbrella"]},{"id":":umbrella_with_rain_drops:","symbol":"☔","group":"travel","keywords":["clothing","drop","rain","umbrella","umbrella with rain drops"]},{"id":":umbrella_on_ground:","symbol":"⛱","group":"travel","keywords":["rain","sun","umbrella","umbrella on ground"]},{"id":":high_voltage:","symbol":"⚡","group":"travel","keywords":["danger","electric","high voltage","lightning","voltage","zap"]},{"id":":snowflake:","symbol":"❄","group":"travel","keywords":["cold","snow","snowflake"]},{"id":":snowman:","symbol":"☃","group":"travel","keywords":["cold","snow","snowman"]},{"id":":snowman_without_snow:","symbol":"⛄","group":"travel","keywords":["cold","snow","snowman","snowman without snow"]},{"id":":comet:","symbol":"☄","group":"travel","keywords":["comet","space"]},{"id":":fire:","symbol":"🔥","group":"travel","keywords":["fire","flame","tool"]},{"id":":droplet:","symbol":"💧","group":"travel","keywords":["cold","comic","drop","droplet","sweat"]},{"id":":water_wave:","symbol":"🌊","group":"travel","keywords":["ocean","water","wave"]},{"id":":jack-o-lantern:","symbol":"🎃","group":"activities","keywords":["celebration","halloween","jack","jack-o-lantern","lantern"]},{"id":":christmas_tree:","symbol":"🎄","group":"activities","keywords":["celebration","Christmas","tree"]},{"id":":fireworks:","symbol":"🎆","group":"activities","keywords":["celebration","fireworks"]},{"id":":sparkler:","symbol":"🎇","group":"activities","keywords":["celebration","fireworks","sparkle","sparkler"]},{"id":":sparkles:","symbol":"✨","group":"activities","keywords":["sparkle","sparkles","star"]},{"id":":balloon:","symbol":"🎈","group":"activities","keywords":["balloon","celebration"]},{"id":":party_popper:","symbol":"🎉","group":"activities","keywords":["celebration","party","popper","tada"]},{"id":":confetti_ball:","symbol":"🎊","group":"activities","keywords":["ball","celebration","confetti"]},{"id":":tanabata_tree:","symbol":"🎋","group":"activities","keywords":["banner","celebration","Japanese","tanabata tree","tree"]},{"id":":pine_decoration:","symbol":"🎍","group":"activities","keywords":["bamboo","celebration","Japanese","pine","pine decoration"]},{"id":":japanese_dolls:","symbol":"🎎","group":"activities","keywords":["celebration","doll","festival","Japanese","Japanese dolls"]},{"id":":carp_streamer:","symbol":"🎏","group":"activities","keywords":["carp","celebration","streamer"]},{"id":":wind_chime:","symbol":"🎐","group":"activities","keywords":["bell","celebration","chime","wind"]},{"id":":moon_viewing_ceremony:","symbol":"🎑","group":"activities","keywords":["celebration","ceremony","moon","moon viewing ceremony"]},{"id":":ribbon:","symbol":"🎀","group":"activities","keywords":["celebration","ribbon"]},{"id":":wrapped_gift:","symbol":"🎁","group":"activities","keywords":["box","celebration","gift","present","wrapped"]},{"id":":reminder_ribbon:","symbol":"🎗","group":"activities","keywords":["celebration","reminder","ribbon"]},{"id":":admission_tickets:","symbol":"🎟","group":"activities","keywords":["admission","admission tickets","ticket"]},{"id":":ticket:","symbol":"🎫","group":"activities","keywords":["admission","ticket"]},{"id":":military_medal:","symbol":"🎖","group":"activities","keywords":["celebration","medal","military"]},{"id":":trophy:","symbol":"🏆","group":"activities","keywords":["prize","trophy"]},{"id":":sports_medal:","symbol":"🏅","group":"activities","keywords":["medal","sports medal"]},{"id":":1st_place_medal:","symbol":"🥇","group":"activities","keywords":["1st place medal","first","gold","medal"]},{"id":":2nd_place_medal:","symbol":"🥈","group":"activities","keywords":["2nd place medal","medal","second","silver"]},{"id":":3rd_place_medal:","symbol":"🥉","group":"activities","keywords":["3rd place medal","bronze","medal","third"]},{"id":":soccer_ball:","symbol":"⚽","group":"activities","keywords":["ball","football","soccer"]},{"id":":baseball:","symbol":"⚾","group":"activities","keywords":["ball","baseball"]},{"id":":basketball:","symbol":"🏀","group":"activities","keywords":["ball","basketball","hoop"]},{"id":":volleyball:","symbol":"🏐","group":"activities","keywords":["ball","game","volleyball"]},{"id":":american_football:","symbol":"🏈","group":"activities","keywords":["american","ball","football"]},{"id":":rugby_football:","symbol":"🏉","group":"activities","keywords":["ball","football","rugby"]},{"id":":tennis:","symbol":"🎾","group":"activities","keywords":["ball","racquet","tennis"]},{"id":":bowling:","symbol":"🎳","group":"activities","keywords":["ball","bowling","game"]},{"id":":cricket_game:","symbol":"🏏","group":"activities","keywords":["ball","bat","cricket game","game"]},{"id":":field_hockey:","symbol":"🏑","group":"activities","keywords":["ball","field","game","hockey","stick"]},{"id":":ice_hockey:","symbol":"🏒","group":"activities","keywords":["game","hockey","ice","puck","stick"]},{"id":":ping_pong:","symbol":"🏓","group":"activities","keywords":["ball","bat","game","paddle","ping pong","table tennis"]},{"id":":badminton:","symbol":"🏸","group":"activities","keywords":["badminton","birdie","game","racquet","shuttlecock"]},{"id":":boxing_glove:","symbol":"🥊","group":"activities","keywords":["boxing","glove"]},{"id":":martial_arts_uniform:","symbol":"🥋","group":"activities","keywords":["judo","karate","martial arts","martial arts uniform","taekwondo","uniform"]},{"id":":goal_net:","symbol":"🥅","group":"activities","keywords":["goal","net"]},{"id":":flag_in_hole:","symbol":"⛳","group":"activities","keywords":["flag in hole","golf","hole"]},{"id":":ice_skate:","symbol":"⛸","group":"activities","keywords":["ice","skate"]},{"id":":fishing_pole:","symbol":"🎣","group":"activities","keywords":["fish","fishing pole","pole"]},{"id":":running_shirt:","symbol":"🎽","group":"activities","keywords":["athletics","running","sash","shirt"]},{"id":":skis:","symbol":"🎿","group":"activities","keywords":["ski","skis","snow"]},{"id":":sled:","symbol":"🛷","group":"activities","keywords":["sled","sledge","sleigh",""]},{"id":":curling_stone:","symbol":"🥌","group":"activities","keywords":["curling stone","game","rock"]},{"id":":direct_hit:","symbol":"🎯","group":"activities","keywords":["bullseye","dart","direct hit","game","hit","target"]},{"id":":pool_8_ball:","symbol":"🎱","group":"activities","keywords":["8","ball","billiard","eight","game","pool 8 ball"]},{"id":":crystal_ball:","symbol":"🔮","group":"activities","keywords":["ball","crystal","fairy tale","fantasy","fortune","tool"]},{"id":":video_game:","symbol":"🎮","group":"activities","keywords":["controller","game","video game"]},{"id":":joystick:","symbol":"🕹","group":"activities","keywords":["game","joystick","video game"]},{"id":":slot_machine:","symbol":"🎰","group":"activities","keywords":["game","slot","slot machine"]},{"id":":game_die:","symbol":"🎲","group":"activities","keywords":["dice","die","game"]},{"id":":spade_suit:","symbol":"♠","group":"activities","keywords":["card","game","spade suit"]},{"id":":heart_suit:","symbol":"♥","group":"activities","keywords":["card","game","heart suit"]},{"id":":diamond_suit:","symbol":"♦","group":"activities","keywords":["card","diamond suit","game"]},{"id":":club_suit:","symbol":"♣","group":"activities","keywords":["card","club suit","game"]},{"id":":joker:","symbol":"🃏","group":"activities","keywords":["card","game","joker","wildcard"]},{"id":":mahjong_red_dragon:","symbol":"🀄","group":"activities","keywords":["game","mahjong","mahjong red dragon","red"]},{"id":":flower_playing_cards:","symbol":"🎴","group":"activities","keywords":["card","flower","flower playing cards","game","Japanese","playing"]},{"id":":performing_arts:","symbol":"🎭","group":"activities","keywords":["art","mask","performing","performing arts","theater","theatre"]},{"id":":framed_picture:","symbol":"🖼","group":"activities","keywords":["art","frame","framed picture","museum","painting","picture"]},{"id":":artist_palette:","symbol":"🎨","group":"activities","keywords":["art","artist palette","museum","painting","palette"]},{"id":":muted_speaker:","symbol":"🔇","group":"objects","keywords":["mute","muted speaker","quiet","silent","speaker"]},{"id":":speaker_low_volume:","symbol":"🔈","group":"objects","keywords":["soft","speaker low volume"]},{"id":":speaker_medium_volume:","symbol":"🔉","group":"objects","keywords":["medium","speaker medium volume"]},{"id":":speaker_high_volume:","symbol":"🔊","group":"objects","keywords":["loud","speaker high volume"]},{"id":":loudspeaker:","symbol":"📢","group":"objects","keywords":["loud","loudspeaker","public address"]},{"id":":megaphone:","symbol":"📣","group":"objects","keywords":["cheering","megaphone"]},{"id":":postal_horn:","symbol":"📯","group":"objects","keywords":["horn","post","postal"]},{"id":":bell:","symbol":"🔔","group":"objects","keywords":["bell"]},{"id":":bell_with_slash:","symbol":"🔕","group":"objects","keywords":["bell","bell with slash","forbidden","mute","quiet","silent"]},{"id":":musical_score:","symbol":"🎼","group":"objects","keywords":["music","musical score","score"]},{"id":":musical_note:","symbol":"🎵","group":"objects","keywords":["music","musical note","note"]},{"id":":musical_notes:","symbol":"🎶","group":"objects","keywords":["music","musical notes","note","notes"]},{"id":":studio_microphone:","symbol":"🎙","group":"objects","keywords":["mic","microphone","music","studio"]},{"id":":level_slider:","symbol":"🎚","group":"objects","keywords":["level","music","slider"]},{"id":":control_knobs:","symbol":"🎛","group":"objects","keywords":["control","knobs","music"]},{"id":":microphone:","symbol":"🎤","group":"objects","keywords":["karaoke","mic","microphone"]},{"id":":headphone:","symbol":"🎧","group":"objects","keywords":["earbud","headphone"]},{"id":":radio:","symbol":"📻","group":"objects","keywords":["radio","video"]},{"id":":saxophone:","symbol":"🎷","group":"objects","keywords":["instrument","music","sax","saxophone"]},{"id":":guitar:","symbol":"🎸","group":"objects","keywords":["guitar","instrument","music"]},{"id":":musical_keyboard:","symbol":"🎹","group":"objects","keywords":["instrument","keyboard","music","musical keyboard","piano"]},{"id":":trumpet:","symbol":"🎺","group":"objects","keywords":["instrument","music","trumpet"]},{"id":":violin:","symbol":"🎻","group":"objects","keywords":["instrument","music","violin"]},{"id":":drum:","symbol":"🥁","group":"objects","keywords":["drum","drumsticks","music"]},{"id":":mobile_phone:","symbol":"📱","group":"objects","keywords":["cell","mobile","phone","telephone"]},{"id":":mobile_phone_with_arrow:","symbol":"📲","group":"objects","keywords":["arrow","cell","mobile","mobile phone with arrow","phone","receive"]},{"id":":telephone:","symbol":"☎","group":"objects","keywords":["phone","telephone"]},{"id":":telephone_receiver:","symbol":"📞","group":"objects","keywords":["phone","receiver","telephone"]},{"id":":pager:","symbol":"📟","group":"objects","keywords":["pager"]},{"id":":fax_machine:","symbol":"📠","group":"objects","keywords":["fax","fax machine"]},{"id":":battery:","symbol":"🔋","group":"objects","keywords":["battery"]},{"id":":electric_plug:","symbol":"🔌","group":"objects","keywords":["electric","electricity","plug"]},{"id":":laptop_computer:","symbol":"💻","group":"objects","keywords":["computer","laptop computer","pc","personal"]},{"id":":desktop_computer:","symbol":"🖥","group":"objects","keywords":["computer","desktop"]},{"id":":printer:","symbol":"🖨","group":"objects","keywords":["computer","printer"]},{"id":":keyboard:","symbol":"⌨","group":"objects","keywords":["computer","keyboard"]},{"id":":computer_mouse:","symbol":"🖱","group":"objects","keywords":["computer","computer mouse"]},{"id":":trackball:","symbol":"🖲","group":"objects","keywords":["computer","trackball"]},{"id":":computer_disk:","symbol":"💽","group":"objects","keywords":["computer","disk","minidisk","optical"]},{"id":":floppy_disk:","symbol":"💾","group":"objects","keywords":["computer","disk","floppy"]},{"id":":optical_disk:","symbol":"💿","group":"objects","keywords":["cd","computer","disk","optical"]},{"id":":dvd:","symbol":"📀","group":"objects","keywords":["blu-ray","computer","disk","dvd","optical"]},{"id":":movie_camera:","symbol":"🎥","group":"objects","keywords":["camera","cinema","movie"]},{"id":":film_frames:","symbol":"🎞","group":"objects","keywords":["cinema","film","frames","movie"]},{"id":":film_projector:","symbol":"📽","group":"objects","keywords":["cinema","film","movie","projector","video"]},{"id":":clapper_board:","symbol":"🎬","group":"objects","keywords":["clapper","clapper board","movie"]},{"id":":television:","symbol":"📺","group":"objects","keywords":["television","tv","video"]},{"id":":camera:","symbol":"📷","group":"objects","keywords":["camera","video"]},{"id":":camera_with_flash:","symbol":"📸","group":"objects","keywords":["camera","camera with flash","flash","video"]},{"id":":video_camera:","symbol":"📹","group":"objects","keywords":["camera","video"]},{"id":":videocassette:","symbol":"📼","group":"objects","keywords":["tape","vhs","video","videocassette"]},{"id":":magnifying_glass_tilted_left:","symbol":"🔍","group":"objects","keywords":["glass","magnifying","magnifying glass tilted left","search","tool"]},{"id":":magnifying_glass_tilted_right:","symbol":"🔎","group":"objects","keywords":["glass","magnifying","magnifying glass tilted right","search","tool"]},{"id":":candle:","symbol":"🕯","group":"objects","keywords":["candle","light"]},{"id":":light_bulb:","symbol":"💡","group":"objects","keywords":["bulb","comic","electric","idea","light"]},{"id":":flashlight:","symbol":"🔦","group":"objects","keywords":["electric","flashlight","light","tool","torch"]},{"id":":red_paper_lantern:","symbol":"🏮","group":"objects","keywords":["bar","lantern","light","red","red paper lantern"]},{"id":":notebook_with_decorative_cover:","symbol":"📔","group":"objects","keywords":["book","cover","decorated","notebook","notebook with decorative cover"]},{"id":":closed_book:","symbol":"📕","group":"objects","keywords":["book","closed"]},{"id":":open_book:","symbol":"📖","group":"objects","keywords":["book","open"]},{"id":":green_book:","symbol":"📗","group":"objects","keywords":["book","green"]},{"id":":blue_book:","symbol":"📘","group":"objects","keywords":["blue","book"]},{"id":":orange_book:","symbol":"📙","group":"objects","keywords":["book","orange"]},{"id":":books:","symbol":"📚","group":"objects","keywords":["book","books"]},{"id":":notebook:","symbol":"📓","group":"objects","keywords":["notebook"]},{"id":":ledger:","symbol":"📒","group":"objects","keywords":["ledger","notebook"]},{"id":":page_with_curl:","symbol":"📃","group":"objects","keywords":["curl","document","page","page with curl"]},{"id":":scroll:","symbol":"📜","group":"objects","keywords":["paper","scroll"]},{"id":":page_facing_up:","symbol":"📄","group":"objects","keywords":["document","page","page facing up"]},{"id":":newspaper:","symbol":"📰","group":"objects","keywords":["news","newspaper","paper"]},{"id":":rolled-up_newspaper:","symbol":"🗞","group":"objects","keywords":["news","newspaper","paper","rolled","rolled-up newspaper"]},{"id":":bookmark_tabs:","symbol":"📑","group":"objects","keywords":["bookmark","mark","marker","tabs"]},{"id":":bookmark:","symbol":"🔖","group":"objects","keywords":["bookmark","mark"]},{"id":":label:","symbol":"🏷","group":"objects","keywords":["label"]},{"id":":money_bag:","symbol":"💰","group":"objects","keywords":["bag","dollar","money","moneybag"]},{"id":":yen_banknote:","symbol":"💴","group":"objects","keywords":["banknote","bill","currency","money","note","yen"]},{"id":":dollar_banknote:","symbol":"💵","group":"objects","keywords":["banknote","bill","currency","dollar","money","note"]},{"id":":euro_banknote:","symbol":"💶","group":"objects","keywords":["banknote","bill","currency","euro","money","note"]},{"id":":pound_banknote:","symbol":"💷","group":"objects","keywords":["banknote","bill","currency","money","note","pound"]},{"id":":money_with_wings:","symbol":"💸","group":"objects","keywords":["banknote","bill","fly","money","money with wings","wings"]},{"id":":credit_card:","symbol":"💳","group":"objects","keywords":["card","credit","money"]},{"id":":chart_increasing_with_yen:","symbol":"💹","group":"objects","keywords":["chart","chart increasing with yen","graph","growth","money","yen"]},{"id":":currency_exchange:","symbol":"💱","group":"objects","keywords":["bank","currency","exchange","money"]},{"id":":heavy_dollar_sign:","symbol":"💲","group":"objects","keywords":["currency","dollar","heavy dollar sign","money"]},{"id":":envelope:","symbol":"✉","group":"objects","keywords":["email","envelope","letter"]},{"id":":e-mail:","symbol":"📧","group":"objects","keywords":["e-mail","email","letter","mail"]},{"id":":incoming_envelope:","symbol":"📨","group":"objects","keywords":["e-mail","email","envelope","incoming","letter","receive"]},{"id":":envelope_with_arrow:","symbol":"📩","group":"objects","keywords":["arrow","e-mail","email","envelope","envelope with arrow","outgoing"]},{"id":":outbox_tray:","symbol":"📤","group":"objects","keywords":["box","letter","mail","outbox","sent","tray"]},{"id":":inbox_tray:","symbol":"📥","group":"objects","keywords":["box","inbox","letter","mail","receive","tray"]},{"id":":package:","symbol":"📦","group":"objects","keywords":["box","package","parcel"]},{"id":":closed_mailbox_with_raised_flag:","symbol":"📫","group":"objects","keywords":["closed","closed mailbox with raised flag","mail","mailbox","postbox"]},{"id":":closed_mailbox_with_lowered_flag:","symbol":"📪","group":"objects","keywords":["closed","closed mailbox with lowered flag","lowered","mail","mailbox","postbox"]},{"id":":open_mailbox_with_raised_flag:","symbol":"📬","group":"objects","keywords":["mail","mailbox","open","open mailbox with raised flag","postbox"]},{"id":":open_mailbox_with_lowered_flag:","symbol":"📭","group":"objects","keywords":["lowered","mail","mailbox","open","open mailbox with lowered flag","postbox"]},{"id":":postbox:","symbol":"📮","group":"objects","keywords":["mail","mailbox","postbox"]},{"id":":ballot_box_with_ballot:","symbol":"🗳","group":"objects","keywords":["ballot","ballot box with ballot","box"]},{"id":":pencil:","symbol":"✏","group":"objects","keywords":["pencil"]},{"id":":black_nib:","symbol":"✒","group":"objects","keywords":["black nib","nib","pen"]},{"id":":fountain_pen:","symbol":"🖋","group":"objects","keywords":["fountain","pen"]},{"id":":pen:","symbol":"🖊","group":"objects","keywords":["ballpoint","pen"]},{"id":":paintbrush:","symbol":"🖌","group":"objects","keywords":["paintbrush","painting"]},{"id":":crayon:","symbol":"🖍","group":"objects","keywords":["crayon"]},{"id":":memo:","symbol":"📝","group":"objects","keywords":["memo","pencil"]},{"id":":briefcase:","symbol":"💼","group":"objects","keywords":["briefcase"]},{"id":":file_folder:","symbol":"📁","group":"objects","keywords":["file","folder"]},{"id":":open_file_folder:","symbol":"📂","group":"objects","keywords":["file","folder","open"]},{"id":":card_index_dividers:","symbol":"🗂","group":"objects","keywords":["card","dividers","index"]},{"id":":calendar:","symbol":"📅","group":"objects","keywords":["calendar","date"]},{"id":":tear-off_calendar:","symbol":"📆","group":"objects","keywords":["calendar","tear-off calendar"]},{"id":":spiral_notepad:","symbol":"🗒","group":"objects","keywords":["note","pad","spiral","spiral notepad"]},{"id":":spiral_calendar:","symbol":"🗓","group":"objects","keywords":["calendar","pad","spiral"]},{"id":":card_index:","symbol":"📇","group":"objects","keywords":["card","index","rolodex"]},{"id":":chart_increasing:","symbol":"📈","group":"objects","keywords":["chart","chart increasing","graph","growth","trend","upward"]},{"id":":chart_decreasing:","symbol":"📉","group":"objects","keywords":["chart","chart decreasing","down","graph","trend"]},{"id":":bar_chart:","symbol":"📊","group":"objects","keywords":["bar","chart","graph"]},{"id":":clipboard:","symbol":"📋","group":"objects","keywords":["clipboard"]},{"id":":pushpin:","symbol":"📌","group":"objects","keywords":["pin","pushpin"]},{"id":":round_pushpin:","symbol":"📍","group":"objects","keywords":["pin","pushpin","round pushpin"]},{"id":":paperclip:","symbol":"📎","group":"objects","keywords":["paperclip"]},{"id":":linked_paperclips:","symbol":"🖇","group":"objects","keywords":["link","linked paperclips","paperclip"]},{"id":":straight_ruler:","symbol":"📏","group":"objects","keywords":["ruler","straight edge","straight ruler"]},{"id":":triangular_ruler:","symbol":"📐","group":"objects","keywords":["ruler","set","triangle","triangular ruler"]},{"id":":scissors:","symbol":"✂","group":"objects","keywords":["cutting","scissors","tool"]},{"id":":card_file_box:","symbol":"🗃","group":"objects","keywords":["box","card","file"]},{"id":":file_cabinet:","symbol":"🗄","group":"objects","keywords":["cabinet","file","filing"]},{"id":":wastebasket:","symbol":"🗑","group":"objects","keywords":["wastebasket"]},{"id":":locked:","symbol":"🔒","group":"objects","keywords":["closed","locked"]},{"id":":unlocked:","symbol":"🔓","group":"objects","keywords":["lock","open","unlock","unlocked"]},{"id":":locked_with_pen:","symbol":"🔏","group":"objects","keywords":["ink","lock","locked with pen","nib","pen","privacy"]},{"id":":locked_with_key:","symbol":"🔐","group":"objects","keywords":["closed","key","lock","locked with key","secure"]},{"id":":key:","symbol":"🔑","group":"objects","keywords":["key","lock","password"]},{"id":":old_key:","symbol":"🗝","group":"objects","keywords":["clue","key","lock","old"]},{"id":":hammer:","symbol":"🔨","group":"objects","keywords":["hammer","tool"]},{"id":":pick:","symbol":"⛏","group":"objects","keywords":["mining","pick","tool"]},{"id":":hammer_and_pick:","symbol":"⚒","group":"objects","keywords":["hammer","hammer and pick","pick","tool"]},{"id":":hammer_and_wrench:","symbol":"🛠","group":"objects","keywords":["hammer","hammer and wrench","spanner","tool","wrench"]},{"id":":dagger:","symbol":"🗡","group":"objects","keywords":["dagger","knife","weapon"]},{"id":":crossed_swords:","symbol":"⚔","group":"objects","keywords":["crossed","swords","weapon"]},{"id":":pistol:","symbol":"🔫","group":"objects","keywords":["gun","handgun","pistol","revolver","tool","weapon"]},{"id":":bow_and_arrow:","symbol":"🏹","group":"objects","keywords":["archer","arrow","bow","bow and arrow","Sagittarius","zodiac"]},{"id":":shield:","symbol":"🛡","group":"objects","keywords":["shield","weapon"]},{"id":":wrench:","symbol":"🔧","group":"objects","keywords":["spanner","tool","wrench"]},{"id":":nut_and_bolt:","symbol":"🔩","group":"objects","keywords":["bolt","nut","nut and bolt","tool"]},{"id":":gear:","symbol":"⚙","group":"objects","keywords":["cog","cogwheel","gear","tool"]},{"id":":clamp:","symbol":"🗜","group":"objects","keywords":["clamp","compress","tool","vice"]},{"id":":balance_scale:","symbol":"⚖","group":"objects","keywords":["balance","justice","Libra","scale","zodiac"]},{"id":":link:","symbol":"🔗","group":"objects","keywords":["link"]},{"id":":chains:","symbol":"⛓","group":"objects","keywords":["chain","chains"]},{"id":":alembic:","symbol":"⚗","group":"objects","keywords":["alembic","chemistry","tool"]},{"id":":microscope:","symbol":"🔬","group":"objects","keywords":["microscope","science","tool"]},{"id":":telescope:","symbol":"🔭","group":"objects","keywords":["science","telescope","tool"]},{"id":":satellite_antenna:","symbol":"📡","group":"objects","keywords":["antenna","dish","satellite"]},{"id":":syringe:","symbol":"💉","group":"objects","keywords":["medicine","needle","shot","sick","syringe"]},{"id":":pill:","symbol":"💊","group":"objects","keywords":["doctor","medicine","pill","sick"]},{"id":":door:","symbol":"🚪","group":"objects","keywords":["door"]},{"id":":bed:","symbol":"🛏","group":"objects","keywords":["bed","hotel","sleep"]},{"id":":couch_and_lamp:","symbol":"🛋","group":"objects","keywords":["couch","couch and lamp","hotel","lamp"]},{"id":":toilet:","symbol":"🚽","group":"objects","keywords":["toilet"]},{"id":":shower:","symbol":"🚿","group":"objects","keywords":["shower","water"]},{"id":":bathtub:","symbol":"🛁","group":"objects","keywords":["bath","bathtub"]},{"id":":shopping_cart:","symbol":"🛒","group":"objects","keywords":["cart","shopping","trolley"]},{"id":":cigarette:","symbol":"🚬","group":"objects","keywords":["cigarette","smoking"]},{"id":":coffin:","symbol":"⚰","group":"objects","keywords":["coffin","death"]},{"id":":funeral_urn:","symbol":"⚱","group":"objects","keywords":["ashes","death","funeral","urn"]},{"id":":moai:","symbol":"🗿","group":"objects","keywords":["face","moai","moyai","statue"]},{"id":":atm_sign:","symbol":"🏧","group":"symbols","keywords":["atm","ATM sign","automated","bank","teller"]},{"id":":litter_in_bin_sign:","symbol":"🚮","group":"symbols","keywords":["litter","litter bin","litter in bin sign"]},{"id":":potable_water:","symbol":"🚰","group":"symbols","keywords":["drinking","potable","water"]},{"id":":wheelchair_symbol:","symbol":"♿","group":"symbols","keywords":["access","wheelchair symbol"]},{"id":":men’s_room:","symbol":"🚹","group":"symbols","keywords":["lavatory","man","men’s room","restroom","wc"]},{"id":":women’s_room:","symbol":"🚺","group":"symbols","keywords":["lavatory","restroom","wc","woman","women’s room"]},{"id":":restroom:","symbol":"🚻","group":"symbols","keywords":["lavatory","restroom","WC"]},{"id":":baby_symbol:","symbol":"🚼","group":"symbols","keywords":["baby","baby symbol","changing"]},{"id":":water_closet:","symbol":"🚾","group":"symbols","keywords":["closet","lavatory","restroom","water","wc"]},{"id":":passport_control:","symbol":"🛂","group":"symbols","keywords":["control","passport"]},{"id":":customs:","symbol":"🛃","group":"symbols","keywords":["customs"]},{"id":":baggage_claim:","symbol":"🛄","group":"symbols","keywords":["baggage","claim"]},{"id":":left_luggage:","symbol":"🛅","group":"symbols","keywords":["baggage","left luggage","locker","luggage"]},{"id":":warning:","symbol":"⚠","group":"symbols","keywords":["warning"]},{"id":":children_crossing:","symbol":"🚸","group":"symbols","keywords":["child","children crossing","crossing","pedestrian","traffic"]},{"id":":no_entry:","symbol":"⛔","group":"symbols","keywords":["entry","forbidden","no","not","prohibited","traffic"]},{"id":":prohibited:","symbol":"🚫","group":"symbols","keywords":["entry","forbidden","no","not","prohibited"]},{"id":":no_bicycles:","symbol":"🚳","group":"symbols","keywords":["bicycle","bike","forbidden","no","no bicycles","prohibited"]},{"id":":no_smoking:","symbol":"🚭","group":"symbols","keywords":["forbidden","no","not","prohibited","smoking"]},{"id":":no_littering:","symbol":"🚯","group":"symbols","keywords":["forbidden","litter","no","no littering","not","prohibited"]},{"id":":non-potable_water:","symbol":"🚱","group":"symbols","keywords":["non-drinking","non-potable","water"]},{"id":":no_pedestrians:","symbol":"🚷","group":"symbols","keywords":["forbidden","no","no pedestrians","not","pedestrian","prohibited"]},{"id":":no_mobile_phones:","symbol":"📵","group":"symbols","keywords":["cell","forbidden","mobile","no","no mobile phones","phone"]},{"id":":no_one_under_eighteen:","symbol":"🔞","group":"symbols","keywords":["18","age restriction","eighteen","no one under eighteen","prohibited","underage"]},{"id":":radioactive:","symbol":"☢","group":"symbols","keywords":["radioactive","sign"]},{"id":":biohazard:","symbol":"☣","group":"symbols","keywords":["biohazard","sign"]},{"id":":up_arrow:","symbol":"⬆","group":"symbols","keywords":["arrow","cardinal","direction","north","up arrow"]},{"id":":up-right_arrow:","symbol":"↗","group":"symbols","keywords":["arrow","direction","intercardinal","northeast","up-right arrow"]},{"id":":right_arrow:","symbol":"➡","group":"symbols","keywords":["arrow","cardinal","direction","east","right arrow"]},{"id":":down-right_arrow:","symbol":"↘","group":"symbols","keywords":["arrow","direction","down-right arrow","intercardinal","southeast"]},{"id":":down_arrow:","symbol":"⬇","group":"symbols","keywords":["arrow","cardinal","direction","down","south"]},{"id":":down-left_arrow:","symbol":"↙","group":"symbols","keywords":["arrow","direction","down-left arrow","intercardinal","southwest"]},{"id":":left_arrow:","symbol":"⬅","group":"symbols","keywords":["arrow","cardinal","direction","left arrow","west"]},{"id":":up-left_arrow:","symbol":"↖","group":"symbols","keywords":["arrow","direction","intercardinal","northwest","up-left arrow"]},{"id":":up-down_arrow:","symbol":"↕","group":"symbols","keywords":["arrow","up-down arrow"]},{"id":":left-right_arrow:","symbol":"↔","group":"symbols","keywords":["arrow","left-right arrow"]},{"id":":right_arrow_curving_left:","symbol":"↩","group":"symbols","keywords":["arrow","right arrow curving left"]},{"id":":left_arrow_curving_right:","symbol":"↪","group":"symbols","keywords":["arrow","left arrow curving right"]},{"id":":right_arrow_curving_up:","symbol":"⤴","group":"symbols","keywords":["arrow","right arrow curving up"]},{"id":":right_arrow_curving_down:","symbol":"⤵","group":"symbols","keywords":["arrow","down","right arrow curving down"]},{"id":":clockwise_vertical_arrows:","symbol":"🔃","group":"symbols","keywords":["arrow","clockwise","clockwise vertical arrows","reload"]},{"id":":counterclockwise_arrows_button:","symbol":"🔄","group":"symbols","keywords":["anticlockwise","arrow","counterclockwise","counterclockwise arrows button","withershins"]},{"id":":back_arrow:","symbol":"🔙","group":"symbols","keywords":["arrow","back","BACK arrow"]},{"id":":end_arrow:","symbol":"🔚","group":"symbols","keywords":["arrow","end","END arrow"]},{"id":":on!_arrow:","symbol":"🔛","group":"symbols","keywords":["arrow","mark","on","ON! arrow"]},{"id":":soon_arrow:","symbol":"🔜","group":"symbols","keywords":["arrow","soon","SOON arrow"]},{"id":":top_arrow:","symbol":"🔝","group":"symbols","keywords":["arrow","top","TOP arrow","up"]},{"id":":place_of_worship:","symbol":"🛐","group":"symbols","keywords":["place of worship","religion","worship"]},{"id":":atom_symbol:","symbol":"⚛","group":"symbols","keywords":["atheist","atom","atom symbol"]},{"id":":om:","symbol":"🕉","group":"symbols","keywords":["Hindu","om","religion"]},{"id":":star_of_david:","symbol":"✡","group":"symbols","keywords":["David","Jew","Jewish","religion","star","star of David"]},{"id":":wheel_of_dharma:","symbol":"☸","group":"symbols","keywords":["Buddhist","dharma","religion","wheel","wheel of dharma"]},{"id":":yin_yang:","symbol":"☯","group":"symbols","keywords":["religion","tao","taoist","yang","yin"]},{"id":":latin_cross:","symbol":"✝","group":"symbols","keywords":["Christian","cross","latin cross","religion"]},{"id":":orthodox_cross:","symbol":"☦","group":"symbols","keywords":["Christian","cross","orthodox cross","religion"]},{"id":":star_and_crescent:","symbol":"☪","group":"symbols","keywords":["islam","Muslim","religion","star and crescent"]},{"id":":peace_symbol:","symbol":"☮","group":"symbols","keywords":["peace","peace symbol"]},{"id":":menorah:","symbol":"🕎","group":"symbols","keywords":["candelabrum","candlestick","menorah","religion"]},{"id":":dotted_six-pointed_star:","symbol":"🔯","group":"symbols","keywords":["dotted six-pointed star","fortune","star"]},{"id":":aries:","symbol":"♈","group":"symbols","keywords":["Aries","ram","zodiac"]},{"id":":taurus:","symbol":"♉","group":"symbols","keywords":["bull","ox","Taurus","zodiac"]},{"id":":gemini:","symbol":"♊","group":"symbols","keywords":["Gemini","twins","zodiac"]},{"id":":cancer:","symbol":"♋","group":"symbols","keywords":["Cancer","crab","zodiac"]},{"id":":leo:","symbol":"♌","group":"symbols","keywords":["Leo","lion","zodiac"]},{"id":":virgo:","symbol":"♍","group":"symbols","keywords":["Virgo","zodiac"]},{"id":":libra:","symbol":"♎","group":"symbols","keywords":["balance","justice","Libra","scales","zodiac"]},{"id":":scorpio:","symbol":"♏","group":"symbols","keywords":["Scorpio","scorpion","scorpius","zodiac"]},{"id":":sagittarius:","symbol":"♐","group":"symbols","keywords":["archer","Sagittarius","zodiac"]},{"id":":capricorn:","symbol":"♑","group":"symbols","keywords":["Capricorn","goat","zodiac"]},{"id":":aquarius:","symbol":"♒","group":"symbols","keywords":["Aquarius","bearer","water","zodiac"]},{"id":":pisces:","symbol":"♓","group":"symbols","keywords":["fish","Pisces","zodiac"]},{"id":":ophiuchus:","symbol":"⛎","group":"symbols","keywords":["bearer","Ophiuchus","serpent","snake","zodiac"]},{"id":":shuffle_tracks_button:","symbol":"🔀","group":"symbols","keywords":["arrow","crossed","shuffle tracks button"]},{"id":":repeat_button:","symbol":"🔁","group":"symbols","keywords":["arrow","clockwise","repeat","repeat button"]},{"id":":repeat_single_button:","symbol":"🔂","group":"symbols","keywords":["arrow","clockwise","once","repeat single button"]},{"id":":play_button:","symbol":"▶","group":"symbols","keywords":["arrow","play","play button","right","triangle"]},{"id":":fast-forward_button:","symbol":"⏩","group":"symbols","keywords":["arrow","double","fast","fast-forward button","forward"]},{"id":":next_track_button:","symbol":"⏭","group":"symbols","keywords":["arrow","next scene","next track","next track button","triangle"]},{"id":":play_or_pause_button:","symbol":"⏯","group":"symbols","keywords":["arrow","pause","play","play or pause button","right","triangle"]},{"id":":reverse_button:","symbol":"◀","group":"symbols","keywords":["arrow","left","reverse","reverse button","triangle"]},{"id":":fast_reverse_button:","symbol":"⏪","group":"symbols","keywords":["arrow","double","fast reverse button","rewind"]},{"id":":last_track_button:","symbol":"⏮","group":"symbols","keywords":["arrow","last track button","previous scene","previous track","triangle"]},{"id":":upwards_button:","symbol":"🔼","group":"symbols","keywords":["arrow","button","red","upwards button"]},{"id":":fast_up_button:","symbol":"⏫","group":"symbols","keywords":["arrow","double","fast up button"]},{"id":":downwards_button:","symbol":"🔽","group":"symbols","keywords":["arrow","button","down","downwards button","red"]},{"id":":fast_down_button:","symbol":"⏬","group":"symbols","keywords":["arrow","double","down","fast down button"]},{"id":":pause_button:","symbol":"⏸","group":"symbols","keywords":["bar","double","pause","pause button","vertical"]},{"id":":stop_button:","symbol":"⏹","group":"symbols","keywords":["square","stop","stop button"]},{"id":":record_button:","symbol":"⏺","group":"symbols","keywords":["circle","record","record button"]},{"id":":eject_button:","symbol":"⏏","group":"symbols","keywords":["eject","eject button"]},{"id":":cinema:","symbol":"🎦","group":"symbols","keywords":["camera","cinema","film","movie"]},{"id":":dim_button:","symbol":"🔅","group":"symbols","keywords":["brightness","dim","dim button","low"]},{"id":":bright_button:","symbol":"🔆","group":"symbols","keywords":["bright","bright button","brightness"]},{"id":":antenna_bars:","symbol":"📶","group":"symbols","keywords":["antenna","antenna bars","bar","cell","mobile","phone"]},{"id":":vibration_mode:","symbol":"📳","group":"symbols","keywords":["cell","mobile","mode","phone","telephone","vibration"]},{"id":":mobile_phone_off:","symbol":"📴","group":"symbols","keywords":["cell","mobile","off","phone","telephone"]},{"id":":female_sign:","symbol":"♀","group":"symbols","keywords":["female sign","woman"]},{"id":":male_sign:","symbol":"♂","group":"symbols","keywords":["male sign","man"]},{"id":":medical_symbol:","symbol":"⚕","group":"symbols","keywords":["aesculapius","medical symbol","medicine","staff"]},{"id":":recycling_symbol:","symbol":"♻","group":"symbols","keywords":["recycle","recycling symbol"]},{"id":":fleur-de-lis:","symbol":"⚜","group":"symbols","keywords":["fleur-de-lis"]},{"id":":trident_emblem:","symbol":"🔱","group":"symbols","keywords":["anchor","emblem","ship","tool","trident"]},{"id":":name_badge:","symbol":"📛","group":"symbols","keywords":["badge","name"]},{"id":":japanese_symbol_for_beginner:","symbol":"🔰","group":"symbols","keywords":["beginner","chevron","Japanese","Japanese symbol for beginner","leaf"]},{"id":":heavy_large_circle:","symbol":"⭕","group":"symbols","keywords":["circle","heavy large circle","o"]},{"id":":white_heavy_check_mark:","symbol":"✅","group":"symbols","keywords":["check","mark","white heavy check mark"]},{"id":":ballot_box_with_check:","symbol":"☑","group":"symbols","keywords":["ballot","ballot box with check","box","check"]},{"id":":heavy_check_mark:","symbol":"✔","group":"symbols","keywords":["check","heavy check mark","mark"]},{"id":":heavy_multiplication_x:","symbol":"✖","group":"symbols","keywords":["cancel","heavy multiplication x","multiplication","multiply","x"]},{"id":":cross_mark:","symbol":"❌","group":"symbols","keywords":["cancel","cross mark","mark","multiplication","multiply","x"]},{"id":":cross_mark_button:","symbol":"❎","group":"symbols","keywords":["cross mark button","mark","square"]},{"id":":heavy_plus_sign:","symbol":"➕","group":"symbols","keywords":["heavy plus sign","math","plus"]},{"id":":heavy_minus_sign:","symbol":"➖","group":"symbols","keywords":["heavy minus sign","math","minus"]},{"id":":heavy_division_sign:","symbol":"➗","group":"symbols","keywords":["division","heavy division sign","math"]},{"id":":curly_loop:","symbol":"➰","group":"symbols","keywords":["curl","curly loop","loop"]},{"id":":double_curly_loop:","symbol":"➿","group":"symbols","keywords":["curl","double","double curly loop","loop"]},{"id":":part_alternation_mark:","symbol":"〽","group":"symbols","keywords":["mark","part","part alternation mark"]},{"id":":eight-spoked_asterisk:","symbol":"✳","group":"symbols","keywords":["asterisk","eight-spoked asterisk"]},{"id":":eight-pointed_star:","symbol":"✴","group":"symbols","keywords":["eight-pointed star","star"]},{"id":":sparkle:","symbol":"❇","group":"symbols","keywords":["sparkle"]},{"id":":double_exclamation_mark:","symbol":"‼","group":"symbols","keywords":["bangbang","double exclamation mark","exclamation","mark","punctuation"]},{"id":":exclamation_question_mark:","symbol":"⁉","group":"symbols","keywords":["exclamation","interrobang","mark","punctuation","question"]},{"id":":question_mark:","symbol":"❓","group":"symbols","keywords":["mark","punctuation","question"]},{"id":":white_question_mark:","symbol":"❔","group":"symbols","keywords":["mark","outlined","punctuation","question","white question mark"]},{"id":":white_exclamation_mark:","symbol":"❕","group":"symbols","keywords":["exclamation","mark","outlined","punctuation","white exclamation mark"]},{"id":":exclamation_mark:","symbol":"❗","group":"symbols","keywords":["exclamation","mark","punctuation"]},{"id":":wavy_dash:","symbol":"〰","group":"symbols","keywords":["dash","punctuation","wavy"]},{"id":":copyright:","symbol":"©","group":"symbols","keywords":["copyright"]},{"id":":registered:","symbol":"®","group":"symbols","keywords":["registered"]},{"id":":trade_mark:","symbol":"™","group":"symbols","keywords":["mark","tm","trade mark","trademark"]},{"id":":keycap_#:","symbol":"#️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_*:","symbol":"*️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_0:","symbol":"0️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_1:","symbol":"1️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_2:","symbol":"2️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_3:","symbol":"3️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_4:","symbol":"4️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_5:","symbol":"5️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_6:","symbol":"6️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_7:","symbol":"7️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_8:","symbol":"8️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_9:","symbol":"9️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_10:","symbol":"🔟","group":"symbols","keywords":["keycap"]},{"id":":hundred_points:","symbol":"💯","group":"symbols","keywords":["100","full","hundred","hundred points","score"]},{"id":":input_latin_uppercase:","symbol":"🔠","group":"symbols","keywords":["ABCD","input","latin","letters","uppercase"]},{"id":":input_latin_lowercase:","symbol":"🔡","group":"symbols","keywords":["abcd","input","latin","letters","lowercase"]},{"id":":input_numbers:","symbol":"🔢","group":"symbols","keywords":["1234","input","numbers"]},{"id":":input_symbols:","symbol":"🔣","group":"symbols","keywords":["〒♪&%","input","input symbols"]},{"id":":input_latin_letters:","symbol":"🔤","group":"symbols","keywords":["abc","alphabet","input","latin","letters"]},{"id":":a_button_(blood_type):","symbol":"🅰","group":"symbols","keywords":["a","A button (blood type)","blood type"]},{"id":":ab_button_(blood_type):","symbol":"🆎","group":"symbols","keywords":["ab","AB button (blood type)","blood type"]},{"id":":b_button_(blood_type):","symbol":"🅱","group":"symbols","keywords":["b","B button (blood type)","blood type"]},{"id":":cl_button:","symbol":"🆑","group":"symbols","keywords":["cl","CL button"]},{"id":":cool_button:","symbol":"🆒","group":"symbols","keywords":["cool","COOL button"]},{"id":":free_button:","symbol":"🆓","group":"symbols","keywords":["free","FREE button"]},{"id":":information:","symbol":"ℹ","group":"symbols","keywords":["i","information"]},{"id":":id_button:","symbol":"🆔","group":"symbols","keywords":["id","ID button","identity"]},{"id":":circled_m:","symbol":"Ⓜ","group":"symbols","keywords":["circle","circled M","m"]},{"id":":new_button:","symbol":"🆕","group":"symbols","keywords":["new","NEW button"]},{"id":":ng_button:","symbol":"🆖","group":"symbols","keywords":["ng","NG button"]},{"id":":o_button_(blood_type):","symbol":"🅾","group":"symbols","keywords":["blood type","o","O button (blood type)"]},{"id":":ok_button:","symbol":"🆗","group":"symbols","keywords":["OK","OK button"]},{"id":":p_button:","symbol":"🅿","group":"symbols","keywords":["P button","parking"]},{"id":":sos_button:","symbol":"🆘","group":"symbols","keywords":["help","sos","SOS button"]},{"id":":up!_button:","symbol":"🆙","group":"symbols","keywords":["mark","up","UP! button"]},{"id":":vs_button:","symbol":"🆚","group":"symbols","keywords":["versus","vs","VS button"]},{"id":":japanese_“here”_button:","symbol":"🈁","group":"symbols","keywords":["“here”","Japanese","Japanese “here” button","katakana","ココ"]},{"id":":japanese_“service_charge”_button:","symbol":"🈂","group":"symbols","keywords":["“service charge”","Japanese","Japanese “service charge” button","katakana","サ"]},{"id":":japanese_“monthly_amount”_button:","symbol":"🈷","group":"symbols","keywords":["“monthly amount”","ideograph","Japanese","Japanese “monthly amount” button","月"]},{"id":":japanese_“not_free_of_charge”_button:","symbol":"🈶","group":"symbols","keywords":["“not free of charge”","ideograph","Japanese","Japanese “not free of charge” button","有"]},{"id":":japanese_“reserved”_button:","symbol":"🈯","group":"symbols","keywords":["“reserved”","ideograph","Japanese","Japanese “reserved” button","指"]},{"id":":japanese_“bargain”_button:","symbol":"🉐","group":"symbols","keywords":["“bargain”","ideograph","Japanese","Japanese “bargain” button","得"]},{"id":":japanese_“discount”_button:","symbol":"🈹","group":"symbols","keywords":["“discount”","ideograph","Japanese","Japanese “discount” button","割"]},{"id":":japanese_“free_of_charge”_button:","symbol":"🈚","group":"symbols","keywords":["“free of charge”","ideograph","Japanese","Japanese “free of charge” button","無"]},{"id":":japanese_“prohibited”_button:","symbol":"🈲","group":"symbols","keywords":["“prohibited”","ideograph","Japanese","Japanese “prohibited” button","禁"]},{"id":":japanese_“acceptable”_button:","symbol":"🉑","group":"symbols","keywords":["“acceptable”","ideograph","Japanese","Japanese “acceptable” button","可"]},{"id":":japanese_“application”_button:","symbol":"🈸","group":"symbols","keywords":["“application”","ideograph","Japanese","Japanese “application” button","申"]},{"id":":japanese_“passing_grade”_button:","symbol":"🈴","group":"symbols","keywords":["“passing grade”","ideograph","Japanese","Japanese “passing grade” button","合"]},{"id":":japanese_“vacancy”_button:","symbol":"🈳","group":"symbols","keywords":["“vacancy”","ideograph","Japanese","Japanese “vacancy” button","空"]},{"id":":japanese_“congratulations”_button:","symbol":"㊗","group":"symbols","keywords":["“congratulations”","ideograph","Japanese","Japanese “congratulations” button","祝"]},{"id":":japanese_“secret”_button:","symbol":"㊙","group":"symbols","keywords":["“secret”","ideograph","Japanese","Japanese “secret” button","秘"]},{"id":":japanese_“open_for_business”_button:","symbol":"🈺","group":"symbols","keywords":["“open for business”","ideograph","Japanese","Japanese “open for business” button","営"]},{"id":":japanese_“no_vacancy”_button:","symbol":"🈵","group":"symbols","keywords":["“no vacancy”","ideograph","Japanese","Japanese “no vacancy” button","満"]},{"id":":red_circle:","symbol":"🔴","group":"symbols","keywords":["circle","geometric","red"]},{"id":":blue_circle:","symbol":"🔵","group":"symbols","keywords":["blue","circle","geometric"]},{"id":":white_circle:","symbol":"⚪","group":"symbols","keywords":["circle","geometric","white circle"]},{"id":":black_circle:","symbol":"⚫","group":"symbols","keywords":["black circle","circle","geometric"]},{"id":":white_large_square:","symbol":"⬜","group":"symbols","keywords":["geometric","square","white large square"]},{"id":":black_large_square:","symbol":"⬛","group":"symbols","keywords":["black large square","geometric","square"]},{"id":":black_medium_square:","symbol":"◼","group":"symbols","keywords":["black medium square","geometric","square"]},{"id":":white_medium_square:","symbol":"◻","group":"symbols","keywords":["geometric","square","white medium square"]},{"id":":white_medium-small_square:","symbol":"◽","group":"symbols","keywords":["geometric","square","white medium-small square"]},{"id":":black_medium-small_square:","symbol":"◾","group":"symbols","keywords":["black medium-small square","geometric","square"]},{"id":":white_small_square:","symbol":"▫","group":"symbols","keywords":["geometric","square","white small square"]},{"id":":black_small_square:","symbol":"▪","group":"symbols","keywords":["black small square","geometric","square"]},{"id":":large_orange_diamond:","symbol":"🔶","group":"symbols","keywords":["diamond","geometric","large orange diamond","orange"]},{"id":":large_blue_diamond:","symbol":"🔷","group":"symbols","keywords":["blue","diamond","geometric","large blue diamond"]},{"id":":small_orange_diamond:","symbol":"🔸","group":"symbols","keywords":["diamond","geometric","orange","small orange diamond"]},{"id":":small_blue_diamond:","symbol":"🔹","group":"symbols","keywords":["blue","diamond","geometric","small blue diamond"]},{"id":":red_triangle_pointed_up:","symbol":"🔺","group":"symbols","keywords":["geometric","red","red triangle pointed up"]},{"id":":red_triangle_pointed_down:","symbol":"🔻","group":"symbols","keywords":["down","geometric","red","red triangle pointed down"]},{"id":":diamond_with_a_dot:","symbol":"💠","group":"symbols","keywords":["comic","diamond","diamond with a dot","geometric","inside"]},{"id":":radio_button:","symbol":"🔘","group":"symbols","keywords":["button","geometric","radio"]},{"id":":black_square_button:","symbol":"🔲","group":"symbols","keywords":["black square button","button","geometric","square"]},{"id":":white_square_button:","symbol":"🔳","group":"symbols","keywords":["button","geometric","outlined","square","white square button"]},{"id":":chequered_flag:","symbol":"🏁","group":"flags","keywords":["checkered","chequered","chequered flag","racing"]},{"id":":triangular_flag:","symbol":"🚩","group":"flags","keywords":["post","triangular flag"]},{"id":":crossed_flags:","symbol":"🎌","group":"flags","keywords":["celebration","cross","crossed","crossed flags","Japanese"]},{"id":":black_flag:","symbol":"🏴","group":"flags","keywords":["black flag","waving"]},{"id":":white_flag:","symbol":"🏳","group":"flags","keywords":["waving","white flag"]},{"id":":rainbow_flag:","symbol":"🏳️‍🌈","group":"flags","keywords":["rainbow","rainbow flag"]},{"id":":flag_ascension_island:","symbol":"🇦🇨","group":"flags","keywords":["flag"]},{"id":":flag_andorra:","symbol":"🇦🇩","group":"flags","keywords":["flag"]},{"id":":flag_united_arab_emirates:","symbol":"🇦🇪","group":"flags","keywords":["flag"]},{"id":":flag_afghanistan:","symbol":"🇦🇫","group":"flags","keywords":["flag"]},{"id":":flag_antigua_&_barbuda:","symbol":"🇦🇬","group":"flags","keywords":["flag"]},{"id":":flag_anguilla:","symbol":"🇦🇮","group":"flags","keywords":["flag"]},{"id":":flag_albania:","symbol":"🇦🇱","group":"flags","keywords":["flag"]},{"id":":flag_armenia:","symbol":"🇦🇲","group":"flags","keywords":["flag"]},{"id":":flag_angola:","symbol":"🇦🇴","group":"flags","keywords":["flag"]},{"id":":flag_antarctica:","symbol":"🇦🇶","group":"flags","keywords":["flag"]},{"id":":flag_argentina:","symbol":"🇦🇷","group":"flags","keywords":["flag"]},{"id":":flag_american_samoa:","symbol":"🇦🇸","group":"flags","keywords":["flag"]},{"id":":flag_austria:","symbol":"🇦🇹","group":"flags","keywords":["flag"]},{"id":":flag_australia:","symbol":"🇦🇺","group":"flags","keywords":["flag"]},{"id":":flag_aruba:","symbol":"🇦🇼","group":"flags","keywords":["flag"]},{"id":":flag_åland_islands:","symbol":"🇦🇽","group":"flags","keywords":["flag"]},{"id":":flag_azerbaijan:","symbol":"🇦🇿","group":"flags","keywords":["flag"]},{"id":":flag_bosnia_&_herzegovina:","symbol":"🇧🇦","group":"flags","keywords":["flag"]},{"id":":flag_barbados:","symbol":"🇧🇧","group":"flags","keywords":["flag"]},{"id":":flag_bangladesh:","symbol":"🇧🇩","group":"flags","keywords":["flag"]},{"id":":flag_belgium:","symbol":"🇧🇪","group":"flags","keywords":["flag"]},{"id":":flag_burkina_faso:","symbol":"🇧🇫","group":"flags","keywords":["flag"]},{"id":":flag_bulgaria:","symbol":"🇧🇬","group":"flags","keywords":["flag"]},{"id":":flag_bahrain:","symbol":"🇧🇭","group":"flags","keywords":["flag"]},{"id":":flag_burundi:","symbol":"🇧🇮","group":"flags","keywords":["flag"]},{"id":":flag_benin:","symbol":"🇧🇯","group":"flags","keywords":["flag"]},{"id":":flag_st._barthélemy:","symbol":"🇧🇱","group":"flags","keywords":["flag"]},{"id":":flag_bermuda:","symbol":"🇧🇲","group":"flags","keywords":["flag"]},{"id":":flag_brunei:","symbol":"🇧🇳","group":"flags","keywords":["flag"]},{"id":":flag_bolivia:","symbol":"🇧🇴","group":"flags","keywords":["flag"]},{"id":":flag_caribbean_netherlands:","symbol":"🇧🇶","group":"flags","keywords":["flag"]},{"id":":flag_brazil:","symbol":"🇧🇷","group":"flags","keywords":["flag"]},{"id":":flag_bahamas:","symbol":"🇧🇸","group":"flags","keywords":["flag"]},{"id":":flag_bhutan:","symbol":"🇧🇹","group":"flags","keywords":["flag"]},{"id":":flag_bouvet_island:","symbol":"🇧🇻","group":"flags","keywords":["flag"]},{"id":":flag_botswana:","symbol":"🇧🇼","group":"flags","keywords":["flag"]},{"id":":flag_belarus:","symbol":"🇧🇾","group":"flags","keywords":["flag"]},{"id":":flag_belize:","symbol":"🇧🇿","group":"flags","keywords":["flag"]},{"id":":flag_canada:","symbol":"🇨🇦","group":"flags","keywords":["flag"]},{"id":":flag_cocos_(keeling)_islands:","symbol":"🇨🇨","group":"flags","keywords":["flag"]},{"id":":flag_congo_-_kinshasa:","symbol":"🇨🇩","group":"flags","keywords":["flag"]},{"id":":flag_central_african_republic:","symbol":"🇨🇫","group":"flags","keywords":["flag"]},{"id":":flag_congo_-_brazzaville:","symbol":"🇨🇬","group":"flags","keywords":["flag"]},{"id":":flag_switzerland:","symbol":"🇨🇭","group":"flags","keywords":["flag"]},{"id":":flag_côte_d’ivoire:","symbol":"🇨🇮","group":"flags","keywords":["flag"]},{"id":":flag_cook_islands:","symbol":"🇨🇰","group":"flags","keywords":["flag"]},{"id":":flag_chile:","symbol":"🇨🇱","group":"flags","keywords":["flag"]},{"id":":flag_cameroon:","symbol":"🇨🇲","group":"flags","keywords":["flag"]},{"id":":flag_china:","symbol":"🇨🇳","group":"flags","keywords":["flag"]},{"id":":flag_colombia:","symbol":"🇨🇴","group":"flags","keywords":["flag"]},{"id":":flag_clipperton_island:","symbol":"🇨🇵","group":"flags","keywords":["flag"]},{"id":":flag_costa_rica:","symbol":"🇨🇷","group":"flags","keywords":["flag"]},{"id":":flag_cuba:","symbol":"🇨🇺","group":"flags","keywords":["flag"]},{"id":":flag_cape_verde:","symbol":"🇨🇻","group":"flags","keywords":["flag"]},{"id":":flag_curaçao:","symbol":"🇨🇼","group":"flags","keywords":["flag"]},{"id":":flag_christmas_island:","symbol":"🇨🇽","group":"flags","keywords":["flag"]},{"id":":flag_cyprus:","symbol":"🇨🇾","group":"flags","keywords":["flag"]},{"id":":flag_czechia:","symbol":"🇨🇿","group":"flags","keywords":["flag"]},{"id":":flag_germany:","symbol":"🇩🇪","group":"flags","keywords":["flag"]},{"id":":flag_diego_garcia:","symbol":"🇩🇬","group":"flags","keywords":["flag"]},{"id":":flag_djibouti:","symbol":"🇩🇯","group":"flags","keywords":["flag"]},{"id":":flag_denmark:","symbol":"🇩🇰","group":"flags","keywords":["flag"]},{"id":":flag_dominica:","symbol":"🇩🇲","group":"flags","keywords":["flag"]},{"id":":flag_dominican_republic:","symbol":"🇩🇴","group":"flags","keywords":["flag"]},{"id":":flag_algeria:","symbol":"🇩🇿","group":"flags","keywords":["flag"]},{"id":":flag_ceuta_&_melilla:","symbol":"🇪🇦","group":"flags","keywords":["flag"]},{"id":":flag_ecuador:","symbol":"🇪🇨","group":"flags","keywords":["flag"]},{"id":":flag_estonia:","symbol":"🇪🇪","group":"flags","keywords":["flag"]},{"id":":flag_egypt:","symbol":"🇪🇬","group":"flags","keywords":["flag"]},{"id":":flag_western_sahara:","symbol":"🇪🇭","group":"flags","keywords":["flag"]},{"id":":flag_eritrea:","symbol":"🇪🇷","group":"flags","keywords":["flag"]},{"id":":flag_spain:","symbol":"🇪🇸","group":"flags","keywords":["flag"]},{"id":":flag_ethiopia:","symbol":"🇪🇹","group":"flags","keywords":["flag"]},{"id":":flag_european_union:","symbol":"🇪🇺","group":"flags","keywords":["flag"]},{"id":":flag_finland:","symbol":"🇫🇮","group":"flags","keywords":["flag"]},{"id":":flag_fiji:","symbol":"🇫🇯","group":"flags","keywords":["flag"]},{"id":":flag_falkland_islands:","symbol":"🇫🇰","group":"flags","keywords":["flag"]},{"id":":flag_micronesia:","symbol":"🇫🇲","group":"flags","keywords":["flag"]},{"id":":flag_faroe_islands:","symbol":"🇫🇴","group":"flags","keywords":["flag"]},{"id":":flag_france:","symbol":"🇫🇷","group":"flags","keywords":["flag"]},{"id":":flag_gabon:","symbol":"🇬🇦","group":"flags","keywords":["flag"]},{"id":":flag_united_kingdom:","symbol":"🇬🇧","group":"flags","keywords":["flag"]},{"id":":flag_grenada:","symbol":"🇬🇩","group":"flags","keywords":["flag"]},{"id":":flag_georgia:","symbol":"🇬🇪","group":"flags","keywords":["flag"]},{"id":":flag_french_guiana:","symbol":"🇬🇫","group":"flags","keywords":["flag"]},{"id":":flag_guernsey:","symbol":"🇬🇬","group":"flags","keywords":["flag"]},{"id":":flag_ghana:","symbol":"🇬🇭","group":"flags","keywords":["flag"]},{"id":":flag_gibraltar:","symbol":"🇬🇮","group":"flags","keywords":["flag"]},{"id":":flag_greenland:","symbol":"🇬🇱","group":"flags","keywords":["flag"]},{"id":":flag_gambia:","symbol":"🇬🇲","group":"flags","keywords":["flag"]},{"id":":flag_guinea:","symbol":"🇬🇳","group":"flags","keywords":["flag"]},{"id":":flag_guadeloupe:","symbol":"🇬🇵","group":"flags","keywords":["flag"]},{"id":":flag_equatorial_guinea:","symbol":"🇬🇶","group":"flags","keywords":["flag"]},{"id":":flag_greece:","symbol":"🇬🇷","group":"flags","keywords":["flag"]},{"id":":flag_south_georgia_&_south_sandwich_islands:","symbol":"🇬🇸","group":"flags","keywords":["flag"]},{"id":":flag_guatemala:","symbol":"🇬🇹","group":"flags","keywords":["flag"]},{"id":":flag_guam:","symbol":"🇬🇺","group":"flags","keywords":["flag"]},{"id":":flag_guinea-bissau:","symbol":"🇬🇼","group":"flags","keywords":["flag"]},{"id":":flag_guyana:","symbol":"🇬🇾","group":"flags","keywords":["flag"]},{"id":":flag_hong_kong_sar_china:","symbol":"🇭🇰","group":"flags","keywords":["flag"]},{"id":":flag_heard_&_mcdonald_islands:","symbol":"🇭🇲","group":"flags","keywords":["flag"]},{"id":":flag_honduras:","symbol":"🇭🇳","group":"flags","keywords":["flag"]},{"id":":flag_croatia:","symbol":"🇭🇷","group":"flags","keywords":["flag"]},{"id":":flag_haiti:","symbol":"🇭🇹","group":"flags","keywords":["flag"]},{"id":":flag_hungary:","symbol":"🇭🇺","group":"flags","keywords":["flag"]},{"id":":flag_canary_islands:","symbol":"🇮🇨","group":"flags","keywords":["flag"]},{"id":":flag_indonesia:","symbol":"🇮🇩","group":"flags","keywords":["flag"]},{"id":":flag_ireland:","symbol":"🇮🇪","group":"flags","keywords":["flag"]},{"id":":flag_israel:","symbol":"🇮🇱","group":"flags","keywords":["flag"]},{"id":":flag_isle_of_man:","symbol":"🇮🇲","group":"flags","keywords":["flag"]},{"id":":flag_india:","symbol":"🇮🇳","group":"flags","keywords":["flag"]},{"id":":flag_british_indian_ocean_territory:","symbol":"🇮🇴","group":"flags","keywords":["flag"]},{"id":":flag_iraq:","symbol":"🇮🇶","group":"flags","keywords":["flag"]},{"id":":flag_iran:","symbol":"🇮🇷","group":"flags","keywords":["flag"]},{"id":":flag_iceland:","symbol":"🇮🇸","group":"flags","keywords":["flag"]},{"id":":flag_italy:","symbol":"🇮🇹","group":"flags","keywords":["flag"]},{"id":":flag_jersey:","symbol":"🇯🇪","group":"flags","keywords":["flag"]},{"id":":flag_jamaica:","symbol":"🇯🇲","group":"flags","keywords":["flag"]},{"id":":flag_jordan:","symbol":"🇯🇴","group":"flags","keywords":["flag"]},{"id":":flag_japan:","symbol":"🇯🇵","group":"flags","keywords":["flag"]},{"id":":flag_kenya:","symbol":"🇰🇪","group":"flags","keywords":["flag"]},{"id":":flag_kyrgyzstan:","symbol":"🇰🇬","group":"flags","keywords":["flag"]},{"id":":flag_cambodia:","symbol":"🇰🇭","group":"flags","keywords":["flag"]},{"id":":flag_kiribati:","symbol":"🇰🇮","group":"flags","keywords":["flag"]},{"id":":flag_comoros:","symbol":"🇰🇲","group":"flags","keywords":["flag"]},{"id":":flag_st._kitts_&_nevis:","symbol":"🇰🇳","group":"flags","keywords":["flag"]},{"id":":flag_north_korea:","symbol":"🇰🇵","group":"flags","keywords":["flag"]},{"id":":flag_south_korea:","symbol":"🇰🇷","group":"flags","keywords":["flag"]},{"id":":flag_kuwait:","symbol":"🇰🇼","group":"flags","keywords":["flag"]},{"id":":flag_cayman_islands:","symbol":"🇰🇾","group":"flags","keywords":["flag"]},{"id":":flag_kazakhstan:","symbol":"🇰🇿","group":"flags","keywords":["flag"]},{"id":":flag_laos:","symbol":"🇱🇦","group":"flags","keywords":["flag"]},{"id":":flag_lebanon:","symbol":"🇱🇧","group":"flags","keywords":["flag"]},{"id":":flag_st._lucia:","symbol":"🇱🇨","group":"flags","keywords":["flag"]},{"id":":flag_liechtenstein:","symbol":"🇱🇮","group":"flags","keywords":["flag"]},{"id":":flag_sri_lanka:","symbol":"🇱🇰","group":"flags","keywords":["flag"]},{"id":":flag_liberia:","symbol":"🇱🇷","group":"flags","keywords":["flag"]},{"id":":flag_lesotho:","symbol":"🇱🇸","group":"flags","keywords":["flag"]},{"id":":flag_lithuania:","symbol":"🇱🇹","group":"flags","keywords":["flag"]},{"id":":flag_luxembourg:","symbol":"🇱🇺","group":"flags","keywords":["flag"]},{"id":":flag_latvia:","symbol":"🇱🇻","group":"flags","keywords":["flag"]},{"id":":flag_libya:","symbol":"🇱🇾","group":"flags","keywords":["flag"]},{"id":":flag_morocco:","symbol":"🇲🇦","group":"flags","keywords":["flag"]},{"id":":flag_monaco:","symbol":"🇲🇨","group":"flags","keywords":["flag"]},{"id":":flag_moldova:","symbol":"🇲🇩","group":"flags","keywords":["flag"]},{"id":":flag_montenegro:","symbol":"🇲🇪","group":"flags","keywords":["flag"]},{"id":":flag_st._martin:","symbol":"🇲🇫","group":"flags","keywords":["flag"]},{"id":":flag_madagascar:","symbol":"🇲🇬","group":"flags","keywords":["flag"]},{"id":":flag_marshall_islands:","symbol":"🇲🇭","group":"flags","keywords":["flag"]},{"id":":flag_macedonia:","symbol":"🇲🇰","group":"flags","keywords":["flag"]},{"id":":flag_mali:","symbol":"🇲🇱","group":"flags","keywords":["flag"]},{"id":":flag_myanmar_(burma):","symbol":"🇲🇲","group":"flags","keywords":["flag"]},{"id":":flag_mongolia:","symbol":"🇲🇳","group":"flags","keywords":["flag"]},{"id":":flag_macau_sar_china:","symbol":"🇲🇴","group":"flags","keywords":["flag"]},{"id":":flag_northern_mariana_islands:","symbol":"🇲🇵","group":"flags","keywords":["flag"]},{"id":":flag_martinique:","symbol":"🇲🇶","group":"flags","keywords":["flag"]},{"id":":flag_mauritania:","symbol":"🇲🇷","group":"flags","keywords":["flag"]},{"id":":flag_montserrat:","symbol":"🇲🇸","group":"flags","keywords":["flag"]},{"id":":flag_malta:","symbol":"🇲🇹","group":"flags","keywords":["flag"]},{"id":":flag_mauritius:","symbol":"🇲🇺","group":"flags","keywords":["flag"]},{"id":":flag_maldives:","symbol":"🇲🇻","group":"flags","keywords":["flag"]},{"id":":flag_malawi:","symbol":"🇲🇼","group":"flags","keywords":["flag"]},{"id":":flag_mexico:","symbol":"🇲🇽","group":"flags","keywords":["flag"]},{"id":":flag_malaysia:","symbol":"🇲🇾","group":"flags","keywords":["flag"]},{"id":":flag_mozambique:","symbol":"🇲🇿","group":"flags","keywords":["flag"]},{"id":":flag_namibia:","symbol":"🇳🇦","group":"flags","keywords":["flag"]},{"id":":flag_new_caledonia:","symbol":"🇳🇨","group":"flags","keywords":["flag"]},{"id":":flag_niger:","symbol":"🇳🇪","group":"flags","keywords":["flag"]},{"id":":flag_norfolk_island:","symbol":"🇳🇫","group":"flags","keywords":["flag"]},{"id":":flag_nigeria:","symbol":"🇳🇬","group":"flags","keywords":["flag"]},{"id":":flag_nicaragua:","symbol":"🇳🇮","group":"flags","keywords":["flag"]},{"id":":flag_netherlands:","symbol":"🇳🇱","group":"flags","keywords":["flag"]},{"id":":flag_norway:","symbol":"🇳🇴","group":"flags","keywords":["flag"]},{"id":":flag_nepal:","symbol":"🇳🇵","group":"flags","keywords":["flag"]},{"id":":flag_nauru:","symbol":"🇳🇷","group":"flags","keywords":["flag"]},{"id":":flag_niue:","symbol":"🇳🇺","group":"flags","keywords":["flag"]},{"id":":flag_new_zealand:","symbol":"🇳🇿","group":"flags","keywords":["flag"]},{"id":":flag_oman:","symbol":"🇴🇲","group":"flags","keywords":["flag"]},{"id":":flag_panama:","symbol":"🇵🇦","group":"flags","keywords":["flag"]},{"id":":flag_peru:","symbol":"🇵🇪","group":"flags","keywords":["flag"]},{"id":":flag_french_polynesia:","symbol":"🇵🇫","group":"flags","keywords":["flag"]},{"id":":flag_papua_new_guinea:","symbol":"🇵🇬","group":"flags","keywords":["flag"]},{"id":":flag_philippines:","symbol":"🇵🇭","group":"flags","keywords":["flag"]},{"id":":flag_pakistan:","symbol":"🇵🇰","group":"flags","keywords":["flag"]},{"id":":flag_poland:","symbol":"🇵🇱","group":"flags","keywords":["flag"]},{"id":":flag_st._pierre_&_miquelon:","symbol":"🇵🇲","group":"flags","keywords":["flag"]},{"id":":flag_pitcairn_islands:","symbol":"🇵🇳","group":"flags","keywords":["flag"]},{"id":":flag_puerto_rico:","symbol":"🇵🇷","group":"flags","keywords":["flag"]},{"id":":flag_palestinian_territories:","symbol":"🇵🇸","group":"flags","keywords":["flag"]},{"id":":flag_portugal:","symbol":"🇵🇹","group":"flags","keywords":["flag"]},{"id":":flag_palau:","symbol":"🇵🇼","group":"flags","keywords":["flag"]},{"id":":flag_paraguay:","symbol":"🇵🇾","group":"flags","keywords":["flag"]},{"id":":flag_qatar:","symbol":"🇶🇦","group":"flags","keywords":["flag"]},{"id":":flag_réunion:","symbol":"🇷🇪","group":"flags","keywords":["flag"]},{"id":":flag_romania:","symbol":"🇷🇴","group":"flags","keywords":["flag"]},{"id":":flag_serbia:","symbol":"🇷🇸","group":"flags","keywords":["flag"]},{"id":":flag_russia:","symbol":"🇷🇺","group":"flags","keywords":["flag"]},{"id":":flag_rwanda:","symbol":"🇷🇼","group":"flags","keywords":["flag"]},{"id":":flag_saudi_arabia:","symbol":"🇸🇦","group":"flags","keywords":["flag"]},{"id":":flag_solomon_islands:","symbol":"🇸🇧","group":"flags","keywords":["flag"]},{"id":":flag_seychelles:","symbol":"🇸🇨","group":"flags","keywords":["flag"]},{"id":":flag_sudan:","symbol":"🇸🇩","group":"flags","keywords":["flag"]},{"id":":flag_sweden:","symbol":"🇸🇪","group":"flags","keywords":["flag"]},{"id":":flag_singapore:","symbol":"🇸🇬","group":"flags","keywords":["flag"]},{"id":":flag_st._helena:","symbol":"🇸🇭","group":"flags","keywords":["flag"]},{"id":":flag_slovenia:","symbol":"🇸🇮","group":"flags","keywords":["flag"]},{"id":":flag_svalbard_&_jan_mayen:","symbol":"🇸🇯","group":"flags","keywords":["flag"]},{"id":":flag_slovakia:","symbol":"🇸🇰","group":"flags","keywords":["flag"]},{"id":":flag_sierra_leone:","symbol":"🇸🇱","group":"flags","keywords":["flag"]},{"id":":flag_san_marino:","symbol":"🇸🇲","group":"flags","keywords":["flag"]},{"id":":flag_senegal:","symbol":"🇸🇳","group":"flags","keywords":["flag"]},{"id":":flag_somalia:","symbol":"🇸🇴","group":"flags","keywords":["flag"]},{"id":":flag_suriname:","symbol":"🇸🇷","group":"flags","keywords":["flag"]},{"id":":flag_south_sudan:","symbol":"🇸🇸","group":"flags","keywords":["flag"]},{"id":":flag_são_tomé_&_príncipe:","symbol":"🇸🇹","group":"flags","keywords":["flag"]},{"id":":flag_el_salvador:","symbol":"🇸🇻","group":"flags","keywords":["flag"]},{"id":":flag_sint_maarten:","symbol":"🇸🇽","group":"flags","keywords":["flag"]},{"id":":flag_syria:","symbol":"🇸🇾","group":"flags","keywords":["flag"]},{"id":":flag_swaziland:","symbol":"🇸🇿","group":"flags","keywords":["flag"]},{"id":":flag_tristan_da_cunha:","symbol":"🇹🇦","group":"flags","keywords":["flag"]},{"id":":flag_turks_&_caicos_islands:","symbol":"🇹🇨","group":"flags","keywords":["flag"]},{"id":":flag_chad:","symbol":"🇹🇩","group":"flags","keywords":["flag"]},{"id":":flag_french_southern_territories:","symbol":"🇹🇫","group":"flags","keywords":["flag"]},{"id":":flag_togo:","symbol":"🇹🇬","group":"flags","keywords":["flag"]},{"id":":flag_thailand:","symbol":"🇹🇭","group":"flags","keywords":["flag"]},{"id":":flag_tajikistan:","symbol":"🇹🇯","group":"flags","keywords":["flag"]},{"id":":flag_tokelau:","symbol":"🇹🇰","group":"flags","keywords":["flag"]},{"id":":flag_timor-leste:","symbol":"🇹🇱","group":"flags","keywords":["flag"]},{"id":":flag_turkmenistan:","symbol":"🇹🇲","group":"flags","keywords":["flag"]},{"id":":flag_tunisia:","symbol":"🇹🇳","group":"flags","keywords":["flag"]},{"id":":flag_tonga:","symbol":"🇹🇴","group":"flags","keywords":["flag"]},{"id":":flag_turkey:","symbol":"🇹🇷","group":"flags","keywords":["flag"]},{"id":":flag_trinidad_&_tobago:","symbol":"🇹🇹","group":"flags","keywords":["flag"]},{"id":":flag_tuvalu:","symbol":"🇹🇻","group":"flags","keywords":["flag"]},{"id":":flag_taiwan:","symbol":"🇹🇼","group":"flags","keywords":["flag"]},{"id":":flag_tanzania:","symbol":"🇹🇿","group":"flags","keywords":["flag"]},{"id":":flag_ukraine:","symbol":"🇺🇦","group":"flags","keywords":["flag"]},{"id":":flag_uganda:","symbol":"🇺🇬","group":"flags","keywords":["flag"]},{"id":":flag_u.s._outlying_islands:","symbol":"🇺🇲","group":"flags","keywords":["flag"]},{"id":":flag_united_nations:","symbol":"🇺🇳","group":"flags","keywords":["flag"]},{"id":":flag_united_states:","symbol":"🇺🇸","group":"flags","keywords":["flag"]},{"id":":flag_uruguay:","symbol":"🇺🇾","group":"flags","keywords":["flag"]},{"id":":flag_uzbekistan:","symbol":"🇺🇿","group":"flags","keywords":["flag"]},{"id":":flag_vatican_city:","symbol":"🇻🇦","group":"flags","keywords":["flag"]},{"id":":flag_st._vincent_&_grenadines:","symbol":"🇻🇨","group":"flags","keywords":["flag"]},{"id":":flag_venezuela:","symbol":"🇻🇪","group":"flags","keywords":["flag"]},{"id":":flag_british_virgin_islands:","symbol":"🇻🇬","group":"flags","keywords":["flag"]},{"id":":flag_u.s._virgin_islands:","symbol":"🇻🇮","group":"flags","keywords":["flag"]},{"id":":flag_vietnam:","symbol":"🇻🇳","group":"flags","keywords":["flag"]},{"id":":flag_vanuatu:","symbol":"🇻🇺","group":"flags","keywords":["flag"]},{"id":":flag_wallis_&_futuna:","symbol":"🇼🇫","group":"flags","keywords":["flag"]},{"id":":flag_samoa:","symbol":"🇼🇸","group":"flags","keywords":["flag"]},{"id":":flag_kosovo:","symbol":"🇽🇰","group":"flags","keywords":["flag"]},{"id":":flag_yemen:","symbol":"🇾🇪","group":"flags","keywords":["flag"]},{"id":":flag_mayotte:","symbol":"🇾🇹","group":"flags","keywords":["flag"]},{"id":":flag_south_africa:","symbol":"🇿🇦","group":"flags","keywords":["flag"]},{"id":":flag_zambia:","symbol":"🇿🇲","group":"flags","keywords":["flag"]},{"id":":flag_zimbabwe:","symbol":"🇿🇼","group":"flags","keywords":["flag"]},{"id":":flag_england:","symbol":"🏴󠁧󠁢󠁥󠁮󠁧󠁿","group":"flags","keywords":["flag"]},{"id":":flag_scotland:","symbol":"🏴󠁧󠁢󠁳󠁣󠁴󠁿","group":"flags","keywords":["flag"]},{"id":":flag_wales:","symbol":"🏴󠁧󠁢󠁷󠁬󠁳󠁿","group":"flags","keywords":["flag"]}]');const ZM={autosave:{waitingTime:5e3,save:e=>async function(e){const t=Date.now(),o=e.config.get(HM),n=await e.getData();n||console.warn("Trying to save snapshot but data is not defined.");const i={timestamp:t,hash:OM(n),content:n},r=NM(o),s=r?.items||[];s.find((e=>i.hash===e.hash))||s.push(i);try{const e=MM.compress(JSON.stringify({items:s,updatedAt:t}));localStorage.setItem(o,e)}catch(t){Fw(e,"notifications").addError("Failed to save CKEditor data to localStorage: "+t.toString())}return!0}(e)},heading:{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h1",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h2",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h3",title:"Heading 3",class:"ck-heading_heading3"},{model:"heading4",view:"h4",title:"Heading 4",class:"ck-heading_heading4"},{model:"heading5",view:"h5",title:"Heading 5",class:"ck-heading_heading5"}]},toolbar:{},OPMacroEmbeddedTable:{toolbar:["opEditEmbeddedTableQuery"]},OPMacroWpButton:{toolbar:["opEditWpMacroButton"]},OPWikiIncludePage:{toolbar:["opEditWikiIncludeMacroButton"]},OPCodeBlock:{toolbar:["opEditCodeBlock"]},OPChildPages:{toolbar:["opEditChildPagesMacroButton"]},image:{insert:{type:"inline"},resizeUnit:"px",resizeOptions:[{name:"imageResize:original",value:null,icon:"original"},{name:"imageResize:50",value:"50",icon:"medium"},{name:"imageResize:75",value:"75",icon:"large"}],toolbar:["toggleImageCaption","imageTextAlternative","|","imageStyle:inline","imageStyle:block","|","imageResize:original"]},table:{contentToolbar:["tableColumn","tableRow","mergeTableCells","tableProperties","tableCellProperties"]},mention:{feeds:[{marker:"@",feed:function(e){const t=this;let o=Iw(t);if(o&&"Activity::Comment"===o._type){const e=o.$embedded.workPackage;e&&(o=e)}if(!o||"WorkPackage"!==o._type)return[];if(t.config.get("disabledMentions").includes("user"))return[];const n=Rw(t).api.v3.principals(o,e),i=Pw(t),r=window.OpenProject.urlRoot;return new Promise(((e,t)=>{SD(n,{responseKind:"json",query:{select:"elements/_type,elements/id,elements/name"}}).then((e=>e.json)).then((t=>{e(_.uniqBy(t._embedded.elements,(e=>e.id)).map((e=>{const t=e._type.toLowerCase(),o=`@${e.name}`,n=`@${e.id}`,s=e.id,a=i.services.apiV3Service[`${t}s`].segment;return{type:t,id:n,text:o,link:`${r}/${a}/${s}`,idNumber:s,name:e.name}})))})).catch((e=>{console.error("Error fetching user mentions:",e),t(e)}))}))},itemRenderer:GM,minimumCharacters:0},{marker:"###",feed:WM("###"),itemRenderer:GM,minimumCharacters:1},{marker:"##",feed:WM("##"),itemRenderer:GM,minimumCharacters:1},{marker:"#",feed:WM("#"),itemRenderer:GM,minimumCharacters:1},{marker:":",feed:function(e){return new Promise(((t,o)=>{const n=KM.filter((t=>function(e,t,o){if(t.includes(e))return!0;if(0!==o.length)for(let t=0;t({id:e.id,name:e.id.replace(/:/g,""),text:e.symbol,type:"emoji"})));t(n)}))},itemRenderer:function(e){const t=document.createElement("span");return t.classList.add("mention-list-item"),t.textContent=`${e.text} ${e.name}`,t},minimumCharacters:1}]},language:"en",licenseKey:"GPL"};function JM(e){return(t,o)=>{const n=o.openProject.context;o.removePlugins=o.removePlugins||[];const i=n.resource;if(i&&i.canAddAttachments||o.removePlugins.push(...$M.map((e=>e.pluginName))),!1===n.macros&&(o.openProject.disableAllMacros=!0,o.removePlugins.push(...qM.map((e=>e.pluginName)))),Array.isArray(n.macros)){const e=qM.filter((e=>-1===n.macros.indexOf(e.pluginName)));o.removePlugins.push(...e)}o.disabledMentions=[];const r=n.disabledMentions;return Array.isArray(r)&&(o.disabledMentions=r),e.create(t,o).then((e=>e))}}class YM extends lw{}class QM extends lw{}window.OPConstrainedEditor=YM,window.OPClassicEditor=QM,window.OPEditorWatchdog=Uh,QM.createCustomized=JM(QM),QM.builtinPlugins=UM,QM.defaultConfig=Object.assign({},ZM),QM.defaultConfig.toolbar={items:["heading","|","bold","italic","strikethrough","code","insertCodeBlock","link","bulletedList","numberedList","todoList","imageUpload","blockQuote","|","insertTable","macroList","|","opContentRevisions","undo","redo","openProjectShowFormattingHelp","|","pageBreak","|","preview","opShowSource"]},YM.createCustomized=JM(YM),YM.builtinPlugins=UM,YM.defaultConfig=Object.assign({},ZM),YM.defaultConfig.toolbar={items:["bold","italic","strikethrough","code","insertCodeBlock","link","bulletedList","numberedList","todoList","imageUpload","blockQuote","|","opContentRevisions","undo","redo","openProjectShowFormattingHelp","preview","opShowSource"]}})(),r=r.default})())); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.OPEditor=t():e.OPEditor=t()}(self,(()=>(()=>{var e={428:e=>{var t=!0,o=!1,i=!1;function n(e,t,o){var i=e.attrIndex(t),n=[t,o];i<0?e.attrPush(n):e.attrs[i]=n}function s(e,t){for(var o=e[t].level-1,i=t-1;i>=0;i--)if(e[i].level===o)return i;return-1}function r(e,t){return"inline"===e[t].type&&function(e){return"paragraph_open"===e.type}(e[t-1])&&function(e){return"list_item_open"===e.type}(e[t-2])&&function(e){return 0===e.content.indexOf("[ ] ")||0===e.content.indexOf("[x] ")||0===e.content.indexOf("[X] ")}(e[t])}function a(e,n){if(e.children.unshift(function(e,o){var i=new o("html_inline","",0),n=t?' disabled="" ':"";0===e.content.indexOf("[ ] ")?i.content='':0!==e.content.indexOf("[x] ")&&0!==e.content.indexOf("[X] ")||(i.content='');return i}(e,n)),e.children[1].content=e.children[1].content.slice(3),e.content=e.content.slice(3),o)if(i){e.children.pop();var s="task-item-"+Math.ceil(1e7*Math.random()-1e3);e.children[0].content=e.children[0].content.slice(0,-1)+' id="'+s+'">',e.children.push(function(e,t,o){var i=new o("html_inline","",0);return i.content='",i.attrs=[{for:t}],i}(e.content,s,n))}else e.children.unshift(function(e){var t=new e("html_inline","",0);return t.content="",t}(n))}e.exports=function(e,l){l&&(t=!l.enabled,o=!!l.label,i=!!l.labelAfter),e.core.ruler.after("inline","github-task-lists",(function(e){for(var o=e.tokens,i=2;i{var i,n=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",i={};function n(e,t){if(!i[e]){i[e]={};for(var o=0;o>>8,o[2*i+1]=r%256}return o},decompressFromUint8Array:function(t){if(null==t)return s.decompress(t);for(var o=new Array(t.length/2),i=0,n=o.length;i>=1}else{for(n=1,i=0;i>=1}0==--u&&(u=Math.pow(2,m),m++),delete a[d]}else for(n=r[d],i=0;i>=1;0==--u&&(u=Math.pow(2,m),m++),r[c]=h++,d=String(l)}if(""!==d){if(Object.prototype.hasOwnProperty.call(a,d)){if(d.charCodeAt(0)<256){for(i=0;i>=1}else{for(n=1,i=0;i>=1}0==--u&&(u=Math.pow(2,m),m++),delete a[d]}else for(n=r[d],i=0;i>=1;0==--u&&(u=Math.pow(2,m),m++)}for(n=2,i=0;i>=1;for(;;){if(p<<=1,f==t-1){g.push(o(p));break}f++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:s._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,o,i){var n,s,r,a,l,c,d,u=[],h=4,m=4,g=3,p="",f=[],b={val:i(0),position:o,index:1};for(n=0;n<3;n+=1)u[n]=n;for(r=0,l=Math.pow(2,2),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=i(b.index++)),r|=(a>0?1:0)*c,c<<=1;switch(r){case 0:for(r=0,l=Math.pow(2,8),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=i(b.index++)),r|=(a>0?1:0)*c,c<<=1;d=e(r);break;case 1:for(r=0,l=Math.pow(2,16),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=i(b.index++)),r|=(a>0?1:0)*c,c<<=1;d=e(r);break;case 2:return""}for(u[3]=d,s=d,f.push(d);;){if(b.index>t)return"";for(r=0,l=Math.pow(2,g),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=i(b.index++)),r|=(a>0?1:0)*c,c<<=1;switch(d=r){case 0:for(r=0,l=Math.pow(2,8),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=i(b.index++)),r|=(a>0?1:0)*c,c<<=1;u[m++]=e(r),d=m-1,h--;break;case 1:for(r=0,l=Math.pow(2,16),c=1;c!=l;)a=b.val&b.position,b.position>>=1,0==b.position&&(b.position=o,b.val=i(b.index++)),r|=(a>0?1:0)*c,c<<=1;u[m++]=e(r),d=m-1,h--;break;case 2:return f.join("")}if(0==h&&(h=Math.pow(2,g),g++),u[d])p=u[d];else{if(d!==m)return null;p=s+s.charAt(0)}f.push(p),u[m++]=s+p.charAt(0),s=p,0==--h&&(h=Math.pow(2,g),g++)}}};return s}();void 0===(i=function(){return n}.call(t,o,t,e))||(e.exports=i)}},t={};function o(i){var n=t[i];if(void 0!==n)return n.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,o),s.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{"use strict";var e={};o.r(e),o.d(e,{decode:()=>qx,encode:()=>Wx,format:()=>Ux,parse:()=>sE});var t={};o.r(t),o.d(t,{Any:()=>lE,Cc:()=>cE,Cf:()=>dE,P:()=>rE,S:()=>aE,Z:()=>uE});var i={};o.r(i),o.d(i,{arrayReplaceAt:()=>LE,assign:()=>BE,escapeHtml:()=>QE,escapeRE:()=>XE,fromCodePoint:()=>jE,has:()=>NE,isMdAsciiPunct:()=>iT,isPunctChar:()=>oT,isSpace:()=>eT,isString:()=>FE,isValidEntityCode:()=>zE,isWhiteSpace:()=>tT,lib:()=>sT,normalizeReference:()=>nT,unescapeAll:()=>UE,unescapeMd:()=>WE});var n={};function s(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function r(e){return"string"==typeof e||e instanceof String}function a(e){if("object"!=typeof e)return!1;if(null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){const t=e[Symbol.toStringTag];if(null==t)return!1;return!!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable&&e.toString()===`[object ${t}]`}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function l(e){return Object.getOwnPropertySymbols(e).filter((t=>Object.prototype.propertyIsEnumerable.call(e,t)))}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}o.r(n),o.d(n,{parseLinkDestination:()=>aT,parseLinkLabel:()=>rT,parseLinkTitle:()=>lT});const d="[object RegExp]",u="[object String]",h="[object Number]",m="[object Boolean]",g="[object Arguments]",p="[object Symbol]",f="[object Date]",b="[object Map]",w="[object Set]",y="[object Array]",k="[object ArrayBuffer]",v="[object Object]",C="[object DataView]",A="[object Uint8Array]",x="[object Uint8ClampedArray]",E="[object Uint16Array]",T="[object Uint32Array]",P="[object Int8Array]",S="[object Int16Array]",I="[object Int32Array]",R="[object Float32Array]",O="[object Float64Array]";function V(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function D(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function F(e,t,o,i=new Map,n=void 0){const s=n?.(e,t,o,i);if(void 0!==s)return s;if(V(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){const t=new Array(e.length);i.set(e,t);for(let s=0;s{const r=t?.(o,i,n,s);if(void 0!==r)return r;if("object"==typeof e){if(c(e)===v&&"function"!=typeof e.constructor){const t={};return s.set(e,t),M(t,e,n,s),t}switch(Object.prototype.toString.call(e)){case h:case u:case m:{const t=new e.constructor(e?.valueOf());return M(t,e),t}case g:{const t={};return M(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}}))}function B(e){return"object"==typeof e&&null!==e}function L(e){return B(e)&&1===e.nodeType&&!a(e)}function z(e){return"function"==typeof e}function j(e){return N(e)}function q(e){return"__proto__"===e}function $(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===c(e)}function H(e){return null!=e&&"function"!=typeof e&&function(e){return Number.isSafeInteger(e)&&e>=0}(e.length)}function W(e){return D(e)}function U(e,t,o,i){if(V(e)&&(e=Object(e)),null==t||"object"!=typeof t)return e;if(i.has(t))return function(e){if(V(e))return e;if(Array.isArray(e)||D(e)||e instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);const t=Object.getPrototypeOf(e);if(null==t)return Object.assign(Object.create(t),e);const o=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new o(e);if(e instanceof RegExp){const t=new o(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new o(e.buffer.slice(0));if(e instanceof Error){let t;return t=e instanceof AggregateError?new o(e.errors,e.message,{cause:e.cause}):new o(e.message,{cause:e.cause}),t.stack=e.stack,Object.assign(t,e),t}if("undefined"!=typeof File&&e instanceof File)return new o([e],e.name,{type:e.type,lastModified:e.lastModified});if("object"==typeof e){const o=Object.create(t);return Object.assign(o,e)}return e}(i.get(t));if(i.set(t,e),Array.isArray(t)){t=t.slice();for(let e=0;e-1}function ee(e){return e.indexOf("windows")>-1}function te(e){return!!e.match(/gecko\/\d+/)}function oe(e){return e.indexOf(" applewebkit/")>-1&&-1===e.indexOf("chrome")}function ie(e){return!!e.match(/iphone|ipad/i)||X(e)&&navigator.maxTouchPoints>0}function ne(e){return e.indexOf("android")>-1}function se(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}function re(){let e=!1;try{e=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch{}return e}function ae(e,t,o,i){o=o||function(e,t){return e===t};const n=Array.isArray(e)?e:Array.prototype.slice.call(e),s=Array.isArray(t)?t:Array.prototype.slice.call(t),r=function(e,t,o){const i=le(e,t,o);if(-1===i)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const n=ce(e,i),s=ce(t,i),r=le(n,s,o),a=e.length-r,l=t.length-r;return{firstIndex:i,lastIndexOld:a,lastIndexNew:l}}(n,s,o),a=i?function(e,t){const{firstIndex:o,lastIndexOld:i,lastIndexNew:n}=e;if(-1===o)return Array(t).fill("equal");let s=[];o>0&&(s=s.concat(Array(o).fill("equal")));n-o>0&&(s=s.concat(Array(n-o).fill("insert")));i-o>0&&(s=s.concat(Array(i-o).fill("delete")));n0&&o.push({index:i,type:"insert",values:e.slice(i,s)});n-i>0&&o.push({index:i+(s-i),type:"delete",howMany:n-i});return o}(s,r);return a}function le(e,t,o){for(let i=0;i200||n>200||i+n>300)return de.fastDiff(e,t,o,!0);let s,r;if(nc?-1:1;d[i+h]&&(d[i]=d[i+h].slice(0)),d[i]||(d[i]=[]),d[i].push(n>c?s:r);let m=Math.max(n,c),g=m-i;for(;gc;m--)u[m]=h(m);u[c]=h(c),g++}while(u[c]!==l);return d[c].slice(1)}de.fastDiff=ae;class ue{source;name;path;stop;off;return;constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=function e(){e.called=!0},this.off=function e(){e.called=!0}}}const he=new Array(256).fill("").map(((e,t)=>("0"+t.toString(16)).slice(-2)));function me(){const[e,t,o,i]=crypto.getRandomValues(new Uint32Array(4));return"e"+he[255&e]+he[e>>8&255]+he[e>>16&255]+he[e>>24&255]+he[255&t]+he[t>>8&255]+he[t>>16&255]+he[t>>24&255]+he[255&o]+he[o>>8&255]+he[o>>16&255]+he[o>>24&255]+he[255&i]+he[i>>8&255]+he[i>>16&255]+he[i>>24&255]}const ge={get(e="normal"){return"number"!=typeof e?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function pe(e,t){const o=ge.get(t.priority);let i=0,n=e.length;for(;i>1;ge.get(e[t].priority){if("object"==typeof t&&null!==t){if(i.has(t))return`[object ${t.constructor.name}]`;i.add(t)}return t},s=t?` ${JSON.stringify(t,n)}`:"",r=we(e),a=o?`\nOriginal error: ${o.name}: ${o.message}`:"";return e+s+r+a}(e,o,i)),this.name="CKEditorError",this.context=t,this.data=o,i&&(this.stack=i.stack)}is(e){return"CKEditorError"===e}static rethrowUnexpectedError(e,t){if(e.is&&e.is("CKEditorError"))throw e;throw new fe("unexpected-error",t,void 0,e)}}function be(e,t){console.warn(...ye(e,t))}function we(e){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${e}`}function ye(e,t){const o=we(e);return t?[e,t,o]:[e,o]}const _e=new Date(2026,2,31);if(globalThis.CKEDITOR_VERSION)throw new fe("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION="48.0.0";const ke=Symbol("listeningTo"),ve=Symbol("emitterId"),Ce=Symbol("delegations"),Ae=xe(Object);function xe(e){if(!e)return Ae;return class extends e{on(e,t,o){this.listenTo(this,e,t,o)}once(e,t,o){let i=!1;this.listenTo(this,e,((e,...o)=>{i||(i=!0,e.off(),t.call(this,e,...o))}),o)}off(e,t){this.stopListening(this,e,t)}listenTo(e,t,o,i={}){let n,s;this[ke]||(this[ke]={});const r=this[ke];Te(e)||Ee(e);const a=Te(e);(n=r[a])||(n=r[a]={emitter:e,callbacks:{}}),(s=n.callbacks[t])||(s=n.callbacks[t]=[]),s.push(o),function(e,t,o,i,n){t._addEventListener?t._addEventListener(o,i,n):e._addEventListener.call(t,o,i,n)}(this,e,t,o,i)}stopListening(e,t,o){const i=this[ke];let n=e&&Te(e);const s=i&&n?i[n]:void 0,r=s&&t?s.callbacks[t]:void 0;if(!(!i||e&&!s||t&&!r))if(o){Re(this,e,t,o);-1!==r.indexOf(o)&&(1===r.length?delete s.callbacks[t]:Re(this,e,t,o))}else if(r){for(;o=r.pop();)Re(this,e,t,o);delete s.callbacks[t]}else if(s){for(t in s.callbacks)this.stopListening(e,t);delete i[n]}else{for(n in i)this.stopListening(i[n].emitter);delete this[ke]}}fire(e,...t){try{const o=e instanceof ue?e:new ue(this,e),i=o.name;let n=function(e,t){if(!e._events)return null;let o=t;do{const t=e._events[o];if(t&&t.callbacks&&t.callbacks.length)return t.callbacks;const i=o.lastIndexOf(":");o=i>-1?o.substring(0,i):""}while(o);return null}(this,i);if(o.path.push(this),n){n=n.slice();for(let e=0;e{this[Ce]||(this[Ce]=new Map),e.forEach((e=>{const i=this[Ce].get(e);i?i.set(t,o):this[Ce].set(e,new Map([[t,o]]))}))}}}stopDelegating(e,t){if(this[Ce])if(e)if(t){const o=this[Ce].get(e);o&&o.delete(t)}else this[Ce].delete(e);else this[Ce].clear()}_addEventListener(e,t,o){!function(e,t){const o=Pe(e);if(o[t])return;let i=t,n=null;const s=[];for(;""!==i&&!o[i];)o[i]={callbacks:[],childEvents:[]},s.push(o[i]),n&&o[i].childEvents.push(n),n=i,i=i.substr(0,i.lastIndexOf(":"));if(""!==i){for(const e of s)e.callbacks=o[i].callbacks.slice();o[i].childEvents.push(n)}}(this,e);const i=Se(this,e),n={callback:t,priority:ge.get(o.priority)};for(const e of i)pe(e,n)}_removeEventListener(e,t){const o=Se(this,e);for(const e of o)for(let o=0;o{this.set(t,e[t])}),this);Le(this);const o=this[Oe];if(e in this&&!o.has(e))throw new fe("observable-set-cannot-override",this);Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get:()=>o.get(e),set(t){const i=o.get(e);let n=this.fire(`set:${e}`,e,t,i);void 0===n&&(n=t),i===n&&o.has(e)||(o.set(e,n),this.fire(`change:${e}`,e,n,i))}}),this[e]=t}bind(...e){if(!e.length||!qe(e))throw new fe("observable-bind-wrong-properties",this);if(new Set(e).size!==e.length)throw new fe("observable-bind-duplicate-properties",this);Le(this);const t=this[De];e.forEach((e=>{if(t.has(e))throw new fe("observable-bind-rebind",this)}));const o=new Map;return e.forEach((e=>{const i={property:e,to:[]};t.set(e,i),o.set(e,i)})),{to:ze,toMany:je,_observable:this,_bindProperties:e,_to:[],_bindings:o}}unbind(...e){if(!this[Oe])return;const t=this[De],o=this[Ve];if(e.length){if(!qe(e))throw new fe("observable-unbind-wrong-properties",this);e.forEach((e=>{const i=t.get(e);i&&(i.to.forEach((([e,t])=>{const n=o.get(e),s=n[t];s.delete(i),s.size||delete n[t],Object.keys(n).length||(o.delete(e),this.stopListening(e,"change"))})),t.delete(e))}))}else o.forEach(((e,t)=>{this.stopListening(t,"change")})),o.clear(),t.clear()}decorate(e){Le(this);const t=this[e];if(!t)throw new fe("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:e});this.on(e,((e,o)=>{e.return=t.apply(this,o)})),this[e]=function(...t){return this.fire(e,t)},this[e][Me]=t,this[Fe]||(this[Fe]=[]),this[Fe].push(e)}stopListening(e,t,o){if(!e&&this[Fe]){for(const e of this[Fe])this[e]=this[e][Me];delete this[Fe]}super.stopListening(e,t,o)}[Oe];[Fe];[De];[Ve]}}function Le(e){e[Oe]||(Object.defineProperty(e,Oe,{value:new Map}),Object.defineProperty(e,Ve,{value:new Map}),Object.defineProperty(e,De,{value:new Map}))}function ze(...e){const t=function(...e){if(!e.length)throw new fe("observable-bind-to-parse-error",null);const t={to:[]};let o;"function"==typeof e[e.length-1]&&(t.callback=e.pop());return e.forEach((e=>{if("string"==typeof e)o.properties.push(e);else{if("object"!=typeof e)throw new fe("observable-bind-to-parse-error",null);o={observable:e,properties:[]},t.to.push(o)}})),t}(...e),o=Array.from(this._bindings.keys()),i=o.length;if(!t.callback&&t.to.length>1)throw new fe("observable-bind-to-no-callback",this);if(i>1&&t.callback)throw new fe("observable-bind-to-extra-callback",this);var n;t.to.forEach((e=>{if(e.properties.length&&e.properties.length!==i)throw new fe("observable-bind-to-properties-length",this);e.properties.length||(e.properties=this._bindProperties)})),this._to=t.to,t.callback&&(this._bindings.get(o[0]).callback=t.callback),n=this._observable,this._to.forEach((e=>{const t=n[Ve];let o;t.get(e.observable)||n.listenTo(e.observable,"change",((i,s)=>{o=t.get(e.observable)[s],o&&o.forEach((e=>{$e(n,e.property)}))}))})),function(e){let t;e._bindings.forEach(((o,i)=>{e._to.forEach((n=>{t=n.properties[o.callback?0:e._bindProperties.indexOf(i)],o.to.push([n.observable,t]),function(e,t,o,i){const n=e[Ve],s=n.get(o),r=s||{};r[i]||(r[i]=new Set);r[i].add(t),s||n.set(o,r)}(e._observable,o,n.observable,t)}))}))}(this),this._bindProperties.forEach((e=>{$e(this._observable,e)}))}function je(e,t,o){if(this._bindings.size>1)throw new fe("observable-bind-to-many-not-one-binding",this);this.to(...function(e,t){const o=e.map((e=>[e,t]));return Array.prototype.concat.apply([],o)}(e,t),o)}function qe(e){return e.every((e=>"string"==typeof e))}function $e(e,t){const o=e[De].get(t);let i;o.callback?i=o.callback.apply(e,o.to.map((e=>e[0][e[1]]))):(i=o.to[0],i=i[0][i[1]]),Object.prototype.hasOwnProperty.call(e,t)?e[t]=i:e.set(t,i)}function He(e){let t=0;for(const o of e)t++;return t}function We(e,t){const o=Math.min(e.length,t.length);for(let i=0;i{this._setToTarget(e,i,t[i],o)}))}}function Je(e){return N(e,Ze)}function Ze(e){return L(e)||"function"==typeof e?e:void 0}function Qe(e){if(e){if(e.defaultView)return e instanceof e.defaultView.Document;if(e.ownerDocument&&e.ownerDocument.defaultView)return e instanceof e.ownerDocument.defaultView.Node}return!1}function Ye(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}const Xe=et(xe());function et(e){if(!e)return Xe;return class extends e{listenTo(e,t,o,i={}){if(Qe(e)||Ye(e)||e instanceof J.window.EventTarget){const n={capture:!!i.useCapture,passive:!!i.usePassive},s=this._getProxyEmitter(e,n)||new tt(e,n);this.listenTo(s,t,o,i)}else super.listenTo(e,t,o,i)}stopListening(e,t,o){if(Qe(e)||Ye(e)||e instanceof J.window.EventTarget){const i=this._getAllProxyEmitters(e);for(const e of i)this.stopListening(e,t,o)}else super.stopListening(e,t,o)}_getProxyEmitter(e,t){return function(e,t){const o=e[ke];return o&&o[t]?o[t].emitter:null}(this,ot(e,t))}_getAllProxyEmitters(e){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((t=>this._getProxyEmitter(e,t))).filter((e=>!!e))}}}class tt extends(xe()){_domNode;_options;constructor(e,t){super(),Ee(this,ot(e,t)),this._domNode=e,this._options=t}_domListeners;attach(e){if(this._domListeners&&this._domListeners[e])return;const t=this._createDomListener(e);this._domNode.addEventListener(e,t,this._options),this._domListeners||(this._domListeners={}),this._domListeners[e]=t}detach(e){let t;!this._domListeners[e]||(t=this._events[e])&&t.callbacks.length||this._domListeners[e].removeListener()}_addEventListener(e,t,o){this.attach(e),xe().prototype._addEventListener.call(this,e,t,o)}_removeEventListener(e,t){xe().prototype._removeEventListener.call(this,e,t),this.detach(e)}_createDomListener(e){const t=t=>{this.fire(e,t)};return t.removeListener=()=>{this._domNode.removeEventListener(e,t,this._options),delete this._domListeners[e]},t}}function ot(e,t){let o=function(e){return e["data-ck-expando"]||(e["data-ck-expando"]=me())}(e);for(const e of Object.keys(t).sort())t[e]&&(o+="-"+e);return o}function it(e){const t=[];let o=e;for(;o&&o.nodeType!=Node.DOCUMENT_NODE;)t.unshift(o),o=o.parentNode;return t}function nt(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}function st(e){if(!e.target)return null;const t=e.target.ownerDocument,o=e.clientX,i=e.clientY;let n=null;return t.caretRangeFromPoint&&t.caretRangeFromPoint(o,i)?n=t.caretRangeFromPoint(o,i):e.rangeParent&&(n=t.createRange(),n.setStart(e.rangeParent,e.rangeOffset),n.collapse(!0)),n}function rt(e){return e&&e.parentNode?e.offsetParent===J.document.body?null:e.offsetParent:null}function at(e){return"[object Text]"==Object.prototype.toString.call(e)}function lt(e){return"[object Range]"==Object.prototype.toString.apply(e)}const ct=["top","right","bottom","left","width","height"],dt=new Set(["relative","absolute","fixed","sticky"]);class ut{top;right;bottom;left;width;height;_source;constructor(e){const t=lt(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),gt(e)||t)if(t){const t=ut.getDomRangeRects(e);ht(this,ut.getBoundingRect(t))}else ht(this,e.getBoundingClientRect());else if(Ye(e)){const{innerWidth:t,innerHeight:o}=e;ht(this,{top:0,right:t,bottom:o,left:0,width:t,height:o})}else ht(this,e)}clone(){return new ut(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left),width:0,height:0};if(t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0)return null;{const e=new ut(t);return e._source=this._source,e}}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(mt(e))return t;let o,i=e,n=e.parentNode||e.commonAncestorContainer;for(;n&&!mt(n);){const e="visible"===((s=n)instanceof HTMLElement?s.ownerDocument.defaultView.getComputedStyle(s).overflow:"visible");if(ft(i)&&(o=i),e||o&&"absolute"===pt(o)&&!ft(n)){i=n,n=n.parentNode;continue}const r=new ut(n),a=t.getIntersection(r);if(!a)return null;a.getArea(){const o=new ut(t);return o._source=e,o}))}static getBoundingRect(e){const t={left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY,width:0,height:0};let o=0;for(const i of e)o++,t.left=Math.min(t.left,i.left),t.top=Math.min(t.top,i.top),t.right=Math.max(t.right,i.right),t.bottom=Math.max(t.bottom,i.bottom);return 0==o?null:(t.width=t.right-t.left,t.height=t.bottom-t.top,new ut(t))}}function ht(e,t){for(const o of ct)e[o]=t[o]}function mt(e){return!!gt(e)&&e===e.ownerDocument.body}function gt(e){return null!==e&&"object"==typeof e&&1===e.nodeType&&"function"==typeof e.getBoundingClientRect}function pt(e){return e.ownerDocument.defaultView.getComputedStyle(e).position}function ft(e){return e instanceof HTMLElement&&dt.has(pt(e))}class bt{_element;_callback;static _observerInstance=null;static _elementCallbacks=null;constructor(e,t){bt._observerInstance||bt._createObserver(),this._element=e,this._callback=t,bt._addElementCallback(e,t),bt._observerInstance.observe(e)}get element(){return this._element}destroy(){bt._deleteElementCallback(this._element,this._callback)}static _addElementCallback(e,t){bt._elementCallbacks||(bt._elementCallbacks=new Map);let o=bt._elementCallbacks.get(e);o||(o=new Set,bt._elementCallbacks.set(e,o)),o.add(t)}static _deleteElementCallback(e,t){const o=bt._getElementCallbacks(e);o&&(o.delete(t),o.size||(bt._elementCallbacks.delete(e),bt._observerInstance.unobserve(e))),bt._elementCallbacks&&!bt._elementCallbacks.size&&(bt._observerInstance=null,bt._elementCallbacks=null)}static _getElementCallbacks(e){return bt._elementCallbacks?bt._elementCallbacks.get(e):null}static _createObserver(){bt._observerInstance=new J.window.ResizeObserver((e=>{for(const t of e){const e=bt._getElementCallbacks(t.target);if(e)for(const o of e)o(t)}}))}}function wt(e,t){e instanceof HTMLTextAreaElement&&(e.value=t),e.innerHTML=t}function yt(e){return t=>t+e}function _t(e){let t=0;for(;e.previousSibling;)e=e.previousSibling,t++;return t}function kt(e,t,o){e.insertBefore(o,e.childNodes[t]||null)}function vt(e){return e&&e.nodeType===Node.COMMENT_NODE}function Ct(e){return!!e&&(at(e)?Ct(e.parentElement):!!e.getClientRects&&!!e.getClientRects().length)}function At({element:e,target:t,positions:o,limiter:i,fitInViewport:n,viewportOffsetConfig:s}){z(t)&&(t=t()),z(i)&&(i=i());const r=rt(e),a=Et(s),l=new ut(e),c=xt(t,a);let d;if(!c||!a.getIntersection(c))return null;const u={targetRect:c,elementRect:l,positionedElementAncestor:r,viewportRect:a};if(i||n){if(i){const e=xt(i,a);e&&(u.limiterRect=e)}d=function(e,t){const{elementRect:o}=t,i=o.getArea(),n=e.map((e=>new Tt(e,t))).filter((e=>!!e.name));let s=0,r=null;for(const e of n){const{limiterIntersectionArea:t,viewportIntersectionArea:o}=e;if(t===i)return e;const n=o**2+t**2;n>s&&(s=n,r=e)}return r}(o,u)}else d=new Tt(o[0],u);return d}function xt(e,t){const o=new ut(e).getVisible();return o?o.getIntersection(t):null}function Et(e){e=Object.assign({top:0,bottom:0,left:0,right:0},e);const t=new ut(J.window);return t.top+=e.top,t.height-=e.top,t.bottom-=e.bottom,t.height-=e.bottom,t.left+=e.left,t.right-=e.right,t.width-=e.left+e.right,t}class Tt{name;config;_positioningFunctionCoordinates;_options;_cachedRect;_cachedAbsoluteRect;constructor(e,t){const o=e(t.targetRect,t.elementRect,t.viewportRect,t.limiterRect);if(!o)return;const{left:i,top:n,name:s,config:r}=o;this.name=s,this.config=r,this._positioningFunctionCoordinates={left:i,top:n},this._options=t}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const e=this._options.limiterRect;return e?e.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=this._rect.toAbsoluteRect()),this._cachedAbsoluteRect}}function Pt(e){const t=e.parentNode;t&&t.removeChild(e)}function St(){const e=J.window.visualViewport;if(!e||!Y.isiOS&&!Y.isSafari)return{left:0,top:0};return{left:Math.max(Math.round(e.offsetLeft),0),top:Math.max(Math.round(e.offsetTop),0)}}function It({window:e,rect:t,alignToTop:o,forceScroll:i,viewportOffset:n}){const s=t.clone().moveBy(0,n.bottom),r=t.clone().moveBy(0,-n.top),a=new ut(e).excludeScrollbarsAndBorders(),l=o&&i,c=[r,s].every((e=>a.contains(e)));let{scrollX:d,scrollY:u}=e;const h=d,m=u;l?u-=a.top-t.top+n.top:c||(Vt(r,a)?u-=a.top-t.top+n.top:Ot(s,a)&&(u+=o?t.top-a.top-n.top:t.bottom-a.bottom+n.bottom)),c||(Dt(t,a)?d-=a.left-t.left+n.left:Ft(t,a)&&(d+=t.right-a.right+n.right)),d==h&&u===m||e.scrollTo(d,u)}function Rt({parent:e,getRect:t,alignToTop:o,forceScroll:i,ancestorOffset:n=0,limiterElement:s}){const r=Mt(e),a=o&&i;let l,c,d;const u=s||r.document.body;for(;e!=u;)c=t(),l=new ut(e).excludeScrollbarsAndBorders(),d=l.contains(c),a?e.scrollTop-=l.top-c.top+n:d||(Vt(c,l)?e.scrollTop-=l.top-c.top+n:Ot(c,l)&&(e.scrollTop+=o?c.top-l.top-n:c.bottom-l.bottom+n)),d||(Dt(c,l)?e.scrollLeft-=l.left-c.left+n:Ft(c,l)&&(e.scrollLeft+=c.right-l.right+n)),e=e.parentNode}function Ot(e,t){return e.bottom>t.bottom}function Vt(e,t){return e.topt.right}function Mt(e){return lt(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function Nt(e){if(lt(e)){let t=e.commonAncestorContainer;return at(t)&&(t=t.parentNode),t}return e.parentNode}function Bt(e,t){const o=Mt(e),i=new ut(e);if(o===t)return i;{let e=o;for(;e!=t;){const t=e.frameElement,o=new ut(t).excludeScrollbarsAndBorders();i.moveBy(o.left,o.top),e=e.parent}}return i}const Lt={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},zt={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},jt={37:"←",38:"↑",39:"→",40:"↓",9:"⇥",33:"Page Up",34:"Page Down"},qt=Gt(),$t=Object.fromEntries(Object.entries(qt).map((([e,t])=>{let o;return o=t in jt?jt[t]:e.charAt(0).toUpperCase()+e.slice(1),[t,o]})));function Ht(e){let t;if("string"==typeof e){if(t=qt[e.toLowerCase()],!t)throw new fe("keyboard-unknown-key",null,{key:e})}else t=e.keyCode+(e.altKey?qt.alt:0)+(e.ctrlKey?qt.ctrl:0)+(e.shiftKey?qt.shift:0)+(e.metaKey?qt.cmd:0);return t}function Wt(e){return"string"==typeof e&&(e=function(e){return e.split("+").map((e=>e.trim()))}(e)),e.map((e=>"string"==typeof e?function(e){if(e.endsWith("!"))return Ht(e.slice(0,-1));const t=Ht(e);return(Y.isMac||Y.isiOS)&&t==qt.ctrl?qt.cmd:t}(e):e)).reduce(((e,t)=>t+e),0)}function Ut(e,t){let o=Wt(e);const i=t?"Mac"===t:Y.isMac||Y.isiOS;return Object.entries(i?Lt:zt).reduce(((e,[t,i])=>(o&qt[t]&&(o&=~qt[t],e+=i),e)),"")+(o?$t[o]:"")}function Kt(e,t){const o="ltr"===t;switch(e){case qt.arrowleft:return o?"left":"right";case qt.arrowright:return o?"right":"left";case qt.arrowup:return"up";case qt.arrowdown:return"down"}}function Gt(){const e={pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let t=65;t<=90;t++){e[String.fromCharCode(t).toLowerCase()]=t}for(let t=48;t<=57;t++)e[t-48]=t;for(let t=112;t<=123;t++)e["f"+(t-111)]=t;return Object.assign(e,{"'":222,",":108,"-":109,".":110,"/":111,";":186,"=":187,"[":219,"\\":220,"]":221,"`":223}),e}const Jt=["ar","ara","dv","div","fa","per","fas","he","heb","ku","kur","ug","uig","ur","urd"];function Zt(e){return Jt.includes(e)?"rtl":"ltr"}function Qt(e){return Array.isArray(e)?e:[e]}function Yt(e,t,o=1,i){if("number"!=typeof o)throw new fe("translation-service-quantity-not-a-number",null,{quantity:o});const n=i||J.window.CKEDITOR_TRANSLATIONS,s=function(e){return Object.keys(e).length}(n);1===s&&(e=Object.keys(n)[0]);const r=t.id||t.string;if(0===s||!function(e,t,o){return!!o[e]&&!!o[e].dictionary[t]}(e,r,n))return 1!==o?t.plural:t.string;const a=n[e].dictionary,l=n[e].getPluralForm||(e=>1===e?0:1),c=a[r];if("string"==typeof c)return c;return c[Number(l(o))]}J.window.CKEDITOR_TRANSLATIONS||(J.window.CKEDITOR_TRANSLATIONS={});class Xt{uiLanguage;uiLanguageDirection;contentLanguage;contentLanguageDirection;t;translations;constructor({uiLanguage:e="en",contentLanguage:t,translations:o}={}){this.uiLanguage=e,this.contentLanguage=t||this.uiLanguage,this.uiLanguageDirection=Zt(this.uiLanguage),this.contentLanguageDirection=Zt(this.contentLanguage),this.translations=function(e){return Array.isArray(e)?e.reduce(((e,t)=>G(e,t))):e}(o),this.t=(e,t)=>this._t(e,t)}_t(e,t=[]){t=Qt(t),"string"==typeof e&&(e={string:e});const o=!!e.plural?t[0]:1;return function(e,t){return e.replace(/%(\d+)/g,((e,o)=>othis._items.length||t<0)throw new fe("collection-add-item-invalid-index",this);let o=0;for(const i of e){const e=this._getItemIdBeforeAdding(i),n=t+o;this._items.splice(n,0,i),this._itemMap.set(e,i),this.fire("add",i,n),o++}return this.fire("change",{added:e,removed:[],index:t}),this}get(e){let t;if("string"==typeof e)t=this._itemMap.get(e);else{if("number"!=typeof e)throw new fe("collection-get-invalid-arg",this);t=this._items[e]}return t||null}has(e){if("string"==typeof e)return this._itemMap.has(e);{const t=e[this._idProperty];return t&&this._itemMap.has(t)}}getIndex(e){let t;return t="string"==typeof e?this._itemMap.get(e):e,t?this._items.indexOf(t):-1}remove(e){const[t,o]=this._remove(e);return this.fire("change",{added:[],removed:[t],index:o}),t}map(e,t){return this._items.map(e,t)}forEach(e,t){this._items.forEach(e,t)}find(e,t){return this._items.find(e,t)}filter(e,t){return this._items.filter(e,t)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const e=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:e,index:0})}bindTo(e){if(this._bindToCollection)throw new fe("collection-bind-to-rebind",this);return this._bindToCollection=e,{as:e=>{this._setUpBindToBinding((t=>new e(t)))},using:e=>{"function"==typeof e?this._setUpBindToBinding(e):this._setUpBindToBinding((t=>t[e]))}}}_setUpBindToBinding(e){const t=this._bindToCollection,o=(o,i,n)=>{const s=t._bindToCollection==this,r=t._bindToInternalToExternalMap.get(i);if(s&&r)this._bindToExternalToInternalMap.set(i,r),this._bindToInternalToExternalMap.set(r,i);else{const o=e(i);if(!o)return void this._skippedIndexesFromExternal.push(n);let s=n;for(const e of this._skippedIndexesFromExternal)n>e&&s--;for(const e of t._skippedIndexesFromExternal)s>=e&&s++;this._bindToExternalToInternalMap.set(i,o),this._bindToInternalToExternalMap.set(o,i),this.add(o,s);for(let e=0;e{const i=this._bindToExternalToInternalMap.get(t);i&&this.remove(i),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((e,t)=>(ot&&e.push(t),e)),[])}))}_getItemIdBeforeAdding(e){const t=this._idProperty;let o;if(t in e){if(o=e[t],"string"!=typeof o)throw new fe("collection-add-invalid-id",this);if(this.get(o))throw new fe("collection-add-item-already-exists",this)}else e[t]=o=me();return o}_remove(e){let t,o,i,n=!1;const s=this._idProperty;if("string"==typeof e?(o=e,i=this._itemMap.get(o),n=!i,i&&(t=this._items.indexOf(i))):"number"==typeof e?(t=e,i=this._items[t],n=!i,i&&(o=i[s])):(i=e,o=i[s],t=this._items.indexOf(i),n=-1==t||!this._itemMap.get(o)),n)throw new fe("collection-remove-404",this);this._items.splice(t,1),this._itemMap.delete(o);const r=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(r),this.fire("remove",i,t),[i,t]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function to(e){const t=e.next();return t.done?null:t.value}class oo extends(et(Be())){_elements=new Set;_externalViews=new Set;_blurTimeout=null;constructor(){super(),this.set("isFocused",!1),this.set("focusedElement",null)}get elements(){return Array.from(this._elements.values())}get externalViews(){return Array.from(this._externalViews.values())}add(e){if(no(e))this._addElement(e);else if(io(e))this._addView(e);else{if(!e.element)throw new fe("focustracker-add-view-missing-element",{focusTracker:this,view:e});this._addElement(e.element)}}remove(e){no(e)?this._removeElement(e):io(e)?this._removeView(e):this._removeElement(e.element)}_addElement(e){if(this._elements.has(e))throw new fe("focustracker-add-element-already-exist",this);this.listenTo(e,"focus",(()=>{const t=this.externalViews.find((t=>function(e,t){if(so(e,t))return!0;return!!t.focusTracker.externalViews.find((t=>so(e,t)))}(e,t)));t?this._focus(t.element):this._focus(e)}),{useCapture:!0}),this.listenTo(e,"blur",(()=>{this._blur()}),{useCapture:!0}),this._elements.add(e)}_removeElement(e){this._elements.has(e)&&(this.stopListening(e),this._elements.delete(e)),e===this.focusedElement&&this._blur()}_addView(e){e.element&&this._addElement(e.element),this.listenTo(e.focusTracker,"change:focusedElement",(()=>{e.focusTracker.focusedElement?e.element&&this._focus(e.element):this._blur()})),this._externalViews.add(e)}_removeView(e){e.element&&this._removeElement(e.element),this.stopListening(e.focusTracker),this._externalViews.delete(e)}destroy(){this.stopListening(),this._elements.clear(),this._externalViews.clear(),this.isFocused=!1,this.focusedElement=null}_focus(e){this._clearBlurTimeout(),this.focusedElement=e,this.isFocused=!0}_blur(){if(this.elements.find((e=>e.contains(document.activeElement))))return;this.externalViews.find((e=>e.focusTracker.isFocused&&!e.focusTracker._blurTimeout))||(this._clearBlurTimeout(),this._blurTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0))}_clearBlurTimeout(){clearTimeout(this._blurTimeout),this._blurTimeout=null}}function io(e){return"focusTracker"in e&&e.focusTracker instanceof oo}function no(e){return L(e)}function so(e,t){return!!t.element&&t.element.contains(document.activeElement)&&e.contains(t.element)}class ro{_listener;constructor(){this._listener=new(et())}listenTo(e){this._listener.listenTo(e,"keydown",((e,t)=>{this._listener.fire("_keydown:"+Ht(t),t)}))}set(e,t,o={}){const i=Wt(e),n=o.priority;this._listener.listenTo(this._listener,"_keydown:"+i,((e,i)=>{o.filter&&!o.filter(i)||(t(i,(()=>{i.preventDefault(),i.stopPropagation(),e.stop()})),e.return=!0)}),{priority:n})}press(e){return!!this._listener.fire("_keydown:"+Ht(e),e)}stopListening(e){this._listener.stopListening(e)}destroy(){this.stopListening()}}function ao(e){return Ue(e)?new Map(e):function(e){const t=new Map;for(const o in e)t.set(o,e[o]);return t}(e)}function lo(e,t,o){const i=e.length,n=t.length;for(let t=i-1;t>=o;t--)e[t+n]=e[t];for(let i=0;ie(...n)),t)}return i.cancel=()=>{clearTimeout(o)},i}function uo(e){try{if(!e.startsWith("ey"))return null;const t=atob(e.replace(/-/g,"+").replace(/_/g,"/"));return JSON.parse(t)}catch{return null}}function ho(e,t){return!!(o=e.charAt(t-1))&&1==o.length&&/[\ud800-\udbff]/.test(o)&&function(e){return!!e&&1==e.length&&/[\udc00-\udfff]/.test(e)}(e.charAt(t));var o}function mo(e,t){return!!(o=e.charAt(t))&&1==o.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(o);var o}const go=fo();function po(e,t){const o=String(e).matchAll(go);return Array.from(o).some((e=>e.indexe.source)).join("|")+")";return new RegExp(`${e}|${t}(?:‍${t})*`,"ug")}function bo(e){if(!e)return null;const t=function(e){const t=e.split(".");if(3!=t.length)return null;return t[1]}(e);return t?uo(t):null}function wo(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function yo(e){return"string"==typeof e||"symbol"==typeof e?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function _o(e){if(null==e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return e.map(_o).join(",");const t=String(e);return"0"===t&&Object.is(Number(e),-0)?"-0":t}function ko(e){if(Array.isArray(e))return e.map(yo);if("symbol"==typeof e)return[e];const t=[],o=(e=_o(e)).length;if(0===o)return t;let i=0,n="",s="",r=!1;for(46===e.charCodeAt(0)&&(t.push(""),i++);i{const i=e[t];Object.hasOwn(e,t)&&Co(i,o)&&(void 0!==o||t in e)||(e[t]=o)},xo=/^(?:0|[1-9]\d*)$/;function Eo(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&eo),(()=>{}))}function Oo(e){const t=e?.constructor;return e===("function"==typeof t?t.prototype:Object.prototype)}function Vo(e){if(!e)return 0===e?e:0;if((e=function(e){return To(e)?NaN:Number(e)}(e))===1/0||e===-1/0){return(e<0?-1:1)*Number.MAX_VALUE}return e==e?e:0}function Do(e,t){if((e=function(e){const t=Vo(e),o=t%1;return o?t-o:t}(e))<1||!Number.isSafeInteger(e))return[];const o=new Array(e);for(let i=0;i`${e}`)),o=new Set(t);i=e,"undefined"!=typeof Buffer&&Buffer.isBuffer(i)&&(o.add("offset"),o.add("parent"));var i;W(e)&&(o.add("buffer"),o.add("byteLength"),o.add("byteOffset"));const n=Mo(e).filter((e=>!o.has(e)));if(Array.isArray(e))return[...t,...n];return[...t.filter((t=>Object.hasOwn(e,t))),...n]}(e):Oo(e)?function(e){const t=Mo(e);return t.filter((e=>"constructor"!==e))}(e):Mo(e);default:return Mo(Object(e))}}function Mo(e){const t=[];for(const o in e)t.push(o);return t}function No(e,...t){for(let o=0;o{null!==s&&(e.apply(n,s),n=void 0,s=null)};let c=null;const d=()=>{null!=c&&clearTimeout(c),c=setTimeout((()=>{c=null,a&&l(),u()}),t)},u=()=>{null!==c&&(clearTimeout(c),c=null),n=void 0,s=null},h=function(...e){if(o?.aborted)return;n=this,s=e;const t=null==c;d(),r&&t&&l()};return h.schedule=d,h.cancel=u,h.flush=()=>{l()},o?.addEventListener("abort",u,{once:!0}),h}function zo(e,t=0,o={}){"object"!=typeof o&&(o={});const{leading:i=!1,trailing:n=!0,maxWait:s}=o,r=Array(2);let a;i&&(r[0]="leading"),n&&(r[1]="trailing");let l=null;const c=Lo((function(...t){a=e.apply(this,t),l=null}),t,{edges:r}),d=function(...t){return null!=s&&(null===l&&(l=Date.now()),Date.now()-l>=s)?(a=e.apply(this,t),l=Date.now(),c.cancel(),c.schedule(),a):(c.apply(this,t),a)};return d.cancel=c.cancel,d.flush=()=>(c.flush(),a),d}function jo(e,t){if(!Number.isInteger(e)||e<0)throw new Error("n must be a non-negative integer.");let o=0;return(...i)=>{if(++o>=e)return t(...i)}}function qo(e){if(!e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function $o(e,t,o){return Ho(e,t,void 0,void 0,void 0,void 0,o)}function Ho(e,t,o,i,n,s,r){const a=r(e,t,o,i,n,s);if(void 0!==a)return a;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return e===t;case"number":return e===t||Object.is(e,t);case"object":return Wo(e,t,s,r)}return Wo(e,t,s,r)}function Wo(e,t,o,i){if(Object.is(e,t))return!0;let n=c(e),s=c(t);if(n===g&&(n=v),s===g&&(s=v),n!==s)return!1;switch(n){case u:return e.toString()===t.toString();case h:return Co(e.valueOf(),t.valueOf());case m:case f:case p:return Object.is(e.valueOf(),t.valueOf());case d:return e.source===t.source&&e.flags===t.flags;case"[object Function]":return e===t}const r=(o=o??new Map).get(e),a=o.get(t);if(null!=r&&null!=a)return r===t;o.set(e,t),o.set(t,e);try{switch(n){case b:if(e.size!==t.size)return!1;for(const[n,s]of e.entries())if(!t.has(n)||!Ho(s,t.get(n),n,e,t,o,i))return!1;return!0;case w:{if(e.size!==t.size)return!1;const n=Array.from(e.values()),s=Array.from(t.values());for(let r=0;rHo(a,n,void 0,e,t,o,i)));if(-1===l)return!1;s.splice(l,1)}return!0}case y:case A:case x:case E:case T:case"[object BigUint64Array]":case P:case S:case I:case"[object BigInt64Array]":case R:case O:if("undefined"!=typeof Buffer&&Buffer.isBuffer(e)!==Buffer.isBuffer(t))return!1;if(e.length!==t.length)return!1;for(let n=0;n{}),$o(e,t,((...i)=>{const n=o(...i);return void 0!==n?Boolean(n):e instanceof Map&&t instanceof Map||e instanceof Set&&t instanceof Set?Uo(Array.from(e),Array.from(t),jo(2,o)):void 0}))}function Ko(e,t){return $o(e,t,K)}function Go(e){if(V(e))return e;const t=c(e);if(!function(e){switch(c(e)){case g:case y:case k:case C:case m:case f:case R:case O:case P:case S:case I:case b:case h:case v:case d:case w:case u:case p:case A:case x:case E:case T:return!0;default:return!1}}(e))return{};if(o=e,Array.isArray(o)){const t=Array.from(e);return e.length>0&&"string"==typeof e[0]&&Object.hasOwn(e,"index")&&(t.index=e.index,t.input=e.input),t}var o;if(W(e)){const t=e;return new(0,t.constructor)(t.buffer,t.byteOffset,t.length)}if(t===k)return new ArrayBuffer(e.byteLength);if(t===C){const t=e,o=t.buffer,i=t.byteOffset,n=t.byteLength,s=new ArrayBuffer(n),r=new Uint8Array(o,i,n);return new Uint8Array(s).set(r),new DataView(s)}if(t===m||t===h||t===u){const o=new(0,e.constructor)(e.valueOf());return t===u?function(e,t){const o=t.valueOf().length;for(const i in t)Object.hasOwn(t,i)&&(Number.isNaN(Number(i))||Number(i)>=o)&&(e[i]=t[i])}(o,e):Jo(o,e),o}if(t===f)return new Date(Number(e));if(t===d){const t=e,o=new RegExp(t.source,t.flags);return o.lastIndex=t.lastIndex,o}if(t===p)return Object(Symbol.prototype.valueOf.call(e));if(t===b){const t=e,o=new Map;return t.forEach(((e,t)=>{o.set(t,e)})),o}if(t===w){const t=e,o=new Set;return t.forEach((e=>{o.add(e)})),o}if(t===g){const t=e,o={};return Jo(o,t),o.length=t.length,o[Symbol.iterator]=t[Symbol.iterator],o}const i={};return function(e,t){const o=Object.getPrototypeOf(t);if(null!==o){"function"==typeof t.constructor&&Object.setPrototypeOf(e,o)}}(i,e),Jo(i,e),function(e,t){const o=Object.getOwnPropertySymbols(t);for(let i=0;iei([[t,r]],e)))}Zo.has(s)||(Zo.set(s,new Map),s.registerPostFixer((e=>ei(Zo.get(s),e))),s.on("change:isComposing",(()=>{e.change((e=>ei(Zo.get(s),e)))}),{priority:"high"})),t.is("editableElement")&&t.on("change:placeholder",((e,t,o)=>r(o))),t.placeholder?r(t.placeholder):o&&r(o),o&&function(){Qo||be("enableViewPlaceholder-deprecated-text-option");Qo=!0}()}function Xo(e,t){return!!t.hasClass("ck-placeholder")&&(e.removeClass("ck-placeholder",t),!0)}function ei(e,t){const o=[];let i=!1;for(const[n,s]of e)s.isDirectHost&&(o.push(n),ti(t,n,s)&&(i=!0));for(const[n,s]of e){if(s.isDirectHost)continue;const e=oi(n);e!==s.hostElement&&s.hostElement&&(t.removeAttribute("data-placeholder",s.hostElement),Xo(t,s.hostElement),s.hostElement=null,i=!0),e&&(o.includes(e)||(s.hostElement=e,ti(t,n,s)&&(i=!0)))}return i}function ti(e,t,o){const{text:i,isDirectHost:n,hostElement:s}=o;let r=!1;s.getAttribute("data-placeholder")!==i&&(e.setAttribute("data-placeholder",i,s),r=!0);return(n||1==t.childCount)&&function(e,t){if(!e.isAttached())return!1;if(function(e){for(const t of e.getChildren())if(!t.is("uiElement"))return!0;return!1}(e))return!1;const o=e.document,i=o.selection.anchor;return!(o.isComposing&&i&&i.parent===e||!t&&o.isFocused&&(!i||i.parent===e))}(s,o.keepOnFocus)?function(e,t){return!t.hasClass("ck-placeholder")&&(e.addClass("ck-placeholder",t),!0)}(e,s)&&(r=!0):Xo(e,s)&&(r=!0),r}function oi(e){if(e.childCount){const t=e.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}class ii{is(){throw new Error("is() method is abstract")}}class ni extends(xe(ii)){document;parent;constructor(e){super(),this.document=e,this.parent=null}get index(){let e;if(!this.parent)return null;if(-1==(e=this.parent.getChildIndex(this)))throw new fe("view-node-not-found-in-parent",this);return e}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.index),t=t.parent;return e}getAncestors(e={}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}getCommonAncestor(e,t={}){const o=this.getAncestors(t),i=e.getAncestors(t);let n=0;for(;o[n]==i[n]&&o[n];)n++;return 0===n?null:o[n-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),o=e.getPath(),i=We(t,o);switch(i){case"prefix":return!0;case"extension":return!1;default:return t[i]e.data.length)throw new fe("view-textproxy-wrong-offsetintext",this);if(o<0||t+o>e.data.length)throw new fe("view-textproxy-wrong-length",this);this.data=e.data.substring(t,t+o),this.offsetInText=t}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(e={}){const t=[];let o=e.includeSelf?this.textNode:this.parent;for(;null!==o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}}ri.prototype.is=function(e){return"$textProxy"===e||"view:$textProxy"===e||"textProxy"===e||"view:textProxy"===e};class ai{_consumables=new Map;add(e,t){let o;e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):(this._consumables.has(e)?o=this._consumables.get(e):(o=new li(e),this._consumables.set(e,o)),o.add(t?ci(t):e._getConsumables()))}test(e,t){const o=this._consumables.get(e);return void 0===o?null:e.is("$text")||e.is("documentFragment")?o:o.test(ci(t))}consume(e,t){if(e.is("$text")||e.is("documentFragment"))return!!this.test(e,t)&&(this._consumables.set(e,!1),!0);const o=this._consumables.get(e);return void 0!==o&&o.consume(ci(t))}revert(e,t){const o=this._consumables.get(e);void 0!==o&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):o.revert(ci(t)))}static createFrom(e,t){if(t||(t=new ai),e.is("$text"))t.add(e);else if(e.is("element")||e.is("documentFragment")){t.add(e);for(const o of e.getChildren())ai.createFrom(o,t)}return t}}class li{element;_canConsumeName=null;_attributes=new Map;constructor(e){this.element=e}add(e){e.name&&(this._canConsumeName=!0);for(const[t,o]of e.attributes)if(o){let e=this._attributes.get(t);e&&"boolean"!=typeof e||(e=new Map,this._attributes.set(t,e)),e.set(o,!0)}else{if("style"==t||"class"==t)throw new fe("viewconsumable-invalid-attribute",this);this._attributes.set(t,!0)}}test(e){if(e.name&&!this._canConsumeName)return this._canConsumeName;for(const[t,o]of e.attributes){const e=this._attributes.get(t);if(void 0===e)return null;if(!1===e)return!1;if(!0!==e)if(o){const t=e.get(o);if(void 0===t)return null;if(!t)return!1}else for(const t of e.values())if(!t)return!1}return!0}consume(e){if(!this.test(e))return!1;e.name&&(this._canConsumeName=!1);for(const[t,o]of e.attributes){const e=this._attributes.get(t);if("boolean"==typeof e)for(const[e]of this.element._getConsumables(t,o).attributes)this._attributes.set(e,!1);else if(o)for(const[,i]of this.element._getConsumables(t,o).attributes)e.set(i,!1);else for(const t of e.keys())e.set(t,!1)}return!0}revert(e){e.name&&(this._canConsumeName=!0);for(const[t,o]of e.attributes){const e=this._attributes.get(t);if(!1!==e){if(void 0!==e&&!0!==e)if(o){!1===e.get(o)&&e.set(o,!0)}else for(const t of e.keys())e.set(t,!0)}else this._attributes.set(t,!0)}}}function ci(e){const t=[];return"attributes"in e&&e.attributes&&di(t,e.attributes),"classes"in e&&e.classes&&di(t,e.classes,"class"),"styles"in e&&e.styles&&di(t,e.styles,"style"),{name:e.name||!1,attributes:t}}function di(e,t,o){if("string"!=typeof t)for(const i of t)Array.isArray(i)?e.push(i):e.push(o?[o,i]:[i]);else e.push(o?[o,t]:[t])}class ui{_patterns=[];constructor(...e){this.add(...e)}add(...e){for(let t of e)("string"==typeof t||t instanceof RegExp)&&(t={name:t}),this._patterns.push(t)}match(...e){for(const t of e)for(const e of this._patterns){const o=this._isElementMatching(t,e);if(o)return{element:t,pattern:e,match:o}}return null}matchAll(...e){const t=[];for(const o of e)for(const e of this._patterns){const i=this._isElementMatching(o,e);i&&t.push({element:o,pattern:e,match:i})}return t.length>0?t:null}getElementName(){if(1!==this._patterns.length)return null;const e=this._patterns[0],t=e.name;return"function"==typeof e||!t||t instanceof RegExp?null:t}_isElementMatching(e,t){if("function"==typeof t){const o=t(e);return o&&"object"==typeof o?ci(o):o}const o={};if(t.name&&(o.name=function(e,t){if(e instanceof RegExp)return!!t.match(e);return e===t}(t.name,e.name),!o.name))return null;const i=[];return t.attributes&&!function(e,t,o){let i;"object"!=typeof e||e instanceof RegExp||Array.isArray(e)?i=["class","style"]:(void 0!==e.style&&be("matcher-pattern-deprecated-attributes-style-key",e),void 0!==e.class&&be("matcher-pattern-deprecated-attributes-class-key",e));return t._collectAttributesMatch(mi(e),o,i)}(t.attributes,e,i)||t.classes&&!function(e,t,o){return t._collectAttributesMatch(mi(e,"class"),o)}(t.classes,e,i)||t.styles&&!function(e,t,o){return t._collectAttributesMatch(mi(e,"style"),o)}(t.styles,e,i)?null:(i.length&&(o.attributes=i),o)}}function hi(e,t){return!0===e||e===t||e instanceof RegExp&&!!String(t).match(e)}function mi(e,t){if(Array.isArray(e))return e.map((e=>"object"!=typeof e||e instanceof RegExp?t?[t,e,!0]:[e,!0]:(void 0!==e.key&&void 0!==e.value||be("matcher-pattern-missing-key-or-value",e),t?[t,e.key,e.value]:[e.key,e.value])));if("object"!=typeof e||e instanceof RegExp)return[t?[t,e,!0]:[e,!0]];const o=[];for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&o.push(t?[t,i,e[i]]:[i,e[i]]);return o}class gi{_styles;_cachedStyleNames=null;_cachedExpandedStyleNames=null;_styleProcessor;constructor(e){this._styles={},this._styleProcessor=e}get isEmpty(){return!Object.entries(this._styles).length}get size(){return this.isEmpty?0:this.getStyleNames().length}setTo(e){this.clear();const t=function(e){let t=null,o=0,i=0,n=null;const s=new Map;if(""===e)return s;";"!=e.charAt(e.length-1)&&(e+=";");for(let r=0;rt===e));return Array.isArray(t)}set(e,t){if(this._cachedStyleNames=null,this._cachedExpandedStyleNames=null,s(e))for(const[t,o]of Object.entries(e))this._styleProcessor.toNormalizedForm(t,o,this._styles);else this._styleProcessor.toNormalizedForm(e,t,this._styles)}remove(e){const t={};for(const o of Qt(e)){const e=fi(o),i=vo(this._styles,e);if(i)bi(t,e,i);else{const e=this.getAsString(o);void 0!==e&&this._styleProcessor.toNormalizedForm(o,e,t)}}Object.keys(t).length&&(wi(this._styles,t),this._cachedStyleNames=null,this._cachedExpandedStyleNames=null)}getNormalized(e){return this._styleProcessor.getNormalized(e,this._styles)}toString(){return this.isEmpty?"":this.getStylesEntries().map((e=>e.join(":"))).sort().join(";")+";"}getAsString(e){if(this.isEmpty)return;if(this._styles[e]&&!s(this._styles[e]))return this._styles[e];const t=this._styleProcessor.getReducedForm(e,this._styles).find((([t])=>t===e));return Array.isArray(t)?t[1]:void 0}getStyleNames(e=!1){return this.isEmpty?[]:e?(this._cachedExpandedStyleNames||=this._styleProcessor.getStyleNames(this._styles),this._cachedExpandedStyleNames):(this._cachedStyleNames||=this.getStylesEntries().map((([e])=>e)),this._cachedStyleNames)}keys(){return this.getStyleNames()}clear(){this._styles={},this._cachedStyleNames=null,this._cachedExpandedStyleNames=null}isSimilar(e){if(this.size!==e.size)return!1;for(const t of this.getStyleNames())if(!e.has(t)||e.getAsString(t)!==this.getAsString(t))return!1;return!0}getStylesEntries(){const e=[],t=Object.keys(this._styles);for(const o of t)e.push(...this._styleProcessor.getReducedForm(o,this._styles));return e}_clone(){const e=new this.constructor(this._styleProcessor);return e.set(this.getNormalized()),e}_getTokensMatch(e,t){const o=[];for(const i of this.getStyleNames(!0))if(hi(e,i)){if(!0===t){o.push(i);continue}hi(t,this.getAsString(i))&&o.push(i)}return o.length?o:void 0}_getConsumables(e){const t=[];if(e){t.push(e);for(const o of this._styleProcessor.getRelatedStyles(e))t.push(o)}else for(const e of this.getStyleNames()){for(const o of this._styleProcessor.getRelatedStyles(e))t.push(o);t.push(e)}return t}_canMergeFrom(e){for(const t of e.getStyleNames())if(this.has(t)&&this.getAsString(t)!==e.getAsString(t))return!1;return!0}_mergeFrom(e){for(const t of e.getStyleNames())this.has(t)||this.set(t,e.getAsString(t))}_isMatching(e){for(const t of e.getStyleNames())if(!this.has(t)||this.getAsString(t)!==e.getAsString(t))return!1;return!0}}class pi{_normalizers;_extractors;_reducers;_consumables;constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(e,t,o){if(s(t))bi(o,fi(e),t);else if(this._normalizers.has(e)){const i=this._normalizers.get(e),{path:n,value:s}=i(t);bi(o,n,s)}else bi(o,e,t)}getNormalized(e,t){if(!e)return G({},t);if(void 0!==t[e])return t[e];if(this._extractors.has(e)){const o=this._extractors.get(e);if("string"==typeof o)return vo(t,o);const i=o(e,t);if(i)return i}return vo(t,fi(e))}getReducedForm(e,t){const o=this.getNormalized(e,t);if(void 0===o)return[];if(this._reducers.has(e)){return this._reducers.get(e)(o)}return[[e,o]]}getStyleNames(e){const t=new Set;for(const o of this._consumables.keys()){const i=this.getNormalized(o,e);i&&("object"!=typeof i||Object.keys(i).length)&&t.add(o)}for(const o of Object.keys(e))t.add(o);return Array.from(t)}getRelatedStyles(e){return this._consumables.get(e)||[]}setNormalizer(e,t){this._normalizers.set(e,t)}setExtractor(e,t){this._extractors.set(e,t)}setReducer(e,t){this._reducers.set(e,t)}setStyleRelation(e,t){this._mapStyleNames(e,t);for(const o of t)this._mapStyleNames(o,[e])}_mapStyleNames(e,t){this._consumables.has(e)||this._consumables.set(e,[]),this._consumables.get(e).push(...t)}}function fi(e){return e.replace("-",".")}function bi(e,t,o){let i=o;s(o)&&!Array.isArray(o)&&(i=G({},vo(e,t),o)),Ro(e,t,i)}function wi(e,t){for(const o of Object.keys(t))null===e[o]||Array.isArray(e[o])||"object"!=typeof e[o]||"object"!=typeof t[o]?delete e[o]:(wi(e[o],t[o]),Object.keys(e[o]).length||delete e[o])}class yi{_set=new Set;get isEmpty(){return 0==this._set.size}get size(){return this._set.size}has(e){return this._set.has(e)}keys(){return Array.from(this._set.keys())}setTo(e){this.clear();for(const t of e.split(/\s+/))t&&this._set.add(t);return this}set(e){for(const t of Qt(e))t&&this._set.add(t)}remove(e){for(const t of Qt(e))this._set.delete(t)}clear(){this._set.clear()}toString(){return Array.from(this._set).join(" ")}isSimilar(e){if(this.size!==e.size)return!1;for(const t of this.keys())if(!e.has(t))return!1;return!0}_clone(){const e=new this.constructor;return e._set=new Set(this._set),e}_getTokensMatch(e){const t=[];if(!0===e){for(const e of this._set.keys())t.push(e);return t}if("string"==typeof e){for(const o of e.split(/\s+/)){if(!this._set.has(o))return;t.push(o)}return t}for(const o of this._set.keys())o.match(e)&&t.push(o);return t.length?t:void 0}_getConsumables(e){return e?[e]:this.keys()}_canMergeFrom(){return!0}_mergeFrom(e){for(const t of e._set.keys())this._set.has(t)||this._set.add(t)}_isMatching(e){for(const t of e._set.keys())if(!this._set.has(t))return!1;return!0}}class _i extends ni{name;_unsafeAttributesToRender=[];_attrs;_children;_customProperties=new Map;get _classes(){return this._attrs.get("class")}get _styles(){return this._attrs.get("style")}constructor(e,t,o,i){super(e),this.name=t,this._attrs=this._parseAttributes(o),this._children=[],i&&this._insertChild(0,i)}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes&&(yield"class"),this._styles&&(yield"style");for(const e of this._attrs.keys())"class"!=e&&"style"!=e&&(yield e)}*getAttributes(){for(const[e,t]of this._attrs.entries())yield[e,String(t)]}getAttribute(e){return this._attrs.has(e)?String(this._attrs.get(e)):void 0}hasAttribute(e,t){return!!this._attrs.has(e)&&(void 0===t||(vi(this.name,e)||ki(this.name,e)?this._attrs.get(e).has(t):this._attrs.get(e)===t))}isSimilar(e){if(!(e instanceof _i))return!1;if(this===e)return!0;if(this.name!=e.name)return!1;if(this._attrs.size!==e._attrs.size)return!1;for(const[t,o]of this._attrs){const i=e._attrs.get(t);if(void 0===i)return!1;if("string"==typeof o||"string"==typeof i){if(i!==o)return!1}else if(!o.isSimilar(i))return!1}return!0}hasClass(...e){for(const t of e)if(!this._classes||!this._classes.has(t))return!1;return!0}getClassNames(){const e=this._classes?this._classes.keys():[],t=e[Symbol.iterator]();return Object.assign(e,{next:t.next.bind(t)})}getStyle(e){return this._styles&&this._styles.getAsString(e)}getNormalizedStyle(e){return this._styles&&this._styles.getNormalized(e)}getStyleNames(e){return this._styles?this._styles.getStyleNames(e):[]}hasStyle(...e){for(const t of e)if(!this._styles||!this._styles.has(t))return!1;return!0}findAncestor(...e){const t=new ui(...e);let o=this.parent;for(;o&&!o.is("documentFragment");){if(t.match(o))return o;o=o.parent}return null}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const e=this._classes?this._classes.keys().sort().join(","):"",t=this._styles&&String(this._styles),o=Array.from(this._attrs).filter((([e])=>"style"!=e&&"class"!=e)).map((e=>`${e[0]}="${e[1]}"`)).sort().join(" ");return this.name+(""==e?"":` class="${e}"`)+(t?` style="${t}"`:"")+(""==o?"":` ${o}`)}shouldRenderUnsafeAttribute(e){return this._unsafeAttributesToRender.includes(e)}toJSON(){const e=super.toJSON();if(e.name=this.name,e.type="Element",this._attrs.size&&(e.attributes=Object.fromEntries(this.getAttributes())),this._children.length>0){e.children=[];for(const t of this._children)e.children.push(t.toJSON())}return e}_clone(e=!1){const t=[];if(e)for(const o of this.getChildren())t.push(o._clone(e));const o=new this.constructor(this.document,this.name,this._attrs,t);return o._customProperties=new Map(this._customProperties),o.getFillerOffset=this.getFillerOffset,o._unsafeAttributesToRender=this._unsafeAttributesToRender,o}_appendChild(e){return this._insertChild(this.childCount,e)}_insertChild(e,t){this._fireChange("children",this,{index:e});let o=0;const i=function(e,t){if("string"==typeof t)return[new si(e,t)];Ue(t)||(t=[t]);const o=[];for(const i of t)"string"==typeof i?o.push(new si(e,i)):i instanceof ri?o.push(new si(e,i.data)):o.push(i);return o}(this.document,t);for(const t of i)null!==t.parent&&t._remove(),t.parent=this,t.document=this.document,this._children.splice(e,0,t),e++,o++;return o}_removeChildren(e,t=1){this._fireChange("children",this,{index:e});for(let o=e;ot&&e.selection.editableElement==this)),this.listenTo(e.selection,"change",(()=>{this.isFocused=e.isFocused&&e.selection.editableElement==this}))}destroy(){this.stopListening()}toJSON(){const e=super.toJSON();return e.type="EditableElement",e.isReadOnly=this.isReadOnly,e.isFocused=this.isFocused,e}}xi.prototype.is=function(e,t){return t?t===this.name&&("editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};const Ei=Symbol("rootName");class Ti extends xi{constructor(e,t){super(e,t),this.rootName="main"}get rootName(){return this.getCustomProperty(Ei)}set rootName(e){this._setCustomProperty(Ei,e)}toJSON(){return this.rootName}set _name(e){this.name=e}}Ti.prototype.is=function(e,t){return t?t===this.name&&("rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class Pi{direction;boundaries;singleCharacters;shallow;ignoreElementEnd;_position;_boundaryStartParent;_boundaryEndParent;constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new fe("view-tree-walker-no-start-position",null);if(e.direction&&"forward"!=e.direction&&"backward"!=e.direction)throw new fe("view-tree-walker-unknown-direction",e.startPosition,{direction:e.direction});this.boundaries=e.boundaries||null,e.startPosition?this._position=Si._createAt(e.startPosition):this._position=Si._createAt(e.boundaries["backward"==e.direction?"end":"start"]),this.direction=e.direction||"forward",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(e){let t,o;do{o=this.position,t=this.next()}while(!t.done&&e(t.value));t.done||(this._position=o)}jumpTo(e){this._boundaryStartParent&&e.isBefore(this.boundaries.start)?e=this.boundaries.start:this._boundaryEndParent&&e.isAfter(this.boundaries.end)&&(e=this.boundaries.end),this._position=e.clone()}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let e=this.position.clone();const t=this.position,o=e.parent;if(null===o.parent&&e.offset===o.childCount)return{done:!0,value:void 0};if(o===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let i;if(o&&o.is("view:$text")){if(e.isAtEnd)return this._position=Si._createAfter(o),this._next();i=o.data[e.offset]}else i=o.getChild(e.offset);if("string"==typeof i){let i;if(this.singleCharacters)i=1;else{i=(o===this._boundaryEndParent?this.boundaries.end.offset:o.data.length)-e.offset}const n=new ri(o,e.offset,i);return e.offset+=i,this._position=e,this._formatReturnValue("text",n,t,e,i)}if(i&&i.is("view:element")){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}else e=new Si(i,0);return this._position=e,this._formatReturnValue("elementStart",i,t,e,1)}if(i&&i.is("view:$text")){if(this.singleCharacters)return e=new Si(i,0),this._position=e,this._next();let o,n=i.data.length;return i==this._boundaryEndParent?(n=this.boundaries.end.offset,o=new ri(i,0,n),e=Si._createAfter(o)):(o=new ri(i,0,i.data.length),e.offset++),this._position=e,this._formatReturnValue("text",o,t,e,n)}return e=Si._createAfter(o),this._position=e,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",o,t,e)}_previous(){let e=this.position.clone();const t=this.position,o=e.parent;if(null===o.parent&&0===e.offset)return{done:!0,value:void 0};if(o==this._boundaryStartParent&&e.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let i;if(o.is("view:$text")){if(e.isAtStart)return this._position=Si._createBefore(o),this._previous();i=o.data[e.offset-1]}else i=o.getChild(e.offset-1);if("string"==typeof i){let i;if(this.singleCharacters)i=1;else{const t=o===this._boundaryStartParent?this.boundaries.start.offset:0;i=e.offset-t}e.offset-=i;const n=new ri(o,e.offset,i);return this._position=e,this._formatReturnValue("text",n,t,e,i)}if(i&&i.is("view:element"))return this.shallow?(e.offset--,this._position=e,this._formatReturnValue("elementStart",i,t,e,1)):(e=new Si(i,i.childCount),this._position=e,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",i,t,e));if(i&&i.is("view:$text")){if(this.singleCharacters)return e=new Si(i,i.data.length),this._position=e,this._previous();let o,n=i.data.length;if(i==this._boundaryStartParent){const t=this.boundaries.start.offset;o=new ri(i,t,i.data.length-t),n=o.data.length,e=Si._createBefore(o)}else o=new ri(i,0,i.data.length),e.offset--;return this._position=e,this._formatReturnValue("text",o,t,e,n)}return e=Si._createBefore(o),this._position=e,this._formatReturnValue("elementStart",o,t,e,1)}_formatReturnValue(e,t,o,i,n){return t.is("view:$textProxy")&&(t.offsetInText+t.data.length==t.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?o=Si._createAfter(t.textNode):(i=Si._createAfter(t.textNode),this._position=i)),0===t.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?o=Si._createBefore(t.textNode):(i=Si._createBefore(t.textNode),this._position=i))),{done:!1,value:{type:e,item:t,previousPosition:o,nextPosition:i,length:n}}}}class Si extends ii{parent;offset;constructor(e,t){super(),this.parent=e,this.offset=t}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const e=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===e}get root(){return this.parent.root}get editableElement(){let e=this.parent;for(;!(e instanceof xi);){if(!e.parent)return null;e=e.parent}return e}getShiftedBy(e){const t=Si._createAt(this),o=t.offset+e;return t.offset=o<0?0:o,t}getLastMatchingPosition(e,t={}){t.startPosition=this;const o=new Pi(t);return o.skip(e),o.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(e){const t=this.getAncestors(),o=e.getAncestors();let i=0;for(;t[i]==o[i]&&t[i];)i++;return 0===i?null:t[i-1]}isEqual(e){return this.parent==e.parent&&this.offset==e.offset}isBefore(e){return"before"==this.compareWith(e)}isAfter(e){return"after"==this.compareWith(e)}compareWith(e){if(this.root!==e.root)return"different";if(this.isEqual(e))return"same";const t=this.parent.is("node")?this.parent.getPath():[],o=e.parent.is("node")?e.parent.getPath():[];t.push(this.offset),o.push(e.offset);const i=We(t,o);switch(i){case"prefix":return"before";case"extension":return"after";default:return t[i]0?new this(o,i):new this(i,o)}static _createIn(e){return this._createFromParentsAndOffsets(e,0,e,e.childCount)}static _createOn(e){const t=e.is("$textProxy")?e.offsetSize:1;return this._createFromPositionAndShift(Si._createBefore(e),t)}}function Ri(e){return!(!e.item.is("attributeElement")&&!e.item.is("uiElement"))}Ii.prototype.is=function(e){return"range"===e||"view:range"===e};class Oi extends(xe(ii)){_ranges;_lastRangeBackward;_isFake;_fakeSelectionLabel;constructor(...e){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",e.length&&this.setTo(...e)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.end:e.start).clone()}get focus(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.start:e.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const e of this._ranges)yield e.clone()}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?e.clone():null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?e.clone():null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}isEqual(e){if(this.isFake!=e.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=e.fakeSelectionLabel)return!1;if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let o=!1;for(const i of e._ranges)if(t.isEqual(i)){o=!0;break}if(!o)return!1}return!0}isSimilar(e){if(this.isBackward!=e.isBackward)return!1;const t=He(this.getRanges());if(t!=He(e.getRanges()))return!1;if(0==t)return!0;for(let t of this.getRanges()){t=t.getTrimmed();let o=!1;for(let i of e.getRanges())if(i=i.getTrimmed(),t.start.isEqual(i.start)&&t.end.isEqual(i.end)){o=!0;break}if(!o)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...e){let[t,o,i]=e;if("object"==typeof o&&(i=o,o=void 0),null===t)this._setRanges([]),this._setFakeOptions(i);else if(t instanceof Oi||t instanceof Vi)this._setRanges(t.getRanges(),t.isBackward),this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel});else if(t instanceof Ii)this._setRanges([t],i&&i.backward),this._setFakeOptions(i);else if(t instanceof Si)this._setRanges([new Ii(t)]),this._setFakeOptions(i);else if(t instanceof ni){const e=!!i&&!!i.backward;let n;if(void 0===o)throw new fe("view-selection-setto-required-second-parameter",this);n="in"==o?Ii._createIn(t):"on"==o?Ii._createOn(t):new Ii(Si._createAt(t,o)),this._setRanges([n],e),this._setFakeOptions(i)}else{if(!Ue(t))throw new fe("view-selection-setto-not-selectable",this);this._setRanges(t,i&&i.backward),this._setFakeOptions(i)}this.fire("change")}setFocus(e,t){if(null===this.anchor)throw new fe("view-selection-setfocus-no-ranges",this);const o=Si._createAt(e,t);if("same"==o.compareWith(this.focus))return;const i=this.anchor;this._ranges.pop(),"before"==o.compareWith(i)?this._addRange(new Ii(o,i),!0):this._addRange(new Ii(i,o)),this.fire("change")}toJSON(){const e={ranges:Array.from(this.getRanges()).map((e=>e.toJSON()))};return this.isBackward&&(e.isBackward=!0),this.isFake&&(e.isFake=!0),e}_setRanges(e,t=!1){e=Array.from(e),this._ranges=[];for(const t of e)this._addRange(t);this._lastRangeBackward=!!t}_setFakeOptions(e={}){this._isFake=!!e.fake,this._fakeSelectionLabel=e.fake&&e.label||""}_addRange(e,t=!1){if(!(e instanceof Ii))throw new fe("view-selection-add-range-not-range",this);this._pushRange(e),this._lastRangeBackward=!!t}_pushRange(e){for(const t of this._ranges)if(e.isIntersecting(t))throw new fe("view-selection-range-intersects",this,{addedRange:e,intersectingRange:t});this._ranges.push(new Ii(e.start,e.end))}}Oi.prototype.is=function(e){return"selection"===e||"view:selection"===e};class Vi extends(xe(ii)){_selection;constructor(...e){super(),this._selection=new Oi,this._selection.delegate("change").to(this),e.length&&this._selection.setTo(...e)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(e){return this._selection.isEqual(e)}isSimilar(e){return this._selection.isSimilar(e)}toJSON(){return this._selection.toJSON()}_setTo(...e){this._selection.setTo(...e)}_setFocus(e,t){this._selection.setFocus(e,t)}}Vi.prototype.is=function(e){return"selection"===e||"documentSelection"==e||"view:selection"==e||"view:documentSelection"==e};class Di extends ue{startRange;_eventPhase;_currentTarget;constructor(e,t,o){super(e,t),this.startRange=o,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Fi=Symbol("bubblingEmitter"),Mi=Symbol("bubblingCallbacks"),Ni=Symbol("bubblingContexts");function Bi(e){return class extends e{fire(e,...t){try{const o=e instanceof ue?e:new ue(this,e),i=ji(this),n=$i(this);if(Li(o,"capturing",this),zi(i,"$capture",o,...t))return o.return;const s=o.startRange||this.selection.getFirstRange(),r=s?s.getContainedElement():null,a=!!r&&function(e,t){for(const o of e)if(o(t))return!0;return!1}(n,r);let l=r||function(e){if(!e)return null;const t=e.start.parent,o=e.end.parent,i=t.getPath(),n=o.getPath();return i.length>n.length?t:o}(s);if(Li(o,"atTarget",l),!a){if(zi(i,"$text",o,...t))return o.return;Li(o,"bubbling",l)}for(;l;){if(l.is("element")&&zi(i,l,o,...t))return o.return;l=l.parent,Li(o,"bubbling",l)}return Li(o,"bubbling",this),zi(i,"$document",o,...t),o.return}catch(e){fe.rethrowUnexpectedError(e,this)}}_addEventListener(e,t,o){const i=Qt(o.context||"$document"),n=ji(this),s=qi(this);for(const e of i)"function"==typeof e&&$i(this).add(e);const r=function(e,t,o){return function(i,n){const{currentTarget:s,eventArgs:r}=n;if("string"!=typeof s){if(s.is("rootElement")&&t.includes("$root"))o.call(e,i,...r);else if(t.includes(s.name))o.call(e,i,...r);else for(const n of t)if("function"==typeof n&&n(s))return void o.call(e,i,...r)}else t.includes(s)&&o.call(e,i,...r)}}(this,i,t);s.set(t,r),this.listenTo(n,e,r,o)}_removeEventListener(e,t){const o=ji(this),i=qi(this),n=i.get(t);n&&(i.delete(t),this.stopListening(o,e,n))}}}function Li(e,t,o){e instanceof Di&&(e._eventPhase=t,e._currentTarget=o)}function zi(e,t,o,...i){return e.fire(o,{currentTarget:t,eventArgs:i}),!!o.stop.called}function ji(e){return e[Fi]||(e[Fi]=new(xe())),e[Fi]}function qi(e){return e[Mi]||(e[Mi]=new Map),e[Mi]}function $i(e){return e[Ni]||(e[Ni]=new Set),e[Ni]}class Hi extends(Bi(Be())){selection;roots;stylesProcessor;_postFixers=new Set;constructor(e){super(),this.selection=new Vi,this.roots=new eo({idProperty:"rootName"}),this.stylesProcessor=e,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1)}getRoot(e="main"){return this.roots.get(e)}registerPostFixer(e){this._postFixers.add(e)}destroy(){this.roots.forEach((e=>e.destroy())),this.stopListening()}_callPostFixers(e){let t=!1;do{for(const o of this._postFixers)if(t=o(e),t)break}while(t)}}class Wi extends _i{static DEFAULT_PRIORITY=10;_priority=10;_id=null;_clonesGroup=null;constructor(e,t,o,i){super(e,t,o,i),this.getFillerOffset=Ui}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new fe("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(e){return null!==this.id||null!==e.id?this.id===e.id:super.isSimilar(e)&&this.priority==e.priority}toJSON(){const e=super.toJSON();return e.type="AttributeElement",e}_clone(e=!1){const t=super._clone(e);return t._priority=this._priority,t._id=this._id,t}_canMergeAttributesFrom(e){return null===this.id&&null===e.id&&this.priority===e.priority&&super._canMergeAttributesFrom(e)}_canSubtractAttributesOf(e){return null===this.id&&null===e.id&&this.priority===e.priority&&super._canSubtractAttributesOf(e)}}function Ui(){if(Ki(this))return null;let e=this.parent;for(;e&&e.is("attributeElement");){if(Ki(e)>1)return null;e=e.parent}return!e||Ki(e)>1?null:this.childCount}function Ki(e){return Array.from(e.getChildren()).filter((e=>!e.is("uiElement"))).length}Wi.prototype.is=function(e,t){return t?t===this.name&&("attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e):"attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class Gi extends _i{constructor(e,t,o,i){super(e,t,o,i),this.getFillerOffset=Ji}toJSON(){const e=super.toJSON();return e.type="EmptyElement",e}_insertChild(e,t){if(t&&(t instanceof ni||Array.from(t).length>0))throw new fe("view-emptyelement-cannot-add",[this,t]);return 0}}function Ji(){return null}Gi.prototype.is=function(e,t){return t?t===this.name&&("emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e):"emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class Zi extends _i{constructor(e,t,o,i){super(e,t,o,i),this.getFillerOffset=Yi}_insertChild(e,t){if(t&&(t instanceof ni||Array.from(t).length>0))throw new fe("view-uielement-cannot-add",[this,t]);return 0}render(e,t){return this.toDomElement(e)}toDomElement(e){const t=e.createElement(this.name);for(const e of this.getAttributeKeys())t.setAttribute(e,this.getAttribute(e));return t}toJSON(){const e=super.toJSON();return e.type="UIElement",e}}function Qi(e){e.document.on("arrowKey",((t,o)=>function(e,t,o){if(t.keyCode==qt.arrowright){const e=t.domTarget.ownerDocument.defaultView.getSelection(),i=1==e.rangeCount&&e.getRangeAt(0).collapsed;if(i||t.shiftKey){const t=e.focusNode,n=e.focusOffset,s=o.domPositionToView(t,n);if(null===s)return;let r=!1;const a=s.getLastMatchingPosition((e=>(e.item.is("uiElement")&&(r=!0),!(!e.item.is("uiElement")&&!e.item.is("attributeElement")))));if(r){const t=o.viewPositionToDom(a);i?e.collapse(t.parent,t.offset):e.extend(t.parent,t.offset)}}}}(0,o,e.domConverter)),{priority:"low"})}function Yi(){return null}Zi.prototype.is=function(e,t){return t?t===this.name&&("uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e):"uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class Xi extends _i{constructor(e,t,o,i){super(e,t,o,i),this.getFillerOffset=en}toJSON(){const e=super.toJSON();return e.type="RawElement",e}_insertChild(e,t){if(t&&(t instanceof ni||Array.from(t).length>0))throw new fe("view-rawelement-cannot-add",[this,t]);return 0}render(e,t){}}function en(){return null}Xi.prototype.is=function(e,t){return t?t===this.name&&("rawElement"===e||"view:rawElement"===e||"element"===e||"view:element"===e):"rawElement"===e||"view:rawElement"===e||e===this.name||e==="view:"+this.name||"element"===e||"view:element"===e||"node"===e||"view:node"===e};class tn extends(xe(ii)){document;_children=[];_customProperties=new Map;constructor(e,t){super(),this.document=e,t&&this._insertChild(0,t)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}get name(){}get getFillerOffset(){}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}toJSON(){const e=[];for(const t of this._children)e.push(t.toJSON());return e}_appendChild(e){return this._insertChild(this.childCount,e)}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(e,t){this._fireChange("children",this,{index:e});let o=0;const i=function(e,t){if("string"==typeof t)return[new si(e,t)];Ue(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new si(e,t):t instanceof ri?new si(e,t.data):t))}(this.document,t);for(const t of i)null!==t.parent&&t._remove(),t.parent=this,this._children.splice(e,0,t),e++,o++;return o}_removeChildren(e,t=1){this._fireChange("children",this,{index:e});for(let o=e;o{const o=e[e.length-1],i=!t.is("uiElement");return o&&o.breakAttributes==i?o.nodes.push(t):e.push({breakAttributes:i,nodes:[t]}),e}),[]);let i=null,n=e;for(const{nodes:e,breakAttributes:t}of o){const o=this._insertNodes(n,e,t);i||(i=o.start),n=o.end}return i?new Ii(i,n):new Ii(e)}remove(e){const t=e instanceof Ii?e:Ii._createOn(e);if(hn(t,this.document),t.isCollapsed)return new tn(this.document);const{start:o,end:i}=this._breakAttributesRange(t,!0),n=o.parent,s=i.offset-o.offset,r=n._removeChildren(o.offset,s);for(const e of r)this._removeFromClonedElementsGroup(e);const a=this.mergeAttributes(o);return t.start=a,t.end=a.clone(),new tn(this.document,r)}clear(e,t){hn(e,this.document);const o=e.getWalker({direction:"backward",ignoreElementEnd:!0});for(const i of o){const o=i.item;let n;if(o.is("element")&&t.isSimilar(o))n=Ii._createOn(o);else if(!i.nextPosition.isAfter(e.start)&&o.is("$textProxy")){const e=o.getAncestors().find((e=>e.is("element")&&t.isSimilar(e)));e&&(n=Ii._createIn(e))}n&&(n.end.isAfter(e.end)&&(n.end=e.end),n.start.isBefore(e.start)&&(n.start=e.start),this.remove(n))}}move(e,t){let o;if(t.isAfter(e.end)){const i=(t=this._breakAttributes(t,!0)).parent,n=i.childCount;e=this._breakAttributesRange(e,!0),o=this.remove(e),t.offset+=i.childCount-n}else o=this.remove(e);return this.insert(t,o)}wrap(e,t){if(!(t instanceof Wi))throw new fe("view-writer-wrap-invalid-attribute",this.document);if(hn(e,this.document),e.isCollapsed){let i=e.start;i.parent.is("element")&&(o=i.parent,!Array.from(o.getChildren()).some((e=>!e.is("uiElement"))))&&(i=i.getLastMatchingPosition((e=>e.item.is("uiElement")))),i=this._wrapPosition(i,t);const n=this.document.selection;return n.isCollapsed&&n.getFirstPosition().isEqual(e.start)&&this.setSelection(i),new Ii(i)}return this._wrapRange(e,t);var o}unwrap(e,t){if(!(t instanceof Wi))throw new fe("view-writer-unwrap-invalid-attribute",this.document);if(hn(e,this.document),e.isCollapsed)return e;const{start:o,end:i}=this._breakAttributesRange(e,!0),n=o.parent,s=this._unwrapChildren(n,o.offset,i.offset,t),r=this.mergeAttributes(s.start);r.isEqual(s.start)||s.end.offset--;const a=this.mergeAttributes(s.end);return new Ii(r,a)}rename(e,t){const o=new Ci(this.document,e,t.getAttributes());return this.insert(Si._createAfter(t),o),this.move(Ii._createIn(t),Si._createAt(o,0)),this.remove(Ii._createOn(t)),o}clearClonedElementsGroup(e){this._cloneGroups.delete(e)}createPositionAt(e,t){return Si._createAt(e,t)}createPositionAfter(e){return Si._createAfter(e)}createPositionBefore(e){return Si._createBefore(e)}createRange(e,t){return new Ii(e,t)}createRangeOn(e){return Ii._createOn(e)}createRangeIn(e){return Ii._createIn(e)}createSelection(...e){return new Oi(...e)}createSlot(e="children"){if(!this._slotFactory)throw new fe("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,e)}_registerSlotFactory(e){this._slotFactory=e}_clearSlotFactory(){this._slotFactory=null}_insertNodes(e,t,o){let i,n;if(i=o?nn(e):e.parent.is("$text")?e.parent.parent:e.parent,!i)throw new fe("view-writer-invalid-position-container",this.document);n=o?this._breakAttributes(e,!0):e.parent.is("$text")?an(e):e;const s=i._insertChild(n.offset,t);for(const e of t)this._addToClonedElementsGroup(e);const r=n.getShiftedBy(s),a=this.mergeAttributes(n);a.isEqual(n)||r.offset--;const l=this.mergeAttributes(r);return new Ii(a,l)}_wrapChildren(e,t,o,i){let n=t;const s=[];for(;n!1,e.parent._insertChild(e.offset,o);const i=new Ii(e,e.getShiftedBy(1));this.wrap(i,t);const n=new Si(o.parent,o.index);o._remove();const s=n.nodeBefore,r=n.nodeAfter;return s&&s.is("view:$text")&&r&&r.is("view:$text")?ln(s,r):rn(n)}_breakAttributesRange(e,t=!1){const o=e.start,i=e.end;if(hn(e,this.document),e.isCollapsed){const o=this._breakAttributes(e.start,t);return new Ii(o,o)}const n=this._breakAttributes(i,t),s=n.parent.childCount,r=this._breakAttributes(o,t);return n.offset+=n.parent.childCount-s,new Ii(r,n)}_breakAttributes(e,t=!1){const o=e.offset,i=e.parent;if(e.parent.is("emptyElement"))throw new fe("view-writer-cannot-break-empty-element",this.document);if(e.parent.is("uiElement"))throw new fe("view-writer-cannot-break-ui-element",this.document);if(e.parent.is("rawElement"))throw new fe("view-writer-cannot-break-raw-element",this.document);if(!t&&i.is("$text")&&un(i.parent))return e.clone();if(un(i))return e.clone();if(i.is("$text"))return this._breakAttributes(an(e),t);if(o==i.childCount){const e=new Si(i.parent,i.index+1);return this._breakAttributes(e,t)}if(0===o){const e=new Si(i.parent,i.index);return this._breakAttributes(e,t)}{const e=i.index+1,n=i._clone();i.parent._insertChild(e,n),this._addToClonedElementsGroup(n);const s=i.childCount-o,r=i._removeChildren(o,s);n._appendChild(r);const a=new Si(i.parent,e);return this._breakAttributes(a,t)}}_addToClonedElementsGroup(e){if(!e.root.is("rootElement"))return;if(e.is("element"))for(const t of e.getChildren())this._addToClonedElementsGroup(t);const t=e.id;if(!t)return;let o=this._cloneGroups.get(t);o||(o=new Set,this._cloneGroups.set(t,o)),o.add(e),e._clonesGroup=o}_removeFromClonedElementsGroup(e){if(e.is("element"))for(const t of e.getChildren())this._removeFromClonedElementsGroup(t);const t=e.id;if(!t)return;const o=this._cloneGroups.get(t);o&&o.delete(e)}}function nn(e){let t=e.parent;for(;!un(t);){if(!t)return;t=t.parent}return t}function sn(e,t){return e.priorityt.priority)&&e.getIdentity()o instanceof e)))throw new fe("view-writer-insert-invalid-node-type",t);o.is("$text")||dn(o.getChildren(),t)}}function un(e){return e&&(e.is("containerElement")||e.is("documentFragment"))}function hn(e,t){const o=nn(e.start),i=nn(e.end);if(!o||!i||o!==i)throw new fe("view-writer-invalid-range-container",t)}const mn=e=>e.createTextNode(" "),gn=e=>{const t=e.createElement("span");return t.dataset.ckeFiller="true",t.innerText=" ",t},pn=e=>{const t=e.createElement("br");return t.dataset.ckeFiller="true",t},fn="⁠".repeat(7);function bn(e){return"string"==typeof e?e.substr(0,7)===fn:at(e)&&e.data.substr(0,7)===fn}function wn(e){return 7==e.data.length&&bn(e)}function yn(e){const t="string"==typeof e?e:e.data;return bn(e)?t.slice(7):t}function _n(e,t){if(t.keyCode==qt.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(1==e.rangeCount&&e.getRangeAt(0).collapsed){const t=e.getRangeAt(0).startContainer,o=e.getRangeAt(0).startOffset;bn(t)&&o<=7&&e.collapse(t,0)}}}class kn extends(Be()){domDocuments=new Set;domConverter;markedAttributes=new Set;markedChildren=new Set;markedTexts=new Set;selection;_inlineFiller=null;_fakeSelectionContainer=null;constructor(e,t){super(),this.domConverter=e,this.selection=t,this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),Y.isBlink&&!Y.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()}))}markToSync(e,t){if("text"===e)this.domConverter.mapViewToDom(t.parent)&&this.markedTexts.add(t);else{if(!this.domConverter.mapViewToDom(t))return;if("attributes"===e)this.markedAttributes.add(t);else{if("children"!==e)throw new fe("view-renderer-unknown-type",this);this.markedChildren.add(t)}}}render(){if(this.isComposing&&!Y.isAndroid)return;let e=null;const t=!(Y.isBlink&&!Y.isAndroid)||!this.isSelecting;for(const e of this.markedChildren)this._updateChildrenMappings(e);t?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?e=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(e=this.selection.getFirstPosition(),this.markedChildren.add(e.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(e=this.domConverter.domPositionToView(this._inlineFiller),e&&e.parent.is("$text")&&(e=Si._createBefore(e.parent)));for(const e of this.markedAttributes)this._updateAttrs(e);for(const t of this.markedChildren)this._updateChildren(t,{inlineFillerPosition:e});for(const t of this.markedTexts)!this.markedChildren.has(t.parent)&&this.domConverter.mapViewToDom(t.parent)&&this._updateText(t,{inlineFillerPosition:e});if(t)if(e){const t=this.domConverter.viewPositionToDom(e),o=t.parent.ownerDocument;bn(t.parent)?this._inlineFiller=t.parent:this._inlineFiller=vn(o,t.parent,t.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.domConverter._clearTemporaryCustomProperties(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const o=Array.from(t.childNodes),i=Array.from(this.domConverter.viewChildrenToDom(e,{withChildren:!1})),n=this._diffNodeLists(o,i),s=this._findUpdateActions(n,o,i,Cn);if(-1!==s.indexOf("update")){const t={equal:0,insert:0,delete:0};for(const n of s)if("update"===n){const n=t.equal+t.insert,s=t.equal+t.delete,r=e.getChild(n);!r||r.is("uiElement")||r.is("rawElement")||this._updateElementMappings(r,o[s]),Pt(i[n]),t.equal++}else t[n]++}}_updateElementMappings(e,t){this.domConverter.unbindDomElement(t),this.domConverter.bindElements(t,e),this.markedChildren.add(e),this.markedAttributes.add(e)}_getInlineFillerPosition(){const e=this.selection.getFirstPosition();return e.parent.is("$text")?Si._createBefore(e.parent):e}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=this.domConverter.viewPositionToDom(e);return!!(t&&at(t.parent)&&bn(t.parent))}_removeInlineFiller(){const e=this._inlineFiller;if(!bn(e))throw new fe("view-renderer-filler-was-lost",this);wn(e)?e.remove():e.data=e.data.substr(7),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=e.parent,o=e.offset;if(!this.domConverter.mapViewToDom(t.root))return!1;if(!t.is("element"))return!1;if(!function(e){if("false"==e.getAttribute("contenteditable"))return!1;const t=e.findAncestor((e=>e.hasAttribute("contenteditable")));return!t||"true"==t.getAttribute("contenteditable")}(t))return!1;const i=e.nodeBefore,n=e.nodeAfter;return!(i instanceof si||n instanceof si)&&(!!(o!==t.getFillerOffset()||i&&i.is("element","br"))&&(!Y.isAndroid||!i&&!n))}_updateText(e,t){const o=this.domConverter.findCorrespondingDomText(e);let i=this.domConverter.viewToDom(e).data;const n=t.inlineFillerPosition;n&&n.parent==e.parent&&n.offset==e.index&&(i=fn+i),this._updateTextNode(o,i)}_updateAttrs(e){const t=this.domConverter.mapViewToDom(e);if(t){for(const o of Array.from(t.attributes)){const i=o.name;e.hasAttribute(i)||this.domConverter.removeDomElementAttribute(t,i)}for(const o of e.getAttributeKeys())this.domConverter.setDomElementAttribute(t,o,e.getAttribute(o),e)}}_updateChildren(e,t){const o=this.domConverter.mapViewToDom(e);if(!o)return;if(Y.isAndroid){let e=null;for(const t of Array.from(o.childNodes)){if(e&&at(e)&&at(t)){o.normalize();break}e=t}}const i=t.inlineFillerPosition,n=o.childNodes,s=Array.from(this.domConverter.viewChildrenToDom(e,{bind:!0}));i&&i.parent===e&&vn(o.ownerDocument,s,i.offset);const r=this._diffNodeLists(n,s),a=this._findUpdateActions(r,n,s,An);let l=0;const c=new Set;for(const e of a)"delete"===e?(c.add(n[l]),Pt(n[l])):"equal"!==e&&"update"!==e||l++;l=0;for(const e of a)"insert"===e?(kt(o,l,s[l]),l++):"update"===e?(this._updateTextNode(n[l],s[l].data),l++):"equal"===e&&(this._markDescendantTextToSync(this.domConverter.domToView(s[l])),l++);for(const e of c)e.parentNode||this.domConverter.unbindDomElement(e)}_diffNodeLists(e,t){return de(e=function(e,t){const o=Array.from(e);if(0==o.length||!t)return o;o[o.length-1]==t&&o.pop();return o}(e,this._fakeSelectionContainer),t,xn.bind(null,this.domConverter))}_findUpdateActions(e,t,o,i){if(-1===e.indexOf("insert")||-1===e.indexOf("delete"))return e;let n=[],s=[],r=[];const a={equal:0,insert:0,delete:0};for(const l of e)"insert"===l?r.push(o[a.equal+a.insert]):"delete"===l?s.push(t[a.equal+a.delete]):(n=n.concat(de(s,r,i).map((e=>"equal"===e?"update":e))),n.push("equal"),s=[],r=[]),a[l]++;return n.concat(de(s,r,i).map((e=>"equal"===e?"update":e)))}_updateTextNode(e,t){const o=e.data;o!=t&&(Y.isAndroid&&this.isComposing&&o.replace(/\u00A0/g," ")==t.replace(/\u00A0/g," ")||this._updateTextNodeInternal(e,t))}_updateTextNodeInternal(e,t){const o=ae(e.data,t);for(const t of o)"insert"===t.type?e.insertData(t.index,t.values.join("")):e.deleteData(t.index,t.howMany)}_markDescendantTextToSync(e){if(e)if(e.is("$text"))this.markedTexts.add(e);else if(e.is("element"))for(const t of e.getChildren())this._markDescendantTextToSync(t)}_updateSelection(){if(Y.isBlink&&!Y.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const e=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&e?this.selection.isFake?this._updateFakeSelection(e):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(e)):this.isComposing&&Y.isAndroid||this._updateDomSelection(e):!this.selection.isFake&&this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected&&this._removeFakeSelection()}_updateFakeSelection(e){const t=e.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(e){const t=e.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}(t));const o=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(o,this.selection),!this._fakeSelectionNeedsUpdate(e))return;o.parentElement&&o.parentElement==e||e.appendChild(o),o.textContent=this.selection.fakeSelectionLabel||" ";const i=t.getSelection(),n=t.createRange();i.removeAllRanges(),n.selectNodeContents(o),i.addRange(n)}_updateDomSelection(e){const t=e.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(t))return;const o=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);t.setBaseAndExtent(o.parent,o.offset,i.parent,i.offset),Y.isGecko&&function(e,t){let o=e.parent,i=e.offset;at(o)&&wn(o)&&(i=_t(o)+1,o=o.parentNode);if(o.nodeType!=Node.ELEMENT_NODE||i!=o.childNodes.length-1)return;const n=o.childNodes[i];n&&"BR"==n.tagName&&t.addRange(t.getRangeAt(0))}(i,t)}_domSelectionNeedsUpdate(e){if(!this.domConverter.isDomSelectionCorrect(e))return!0;const t=e&&this.domConverter.domSelectionToView(e);return(!t||!this.selection.isEqual(t))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(t))}_fakeSelectionNeedsUpdate(e){const t=this._fakeSelectionContainer,o=e.ownerDocument.getSelection();return!t||t.parentElement!==e||(o.anchorNode!==t&&!t.contains(o.anchorNode)||t.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const e of this.domDocuments){const t=e.getSelection();if(t.rangeCount){const o=e.activeElement,i=this.domConverter.mapDomToView(o);o&&i&&t.removeAllRanges()}}}_removeFakeSelection(){const e=this._fakeSelectionContainer;e&&e.remove()}_updateFocus(){if(this.isFocused){const e=this.selection.editableElement;e&&this.domConverter.focus(e)}}}function vn(e,t,o){const i=t instanceof Array?t:t.childNodes,n=i[o];if(at(n))return n.data=fn+n.data,n;{const n=e.createTextNode(fn);return Array.isArray(t)?i.splice(o,0,n):kt(t,o,n),n}}function Cn(e,t){return Qe(e)&&Qe(t)&&!at(e)&&!at(t)&&!vt(e)&&!vt(t)&&e.tagName.toLowerCase()===t.tagName.toLowerCase()}function An(e,t){return Qe(e)&&Qe(t)&&at(e)&&at(t)}function xn(e,t,o){return t===o||(at(t)&&at(o)?t.data===o.data:!(!e.isBlockFiller(t)||!e.isBlockFiller(o)))}const En=pn(J.document),Tn=mn(J.document),Pn=gn(J.document),Sn="data-ck-unsafe-attribute-",In="data-ck-unsafe-element";class Rn{document;renderingMode;blockFillerMode;preElements;blockElements;inlineObjectElements;unsafeElements;_domDocument;_domToViewMapping=new WeakMap;_viewToDomMapping=new WeakMap;_fakeSelectionMapping=new WeakMap;_rawContentElementMatcher=new ui;_inlineObjectElementMatcher=new ui;_elementsWithTemporaryCustomProperties=new Set;constructor(e,{blockFillerMode:t,renderingMode:o="editing"}={}){this.document=e,this.renderingMode=o,this.blockFillerMode=t||("editing"===o?"br":"nbsp"),this.preElements=["pre","textarea"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?J.document:J.document.implementation.createHTMLDocument("")}get domDocument(){return this._domDocument}bindFakeSelection(e,t){this._fakeSelectionMapping.set(e,new Oi(t))}fakeSelectionToView(e){return this._fakeSelectionMapping.get(e)}bindElements(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}unbindDomElement(e){const t=this._domToViewMapping.get(e);if(t){this._domToViewMapping.delete(e),this._viewToDomMapping.delete(t);for(const t of e.children)this.unbindDomElement(t)}}bindDocumentFragments(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}shouldRenderAttribute(e,t,o){return"data"===this.renderingMode||!(e=e.toLowerCase()).startsWith("on")&&("srcdoc"!==e&&("img"===o&&("src"===e||"srcset"===e)||("source"===o&&"srcset"===e||!t.replace(/\s+/g,"").match(/^(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(e,t){if("data"===this.renderingMode)return void(e.innerHTML=t);const o=(new DOMParser).parseFromString(t,"text/html"),i=o.createDocumentFragment(),n=o.body.childNodes;for(;n.length>0;)i.appendChild(n[0]);const s=o.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),r=[];let a;for(;a=s.nextNode();)r.push(a);for(const e of r){for(const t of e.getAttributeNames())this.setDomElementAttribute(e,t,e.getAttribute(t));const t=e.tagName.toLowerCase();this._shouldRenameElement(t)&&(Bn(t),e.replaceWith(this._createReplacementDomElement(t,e)))}for(;e.firstChild;)e.firstChild.remove();e.append(i)}viewToDom(e,t={}){if(e.is("$text")){const t=this._processDataFromViewText(e);return this._domDocument.createTextNode(t)}{const o=e;if(this.mapViewToDom(o)){if(!o.getCustomProperty("editingPipeline:doNotReuseOnce"))return this.mapViewToDom(o);this._elementsWithTemporaryCustomProperties.add(o)}let i;if(o.is("documentFragment"))i=this._domDocument.createDocumentFragment(),t.bind&&this.bindDocumentFragments(i,o);else{if(o.is("uiElement"))return i="$comment"===o.name?this._domDocument.createComment(o.getCustomProperty("$rawContent")):o.render(this._domDocument,this),t.bind&&this.bindElements(i,o),i;this._shouldRenameElement(o.name)?(Bn(o.name),i=this._createReplacementDomElement(o.name)):i=o.hasAttribute("xmlns")?this._domDocument.createElementNS(o.getAttribute("xmlns"),o.name):this._domDocument.createElement(o.name),o.is("rawElement")&&o.render(i,this),t.bind&&this.bindElements(i,o);for(const e of o.getAttributeKeys())this.setDomElementAttribute(i,e,o.getAttribute(e),o)}if(!1!==t.withChildren)for(const e of this.viewChildrenToDom(o,t))i instanceof HTMLTemplateElement?i.content.appendChild(e):i.appendChild(e);return i}}setDomElementAttribute(e,t,o,i){const n=this.shouldRenderAttribute(t,o,e.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(t);n||be("domconverter-unsafe-attribute-detected",{domElement:e,key:t,value:o}),function(e){try{J.document.createAttribute(e)}catch{return!1}return!0}(t)?(e.hasAttribute(t)&&!n?e.removeAttribute(t):e.hasAttribute(Sn+t)&&n&&e.removeAttribute(Sn+t),e.setAttribute(n?t:Sn+t,o)):be("domconverter-invalid-attribute-detected",{domElement:e,key:t,value:o})}removeDomElementAttribute(e,t){t!=In&&(e.removeAttribute(t),e.removeAttribute(Sn+t))}*viewChildrenToDom(e,t={}){const o=e.getFillerOffset&&e.getFillerOffset();let i=0;for(const n of e.getChildren()){o===i&&(yield this._getBlockFiller());const e=n.is("element")&&!!n.getCustomProperty("dataPipeline:transparentRendering")&&!to(n.getAttributes());if(e&&"data"==this.renderingMode)if(n.is("rawElement")){const e=this._domDocument.createElement(n.name);n.render(e,this),yield*[...e.childNodes]}else yield*this.viewChildrenToDom(n,t);else e&&be("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:n}),yield this.viewToDom(n,t);i++}o===i&&(yield this._getBlockFiller())}viewRangeToDom(e){const t=this.viewPositionToDom(e.start),o=this.viewPositionToDom(e.end),i=this._domDocument.createRange();return i.setStart(t.parent,t.offset),i.setEnd(o.parent,o.offset),i}viewPositionToDom(e){const t=e.parent;if(t.is("$text")){const o=this.findCorrespondingDomText(t);if(!o)return null;let i=e.offset;return bn(o)&&(i+=7),o.data&&i>o.data.length&&(i=o.data.length),{parent:o,offset:i}}{let o,i,n;if(0===e.offset){if(o=this.mapViewToDom(t),!o)return null;n=o.childNodes[0]}else{const t=e.nodeBefore;if(i=t.is("$text")?this.findCorrespondingDomText(t):this.mapViewToDom(t),!i)return null;o=i.parentNode,n=i.nextSibling}if(at(n)&&bn(n))return{parent:n,offset:7};return{parent:o,offset:i?_t(i)+1:0}}}domToView(e,t={}){const o=[],i=this._domToView(e,t,o),n=i.next().value;return n?(i.next(),this._processDomInlineNodes(null,o,t),"br"==this.blockFillerMode&&Mn(n)||n.is("$text")&&0==n.data.length?null:n):null}*domChildrenToView(e,t={},o=[]){let i=[];i=e instanceof HTMLTemplateElement?[...e.content.childNodes]:[...e.childNodes];for(let n=0;n{const{scrollLeft:t,scrollTop:o}=e;n.push([t,o])})),t.focus({preventScroll:!0}),On(t,(e=>{const[t,o]=n.shift();e.scrollLeft=t,e.scrollTop=o})),J.window.scrollTo(o,i)}_clearDomSelection(){const e=this.mapViewToDom(this.document.selection.editableElement);if(!e)return;const t=e.ownerDocument.defaultView.getSelection(),o=this.domSelectionToView(t);o&&o.rangeCount>0&&t.removeAllRanges()}isElement(e){return e&&e.nodeType==Node.ELEMENT_NODE}isDocumentFragment(e){return e&&e.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(e){return"br"==this.blockFillerMode?e.isEqualNode(En):!!Nn(e,this.blockElements)||(e.isEqualNode(Pn)||function(e,t){const o=e.isEqualNode(Tn);return o&&Vn(e,t)&&1===e.parentNode.childNodes.length}(e,this.blockElements))}isDomSelectionBackward(e){if(e.isCollapsed)return!1;const t=this._domDocument.createRange();try{t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset)}catch{return!1}const o=t.collapsed;return t.detach(),o}getHostViewElement(e){const t=it(e);for(t.pop();t.length;){const e=t.pop(),o=this._domToViewMapping.get(e);if(o&&(o.is("uiElement")||o.is("rawElement")))return o}return null}isDomSelectionCorrect(e){return this._isDomSelectionPositionCorrect(e.anchorNode,e.anchorOffset)&&this._isDomSelectionPositionCorrect(e.focusNode,e.focusOffset)}registerRawContentMatcher(e){this._rawContentElementMatcher.add(e)}registerInlineObjectMatcher(e){this._inlineObjectElementMatcher.add(e)}_clearTemporaryCustomProperties(){for(const e of this._elementsWithTemporaryCustomProperties)e._removeCustomProperty("editingPipeline:doNotReuseOnce");this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return mn(this._domDocument);case"markedNbsp":return gn(this._domDocument);case"br":return pn(this._domDocument)}}_isDomSelectionPositionCorrect(e,t){if(at(e)&&bn(e)&&t<7)return!1;if(this.isElement(e)&&bn(e.childNodes[t]))return!1;const o=this.mapDomToView(e);return!o||!o.is("uiElement")&&!o.is("rawElement")}*_domToView(e,t,o){if("br"!=this.blockFillerMode&&Nn(e,this.blockElements))return null;const i=this.getHostViewElement(e);if(i)return i;if(vt(e)&&t.skipComments)return null;if(at(e)){if(wn(e))return null;{const t=e.data;if(""===t)return null;const i=new si(this.document,t);return o.push(i),i}}{let i=this.mapDomToView(e);if(i)return this._isInlineObjectElement(i)&&o.push(i),i;if(this.isDocumentFragment(e))i=new tn(this.document),t.bind&&this.bindDocumentFragments(e,i);else{i=this._createViewElement(e,t),t.bind&&this.bindElements(e,i);const n=e.attributes;if(n)for(let e=n.length,t=0;t0?t[e-1]:null,l=e+1e.is("element")&&t.includes(e.name)))}(e,this.preElements))return!0;for(const t of e.getAncestors({parentFirst:!0}))if(t.is("element")&&t.hasStyle("white-space")&&"inherit"!==t.getStyle("white-space"))return["pre","pre-wrap","break-spaces"].includes(t.getStyle("white-space"));return!1}_getTouchingInlineViewNode(e,t){const o=new Pi({startPosition:t?Si._createAfter(e):Si._createBefore(e),direction:t?"forward":"backward"});for(const{item:e}of o){if(e.is("$textProxy"))return e;if(!e.is("element")||!e.getCustomProperty("dataPipeline:transparentRendering")){if(e.is("element","br"))return null;if(this._isInlineObjectElement(e))return e;if(e.is("containerElement")||this._isBlockViewElement(e))return null}}return null}_isBlockDomElement(e){return this.isElement(e)&&this.blockElements.includes(e.tagName.toLowerCase())}_isBlockViewElement(e){return e.is("element")&&this.blockElements.includes(e.name)}_isInlineObjectElement(e){return!!e.is("element")&&("br"==e.name||this.inlineObjectElements.includes(e.name)||!!this._inlineObjectElementMatcher.match(e))}_createViewElement(e,t){if(vt(e))return new Zi(this.document,"$comment");const o=t.keepOriginalCase?e.tagName:e.tagName.toLowerCase();return new _i(this.document,o)}_isViewElementWithRawContent(e,t){return!1!==t.withChildren&&e.is("element")&&!!this._rawContentElementMatcher.match(e)}_shouldRenameElement(e){const t=e.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(t)}_createReplacementDomElement(e,t){const o=this._domDocument.createElement("span");if(o.setAttribute(In,e),t){for(;t.firstChild;)o.appendChild(t.firstChild);for(const e of t.getAttributeNames())o.setAttribute(e,t.getAttribute(e))}return o}}function On(e,t){let o=e;for(;o;)t(o),o=o.parentElement}function Vn(e,t){const o=e.parentNode;return!!o&&!!o.tagName&&t.includes(o.tagName.toLowerCase())}function Dn(e,t,o){return" "==t&&e&&e.is("element")&&1==e.childCount&&o.includes(e.name)}function Fn(e,t){return" "==t&&e&&e.is("element","span")&&1==e.childCount&&e.hasAttribute("data-cke-filler")}function Mn(e){return e.is("element","br")&&e.hasAttribute("data-cke-filler")}function Nn(e,t){return"BR"===e.tagName&&Vn(e,t)&&1===e.parentNode.childNodes.length}function Bn(e){"script"===e&&be("domconverter-unsafe-script-element-detected"),"style"===e&&be("domconverter-unsafe-style-element-detected")}class Ln extends(et()){view;document;_isEnabled=!1;constructor(e){super(),this.view=e,this.document=e.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(e){return e&&3===e.nodeType&&(e=e.parentNode),!(!e||1!==e.nodeType)&&e.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}class zn{view;document;domEvent;domTarget;constructor(e,t,o){this.view=e,this.document=e.document,this.domEvent=t,this.domTarget=t.target,No(this,o)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class jn extends Ln{useCapture=!1;usePassive=!1;observe(e){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((t=>{this.listenTo(e,t,((e,t)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(t.target)&&this.onDomEvent(t)}),{useCapture:this.useCapture,usePassive:this.usePassive})}))}stopObserving(e){this.stopListening(e)}fire(e,t,o){this.isEnabled&&this.document.fire(e,new zn(this.view,t,o))}}class qn extends jn{domEventType=["keydown","keyup"];onDomEvent(e){const t={keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey,get keystroke(){return Ht(this)}};this.fire(e.type,e,t)}}class $n extends Ln{_fireSelectionChangeDoneDebounced;constructor(e){super(e),this._fireSelectionChangeDoneDebounced=zo((e=>{this.document.fire("selectionChangeDone",e)}),200)}observe(){const e=this.document;e.on("arrowKey",((t,o)=>{e.selection.isFake&&this.isEnabled&&o.preventDefault()}),{context:"$capture"}),e.on("arrowKey",((t,o)=>{e.selection.isFake&&this.isEnabled&&this._handleSelectionMove(o.keyCode)}),{priority:"lowest"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(e){const t=this.document.selection,o=new Oi(t.getRanges(),{backward:t.isBackward,fake:!1});e!=qt.arrowleft&&e!=qt.arrowup||o.setTo(o.getFirstPosition()),e!=qt.arrowright&&e!=qt.arrowdown||o.setTo(o.getLastPosition());const i={oldSelection:t,newSelection:o,domSelection:null};this.document.fire("selectionChange",i),this._fireSelectionChangeDoneDebounced(i)}}class Hn extends Ln{domConverter;_config;_domElements;_mutationObserver;constructor(e){super(e),this._config={childList:!0,characterData:!0,subtree:!0},this.domConverter=e.domConverter,this._domElements=new Set,this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(e){this._domElements.add(e),this.isEnabled&&this._mutationObserver.observe(e,this._config)}stopObserving(e){if(this._domElements.delete(e),this.isEnabled){this._mutationObserver.disconnect();for(const e of this._domElements)this._mutationObserver.observe(e,this._config)}}enable(){super.enable();for(const e of this._domElements)this._mutationObserver.observe(e,this._config)}disable(){super.disable(),this._mutationObserver.disconnect()}destroy(){super.destroy(),this._mutationObserver.disconnect()}_onMutations(e){if(0===e.length)return;const t=this.domConverter,o=new Set,i=new Set;for(const o of e){const e=t.mapDomToView(o.target);e&&(e.is("uiElement")||e.is("rawElement")||"childList"!==o.type||this._isBogusBrMutation(o)||i.add(e))}for(const n of e){const e=t.mapDomToView(n.target);if((!e||!e.is("uiElement")&&!e.is("rawElement"))&&"characterData"===n.type){const e=t.findCorrespondingViewText(n.target);e&&!i.has(e.parent)?o.add(e):!e&&bn(n.target)&&i.add(t.mapDomToView(n.target.parentNode))}}const n=[];for(const e of o)n.push({type:"text",node:e});for(const e of i){const o=t.mapViewToDom(e);Uo(Array.from(e.getChildren()),Array.from(t.domChildrenToView(o,{withChildren:!1})),Wn)||n.push({type:"children",node:e})}n.length&&this.document.fire("mutations",{mutations:n})}_isBogusBrMutation(e){let t=null;return null===e.nextSibling&&0===e.removedNodes.length&&1==e.addedNodes.length&&(t=this.domConverter.domToView(e.addedNodes[0],{withChildren:!1})),t&&t.is("element","br")}}function Wn(e,t){if(!Array.isArray(e))return e===t||!(!e.is("$text")||!t.is("$text"))&&e.data===t.data}class Un extends jn{_renderTimeoutId=null;_isFocusChanging=!1;domEventType=["focus","blur"];constructor(e){super(e),this.useCapture=!0;const t=this.document;t.on("focus",(()=>this._handleFocus())),t.on("blur",((e,t)=>this._handleBlur(t))),t.on("beforeinput",(()=>{t.isFocused||this._handleFocus()}),{priority:"highest"})}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(e){this.fire(e.type,e)}destroy(){this._clearTimeout(),super.destroy()}_handleFocus(){this._clearTimeout(),this._isFocusChanging=!0,this._renderTimeoutId=setTimeout((()=>{this._renderTimeoutId=null,this.flush(),this.view.change((()=>{}))}),50)}_handleBlur(e){const t=this.document.selection.editableElement;null!==t&&t!==e.target||(this.document.isFocused=!1,this._isFocusChanging=!1,this.view.change((()=>{})))}_clearTimeout(){this._renderTimeoutId&&(clearTimeout(this._renderTimeoutId),this._renderTimeoutId=null)}}class Kn extends Ln{mutationObserver;focusObserver;selection;domConverter;_documents=new WeakSet;_fireSelectionChangeDoneDebounced;_clearInfiniteLoopInterval;_documentIsSelectingInactivityTimeoutDebounced;_loopbackCounter=0;_pendingSelectionChange=new Set;constructor(e){super(e),this.mutationObserver=e.getObserver(Hn),this.focusObserver=e.getObserver(Un),this.selection=this.document.selection,this.domConverter=e.domConverter,this._fireSelectionChangeDoneDebounced=zo((e=>{this.document.fire("selectionChangeDone",e)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=zo((()=>this.document.isSelecting=!1),5e3),this.view.document.on("change:isFocused",((e,t,o)=>{if(o&&this._pendingSelectionChange.size){for(const e of Array.from(this._pendingSelectionChange))this._handleSelectionChange(e);this._pendingSelectionChange.clear()}}))}observe(e){const t=e.ownerDocument,o=()=>{this.document.isSelecting&&(this._handleSelectionChange(t),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(e,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(e,"keydown",o,{priority:"highest",useCapture:!0}),this.listenTo(e,"keyup",o,{priority:"highest",useCapture:!0}),this._documents.has(t)||(this.listenTo(t,"mouseup",o,{priority:"highest",useCapture:!0}),this.listenTo(t,"selectionchange",(()=>{this.document.isComposing&&!Y.isAndroid||(this._handleSelectionChange(t),this._documentIsSelectingInactivityTimeoutDebounced())})),this.listenTo(this.view.document,"compositionstart",(()=>{this._handleSelectionChange(t)}),{priority:"lowest"}),this._documents.add(t))}stopObserving(e){this.stopListening(e)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(e){if(!this.isEnabled)return;const t=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(t.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(t);if(0!=o.rangeCount)if(this.view.hasDomSelection=!0,this.focusObserver.flush(),this.view.document.isFocused||this.view.document.isReadOnly){if(this._pendingSelectionChange.delete(e),!this.selection.isEqual(o)||!this.domConverter.isDomSelectionCorrect(t))if(++this._loopbackCounter>60)this._reportInfiniteLoop();else if(function(e){return Array.from(e.getRanges()).flatMap((e=>[e.start.root,e.end.root])).every((e=>e&&e.is("rootElement")))}(o))if(this.selection.isSimilar(o))this.view.forceRender();else{const e={oldSelection:this.selection,newSelection:o,domSelection:t};this.document.fire("selectionChange",e),this._fireSelectionChangeDoneDebounced(e)}else this.view.forceRender()}else this._pendingSelectionChange.add(e);else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class Gn extends jn{domEventType=["compositionstart","compositionupdate","compositionend"];constructor(e){super(e);const t=this.document;t.on("compositionstart",(()=>{t.isComposing=!0})),t.on("compositionend",(()=>{t.isComposing=!1}))}onDomEvent(e){this.fire(e.type,e,{data:e.data})}}class Jn{_files;_native;constructor(e,t={}){this._files=t.cacheFiles?Zn(e):null,this._native=e}get files(){return this._files||(this._files=Zn(this._native)),this._files}get types(){return this._native.types}getData(e){return this._native.getData(e)}setData(e,t){this._native.setData(e,t)}set effectAllowed(e){this._native.effectAllowed=e}get effectAllowed(){return this._native.effectAllowed}set dropEffect(e){this._native.dropEffect=e}get dropEffect(){return this._native.dropEffect}setDragImage(e,t,o){this._native.setDragImage(e,t,o)}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}function Zn(e){const t=Array.from(e.files||[]),o=Array.from(e.items||[]);return t.length?t:o.filter((e=>"file"===e.kind)).map((e=>e.getAsFile()))}class Qn extends jn{domEventType="beforeinput";onDomEvent(e){const t=e.getTargetRanges(),o=this.view,i=o.document;let n=null,s=null,r=[];if(e.dataTransfer&&(n=new Jn(e.dataTransfer)),null!==e.data?s=e.data:n&&(s=n.getData("text/plain")),i.selection.isFake)r=Array.from(i.selection.getRanges()),e.preventDefault();else if(t.length)r=t.map((t=>{let i=o.domConverter.domPositionToView(t.startContainer,t.startOffset);const n=o.domConverter.domPositionToView(t.endContainer,t.endOffset);if(i&&bn(t.startContainer)&&t.startOffset<7){e.preventDefault();let o=7-t.startOffset;i=i.getLastMatchingPosition((e=>!(!e.item.is("attributeElement")&&!e.item.is("uiElement"))||!(!e.item.is("$textProxy")||!o--)),{direction:"backward",singleCharacters:!0})}return function(e,t){for(;e.parentNode;){if(at(e)){if(t!=e.data.length)return!1}else if(t!=e.childNodes.length)return!1;if((t=_t(e)+1)<(e=e.parentNode).childNodes.length&&bn(e.childNodes[t]))return!0}return!1}(t.endContainer,t.endOffset)&&e.preventDefault(),i?o.createRange(i,n):n?o.createRange(n):void 0})).filter((e=>!!e));else if(Y.isAndroid){const t=e.target.ownerDocument.defaultView.getSelection();r=Array.from(o.domConverter.domSelectionToView(t).getRanges())}if(Y.isAndroid&&"insertCompositionText"==e.inputType&&s&&s.endsWith("\n"))this.fire(e.type,e,{inputType:"insertParagraph",targetRanges:[o.createRange(r[0].end)]});else if(["insertText","insertReplacementText"].includes(e.inputType)&&s&&s.includes("\n")){const t=s.split(/\n{1,2}/g);let o=r;e.preventDefault();for(let s=0;s{if(this.isEnabled&&((o=t.keyCode)==qt.arrowright||o==qt.arrowleft||o==qt.arrowup||o==qt.arrowdown)){const o=new Di(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(o,t),o.stop.called&&e.stop()}var o}))}observe(){}stopObserving(){}}class Xn extends Ln{constructor(e){super(e);const t=this.document;t.on("keydown",((e,o)=>{if(!this.isEnabled||o.keyCode!=qt.tab||o.ctrlKey)return;const i=new Di(t,"tab",t.selection.getFirstRange());t.fire(i,o),i.stop.called&&e.stop()}))}observe(){}stopObserving(){}}class es extends(Be()){document;domConverter;domRoots=new Map;_renderer;_initialDomRootAttributes=new WeakMap;_observers=new Map;_writer;_ongoingChange=!1;_postFixersInProgress=!1;_renderingDisabled=!1;_hasChangedSinceTheLastRendering=!1;constructor(e){super(),this.document=new Hi(e),this.domConverter=new Rn(this.document),this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new kn(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing"),this._writer=new on(this.document),this.addObserver(Hn),this.addObserver(Un),this.addObserver(Kn),this.addObserver(qn),this.addObserver($n),this.addObserver(Gn),this.addObserver(Yn),this.addObserver(Qn),this.addObserver(Xn),this.document.on("arrowKey",_n,{priority:"low"}),Qi(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0})),Y.isiOS&&this.listenTo(this.document,"blur",((e,t)=>{this.domConverter.mapDomToView(t.domEvent.relatedTarget)||this.domConverter._clearDomSelection()})),this.listenTo(this.document,"mutations",((e,{mutations:t})=>{t.forEach((e=>this._renderer.markToSync(e.type,e.node)))}),{priority:"low"}),this.listenTo(this.document,"mutations",(()=>{this.forceRender()}),{priority:"lowest"})}attachDomRoot(e,t="main"){const o=this.document.getRoot(t);o._name=e.tagName.toLowerCase();const i={};for(const{name:t,value:n}of Array.from(e.attributes))i[t]=n,"class"===t?this._writer.addClass(n.split(" "),o):o.hasAttribute(t)||this._writer.setAttribute(t,n,o);this._initialDomRootAttributes.set(e,i);const n=()=>{this._writer.setAttribute("contenteditable",(!o.isReadOnly).toString(),o),o.isReadOnly?this._writer.addClass("ck-read-only",o):this._writer.removeClass("ck-read-only",o)};n(),this.domRoots.set(t,e),this.domConverter.bindElements(e,o),this._renderer.markToSync("children",o),this._renderer.markToSync("attributes",o),this._renderer.domDocuments.add(e.ownerDocument),o.on("change:children",((e,t)=>this._renderer.markToSync("children",t))),o.on("change:attributes",((e,t)=>this._renderer.markToSync("attributes",t))),o.on("change:text",((e,t)=>this._renderer.markToSync("text",t))),o.on("change:isReadOnly",(()=>this.change(n))),o.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const o of this._observers.values())o.observe(e,t)}detachDomRoot(e){const t=this.domRoots.get(e);Array.from(t.attributes).forEach((({name:e})=>t.removeAttribute(e)));const o=this._initialDomRootAttributes.get(t);for(const e in o)t.setAttribute(e,o[e]);this.domRoots.delete(e),this.domConverter.unbindDomElement(t);for(const e of this._observers.values())e.stopObserving(t)}getDomRoot(e="main"){return this.domRoots.get(e)}addObserver(e){let t=this._observers.get(e);if(t)return t;t=new e(this),this._observers.set(e,t);for(const[e,o]of this.domRoots)t.observe(o,e);return t.enable(),t}getObserver(e){return this._observers.get(e)}disableObservers(){for(const e of this._observers.values())e.disable()}enableObservers(){for(const e of this._observers.values())e.enable()}scrollToTheSelection({alignToTop:e,forceScroll:t,viewportOffset:o=20,ancestorOffset:i=20}={}){const n=this.document.selection.getFirstRange();if(!n)return;const s=j({alignToTop:e,forceScroll:t,viewportOffset:o,ancestorOffset:i});"number"==typeof o&&(o={top:o,bottom:o,left:o,right:o});const r={target:this.domConverter.viewRangeToDom(n),viewportOffset:o,ancestorOffset:i,alignToTop:e,forceScroll:t};this.fire("scrollToTheSelection",r,s),function({target:e,viewportOffset:t=0,ancestorOffset:o=0,alignToTop:i,forceScroll:n}){const s=Mt(e);let r=s,a=null;for(t=function(e){return"number"==typeof e?{top:e,bottom:e,left:e,right:e}:e}(t);r;){let l;l=Nt(r==s?e:a),Rt({parent:l,getRect:()=>Bt(e,r),alignToTop:i,ancestorOffset:o,forceScroll:n});let c=Bt(e,r);const d=Bt(l,r);if(c.height>d.height){const e=c.getIntersection(d);e&&(c=e)}if(It({window:r,rect:c,viewportOffset:t,alignToTop:i,forceScroll:n}),r.parent!=r){if(a=r.frameElement,r=r.parent,!a)return}else r=null}}(r)}focus(){if(!this.document.isFocused){const e=this.document.selection.editableElement;e&&(this.domConverter.focus(e),this.forceRender())}}change(e){if(this.isRenderingInProgress||this._postFixersInProgress)throw new fe("cannot-change-view-tree",this);try{if(this._ongoingChange)return e(this._writer);this._ongoingChange=!0;const t=e(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),t}catch(e){fe.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(Un).flush(),this.change((()=>{}))}destroy(){for(const e of this._observers.values())e.destroy();this.document.destroy(),this.stopListening()}createPositionAt(e,t){return Si._createAt(e,t)}createPositionAfter(e){return Si._createAfter(e)}createPositionBefore(e){return Si._createBefore(e)}createRange(e,t){return new Ii(e,t)}createRangeOn(e){return Ii._createOn(e)}createRangeIn(e){return Ii._createIn(e)}createSelection(...e){return new Oi(...e)}_disableRendering(e){this._renderingDisabled=e,0==e&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class ts{is(){throw new Error("is() method is abstract")}}class os extends ts{textNode;data;offsetInText;constructor(e,t,o){if(super(),this.textNode=e,t<0||t>e.offsetSize)throw new fe("model-textproxy-wrong-offsetintext",this);if(o<0||t+o>e.offsetSize)throw new fe("model-textproxy-wrong-length",this);this.data=e.data.substring(t,t+o),this.offsetInText=t}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const e=this.textNode.getPath();return e.length>0&&(e[e.length-1]+=this.offsetInText),e}getAncestors(e={}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}hasAttribute(e){return this.textNode.hasAttribute(e)}getAttribute(e){return this.textNode.getAttribute(e)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}os.prototype.is=function(e){return"$textProxy"===e||"model:$textProxy"===e||"textProxy"===e||"model:textProxy"===e};class is{direction;boundaries;singleCharacters;shallow;ignoreElementEnd;_position;_boundaryStartParent;_boundaryEndParent;_visitedParent;constructor(e){if(!e||!e.boundaries&&!e.startPosition)throw new fe("model-tree-walker-no-start-position",null);const t=e.direction||"forward";if("forward"!=t&&"backward"!=t)throw new fe("model-tree-walker-unknown-direction",e,{direction:t});this.direction=t,this.boundaries=e.boundaries||null,e.startPosition?this._position=e.startPosition.clone():this._position=ss._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(e){let t,o,i,n;do{i=this.position,n=this._visitedParent,({done:t,value:o}=this.next())}while(!t&&e(o));t||(this._position=i,this._visitedParent=n)}jumpTo(e){this._boundaryStartParent&&e.isBefore(this.boundaries.start)?e=this.boundaries.start:this._boundaryEndParent&&e.isAfter(this.boundaries.end)&&(e=this.boundaries.end),this._position=e.clone(),this._visitedParent=e.parent}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const e=this.position,t=this.position.clone(),o=this._visitedParent;if(null===o.parent&&t.offset===o.maxOffset)return{done:!0,value:void 0};if(o===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const i=rs(t,o),n=i||as(t,o,i);if(n&&n.is("model:element")){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}else t.path.push(0),this._visitedParent=n;return this._position=t,ns("elementStart",n,e,t,1)}if(n&&n.is("model:$text")){let i;if(this.singleCharacters)i=1;else{let e=n.endOffset;this._boundaryEndParent==o&&this.boundaries.end.offsete&&(e=this.boundaries.start.offset),i=t.offset-e}const n=t.offset-s.startOffset,r=new os(s,n-i,i);return t.offset-=i,this._position=t,ns("text",r,e,t,i)}return t.path.pop(),this._position=t,this._visitedParent=o.parent,ns("elementStart",o,e,t,1)}}function ns(e,t,o,i,n){return{done:!1,value:{type:e,item:t,previousPosition:o,nextPosition:i,length:n}}}class ss extends ts{root;path;stickiness;constructor(e,t,o="toNone"){if(super(),!e.is("element")&&!e.is("documentFragment"))throw new fe("model-position-root-invalid",e);if(!Array.isArray(t)||0===t.length)throw new fe("model-position-path-incorrect-format",e,{path:t});e.is("rootElement")?t=t.slice():(t=[...e.getPath(),...t],e=e.root),this.root=e,this.path=t,this.stickiness=o}get offset(){return this.path[this.path.length-1]}set offset(e){this.path[this.path.length-1]=e}get parent(){let e=this.root;for(let t=0;t1)return!1;if(1===t)return cs(e,this,o);if(-1===t)return cs(this,e,o)}return this.path.length===e.path.length||(this.path.length>e.path.length?ds(this.path,t):ds(e.path,t))}hasSameParentAs(e){if(this.root!==e.root)return!1;return"same"==We(this.getParentPath(),e.getParentPath())}getTransformedByOperation(e){let t;switch(e.type){case"insert":t=this._getTransformedByInsertOperation(e);break;case"move":case"remove":case"reinsert":t=this._getTransformedByMoveOperation(e);break;case"split":t=this._getTransformedBySplitOperation(e);break;case"merge":t=this._getTransformedByMergeOperation(e);break;default:t=ss._createAt(this)}return t}_getTransformedByInsertOperation(e){return this._getTransformedByInsertion(e.position,e.howMany)}_getTransformedByMoveOperation(e){return this._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}_getTransformedBySplitOperation(e){const t=e.movedRange;return t.containsPosition(this)||t.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(e.splitPosition,e.moveTargetPosition):e.graveyardPosition?this._getTransformedByMove(e.graveyardPosition,e.insertionPosition,1):this._getTransformedByInsertion(e.insertionPosition,1)}_getTransformedByMergeOperation(e){const t=e.movedRange;let o;return t.containsPosition(this)||t.start.isEqual(this)?(o=this._getCombined(e.sourcePosition,e.targetPosition),e.sourcePosition.isBefore(e.targetPosition)&&(o=o._getTransformedByDeletion(e.deletionPosition,1))):o=this.isEqual(e.deletionPosition)?ss._createAt(e.deletionPosition):this._getTransformedByMove(e.deletionPosition,e.graveyardPosition,1),o}_getTransformedByDeletion(e,t){const o=ss._createAt(this);if(this.root!=e.root)return o;if("same"==We(e.getParentPath(),this.getParentPath())){if(e.offsetthis.offset)return null;o.offset-=t}}else if("prefix"==We(e.getParentPath(),this.getParentPath())){const i=e.path.length-1;if(e.offset<=this.path[i]){if(e.offset+t>this.path[i])return null;o.path[i]-=t}}return o}_getTransformedByInsertion(e,t){const o=ss._createAt(this);if(this.root!=e.root)return o;if("same"==We(e.getParentPath(),this.getParentPath()))(e.offset=t;){if(e.path[i]+n!==o.maxOffset)return!1;n=1,i--,o=o.parent}return!0}(e,o+1))}function ds(e,t){for(;tt+1;){const t=i.maxOffset-o.offset;0!==t&&e.push(new us(o,o.getShiftedBy(t))),o.path=o.path.slice(0,-1),o.offset++,i=i.parent}for(;o.path.length<=this.end.path.length;){const t=this.end.path[o.path.length-1],i=t-o.offset;0!==i&&e.push(new us(o,o.getShiftedBy(i))),o.offset=t,o.path.push(0)}return e}getWalker(e={}){return e.boundaries=this,new is(e)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new is(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new is(e);yield t.position;for(const e of t)yield e.nextPosition}getTransformedByOperation(e){switch(e.type){case"insert":return this._getTransformedByInsertOperation(e);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(e);case"split":return[this._getTransformedBySplitOperation(e)];case"merge":return[this._getTransformedByMergeOperation(e)]}return[new us(this.start,this.end)]}getTransformedByOperations(e){const t=[new us(this.start,this.end)];for(const o of e)for(let e=0;e0?new this(o,i):new this(i,o)}static _createIn(e){return new this(ss._createAt(e,0),ss._createAt(e,e.maxOffset))}static _createOn(e){return this._createFromPositionAndShift(ss._createBefore(e),e.offsetSize)}static _createFromRanges(e){if(0===e.length)throw new fe("range-create-from-ranges-empty-array",null);if(1==e.length)return e[0].clone();const t=e[0];e.sort(((e,t)=>e.start.isAfter(t.start)?1:-1));const o=e.indexOf(t),i=new this(t.start,t.end);for(let t=o-1;t>=0&&e[t].end.isEqual(i.start);t--)i.start=ss._createAt(e[t].start);for(let t=o+1;t{if(t.viewPosition)return;const o=this._modelToViewMapping.get(t.modelPosition.parent);if(!o)throw new fe("mapping-model-position-view-parent-not-found",this,{modelPosition:t.modelPosition});t.viewPosition=this.findPositionIn(o,t.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((e,t)=>{if(t.modelPosition)return;const o=this.findMappedViewAncestor(t.viewPosition),i=this._viewToModelMapping.get(o),n=this._toModelOffset(t.viewPosition.parent,t.viewPosition.offset,o);t.modelPosition=ss._createAt(i,n)}),{priority:"low"})}bindElements(e,t){this._modelToViewMapping.set(e,t),this._viewToModelMapping.set(t,e)}unbindViewElement(e,t={}){const o=this.toModelElement(e);if(this._elementToMarkerNames.has(e))for(const t of this._elementToMarkerNames.get(e))this._unboundMarkerNames.add(t);if(t.defer)this._deferredBindingRemovals.set(e,e.root);else{this._viewToModelMapping.delete(e)&&this._cache.stopTracking(e),this._modelToViewMapping.get(o)==e&&this._modelToViewMapping.delete(o)}}unbindModelElement(e){const t=this.toViewElement(e);if(this._modelToViewMapping.delete(e),this._viewToModelMapping.get(t)==e){this._viewToModelMapping.delete(t)&&this._cache.stopTracking(t)}}bindElementToMarker(e,t){const o=this._markerNameToElements.get(t)||new Set;o.add(e);const i=this._elementToMarkerNames.get(e)||new Set;i.add(t),this._markerNameToElements.set(t,o),this._elementToMarkerNames.set(e,i)}unbindElementFromMarkerName(e,t){const o=this._markerNameToElements.get(t);o&&(o.delete(e),0==o.size&&this._markerNameToElements.delete(t));const i=this._elementToMarkerNames.get(e);i&&(i.delete(t),0==i.size&&this._elementToMarkerNames.delete(e))}flushUnboundMarkerNames(){const e=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),e}flushDeferredBindings(){for(const[e,t]of this._deferredBindingRemovals)e.root==t&&this.unbindViewElement(e);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(e){return this._viewToModelMapping.get(e)}toViewElement(e){return this._modelToViewMapping.get(e)}toModelRange(e){return new us(this.toModelPosition(e.start),this.toModelPosition(e.end))}toViewRange(e){return new Ii(this.toViewPosition(e.start),this.toViewPosition(e.end))}toModelPosition(e){const t={viewPosition:e,mapper:this};return this.fire("viewToModelPosition",t),t.modelPosition}toViewPosition(e,t={}){const o={modelPosition:e,mapper:this,isPhantom:t.isPhantom};return this.fire("modelToViewPosition",o),o.viewPosition}markerNameToElements(e){const t=this._markerNameToElements.get(e);if(!t)return null;const o=new Set;for(const e of t)if(e.is("attributeElement"))for(const t of e.getElementsWithSameId())o.add(t);else o.add(e);return o}registerViewToModelLength(e,t){this._viewToModelLengthCallbacks.set(e,t)}findMappedViewAncestor(e){let t=e.parent;for(;!this._viewToModelMapping.has(t);)t=t.parent;return t}_toModelOffset(e,t,o){if(o!=e){return this._toModelOffset(e.parent,e.index,o)+this._toModelOffset(e,t,e)}if(e.is("$text"))return t;let i=0;for(let o=0;o0;){const e=t.pop(),i=e.name&&this._viewToModelLengthCallbacks.size>0&&this._viewToModelLengthCallbacks.get(e.name);if(i)o+=i(e);else if(this._viewToModelMapping.has(e))o+=1;else if(e.is("$text"))o+=e.data.length;else{if(e.is("uiElement"))continue;for(const o of e.getChildren())t.push(o)}}return o}findPositionIn(e,t){if(0===t)return this._moveViewPositionToTextNode(new Si(e,0));if(0==this._viewToModelLengthCallbacks.size&&this._viewToModelMapping.has(e)){const o=this._cache.getClosest(e,t);return this._findPositionStartingFrom(o.viewPosition,o.modelOffset,t,e,!0)}return this._findPositionStartingFrom(new Si(e,0),0,t,e,!1)}_findPositionStartingFrom(e,t,o,i,n){let s,r=e.parent,a=e.offset;if(r.is("$text"))return new Si(r,o-t);let l=t,c=0;for(;l{this._clearCacheInsideParent(t,o.index)};_invalidateOnTextChangeCallback=(e,t)=>{this._clearCacheAfter(t)};save(e,t,o,i){const n=this._cachedMapping.get(o),s=n.cacheMap.get(i);if(s){const o=e.getChild(t-1),i=s.viewPosition.nodeBefore?this._nodeToCacheListIndex.get(s.viewPosition.nodeBefore):0;return void this._nodeToCacheListIndex.set(o,i)}const r={viewPosition:new Si(e,t),modelOffset:i};n.maxModelOffset=i>n.maxModelOffset?i:n.maxModelOffset,n.cacheMap.set(i,r);let a=n.cacheList.length-1;for(;a>=0&&n.cacheList[a].modelOffset>i;)a--;if(n.cacheList.splice(a+1,0,r),t>0){const o=e.getChild(t-1);this._nodeToCacheListIndex.set(o,a+1)}}getClosest(e,t){const o=this._cachedMapping.get(e);let i;if(o)if(t>o.maxModelOffset)i=o.cacheList[o.cacheList.length-1];else{const e=o.cacheMap.get(t);i=e||this._findInCacheList(o.cacheList,t)}else i=this.startTracking(e);return{modelOffset:i.modelOffset,viewPosition:i.viewPosition.clone()}}startTracking(e){const t={viewPosition:new Si(e,0),modelOffset:0},o={maxModelOffset:0,cacheList:[t],cacheMap:new Map([[0,t]])};return this._cachedMapping.set(e,o),e.on("change:children",this._invalidateOnChildrenChangeCallback),e.on("change:text",this._invalidateOnTextChangeCallback),t}stopTracking(e){e.off("change:children",this._invalidateOnChildrenChangeCallback),e.off("change:text",this._invalidateOnTextChangeCallback),this._cachedMapping.delete(e)}_clearCacheInsideParent(e,t){if(0==t)this._cachedMapping.has(e)?this._clearCacheAll(e):this._clearCacheInsideParent(e.parent,e.index);else{const o=e.getChild(t-1);this._clearCacheAfter(o)}}_clearCacheAll(e){const t=this._cachedMapping.get(e);t.maxModelOffset>0&&(t.maxModelOffset=0,t.cacheList.length=1,t.cacheMap.clear(),t.cacheMap.set(0,t.cacheList[0]))}_clearCacheAfter(e){const t=this._nodeToCacheListIndex.get(e);if(void 0===t){const t=e.parent;return void(this._cachedMapping.has(t)||this._clearCacheInsideParent(t.parent,t.index))}let o=e.parent;for(;!this._cachedMapping.has(o);)o=o.parent;this._clearCacheFromCacheIndex(o,t)}_clearCacheFromCacheIndex(e,t){0===t&&(t=1);const o=this._cachedMapping.get(e),i=o.cacheList[t-1];if(!i)return;o.maxModelOffset=i.modelOffset;const n=o.cacheList.splice(t);for(const e of n){o.cacheMap.delete(e.modelOffset);const t=e.viewPosition.nodeBefore;this._nodeToCacheListIndex.delete(t)}}_findInCacheList(e,t){let o=0,i=e.length-1,n=i-o>>1,s=e[n];for(;o>1),s=e[n];return s.modelOffset<=t?s:e[n-1]}}class gs{_consumable=new Map;_textProxyRegistry=new Map;add(e,t){t=ps(t),e instanceof os&&(e=this._getSymbolForTextProxy(e)),this._consumable.has(e)||this._consumable.set(e,new Map),this._consumable.get(e).set(t,!0)}consume(e,t){return t=ps(t),e instanceof os&&(e=this._getSymbolForTextProxy(e)),!!this.test(e,t)&&(this._consumable.get(e).set(t,!1),!0)}test(e,t){t=ps(t),e instanceof os&&(e=this._getSymbolForTextProxy(e));const o=this._consumable.get(e);if(void 0===o)return null;const i=o.get(t);return void 0===i?null:i}revert(e,t){t=ps(t),e instanceof os&&(e=this._getSymbolForTextProxy(e));const o=this.test(e,t);return!1===o?(this._consumable.get(e).set(t,!0),!0):!0!==o&&null}verifyAllConsumed(e){const t=[];for(const[o,i]of this._consumable)for(const[n,s]of i){const i=n.split(":")[0];s&&e==i&&t.push({event:n,item:o.name||o.description})}if(t.length)throw new fe("conversion-model-consumable-not-consumed",null,{items:t})}_getSymbolForTextProxy(e){let t=null;const o=this._textProxyRegistry.get(e.startOffset);if(o){const i=o.get(e.endOffset);i&&(t=i.get(e.parent))}return t||(t=this._addSymbolForTextProxy(e)),t}_addSymbolForTextProxy(e){const t=e.startOffset,o=e.endOffset,i=e.parent,n=Symbol("$textProxy:"+e.data);let s,r;return s=this._textProxyRegistry.get(t),s||(s=new Map,this._textProxyRegistry.set(t,s)),r=s.get(o),r||(r=new Map,s.set(o,r)),r.set(i,n),n}}function ps(e){const t=e.split(":");return"insert"==t[0]?t[0]:"addMarker"==t[0]||"removeMarker"==t[0]?e:t.length>1?t[0]+":"+t[1]:t[0]}class fs extends(xe()){_conversionApi;_firedEventsMap;constructor(e){super(),this._conversionApi={dispatcher:this,...e},this._firedEventsMap=new WeakMap}convertChanges(e,t,o){const i=e.getRefreshedItems(),n=this._createConversionApi(o,i);for(const t of e.getMarkersToRemove())this._convertMarkerRemove(t.name,t.range,n);const s=this._reduceChanges(e.getChanges(),i);for(const e of s)"insert"===e.type?this._convertInsert(us._createFromPositionAndShift(e.position,e.length),n):"reinsert"===e.type?this._convertReinsert(us._createFromPositionAndShift(e.position,e.length),n):"remove"===e.type?this._convertRemove(e.position,e.length,e.name,n):this._convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,n);n.mapper.flushDeferredBindings();for(const e of n.mapper.flushUnboundMarkerNames()){const o=t.get(e).getRange();this._convertMarkerRemove(e,o,n),this._convertMarkerAdd(e,o,n)}for(const t of e.getMarkersToAdd())this._convertMarkerAdd(t.name,t.range,n);n.consumable.verifyAllConsumed("insert")}convert(e,t,o,i={}){const n=this._createConversionApi(o,void 0,i);this._convertInsert(e,n);for(const[e,o]of t)this._convertMarkerAdd(e,o,n);n.consumable.verifyAllConsumed("insert")}convertSelection(e,t,o){const i=this._createConversionApi(o);this.fire("cleanSelection",{selection:e},i);const n=e.getFirstPosition().root;if(!i.mapper.toViewElement(n))return;const s=Array.from(t.getMarkersAtPosition(e.getFirstPosition()));if(this._addConsumablesForSelection(i.consumable,e,s),this.fire("selection",{selection:e},i),e.isCollapsed){for(const t of s)if(i.consumable.test(e,"addMarker:"+t.name)){const o=t.getRange();if(!bs(e.getFirstPosition(),t,i.mapper))continue;const n={item:e,markerName:t.name,markerRange:o};this.fire(`addMarker:${t.name}`,n,i)}for(const t of e.getAttributeKeys())if(i.consumable.test(e,"attribute:"+t)){const o={item:e,range:e.getFirstRange(),attributeKey:t,attributeOldValue:null,attributeNewValue:e.getAttribute(t)};this.fire(`attribute:${t}:$text`,o,i)}}}_convertInsert(e,t,o={}){o.doNotAddConsumables||this._addConsumablesForInsert(t.consumable,e);for(const o of e.getWalker({shallow:!0}))this._testAndFire("insert",ws(o),t)}_convertRemove(e,t,o,i){this.fire(`remove:${o}`,{position:e,length:t},i)}_convertAttribute(e,t,o,i,n){this._addConsumablesForRange(n.consumable,e,`attribute:${t}`);for(const s of e){const e={item:s.item,range:us._createFromPositionAndShift(s.previousPosition,s.length),attributeKey:t,attributeOldValue:o,attributeNewValue:i};this._testAndFire(`attribute:${t}`,e,n)}}_convertReinsert(e,t){const o=Array.from(e.getWalker({shallow:!0}));this._addConsumablesForInsert(t.consumable,o);for(const e of o.map(ws))this.fire(`remove:${e.item.is("element")?e.item.name:"$text"}`,{position:e.range.start,length:e.item.offsetSize,reconversion:!0},t),this._testAndFire("insert",{...e,reconversion:!0},t)}_convertMarkerAdd(e,t,o){if("$graveyard"==t.root.rootName)return;const i=`addMarker:${e}`;if(o.consumable.add(t,i),this.fire(i,{markerName:e,markerRange:t},o),o.consumable.consume(t,i)){this._addConsumablesForRange(o.consumable,t,i);for(const n of t.getItems()){if(!o.consumable.test(n,i))continue;const s={item:n,range:us._createOn(n),markerName:e,markerRange:t};this.fire(i,s,o)}}}_convertMarkerRemove(e,t,o){"$graveyard"!=t.root.rootName&&this.fire(`removeMarker:${e}`,{markerName:e,markerRange:t},o)}_reduceChanges(e,t){const o={changes:e,refreshedItems:t};return this.fire("reduceChanges",o),o.changes}_addConsumablesForInsert(e,t){for(const o of t){const t=o.item;if(null===e.test(t,"insert")){e.add(t,"insert");for(const o of t.getAttributeKeys())e.add(t,"attribute:"+o)}}return e}_addConsumablesForRange(e,t,o){for(const i of t.getItems())e.add(i,o);return e}_addConsumablesForSelection(e,t,o){e.add(t,"selection");for(const i of o)e.add(t,"addMarker:"+i.name);for(const o of t.getAttributeKeys())e.add(t,"attribute:"+o);return e}_testAndFire(e,t,o){const i=function(e,t){const o=t.item.is("element")?t.item.name:"$text";return`${e}:${o}`}(e,t),n=t.item.is("$textProxy")?o.consumable._getSymbolForTextProxy(t.item):t.item,s=this._firedEventsMap.get(o),r=s.get(n);if(r){if(r.has(i))return;r.add(i)}else s.set(n,new Set([i]));this.fire(i,t,o)}_testAndFireAddAttributes(e,t){const o={item:e,range:us._createOn(e)};for(const e of o.item.getAttributeKeys())o.attributeKey=e,o.attributeOldValue=null,o.attributeNewValue=o.item.getAttribute(e),this._testAndFire(`attribute:${e}`,o,t)}_createConversionApi(e,t=new Set,o={}){const i={...this._conversionApi,consumable:new gs,writer:e,options:o,convertItem:e=>this._convertInsert(us._createOn(e),i),convertChildren:e=>this._convertInsert(us._createIn(e),i,{doNotAddConsumables:!0}),convertAttributes:e=>this._testAndFireAddAttributes(e,i),canReuseView:e=>!t.has(i.mapper.toModelElement(e))};return this._firedEventsMap.set(i,new Map),i}}function bs(e,t,o){const i=t.getRange(),n=Array.from(e.getAncestors());n.shift(),n.reverse();return!n.some((e=>{if(i.containsItem(e)){return!!o.toViewElement(e).getCustomProperty("addHighlight")}}))}function ws(e){return{item:e.item,range:us._createFromPositionAndShift(e.previousPosition,e.length)}}class ys extends ts{parent=null;_attrs;_index=null;_startOffset=null;constructor(e){super(),this._attrs=ao(e)}get document(){return null}get index(){return this._index}get startOffset(){return this._startOffset}get offsetSize(){return 1}get endOffset(){return null===this.startOffset?null:this.startOffset+this.offsetSize}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return null!==this.parent&&this.root.isAttached()}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.startOffset),t=t.parent;return e}getAncestors(e={}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}getCommonAncestor(e,t={}){const o=this.getAncestors(t),i=e.getAncestors(t);let n=0;for(;o[n]==i[n]&&o[n];)n++;return 0===n?null:o[n-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),o=e.getPath(),i=We(t,o);switch(i){case"prefix":return!0;case"extension":return!1;default:return t[i](e[t[0]]=t[1],e)),{})),e}_clone(e){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(e,t){this._attrs.set(e,t)}_setAttributesTo(e){this._attrs=ao(e)}_removeAttribute(e){return this._attrs.delete(e)}_clearAttributes(){this._attrs.clear()}}ys.prototype.is=function(e){return"node"===e||"model:node"===e};class _s extends(xe(ts)){_lastRangeBackward=!1;_attrs=new Map;_ranges=[];constructor(...e){super(),e.length&&this.setTo(...e)}get anchor(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.end:e.start}return null}get focus(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.start:e.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(e){if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let o=!1;for(const i of e._ranges)if(t.isEqual(i)){o=!0;break}if(!o)return!1}return!0}*getRanges(){for(const e of this._ranges)yield new us(e.start,e.end)}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?new us(e.start,e.end):null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?new us(e.start,e.end):null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}setTo(...e){let[t,o,i]=e;if("object"==typeof o&&(i=o,o=void 0),null===t)this._setRanges([]);else if(t instanceof _s)this._setRanges(t.getRanges(),t.isBackward);else if(t&&"function"==typeof t.getRanges)this._setRanges(t.getRanges(),t.isBackward);else if(t instanceof us)this._setRanges([t],!!i&&!!i.backward);else if(t instanceof ss)this._setRanges([new us(t)]);else if(t instanceof ys){const e=!!i&&!!i.backward;let n;if("in"==o)n=us._createIn(t);else if("on"==o)n=us._createOn(t);else{if(void 0===o)throw new fe("model-selection-setto-required-second-parameter",[this,t]);n=new us(ss._createAt(t,o))}this._setRanges([n],e)}else{if(!Ue(t))throw new fe("model-selection-setto-not-selectable",[this,t]);this._setRanges(t,i&&!!i.backward)}}_setRanges(e,t=!1){const o=Array.from(e),i=o.some((t=>{if(!(t instanceof us))throw new fe("model-selection-set-ranges-not-range",[this,e]);return this._ranges.every((e=>!e.isEqual(t)))}));(o.length!==this._ranges.length||i)&&(this._replaceAllRanges(o),this._lastRangeBackward=!!t,this.fire("change:range",{directChange:!0}))}setFocus(e,t){if(null===this.anchor)throw new fe("model-selection-setfocus-no-ranges",[this,e]);const o=ss._createAt(e,t);if("same"==o.compareWith(this.focus))return;const i=this.anchor;this._ranges.length&&this._popRange(),"before"==o.compareWith(i)?(this._pushRange(new us(o,i)),this._lastRangeBackward=!0):(this._pushRange(new us(i,o)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(e){return this._attrs.has(e)}removeAttribute(e){this.hasAttribute(e)&&(this._attrs.delete(e),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}setAttribute(e,t){this.getAttribute(e)!==t&&(this._attrs.set(e,t),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const e=new WeakSet;for(const t of this.getRanges()){const o=Cs(t.start,e);xs(o,t)&&(yield o);const i=t.getWalker();for(const o of i){const n=o.item;"elementEnd"==o.type&&vs(n,e,t)?yield n:"elementStart"==o.type&&n.is("model:element")&&n.root.document.model.schema.isBlock(n)&&i.jumpTo(ss._createAt(n,"end"))}const n=Cs(t.end,e);Es(n,t)&&(yield n)}}containsEntireContent(e=this.anchor.root){const t=ss._createAt(e,0),o=ss._createAt(e,"end");return t.isTouching(this.getFirstPosition())&&o.isTouching(this.getLastPosition())}toJSON(){const e={ranges:Array.from(this.getRanges()).map((e=>e.toJSON()))},t=Object.fromEntries(this.getAttributes());return Object.keys(t).length&&(e.attributes=t),this.isBackward&&(e.isBackward=!0),e}_pushRange(e){this._checkRange(e),this._ranges.push(new us(e.start,e.end))}_checkRange(e){for(let t=0;t0;)this._popRange()}_popRange(){this._ranges.pop()}}function ks(e,t){return!t.has(e)&&(t.add(e),e.root.document.model.schema.isBlock(e)&&!!e.parent)}function vs(e,t,o){return ks(e,t)&&As(e,o)}function Cs(e,t){const o=e.parent.root.document.model.schema,i=e.parent.getAncestors({parentFirst:!0,includeSelf:!0});let n=!1;const s=i.find((e=>!n&&(n=o.isLimit(e),!n&&ks(e,t))));return i.forEach((e=>t.add(e))),s}function As(e,t){const o=function(e){const t=e.root.document.model.schema;let o=e.parent;for(;o;){if(t.isBlock(o))return o;o=o.parent}}(e);if(!o)return!0;return!t.containsRange(us._createOn(o),!0)}function xs(e,t){return!!e&&(!(!t.isCollapsed&&!e.isEmpty)||!t.start.isTouching(ss._createAt(e,e.maxOffset))&&As(e,t))}function Es(e,t){return!!e&&(!(!t.isCollapsed&&!e.isEmpty)||!t.end.isTouching(ss._createAt(e,0))&&As(e,t))}_s.prototype.is=function(e){return"selection"===e||"model:selection"===e};class Ts extends(xe(us)){constructor(e,t){super(e,t),Ps.call(this)}detach(){this.stopListening()}toRange(){return new us(this.start,this.end)}static fromRange(e){return new Ts(e.start,e.end)}}function Ps(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&Ss.call(this,o)}),{priority:"low"})}function Ss(e){const t=this.getTransformedByOperation(e),o=us._createFromRanges(t),i=!o.isEqual(this),n=function(e,t){switch(t.type){case"insert":return e.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return e.containsPosition(t.sourcePosition)||e.start.isEqual(t.sourcePosition)||e.containsPosition(t.targetPosition);case"split":return e.containsPosition(t.splitPosition)||e.containsPosition(t.insertionPosition)}return!1}(this,e);let s=null;if(i){"$graveyard"==o.root.rootName&&(s="remove"==e.type?e.sourcePosition:e.deletionPosition);const t=this.toRange();this.start=o.start,this.end=o.end,this.fire("change:range",t,{deletionPosition:s})}else n&&this.fire("change:content",this.toRange(),{deletionPosition:s})}Ts.prototype.is=function(e){return"liveRange"===e||"model:liveRange"===e||"range"==e||"model:range"===e};class Is extends ys{_data;constructor(e,t){super(t),this._data=e||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const e=super.toJSON();return e.data=this.data,e}_clone(){return new Is(this.data,this.getAttributes())}static fromJSON(e){return new Is(e.data,e.attributes)}}Is.prototype.is=function(e){return"$text"===e||"model:$text"===e||"text"===e||"model:text"===e||"node"===e||"model:node"===e};const Rs="selection:";class Os extends(xe(ts)){_selection;constructor(e){super(),this._selection=new Vs(e),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(e){return this._selection.containsEntireContent(e)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(e){return this._selection.getAttribute(e)}hasAttribute(e){return this._selection.hasAttribute(e)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(e){this._selection.observeMarkers(e)}toJSON(){return this._selection.toJSON()}_setFocus(e,t){this._selection.setFocus(e,t)}_setTo(...e){this._selection.setTo(...e)}_setAttribute(e,t){this._selection.setAttribute(e,t)}_removeAttribute(e){this._selection.removeAttribute(e)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(e){this._selection.restoreGravity(e)}static _getStoreAttributeKey(e){return Rs+e}static _isStoreAttributeKey(e){return e.startsWith(Rs)}}Os.prototype.is=function(e){return"selection"===e||"model:selection"==e||"documentSelection"==e||"model:documentSelection"==e};class Vs extends _s{markers=new eo({idProperty:"name"});_model;_document;_attributePriority=new Map;_selectionRestorePosition=null;_hasChangedRange=!1;_overriddenGravityRegister=new Set;_observedMarkers=new Set;constructor(e){super(),this._model=e.model,this._document=e,this.listenTo(this._model,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&"marker"!=o.type&&"rename"!=o.type&&"noop"!=o.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,"update",((e,t,o,i)=>{this._updateMarker(t,i)})),this.listenTo(this._document,"change",((e,t)=>{!function(e,t){const o=e.document.differ;for(const i of o.getChanges()){if("insert"!=i.type)continue;const o=i.position.parent;i.length===o.maxOffset&&e.enqueueChange(t,(e=>{const t=Array.from(o.getAttributeKeys()).filter((e=>e.startsWith(Rs)));for(const i of t)e.removeAttribute(i,o)}))}}(this._model,t)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let e=0;ee.toJSON()))),e}_validateSelectionRanges(e){for(const t of e)if(!this._document._validateSelectionRange(t))throw new fe("document-selection-wrong-position",this,{range:t})}_prepareRange(e){if(this._checkRange(e),e.root==this._document.graveyard)return;const t=Ts.fromRange(e);return t.on("change:range",((e,o,i)=>{if(this._hasChangedRange=!0,t.root==this._document.graveyard){this._selectionRestorePosition=i.deletionPosition;const e=this._ranges.indexOf(t);this._ranges.splice(e,1),t.detach()}})),t}updateMarkers(){if(!this._observedMarkers.size)return;const e=[];let t=!1;for(const t of this._model.markers){const o=t.name.split(":",1)[0];if(!this._observedMarkers.has(o))continue;const i=t.getRange();for(const o of this.getRanges())i.containsRange(o,!o.isCollapsed)&&e.push(t)}const o=Array.from(this.markers);for(const o of e)this.markers.has(o)||(this.markers.add(o),t=!0);for(const o of Array.from(this.markers))e.includes(o)||(this.markers.remove(o),t=!0);t&&this.fire("change:marker",{oldMarkers:o,directChange:!1})}_updateMarker(e,t){const o=e.name.split(":",1)[0];if(!this._observedMarkers.has(o))return;let i=!1;const n=Array.from(this.markers),s=this.markers.has(e);if(t){let o=!1;for(const e of this.getRanges())if(t.containsRange(e,!e.isCollapsed)){o=!0;break}o&&!s?(this.markers.add(e),i=!0):!o&&s&&(this.markers.remove(e),i=!0)}else s&&(this.markers.remove(e),i=!0);i&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateAttributes(e){const t=ao(this._getSurroundingAttributes()),o=ao(this.getAttributes());if(e)this._attributePriority=new Map,this._attrs=new Map;else for(const[e,t]of this._attributePriority)"low"==t&&(this._attrs.delete(e),this._attributePriority.delete(e));this._setAttributesTo(t);const i=[];for(const[e,t]of this.getAttributes())o.has(e)&&o.get(e)===t||i.push(e);for(const[e]of o)this.hasAttribute(e)||i.push(e);i.length>0&&this.fire("change:attribute",{attributeKeys:i,directChange:!1})}_setAttribute(e,t,o=!0){const i=o?"normal":"low";if("low"==i&&"normal"==this._attributePriority.get(e))return!1;return super.getAttribute(e)!==t&&(this._attrs.set(e,t),this._attributePriority.set(e,i),!0)}_removeAttribute(e,t=!0){const o=t?"normal":"low";return("low"!=o||"normal"!=this._attributePriority.get(e))&&(this._attributePriority.set(e,o),!!super.hasAttribute(e)&&(this._attrs.delete(e),!0))}_setAttributesTo(e){const t=new Set;for(const[t,o]of this.getAttributes())e.get(t)!==o&&this._removeAttribute(t,!1);for(const[o,i]of e){this._setAttribute(o,i,!1)&&t.add(o)}return t}*getStoredAttributes(){const e=this.getFirstPosition().parent;if(this.isCollapsed&&e.isEmpty)for(const t of e.getAttributeKeys())if(t.startsWith(Rs)){const o=t.substr(10);yield[o,e.getAttribute(t)]}}_getSurroundingAttributes(){const e=this.getFirstPosition(),t=this._model.schema;if("$graveyard"==e.root.rootName)return null;let o=null;if(this.isCollapsed){const i=e.textNode?e.textNode:e.nodeBefore,n=e.textNode?e.textNode:e.nodeAfter;if(this.isGravityOverridden||(o=Ds(i,t)),o||(o=Ds(n,t)),!this.isGravityOverridden&&!o){let e=i;for(;e&&!o;)e=e.previousSibling,o=Ds(e,t)}if(!o){let e=n;for(;e&&!o;)e=e.nextSibling,o=Ds(e,t)}o||(o=this.getStoredAttributes())}else{const e=this.getFirstRange();for(const i of e){if(i.item.is("element")&&t.isObject(i.item)){o=Ds(i.item,t);break}if("text"==i.type){o=i.item.getAttributes();break}}}return o}_fixGraveyardSelection(e){const t=this._model.schema.getNearestSelectionRange(e);t&&this._pushRange(t)}}function Ds(e,t){if(!e)return null;if(e instanceof os||e instanceof Is)return e.getAttributes();if(!t.isInline(e))return null;if(!t.isObject(e))return[];const o=[];for(const[i,n]of e.getAttributes())t.checkAttribute("$text",i)&&!1!==t.getAttributeProperties(i).copyFromObject&&o.push([i,n]);return o}class Fs{_nodes=[];_offsetToNode=[];constructor(e){e&&this._insertNodes(0,e)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._offsetToNode.length}getNode(e){return this._nodes[e]||null}getNodeAtOffset(e){return this._offsetToNode[e]||null}getNodeIndex(e){return e.index}getNodeStartOffset(e){return e.startOffset}indexToOffset(e){if(e==this._nodes.length)return this.maxOffset;const t=this._nodes[e];if(!t)throw new fe("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(t)}offsetToIndex(e){if(e==this._offsetToNode.length)return this._nodes.length;const t=this._offsetToNode[e];if(!t)throw new fe("model-nodelist-offset-out-of-bounds",this,{offset:e,nodeList:this});return this.getNodeIndex(t)}_insertNodes(e,t){const o=[];for(const e of t){if(!(e instanceof ys))throw new fe("model-nodelist-insertnodes-not-node",this);o.push(e)}let i=this.indexToOffset(e);lo(this._nodes,o,e),lo(this._offsetToNode,function(e){const t=[];let o=0;for(const i of e)for(let e=0;enull!==e.index)),this._offsetToNode=this._offsetToNode.filter((e=>null!==e.index));let t=0;for(let e=0;ee.toJSON()))}}class Ms extends ys{name;_children=new Fs;constructor(e,t,o){super(t),this.name=e,o&&this._insertChild(0,o)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(e){return this._children.getNode(e)}getChildAtOffset(e){return this._children.getNodeAtOffset(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}offsetToIndex(e){return this._children.offsetToIndex(e)}getNodeByPath(e){let t=this;for(const o of e)t=t.getChildAtOffset(o);return t}findAncestor(e,t={}){let o=t.includeSelf?this:this.parent;for(;o;){if(o.name===e)return o;o=o.parent}return null}toJSON(){const e=super.toJSON();if(e.name=this.name,this._children.length>0){e.children=[];for(const t of this._children)e.children.push(t.toJSON())}return e}_clone(e=!1){const t=e?function(e){const t=[];for(const o of e)t.push(o._clone(!0));return t}(this._children):void 0;return new Ms(this.name,this.getAttributes(),t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const o=function(e){if("string"==typeof e)return[new Is(e)];Ue(e)||(e=[e]);const t=[];for(const o of e)"string"==typeof o?t.push(new Is(o)):o instanceof os?t.push(new Is(o.data,o.getAttributes())):t.push(o);return t}(t);for(const e of o)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,o)}_removeChildren(e,t=1){const o=this._children._removeNodes(e,t);for(const e of o)e.parent=null;return o}_removeChildrenArray(e){this._children._removeNodesArray(e);for(const t of e)t.parent=null}static fromJSON(e){let t;if(e.children){t=[];for(const o of e.children)o.name?t.push(Ms.fromJSON(o)):t.push(Is.fromJSON(o))}return new Ms(e.name,e.attributes,t)}}Ms.prototype.is=function(e,t){return t?t===this.name&&("element"===e||"model:element"===e):"element"===e||"model:element"===e||"node"===e||"model:node"===e};class Ns{_dispatchers;constructor(e){this._dispatchers=e}add(e){for(const t of this._dispatchers)e(t);return this}}class Bs extends Ns{elementToElement(e){return this.add(function(e){const t=Us(e.model),o=Ks(e.view,"container");t.attributes.length&&(t.children=!0);return i=>{i.on(`insert:${t.name}`,js(o,Ys(t)),{priority:e.converterPriority||"normal"}),(t.children||t.attributes.length)&&i.on("reduceChanges",Qs(t),{priority:"low"})}}(e))}elementToStructure(e){return this.add(function(e){const t=Us(e.model),o=Ks(e.view,"container");return t.children=!0,i=>{if(i._conversionApi.schema.checkChild(t.name,"$text"))throw new fe("conversion-element-to-structure-disallowed-text",i,{elementName:t.name});var n,s;i.on(`insert:${t.name}`,(n=o,s=Ys(t),(e,t,o)=>{if(!s(t.item,o.consumable,{preflight:!0}))return;const i=new Map;o.writer._registerSlotFactory(function(e,t,o){return(i,n)=>{const s=i.createContainerElement("$slot");let r=null;if("children"===n)r=Array.from(e.getChildren());else{if("function"!=typeof n)throw new fe("conversion-slot-mode-unknown",o.dispatcher,{modeOrFilter:n});r=Array.from(e.getChildren()).filter((e=>n(e)))}return t.set(s,r),s}}(t.item,i,o));const r=n(t.item,o,t);if(o.writer._clearSlotFactory(),!r)return;!function(e,t,o){const i=Array.from(t.values()).flat(),n=new Set(i);if(n.size!=i.length)throw new fe("conversion-slot-filter-overlap",o.dispatcher,{element:e});if(n.size!=e.childCount)throw new fe("conversion-slot-filter-incomplete",o.dispatcher,{element:e})}(t.item,i,o),s(t.item,o.consumable);const a=t.reconversion&&Hs(t.item,o)||o.mapper.toViewPosition(t.range.start);o.mapper.bindElements(t.item,r),o.writer.insert(a,r),o.convertAttributes(t.item),function(e,t,o,i){o.mapper.on("modelToViewPosition",r,{priority:"highest"});let n=null,s=null;for([n,s]of t)Xs(e,s,o,i),o.writer.setCustomProperty("$structureSlotParent",!0,n.parent),o.writer.move(o.writer.createRangeIn(n),o.writer.createPositionBefore(n)),o.writer.remove(n);function r(e,t){const o=t.modelPosition.nodeAfter,i=s.indexOf(o);i<0||(t.viewPosition=t.mapper.findPositionIn(n,i))}o.mapper.off("modelToViewPosition",r)}(r,i,o,{reconversion:t.reconversion})}),{priority:e.converterPriority||"normal"}),i.on("reduceChanges",Qs(t),{priority:"low"})}}(e))}attributeToElement(e){return this.add(function(e){e=j(e);let t=e.model;"string"==typeof t&&(t={key:t});let o=`attribute:${t.key}`;t.name&&(o+=":"+t.name);if(t.values)for(const o of t.values)e.view[o]=Ks(e.view[o],"attribute");else e.view=Ks(e.view,"attribute");const i=Gs(e);return t=>{t.on(o,zs(i),{priority:e.converterPriority||"normal"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=j(e);let t=e.model;"string"==typeof t&&(t={key:t});let o=`attribute:${t.key}`;t.name&&(o+=":"+t.name);if(t.values)for(const o of t.values)e.view[o]=Js(e.view[o]);else e.view=Js(e.view);const i=Gs(e);return t=>{var n;t.on(o,(n=i,(e,t,o)=>{if(!o.consumable.test(t.item,e.name))return;const i=n(t.attributeOldValue,o,t),s=n(t.attributeNewValue,o,t);if(!i&&!s)return;o.consumable.consume(t.item,e.name);const r=o.mapper.toViewElement(t.item),a=o.writer;if(!r)throw new fe("conversion-attribute-to-attribute-on-text",o.dispatcher,t);if(null!==t.attributeOldValue&&i){let e=i.value;"style"==i.key&&(e="string"==typeof i.value?new gi(a.document.stylesProcessor).setTo(i.value).getStylesEntries().map((([e])=>e)):Object.keys(i.value)),a.removeAttribute(i.key,e,r)}if(null!==t.attributeNewValue&&s){let e=s.value;"style"==s.key&&"string"==typeof s.value&&(e=Object.fromEntries(new gi(a.document.stylesProcessor).setTo(s.value).getStylesEntries())),a.setAttribute(s.key,e,!1,r)}}),{priority:e.converterPriority||"normal"})}}(e))}markerToElement(e){return this.add(function(e){const t=Ks(e.view,"ui");return o=>{o.on(`addMarker:${e.model}`,qs(t),{priority:e.converterPriority||"normal"}),o.on(`removeMarker:${e.model}`,((e,t,o)=>{const i=o.mapper.markerNameToElements(t.markerName);if(i){for(const e of i)o.mapper.unbindElementFromMarkerName(e,t.markerName),o.writer.clear(o.writer.createRangeOn(e),e);o.writer.clearClonedElementsGroup(t.markerName),e.stop()}}),{priority:e.converterPriority||"normal"})}}(e))}markerToHighlight(e){return this.add(function(e){return t=>{var o;t.on(`addMarker:${e.model}`,(o=e.view,(e,t,i)=>{if(!t.item)return;if(!(t.item instanceof _s||t.item instanceof Os||t.item.is("$textProxy")))return;const n=Zs(o,t,i);if(!n)return;if(!i.consumable.consume(t.item,e.name))return;const s=i.writer,r=Ls(s,n),a=s.document.selection;if(t.item instanceof _s||t.item instanceof Os)s.wrap(a.getFirstRange(),r);else{const e=i.mapper.toViewRange(t.range),o=s.wrap(e,r);for(const e of o.getItems())if(e.is("attributeElement")&&e.isSimilar(r)){i.mapper.bindElementToMarker(e,t.markerName);break}}}),{priority:e.converterPriority||"normal"}),t.on(`addMarker:${e.model}`,function(e){return(t,o,i)=>{if(!o.item)return;if(!(o.item instanceof Ms))return;const n=Zs(e,o,i);if(!n)return;if(!i.consumable.test(o.item,t.name))return;const s=i.mapper.toViewElement(o.item);if(s&&s.getCustomProperty("addHighlight")){i.consumable.consume(o.item,t.name);for(const e of us._createIn(o.item))i.consumable.consume(e.item,t.name);s.getCustomProperty("addHighlight")(s,n,i.writer),i.mapper.bindElementToMarker(s,o.markerName)}}}(e.view),{priority:e.converterPriority||"normal"}),t.on(`removeMarker:${e.model}`,function(e){return(t,o,i)=>{if(o.markerRange.isCollapsed)return;const n=Zs(e,o,i);if(!n)return;const s=Ls(i.writer,n),r=i.mapper.markerNameToElements(o.markerName);if(r){for(const e of r)if(i.mapper.unbindElementFromMarkerName(e,o.markerName),e.is("attributeElement"))i.writer.unwrap(i.writer.createRangeOn(e),s);else{e.getCustomProperty("removeHighlight")(e,n.id,i.writer)}i.writer.clearClonedElementsGroup(o.markerName),t.stop()}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}markerToData(e){return this.add(function(e){e=j(e);const t=e.model;let o=e.view;o||(o=o=>({group:t,name:o.substr(e.model.length+1)}));return i=>{var n;i.on(`addMarker:${t}`,(n=o,(e,t,o)=>{const i=n(t.markerName,o);if(!i)return;const s=t.markerRange;o.consumable.consume(s,e.name)&&(Ws(s,!1,o,t,i),Ws(s,!0,o,t,i),e.stop())}),{priority:e.converterPriority||"normal"}),i.on(`removeMarker:${t}`,function(e){return(t,o,i)=>{const n=e(o.markerName,i);if(!n)return;const s=i.mapper.markerNameToElements(o.markerName);if(s){for(const e of s)i.mapper.unbindElementFromMarkerName(e,o.markerName),e.is("containerElement")?(r(`data-${n.group}-start-before`,e),r(`data-${n.group}-start-after`,e),r(`data-${n.group}-end-before`,e),r(`data-${n.group}-end-after`,e)):i.writer.clear(i.writer.createRangeOn(e),e);i.writer.clearClonedElementsGroup(o.markerName),t.stop()}function r(e,t){if(t.hasAttribute(e)){const o=new Set(t.getAttribute(e).split(","));o.delete(n.name),0==o.size?i.writer.removeAttribute(e,t):i.writer.setAttribute(e,Array.from(o).join(","),t)}}}}(o),{priority:e.converterPriority||"normal"})}}(e))}}function Ls(e,t){const o=e.createAttributeElement("span",t.attributes);return t.classes&&o._addClass(t.classes),"number"==typeof t.priority&&(o._priority=t.priority),o._id=t.id,o}function zs(e){return(t,o,i)=>{if(!i.consumable.test(o.item,t.name))return;const n=e(o.attributeOldValue,i,o),s=e(o.attributeNewValue,i,o);if(!n&&!s)return;i.consumable.consume(o.item,t.name);const r=i.writer,a=r.document.selection;if(o.item instanceof _s||o.item instanceof Os)r.wrap(a.getFirstRange(),s);else{let e=i.mapper.toViewRange(o.range);null!==o.attributeOldValue&&n&&(e=r.unwrap(e,n)),null!==o.attributeNewValue&&s&&r.wrap(e,s)}}}function js(e,t=tr){return(o,i,n)=>{if(!t(i.item,n.consumable,{preflight:!0}))return;const s=e(i.item,n,i);if(!s)return;t(i.item,n.consumable);const r=i.reconversion&&Hs(i.item,n)||n.mapper.toViewPosition(i.range.start);n.mapper.bindElements(i.item,s),n.writer.insert(r,s),n.convertAttributes(i.item),Xs(s,i.item.getChildren(),n,{reconversion:i.reconversion})}}function qs(e){return(t,o,i)=>{o.isOpening=!0;const n=e(o,i);o.isOpening=!1;const s=e(o,i);if(!n||!s)return;const r=o.markerRange;if(r.isCollapsed&&!i.consumable.consume(r,t.name))return;for(const e of r)if(!i.consumable.consume(e.item,t.name))return;const a=i.mapper,l=i.writer;l.insert(a.toViewPosition(r.start),n),i.mapper.bindElementToMarker(n,o.markerName),r.isCollapsed||(l.insert(a.toViewPosition(r.end),s),i.mapper.bindElementToMarker(s,o.markerName)),t.stop()}}function $s(e,t){const o=t.writer.remove(e);for(const e of t.writer.createRangeIn(o).getItems())t.mapper.unbindViewElement(e,{defer:!0});return e.start}function Hs(e,t){const o=t.mapper.toViewElement(e);return o&&$s(t.writer.createRangeOn(o),t)}function Ws(e,t,o,i,n){const s=t?e.start:e.end,r=s.nodeAfter&&s.nodeAfter.is("element")?s.nodeAfter:null,a=s.nodeBefore&&s.nodeBefore.is("element")?s.nodeBefore:null;if(r||a){let e,s;t&&r||!t&&!a?(e=r,s=!0):(e=a,s=!1);const l=o.mapper.toViewElement(e);if(l)return void function(e,t,o,i,n,s){const r=`data-${s.group}-${t?"start":"end"}-${o?"before":"after"}`,a=e.hasAttribute(r)?e.getAttribute(r).split(","):[];a.unshift(s.name),i.writer.setAttribute(r,a.join(","),e),i.mapper.bindElementToMarker(e,n.markerName)}(l,t,s,o,i,n)}!function(e,t,o,i,n){const s=`${n.group}-${t?"start":"end"}`,r=n.name?{name:n.name}:null,a=o.writer.createUIElement(s,r);o.writer.insert(e,a),o.mapper.bindElementToMarker(a,i.markerName)}(o.mapper.toViewPosition(s),t,o,i,n)}function Us(e){return"string"==typeof e&&(e={name:e}),{name:e.name,attributes:e.attributes?Qt(e.attributes):[],children:!!e.children}}function Ks(e,t){return"function"==typeof e?e:(o,i)=>function(e,t,o){"string"==typeof e&&(e={name:e});let i;const n=t.writer,s=Object.assign({},e.attributes);if("container"==o)i=n.createContainerElement(e.name,s);else if("attribute"==o){const t={priority:e.priority||Wi.DEFAULT_PRIORITY};i=n.createAttributeElement(e.name,s,t)}else i=n.createUIElement(e.name,s);if(e.styles){const t=Object.keys(e.styles);for(const o of t)n.setStyle(o,e.styles[o],i)}if(e.classes){const t=e.classes;if("string"==typeof t)n.addClass(t,i);else for(const e of t)n.addClass(e,i)}return i}(e,i,t)}function Gs(e){return e.model.values?(t,o,i)=>{const n=e.view[t];return n?n(t,o,i):null}:e.view}function Js(e){return"string"==typeof e?t=>({key:e,value:t}):"object"==typeof e?e.value?()=>e:t=>({key:e.key,value:t}):e}function Zs(e,t,o){const i="function"==typeof e?e(t,o):{...e};return i?(i.priority||(i.priority=10),i.id||(i.id=t.markerName),i):null}function Qs(e){const t=function(e){return(t,o)=>{if(!t.is("element",e.name))return!1;if("attribute"==o.type){if(e.attributes.includes(o.attributeKey))return!0}else if(e.children)return!0;return!1}}(e);return(e,o)=>{const i=[];o.reconvertedElements||(o.reconvertedElements=new Set);for(const e of o.changes){const n="attribute"==e.type?e.range.start.nodeAfter:e.position.parent;if(n&&t(n,e)&&"reinsert"!=e.type){if("insert"==e.type&&"rename"==e.action&&o.refreshedItems.add(e.position.nodeAfter),!o.reconvertedElements.has(n)){o.reconvertedElements.add(n);const e=ss._createBefore(n);let t=i.length;for(let o=i.length-1;o>=0;o--){const n=i[o],s=("attribute"==n.type?n.range.start:n.position).compareWith(e);if("before"==s||"remove"==n.type&&"same"==s)break;t=o}i.splice(t,0,{type:"reinsert",name:n.name,position:e,length:1})}}else i.push(e)}o.changes=i}}function Ys(e){return(t,o,i={})=>{const n=["insert"];for(const o of e.attributes)t.hasAttribute(o)&&n.push(`attribute:${o}`);return!!n.every((e=>o.test(t,e)))&&(i.preflight||n.forEach((e=>o.consume(t,e))),!0)}}function Xs(e,t,o,i){for(const n of t)er(e.root,n,o,i)||o.convertItem(n)}function er(e,t,o,i){const{writer:n,mapper:s}=o;if(!i.reconversion)return!1;const r=s.toViewElement(t);return!(!r||r.root==e)&&(!!o.canReuseView(r)&&(n.move(n.createRangeOn(r),s.toViewPosition(ss._createBefore(t))),!0))}function tr(e,t,{preflight:o}={}){return o?t.test(e,"insert"):t.consume(e,"insert")}function or(e){const{schema:t,document:o}=e.model;for(const i of o.getRoots())if(i.isEmpty&&!t.checkChild(i,"$text")&&t.checkChild(i,"paragraph"))return e.insertElement("paragraph",i),!0;return!1}function ir(e,t,o){const i=o.createContext(e);return!!o.checkChild(i,"paragraph")&&!!o.checkChild(i.push("paragraph"),t)}function nr(e,t){const o=t.createElement("paragraph");return t.insert(o,e),t.createPositionAt(o,0)}class sr extends Ns{elementToElement(e){return this.add(rr(e))}elementToAttribute(e){return this.add(function(e){e=j(e),cr(e);const t=dr(e,!1),o=ar(e.view),i=o?`element:${o}`:"element";return o=>{o.on(i,t,{priority:e.converterPriority||"low"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=j(e);let t=null;("string"==typeof e.view||e.view.key)&&(t=function(e){"string"==typeof e.view&&(e.view={key:e.view});const t=e.view.key,o=void 0===e.view.value?/[\s\S]*/:e.view.value;let i;if("class"==t||"style"==t){const e="class"==t?"classes":"styles";i={[e]:o}}else i={attributes:{[t]:o}};e.view.name&&(i.name=e.view.name);return e.view=i,t}(e));cr(e,t);const o=dr(e,!0);return t=>{t.on("element",o,{priority:e.converterPriority||"low"})}}(e))}elementToMarker(e){return this.add(function(e){const t=function(e){return(t,o)=>{const i="string"==typeof e?e:e(t,o);return o.writer.createElement("$marker",{"data-name":i})}}(e.model);return rr({...e,model:t})}(e))}dataToMarker(e){return this.add(function(e){e=j(e),e.model||(e.model=t=>t?e.view+":"+t:e.view);const t={view:e.view,model:e.model},o=lr(ur(t,"start")),i=lr(ur(t,"end"));return n=>{n.on(`element:${e.view}-start`,o,{priority:e.converterPriority||"normal"}),n.on(`element:${e.view}-end`,i,{priority:e.converterPriority||"normal"});const s=ge.low,r=ge.highest,a=ge.get(e.converterPriority)/r;n.on("element",function(e){return(t,o,i)=>{const n=`data-${e.view}`;function s(t,n){for(const s of n){const n=e.model(s,i),r=i.writer.createElement("$marker",{"data-name":n});i.writer.insert(r,t),o.modelCursor.isEqual(t)?o.modelCursor=o.modelCursor.getShiftedBy(1):o.modelCursor=o.modelCursor._getTransformedByInsertion(t,1),o.modelRange=o.modelRange._getTransformedByInsertion(t,1)[0]}}(i.consumable.test(o.viewItem,{attributes:n+"-end-after"})||i.consumable.test(o.viewItem,{attributes:n+"-start-after"})||i.consumable.test(o.viewItem,{attributes:n+"-end-before"})||i.consumable.test(o.viewItem,{attributes:n+"-start-before"}))&&(o.modelRange||Object.assign(o,i.convertChildren(o.viewItem,o.modelCursor)),i.consumable.consume(o.viewItem,{attributes:n+"-end-after"})&&s(o.modelRange.end,o.viewItem.getAttribute(n+"-end-after").split(",")),i.consumable.consume(o.viewItem,{attributes:n+"-start-after"})&&s(o.modelRange.end,o.viewItem.getAttribute(n+"-start-after").split(",")),i.consumable.consume(o.viewItem,{attributes:n+"-end-before"})&&s(o.modelRange.start,o.viewItem.getAttribute(n+"-end-before").split(",")),i.consumable.consume(o.viewItem,{attributes:n+"-start-before"})&&s(o.modelRange.start,o.viewItem.getAttribute(n+"-start-before").split(",")))}}(t),{priority:s+a})}}(e))}}function rr(e){const t=lr(e=j(e)),o=ar(e.view),i=o?`element:${o}`:"element";return o=>{o.on(i,t,{priority:e.converterPriority||"normal"})}}function ar(e){return"string"==typeof e?e:"object"==typeof e&&"string"==typeof e.name?e.name:null}function lr(e){const t=new ui(e.view);return(o,i,n)=>{const s=t.match(i.viewItem);if(!s)return;const r=s.match;if(r.name=!0,!n.consumable.test(i.viewItem,r))return;const a=function(e,t,o){return e instanceof Function?e(t,o):o.writer.createElement(e)}(e.model,i.viewItem,n);a&&n.safeInsert(a,i.modelCursor)&&(n.consumable.consume(i.viewItem,r),n.convertChildren(i.viewItem,a),n.updateConversionResult(a,i))}}function cr(e,t=null){const o=null===t||(e=>e.getAttribute(t)),i="object"!=typeof e.model?e.model:e.model.key,n="object"!=typeof e.model||void 0===e.model.value?o:e.model.value;e.model={key:i,value:n}}function dr(e,t){const o=new ui(e.view);return(i,n,s)=>{if(!n.modelRange&&t)return;const r=o.match(n.viewItem);if(!r)return;if(!function(e,t){const o="function"==typeof e?e(t):e;if("object"==typeof o&&!ar(o))return!1;return!o.classes&&!o.attributes&&!o.styles}(e.view,n.viewItem)?delete r.match.name:r.match.name=!0,!s.consumable.test(n.viewItem,r.match))return;const a=e.model.key,l="function"==typeof e.model.value?e.model.value(n.viewItem,s,n):e.model.value;if(null==l)return;n.modelRange||Object.assign(n,s.convertChildren(n.viewItem,n.modelCursor));const c=function(e,t,o,i){let n=!1;for(const s of Array.from(e.getItems({shallow:o})))i.schema.checkAttribute(s,t.key)&&(n=!0,s.hasAttribute(t.key)||i.writer.setAttribute(t.key,t.value,s));return n}(n.modelRange,{key:a,value:l},t,s);c&&(s.consumable.test(n.viewItem,{name:!0})&&(r.match.name=!0),s.consumable.consume(n.viewItem,r.match))}}function ur(e,t){return{view:`${e.view}-${t}`,model:(t,o)=>{const i=t.getAttribute("name"),n=e.model(i,o);return o.writer.createElement("$marker",{"data-name":n})}}}class hr extends(Be()){model;view;mapper;downcastDispatcher;constructor(e,t){super(),this.model=e,this.view=new es(t),this.mapper=new hs,this.downcastDispatcher=new fs({mapper:this.mapper,schema:e.schema});const o=this.model.document,i=o.selection,n=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(o,"change",(()=>{this.view.change((e=>{this.downcastDispatcher.convertChanges(o.differ,n,e),this.downcastDispatcher.convertSelection(i,n,e)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",function(e,t){return(o,i)=>{const n=i.newSelection,s=[];for(const e of n.getRanges())s.push(t.toModelRange(e));const r=e.createSelection(s,{backward:n.isBackward});r.isEqual(e.document.selection)||e.change((e=>{e.setSelection(r)}))}}(this.model,this.mapper)),this.downcastDispatcher.on("insert:$text",((e,t,o)=>{if(!o.consumable.consume(t.item,e.name))return;const i=o.writer,n=o.mapper.toViewPosition(t.range.start),s=i.createText(t.item.data);i.insert(n,s)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((e,t,o)=>{o.convertAttributes(t.item),t.reconversion||!t.item.is("element")||t.item.isEmpty||o.convertChildren(t.item)}),{priority:"lowest"}),this.downcastDispatcher.on("remove",((e,t,o)=>{if(t.reconversion)return;const i=o.mapper.toViewPosition(t.position),n=t.position.getShiftedBy(t.length),s=o.mapper.toViewPosition(n,{isPhantom:!0});$s(o.writer.createRange(i,s).getTrimmed(),o)}),{priority:"low"}),this.downcastDispatcher.on("cleanSelection",((e,t,o)=>{const i=o.writer,n=i.document.selection;for(const e of n.getRanges())e.isCollapsed&&e.end.parent.isAttached()&&o.writer.mergeAttributes(e.start);i.setSelection(null)})),this.downcastDispatcher.on("selection",((e,t,o)=>{const i=t.selection;if(i.isCollapsed)return;if(!o.consumable.consume(i,"selection"))return;const n=[];for(const e of i.getRanges())n.push(o.mapper.toViewRange(e));o.writer.setSelection(n,{backward:i.isBackward})}),{priority:"low"}),this.downcastDispatcher.on("selection",((e,t,o)=>{const i=t.selection;if(!i.isCollapsed)return;if(!o.consumable.consume(i,"selection"))return;const n=o.writer,s=i.getFirstPosition(),r=o.mapper.toViewPosition(s),a=n.breakAttributes(r);n.setSelection(a)}),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((e=>{if("$graveyard"==e.rootName)return null;const t=new Ti(this.view.document,e.name);return t.rootName=e.rootName,this.mapper.bindElements(e,t),t}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(e){const t="string"==typeof e?e:e.name,o=this.model.markers.get(t);if(!o)throw new fe("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:t});this.model.change((()=>{this.model.markers._refresh(o)}))}reconvertItem(e){this.model.change((()=>{this.model.document.differ._refreshItem(e)}))}}class mr extends(Be()){_sourceDefinitions={};_attributeProperties=Object.create(null);_customChildChecks=new Map;_customAttributeChecks=new Map;_genericCheckSymbol=Symbol("$generic");_compiledDefinitions;constructor(){super(),this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((e,t)=>{t[0]=new gr(t[0])}),{priority:"highest"}),this.on("checkChild",((e,t)=>{t[0]=new gr(t[0]),t[1]=this.getDefinition(t[1])}),{priority:"highest"})}register(e,t){if(this._sourceDefinitions[e])throw new fe("schema-cannot-register-item-twice",this,{itemName:e});this._sourceDefinitions[e]=[Object.assign({},t)],this._clearCache()}extend(e,t){if(!this._sourceDefinitions[e])throw new fe("schema-cannot-extend-missing-item",this,{itemName:e});this._sourceDefinitions[e].push(Object.assign({},t)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(e){let t;return t="string"==typeof e?e:"is"in e&&(e.is("$text")||e.is("$textProxy"))?"$text":e.name,this.getDefinitions()[t]}isRegistered(e){return!!this.getDefinition(e)}isBlock(e){const t=this.getDefinition(e);return!(!t||!t.isBlock)}isLimit(e){const t=this.getDefinition(e);return!!t&&!(!t.isLimit&&!t.isObject)}isObject(e){const t=this.getDefinition(e);return!!t&&!!(t.isObject||t.isLimit&&t.isSelectable&&t.isContent)}isInline(e){const t=this.getDefinition(e);return!(!t||!t.isInline)}isSelectable(e){const t=this.getDefinition(e);return!!t&&!(!t.isSelectable&&!t.isObject)}isContent(e){const t=this.getDefinition(e);return!!t&&!(!t.isContent&&!t.isObject)}checkChild(e,t){return!!t&&this._checkContextMatch(e,t)}checkAttribute(e,t){const o=this.getDefinition(e.last);if(!o)return!1;const i=this._evaluateAttributeChecks(e,t);return void 0!==i?i:o.allowAttributes.includes(t)}checkMerge(e,t){if(e instanceof ss){const t=e.nodeBefore,o=e.nodeAfter;if(!(t instanceof Ms))throw new fe("schema-check-merge-no-element-before",this);if(!(o instanceof Ms))throw new fe("schema-check-merge-no-element-after",this);return this.checkMerge(t,o)}if(this.isLimit(e)||this.isLimit(t))return!1;for(const o of t.getChildren())if(!this.checkChild(e,o))return!1;return!0}addChildCheck(e,t){const o=void 0!==t?t:this._genericCheckSymbol,i=this._customChildChecks.get(o)||[];i.push(e),this._customChildChecks.set(o,i)}addAttributeCheck(e,t){const o=void 0!==t?t:this._genericCheckSymbol,i=this._customAttributeChecks.get(o)||[];i.push(e),this._customAttributeChecks.set(o,i)}setAttributeProperties(e,t){this._attributeProperties[e]=Object.assign(this.getAttributeProperties(e),t)}getAttributeProperties(e){return this._attributeProperties[e]||Object.create(null)}getLimitElement(e){let t;if(e instanceof ss)t=e.parent;else{t=(e instanceof us?[e]:Array.from(e.getRanges())).reduce(((e,t)=>{const o=t.getCommonAncestor();return e?e.getCommonAncestor(o,{includeSelf:!0}):o}),null)}for(;!this.isLimit(t)&&t.parent;)t=t.parent;return t}checkAttributeInSelection(e,t){if(e.isCollapsed){const o=[...e.getFirstPosition().getAncestors(),new Is("",e.getAttributes())];return this.checkAttribute(o,t)}{const o=e.getRanges();for(const e of o)for(const o of e)if(this.checkAttribute(o.item,t))return!0}return!1}*getValidRanges(e,t,o={}){e=function*(e){for(const t of e)yield*t.getMinimalFlatRanges()}(e);for(const i of e)yield*this._getValidRangesForRange(i,t,o)}getNearestSelectionRange(e,t="both"){if("$graveyard"==e.root.rootName)return null;if(this.checkChild(e,"$text"))return new us(e);let o,i;const n=e.getAncestors().reverse().find((e=>this.isLimit(e)))||e.root;"both"!=t&&"backward"!=t||(o=new is({boundaries:us._createIn(n),startPosition:e,direction:"backward"})),"both"!=t&&"forward"!=t||(i=new is({boundaries:us._createIn(n),startPosition:e}));for(const e of function*(e,t){let o=!1;for(;!o;){if(o=!0,e){const t=e.next();t.done||(o=!1,yield{walker:e,value:t.value})}if(t){const e=t.next();e.done||(o=!1,yield{walker:t,value:e.value})}}}(o,i)){const t=e.walker==o?"elementEnd":"elementStart",i=e.value;if(i.type==t&&this.isObject(i.item))return us._createOn(i.item);if(this.checkChild(i.nextPosition,"$text"))return new us(i.nextPosition)}return null}findAllowedParent(e,t){let o=e.parent;for(;o;){if(this.checkChild(o,t))return o;if(this.isLimit(o))return null;o=o.parent}return null}setAllowedAttributes(e,t,o){const i=o.model;for(const[n,s]of Object.entries(t))i.schema.checkAttribute(e,n)&&o.setAttribute(n,s,e)}removeDisallowedAttributes(e,t){for(const o of e)if(o.is("$text"))Tr(this,o,t);else{const e=us._createIn(o).getPositions();for(const o of e){Tr(this,o.nodeBefore||o.parent,t)}}}getAttributesWithProperty(e,t,o){const i={};for(const[n,s]of e.getAttributes()){const e=this.getAttributeProperties(n);void 0!==e[t]&&(void 0!==o&&o!==e[t]||(i[n]=s))}return i}createContext(e){return new gr(e)}_clearCache(){this._compiledDefinitions=null}_compile(){const e={},t=this._sourceDefinitions,o=Object.keys(t);for(const i of o)e[i]=pr(t[i],i);const i=Object.values(e);for(const t of i)fr(e,t),br(e,t),wr(e,t),yr(e,t);for(const t of i)_r(e,t);for(const t of i)kr(e,t);for(const t of i)vr(e,t);for(const t of i)Cr(e,t);for(const t of i)Ar(e,t);this._compiledDefinitions=function(e){const t={};for(const o of Object.values(e))t[o.name]={name:o.name,isBlock:!!o.isBlock,isContent:!!o.isContent,isInline:!!o.isInline,isLimit:!!o.isLimit,isObject:!!o.isObject,isSelectable:!!o.isSelectable,allowIn:Array.from(o.allowIn).filter((t=>!!e[t])),allowChildren:Array.from(o.allowChildren).filter((t=>!!e[t])),allowAttributes:Array.from(o.allowAttributes)};return t}(e)}_checkContextMatch(e,t){const o=e.last;let i=this._evaluateChildChecks(e,t);if(i=void 0!==i?i:t.allowIn.includes(o.name),!i)return!1;const n=this.getDefinition(o),s=e.trimLast();return!!n&&(0==s.length||this._checkContextMatch(s,n))}_evaluateChildChecks(e,t){const o=this._customChildChecks.get(this._genericCheckSymbol)||[],i=this._customChildChecks.get(t.name)||[];for(const n of[...o,...i]){const o=n(e,t);if(void 0!==o)return o}}_evaluateAttributeChecks(e,t){const o=this._customAttributeChecks.get(this._genericCheckSymbol)||[],i=this._customAttributeChecks.get(t)||[];for(const n of[...o,...i]){const o=n(e,t);if(void 0!==o)return o}}*_getValidRangesForRange(e,t,o){let i=e.start,n=e.start;for(const s of e.getItems({shallow:!0})){if(s.is("element"))if(o.includeEmptyRanges&&s.isEmpty){const e=this.createContext(s);this.checkChild(e,"$text")&&this.checkAttribute(e.push("$text"),t)&&(yield us._createIn(s))}else yield*this._getValidRangesForRange(us._createIn(s),t,o);this.checkAttribute(s,t)||(i.isEqual(n)||(yield new us(i,n)),i=ss._createAfter(s)),n=ss._createAfter(s)}i.isEqual(n)||(yield new us(i,n))}findOptimalInsertionRange(e,t){const o=e.getSelectedElement();if(o&&this.isObject(o)&&!this.isInline(o))return"before"==t||"after"==t?new us(ss._createAt(o,t)):us._createOn(o);const i=to(e.getSelectedBlocks());if(!i)return new us(e.focus);if(i.isEmpty)return new us(ss._createAt(i,0));const n=ss._createAfter(i);return e.focus.isTouching(n)?new us(n):new us(ss._createBefore(i))}}class gr{_items;constructor(e){if(e instanceof gr)return e;let t;t="string"==typeof e?[e]:Array.isArray(e)?e:e.getAncestors({includeSelf:!0}),this._items=t.map(Er)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(e){const t=new gr([e]);return t._items=[...this._items,...t._items],t}trimLast(){const e=new gr([]);return e._items=this._items.slice(0,-1),e}getItem(e){return this._items[e]}*getNames(){yield*this._items.map((e=>e.name))}endsWith(e){return Array.from(this.getNames()).join(" ").endsWith(e)}startsWith(e){return Array.from(this.getNames()).join(" ").startsWith(e)}}function pr(e,t){const o={name:t,allowIn:new Set,allowChildren:new Set,disallowIn:new Set,disallowChildren:new Set,allowContentOf:new Set,allowWhere:new Set,allowAttributes:new Set,disallowAttributes:new Set,allowAttributesOf:new Set,inheritTypesFrom:new Set};return function(e,t){for(const o of e){const e=Object.keys(o).filter((e=>e.startsWith("is")));for(const i of e)t[i]=!!o[i]}}(e,o),xr(e,o,"allowIn"),xr(e,o,"allowChildren"),xr(e,o,"disallowIn"),xr(e,o,"disallowChildren"),xr(e,o,"allowContentOf"),xr(e,o,"allowWhere"),xr(e,o,"allowAttributes"),xr(e,o,"disallowAttributes"),xr(e,o,"allowAttributesOf"),xr(e,o,"inheritTypesFrom"),function(e,t){for(const o of e){const e=o.inheritAllFrom;e&&(t.allowContentOf.add(e),t.allowWhere.add(e),t.allowAttributesOf.add(e),t.inheritTypesFrom.add(e))}}(e,o),o}function fr(e,t){for(const o of t.allowIn){const i=e[o];i?i.allowChildren.add(t.name):t.allowIn.delete(o)}}function br(e,t){for(const o of t.allowChildren){const i=e[o];i?i.allowIn.add(t.name):t.allowChildren.delete(o)}}function wr(e,t){for(const o of t.disallowIn){const i=e[o];i?i.disallowChildren.add(t.name):t.disallowIn.delete(o)}}function yr(e,t){for(const o of t.disallowChildren){const i=e[o];i?i.disallowIn.add(t.name):t.disallowChildren.delete(o)}}function _r(e,t){for(const e of t.disallowChildren)t.allowChildren.delete(e);for(const e of t.disallowIn)t.allowIn.delete(e);for(const e of t.disallowAttributes)t.allowAttributes.delete(e)}function kr(e,t){for(const o of t.allowContentOf){const i=e[o];i&&(i.disallowChildren.forEach((o=>{t.allowChildren.has(o)||(t.disallowChildren.add(o),e[o].disallowIn.add(t.name))})),i.allowChildren.forEach((o=>{t.disallowChildren.has(o)||(t.allowChildren.add(o),e[o].allowIn.add(t.name))})))}}function vr(e,t){for(const o of t.allowWhere){const i=e[o];i&&(i.disallowIn.forEach((o=>{t.allowIn.has(o)||(t.disallowIn.add(o),e[o].disallowChildren.add(t.name))})),i.allowIn.forEach((o=>{t.disallowIn.has(o)||(t.allowIn.add(o),e[o].allowChildren.add(t.name))})))}}function Cr(e,t){for(const o of t.allowAttributesOf){const i=e[o];if(!i)return;i.allowAttributes.forEach((e=>{t.disallowAttributes.has(e)||t.allowAttributes.add(e)}))}}function Ar(e,t){for(const o of t.inheritTypesFrom){const i=e[o];if(i){const e=Object.keys(i).filter((e=>e.startsWith("is")));for(const o of e)o in t||(t[o]=i[o])}}}function xr(e,t,o){for(const i of e){let e=i[o];"string"==typeof e&&(e=[e]),Array.isArray(e)&&e.forEach((e=>t[o].add(e)))}}function Er(e){return"string"==typeof e||e.is("documentFragment")?{name:"string"==typeof e?e:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:e.is("element")?e.name:"$text",*getAttributeKeys(){yield*e.getAttributeKeys()},getAttribute:t=>e.getAttribute(t)}}function Tr(e,t,o){for(const i of t.getAttributeKeys())e.checkAttribute(t,i)||o.removeAttribute(i,t)}class Pr extends(xe()){conversionApi;_splitParts=new Map;_cursorParents=new Map;_modelCursor=null;_emptyElementsToKeep=new Set;constructor(e){super(),this.conversionApi={...e,consumable:null,writer:null,store:null,convertItem:(e,t)=>this._convertItem(e,t),convertChildren:(e,t)=>this._convertChildren(e,t),safeInsert:(e,t)=>this._safeInsert(e,t),updateConversionResult:(e,t)=>this._updateConversionResult(e,t),splitToAllowedParent:(e,t)=>this._splitToAllowedParent(e,t),getSplitParts:e=>this._getSplitParts(e),keepEmptyElement:e=>this._keepEmptyElement(e)}}convert(e,t,o=["$root"]){this.fire("viewCleanup",e),this._modelCursor=function(e,t){let o;for(const i of new gr(e)){const e={};for(const t of i.getAttributeKeys())e[t]=i.getAttribute(t);const n=t.createElement(i.name,e);o&&t.insert(n,o),o=ss._createAt(n,0)}return o}(o,t),this.conversionApi.writer=t,this.conversionApi.consumable=ai.createFrom(e),this.conversionApi.store={};const{modelRange:i}=this._convertItem(e,this._modelCursor),n=t.createDocumentFragment();if(i){this._removeEmptyElements();const e=this._modelCursor.parent,o=e._removeChildren(0,e.childCount);n._insertChild(0,o),n.markers=function(e,t){const o=new Set,i=new Map,n=us._createIn(e).getItems();for(const e of n)e.is("element","$marker")&&o.add(e);for(const e of o){const o=e.getAttribute("data-name"),n=t.createPositionBefore(e);i.has(o)?i.get(o).end=n.clone():i.set(o,new us(n.clone())),t.remove(e)}return i}(n,t)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,n}_convertItem(e,t){const o={viewItem:e,modelCursor:t,modelRange:null};if(e.is("element")?this.fire(`element:${e.name}`,o,this.conversionApi):e.is("$text")?this.fire("text",o,this.conversionApi):this.fire("documentFragment",o,this.conversionApi),o.modelRange&&!(o.modelRange instanceof us))throw new fe("view-conversion-dispatcher-incorrect-result",this);return{modelRange:o.modelRange,modelCursor:o.modelCursor}}_convertChildren(e,t){let o=t.is("position")?t:ss._createAt(t,0);const i=new us(o);for(const t of Array.from(e.getChildren())){const e=this._convertItem(t,o);e.modelRange instanceof us&&(i.end=e.modelRange.end,o=e.modelCursor)}return{modelRange:i,modelCursor:o}}_safeInsert(e,t){const o=this._splitToAllowedParent(e,t);return!!o&&(this.conversionApi.writer.insert(e,o.position),!0)}_updateConversionResult(e,t){const o=this._getSplitParts(e),i=this.conversionApi.writer;t.modelRange||(t.modelRange=i.createRange(i.createPositionBefore(e),i.createPositionAfter(o[o.length-1])));const n=this._cursorParents.get(e);t.modelCursor=n?i.createPositionAt(n,0):t.modelRange.end}_splitToAllowedParent(e,t){const{schema:o,writer:i}=this.conversionApi;let n=o.findAllowedParent(t,e);if(n){if(n===t.parent)return{position:t};this._modelCursor.parent.getAncestors().includes(n)&&(n=null)}if(!n)return ir(t,e,o)?{position:nr(t,i)}:null;const s=this.conversionApi.writer.split(t,n),r=[];for(const e of s.range.getWalker())if("elementEnd"==e.type)r.push(e.item);else{const t=r.pop(),o=e.item;this._registerSplitPair(t,o)}const a=s.range.end.parent;return this._cursorParents.set(e,a),{position:s.position,cursorParent:a}}_registerSplitPair(e,t){this._splitParts.has(e)||this._splitParts.set(e,[e]);const o=this._splitParts.get(e);this._splitParts.set(t,o),o.push(t)}_getSplitParts(e){let t;return t=this._splitParts.has(e)?this._splitParts.get(e):[e],t}_keepEmptyElement(e){this._emptyElementsToKeep.add(e)}_removeEmptyElements(){const e=new Map;for(const t of this._splitParts.keys())if(t.isEmpty&&!this._emptyElementsToKeep.has(t)){const o=e.get(t.parent)||[];o.push(t),this._splitParts.delete(t),e.set(t.parent,o)}for(const[t,o]of e)t._removeChildrenArray(o);e.size&&this._removeEmptyElements()}}class Sr{getHtml(e){const t=J.document.implementation.createHTMLDocument("").createElement("div");return t.appendChild(e),t.innerHTML}}class Ir{domParser;domConverter;htmlWriter;skipComments=!0;constructor(e){this.domParser=new DOMParser,this.domConverter=new Rn(e,{renderingMode:"data"}),this.htmlWriter=new Sr}toData(e){const t=this.domConverter.viewToDom(e);return this.htmlWriter.getHtml(t)}toView(e){const t=this._toDom(e);return this.domConverter.domToView(t,{skipComments:this.skipComments})}registerRawContentMatcher(e){this.domConverter.registerRawContentMatcher(e)}useFillerType(e){this.domConverter.blockFillerMode="marked"==e?"markedNbsp":"nbsp"}_toDom(e){/<(?:html|body|head|meta)(?:\s[^>]*)?>/i.test(e.trim().slice(0,1e4))||(e=`${e}`);const t=this.domParser.parseFromString(e,"text/html"),o=t.createDocumentFragment(),i=t.body.childNodes;for(;i.length>0;)o.appendChild(i[0]);return o}}class Rr extends(xe()){model;mapper;downcastDispatcher;upcastDispatcher;viewDocument;stylesProcessor;htmlProcessor;processor;_viewWriter;constructor(e,t){super(),this.model=e,this.mapper=new hs,this.downcastDispatcher=new fs({mapper:this.mapper,schema:e.schema}),this.downcastDispatcher.on("insert:$text",((e,t,o)=>{if(!o.consumable.consume(t.item,e.name))return;const i=o.writer,n=o.mapper.toViewPosition(t.range.start),s=i.createText(t.item.data);i.insert(n,s)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((e,t,o)=>{o.convertAttributes(t.item),t.reconversion||!t.item.is("element")||t.item.isEmpty||o.convertChildren(t.item)}),{priority:"lowest"}),this.upcastDispatcher=new Pr({schema:e.schema}),this.viewDocument=new Hi(t),this.stylesProcessor=t,this.htmlProcessor=new Ir(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new on(this.viewDocument),this.upcastDispatcher.on("text",((e,t,{schema:o,consumable:i,writer:n})=>{let s=t.modelCursor;if(!i.test(t.viewItem))return;if(!o.checkChild(s,"$text")){if(!ir(s,"$text",o))return;if(0==t.viewItem.data.trim().length)return;s=nr(s,n)}i.consume(t.viewItem);const r=n.createText(t.viewItem.data);n.insert(r,s),t.modelRange=n.createRange(s,s.getShiftedBy(r.offsetSize)),t.modelCursor=t.modelRange.end}),{priority:"lowest"}),this.upcastDispatcher.on("element",((e,t,o)=>{if(!t.modelRange&&o.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:i}=o.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=i}}),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",((e,t,o)=>{if(!t.modelRange&&o.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:i}=o.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=i}}),{priority:"lowest"}),Be().prototype.decorate.call(this,"init"),Be().prototype.decorate.call(this,"set"),Be().prototype.decorate.call(this,"get"),Be().prototype.decorate.call(this,"toView"),Be().prototype.decorate.call(this,"toModel"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},or)}),{priority:"lowest"})}get(e={}){const{rootName:t="main",trim:o="empty"}=e;if(!this._checkIfRootsExists([t]))throw new fe("datacontroller-get-non-existent-root",this);const i=this.model.document.getRoot(t);return i.isAttached()||be("datacontroller-get-detached-root",this),"empty"!==o||this.model.hasContent(i,{ignoreWhitespaces:!0})?this.stringify(i,e):""}stringify(e,t={}){const o=this.toView(e,t);return this.processor.toData(o)}toView(e,t={}){const o=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const n=us._createIn(e),s=new tn(o);this.mapper.bindElements(e,s);const r=e.is("documentFragment")?e.markers:function(e){const t=[],o=e.root.document;if(!o)return new Map;const i=us._createIn(e);for(const e of o.model.markers){const o=e.getRange(),n=o.isCollapsed,s=o.start.isEqual(i.start)||o.end.isEqual(i.end);if(n&&s)t.push([e.name,o]);else{const n=i.getIntersection(o);n&&t.push([e.name,n])}}return t.sort((([e,t],[o,i])=>{if("after"!==t.end.compareWith(i.start))return 1;if("before"!==t.start.compareWith(i.end))return-1;switch(t.start.compareWith(i.start)){case"before":return 1;case"after":return-1;default:switch(t.end.compareWith(i.end)){case"before":return 1;case"after":return-1;default:return o.localeCompare(e)}}})),new Map(t)}(e);return this.downcastDispatcher.convert(n,r,i,t),s}init(e){if(this.model.document.version)throw new fe("datacontroller-init-document-not-empty",this);let t={};if("string"==typeof e?t.main=e:t=e,!this._checkIfRootsExists(Object.keys(t)))throw new fe("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(e=>{for(const o of Object.keys(t)){const i=this.model.document.getRoot(o);e.insert(this.parse(t[o],i),i,0)}})),Promise.resolve()}set(e,t={}){let o={};if("string"==typeof e?o.main=e:o=e,!this._checkIfRootsExists(Object.keys(o)))throw new fe("datacontroller-set-non-existent-root",this);this.model.enqueueChange(t.batchType||{},(e=>{e.setSelection(null),e.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const t of Object.keys(o)){const i=this.model.document.getRoot(t);e.remove(e.createRangeIn(i)),e.insert(this.parse(o[t],i),i,0)}}))}parse(e,t="$root"){const o=this.processor.toView(e);return this.toModel(o,t)}toModel(e,t="$root"){return this.model.change((o=>this.upcastDispatcher.convert(e,o,t)))}addStyleProcessorRules(e){e(this.stylesProcessor)}registerRawContentMatcher(e){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(e),this.htmlProcessor.registerRawContentMatcher(e)}destroy(){this.stopListening()}_checkIfRootsExists(e){for(const t of e)if(!this.model.document.getRoot(t))return!1;return!0}}class Or{_helpers=new Map;_downcast;_upcast;constructor(e,t){this._downcast=Qt(e),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=Qt(t),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(e,t){const o=this._downcast.includes(t);if(!this._upcast.includes(t)&&!o)throw new fe("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:e,dispatchers:[t],isDowncast:o})}for(e){if(!this._helpers.has(e))throw new fe("conversion-for-unknown-group",this);return this._helpers.get(e)}elementToElement(e){this.for("downcast").elementToElement(e);for(const{model:t,view:o}of Vr(e))this.for("upcast").elementToElement({model:t,view:o,converterPriority:e.converterPriority})}attributeToElement(e){this.for("downcast").attributeToElement(e);for(const{model:t,view:o}of Vr(e))this.for("upcast").elementToAttribute({view:o,model:t,converterPriority:e.converterPriority})}attributeToAttribute(e){this.for("downcast").attributeToAttribute(e);for(const{model:t,view:o}of Vr(e))this.for("upcast").attributeToAttribute({view:o,model:t})}_createConversionHelpers({name:e,dispatchers:t,isDowncast:o}){if(this._helpers.has(e))throw new fe("conversion-group-exists",this);const i=o?new Bs(t):new sr(t);this._helpers.set(e,i)}}function*Vr(e){if(e.model.values)for(const t of e.model.values){const o={key:e.model.key,value:t},i=e.view[t],n=e.upcastAlso?e.upcastAlso[t]:void 0;yield*Dr(o,i,n)}else yield*Dr(e.model,e.view,e.upcastAlso)}function*Dr(e,t,o){if(yield{model:e,view:t},o)for(const t of Qt(o))yield{model:e,view:t}}class Fr{baseVersion;isDocumentOperation;batch;constructor(e){this.baseVersion=e,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const e=Object.assign({},this);return e.__className=this.constructor.className,delete e.batch,delete e.isDocumentOperation,e}static get className(){return"Operation"}static fromJSON(e,t){return new this(e.baseVersion)}}function Mr(e,t){const o=Lr(t),i=o.reduce(((e,t)=>e+t.offsetSize),0),n=e.parent;jr(e);const s=e.index;return n._insertChild(s,o),zr(n,s+o.length),zr(n,s),new us(e,e.getShiftedBy(i))}function Nr(e){if(!e.isFlat)throw new fe("operation-utils-remove-range-not-flat",this);const t=e.start.parent;jr(e.start),jr(e.end);const o=t._removeChildren(e.start.index,e.end.index-e.start.index);return zr(t,e.start.index),o}function Br(e,t){if(!e.isFlat)throw new fe("operation-utils-move-range-not-flat",this);const o=Nr(e);return Mr(t=t._getTransformedByDeletion(e.start,e.end.offset-e.start.offset),o)}function Lr(e){const t=[];!function e(o){if("string"==typeof o)t.push(new Is(o));else if(o instanceof os)t.push(new Is(o.data,o.getAttributes()));else if(o instanceof ys)t.push(o);else if(Ue(o))for(const t of o)e(t)}(e);for(let e=1;ee.maxOffset)throw new fe("move-operation-nodes-do-not-exist",this);if(e===t&&o=o&&this.targetPosition.path[e]e._clone(!0)))),t=new Hr(this.position,e,this.baseVersion);return t.shouldReceiveAttributes=this.shouldReceiveAttributes,t}getReversed(){const e=this.position.root.document.graveyard,t=new ss(e,[0]);return new $r(this.position,this.nodes.maxOffset,t,this.baseVersion+1)}_validate(){const e=this.position.parent;if(!e||e.maxOffsete._clone(!0)))),Mr(this.position,e)}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e.nodes=this.nodes.toJSON(),e}static get className(){return"InsertOperation"}static fromJSON(e,t){const o=[];for(const t of e.nodes)t.name?o.push(Ms.fromJSON(t)):o.push(Is.fromJSON(t));const i=new Hr(ss.fromJSON(e.position,t),o,e.baseVersion);return i.shouldReceiveAttributes=e.shouldReceiveAttributes,i}}class Wr extends Fr{splitPosition;howMany;insertionPosition;graveyardPosition;constructor(e,t,o,i,n){super(n),this.splitPosition=e.clone(),this.splitPosition.stickiness="toNext",this.howMany=t,this.insertionPosition=o,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const e=this.insertionPosition.path.slice();return e.push(0),new ss(this.insertionPosition.root,e)}get movedRange(){const e=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new us(this.splitPosition,e)}get affectedSelectable(){const e=[us._createFromPositionAndShift(this.splitPosition,0),us._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&e.push(us._createFromPositionAndShift(this.graveyardPosition,0)),e}clone(){return new Wr(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.splitPosition.root.document.graveyard,t=new ss(e,[0]);return new Ur(this.moveTargetPosition,this.howMany,this.splitPosition,t,this.baseVersion+1)}_validate(){const e=this.splitPosition.parent,t=this.splitPosition.offset;if(!e||e.maxOffset1&&e.sourcePosition.isEqual(t.deletionPosition)?this._setRelation(e,t,"firstToMoveMerged"):e.howMany>1&&e.sourcePosition.getShiftedBy(e.howMany-1).isEqual(t.deletionPosition)&&this._setRelation(e,t,"lastToMoveMerged"):t instanceof $r&&(e.targetPosition.isEqual(t.sourcePosition)||e.targetPosition.isBefore(t.sourcePosition)?this._setRelation(e,t,"insertBefore"):this._setRelation(e,t,"insertAfter"));else if(e instanceof Wr){if(t instanceof Ur)e.splitPosition.isBefore(t.sourcePosition)&&this._setRelation(e,t,"splitBefore");else if(t instanceof $r)if(e.splitPosition.isEqual(t.sourcePosition)||e.splitPosition.isBefore(t.sourcePosition))this._setRelation(e,t,"splitBefore");else{const o=us._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.splitPosition)){const i=o.end.offset-e.splitPosition.offset,n=e.splitPosition.offset-o.start.offset;this._setRelation(e,t,{howMany:i,offset:n})}}}else if(e instanceof Ur)t instanceof Ur?(e.targetPosition.isEqual(t.sourcePosition)||this._setRelation(e,t,"mergeTargetNotMoved"),e.sourcePosition.isEqual(t.targetPosition)&&this._setRelation(e,t,"mergeSourceNotMoved"),e.sourcePosition.isEqual(t.sourcePosition)&&this._setRelation(e,t,"mergeSameElement")):t instanceof Wr?e.sourcePosition.isEqual(t.splitPosition)&&this._setRelation(e,t,"splitAtSource"):t instanceof $r&&t.howMany>0&&(e.sourcePosition.isEqual(t.sourcePosition.getShiftedBy(t.howMany))&&this._setRelation(e,t,"mergeSourceAffected"),e.targetPosition.isEqual(t.sourcePosition)&&this._setRelation(e,t,"mergeTargetWasBefore"));else if(e instanceof Kr){const o=e.newRange;if(!o)return;if(t instanceof Ur){const i=o.start.isEqual(t.targetPosition),n=o.start.isEqual(t.deletionPosition),s=o.end.isEqual(t.deletionPosition),r=o.end.isEqual(t.sourcePosition);(i||n||s||r)&&this._setRelation(e,t,{wasInLeftElement:i,wasStartBeforeMergedElement:n,wasEndBeforeMergedElement:s,wasInRightElement:r})}}}getContext(e,t,o){return{aIsStrong:o,aWasUndone:this._wasUndone(e),bWasUndone:this._wasUndone(t),abRelation:this._useRelations?this._getRelation(e,t):null,baRelation:this._useRelations?this._getRelation(t,e):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(e){const t=this.originalOperations.get(e);return t.wasUndone||this._history.isUndoneOperation(t)}_getRelation(e,t){const o=this.originalOperations.get(t),i=this._history.getUndoneOperation(o);if(!i)return null;const n=this.originalOperations.get(e),s=this._relations.get(n);return s&&s.get(i)||null}_setRelation(e,t,o){const i=this.originalOperations.get(e),n=this.originalOperations.get(t);let s=this._relations.get(i);s||(s=new Map,this._relations.set(i,s)),s.set(n,o)}}function aa(e,t){for(const o of e)o.baseVersion=t++}function la(e,t){for(let o=0;o{if(e.key===t.key&&e.range.start.hasSameParentAs(t.range.start)){const i=e.range.getDifference(t.range).map((t=>new Gr(t,e.key,e.oldValue,e.newValue,0))),n=e.range.getIntersection(t.range);return n&&o.aIsStrong&&i.push(new Gr(n,t.key,t.newValue,e.newValue,0)),0==i.length?[new Jr(0)]:i}return[e]})),oa(Gr,Hr,((e,t)=>{if(e.range.start.hasSameParentAs(t.position)&&e.range.containsPosition(t.position)){const o=e.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map((t=>new Gr(t,e.key,e.oldValue,e.newValue,e.baseVersion)));if(t.shouldReceiveAttributes){const i=da(t,e.key,e.oldValue);i&&o.unshift(i)}return o}return e.range=e.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[e]})),oa(Gr,Ur,((e,t)=>{const o=[];e.range.start.hasSameParentAs(t.deletionPosition)&&(e.range.containsPosition(t.deletionPosition)||e.range.start.isEqual(t.deletionPosition))&&o.push(us._createFromPositionAndShift(t.graveyardPosition,1));const i=e.range._getTransformedByMergeOperation(t);return i.isCollapsed||o.push(i),o.map((t=>new Gr(t,e.key,e.oldValue,e.newValue,e.baseVersion)))})),oa(Gr,$r,((e,t)=>{const o=function(e,t){const o=us._createFromPositionAndShift(t.sourcePosition,t.howMany);let i=null,n=[];o.containsRange(e,!0)?i=e:e.start.hasSameParentAs(o.start)?(n=e.getDifference(o),i=e.getIntersection(o)):n=[e];const s=[];for(let e of n){e=e._getTransformedByDeletion(t.sourcePosition,t.howMany);const o=t.getMovedRangeStart(),i=e.start.hasSameParentAs(o),n=e._getTransformedByInsertion(o,t.howMany,i);s.push(...n)}i&&s.push(i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]);return s}(e.range,t);return o.map((t=>new Gr(t,e.key,e.oldValue,e.newValue,e.baseVersion)))})),oa(Gr,Wr,((e,t)=>{if(e.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.range.end.offset++,[e];if(e.range.start.hasSameParentAs(t.splitPosition)&&e.range.containsPosition(t.splitPosition)){const o=e.clone();return o.range=new us(t.moveTargetPosition.clone(),e.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),e.range.end=t.splitPosition.clone(),e.range.end.stickiness="toPrevious",[e,o]}return e.range=e.range._getTransformedBySplitOperation(t),[e]})),oa(Hr,Gr,((e,t)=>{const o=[e];if(e.shouldReceiveAttributes&&e.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(e.position)){const i=da(e,t.key,t.newValue);i&&o.push(i)}return o})),oa(Hr,Hr,((e,t,o)=>(e.position.isEqual(t.position)&&o.aIsStrong||(e.position=e.position._getTransformedByInsertOperation(t)),[e]))),oa(Hr,$r,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),oa(Hr,Wr,((e,t)=>(e.position=e.position._getTransformedBySplitOperation(t),[e]))),oa(Hr,Ur,((e,t)=>(e.position=e.position._getTransformedByMergeOperation(t),[e]))),oa(Kr,Hr,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByInsertOperation(t)[0]),e.newRange&&(e.newRange=e.newRange._getTransformedByInsertOperation(t)[0]),[e]))),oa(Kr,Kr,((e,t,o)=>{if(e.name==t.name){if(!o.aIsStrong)return[new Jr(0)];e.oldRange=t.newRange?t.newRange.clone():null}return[e]})),oa(Kr,Ur,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByMergeOperation(t)),e.newRange&&(e.newRange=e.newRange._getTransformedByMergeOperation(t)),[e]))),oa(Kr,$r,((e,t)=>{const o=[e];if(e.oldRange&&(e.oldRange=us._createFromRanges(e.oldRange._getTransformedByMoveOperation(t))),e.newRange){const i=e.newRange._getTransformedByMoveOperation(t);e.newRange=i[0];for(let t=1;t{if(e.oldRange&&(e.oldRange=e.oldRange._getTransformedBySplitOperation(t)),e.newRange){if(o.abRelation){const i=e.newRange._getTransformedBySplitOperation(t);return e.newRange.start.isEqual(t.splitPosition)?o.abRelation.wasStartBeforeMergedElement?e.newRange.start=ss._createAt(t.insertionPosition):o.abRelation.wasInLeftElement?e.newRange.start=ss._createAt(e.newRange.start):e.newRange.start=ss._createAt(t.moveTargetPosition):e.newRange.start=i.start,e.newRange.end.isEqual(t.splitPosition)?e.newRange.end.isEqual(t.splitPosition)&&o.abRelation.wasEndBeforeMergedElement?e.newRange.end=ss._createAt(t.insertionPosition):o.abRelation.wasInRightElement?e.newRange.end=ss._createAt(t.moveTargetPosition):e.newRange.end=ss._createAt(e.newRange.end):e.newRange.end=i.end,[e]}e.newRange=e.newRange._getTransformedBySplitOperation(t)}return[e]})),oa(Ur,Hr,((e,t)=>(e.sourcePosition.hasSameParentAs(t.position)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByInsertOperation(t),e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t),[e]))),oa(Ur,Ur,((e,t,o)=>{if(e.sourcePosition.isEqual(t.sourcePosition)&&e.targetPosition.isEqual(t.targetPosition)){if(o.bWasUndone){const o=t.graveyardPosition.path.slice();return o.push(0),e.sourcePosition=new ss(t.graveyardPosition.root,o),e.howMany=0,[e]}return[new Jr(0)]}if(e.sourcePosition.isEqual(t.sourcePosition)&&!e.targetPosition.isEqual(t.targetPosition)&&!o.bWasUndone&&"splitAtSource"!=o.abRelation){const i="$graveyard"==e.targetPosition.root.rootName,n="$graveyard"==t.targetPosition.root.rootName;if(n&&!i||!(i&&!n)&&o.aIsStrong){const o=t.targetPosition._getTransformedByMergeOperation(t),i=e.targetPosition._getTransformedByMergeOperation(t);return[new $r(o,e.howMany,i,0)]}return[new Jr(0)]}return e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMergeOperation(t),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),e.graveyardPosition.isEqual(t.graveyardPosition)&&o.aIsStrong||(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),oa(Ur,$r,((e,t,o)=>{const i=us._createFromPositionAndShift(t.sourcePosition,t.howMany);return"remove"==t.type&&!o.bWasUndone&&e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)?[new Jr(0)]:(t.sourcePosition.getShiftedBy(t.howMany).isEqual(e.sourcePosition)?e.sourcePosition.stickiness="toNone":t.targetPosition.isEqual(e.sourcePosition)&&"mergeSourceAffected"==o.abRelation?e.sourcePosition.stickiness="toNext":t.sourcePosition.isEqual(e.targetPosition)?(e.targetPosition.stickiness="toNone",e.howMany-=t.howMany):t.targetPosition.isEqual(e.targetPosition)&&"mergeTargetWasBefore"==o.abRelation?(e.targetPosition.stickiness="toPrevious",e.howMany+=t.howMany):(e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition.hasSameParentAs(t.sourcePosition)&&(e.howMany-=t.howMany)),e.sourcePosition=e.sourcePosition._getTransformedByMoveOperation(t),e.targetPosition=e.targetPosition._getTransformedByMoveOperation(t),e.sourcePosition.stickiness="toPrevious",e.targetPosition.stickiness="toNext",e.graveyardPosition.isEqual(t.targetPosition)||(e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)),[e])})),oa(Ur,Wr,((e,t,o)=>{if(t.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),e.deletionPosition.isEqual(t.graveyardPosition)&&(e.howMany=t.howMany)),e.targetPosition.isEqual(t.splitPosition)){if(t.graveyardPosition&&e.deletionPosition.isEqual(t.graveyardPosition)||"mergeTargetNotMoved"==o.abRelation)return e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),[e]}if(e.sourcePosition.isEqual(t.splitPosition)){if("mergeSourceNotMoved"==o.abRelation)return e.howMany=0,e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e];if("mergeSameElement"==o.abRelation||e.sourcePosition.offset>0)return e.sourcePosition=t.moveTargetPosition.clone(),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]}return e.sourcePosition.hasSameParentAs(t.splitPosition)&&(e.howMany=t.splitPosition.offset),e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]})),oa($r,Hr,((e,t)=>{const o=us._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByInsertOperation(t,!1)[0];return e.sourcePosition=o.start,e.howMany=o.end.offset-o.start.offset,e.targetPosition.isEqual(t.position)||(e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t)),[e]})),oa($r,$r,((e,t,o)=>{const i=us._createFromPositionAndShift(e.sourcePosition,e.howMany),n=us._createFromPositionAndShift(t.sourcePosition,t.howMany);let s,r=o.aIsStrong,a=!o.aIsStrong;if("insertBefore"==o.abRelation||"insertAfter"==o.baRelation?a=!0:"insertAfter"!=o.abRelation&&"insertBefore"!=o.baRelation||(a=!1),s=e.targetPosition.isEqual(t.targetPosition)&&a?e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):e.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),ua(e,t)&&ua(t,e))return[t.getReversed()];if(i.containsPosition(t.targetPosition)&&i.containsRange(n,!0))return i.start=i.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),i.end=i.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),ha([i],s);if(n.containsPosition(e.targetPosition)&&n.containsRange(i,!0))return i.start=i.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),i.end=i.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),ha([i],s);const l=We(e.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if("prefix"==l||"extension"==l)return i.start=i.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),i.end=i.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),ha([i],s);"remove"!=e.type||"remove"==t.type||o.aWasUndone||o.forceWeakRemove?"remove"==e.type||"remove"!=t.type||o.bWasUndone||o.forceWeakRemove||(r=!1):r=!0;const c=[],d=i.getDifference(n);for(const e of d){e.start=e.start._getTransformedByDeletion(t.sourcePosition,t.howMany),e.end=e.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const o="same"==We(e.start.getParentPath(),t.getMovedRangeStart().getParentPath()),i=e._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,o);c.push(...i)}const u=i.getIntersection(n);return null!==u&&r&&(u.start=u.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),u.end=u.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),0===c.length?c.push(u):1==c.length?n.start.isBefore(i.start)||n.start.isEqual(i.start)?c.unshift(u):c.push(u):c.splice(1,0,u)),0===c.length?[new Jr(e.baseVersion)]:ha(c,s)})),oa($r,Wr,((e,t,o)=>{let i=e.targetPosition.clone();if(e.targetPosition.isEqual(t.insertionPosition)&&t.graveyardPosition&&"moveTargetAfter"!=o.abRelation||(i=e.targetPosition._getTransformedBySplitOperation(t)),e.sourcePosition.isEqual(t.insertionPosition)&&"firstToMoveMerged"==o.abRelation)return e.howMany++,e.targetPosition=i,[e];const n=us._createFromPositionAndShift(e.sourcePosition,e.howMany);if(n.end.isEqual(t.insertionPosition))return t.graveyardPosition&&"lastToMoveMerged"!=o.abRelation||e.howMany++,e.targetPosition=i,[e];if(n.start.hasSameParentAs(t.splitPosition)&&n.containsPosition(t.splitPosition)){let e=new us(t.splitPosition,n.end);e=e._getTransformedBySplitOperation(t);return ha([new us(n.start,t.splitPosition),e],i)}e.targetPosition.isEqual(t.splitPosition)&&"insertAtSource"==o.abRelation&&(i=t.moveTargetPosition),e.targetPosition.isEqual(t.insertionPosition)&&"insertBetween"==o.abRelation&&(i=e.targetPosition);const s=[n._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const i=n.start.isEqual(t.graveyardPosition)||n.containsPosition(t.graveyardPosition);e.howMany>1&&i&&!o.aWasUndone&&s.push(us._createFromPositionAndShift(t.insertionPosition,1))}return ha(s,i)})),oa($r,Ur,((e,t,o)=>{const i=us._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition))if("remove"!=e.type||o.forceWeakRemove){if(1==e.howMany)return o.bWasUndone?(e.sourcePosition=t.graveyardPosition.clone(),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]):[new Jr(0)]}else if(!o.aWasUndone){const o=[];let i=t.graveyardPosition.clone(),n=t.targetPosition._getTransformedByMergeOperation(t);const s=e.targetPosition.getTransformedByOperation(t);e.howMany>1&&(o.push(new $r(e.sourcePosition,e.howMany-1,s,0)),i=i._getTransformedByMove(e.sourcePosition,s,e.howMany-1),n=n._getTransformedByMove(e.sourcePosition,s,e.howMany-1));const r=t.deletionPosition._getCombined(e.sourcePosition,s),a=new $r(i,1,r,0),l=a.getMovedRangeStart().path.slice();l.push(0);const c=new ss(a.targetPosition.root,l);n=n._getTransformedByMove(i,r,1);const d=new $r(n,t.howMany,c,0);return o.push(a),o.push(d),o}const n=us._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByMergeOperation(t);return e.sourcePosition=n.start,e.howMany=n.end.offset-n.start.offset,e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]})),oa(Zr,Hr,((e,t)=>(e.position=e.position._getTransformedByInsertOperation(t),[e]))),oa(Zr,Ur,((e,t)=>e.position.isEqual(t.deletionPosition)?(e.position=t.graveyardPosition.clone(),e.position.stickiness="toNext",[e]):(e.position=e.position._getTransformedByMergeOperation(t),[e]))),oa(Zr,$r,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),oa(Zr,Zr,((e,t,o)=>{if(e.position.isEqual(t.position)){if(!o.aIsStrong)return[new Jr(0)];e.oldName=t.newName}return[e]})),oa(Zr,Wr,((e,t)=>{if("same"==We(e.position.path,t.splitPosition.getParentPath())&&!t.graveyardPosition){const t=new Zr(e.position.getShiftedBy(1),e.oldName,e.newName,0);return[e,t]}return e.position=e.position._getTransformedBySplitOperation(t),[e]})),oa(Qr,Qr,((e,t,o)=>{if(e.root===t.root&&e.key===t.key){if(!o.aIsStrong)return[new Jr(0)];e.oldValue=t.newValue}return[e]})),oa(Yr,Yr,((e,t)=>e.rootName===t.rootName&&e.isAdd===t.isAdd?[new Jr(0)]:[e])),oa(Wr,Hr,((e,t)=>(e.splitPosition.hasSameParentAs(t.position)&&e.splitPosition.offset{if(!e.graveyardPosition&&!o.bWasUndone&&e.splitPosition.hasSameParentAs(t.sourcePosition)){const o=t.graveyardPosition.path.slice();o.push(0);const i=new ss(t.graveyardPosition.root,o),n=Wr.getInsertionPosition(new ss(t.graveyardPosition.root,o)),s=new Wr(i,0,n,null,0);return e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=Wr.getInsertionPosition(e.splitPosition),e.graveyardPosition=s.insertionPosition.clone(),e.graveyardPosition.stickiness="toNext",[s,e]}return e.splitPosition.hasSameParentAs(t.deletionPosition)&&!e.splitPosition.isAfter(t.deletionPosition)&&e.howMany--,e.splitPosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=Wr.getInsertionPosition(e.splitPosition),e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),oa(Wr,$r,((e,t,o)=>{const i=us._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.graveyardPosition){const n=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);if(!o.bWasUndone&&n){const o=e.splitPosition._getTransformedByMoveOperation(t),i=e.graveyardPosition._getTransformedByMoveOperation(t),n=i.path.slice();n.push(0);const s=new ss(i.root,n);return[new $r(o,e.howMany,s,0)]}e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)}const n=e.splitPosition.isEqual(t.targetPosition);if(n&&("insertAtSource"==o.baRelation||"splitBefore"==o.abRelation))return e.howMany+=t.howMany,e.splitPosition=e.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),e.insertionPosition=Wr.getInsertionPosition(e.splitPosition),[e];if(n&&o.abRelation&&o.abRelation.howMany){const{howMany:t,offset:i}=o.abRelation;return e.howMany+=t,e.splitPosition=e.splitPosition.getShiftedBy(i),[e]}if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.splitPosition)){const o=t.howMany-(e.splitPosition.offset-t.sourcePosition.offset);return e.howMany-=o,e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset{if(e.splitPosition.isEqual(t.splitPosition)){if(!e.graveyardPosition&&!t.graveyardPosition)return[new Jr(0)];if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition))return[new Jr(0)];if("splitBefore"==o.abRelation)return e.howMany=0,e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t),[e]}if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition)){const i="$graveyard"==e.splitPosition.root.rootName,n="$graveyard"==t.splitPosition.root.rootName;if(n&&!i||!(i&&!n)&&o.aIsStrong){const o=[];return t.howMany&&o.push(new $r(t.moveTargetPosition,t.howMany,t.splitPosition,0)),e.howMany&&o.push(new $r(e.splitPosition,e.howMany,e.moveTargetPosition,0)),o}return[new Jr(0)]}if(e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t)),e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==o.abRelation)return e.howMany++,[e];if(t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==o.baRelation){const o=t.insertionPosition.path.slice();o.push(0);const i=new ss(t.insertionPosition.root,o);return[e,new $r(e.insertionPosition,1,i,0)]}return e.splitPosition.hasSameParentAs(t.splitPosition)&&e.splitPosition.offset{const o=t[0];o.isDocumentOperation&&pa.call(this,o)}),{priority:"low"})}function pa(e){const t=this.getTransformedByOperation(e);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}ma.prototype.is=function(e){return"livePosition"===e||"model:livePosition"===e||"position"==e||"model:position"===e};class fa{operations;isUndoable;isLocal;isUndo;isTyping;constructor(e={}){"string"==typeof e&&(e="transparent"===e?{isUndoable:!1}:{},be("batch-constructor-deprecated-string-type"));const{isUndoable:t=!0,isLocal:o=!0,isUndo:i=!1,isTyping:n=!1}=e;this.operations=[],this.isUndoable=t,this.isLocal=o,this.isUndo=i,this.isTyping=n}get baseVersion(){for(const e of this.operations)if(null!==e.baseVersion)return e.baseVersion;return null}addOperation(e){return e.isDocumentOperation&&(e.batch=this,this.operations.push(e)),e}}class ba{static _statesPriority=[void 0,"refresh","rename","move"];_markerCollection;_changesInElement=new Map;_elementsSnapshots=new Map;_elementChildrenSnapshots=new Map;_elementState=new Map;_changedMarkers=new Map;_changedRoots=new Map;_changeCount=0;_cachedChanges=null;_cachedChangesWithGraveyard=null;_refreshedItems=new Set;constructor(e){this._markerCollection=e}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size&&0==this._changedRoots.size}bufferOperation(e){const t=e;switch(t.type){case"insert":if(this._isInInsertedElement(t.position.parent))return;this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const e of t.range.getItems({shallow:!0}))this._isInInsertedElement(e.parent)||this._markAttribute(e);break;case"remove":case"move":case"reinsert":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition))return;const e=this._isInInsertedElement(t.sourcePosition.parent),o=this._isInInsertedElement(t.targetPosition.parent);e||this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany),o||this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany);const i=us._createFromPositionAndShift(t.sourcePosition,t.howMany);for(const e of i.getItems({shallow:!0}))this._setElementState(e,"move");break}case"rename":{if(this._isInInsertedElement(t.position.parent))return;this._markRemove(t.position.parent,t.position.offset,1),this._markInsert(t.position.parent,t.position.offset,1);const e=us._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._setElementState(t.position.nodeAfter,"rename");break}case"split":{const e=t.splitPosition.parent;if(!this._isInInsertedElement(e)){this._markRemove(e,t.splitPosition.offset,t.howMany);const o=us._createFromPositionAndShift(t.splitPosition,t.howMany);for(const e of o.getItems({shallow:!0}))this._setElementState(e,"move")}this._isInInsertedElement(t.insertionPosition.parent)||this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1),t.graveyardPosition&&(this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1),this._setElementState(t.graveyardPosition.nodeAfter,"move"));break}case"merge":{const e=t.sourcePosition.parent;this._isInInsertedElement(e.parent)||this._markRemove(e.parent,e.startOffset,1);const o=t.graveyardPosition.parent;this._markInsert(o,t.graveyardPosition.offset,1),this._setElementState(e,"move");const i=t.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,t.targetPosition.offset,e.maxOffset);const o=us._createFromPositionAndShift(t.sourcePosition,t.howMany);for(const e of o.getItems({shallow:!0}))this._setElementState(e,"move")}break}case"detachRoot":case"addRoot":{const e=t.affectedSelectable;if(!e._isLoaded)return;if(e.isAttached()==t.isAdd)return;this._bufferRootStateChange(t.rootName,t.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!t.root._isLoaded)return;const e=t.root.rootName;this._bufferRootAttributeChange(e,t.key,t.oldValue,t.newValue);break}}this._cachedChanges=null}bufferMarkerChange(e,t,o){t.range&&t.range.root.is("rootElement")&&!t.range.root._isLoaded&&(t.range=null),o.range&&o.range.root.is("rootElement")&&!o.range.root._isLoaded&&(o.range=null);let i=this._changedMarkers.get(e);i?i.newMarkerData=o:(i={newMarkerData:o,oldMarkerData:t},this._changedMarkers.set(e,i)),null==i.oldMarkerData.range&&null==o.range&&this._changedMarkers.delete(e)}getMarkersToRemove(){const e=[];for(const[t,o]of this._changedMarkers)null!=o.oldMarkerData.range&&e.push({name:t,range:o.oldMarkerData.range});return e}getMarkersToAdd(){const e=[];for(const[t,o]of this._changedMarkers)null!=o.newMarkerData.range&&e.push({name:t,range:o.newMarkerData.range});return e}getChangedMarkers(){return Array.from(this._changedMarkers).map((([e,t])=>({name:e,data:{oldRange:t.oldMarkerData.range,newRange:t.newMarkerData.range}})))}hasDataChanges(){if(this.getChanges().length)return!0;if(this._changedRoots.size>0)return!0;for(const{newMarkerData:e,oldMarkerData:t}of this._changedMarkers.values()){if(e.affectsData!==t.affectsData)return!0;if(e.affectsData){const o=e.range&&!t.range,i=!e.range&&t.range,n=e.range&&t.range&&!e.range.isEqual(t.range);if(o||i||n)return!0}}return!1}getChanges(e={}){if(this._cachedChanges)return e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let t=[];for(const e of this._changesInElement.keys()){const o=this._changesInElement.get(e).sort(((e,t)=>e.offset===t.offset?e.type!=t.type?"remove"==e.type?-1:1:0:e.offsete.position.root!=t.position.root?e.position.root.rootNamee));for(const e of t)delete e.changeCount,"attribute"==e.type&&(delete e.position,delete e.length);return this._changeCount=0,this._cachedChangesWithGraveyard=t,this._cachedChanges=t.filter(ka),e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map((e=>{const t={...e};return void 0!==t.state&&delete t.attributes,t}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementChildrenSnapshots.clear(),this._elementsSnapshots.clear(),this._elementState.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems.clear(),this._cachedChanges=null}_refreshItem(e){if(this._isInInsertedElement(e.parent))return;this._markRemove(e.parent,e.startOffset,e.offsetSize),this._markInsert(e.parent,e.startOffset,e.offsetSize),this._refreshedItems.add(e),this._setElementState(e,"refresh");const t=us._createOn(e);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}this._cachedChanges=null}_bufferRootLoad(e){if(e.isAttached()){this._bufferRootStateChange(e.rootName,!0),this._markInsert(e,0,e.maxOffset);for(const t of e.getAttributeKeys())this._bufferRootAttributeChange(e.rootName,t,null,e.getAttribute(t));for(const t of this._markerCollection)if(t.getRange().root==e){const e=t.getData();this.bufferMarkerChange(t.name,{...e,range:null},e)}}}_bufferRootStateChange(e,t){if(!this._changedRoots.has(e))return void this._changedRoots.set(e,{name:e,state:t?"attached":"detached"});const o=this._changedRoots.get(e);void 0!==o.state?(delete o.state,void 0===o.attributes&&this._changedRoots.delete(e)):o.state=t?"attached":"detached"}_bufferRootAttributeChange(e,t,o,i){const n=this._changedRoots.get(e)||{name:e},s=n.attributes||{};if(s[t]){const e=s[t];i===e.oldValue?delete s[t]:e.newValue=i}else s[t]={oldValue:o,newValue:i};0===Object.entries(s).length?(delete n.attributes,void 0===n.state&&this._changedRoots.delete(e)):(n.attributes=s,this._changedRoots.set(e,n))}_markInsert(e,t,o){if(e.root.is("rootElement")&&!e.root._isLoaded)return;const i={type:"insert",offset:t,howMany:o,count:this._changeCount++};this._markChange(e,i)}_markRemove(e,t,o){if(e.root.is("rootElement")&&!e.root._isLoaded)return;const i={type:"remove",offset:t,howMany:o,count:this._changeCount++};this._markChange(e,i),this._removeAllNestedChanges(e,t,o)}_markAttribute(e){if(e.root.is("rootElement")&&!e.root._isLoaded)return;const t={type:"attribute",offset:e.startOffset,howMany:e.offsetSize,count:this._changeCount++};this._markChange(e.parent,t)}_markChange(e,t){this._makeSnapshots(e);const o=this._getChangesForElement(e);this._handleChange(t,o),o.push(t);for(let e=0;eo&&this._elementState.set(e,t)}_getDiffActionForNode(e,t){if(!e.is("element"))return t;if(!this._elementsSnapshots.has(e))return t;const o=this._elementState.get(e);return o&&"move"!=o?o:t}_getChangesForElement(e){let t;return this._changesInElement.has(e)?t=this._changesInElement.get(e):(t=[],this._changesInElement.set(e,t)),t}_makeSnapshots(e){if(this._elementChildrenSnapshots.has(e))return;const t=ya(e.getChildren());this._elementChildrenSnapshots.set(e,t);for(const e of t)this._elementsSnapshots.set(e.node,e)}_handleChange(e,t){e.nodesToHandle=e.howMany;for(const o of t){const i=e.offset+e.howMany,n=o.offset+o.howMany;if("insert"==e.type&&("insert"==o.type&&(e.offset<=o.offset?o.offset+=e.howMany:e.offseto.offset){if(i>n){const e={type:"attribute",offset:n,howMany:i-n,count:this._changeCount++};this._handleChange(e,t),t.push(e)}e.nodesToHandle=o.offset-e.offset,e.howMany=e.nodesToHandle}else e.offset>=o.offset&&e.offsetn?(e.nodesToHandle=i-n,e.offset=n):e.nodesToHandle=0);if("remove"==o.type&&e.offseto.offset){const n={type:"attribute",offset:o.offset,howMany:i-o.offset,count:this._changeCount++};this._handleChange(n,t),t.push(n),e.nodesToHandle=o.offset-e.offset,e.howMany=e.nodesToHandle}"attribute"==o.type&&(e.offset>=o.offset&&i<=n?(e.nodesToHandle=0,e.howMany=0,e.offset=0):e.offset<=o.offset&&i>=n&&(o.howMany=0))}}e.howMany=e.nodesToHandle,delete e.nodesToHandle}_getInsertDiff(e,t,o,i,n){const s={type:"insert",position:ss._createAt(e,t),name:i.name,attributes:new Map(i.attributes),length:1,changeCount:this._changeCount++,action:o};return"insert"!=o&&n&&(s.before={name:n.name,attributes:new Map(n.attributes)}),s}_getRemoveDiff(e,t,o,i){return{type:"remove",action:o,position:ss._createAt(e,t),name:i.name,attributes:new Map(i.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(e,t,o){const i=[];o=new Map(o);for(const[n,s]of t){const t=o.has(n)?o.get(n):null;t!==s&&i.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:n,attributeOldValue:s,attributeNewValue:t,changeCount:this._changeCount++}),o.delete(n)}for(const[t,n]of o)i.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:t,attributeOldValue:null,attributeNewValue:n,changeCount:this._changeCount++});return i}_isInInsertedElement(e){const t=e.parent;if(!t)return!1;const o=this._changesInElement.get(t),i=e.startOffset;if(o)for(const e of o)if("insert"==e.type&&i>=e.offset&&ii){for(let t=0;t1500)for(let t=0;tthis._version+1&&this._gaps.set(this._version,e),this._version=e}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(e){if(e.baseVersion!==this.version)throw new fe("model-document-history-addoperation-incorrect-version",this,{operation:e,historyVersion:this.version});this._operations.push(e),this._version++,this._baseVersionToOperationIndex.set(e.baseVersion,this._operations.length-1)}getOperations(e,t=this.version){if(!this._operations.length)return[];const o=this._operations[0];void 0===e&&(e=o.baseVersion);let i=t-1;for(const[t,o]of this._gaps)e>t&&et&&ithis.lastOperation.baseVersion)return[];let n=this._baseVersionToOperationIndex.get(e);void 0===n&&(n=0);let s=this._baseVersionToOperationIndex.get(i);return void 0===s&&(s=this._operations.length-1),this._operations.slice(n,s+1)}getOperation(e){const t=this._baseVersionToOperationIndex.get(e);if(void 0!==t)return this._operations[t]}setOperationAsUndone(e,t){this._undoPairs.set(t,e),this._undoneOperations.add(e)}isUndoingOperation(e){return this._undoPairs.has(e)}isUndoneOperation(e){return this._undoneOperations.has(e)}getUndoneOperation(e){return this._undoPairs.get(e)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class Ca extends Ms{rootName;_document;_isAttached=!0;_isLoaded=!0;constructor(e,t,o="main"){super(t),this._document=e,this.rootName=o}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}Ca.prototype.is=function(e,t){return t?t===this.name&&("rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e):"rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e||"node"===e||"model:node"===e};const Aa="$graveyard";class xa extends(xe()){model;history;selection;roots;differ;isReadOnly;_postFixers;_hasSelectionChangedFromTheLastChangeBlock;constructor(e){super(),this.model=e,this.history=new va,this.selection=new Os(this),this.roots=new eo({idProperty:"rootName"}),this.differ=new ba(e.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",Aa),this.listenTo(e,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&this.differ.bufferOperation(o)}),{priority:"high"}),this.listenTo(e,"applyOperation",((e,t)=>{const o=t[0];o.isDocumentOperation&&this.history.addOperation(o)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(e.markers,"update",((e,t,o,i,n)=>{const s={...t.getData(),range:i};this.differ.bufferMarkerChange(t.name,n,s),null===o&&t.on("change",((e,o)=>{const i=t.getData();this.differ.bufferMarkerChange(t.name,{...i,range:o},i)}))})),this.registerPostFixer((e=>{let t=!1;for(const o of this.roots)o.isAttached()||o.isEmpty||(e.remove(e.createRangeIn(o)),t=!0);for(const o of this.model.markers)o.getRange().root.isAttached()||(e.removeMarker(o),t=!0);return t}))}get version(){return this.history.version}set version(e){this.history.version=e}get graveyard(){return this.getRoot(Aa)}createRoot(e="$root",t="main"){if(this.roots.get(t))throw new fe("model-document-createroot-name-exists",this,{name:t});const o=new Ca(this,e,t);return this.roots.add(o),o}destroy(){this.selection.destroy(),this.stopListening()}getRoot(e="main"){return this.roots.get(e)}getRootNames(e=!1){return this.getRoots(e).map((e=>e.rootName))}getRoots(e=!1){return this.roots.filter((t=>t!=this.graveyard&&(e||t.isAttached())&&t._isLoaded))}registerPostFixer(e){this._postFixers.add(e)}toJSON(){const e=Go(this);return e.selection="[engine.model.DocumentSelection]",e.model="[engine.model.Model]",e}_handleChangeBlock(e){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(e),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",e.batch):this.fire("change",e.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const e=this.getRoots();return e.length?e[0]:this.graveyard}_getDefaultRange(){const e=this._getDefaultRoot(),t=this.model,o=t.schema,i=t.createPositionFromPath(e,[0]);return o.getNearestSelectionRange(i)||t.createRange(i)}_validateSelectionRange(e){return e.start.isValid()&&e.end.isValid()&&Ea(e.start)&&Ea(e.end)}_callPostFixers(e){let t=!1;do{for(const o of this._postFixers)if(this.selection.refresh(),t=o(e),t)break}while(t)}}function Ea(e){const t=e.textNode;if(t){const o=t.data,i=e.offset-t.startOffset;return!ho(o,i)&&!mo(o,i)}return!0}class Ta extends(xe()){_markers=new Map;[Symbol.iterator](){return this._markers.values()}has(e){const t=e instanceof Pa?e.name:e;return this._markers.has(t)}get(e){return this._markers.get(e)||null}_set(e,t,o=!1,i=!1){const n=e instanceof Pa?e.name:e;if(n.includes(","))throw new fe("markercollection-incorrect-marker-name",this);const s=this._markers.get(n);if(s){const e=s.getData(),r=s.getRange();let a=!1;return r.isEqual(t)||(s._attachLiveRange(Ts.fromRange(t)),a=!0),o!=s.managedUsingOperations&&(s._managedUsingOperations=o,a=!0),"boolean"==typeof i&&i!=s.affectsData&&(s._affectsData=i,a=!0),a&&this.fire(`update:${n}`,s,r,t,e),s}const r=Ts.fromRange(t),a=new Pa(n,r,o,i);return this._markers.set(n,a),this.fire(`update:${n}`,a,null,t,{...a.getData(),range:null}),a}_remove(e){const t=e instanceof Pa?e.name:e,o=this._markers.get(t);return!!o&&(this._markers.delete(t),this.fire(`update:${t}`,o,o.getRange(),null,o.getData()),this._destroyMarker(o),!0)}_refresh(e){const t=e instanceof Pa?e.name:e,o=this._markers.get(t);if(!o)throw new fe("markercollection-refresh-marker-not-exists",this);const i=o.getRange();this.fire(`update:${t}`,o,i,i,o.getData())}*getMarkersAtPosition(e){for(const t of this)t.getRange().containsPosition(e)&&(yield t)}*getMarkersIntersectingRange(e){for(const t of this)null!==t.getRange().getIntersection(e)&&(yield t)}destroy(){for(const e of this._markers.values())this._destroyMarker(e);this._markers=null,this.stopListening()}*getMarkersGroup(e){for(const t of this._markers.values())t.name.startsWith(e+":")&&(yield t)}_destroyMarker(e){e.stopListening(),e._detachLiveRange()}}class Pa extends(xe(ts)){name;_managedUsingOperations;_affectsData;_liveRange;constructor(e,t,o,i){super(),this.name=e,this._liveRange=this._attachLiveRange(t),this._managedUsingOperations=o,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new fe("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new fe("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new fe("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new fe("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new fe("marker-destroyed",this);return this._liveRange.toRange()}toJSON(){return{name:this.name,range:this._liveRange?.toJSON(),usingOperations:this._managedUsingOperations,affectsData:this._affectsData}}_attachLiveRange(e){return this._liveRange&&this._detachLiveRange(),e.delegate("change:range").to(this),e.delegate("change:content").to(this),this._liveRange=e,e}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Pa.prototype.is=function(e){return"marker"===e||"model:marker"===e};class Sa extends Fr{sourcePosition;howMany;constructor(e,t){super(null),this.sourcePosition=e.clone(),this.howMany=t}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e}_validate(){if(this.sourcePosition.root.document)throw new fe("detach-operation-on-document-node",this)}_execute(){Nr(us._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class Ia extends ts{markers=new Map;_children=new Fs;constructor(e){super(),e&&this._insertChild(0,e)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(e){return this._children.getNode(e)}getChildAtOffset(e){return this._children.getNodeAtOffset(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}getPath(){return[]}getNodeByPath(e){let t=this;for(const o of e)t=t.getChildAtOffset(o);return t}offsetToIndex(e){return this._children.offsetToIndex(e)}toJSON(){const e=[];for(const t of this._children)e.push(t.toJSON());return e}static fromJSON(e){const t=[];for(const o of e)o.name?t.push(Ms.fromJSON(o)):t.push(Is.fromJSON(o));return new Ia(t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const o=function(e){if("string"==typeof e)return[new Is(e)];Ue(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new Is(e):e instanceof os?new Is(e.data,e.getAttributes()):e))}(t);for(const e of o)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,o)}_removeChildren(e,t=1){const o=this._children._removeNodes(e,t);for(const e of o)e.parent=null;return o}_removeChildrenArray(e){this._children._removeNodesArray(e);for(const t of e)t.parent=null}}Ia.prototype.is=function(e){return"documentFragment"===e||"model:documentFragment"===e};class Ra{model;batch;constructor(e,t){this.model=e,this.batch=t}createText(e,t){return new Is(e,t)}createElement(e,t){return new Ms(e,t)}createDocumentFragment(){return new Ia}cloneElement(e,t=!0){return e._clone(t)}insert(e,t,o=0){if(this._assertWriterUsedCorrectly(),e instanceof Is&&""==e.data)return;const i=ss._createAt(t,o);if(e.parent){if(Ma(e.root,i.root))return void this.move(us._createOn(e),i);if(e.root.document)throw new fe("model-writer-insert-forbidden-move",this);this.remove(e)}const n=i.root.document?i.root.document.version:null,s=e instanceof Ia?e._removeChildren(0,e.childCount):e,r=new Hr(i,s,n);if(e instanceof Is&&(r.shouldReceiveAttributes=!0),this.batch.addOperation(r),this.model.applyOperation(r),e instanceof Ia)for(const[t,o]of e.markers){const e=ss._createAt(o.root,0),n={range:new us(o.start._getCombined(e,i),o.end._getCombined(e,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(t)?this.updateMarker(t,n):this.addMarker(t,n)}}insertText(e,t,o,i){t instanceof Ia||t instanceof Ms||t instanceof ss?this.insert(this.createText(e),t,o):this.insert(this.createText(e,t),o,i)}insertElement(e,t,o,i){t instanceof Ia||t instanceof Ms||t instanceof ss?this.insert(this.createElement(e),t,o):this.insert(this.createElement(e,t),o,i)}append(e,t){this.insert(e,t,"end")}appendText(e,t,o){t instanceof Ia||t instanceof Ms?this.insert(this.createText(e),t,"end"):this.insert(this.createText(e,t),o,"end")}appendElement(e,t,o){t instanceof Ia||t instanceof Ms?this.insert(this.createElement(e),t,"end"):this.insert(this.createElement(e,t),o,"end")}setAttribute(e,t,o){if(this._assertWriterUsedCorrectly(),o instanceof us){const i=o.getMinimalFlatRanges();for(const o of i)Oa(this,e,t,o)}else Va(this,e,t,o)}setAttributes(e,t){for(const[o,i]of ao(e))this.setAttribute(o,i,t)}removeAttribute(e,t){if(this._assertWriterUsedCorrectly(),t instanceof us){const o=t.getMinimalFlatRanges();for(const t of o)Oa(this,e,null,t)}else Va(this,e,null,t)}clearAttributes(e){this._assertWriterUsedCorrectly();const t=e=>{for(const t of e.getAttributeKeys())this.removeAttribute(t,e)};if(e instanceof us)for(const o of e.getItems())t(o);else t(e)}move(e,t,o){if(this._assertWriterUsedCorrectly(),!(e instanceof us))throw new fe("writer-move-invalid-range",this);if(!e.isFlat)throw new fe("writer-move-range-not-flat",this);const i=ss._createAt(t,o);if(i.isEqual(e.start))return;if(this._addOperationForAffectedMarkers("move",e),!Ma(e.root,i.root))throw new fe("writer-move-different-document",this);const n=e.root.document?e.root.document.version:null,s=new $r(e.start,e.end.offset-e.start.offset,i,n);this.batch.addOperation(s),this.model.applyOperation(s)}remove(e){this._assertWriterUsedCorrectly();const t=(e instanceof us?e:us._createOn(e)).getMinimalFlatRanges().reverse();for(const e of t)this._addOperationForAffectedMarkers("move",e),Fa(e.start,e.end.offset-e.start.offset,this.batch,this.model)}merge(e){this._assertWriterUsedCorrectly();const t=e.nodeBefore,o=e.nodeAfter;if(this._addOperationForAffectedMarkers("merge",e),!(t instanceof Ms))throw new fe("writer-merge-no-element-before",this);if(!(o instanceof Ms))throw new fe("writer-merge-no-element-after",this);e.root.document?this._merge(e):this._mergeDetached(e)}createPositionFromPath(e,t,o){return this.model.createPositionFromPath(e,t,o)}createPositionAt(e,t){return this.model.createPositionAt(e,t)}createPositionAfter(e){return this.model.createPositionAfter(e)}createPositionBefore(e){return this.model.createPositionBefore(e)}createRange(e,t){return this.model.createRange(e,t)}createRangeIn(e){return this.model.createRangeIn(e)}createRangeOn(e){return this.model.createRangeOn(e)}createSelection(...e){return this.model.createSelection(...e)}_mergeDetached(e){const t=e.nodeBefore,o=e.nodeAfter;this.move(us._createIn(o),ss._createAt(t,"end")),this.remove(o)}_merge(e){const t=ss._createAt(e.nodeBefore,"end"),o=ss._createAt(e.nodeAfter,0),i=e.root.document.graveyard,n=new ss(i,[0]),s=e.root.document.version,r=new Ur(o,e.nodeAfter.maxOffset,t,n,s);this.batch.addOperation(r),this.model.applyOperation(r)}rename(e,t){if(this._assertWriterUsedCorrectly(),!(e instanceof Ms))throw new fe("writer-rename-not-element-instance",this);const o=e.root.document?e.root.document.version:null,i=new Zr(ss._createBefore(e),e.name,t,o);this.batch.addOperation(i),this.model.applyOperation(i)}split(e,t){this._assertWriterUsedCorrectly();let o,i,n=e.parent;if(!n.parent)throw new fe("writer-split-element-no-parent",this);if(t||(t=n.parent),!e.parent.getAncestors({includeSelf:!0}).includes(t))throw new fe("writer-split-invalid-limit-element",this);do{const t=n.root.document?n.root.document.version:null,s=n.maxOffset-e.offset,r=Wr.getInsertionPosition(e),a=new Wr(e,s,r,null,t);this.batch.addOperation(a),this.model.applyOperation(a),o||i||(o=n,i=e.parent.nextSibling),n=(e=this.createPositionAfter(e.parent)).parent}while(n!==t);return{position:e,range:new us(ss._createAt(o,"end"),ss._createAt(i,0))}}wrap(e,t){if(this._assertWriterUsedCorrectly(),!e.isFlat)throw new fe("writer-wrap-range-not-flat",this);const o=t instanceof Ms?t:new Ms(t);if(o.childCount>0)throw new fe("writer-wrap-element-not-empty",this);if(null!==o.parent)throw new fe("writer-wrap-element-attached",this);this.insert(o,e.start);const i=new us(e.start.getShiftedBy(1),e.end.getShiftedBy(1));this.move(i,ss._createAt(o,0))}unwrap(e){if(this._assertWriterUsedCorrectly(),null===e.parent)throw new fe("writer-unwrap-element-no-parent",this);this.move(us._createIn(e),this.createPositionAfter(e)),this.remove(e)}addMarker(e,t){if(this._assertWriterUsedCorrectly(),!t||"boolean"!=typeof t.usingOperation)throw new fe("writer-addmarker-no-usingoperation",this);const o=t.usingOperation,i=t.range,n=void 0!==t.affectsData&&t.affectsData;if(this.model.markers.has(e))throw new fe("writer-addmarker-marker-exists",this);if(!i)throw new fe("writer-addmarker-no-range",this);return o?(Da(this,e,null,i,n),this.model.markers.get(e)):this.model.markers._set(e,i,o,n)}updateMarker(e,t){this._assertWriterUsedCorrectly();const o="string"==typeof e?e:e.name,i=this.model.markers.get(o);if(!i)throw new fe("writer-updatemarker-marker-not-exists",this);if(!t)return be("writer-updatemarker-reconvert-using-editingcontroller",{markerName:o}),void this.model.markers._refresh(i);const n="boolean"==typeof t.usingOperation,s="boolean"==typeof t.affectsData,r=s?t.affectsData:i.affectsData;if(!n&&!t.range&&!s)throw new fe("writer-updatemarker-wrong-options",this);const a=i.getRange(),l=t.range?t.range:a;n&&t.usingOperation!==i.managedUsingOperations?t.usingOperation?Da(this,o,null,l,r):(Da(this,o,a,null,r),this.model.markers._set(o,l,void 0,r)):i.managedUsingOperations?Da(this,o,a,l,r):this.model.markers._set(o,l,void 0,r)}removeMarker(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?e:e.name;if(!this.model.markers.has(t))throw new fe("writer-removemarker-no-marker",this);const o=this.model.markers.get(t);if(!o.managedUsingOperations)return void this.model.markers._remove(t);Da(this,t,o.getRange(),null,o.affectsData)}addRoot(e,t="$root"){this._assertWriterUsedCorrectly();const o=this.model.document.getRoot(e);if(o&&o.isAttached())throw new fe("writer-addroot-root-exists",this);const i=this.model.document,n=new Yr(e,t,!0,i,i.version);return this.batch.addOperation(n),this.model.applyOperation(n),this.model.document.getRoot(e)}detachRoot(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?this.model.document.getRoot(e):e;if(!t||!t.isAttached())throw new fe("writer-detachroot-no-root",this);for(const e of this.model.markers)e.getRange().root===t&&this.removeMarker(e);for(const e of t.getAttributeKeys())this.removeAttribute(e,t);this.remove(this.createRangeIn(t));const o=this.model.document,i=new Yr(t.rootName,t.name,!1,o,o.version);this.batch.addOperation(i),this.model.applyOperation(i)}setSelection(...e){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...e)}setSelectionFocus(e,t){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(e,t)}setSelectionAttribute(e,t){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._setSelectionAttribute(e,t);else for(const[t,o]of ao(e))this._setSelectionAttribute(t,o)}removeSelectionAttribute(e){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._removeSelectionAttribute(e);else for(const t of e)this._removeSelectionAttribute(t)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(e){this.model.document.selection._restoreGravity(e)}_setSelectionAttribute(e,t){const o=this.model.document.selection;if(o.isCollapsed&&o.anchor.parent.isEmpty){const i=Os._getStoreAttributeKey(e);this.setAttribute(i,t,o.anchor.parent)}o._setAttribute(e,t)}_removeSelectionAttribute(e){const t=this.model.document.selection;if(t.isCollapsed&&t.anchor.parent.isEmpty){const o=Os._getStoreAttributeKey(e);this.removeAttribute(o,t.anchor.parent)}t._removeAttribute(e)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new fe("writer-incorrect-use",this)}_addOperationForAffectedMarkers(e,t){for(const o of this.model.markers){if(!o.managedUsingOperations)continue;const i=o.getRange();let n=!1;if("move"===e){const e=t;n=e.containsPosition(i.start)||e.start.isEqual(i.start)||e.containsPosition(i.end)||e.end.isEqual(i.end)}else{const e=t,o=e.nodeBefore,s=e.nodeAfter,r=i.start.parent==o&&i.start.isAtEnd,a=i.end.parent==s&&0==i.end.offset,l=i.end.nodeAfter==s,c=i.start.nodeAfter==s;n=r||a||l||c}n&&this.updateMarker(o.name,{range:i})}}}function Oa(e,t,o,i){const n=e.model,s=n.document;let r,a,l,c=i.start;for(const e of i.getWalker({shallow:!0}))l=e.item.getAttribute(t),r&&a!=l&&(a!=o&&d(),c=r),r=e.nextPosition,a=l;function d(){const i=new us(c,r),l=i.root.document?s.version:null,d=new Gr(i,t,a,o,l);e.batch.addOperation(d),n.applyOperation(d)}r instanceof ss&&r!=c&&a!=o&&d()}function Va(e,t,o,i){const n=e.model,s=n.document,r=i.getAttribute(t);let a,l;if(r!=o){if(i.root===i){const e=i.document?s.version:null;l=new Qr(i,t,r,o,e)}else{a=new us(ss._createBefore(i),e.createPositionAfter(i));const n=a.root.document?s.version:null;l=new Gr(a,t,r,o,n)}e.batch.addOperation(l),n.applyOperation(l)}}function Da(e,t,o,i,n){const s=e.model,r=s.document,a=new Kr(t,o,i,s.markers,!!n,r.version);e.batch.addOperation(a),s.applyOperation(a)}function Fa(e,t,o,i){let n;if(e.root.document){const o=i.document,s=new ss(o.graveyard,[0]);n=new $r(e,t,s,o.version)}else n=new Sa(e,t);o.addOperation(n),i.applyOperation(n)}function Ma(e,t){return e===t||e instanceof Ca&&t instanceof Ca}function Na(e){e.document.registerPostFixer((t=>function(e,t){const o=t.document.selection,i=t.schema,n=[];let s=!1;for(const e of o.getRanges()){const t=Ba(e,i);t&&!t.isEqual(e)?(n.push(t),s=!0):n.push(e)}s&&e.setSelection(function(e){const t=[...e],o=new Set;let i=1;for(;i!o.has(t)))}(n),{backward:o.isBackward});return!1}(t,e)))}function Ba(e,t){return e.isCollapsed?function(e,t){const o=e.start,i=t.getNearestSelectionRange(o);if(!i){const e=o.getAncestors().reverse().find((e=>t.isObject(e)));return e?us._createOn(e):null}if(!i.isCollapsed)return i;const n=i.start;if(o.isEqual(n))return null;return new us(n)}(e,t):function(e,t){const{start:o,end:i}=e,n=t.checkChild(o,"$text"),s=t.checkChild(i,"$text"),r=t.getLimitElement(o),a=t.getLimitElement(i);if(r===a){if(n&&s)return null;if(function(e,t,o){const i=e.nodeAfter&&!o.isLimit(e.nodeAfter)||o.checkChild(e,"$text"),n=t.nodeBefore&&!o.isLimit(t.nodeBefore)||o.checkChild(t,"$text");return i||n}(o,i,t)){const e=o.nodeAfter&&t.isSelectable(o.nodeAfter)?null:t.getNearestSelectionRange(o,"forward"),n=i.nodeBefore&&t.isSelectable(i.nodeBefore)?null:t.getNearestSelectionRange(i,"backward"),s=e?e.start:o,r=n?n.end:i;return new us(s,r)}}const l=r&&!r.is("rootElement"),c=a&&!a.is("rootElement");if(l||c){const e=o.nodeAfter&&i.nodeBefore&&o.nodeAfter.parent===i.nodeBefore.parent,n=l&&(!e||!za(o.nodeAfter,t)),s=c&&(!e||!za(i.nodeBefore,t));let d=o,u=i;return n&&(d=ss._createBefore(La(r,t))),s&&(u=ss._createAfter(La(a,t))),new us(d,u)}return null}(e,t)}function La(e,t){let o=e,i=o;for(;t.isLimit(i)&&i.parent;)o=i,i=i.parent;return o}function za(e,t){return e&&t.isSelectable(e)}function ja(e,t,o={}){if(t.isCollapsed)return;const i=t.getFirstRange();if("$graveyard"==i.root.rootName)return;const n=e.schema;e.change((e=>{if(!o.doNotResetEntireContent&&function(e,t){const o=e.getLimitElement(t);if(!t.containsEntireContent(o))return!1;const i=t.getFirstRange();if(i.start.parent==i.end.parent)return!1;return e.checkChild(o,"paragraph")}(n,t))return void function(e,t){const o=e.model.schema.getLimitElement(t);e.remove(e.createRangeIn(o)),Wa(e,e.createPositionAt(o,0),t)}(e,t);const s={};if(!o.doNotAutoparagraph){const e=t.getSelectedElement();e&&Object.assign(s,n.getAttributesWithProperty(e,"copyOnReplace",!0))}let r,a;o.doNotFixSelection?(r=ma.fromPosition(i.start,"toPrevious"),a=ma.fromPosition(i.end,"toNext")):[r,a]=function(e){const t=e.root.document.model,o=e.start;let i=e.end;if(t.hasContent(e,{ignoreMarkers:!0})){const o=function(e){const t=e.parent,o=t.root.document.model.schema,i=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const e of i){if(o.isLimit(e))return null;if(o.isBlock(e))return e}}(i);if(o&&i.isTouching(t.createPositionAt(o,0))){const o=t.createSelection(e);t.modifySelection(o,{direction:"backward"});const n=o.getLastPosition(),s=t.createRange(n,i);t.hasContent(s,{ignoreMarkers:!0})||(i=n)}}return[ma.fromPosition(o,"toPrevious"),ma.fromPosition(i,"toNext")]}(i),r.isTouching(a)||e.remove(e.createRange(r,a)),o.leaveUnmerged||(!function(e,t,o){const i=e.model;if(!Ha(e.model.schema,t,o))return;const[n,s]=function(e,t){const o=e.getAncestors(),i=t.getAncestors();let n=0;for(;o[n]&&o[n]==i[n];)n++;return[o[n],i[n]]}(t,o);if(!n||!s)return;!i.hasContent(n,{ignoreMarkers:!0})&&i.hasContent(s,{ignoreMarkers:!0})?$a(e,t,o,n.parent):qa(e,t,o,n.parent)}(e,r,a),n.removeDisallowedAttributes(r.parent.getChildren(),e)),Ua(e,t,r),!o.doNotAutoparagraph&&function(e,t){const o=e.checkChild(t,"$text"),i=e.checkChild(t,"paragraph");return!o&&i}(n,r)&&Wa(e,r,t,s),r.detach(),a.detach()}))}function qa(e,t,o,i){const n=t.parent,s=o.parent;if(n!=i&&s!=i){for(t=e.createPositionAfter(n),(o=e.createPositionBefore(s)).isEqual(t)||e.insert(s,t),e.merge(t);o.parent.isEmpty;){const t=o.parent;o=e.createPositionBefore(t),e.remove(t)}Ha(e.model.schema,t,o)&&qa(e,t,o,i)}}function $a(e,t,o,i){const n=t.parent,s=o.parent;if(n!=i&&s!=i){for(t=e.createPositionAfter(n),(o=e.createPositionBefore(s)).isEqual(t)||e.insert(n,o);t.parent.isEmpty;){const o=t.parent;t=e.createPositionBefore(o),e.remove(o)}o=e.createPositionBefore(s),function(e,t){const o=t.nodeBefore,i=t.nodeAfter;o.name!=i.name&&e.rename(o,i.name);e.clearAttributes(o),e.setAttributes(Object.fromEntries(i.getAttributes()),o),e.merge(t)}(e,o),Ha(e.model.schema,t,o)&&$a(e,t,o,i)}}function Ha(e,t,o){const i=t.parent,n=o.parent;return i!=n&&(!e.isLimit(i)&&!e.isLimit(n)&&function(e,t,o){const i=new us(e,t);for(const e of i.getWalker())if(o.isLimit(e.item))return!1;return!0}(t,o,e))}function Wa(e,t,o,i={}){const n=e.createElement("paragraph");e.model.schema.setAllowedAttributes(n,i,e),e.insert(n,t),Ua(e,o,e.createPositionAt(n,0))}function Ua(e,t,o){t instanceof Os?e.setSelection(o):t.setTo(o)}function Ka(e,t){const o=[];Array.from(e.getItems({direction:"backward"})).map((e=>t.createRangeOn(e))).filter((t=>(t.start.isAfter(e.start)||t.start.isEqual(e.start))&&(t.end.isBefore(e.end)||t.end.isEqual(e.end)))).forEach((e=>{o.push(e.start.parent),t.remove(e)})),o.forEach((e=>{let o=e;for(;o.parent&&o.isEmpty;){const e=t.createRangeOn(o);o=o.parent,t.remove(e)}}))}class Ga{model;writer;position;canMergeWith;schema;_documentFragment;_documentFragmentPosition;_firstNode=null;_lastNode=null;_lastAutoParagraph=null;_filterAttributesAndChildrenOf=[];_affectedStart=null;_affectedEnd=null;_nodeToSelect=null;constructor(e,t,o){this.model=e,this.writer=t,this.position=o,this.canMergeWith=new Set([this.position.parent]),this.schema=e.schema,this._documentFragment=t.createDocumentFragment(),this._documentFragmentPosition=t.createPositionAt(this._documentFragment,0)}handleNodes(e){for(const t of Array.from(e))t.offsetSize>0&&this._handleNode(t);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesAndChildrenOf,this.writer),!1!==this.model._config?.get("experimentalFlags.modelInsertContentDeepSchemaVerification")&&this._removeDisallowedChildren(this._filterAttributesAndChildrenOf),this._filterAttributesAndChildrenOf=[]}_removeDisallowedChildren(e){const t=Array.from(e);for(const e of t){if(!e.is("element"))continue;const o=[],i=[],n=this.writer.createRangeIn(e).getWalker({ignoreElementEnd:!0});for(const{item:e}of n){const s=e.parent;this.schema.checkChild(s,e)||(e.is("element")&&!this.schema.isObject(e)?(i.push(e),t.push(s)):o.push(e),n.jumpTo(this.writer.createPositionAfter(e)))}for(const e of i)this.writer.unwrap(e);for(const e of o)this.writer.remove(e)}}_updateLastNodeFromAutoParagraph(e){const t=this.writer.createPositionAfter(this._lastNode),o=this.writer.createPositionAfter(e);if(o.isAfter(t)){if(this._lastNode=e,this.position.parent!=e||!this.position.isAtEnd)throw new fe("insertcontent-invalid-insertion-position",this);this.position=o,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?us._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new us(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(e){this._checkAndSplitToAllowedPosition(e)?(e=this._appendToFragment(e),this._firstNode||(this._firstNode=e),this._lastNode=e):this.schema.isObject(e)||this._handleDisallowedNode(e)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const e=ma.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=e.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=e.toPosition(),e.detach()}_handleDisallowedNode(e){e.is("element")&&this.handleNodes(e.getChildren())}_appendToFragment(e){if(!this.schema.checkChild(this.position,e))throw new fe("insertcontent-wrong-position",this,{node:e,position:this.position});return this.writer.insert(e,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(e.offsetSize),e.parent||(e=this._documentFragmentPosition.nodeBefore),this.schema.isObject(e)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=e:this._nodeToSelect=null,this._filterAttributesAndChildrenOf.push(e),e}_setAffectedBoundaries(e){this._affectedStart||(this._affectedStart=ma.fromPosition(e,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(e)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=ma.fromPosition(e,"toNext"))}_mergeOnLeft(){const e=this._firstNode;if(!(e instanceof Ms))return;if(!this._canMergeLeft(e))return;const t=ma._createBefore(e);t.stickiness="toNext";const o=ma.fromPosition(this.position,"toNext");this._affectedStart.isEqual(t)&&(this._affectedStart.detach(),this._affectedStart=ma._createAt(t.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=ma._createAt(t.nodeBefore,"end","toNext")),this.position=o.toPosition(),o.detach(),this._filterAttributesAndChildrenOf.push(this.position.parent),t.detach()}_mergeOnRight(){const e=this._lastNode;if(!(e instanceof Ms))return;if(!this._canMergeRight(e))return;const t=ma._createAfter(e);if(t.stickiness="toNext",!this.position.isEqual(t))throw new fe("insertcontent-invalid-insertion-position",this);this.position=ss._createAt(t.nodeBefore,"end");const o=ma.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(t)&&(this._affectedEnd.detach(),this._affectedEnd=ma._createAt(t.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=ma._createAt(t.nodeBefore,0,"toPrevious")),this.position=o.toPosition(),o.detach(),this._filterAttributesAndChildrenOf.push(this.position.parent),t.detach()}_canMergeLeft(e){const t=e.previousSibling;return t instanceof Ms&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(t,e)}_canMergeRight(e){const t=e.nextSibling;return t instanceof Ms&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(e,t)}_insertAutoParagraph(){this._insertPartialFragment();const e=this.writer.createElement("paragraph");this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0)}_checkAndSplitToAllowedPosition(e){const t=this._getAllowedIn(this.position.parent,e);if(!t)return!1;for(t!=this.position.parent&&this._insertPartialFragment();t!=this.position.parent;)if(this.position.isAtStart){const e=this.position.parent;this.position=this.writer.createPositionBefore(e),e.isEmpty&&e.parent===t&&this.writer.remove(e)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const e=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=e,this.canMergeWith.add(this.position.nodeAfter)}return this.schema.checkChild(this.position.parent,e)||this._insertAutoParagraph(),!0}_getAllowedIn(e,t){const o=this.schema.createContext(e);return this.schema.checkChild(o,t)||this.schema.checkChild(o,"paragraph")&&this.schema.checkChild(o.push("paragraph"),t)?e:this.schema.isLimit(e)?null:this._getAllowedIn(e.parent,t)}}function Ja(e,t,o,i={}){if(!e.schema.isObject(t))throw new fe("insertobject-element-not-an-object",e,{object:t});const n=o||e.document.selection;let s=n;i.findOptimalPosition&&e.schema.isBlock(t)&&(s=e.createSelection(e.schema.findOptimalInsertionRange(n,i.findOptimalPosition)));const r=to(n.getSelectedBlocks()),a={};return r&&Object.assign(a,e.schema.getAttributesWithProperty(r,"copyOnReplace",!0)),e.change((o=>{s.isCollapsed||e.deleteContent(s,{doNotAutoparagraph:!0});let n=t;const r=s.anchor.parent,l=e.schema.createContext(r);!e.schema.checkChild(l,t)&&e.schema.checkChild(l,"paragraph")&&e.schema.checkChild(l.push("paragraph"),t)&&(n=o.createElement("paragraph"),o.insert(t,n)),e.schema.setAllowedAttributes(n,a,o);const c=e.insertContent(n,s);return c.isCollapsed||i.setSelection&&function(e,t,o,i){const n=e.model;if("on"==o)return void e.setSelection(t,"on");if("after"!=o)throw new fe("insertobject-invalid-place-parameter-value",n);let s=t.nextSibling;if(n.schema.isInline(t))return void e.setSelection(t,"after");const r=s&&n.schema.checkChild(s,"$text");!r&&n.schema.checkChild(t.parent,"paragraph")&&(s=e.createElement("paragraph"),n.schema.setAllowedAttributes(s,i,e),n.insertContent(s,e.createPositionAfter(t)));s&&e.setSelection(s,0)}(o,t,i.setSelection,a),c}))}function Za(e,t){const{isForward:o,walker:i,unit:n,schema:s,treatEmojiAsSingleUnit:r}=e,{type:a,item:l,nextPosition:c}=t;if("text"==a)return"word"===e.unit?function(e,t){let o=e.position.textNode;o||(o=t?e.position.nodeAfter:e.position.nodeBefore);for(;o&&o.is("$text");){const i=e.position.offset-o.startOffset;if(Xa(o,i,t))o=t?e.position.nodeAfter:e.position.nodeBefore;else{if(Ya(o.data,i,t))break;e.next()}}return e.position}(i,o):function(e,t,o){const i=e.position.textNode;if(i){const n=i.data;let s=e.position.offset-i.startOffset;for(;ho(n,s)||"character"==t&&mo(n,s)||o&&po(n,s);)e.next(),s=e.position.offset-i.startOffset}return e.position}(i,n,r);if(a==(o?"elementStart":"elementEnd")){if(s.isSelectable(l))return ss._createAt(l,o?"after":"before");if(s.checkChild(c,"$text"))return c}else{if(s.isLimit(l))return void i.skip((()=>!0));if(s.checkChild(c,"$text"))return c}}function Qa(e,t){const o=e.root,i=ss._createAt(o,t?"end":0);return t?new us(e,i):new us(i,e)}function Ya(e,t,o){const i=t+(o?0:-1);return' ,.?!:;"-()'.includes(e.charAt(i))}function Xa(e,t,o){return t===(o?e.offsetSize:0)}class el extends(Be()){markers;document;schema;_config;_pendingChanges;_currentWriter;constructor(e){super(),this.markers=new Ta,this.document=new xa(this),this.schema=new mr,this._config=e,this._pendingChanges=[],this._currentWriter=null,["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((e=>this.decorate(e))),this.on("applyOperation",((e,t)=>{t[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck((()=>!0),"$marker"),Na(this),this.document.registerPostFixer(or),this.on("insertContent",((e,[t,o])=>{e.return=function(e,t,o){return e.change((i=>{const n=o||e.document.selection;n.isCollapsed||e.deleteContent(n,{doNotAutoparagraph:!0});const s=new Ga(e,i,n.anchor),r=[];let a;if(t.is("documentFragment")){if(t.markers.size){const e=[];for(const[o,i]of t.markers){const{start:t,end:n}=i,s=t.isEqual(n);e.push({position:t,name:o,isCollapsed:s},{position:n,name:o,isCollapsed:s})}e.sort((({position:e},{position:t})=>e.isBefore(t)?1:-1));for(const{position:o,name:n,isCollapsed:s}of e){let e=null,a=null;const l=o.parent===t&&o.isAtStart,c=o.parent===t&&o.isAtEnd;l||c?s&&(a=l?"start":"end"):(e=i.createElement("$marker"),i.insert(e,o)),r.push({name:n,element:e,collapsed:a})}}a=t.getChildren()}else a=[t];s.handleNodes(a);let l=s.getSelectionRange();if(t.is("documentFragment")&&r.length){const e=l?Ts.fromRange(l):null,t={};for(let e=r.length-1;e>=0;e--){const{name:o,element:n,collapsed:a}=r[e],l=!t[o];if(l&&(t[o]=[]),n){const e=i.createPositionAt(n,"before");t[o].push(e),i.remove(n)}else{const e=s.getAffectedRange();if(!e){a&&t[o].push(s.position);continue}a?t[o].push(e[a]):t[o].push(l?e.start:e.end)}}for(const[e,[o,n]]of Object.entries(t))o&&n&&o.root===n.root&&o.root.document&&!i.model.markers.has(e)&&i.addMarker(e,{usingOperation:!0,affectsData:!0,range:new us(o,n)});e&&(l=e.toRange(),e.detach())}l&&(n instanceof Os?i.setSelection(l):n.setTo(l));const c=s.getAffectedRange()||e.createRange(n.anchor);return s.destroy(),c}))}(this,t,o)})),this.on("insertObject",((e,[t,o,i])=>{e.return=Ja(this,t,o,i)})),this.on("canEditAt",(e=>{const t=!this.document.isReadOnly;e.return=t,t||e.stop()}))}change(e){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new fa,callback:e}),this._runPendingChanges()[0]):e(this._currentWriter)}catch(e){fe.rethrowUnexpectedError(e,this)}}enqueueChange(e,t){try{e?"function"==typeof e?(t=e,e=new fa):e instanceof fa||(e=new fa(e)):e=new fa,this._pendingChanges.push({batch:e,callback:t}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(e){fe.rethrowUnexpectedError(e,this)}}applyOperation(e){e._execute()}insertContent(e,t,o,...i){const n=tl(t,o);return this.fire("insertContent",[e,n,o,...i])}insertObject(e,t,o,i,...n){const s=tl(t,o);return this.fire("insertObject",[e,s,i,i,...n])}deleteContent(e,t){ja(this,e,t)}modifySelection(e,t){!function(e,t,o={}){const i=e.schema,n="backward"!=o.direction,s=o.unit?o.unit:"character",r=!!o.treatEmojiAsSingleUnit,a=t.focus,l=new is({boundaries:Qa(a,n),singleCharacters:!0,direction:n?"forward":"backward"}),c={walker:l,schema:i,isForward:n,unit:s,treatEmojiAsSingleUnit:r};let d;for(;d=l.next();){if(d.done)return;const o=Za(c,d.value);if(o)return void(t instanceof Os?e.change((e=>{e.setSelectionFocus(o)})):t.setFocus(o))}}(this,e,t)}getSelectedContent(e){return function(e,t){return e.change((e=>{const o=e.createDocumentFragment(),i=t.getFirstRange();if(!i||i.isCollapsed)return o;const n=i.start.root,s=i.start.getCommonPath(i.end),r=n.getNodeByPath(s);let a;a=i.start.parent==i.end.parent?i:e.createRange(e.createPositionAt(r,i.start.path[s.length]),e.createPositionAt(r,i.end.path[s.length]+1));const l=a.end.offset-a.start.offset;for(const t of a.getItems({shallow:!0}))t.is("$textProxy")?e.appendText(t.data,t.getAttributes(),o):e.append(e.cloneElement(t,!0),o);if(a!=i){const t=i._getTransformedByMove(a.start,e.createPositionAt(o,0),l)[0],n=e.createRange(e.createPositionAt(o,0),t.start);Ka(e.createRange(t.end,e.createPositionAt(o,"end")),e),Ka(n,e)}return o}))}(this,e)}hasContent(e,t={}){let o;o=e.is("selection")?Array.from(e.getRanges()):e.is("range")?[e]:[us._createIn(e)];for(const e of o)if(this._rangeHasContent(e,t))return!0;return!1}_rangeHasContent(e,t){if(e.isCollapsed)return!1;const{ignoreWhitespaces:o=!1,ignoreMarkers:i=!1}=t;if(!i)for(const t of this.markers.getMarkersIntersectingRange(e))if(t.affectsData)return!0;for(const t of e.getItems())if(this.schema.isContent(t)){if(!t.is("$textProxy"))return!0;if(!o)return!0;if(-1!==t.data.search(/\S/))return!0}return!1}canEditAt(e){const t=tl(e);return this.fire("canEditAt",[t])}createPositionFromPath(e,t,o){return new ss(e,t,o)}createPositionAt(e,t){return ss._createAt(e,t)}createPositionAfter(e){return ss._createAfter(e)}createPositionBefore(e){return ss._createBefore(e)}createRange(e,t){return new us(e,t)}createRangeIn(e){return us._createIn(e)}createRangeOn(e){return us._createOn(e)}createSelection(...e){return new _s(...e)}createBatch(e){return new fa(e)}createOperationFromJSON(e){return ea.fromJSON(e,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const e=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const t=this._pendingChanges[0].batch;this._currentWriter=new Ra(this,t);const o=this._pendingChanges[0].callback(this._currentWriter);e.push(o),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return e}}function tl(e,t){if(e)return e instanceof _s||e instanceof Os?e:e instanceof ys?t||0===t?new _s(e,t):e.is("rootElement")?new _s(e,"in"):new _s(e,"on"):new _s(e)}class ol extends jn{domEventType="click";onDomEvent(e){this.fire(e.type,e)}}class il extends jn{domEventType=["mousedown","mouseup","mouseover","mouseout"];onDomEvent(e){this.fire(e.type,e)}}class nl extends jn{domEventType=["touchstart","touchend","touchmove"];onDomEvent(e){this.fire(e.type,e)}}class sl extends jn{domEventType=["pointerdown","pointerup","pointermove"];onDomEvent(e){this.fire(e.type,e)}}class rl{document;constructor(e){this.document=e}createDocumentFragment(e){return new tn(this.document,e)}createElement(e,t,o){return new _i(this.document,e,t,o)}createText(e){return new si(this.document,e)}clone(e,t=!1){return e._clone(t)}appendChild(e,t){return t._appendChild(e)}insertChild(e,t,o){return o._insertChild(e,t)}removeChildren(e,t,o){return o._removeChildren(e,t)}remove(e){const t=e.parent;return t?this.removeChildren(t.getChildIndex(e),1,t):[]}replace(e,t){const o=e.parent;if(o){const i=o.getChildIndex(e);return this.removeChildren(i,1,o),this.insertChild(i,t,o),!0}return!1}unwrapElement(e){const t=e.parent;if(t){const o=t.getChildIndex(e);this.remove(e),this.insertChild(o,e.getChildren(),t)}}rename(e,t){const o=new _i(this.document,e,t.getAttributes(),t.getChildren());return this.replace(t,o)?o:null}setAttribute(e,t,o){o._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,o){a(e)&&void 0===o?t._setStyle(e):o._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,o){o._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}createPositionAt(e,t){return Si._createAt(e,t)}createPositionAfter(e){return Si._createAfter(e)}createPositionBefore(e){return Si._createBefore(e)}createRange(e,t){return new Ii(e,t)}createRangeOn(e){return Ii._createOn(e)}createRangeIn(e){return Ii._createIn(e)}createSelection(...e){return new Oi(...e)}}const al=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ll=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,cl=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,dl=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,ul=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,hl=/\w+\((?:[^()]|\([^()]*\))*\)|\S+/gi,ml=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function gl(e){return e.startsWith("#")?al.test(e):e.startsWith("rgb")?ll.test(e)||cl.test(e):e.startsWith("hsl")?dl.test(e)||ul.test(e):ml.has(e.toLowerCase())}const pl=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function fl(e){return pl.includes(e)}const bl=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function wl(e){return bl.test(e)}const yl=/^[+-]?[0-9]*([.][0-9]+)?%$/;function _l(e){return yl.test(e)}const kl=["auto","cover","contain"];const vl=["repeat-x","repeat-y","repeat","space","round","no-repeat"];const Cl=["center","top","bottom","left","right"];function Al(e){return Cl.includes(e)}const xl=["fixed","scroll","local"];function El(e){return xl.includes(e)}const Tl=["border-box","padding-box","content-box"];function Pl(e){return Tl.includes(e)}const Sl=["border-box","padding-box","content-box","text"];function Il(e){return Sl.includes(e)}function Rl(e=""){if(""===e)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const t=Fl(e),o=t[0],i=t[2]||o,n=t[1]||o;return{top:o,bottom:i,right:n,left:t[3]||n}}function Ol(e){return t=>{const{top:o,right:i,bottom:n,left:s}=t,r=[];return[o,i,s,n].every((e=>!!e))?r.push([e,Vl(t)]):(o&&r.push([e+"-top",o]),i&&r.push([e+"-right",i]),n&&r.push([e+"-bottom",n]),s&&r.push([e+"-left",s])),r}}function Vl({top:e,right:t,bottom:o,left:i}){const n=[];return i!==t?n.push(e,t,o,i):o!==e?n.push(e,t,o):t!==e?n.push(e,t):n.push(e),n.join(" ")}function Dl(e){return t=>({path:e,value:Rl(t)})}function Fl(e){const t=e.trim().slice(0,1500).matchAll(hl);return Array.from(t).map((e=>e[0]))}const Ml={image:"none",repeat:"repeat",position:"0% 0%",size:"auto",origin:"padding-box",clip:"border-box",attachment:"scroll"},Nl=["linear-gradient","repeating-linear-gradient","radial-gradient","repeating-radial-gradient","conic-gradient","repeating-conic-gradient","url"];function Bl(e){e.setNormalizer("background-color",(e=>({path:"background.color",value:e})));for(const t in Ml)e.setNormalizer(`background-${t}`,Ll(`background.${t}`)),e.setReducer(`background-${t}`,zl(`background-${t}`));e.setNormalizer("background",(e=>{const t=function(e){return $l(e).map(jl).filter((e=>null!==e))}(e);t.length||t.push({...ql(),color:e});const o=function(e){const t={image:[],position:[],size:[],repeat:[],attachment:[],origin:[],clip:[]};for(const o of e)t.position.push(o.position.join(" ")),t.size.push(o.size.join(" ")),t.repeat.push(o.repeat.join(" ")),t.image.push(o.image),t.attachment.push(o.attachment),t.origin.push(o.origin),t.clip.push(o.clip);return e.at(-1)?.color&&(t.color=e.at(-1).color),t}(t);return{path:"background",value:o}})),e.setReducer("background",(e=>{const t=e,o=Object.keys(Ml).every((e=>{const o=t[e];return void 0!==o&&(!Array.isArray(o)||o.length>0)}));return o?function(e){const t=[],o=function(e){const t=function(e){let t=0;for(const o of Object.values(e))Array.isArray(o)&&o.length>t&&(t=o.length);return t}(e),o=Array.from({length:t},((t,o)=>{const i=ql();return e.image?.[o]&&(i.image=e.image[o]),e.position?.[o]&&(i.position=e.position[o].split(" ")),e.size?.[o]&&(i.size=e.size[o].split(" ")),e.repeat?.[o]&&(i.repeat=e.repeat[o].split(" ")),e.attachment?.[o]&&(i.attachment=e.attachment[o]),e.origin?.[o]&&(i.origin=e.origin[o]),e.clip?.[o]&&(i.clip=e.clip[o]),i}));return e.color&&(o.at(-1).color=e.color),o}(e).map((e=>function(e){const t=[];e.image&&e.image!==Ml.image&&t.push(e.image);const o=e.position.join(" "),i=!o||o===Ml.position;i||t.push(o);const n=e.size.join(" ");n&&n!==Ml.size&&(i&&t.push("0% 0%"),t.push("/",n));const s=e.repeat.join(" ");s&&s!==Ml.repeat&&t.push(s),e.attachment&&e.attachment!==Ml.attachment&&t.push(e.attachment);const r=e.origin===Ml.origin,a=e.clip===Ml.clip;return r&&a||(t.push(e.origin),e.clip!==e.origin&&t.push(e.clip)),e.color&&t.push(e.color),t.join(" ")}(e).trim())).filter(Boolean).join(", ");return o&&t.push(["background",o]),t}(t):function(e){const t=[];for(const o in Ml){const i=e[o];Array.isArray(i)&&t.push([`background-${o}`,i.join(", ")])}return void 0!==e.color&&t.push(["background-color",e.color]),t}(t)})),e.setStyleRelation("background",["background-color","background-image","background-repeat","background-position","background-size","background-attachment","background-origin","background-clip"])}function Ll(e){return t=>({path:e,value:$l(t)})}function zl(e){return t=>{const o=t.join(", ");return[[e,o]]}}function jl(e){const t={},{value:o,image:i}=function(e){for(const t of Nl){const o=t+"(",i=e.indexOf(o);if(i<0)continue;let n=t,s=0;for(let o=i+t.length;o"constructor"!==e)).length:0===t.length}return!0}(t)?null:{...ql(),...t}}function ql(){return{attachment:Ml.attachment,image:Ml.image,origin:Ml.origin,clip:Ml.clip,position:Ml.position.split(" "),repeat:Ml.repeat.split(" "),size:Ml.size.split(" ")}}function $l(e){const t=[];let o="",i=0;for(const n of e){if("("===n)i++;else if(")"===n)i--;else if(","===n&&0===i){t.push(o.trim()),o="";continue}o+=n}return o.trim()&&t.push(o.trim()),t}function Hl(e){e.setNormalizer("border",(e=>{const{color:t,style:o,width:i}=Ql(e);return{path:"border",value:{color:Rl(t),style:Rl(o),width:Rl(i)}}})),e.setNormalizer("border-top",Wl("top")),e.setNormalizer("border-right",Wl("right")),e.setNormalizer("border-bottom",Wl("bottom")),e.setNormalizer("border-left",Wl("left")),e.setNormalizer("border-color",Ul("color")),e.setNormalizer("border-width",Ul("width")),e.setNormalizer("border-style",Ul("style")),e.setNormalizer("border-top-color",Gl("color","top")),e.setNormalizer("border-top-style",Gl("style","top")),e.setNormalizer("border-top-width",Gl("width","top")),e.setNormalizer("border-right-color",Gl("color","right")),e.setNormalizer("border-right-style",Gl("style","right")),e.setNormalizer("border-right-width",Gl("width","right")),e.setNormalizer("border-bottom-color",Gl("color","bottom")),e.setNormalizer("border-bottom-style",Gl("style","bottom")),e.setNormalizer("border-bottom-width",Gl("width","bottom")),e.setNormalizer("border-left-color",Gl("color","left")),e.setNormalizer("border-left-style",Gl("style","left")),e.setNormalizer("border-left-width",Gl("width","left")),e.setExtractor("border-top",Jl("top")),e.setExtractor("border-right",Jl("right")),e.setExtractor("border-bottom",Jl("bottom")),e.setExtractor("border-left",Jl("left")),e.setExtractor("border-top-color","border.color.top"),e.setExtractor("border-right-color","border.color.right"),e.setExtractor("border-bottom-color","border.color.bottom"),e.setExtractor("border-left-color","border.color.left"),e.setExtractor("border-top-width","border.width.top"),e.setExtractor("border-right-width","border.width.right"),e.setExtractor("border-bottom-width","border.width.bottom"),e.setExtractor("border-left-width","border.width.left"),e.setExtractor("border-top-style","border.style.top"),e.setExtractor("border-right-style","border.style.right"),e.setExtractor("border-bottom-style","border.style.bottom"),e.setExtractor("border-left-style","border.style.left"),e.setReducer("border-color",Ol("border-color")),e.setReducer("border-style",Ol("border-style")),e.setReducer("border-width",Ol("border-width")),e.setReducer("border-top",Yl("top")),e.setReducer("border-right",Yl("right")),e.setReducer("border-bottom",Yl("bottom")),e.setReducer("border-left",Yl("left")),e.setReducer("border",function(){return t=>{const o=Zl(t,"top"),i=Zl(t,"right"),n=Zl(t,"bottom"),s=Zl(t,"left"),r=[o,i,n,s],a={width:e(r,"width"),style:e(r,"style"),color:e(r,"color")},l=Xl(a,"all");if(l.length)return l;const c=Object.entries(a).reduce(((e,[t,o])=>(o&&(e.push([`border-${t}`,o]),r.forEach((e=>delete e[t]))),e)),[]);return[...c,...Xl(o,"top"),...Xl(i,"right"),...Xl(n,"bottom"),...Xl(s,"left")]};function e(e,t){return e.map((e=>e[t])).reduce(((e,t)=>e==t?e:null))}}()),e.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),e.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),e.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),e.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),e.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),e.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function Wl(e){return t=>{const{color:o,style:i,width:n}=Ql(t),s={};return void 0!==o&&(s.color={[e]:o}),void 0!==i&&(s.style={[e]:i}),void 0!==n&&(s.width={[e]:n}),{path:"border",value:s}}}function Ul(e){return t=>({path:"border",value:Kl(t,e)})}function Kl(e,t){return{[t]:Rl(e)}}function Gl(e,t){return o=>({path:"border",value:{[e]:{[t]:o}}})}function Jl(e){return(t,o)=>{if(o.border)return Zl(o.border,e)}}function Zl(e,t){const o={};return e.width&&e.width[t]&&(o.width=e.width[t]),e.style&&e.style[t]&&(o.style=e.style[t]),e.color&&e.color[t]&&(o.color=e.color[t]),o}function Ql(e){const t={},o=Fl(e);for(const e of o)wl(e)||/thin|medium|thick/.test(e)?t.width=e:fl(e)?t.style=e:t.color=e;return t}function Yl(e){return t=>Xl(t,e)}function Xl(e,t){const o=[];if(e&&e.width&&o.push("width"),e&&e.style&&o.push("style"),e&&e.color&&o.push("color"),3==o.length){const i=o.map((t=>e[t])).join(" ");return["all"==t?["border",i]:[`border-${t}`,i]]}return"all"==t?[]:o.map((o=>[`border-${t}-${o}`,e[o]]))}function ec(e){e.setNormalizer("margin",Dl("margin")),e.setNormalizer("margin-top",(e=>({path:"margin.top",value:e}))),e.setNormalizer("margin-right",(e=>({path:"margin.right",value:e}))),e.setNormalizer("margin-bottom",(e=>({path:"margin.bottom",value:e}))),e.setNormalizer("margin-left",(e=>({path:"margin.left",value:e}))),e.setReducer("margin",Ol("margin")),e.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function tc(e){e.setNormalizer("padding",Dl("padding")),e.setNormalizer("padding-top",(e=>({path:"padding.top",value:e}))),e.setNormalizer("padding-right",(e=>({path:"padding.right",value:e}))),e.setNormalizer("padding-bottom",(e=>({path:"padding.bottom",value:e}))),e.setNormalizer("padding-left",(e=>({path:"padding.left",value:e}))),e.setReducer("padding",Ol("padding")),e.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}Symbol("_treeDump");function oc(e,t=0,o={}){const{leading:i=!0,trailing:n=!0}=o;return zo(e,t,{leading:i,maxWait:t,trailing:n})}class ic{crashes=[];state="initializing";_crashNumberLimit;_now=Date.now;_minimumNonErrorTimePeriod;_boundErrorHandler;_listeners;constructor(e){if(this.crashes=[],this._crashNumberLimit="number"==typeof e.crashNumberLimit?e.crashNumberLimit:3,this._minimumNonErrorTimePeriod="number"==typeof e.minimumNonErrorTimePeriod?e.minimumNonErrorTimePeriod:5e3,this._boundErrorHandler=e=>{const t="error"in e?e.error:e.reason;t instanceof Error&&this._handleError(t,e)},this._listeners={},!this._restart)throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}destroy(){this._stopErrorHandling(),this._listeners={}}on(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)}off(e,t){this._listeners[e]=this._listeners[e].filter((e=>e!==t))}_fire(e,...t){const o=this._listeners[e]||[];for(const e of o)e.apply(this,[null,...t])}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler),window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler),window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(e,t){if(this._shouldReactToError(e)){this.crashes.push({message:e.message,stack:e.stack,filename:t instanceof ErrorEvent?t.filename:void 0,lineno:t instanceof ErrorEvent?t.lineno:void 0,colno:t instanceof ErrorEvent?t.colno:void 0,date:this._now()});const o=this._shouldRestart();this.state="crashed",this._fire("stateChange"),this._fire("error",{error:e,causesRestart:o}),o?this._restart():(this.state="crashedPermanently",this._fire("stateChange"))}}_shouldReactToError(e){return e.is&&e.is("CKEditorError")&&void 0!==e.context&&null!==e.context&&"ready"===this.state&&this._isErrorComingFromThisItem(e)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit)return!0;return(this.crashes[this.crashes.length-1].date-this.crashes[this.crashes.length-1-this._crashNumberLimit].date)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}function nc(e,t=new Set){const o=[e],i=new Set;let n=0;for(;o.length>n;){const e=o[n++];if(!i.has(e)&&sc(e)&&!t.has(e))if(i.add(e),Symbol.iterator in e)try{for(const t of e)o.push(t)}catch{}else for(const t in e)"defaultValue"!==t&&o.push(e[t])}return i}function sc(e){const t=Object.prototype.toString.call(e),o=typeof e;return!("number"===o||"boolean"===o||"string"===o||"symbol"===o||"function"===o||"[object Date]"===t||"[object RegExp]"===t||"[object Module]"===t||null==e||e._watchdogExcluded||e instanceof EventTarget||e instanceof Event)}function rc(e,t,o=new Set){if(e===t&&("object"==typeof(i=e)&&null!==i))return!0;var i;const n=nc(e,o),s=nc(t,o);for(const e of n)if(s.has(e))return!0;return!1}function ac(e,t,o){const i=t.root,n=t.roots||Object.create(null);o&&!n[o]&&(n[o]=i||Object.create(null));const s=function(e){return!!e&&"object"==typeof e&&!Array.isArray(e)&&(t=e,!L(t));var t}(e),r=function(e,t,o){return t||!o?e.initialData||Object.create(null):{[o]:e.initialData}}(t,s,o),a=Array.from(new Set([...s?Object.keys(e):[],...Object.keys(n),...Object.keys(r)]));for(const e of a){const o=n[e]||Object.create(null);o.initialData="",o.placeholder??=lc(t,"placeholder",e),o.label??=lc(t,"label",e),n[e]=o}t.roots=n}function lc(e,t,o){const i=e[t];if(i)return"string"==typeof i?i:i[o]}class cc extends ic{_editor=null;_lifecyclePromise=null;_throttledSave;_data;_lastDocumentVersion;_elementOrData;_editorAttachTo=null;_isSingleRootEditor=!0;_isUsingConfigBasedCreator=!1;_editables={};_config;_excludedProps;constructor(e,t={}){super(t),this._throttledSave=oc(this._save.bind(this),"number"==typeof t.saveInterval?t.saveInterval:5e3),e&&(this._creator=(t,o)=>void 0===o?e.create(t):e.create(t,o)),this._destructor=e=>e.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(e){this._creator=e}setDestructor(e){this._destructor=e}_restart(){return Promise.resolve().then((()=>(this.state="initializing",this._fire("stateChange"),this._destroy()))).catch((e=>{console.error("An error happened during the editor destroying.",e)})).then((()=>{this._isUsingConfigBasedCreator?ac(this._isSingleRootEditor?"":{},this._config,!!this._isSingleRootEditor&&"main"):ac(this._isSingleRootEditor?this._editorAttachTo||"":this._editables,this._config,!!this._isSingleRootEditor&&"main");const e={...this._config,extraPlugins:this._config.extraPlugins||[],_watchdogInitialData:this._data};e.extraPlugins.push(dc);const t={};for(const[o,i]of Object.entries(this._data.roots)){const n=e.roots[o]||Object.create(null);n.initialData="",i.isLoaded?n.lazyLoad=!1:delete n.modelAttributes,t[o]=n}if(e.roots=t,delete e.initialData,delete e.root,this._isUsingConfigBasedCreator)return this.create(e,e.context);const o=this._isSingleRootEditor?this._editorAttachTo||"":this._editables;return this.create(o,e,e.context)})).then((()=>{this._fire("restart")}))}create(e=(this._isUsingConfigBasedCreator?this._config:this._elementOrData),t=(this._isUsingConfigBasedCreator?void 0:this._config),o){const i=this._detectConfigBasedCreator(e,t),n=i?void 0:e,s=i?e:t,r=i?t:o;return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>{if(super._startErrorHandling(),this._isUsingConfigBasedCreator=i,this._elementOrData=n,this._config=this._cloneEditorConfiguration(s||{}),this._config.context=r,i){this._editorAttachTo=null;const e=this._config.roots?Object.keys(this._config.roots).length:0,t=this._config.initialData,o=t&&"object"==typeof t;this._isSingleRootEditor=!o&&e<=1}else this._editorAttachTo=uc(n)?n:null,this._isSingleRootEditor=uc(n)||"string"==typeof n;return i?this._creator(this._config):this._creator(n,this._config)})).then((e=>{this._editor=e,e.model.document.on("change:data",this._throttledSave),this._lastDocumentVersion=e.model.document.version,this._data=this._getData(),this._editorAttachTo||(this._editables=this._getEditables()),this.state="ready",this._fire("stateChange")})).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}destroy(){return this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))).finally((()=>{this._lifecyclePromise=null})),this._lifecyclePromise}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling(),this._throttledSave.cancel();const e=this._editor;return this._editor=null,e.model.document.off("change:data",this._throttledSave),this._destructor(e)}))}_save(){const e=this._editor.model.document.version;try{this._data=this._getData(),this._editorAttachTo||(this._editables=this._getEditables()),this._lastDocumentVersion=e}catch(e){console.error(e,"An error happened during restoring editor data. Editor will be restored from the previously saved data.")}}_setExcludedProperties(e){this._excludedProps=e}_getData(){const e=this._editor,t=e.model.document.roots.filter((e=>e.isAttached()&&"$graveyard"!=e.rootName)),{plugins:o}=e,i=o.has("CommentsRepository")&&o.get("CommentsRepository"),n=o.has("TrackChanges")&&o.get("TrackChanges"),s={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};t.forEach((e=>{s.roots[e.rootName]={content:JSON.stringify(Array.from(e.getChildren())),attributes:JSON.stringify(Array.from(e.getAttributes())),isLoaded:e._isLoaded}}));for(const t of e.model.markers)t._affectsData&&(s.markers[t.name]={rangeJSON:t.getRange().toJSON(),usingOperation:t._managedUsingOperations,affectsData:t._affectsData});return i&&(s.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),n&&(s.suggestions=JSON.stringify(n.getSuggestions({toJSON:!0,skipNotAttached:!0}))),s}_getEditables(){const e={};for(const t of this.editor.model.document.getRootNames()){const o=this.editor.ui.getEditableElement(t);o&&(e[t]=o)}return e}_isErrorComingFromThisItem(e){return rc(this._editor,e.context,this._excludedProps)}_detectConfigBasedCreator(e,t){if("string"==typeof e||uc(e))return!1;if(t&&"object"==typeof t&&!("destroy"in t)&&Object.keys(t).length>0)return!1;if(e&&"object"==typeof e){const t=Object.values(e);if(t.length>0&&t.every((e=>"string"==typeof e||uc(e))))return!1}return!0}_cloneEditorConfiguration(e){return N(e,((e,t)=>uc(e)||"context"===t?e:void 0))}}class dc{editor;_data;constructor(e){this.editor=e,this._data=e.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",(e=>{e.stop(),this.editor.model.enqueueChange({isUndoable:!1},(e=>{this._restoreCollaborationData(),this._restoreEditorData(e)})),this.editor.data.fire("ready")}),{priority:999})}_createNode(e,t){if("name"in t){const o=e.createElement(t.name,t.attributes);if(t.children)for(const i of t.children)o._appendChild(this._createNode(e,i));return o}return e.createText(t.data,t.attributes)}_restoreEditorData(e){const t=this.editor;Object.entries(this._data.roots).forEach((([o,{content:i,attributes:n}])=>{const s=JSON.parse(i),r=JSON.parse(n),a=t.model.document.getRoot(o);for(const[t,o]of r)e.setAttribute(t,o,a);for(const t of s){const o=this._createNode(e,t);e.insert(o,a,"end")}})),Object.entries(this._data.markers).forEach((([o,i])=>{const{document:n}=t.model,{rangeJSON:{start:s,end:r},...a}=i,l=n.getRoot(s.root),c=e.createPositionFromPath(l,s.path,s.stickiness),d=e.createPositionFromPath(l,r.path,r.stickiness),u=e.createRange(c,d);e.addMarker(o,{range:u,...a})}))}_restoreCollaborationData(){const e=JSON.parse(this._data.commentThreads),t=JSON.parse(this._data.suggestions);if(this.editor.plugins.has("CommentsRepository")){const t=this.editor.plugins.get("CommentsRepository");for(const e of t.getCommentThreads())t._removeCommentThread({threadId:e.id});e.forEach((e=>{const t=this.editor.config.get("collaboration.channelId");this.editor.plugins.get("CommentsRepository").addCommentThread({channelId:t,...e})}))}if(this.editor.plugins.has("TrackChangesEditing")){const e=this.editor.plugins.get("TrackChangesEditing");for(const t of e.getSuggestions())e._removeSuggestion(t);t.forEach((t=>{e.addSuggestionData(t)}))}}}function uc(e){return L(e)}const hc=Symbol("MainQueueId");class mc extends ic{_watchdogs=new Map;_watchdogConfig;_context=null;_contextProps=new Set;_actionQueues=new gc;_contextConfig;_item;constructor(e,t={}){super(t),this._watchdogConfig=t,this._creator=t=>e.create(t),this._destructor=e=>e.destroy(),this._actionQueues.onEmpty((()=>{"initializing"===this.state&&(this.state="ready",this._fire("stateChange"))}))}setCreator(e){this._creator=e}setDestructor(e){this._destructor=e}get context(){return this._context}create(e={}){return this._actionQueues.enqueue(hc,(()=>(this._contextConfig=e,this._create())))}getItem(e){return this._getWatchdog(e)._item}getItemState(e){return this._getWatchdog(e).state}add(e){const t=pc(e);return Promise.all(t.map((e=>this._actionQueues.enqueue(e.id,(()=>{if("destroyed"===this.state)throw new Error("Cannot add items to destroyed watchdog.");if(!this._context)throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.");let t;if(this._watchdogs.has(e.id))throw new Error(`Item with the given id is already added: '${e.id}'.`);if("editor"===e.type)return t=new cc(null,this._watchdogConfig),t.setCreator(e.creator),t._setExcludedProperties(this._contextProps),e.destructor&&t.setDestructor(e.destructor),this._watchdogs.set(e.id,t),t.on("error",((o,{error:i,causesRestart:n})=>{this._fire("itemError",{itemId:e.id,error:i}),n&&this._actionQueues.enqueue(e.id,(()=>new Promise((o=>{const i=()=>{t.off("restart",i),this._fire("itemRestart",{itemId:e.id}),o()};t.on("restart",i)}))))})),void 0!==e.sourceElementOrData?t.create(e.sourceElementOrData,e.config,this._context):t.create(e.config,this._context);throw new Error(`Not supported item type: '${e.type}'.`)})))))}remove(e){const t=pc(e);return Promise.all(t.map((e=>this._actionQueues.enqueue(e,(()=>{const t=this._getWatchdog(e);return this._watchdogs.delete(e),t.destroy()})))))}destroy(){return this._actionQueues.enqueue(hc,(()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy())))}_restart(){return this._actionQueues.enqueue(hc,(()=>(this.state="initializing",this._fire("stateChange"),this._destroy().catch((e=>{console.error("An error happened during destroying the context or items.",e)})).then((()=>this._create())).then((()=>this._fire("restart"))))))}_create(){return Promise.resolve().then((()=>(this._startErrorHandling(),this._creator(this._contextConfig)))).then((e=>(this._context=e,this._contextProps=nc(this._context),Promise.all(Array.from(this._watchdogs.values()).map((e=>(e._setExcludedProperties(this._contextProps),e._isUsingConfigBasedCreator?e.create(void 0,this._context):e.create(void 0,void 0,this._context))))))))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const e=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map((e=>e.destroy()))).then((()=>this._destructor(e)))}))}_getWatchdog(e){const t=this._watchdogs.get(e);if(!t)throw new Error(`Item with the given id was not registered: ${e}.`);return t}_isErrorComingFromThisItem(e){for(const t of this._watchdogs.values())if(t._isErrorComingFromThisItem(e))return!1;return rc(this._context,e.context)}}class gc{_onEmptyCallbacks=[];_queues=new Map;_activeActions=0;onEmpty(e){this._onEmptyCallbacks.push(e)}enqueue(e,t){const o=e===hc;this._activeActions++,this._queues.get(e)||this._queues.set(e,Promise.resolve());const i=(o?Promise.all(this._queues.values()):Promise.all([this._queues.get(hc),this._queues.get(e)])).then(t),n=i.catch((()=>{}));return this._queues.set(e,n),i.finally((()=>{this._activeActions--,this._queues.get(e)===n&&0===this._activeActions&&this._onEmptyCallbacks.forEach((e=>e()))}))}}function pc(e){return Array.isArray(e)?e:[e]}class fc extends(Be()){editor;_disableStack=new Set;constructor(e){super(),this.editor=e,this.set("isEnabled",!0)}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",bc,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",bc),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}static get isOfficialPlugin(){return!1}static get isPremiumPlugin(){return!1}}function bc(e){e.return=!1,e.stop()}class wc extends(Be()){editor;_isEnabledBasedOnSelection;_affectsData;_disableStack;static get _throwErrorWhenUsedAsAPlugin(){return!0}constructor(e){super(),this.editor=e,this.set("value",void 0),this.set("isEnabled",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.listenTo(e,"change:isReadOnly",(()=>{this.refresh()})),this.on("set:isEnabled",(t=>{if(!this.affectsData)return;const o=e.model.document.selection,i=!("$graveyard"==o.getFirstPosition().root.rootName)&&e.model.canEditAt(o);(e.isReadOnly||this._isEnabledBasedOnSelection&&!i)&&(t.return=!1,t.stop())}),{priority:"highest"}),this.on("execute",(e=>{this.isEnabled||e.stop()}),{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(e){this._affectsData=e}refresh(){this.isEnabled=!0}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",yc,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",yc),this.refresh())}execute(...e){}destroy(){this.stopListening()}}function yc(e){e.return=!1,e.stop()}class _c{_commands;constructor(){this._commands=new Map}add(e,t){this._commands.set(e,t)}get(e){return this._commands.get(e)}execute(e,...t){const o=this.get(e);if(!o)throw new fe("commandcollection-command-not-found",this,{commandName:e});return o.execute(...t)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const e of this.commands())e.destroy()}}class kc extends(xe()){_context;_plugins=new Map;_availablePlugins;_contextPlugins;constructor(e,t=[],o=[]){super(),this._context=e,this._availablePlugins=new Map;for(const e of t)e.pluginName&&this._availablePlugins.set(e.pluginName,e);this._contextPlugins=new Map;for(const[e,t]of o)this._contextPlugins.set(e,t),this._contextPlugins.set(t,e),e.pluginName&&this._availablePlugins.set(e.pluginName,e)}*[Symbol.iterator](){for(const e of this._plugins)"function"==typeof e[0]&&(yield e)}get(e){const t=this._plugins.get(e);if(!t){let t=e;throw"function"==typeof e&&(t=e.pluginName||e.name),new fe("plugincollection-plugin-not-loaded",this._context,{plugin:t})}return t}has(e){return this._plugins.has(e)}async init(e,t=[],o=[]){const i=this,n=this._context;!function e(t,o=new Set){t.forEach((t=>{a(t)&&(o.has(t)||(o.add(t),t.pluginName&&!i._availablePlugins.has(t.pluginName)&&i._availablePlugins.set(t.pluginName,t),t.requires&&e(t.requires,o)))}))}(e),u(e);const s=[...function e(t,o=new Set){return t.map((e=>a(e)?e:i._availablePlugins.get(e))).reduce(((t,i)=>o.has(i)?t:(o.add(i),i.requires&&(u(i.requires,i),e(i.requires,o).forEach((e=>t.add(e)))),t.add(i))),new Set)}(e.filter((e=>!c(e,t))))];!function(e,t){for(const o of t){if("function"!=typeof o)throw new fe("plugincollection-replace-plugin-invalid-type",null,{pluginItem:o});const t=o.pluginName;if(!t)throw new fe("plugincollection-replace-plugin-missing-name",null,{pluginItem:o});if(o.requires&&o.requires.length)throw new fe("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:t});const n=i._availablePlugins.get(t);if(!n)throw new fe("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:t});const s=e.indexOf(n);if(-1===s){if(i._contextPlugins.has(n))return;throw new fe("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:t})}if(n.requires&&n.requires.length)throw new fe("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:t});e.splice(s,1,o),i._availablePlugins.set(t,o)}}(s,o);const r=function(e){return e.map((e=>{let t=i._contextPlugins.get(e);return t=t||new e(n),i._add(e,t),t}))}(s);return await h(r,"init"),await h(r,"afterInit"),r;function a(e){return"function"==typeof e}function l(e){return a(e)&&!!e.isContextPlugin}function c(e,t){return t.some((t=>t===e||(d(e)===t||d(t)===e)))}function d(e){return a(e)?e.pluginName||e.name:e}function u(e,o=null){e.map((e=>a(e)?e:i._availablePlugins.get(e)||e)).forEach((e=>{!function(e){if("function"!=typeof e)return;if(e._throwErrorWhenUsedAsAPlugin)throw new fe("plugincollection-plugin-invalid-constructor",n,{name:e.name})}(e),function(e,t){if(a(e))return;if(t)throw new fe("plugincollection-soft-required",n,{missingPlugin:e,requiredBy:d(t)});throw new fe("plugincollection-plugin-not-found",n,{plugin:e})}(e,o),function(e,t){if(!l(t))return;if(l(e))return;throw new fe("plugincollection-context-required",n,{plugin:d(e),requiredBy:d(t)})}(e,o),function(e,o){if(!o)return;if(!c(e,t))return;throw new fe("plugincollection-required",n,{plugin:d(e),requiredBy:d(o)})}(e,o)}))}function h(e,t){return e.reduce(((e,o)=>o[t]?i._contextPlugins.has(o)?e:e.then(o[t].bind(o)):e),Promise.resolve())}}destroy(){const e=[];for(const[,t]of this)"function"!=typeof t.destroy||this._contextPlugins.has(t)||e.push(t.destroy());return Promise.all(e)}_add(e,t){this._plugins.set(e,t);const o=e.pluginName;if(o){if(this._plugins.has(o))throw new fe("plugincollection-plugin-name-conflict",null,{pluginName:o,plugin1:this._plugins.get(o).constructor,plugin2:e});this._plugins.set(o,t)}}}class vc{config;plugins;locale;t;editors;static defaultConfig;static builtinPlugins;_contextOwner=null;constructor(e){const{translations:t,...o}=e||{};this.config=new Ge(o,this.constructor.defaultConfig);const i=this.constructor.builtinPlugins;this.config.define("plugins",i),this.plugins=new kc(this,i);const n=this.config.get("language")||{};this.locale=new Xt({uiLanguage:"string"==typeof n?n:n.ui,contentLanguage:this.config.get("language.content"),translations:t}),this.t=this.locale.t,this.editors=new eo}initPlugins(){const e=this.config.get("plugins")||[],t=this.config.get("substitutePlugins")||[];for(const o of e.concat(t)){if("function"!=typeof o)throw new fe("context-initplugins-constructor-only",null,{Plugin:o});if(!0!==o.isContextPlugin)throw new fe("context-initplugins-invalid-plugin",null,{Plugin:o})}return this.plugins.init(e,[],t)}destroy(){return Promise.all(Array.from(this.editors,(e=>e.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(e,t){if(this._contextOwner)throw new fe("context-addeditor-private-context");this.editors.add(e),t&&(this._contextOwner=e)}_removeEditor(e){return this.editors.has(e)&&this.editors.remove(e),this._contextOwner===e?this.destroy():Promise.resolve()}_getEditorConfig(){const e={};for(const t of this.config.names())["plugins","removePlugins","extraPlugins"].includes(t)||(e[t]=this.config.get(t));return e}static create(e){return new Promise((t=>{const o=new this(e);t(o.initPlugins().then((()=>o)))}))}static get _throwErrorWhenUsedAsAPlugin(){return!0}}class Cc extends(Be()){context;constructor(e){super(),this.context=e}destroy(){this.stopListening()}static get isContextPlugin(){return!0}static get isOfficialPlugin(){return!1}static get isPremiumPlugin(){return!1}}class Ac extends ro{editor;constructor(e){super(),this.editor=e}set(e,t,o={}){if("string"==typeof t){const e=t;t=(t,o)=>{this.editor.execute(e),o()}}super.set(e,t,o)}}const xc="contentEditing",Ec="common";class Tc{keystrokeInfos=new Map;_editor;constructor(e){this._editor=e;const t=e.config.get("menuBar.isVisible"),o=e.locale.t;this.addKeystrokeInfoCategory({id:xc,label:o("Content editing keystrokes"),description:o("These keyboard shortcuts allow for quick access to content editing features.")});const i=[{label:o("Close contextual balloons, dropdowns, and dialogs"),keystroke:"Esc"},{label:o("Open the accessibility help dialog"),keystroke:"Alt+0"},{label:o("Move focus between form fields (inputs, buttons, etc.)"),keystroke:[["Tab"],["Shift+Tab"]]},{label:o("Move focus to the toolbar, navigate between toolbars"),keystroke:"Alt+F10",mayRequireFn:!0},{label:o("Navigate through the toolbar or menu bar"),keystroke:[["arrowup"],["arrowright"],["arrowdown"],["arrowleft"]]},{label:o("Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content."),keystroke:[["Enter"],["Space"]]}];t&&i.push({label:o("Move focus to the menu bar, navigate between menu bars"),keystroke:"Alt+F9",mayRequireFn:!0}),this.addKeystrokeInfoCategory({id:"navigation",label:o("User interface and content navigation keystrokes"),description:o("Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface."),groups:[{id:"common",keystrokes:i}]})}addKeystrokeInfoCategory({id:e,label:t,description:o,groups:i}){this.keystrokeInfos.set(e,{id:e,label:t,description:o,groups:new Map}),this.addKeystrokeInfoGroup({categoryId:e,id:Ec}),i&&i.forEach((t=>{this.addKeystrokeInfoGroup({categoryId:e,...t})}))}addKeystrokeInfoGroup({categoryId:e=xc,id:t,label:o,keystrokes:i}){const n=this.keystrokeInfos.get(e);if(!n)throw new fe("accessibility-unknown-keystroke-info-category",this._editor,{groupId:t,categoryId:e});n.groups.set(t,{id:t,label:o,keystrokes:i||[]})}addKeystrokeInfos({categoryId:e=xc,groupId:t=Ec,keystrokes:o}){if(!this.keystrokeInfos.has(e))throw new fe("accessibility-unknown-keystroke-info-category",this._editor,{categoryId:e,keystrokes:o});const i=this.keystrokeInfos.get(e);if(!i.groups.has(t))throw new fe("accessibility-unknown-keystroke-info-group",this._editor,{groupId:t,categoryId:e,keystrokes:o});i.groups.get(t).keystrokes.push(...o)}}function Pc(e){return Object.getPrototypeOf(e).constructor.editorName}function Sc(e){if(!e)return;const t=Array.isArray(e)?{items:e}:e,o=function e(t){return t.flatMap((t=>"string"==typeof t?[t]:e(t.items)))}(t.items||[]);return{isMultiline:o.includes("-"),shouldNotGroupWhenFull:!!t.shouldNotGroupWhenFull,items:(i=o,i.filter((e=>"|"!==e&&"-"!==e)))};var i}function Ic(){let e="unknown",t="unknown";return Y.isMac?e="mac":Y.isWindows?e="windows":Y.isiOS?e="ios":Y.isAndroid&&(e="android"),Y.isGecko?t="gecko":Y.isBlink?t="blink":Y.isSafari&&(t="safari"),{os:e,browser:t}}function Rc(){return localStorage.getItem("__ckeditor-session-id")||localStorage.setItem("__ckeditor-session-id",me()),localStorage.getItem("__ckeditor-session-id")}function Oc(){return J.window.CKEDITOR_PAGE_SESSION_ID=J.window.CKEDITOR_PAGE_SESSION_ID||me(),J.window.CKEDITOR_PAGE_SESSION_ID}class Vc extends(Be()){static get editorName(){return"Editor"}accessibility;commands;config;conversion;data;editing;locale;model;plugins;keystrokes;t;static defaultConfig;static builtinPlugins;_context;_readOnlyLocks;static get _throwErrorWhenUsedAsAPlugin(){return!0}constructor(e={}){if(super(),"object"!=typeof e||Array.isArray(e))throw new fe("editor-config-invalid-type");if("sanitizeHtml"in e)throw new fe("editor-config-sanitizehtml-not-supported");const t=this.constructor,{translations:o,...i}=t.defaultConfig||{},{translations:n=o,...s}=e,r=e.language||i.language;this._context=e.context||new vc({language:r,translations:n}),this._context._addEditor(this,!e.context);const a=Array.from(t.builtinPlugins||[]);this.config=new Ge(s,i),this.config.define("plugins",a),this.config.define(this._context._getEditorConfig()),function(e){let t=e.get("licenseKey");!t&&window.CKEDITOR_GLOBAL_LICENSE_KEY&&(t=window.CKEDITOR_GLOBAL_LICENSE_KEY,e.set("licenseKey",t));if(!t)throw new fe("license-key-missing")}(this.config),this.plugins=new kc(this,a,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new _c,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new el(this.config),this.on("change:isReadOnly",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const l=new pi;this.data=new Rr(this.model,l),this.editing=new hr(this.model,l),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new Or([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new Ac(this),this.keystrokes.listenTo(this.editing.view.document),this.accessibility=new Tc(this),function(e){const t=e.config.get("licenseKey"),o=window[Symbol.for("cke distribution")]||"sh";function i(t,o){e.enableReadOnlyMode(Symbol("invalidLicense")),e._showLicenseError(t,o)}if("GPL"==t)return void("cloud"==o&&i("distributionChannel"));const n=bo(t);if(!n)return void i("invalid");if(!function(e){return["exp","jti","vc"].every((t=>t in e))}(n))return void i("invalid");if(n.distributionChannel&&!Qt(n.distributionChannel).includes(o))return void i("distributionChannel");if(function(e){const t=Array.isArray(e)?e:[e],o=function(){const e=[];for(let t=0;t<256;t++){let o=t;for(let e=0;e<8;e++)1&o?o=3988292384^o>>>1:o>>>=1;e[t]=o}return e}();let i=-1;const n=t.map((e=>Array.isArray(e)?e.join(""):String(e))).join("");for(let e=0;e>>8^o[255&(i^n.charCodeAt(e))];return i=~i>>>0,i.toString(16).padStart(8,"0")}(function(e){return Object.getOwnPropertyNames(e).sort().filter((t=>"vc"!=t&&null!=e[t])).map((t=>e[t]))}(n))!=n.vc.toLowerCase())return void i("invalid");if(new Date(1e3*n.exp)<_e)return void i("expired");const s=n.licensedHosts;if(s&&s.length>0&&!function(e){const{hostname:t}=new URL(window.location.href);if(e.includes(t))return!0;const o=t.split(".");return e.filter((e=>e.includes("*"))).map((e=>e.split("."))).filter((e=>e.length<=o.length)).map((e=>Array(o.length-e.length).fill("*"===e[0]?"*":"").concat(e))).some((e=>o.every(((t,o)=>e[o]===t||"*"===e[o]))))}(s))return void i("domainLimit");if(["evaluation","trial"].includes(n.licenseType)&&1e3*n.exp{i("evaluationLimit")}),6e5);e.on("destroy",(()=>{clearTimeout(t)}))}n.usageEndpoint&&e.once("ready",(()=>{const o={requestId:me(),requestTime:Math.round(Date.now()/1e3),license:t,editor:Dc(e)};e._sendUsageRequest(n.usageEndpoint,o).then((e=>{const{status:t,message:o}=e;o&&console.warn(o),"ok"!=t&&i("usageLimit")}),(()=>{var e,t;e="license-key-validation-endpoint-not-reachable",t={url:n.usageEndpoint},console.error(...ye(e,t))}))}),{priority:"high"})}(this)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(e){throw new fe("editor-isreadonly-has-no-setter")}enableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new fe("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)||(this._readOnlyLocks.add(e),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new fe("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)&&(this._readOnlyLocks.delete(e),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}setData(e){this.data.set(e)}getData(e){return this.data.get(e)}initPlugins(){const e=this.config,t=e.get("plugins"),o=e.get("removePlugins")||[],i=e.get("extraPlugins")||[],n=e.get("substitutePlugins")||[];return this.plugins.init(t.concat(i),o,n).then((e=>(function(e){const t=e.config.get("licenseKey");if("GPL"===t)return;const o=bo(t);if(!o)return;const i=[...e.plugins].map((([e])=>e)).find((e=>{return!!e.pluginName&&(!!e.licenseFeatureCode&&(t=o,i=e.licenseFeatureCode,(t.removeFeatures||[]).includes(i)));var t,i}));i&&(e.enableReadOnlyMode(Symbol("invalidLicense")),e._showLicenseError("pluginNotAllowed",i.pluginName))}(this),e)))}destroy(){let e=Promise.resolve();return"initializing"==this.state&&(e=new Promise((e=>this.once("ready",e)))),e.then((()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(e,...t){try{return this.commands.execute(e,...t)}catch(e){fe.rethrowUnexpectedError(e,this)}}focus(){this.editing.view.focus()}static create(...e){throw new Error("This is an abstract method.")}static Context=vc;static EditorWatchdog=cc;static ContextWatchdog=mc;_showLicenseError(e,t){setTimeout((()=>{if("invalid"==e)throw new fe("invalid-license-key");if("expired"==e)throw new fe("license-key-expired");if("domainLimit"==e)throw new fe("license-key-domain-limit");if("pluginNotAllowed"==e){const e=t.replace(/(Editing|UI)$/,""),o=this.plugins.has(e);throw new fe("license-key-plugin-not-allowed",null,{pluginName:o?e:t})}if("featureNotAllowed"==e)throw new fe("license-key-feature-not-allowed",null,{featureName:t});if("evaluationLimit"==e)throw new fe("license-key-evaluation-limit");if("trialLimit"==e)throw new fe("license-key-trial-limit");if("developmentLimit"==e)throw new fe("license-key-development-limit");if("usageLimit"==e)throw new fe("license-key-usage-limit");if("distributionChannel"==e)throw new fe("license-key-invalid-distribution-channel")}),0),this._showLicenseError=()=>{}}async _sendUsageRequest(e,t){const o=new Headers({"Content-Type":"application/json"}),i=await fetch(new URL(e),{method:"POST",headers:o,body:JSON.stringify(t)});if(!i.ok)throw new Error(`HTTP Response: ${i.status}`);return i.json()}}function Dc(e){const t=function(e){return{sessionId:Rc(),pageSessionId:Oc(),hostname:window.location.hostname,version:globalThis.CKEDITOR_VERSION,type:Pc(e),plugins:(t=e.plugins,Array.from(t).filter((([e])=>!!e.pluginName)).map((([e])=>{const{pluginName:t,isContextPlugin:o,isOfficialPlugin:i,isPremiumPlugin:n}=e;return{isContext:!!o,isOfficial:!!i,isPremium:!!n,name:t}}))),distribution:{channel:window[Symbol.for("cke distribution")]||"sh"},env:Ic(),integration:Object.create(null),menuBar:{isVisible:!!e.config.get("menuBar.isVisible")},language:{ui:e.locale.uiLanguage,content:e.locale.contentLanguage},toolbar:{main:Sc(e.config.get("toolbar")),block:Sc(e.config.get("blockToolbar")),balloon:Sc(e.config.get("balloonToolbar"))}};var t}(e);return e.fire("collectUsageData",{setUsageData:function(e,o){if(void 0!==vo(t,e))throw new fe("editor-usage-data-path-already-set",{path:e});Ro(t,e,o)}}),t}function Fc(e){return class extends e{sourceElement;updateSourceElement(e){if(!this.sourceElement)throw new fe("editor-missing-sourceelement",this);const t=this.config.get("updateSourceElementOnDestroy"),o=this.sourceElement instanceof HTMLTextAreaElement;if(!t&&!o)return void wt(this.sourceElement,"");const i="string"==typeof e?e:this.data.get();wt(this.sourceElement,i)}}}function Mc(e,t,o="main",i=!1){const n=t.get("root"),s=t.get("roots")||Object.create(null);if(n){if(!o)throw new fe("editor-create-multi-root-with-main",null);if(o in s)throw new fe("editor-create-roots-with-main",null)}o&&!s[o]&&(s[o]=n||Object.create(null));const r=function(e){return!!e&&"object"==typeof e&&!Array.isArray(e)&&!Bc(e)}(e),a=function(e,t,o){return t||!o?e.get("initialData")||Object.create(null):{[o]:e.get("initialData")}}(t,r,o),l=Array.from(new Set([...r?Object.keys(e):[],...Object.keys(s),...Object.keys(a)]));for(const o of l){const n=s[o]||Object.create(null),l=r?e[o]:e;if(!i&&Bc(l)){if(n.element)throw new fe("editor-create-root-element-overspecified",null);n.element=l}if(i&&Bc(n.element)&&be("editor-create-root-element-not-supported"),void 0===n.initialData)if(void 0===a[o])n.initialData=Bc(d=l||n.element||i&&t.get("attachTo")||"")?(c=d)instanceof HTMLTextAreaElement?c.value:c.innerHTML:d;else{if(l&&!Bc(l))throw new fe("editor-create-initial-data-overspecified",null);n.initialData=a[o]}else{if(l&&!Bc(l))throw new fe("editor-create-root-initial-data-overspecified",null);if(void 0!==a[o])throw new fe("editor-create-legacy-initial-data-overspecified",null)}n.placeholder??=Nc(t,"placeholder",o),n.label??=Nc(t,"label",o),s[o]=n}var c,d;if(i&&Bc(e)){if(t.get("attachTo"))throw new fe("editor-create-attachto-overspecified",null);t.set("attachTo",e)}if(!i&&t.get("attachTo"))throw new fe("editor-create-attachto-ignored",null);t.set("roots",s)}function Nc(e,t,o){const i=e.get(t);if(i)return"string"==typeof i?i:i[o]}function Bc(e){return L(e)}class Lc extends Cc{_actions;static get pluginName(){return"PendingActions"}static get isOfficialPlugin(){return!0}init(){this.set("hasAny",!1),this._actions=new eo({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(e){if("string"!=typeof e)throw new fe("pendingactions-add-invalid-message",this);const t=new(Be());return t.set("message",e),this._actions.add(t),this.hasAny=!0,t}remove(e){this._actions.remove(e),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}var zc='',jc='',qc='',$c='',Hc='',Wc='',Uc='',Kc='',Gc='',Jc='',Zc='',Qc='',Yc='',Xc='',ed='',td='',od='',id='',nd='';const sd={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]};for(const e in sd)Object.freeze(sd[e]);const rd=Object.freeze(sd),ad=function(e){var t,o,i=[],n=1;if("number"==typeof e)return{space:"rgb",values:[e>>>16,(65280&e)>>>8,255&e],alpha:1};if("number"==typeof e)return{space:"rgb",values:[e>>>16,(65280&e)>>>8,255&e],alpha:1};if(e=String(e).toLowerCase(),rd[e])i=rd[e].slice(),o="rgb";else if("transparent"===e)n=0,o="rgb",i=[0,0,0];else if("#"===e[0]){var s=e.slice(1),r=s.length;n=1,r<=4?(i=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===r&&(n=parseInt(s[3]+s[3],16)/255)):(i=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===r&&(n=parseInt(s[6]+s[7],16)/255)),i[0]||(i[0]=0),i[1]||(i[1]=0),i[2]||(i[2]=0),o="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var a=t[1],l="cmyk"===(o=a.replace(/a$/,""))?4:"gray"===o?1:3;i=t[2].trim().split(/\s*[,\/]\s*|\s+/),"color"===o&&(o=i.shift()),n=(i=i.map((function(e,t){if("%"===e[e.length-1])return e=parseFloat(e)/100,3===t?e:"rgb"===o?255*e:"h"===o[0]?100*e:"l"!==o[0]||t?"lab"===o?125*e:"lch"===o?t<2?150*e:360*e:"o"!==o[0]||t?"oklab"===o?.4*e:"oklch"===o?t<2?.4*e:360*e:e:e:100*e;if("h"===o[t]||2===t&&"h"===o[o.length-1]){if(void 0!==ld[e])return ld[e];if(e.endsWith("deg"))return parseFloat(e);if(e.endsWith("turn"))return 360*parseFloat(e);if(e.endsWith("grad"))return 360*parseFloat(e)/400;if(e.endsWith("rad"))return 180*parseFloat(e)/Math.PI}return"none"===e?0:parseFloat(e)}))).length>l?i.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(i=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),o=e.match(/([a-z])/gi)?.join("")?.toLowerCase()||"rgb");return{space:o,values:i,alpha:n}};var ld={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};const cd={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]};for(const e in cd)Object.freeze(cd[e]);const dd=Object.freeze(cd),ud={};for(const e of Object.keys(dd))ud[dd[e]]=e;const hd={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},md=hd,gd=(6/29)**3;function pd(e){const t=e>.0031308?1.055*e**(1/2.4)-.055:12.92*e;return Math.min(Math.max(0,t),1)}function fd(e){return e>.04045?((e+.055)/1.055)**2.4:e/12.92}for(const e of Object.keys(hd)){if(!("channels"in hd[e]))throw new Error("missing channels property: "+e);if(!("labels"in hd[e]))throw new Error("missing channel labels property: "+e);if(hd[e].labels.length!==hd[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:o}=hd[e];delete hd[e].channels,delete hd[e].labels,Object.defineProperty(hd[e],"channels",{value:t}),Object.defineProperty(hd[e],"labels",{value:o})}function bd(e){const t=function(){const e={},t=Object.keys(md);for(let{length:o}=t,i=0;i0;){const e=o.pop(),i=Object.keys(md[e]);for(let{length:n}=i,s=0;s1&&(n-=1)}return[360*n,100*s,100*c]},hd.rgb.hwb=function(e){const t=e[0],o=e[1];let i=e[2];const n=hd.rgb.hsl(e)[0],s=1/255*Math.min(t,Math.min(o,i));return i=1-1/255*Math.max(t,Math.max(o,i)),[n,100*s,100*i]},hd.rgb.oklab=function(e){const t=fd(e[0]/255),o=fd(e[1]/255),i=fd(e[2]/255),n=Math.cbrt(.4122214708*t+.5363325363*o+.0514459929*i),s=Math.cbrt(.2119034982*t+.6806995451*o+.1073969566*i),r=Math.cbrt(.0883024619*t+.2817188376*o+.6299787005*i);return[100*(.2104542553*n+.793617785*s-.0040720468*r),100*(1.9779984951*n-2.428592205*s+.4505937099*r),100*(.0259040371*n+.7827717662*s-.808675766*r)]},hd.rgb.cmyk=function(e){const t=e[0]/255,o=e[1]/255,i=e[2]/255,n=Math.min(1-t,1-o,1-i);return[100*((1-t-n)/(1-n)||0),100*((1-o-n)/(1-n)||0),100*((1-i-n)/(1-n)||0),100*n]},hd.rgb.keyword=function(e){const t=ud[e];if(t)return t;let o,i=Number.POSITIVE_INFINITY;for(const t of Object.keys(dd)){const r=dd[t],a=(s=r,((n=e)[0]-s[0])**2+(n[1]-s[1])**2+(n[2]-s[2])**2);agd?o**(1/3):7.787*o+16/116,i=i>gd?i**(1/3):7.787*i+16/116,n=n>gd?n**(1/3):7.787*n+16/116;return[116*i-16,500*(o-i),200*(i-n)]},hd.hsl.rgb=function(e){const t=e[0]/360,o=e[1]/100,i=e[2]/100;let n,s;if(0===o)return s=255*i,[s,s,s];const r=i<.5?i*(1+o):i+o-i*o,a=2*i-r,l=[0,0,0];for(let e=0;e<3;e++)n=t+1/3*-(e-1),n<0&&n++,n>1&&n--,s=6*n<1?a+6*(r-a)*n:2*n<1?r:3*n<2?a+(r-a)*(2/3-n)*6:a,l[e]=255*s;return l},hd.hsl.hsv=function(e){const t=e[0];let o=e[1]/100,i=e[2]/100,n=o;const s=Math.max(i,.01);i*=2,o*=i<=1?i:2-i,n*=s<=1?s:2-s;return[t,100*(0===i?2*n/(s+n):2*o/(i+o)),100*((i+o)/2)]},hd.hsv.rgb=function(e){const t=e[0]/60,o=e[1]/100;let i=e[2]/100;const n=Math.floor(t)%6,s=t-Math.floor(t),r=255*i*(1-o),a=255*i*(1-o*s),l=255*i*(1-o*(1-s));switch(i*=255,n){case 0:return[i,l,r];case 1:return[a,i,r];case 2:return[r,i,l];case 3:return[r,a,i];case 4:return[l,r,i];case 5:return[i,r,a]}},hd.hsv.hsl=function(e){const t=e[0],o=e[1]/100,i=e[2]/100,n=Math.max(i,.01);let s,r;r=(2-o)*i;const a=(2-o)*n;return s=o*n,s/=a<=1?a:2-a,s=s||0,r/=2,[t,100*s,100*r]},hd.hwb.rgb=function(e){const t=e[0]/360;let o=e[1]/100,i=e[2]/100;const n=o+i;let s;n>1&&(o/=n,i/=n);const r=Math.floor(6*t),a=1-i;s=6*t-r,1&r&&(s=1-s);const l=o+s*(a-o);let c,d,u;switch(r){default:case 6:case 0:c=a,d=l,u=o;break;case 1:c=l,d=a,u=o;break;case 2:c=o,d=a,u=l;break;case 3:c=o,d=l,u=a;break;case 4:c=l,d=o,u=a;break;case 5:c=a,d=o,u=l}return[255*c,255*d,255*u]},hd.cmyk.rgb=function(e){const t=e[0]/100,o=e[1]/100,i=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,o*(1-n)+n)),255*(1-Math.min(1,i*(1-n)+n))]},hd.xyz.rgb=function(e){const t=e[0]/100,o=e[1]/100,i=e[2]/100;let n,s,r;return n=3.2404542*t+-1.5371385*o+-.4985314*i,s=-.969266*t+1.8760108*o+.041556*i,r=.0556434*t+-.2040259*o+1.0572252*i,n=pd(n),s=pd(s),r=pd(r),[255*n,255*s,255*r]},hd.xyz.lab=function(e){let t=e[0],o=e[1],i=e[2];t/=95.047,o/=100,i/=108.883,t=t>gd?t**(1/3):7.787*t+16/116,o=o>gd?o**(1/3):7.787*o+16/116,i=i>gd?i**(1/3):7.787*i+16/116;return[116*o-16,500*(t-o),200*(o-i)]},hd.xyz.oklab=function(e){const t=e[0]/100,o=e[1]/100,i=e[2]/100,n=Math.cbrt(.8189330101*t+.3618667424*o-.1288597137*i),s=Math.cbrt(.0329845436*t+.9293118715*o+.0361456387*i),r=Math.cbrt(.0482003018*t+.2643662691*o+.633851707*i);return[100*(.2104542553*n+.793617785*s-.0040720468*r),100*(1.9779984951*n-2.428592205*s+.4505937099*r),100*(.0259040371*n+.7827717662*s-.808675766*r)]},hd.oklab.oklch=function(e){return hd.lab.lch(e)},hd.oklab.xyz=function(e){const t=e[0]/100,o=e[1]/100,i=e[2]/100,n=(.999999998*t+.396337792*o+.215803758*i)**3,s=(1.000000008*t-.105561342*o-.063854175*i)**3,r=(1.000000055*t-.089484182*o-1.291485538*i)**3;return[100*(1.227013851*n-.55779998*s+.281256149*r),100*(-.040580178*n+1.11225687*s-.071676679*r),100*(-.076381285*n-.421481978*s+1.58616322*r)]},hd.oklab.rgb=function(e){const t=e[0]/100,o=e[1]/100,i=e[2]/100,n=(t+.3963377774*o+.2158037573*i)**3,s=(t-.1055613458*o-.0638541728*i)**3,r=(t-.0894841775*o-1.291485548*i)**3;return[255*pd(4.0767416621*n-3.3077115913*s+.2309699292*r),255*pd(-1.2684380046*n+2.6097574011*s-.3413193965*r),255*pd(-.0041960863*n-.7034186147*s+1.707614701*r)]},hd.oklch.oklab=function(e){return hd.lch.lab(e)},hd.lab.xyz=function(e){let t,o,i;o=(e[0]+16)/116,t=e[1]/500+o,i=o-e[2]/200;const n=o**3,s=t**3,r=i**3;return o=n>gd?n:(o-16/116)/7.787,t=s>gd?s:(t-16/116)/7.787,i=r>gd?r:(i-16/116)/7.787,t*=95.047,o*=100,i*=108.883,[t,o,i]},hd.lab.lch=function(e){const t=e[0],o=e[1],i=e[2];let n;n=360*Math.atan2(i,o)/2/Math.PI,n<0&&(n+=360);return[t,Math.sqrt(o*o+i*i),n]},hd.lch.lab=function(e){const t=e[0],o=e[1],i=e[2]/360*2*Math.PI;return[t,o*Math.cos(i),o*Math.sin(i)]},hd.rgb.ansi16=function(e,t=null){const[o,i,n]=e;let s=null===t?hd.rgb.hsv(e)[2]:t;if(s=Math.round(s/50),0===s)return 30;let r=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(o/255));return 2===s&&(r+=60),r},hd.hsv.ansi16=function(e){return hd.rgb.ansi16(hd.hsv.rgb(e),e[2])},hd.rgb.ansi256=function(e){const t=e[0],o=e[1],i=e[2];if(t>>4==o>>4&&o>>4==i>>4)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(o/255*5)+Math.round(i/255*5)},hd.ansi16.rgb=function(e){let t=(e=e[0])%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const o=.5*(Math.trunc(e>50)+1);return[(1&t)*o*255,(t>>1&1)*o*255,(t>>2&1)*o*255]},hd.ansi256.rgb=function(e){if((e=e[0])>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},hd.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".slice(t.length)+t},hd.hex.rgb=function(e){const t=e.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!t)return[0,0,0];let o=t[0];3===t[0].length&&(o=[...o].map((e=>e+e)).join(""));const i=Number.parseInt(o,16);return[i>>16&255,i>>8&255,255&i]},hd.rgb.hcg=function(e){const t=e[0]/255,o=e[1]/255,i=e[2]/255,n=Math.max(Math.max(t,o),i),s=Math.min(Math.min(t,o),i),r=n-s;let a;return a=r<=0?0:n===t?(o-i)/r%6:n===o?2+(i-t)/r:4+(t-o)/r,a/=6,a%=1,[360*a,100*r,100*(r<1?s/(1-r):0)]},hd.hsl.hcg=function(e){const t=e[1]/100,o=e[2]/100,i=o<.5?2*t*o:2*t*(1-o);let n=0;return i<1&&(n=(o-.5*i)/(1-i)),[e[0],100*i,100*n]},hd.hsv.hcg=function(e){const t=e[1]/100,o=e[2]/100,i=t*o;let n=0;return i<1&&(n=(o-i)/(1-i)),[e[0],100*i,100*n]},hd.hcg.rgb=function(e){const t=e[0]/360,o=e[1]/100,i=e[2]/100;if(0===o)return[255*i,255*i,255*i];const n=[0,0,0],s=t%1*6,r=s%1,a=1-r;let l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=r,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=r;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=r,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-o)*i,[255*(o*n[0]+l),255*(o*n[1]+l),255*(o*n[2]+l)]},hd.hcg.hsv=function(e){const t=e[1]/100,o=t+e[2]/100*(1-t);let i=0;return o>0&&(i=t/o),[e[0],100*i,100*o]},hd.hcg.hsl=function(e){const t=e[1]/100,o=e[2]/100*(1-t)+.5*t;let i=0;return o>0&&o<.5?i=t/(2*o):o>=.5&&o<1&&(i=t/(2*(1-o))),[e[0],100*i,100*o]},hd.hcg.hwb=function(e){const t=e[1]/100,o=t+e[2]/100*(1-t);return[e[0],100*(o-t),100*(1-o)]},hd.hwb.hcg=function(e){const t=e[1]/100,o=1-e[2]/100,i=o-t;let n=0;return i<1&&(n=(o-i)/(1-i)),[e[0],100*i,100*n]},hd.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},hd.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},hd.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},hd.gray.hsl=function(e){return[0,0,e[0]]},hd.gray.hsv=hd.gray.hsl,hd.gray.hwb=function(e){return[0,100,e[0]]},hd.gray.cmyk=function(e){return[0,0,0,e[0]]},hd.gray.lab=function(e){return[e[0],0,0]},hd.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),o=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".slice(o.length)+o},hd.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const _d=function(e){const t=bd(e),o={},i=Object.keys(t);for(let{length:e}=i,n=0;n1&&(t=o),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function Ad(e){const t=function(...t){const o=t[0];if(null==o)return o;o.length>1&&(t=o);const i=e(t);if("object"==typeof i)for(let{length:e}=i,t=0;te>o?o:eMath.round(o*e)/o,Pd=(Math.PI,e=>("#"===e[0]&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?Td(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:8===e.length?Td(parseInt(e.substring(6,8),16)/255,2):1})),Sd=({h:e,s:t,v:o,a:i})=>{const n=(200-t)*o/100;return{h:Td(e),s:Td(n>0&&n<200?t*o/100/(n<=100?n:200-n)*100:0),l:Td(n/2),a:Td(i,2)}},Id=e=>{const{h:t,s:o,l:i}=Sd(e);return`hsl(${t}, ${o}%, ${i}%)`},Rd=({h:e,s:t,v:o,a:i})=>{e=e/360*6,t/=100,o/=100;const n=Math.floor(e),s=o*(1-t),r=o*(1-(e-n)*t),a=o*(1-(1-e+n)*t),l=n%6;return{r:Td(255*[o,r,s,s,a,o][l]),g:Td(255*[a,o,o,r,s,s][l]),b:Td(255*[s,s,a,o,o,r][l]),a:Td(i,2)}},Od=e=>{const t=e.toString(16);return t.length<2?"0"+t:t},Vd=({r:e,g:t,b:o,a:i})=>{const n=i<1?Od(Td(255*i)):"";return"#"+Od(e)+Od(t)+Od(o)+n},Dd=({r:e,g:t,b:o,a:i})=>{const n=Math.max(e,t,o),s=n-Math.min(e,t,o),r=s?n===e?(t-o)/s:n===t?2+(o-e)/s:4+(e-t)/s:0;return{h:Td(60*(r<0?r+6:r)),s:Td(n?s/n*100:0),v:Td(n/255*100),a:i}},Fd=(e,t)=>{if(e===t)return!0;for(const o in e)if(e[o]!==t[o])return!1;return!0},Md={},Nd=e=>{let t=Md[e];return t||(t=document.createElement("template"),t.innerHTML=e,Md[e]=t),t},Bd=(e,t,o)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:o}))};let Ld=!1;const zd=e=>"touches"in e,jd=(e,t)=>{const o=zd(t)?t.touches[0]:t,i=e.el.getBoundingClientRect();Bd(e.el,"move",e.getMove({x:Ed((o.pageX-(i.left+window.pageXOffset))/i.width),y:Ed((o.pageY-(i.top+window.pageYOffset))/i.height)}))};class qd{constructor(e,t,o,i){const n=Nd(`
`);e.appendChild(n.content.cloneNode(!0));const s=e.querySelector(`[part=${t}]`);s.addEventListener("mousedown",this),s.addEventListener("touchstart",this),s.addEventListener("keydown",this),this.el=s,this.xy=i,this.nodes=[s.firstChild,s]}set dragging(e){const t=e?document.addEventListener:document.removeEventListener;t(Ld?"touchmove":"mousemove",this),t(Ld?"touchend":"mouseup",this)}handleEvent(e){switch(e.type){case"mousedown":case"touchstart":if(e.preventDefault(),!(e=>!(Ld&&!zd(e)||(Ld||(Ld=zd(e)),0)))(e)||!Ld&&0!=e.button)return;this.el.focus(),jd(this,e),this.dragging=!0;break;case"mousemove":case"touchmove":e.preventDefault(),jd(this,e);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((e,t)=>{const o=t.keyCode;o>40||e.xy&&o<37||o<33||(t.preventDefault(),Bd(e.el,"move",e.getMove({x:39===o?.01:37===o?-.01:34===o?.05:33===o?-.05:35===o?1:36===o?-1:0,y:40===o?.01:38===o?-.01:0},!0)))})(this,e)}}style(e){e.forEach(((e,t)=>{for(const o in e)this.nodes[t].style.setProperty(o,e[o])}))}}class $d extends qd{constructor(e){super(e,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:e}){this.h=e,this.style([{left:e/360*100+"%",color:Id({h:e,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${Td(e)}`)}getMove(e,t){return{h:t?Ed(this.h+360*e.x,0,360):360*e.x}}}class Hd extends qd{constructor(e){super(e,"saturation",'aria-label="Color"',!0)}update(e){this.hsva=e,this.style([{top:100-e.v+"%",left:`${e.s}%`,color:Id(e)},{"background-color":Id({h:e.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${Td(e.s)}%, Brightness ${Td(e.v)}%`)}getMove(e,t){return{s:t?Ed(this.hsva.s+100*e.x,0,100):100*e.x,v:t?Ed(this.hsva.v-100*e.y,0,100):Math.round(100-100*e.y)}}}const Wd=Symbol("same"),Ud=Symbol("color"),Kd=Symbol("hsva"),Gd=Symbol("update"),Jd=Symbol("parts"),Zd=Symbol("css"),Qd=Symbol("sliders");class Yd extends HTMLElement{static get observedAttributes(){return["color"]}get[Zd](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[Qd](){return[Hd,$d]}get color(){return this[Ud]}set color(e){if(!this[Wd](e)){const t=this.colorModel.toHsva(e);this[Gd](t),this[Ud]=e}}constructor(){super();const e=Nd(``),t=this.attachShadow({mode:"open"});t.appendChild(e.content.cloneNode(!0)),t.addEventListener("move",this),this[Jd]=this[Qd].map((e=>new e(t)))}connectedCallback(){if(this.hasOwnProperty("color")){const e=this.color;delete this.color,this.color=e}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(e,t,o){const i=this.colorModel.fromAttr(o);this[Wd](i)||(this.color=i)}handleEvent(e){const t=this[Kd],o={...t,...e.detail};let i;this[Gd](o),Fd(o,t)||this[Wd](i=this.colorModel.fromHsva(o))||(this[Ud]=i,Bd(this,"color-changed",{value:i}))}[Wd](e){return this.color&&this.colorModel.equal(e,this.color)}[Gd](e){this[Kd]=e,this[Jd].forEach((t=>t.update(e)))}}const Xd={defaultColor:"#000",toHsva:e=>Dd(Pd(e)),fromHsva:({h:e,s:t,v:o})=>Vd(Rd({h:e,s:t,v:o,a:1})),equal:(e,t)=>e.toLowerCase()===t.toLowerCase()||Fd(Pd(e),Pd(t)),fromAttr:e=>e};class eu extends Yd{get colorModel(){return Xd}}class tu extends eo{_parentElement;constructor(e=[]){super(e,{idProperty:"viewUid"}),this.on("add",((e,t,o)=>{this._renderViewIntoCollectionParent(t,o)})),this.on("remove",((e,t)=>{t.element&&this._parentElement&&t.element.remove()})),this._parentElement=null}destroy(){this.map((e=>e.destroy()))}setParent(e){this._parentElement=e;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...e){if(!e.length||!e.every((e=>"string"==typeof e)))throw new fe("ui-viewcollection-delegate-wrong-events",this);return{to:t=>{for(const o of this)for(const i of e)o.delegate(i).to(t);this.on("add",((o,i)=>{for(const o of e)i.delegate(o).to(t)})),this.on("remove",((o,i)=>{for(const o of e)i.stopDelegating(o,t)}))}}}_renderViewIntoCollectionParent(e,t){e.isRendered||e.render(),e.element&&this._parentElement&&this._parentElement.insertBefore(e.element,this._parentElement.children[t])}remove(e){return super.remove(e)}}class ou extends(xe()){ns;tag;text;attributes;children;eventListeners;_isRendered;_revertData;constructor(e){super(),Object.assign(this,mu(hu(e))),this._isRendered=!1,this._revertData=null}render(){const e=this._renderNode({intoFragment:!0});return this._isRendered=!0,e}apply(e){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:e,intoFragment:!1,isApplying:!0,revertData:this._revertData}),e}revert(e){if(!this._revertData)throw new fe("ui-template-revert-not-applied",[this,e]);this._revertTemplateFromNode(e,this._revertData)}*getViews(){yield*function*e(t){if(t.children)for(const o of t.children)yu(o)?yield o:_u(o)&&(yield*e(o))}(this)}static bind(e,t){return{to:(o,i)=>new nu({eventNameOrFunction:o,attribute:o,observable:e,emitter:t,callback:i}),if:(o,i,n)=>new su({observable:e,emitter:t,attribute:o,valueIfTrue:i,callback:n})}}static extend(e,t){if(e._isRendered)throw new fe("template-extend-render",[this,e]);bu(e,mu(hu(t)))}_renderNode(e){let t;if(t=e.node?this.tag&&this.text:this.tag?this.text:!this.text,t)throw new fe("ui-template-wrong-syntax",this);return this.text?this._renderText(e):this._renderElement(e)}_renderElement(e){let t=e.node;return t||(t=e.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(e),this._renderElementChildren(e),this._setUpListeners(e),t}_renderText(e){let t=e.node;return t?e.revertData.text=t.textContent:t=e.node=document.createTextNode(""),ru(this.text)?this._bindToObservable({schema:this.text,updater:cu(t),data:e}):t.textContent=this.text.join(""),t}_renderAttributes(e){if(!this.attributes)return;const t=e.node,o=e.revertData;for(const i in this.attributes){const n=t.getAttribute(i),s=this.attributes[i];o&&(o.attributes[i]=n);const r=vu(s)?s[0].ns:null;if(ru(s)){const a=vu(s)?s[0].value:s;o&&Cu(i)&&a.unshift(n),this._bindToObservable({schema:a,updater:du(t,i,r),data:e})}else if("style"==i&&"string"!=typeof s[0])this._renderStyleAttribute(s[0],e);else{o&&n&&Cu(i)&&s.unshift(n);const e=s.map((e=>e&&e.value||e)).reduce(((e,t)=>e.concat(t)),[]).reduce(pu,"");wu(e)||t.setAttributeNS(r,i,e)}}}_renderStyleAttribute(e,t){const o=t.node;for(const i in e){const n=e[i];ru(n)?this._bindToObservable({schema:[n],updater:uu(o,i),data:t}):au(i)?o.style.setProperty(i,n):o.style[i]=n}}_renderElementChildren(e){const t=e.node,o=e.intoFragment?document.createDocumentFragment():t,i=e.isApplying;let n=0;for(const s of this.children)if(ku(s)){if(!i){s.setParent(t);for(const e of s)o.appendChild(e.element)}}else if(yu(s))i||(s.isRendered||s.render(),o.appendChild(s.element));else if(Qe(s))o.appendChild(s);else if(i){const t={children:[],bindings:[],attributes:{}};e.revertData.children.push(t),s._renderNode({intoFragment:!1,node:o.childNodes[n++],isApplying:!0,revertData:t})}else o.appendChild(s.render());e.intoFragment&&t.appendChild(o)}_setUpListeners(e){if(this.eventListeners)for(const t in this.eventListeners){const o=this.eventListeners[t].map((o=>{const[i,n]=t.split("@");return o.activateDomEventListener(i,n,e)}));e.revertData&&e.revertData.bindings.push(o)}}_bindToObservable({schema:e,updater:t,data:o}){const i=o.revertData;lu(e,t,o);const n=e.filter((e=>!wu(e))).filter((e=>e.observable)).map((i=>i.activateAttributeListener(e,t,o)));i&&i.bindings.push(n)}_revertTemplateFromNode(e,t){for(const e of t.bindings)for(const t of e)t();if(t.text)return void(e.textContent=t.text);const o=e;for(const e in t.attributes){const i=t.attributes[e];null===i?o.removeAttribute(e):o.setAttribute(e,i)}for(let e=0;elu(e,t,o);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,i),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class nu extends iu{eventNameOrFunction;constructor(e){super(e),this.eventNameOrFunction=e.eventNameOrFunction}activateDomEventListener(e,t,o){const i=(e,o)=>{t&&!o.target.matches(t)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(o):this.observable.fire(this.eventNameOrFunction,o))};return this.emitter.listenTo(o.node,e,i),()=>{this.emitter.stopListening(o.node,e,i)}}}class su extends iu{valueIfTrue;constructor(e){super(e),this.valueIfTrue=e.valueIfTrue}getValue(e){return!wu(super.getValue(e))&&(this.valueIfTrue||!0)}}function ru(e){return!!e&&(e.value&&(e=e.value),Array.isArray(e)?e.some(ru):e instanceof iu)}function au(e){return/^--[a-zA-Z_-][\w-]*$/.test(e)}function lu(e,t,{node:o}){const i=function(e,t){return e.map((e=>e instanceof iu?e.getValue(t):e))}(e,o);let n;n=1==e.length&&e[0]instanceof su?i[0]:i.reduce(pu,""),wu(n)?t.remove():t.set(n)}function cu(e){return{set(t){e.textContent=t},remove(){e.textContent=""}}}function du(e,t,o){return{set(i){e.setAttributeNS(o,t,i)},remove(){e.removeAttributeNS(o,t)}}}function uu(e,t){return{set(o){au(t)?e.style.setProperty(t,o):e.style[t]=o},remove(){au(t)?e.style.removeProperty(t):e.style[t]=null}}}function hu(e){return N(e,(e=>{if(e&&(e instanceof iu||_u(e)||yu(e)||ku(e)))return e}))}function mu(e){if("string"==typeof e?e=function(e){return{text:[e]}}(e):e.text&&function(e){e.text=Qt(e.text)}(e),e.on&&(e.eventListeners=function(e){for(const t in e)gu(e,t);return e}(e.on),delete e.on),!e.text){e.attributes&&function(e){for(const t in e)e[t].value&&(e[t].value=Qt(e[t].value)),gu(e,t)}(e.attributes);const t=[];if(e.children)if(ku(e.children))t.push(e.children);else for(const o of e.children)_u(o)||yu(o)||Qe(o)?t.push(o):t.push(new ou(o));e.children=t}return e}function gu(e,t){e[t]=Qt(e[t])}function pu(e,t){return wu(t)?e:wu(e)?t:`${e} ${t}`}function fu(e,t){for(const o in t)e[o]?e[o].push(...t[o]):e[o]=t[o]}function bu(e,t){if(t.attributes&&(e.attributes||(e.attributes={}),fu(e.attributes,t.attributes)),t.eventListeners&&(e.eventListeners||(e.eventListeners={}),fu(e.eventListeners,t.eventListeners)),t.text&&e.text.push(...t.text),t.children&&t.children.length){if(e.children.length!=t.children.length)throw new fe("ui-template-extend-children-mismatch",e);let o=0;for(const i of t.children)bu(e.children[o++],i)}}function wu(e){return!e&&0!==e}function yu(e){return e instanceof Au}function _u(e){return e instanceof ou}function ku(e){return e instanceof tu}function vu(e){return s(e[0])&&e[0].ns}function Cu(e){return"class"==e||"style"==e}class Au extends(et(Be())){element;isRendered;locale;t;template;_viewCollections;_unboundChildren;_bindTemplate;constructor(e){super(),this.element=null,this.isRendered=!1,this.locale=e,this.t=e&&e.t,this._viewCollections=new eo,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((t,o)=>{o.locale=e,o.t=e&&e.t})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=ou.bind(this,this)}createCollection(e){const t=new tu(e);return this._viewCollections.add(t),t}registerChild(e){Ue(e)||(e=[e]);for(const t of e)this._unboundChildren.add(t)}deregisterChild(e){Ue(e)||(e=[e]);for(const t of e)this._unboundChildren.remove(t)}setTemplate(e){this.template=new ou(e)}extendTemplate(e){ou.extend(this.template,e)}render(){if(this.isRendered)throw new fe("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((e=>e.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}const xu={POLITE:"polite",ASSERTIVE:"assertive"};class Eu{editor;view;constructor(e){this.editor=e,e.once("ready",(()=>{for(const e of Object.values(xu))this.announce("",e)}))}announce(e,t=xu.POLITE){const o=this.editor;if(!o.ui.view)return;this.view||(this.view=new Tu(o.locale),o.ui.view.body.add(this.view));const{politeness:i,isUnsafeHTML:n}="string"==typeof t?{politeness:t}:t;let s=this.view.regionViews.find((e=>e.politeness===i));s||(s=new Pu(o,i),this.view.regionViews.add(s)),s.announce({announcement:e,isUnsafeHTML:n})}}class Tu extends Au{regionViews;constructor(e){super(e),this.regionViews=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class Pu extends Au{politeness;_domConverter;_pruneAnnouncementsInterval;constructor(e,t){super(e.locale),this.setTemplate({tag:"div",attributes:{"aria-live":t,"aria-relevant":"additions"},children:[{tag:"ul",attributes:{class:["ck","ck-aria-live-region-list"]}}]}),e.on("destroy",(()=>{null!==this._pruneAnnouncementsInterval&&(clearInterval(this._pruneAnnouncementsInterval),this._pruneAnnouncementsInterval=null)})),this.politeness=t,this._domConverter=e.data.htmlProcessor.domConverter,this._pruneAnnouncementsInterval=setInterval((()=>{this.element&&this._listElement.firstChild&&this._listElement.firstChild.remove()}),5e3)}announce({announcement:e,isUnsafeHTML:t}){if(!e.trim().length)return;const o=document.createElement("li");t?this._domConverter.setContentOf(o,e):o.innerText=e,this._listElement.appendChild(o)}get _listElement(){return this.element.querySelector("ul")}}function Su({emitter:e,activator:t,callback:o,contextElements:i,listenerOptions:n}){e.listenTo(document,"mousedown",((e,n)=>{if(!t())return;const s="function"==typeof n.composedPath?n.composedPath():[],r="function"==typeof i?i():i;for(const e of r)if(e.contains(n.target)||s.includes(e))return;o()}),n)}function Iu(e){return class extends e{disableCssTransitions(){this._isCssTransitionsDisabled=!0}enableCssTransitions(){this._isCssTransitionsDisabled=!1}constructor(...e){super(...e),this.set("_isCssTransitionsDisabled",!1),this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.template&&this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}}function Ru(e){return class extends e{_onDragBound=this._onDrag.bind(this);_onDragEndBound=this._onDragEnd.bind(this);_lastDraggingCoordinates={x:0,y:0};constructor(...e){super(...e),this.on("render",(()=>{this._attachListeners()})),this.set("isDragging",!1)}_attachListeners(){this.listenTo(this.element,"mousedown",this._onDragStart.bind(this)),this.listenTo(this.element,"touchstart",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(J.document,"mouseup",this._onDragEndBound),this.listenTo(J.document,"touchend",this._onDragEndBound),this.listenTo(J.document,"mousemove",this._onDragBound),this.listenTo(J.document,"touchmove",this._onDragBound)}_detachDragListeners(){this.stopListening(J.document,"mouseup",this._onDragEndBound),this.stopListening(J.document,"touchend",this._onDragEndBound),this.stopListening(J.document,"mousemove",this._onDragBound),this.stopListening(J.document,"touchmove",this._onDragBound)}_onDragStart(e,t){if(!this._isHandleElementPressed(t))return;this._attachDragListeners();let o=0,i=0;t instanceof MouseEvent?(o=t.clientX,i=t.clientY):(o=t.touches[0].clientX,i=t.touches[0].clientY),this._lastDraggingCoordinates={x:o,y:i},this.isDragging=!0}_onDrag(e,t){if(!this.isDragging)return void this._detachDragListeners();let o=0,i=0;t instanceof MouseEvent?(o=t.clientX,i=t.clientY):(o=t.touches[0].clientX,i=t.touches[0].clientY),t.preventDefault(),this.fire("drag",{deltaX:Math.round(o-this._lastDraggingCoordinates.x),deltaY:Math.round(i-this._lastDraggingCoordinates.y)}),this._lastDraggingCoordinates={x:o,y:i}}_onDragEnd(){this._detachDragListeners(),this.isDragging=!1}_isHandleElementPressed(e){return!!this.dragHandleElement&&(this.dragHandleElement===e.target||e.target instanceof HTMLElement&&this.dragHandleElement.contains(e.target))}}}function Ou({view:e}){e.listenTo(e.element,"submit",((t,o)=>{o.preventDefault(),e.fire("submit")}),{useCapture:!0})}function Vu({keystrokeHandler:e,focusTracker:t,gridItems:o,numberOfColumns:i,uiLanguageDirection:n}){const s="number"==typeof i?()=>i:i;function r(e){return i=>{const n=o.find((e=>e.element===t.focusedElement)),s=o.getIndex(n),r=e(s,o);o.get(r).focus(),i.stopPropagation(),i.preventDefault()}}function a(e,t){return e===t-1?0:e+1}function l(e,t){return 0===e?t-1:e-1}e.set("arrowright",r(((e,t)=>"rtl"===n?l(e,t.length):a(e,t.length)))),e.set("arrowleft",r(((e,t)=>"rtl"===n?a(e,t.length):l(e,t.length)))),e.set("arrowup",r(((e,t)=>{let o=e-s();return o<0&&(o=e+s()*Math.floor(t.length/s()),o>t.length-1&&(o-=s())),o}))),e.set("arrowdown",r(((e,t)=>{let o=e+s();return o>t.length-1&&(o=e%s()),o})))}class Du extends Au{id;constructor(e){super(e),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${me()}`;const t=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:t.to("for")},children:[{text:t.to("text")}]})}}class Fu extends Au{constructor(e,t){super(e);const o=e.t,i=new Du;i.text=o("Help Contents. To close this dialog press ESC."),this.setTemplate({tag:"div",attributes:{class:["ck","ck-accessibility-help-dialog__content"],"aria-labelledby":i.id,role:"document",tabindex:-1},children:[Ke(document,"p",{},o("Below, you can find a list of keyboard shortcuts that can be used in the editor.")),...this._createCategories(Array.from(t.values())),i]})}focus(){this.element.focus()}_createCategories(e){return e.map((e=>{const t=[Ke(document,"h3",{},e.label),...Array.from(e.groups.values()).map((e=>this._createGroup(e))).flat()];return e.description&&t.splice(1,0,Ke(document,"p",{},e.description)),Ke(document,"section",{},t)}))}_createGroup(e){const t=e.keystrokes.sort(((e,t)=>e.label.localeCompare(t.label))).map((e=>this._createGroupRow(e))).flat(),o=[Ke(document,"dl",{},t)];return e.label&&o.unshift(Ke(document,"h4",{},e.label)),o}_createGroupRow(e){const t=this.locale.t,o=Ke(document,"dt"),i=Ke(document,"dd"),n=function(e){if("string"==typeof e)return[[e]];if("string"==typeof e[0])return[e];return e}(e.keystroke),s=[];for(const e of n)s.push(e.map(Mu).join(""));return o.innerHTML=e.label,i.innerHTML=s.join(", ")+(e.mayRequireFn&&Y.isMac?` ${t("(may require Fn)")}`:""),[o,i]}}function Mu(e){return Ut(e).split("+").map((e=>`${e}`)).join("+")}class Nu extends Au{static presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];constructor(){super();const e=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.set("isVisible",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",e.if("isVisible","ck-hidden",(e=>!e)),"ck-reset_all-excluded",e.if("isColorInherited","ck-icon_inherit-color")],viewBox:e.to("viewBox"),"aria-hidden":!0}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const e=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg");if(!e)throw new fe("ui-iconview-invalid-svg",this);const t=e.getAttribute("viewBox");t&&(this.viewBox=t);for(const{name:t,value:o}of Array.from(e.attributes))Nu.presentationalAttributeNames.includes(t)&&this.element.setAttribute(t,o);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;e.childNodes.length>0;)this.element.appendChild(e.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((e=>{e.style.fill=this.fillColor}))}}class Bu extends Au{constructor(){super(),this.set({style:void 0,text:void 0,id:void 0});const e=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:e.to("style"),id:e.to("id")},children:[{text:e.to("text")}]})}}class Lu extends Au{children;labelView;iconView;keystrokeView;_focusDelayed=null;constructor(e,t=new Bu){super(e);const o=this.bindTemplate,i=me();this.set("_ariaPressed",!1),this.set("_ariaChecked",!1),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",`ck-editor__aria-label_${i}`),this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("role",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._setupLabelView(t),this.iconView=new Nu,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.iconView.bind("content").to(this,"icon"),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const n={tag:"button",attributes:{class:["ck","ck-button",o.to("class"),o.if("isEnabled","ck-disabled",(e=>!e)),o.if("isVisible","ck-hidden",(e=>!e)),o.to("isOn",(e=>e?"ck-on":"ck-off")),o.if("withText","ck-button_with-text"),o.if("withKeystroke","ck-button_with-keystroke")],role:o.to("role"),type:o.to("type",(e=>e||"button")),tabindex:o.to("tabindex"),"aria-checked":o.to("_ariaChecked"),"aria-pressed":o.to("_ariaPressed"),"aria-label":o.to("ariaLabel"),"aria-labelledby":o.to("ariaLabelledBy"),"aria-disabled":o.if("isEnabled",!0,(e=>!e)),"data-cke-tooltip-text":o.to("_tooltipString"),"data-cke-tooltip-position":o.to("tooltipPosition")},children:this.children,on:{click:o.to((e=>{this.isEnabled?this.fire("execute"):e.preventDefault()}))}};this.bind("_ariaPressed").to(this,"isOn",this,"isToggleable",this,"role",((e,t,o)=>!(!t||zu(o))&&String(!!e))),this.bind("_ariaChecked").to(this,"isOn",this,"isToggleable",this,"role",((e,t,o)=>!(!t||!zu(o))&&String(!!e))),Y.isSafari&&(this._focusDelayed||(this._focusDelayed=co((()=>this.focus()),0)),n.on.mousedown=o.to((()=>{this._focusDelayed()})),n.on.mouseup=o.to((()=>{this._focusDelayed.cancel()}))),this.setTemplate(n)}render(){super.render(),this.icon&&this.children.add(this.iconView),this.on("change:icon",((e,t,o,i)=>{o&&!i?this.children.add(this.iconView,0):!o&&i&&this.children.remove(this.iconView)})),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_setupLabelView(e){return e.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy"),e}_createKeystrokeView(){const e=new Au;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(e=>Ut(e)))}]}),e}_getTooltipString(e,t,o){return e?"string"==typeof e?e:(o&&(o=Ut(o)),e instanceof Function?e(t,o):`${t}${o?` (${o})`:""}`):""}}function zu(e){switch(e){case"radio":case"checkbox":case"option":case"switch":case"menuitemcheckbox":case"menuitemradio":return!0;default:return!1}}class ju extends Au{children;iconView;constructor(e,t={}){super(e);const o=this.bindTemplate;this.set("label",t.label||""),this.set("class",t.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",o.to("class")]},children:this.children}),t.icon&&(this.iconView=new Nu,this.iconView.content=t.icon,this.children.add(this.iconView));const i=new Au(e);i.setTemplate({tag:"h2",attributes:{class:["ck","ck-form__header__label"],role:"presentation"},children:[{text:o.to("label")}]}),this.children.add(i)}}class qu extends(xe()){focusables;focusTracker;keystrokeHandler;actions;constructor(e){if(super(),this.focusables=e.focusables,this.focusTracker=e.focusTracker,this.keystrokeHandler=e.keystrokeHandler,this.actions=e.actions,e.actions&&e.keystrokeHandler)for(const t in e.actions){let o=e.actions[t];"string"==typeof o&&(o=[o]);for(const i of o)e.keystrokeHandler.set(i,((e,o)=>{this[t](),o()}),e.keystrokeHandlerOptions)}this.on("forwardCycle",(()=>this.focusFirst()),{priority:"low"}),this.on("backwardCycle",(()=>this.focusLast()),{priority:"low"})}get first(){return this.focusables.find($u)||null}get last(){return this.focusables.filter($u).slice(-1)[0]||null}get next(){return this._getDomFocusableItem(1)}get previous(){return this._getDomFocusableItem(-1)}get current(){let e=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((t,o)=>{const i=t.element===this.focusTracker.focusedElement;return i&&(e=o),i})),e)}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const e=this.next;e&&this.focusables.getIndex(e)===this.current||e===this.first?this.fire("forwardCycle"):this._focus(e,1)}focusPrevious(){const e=this.previous;e&&this.focusables.getIndex(e)===this.current||e===this.last?this.fire("backwardCycle"):this._focus(e,-1)}chain(e){const t=()=>null===this.current?null:this.focusables.get(this.current);this.listenTo(e,"forwardCycle",(e=>{const o=t();this.focusNext(),o!==t()&&e.stop()}),{priority:"low"}),this.listenTo(e,"backwardCycle",(e=>{const o=t();this.focusPrevious(),o!==t()&&e.stop()}),{priority:"low"})}unchain(e){this.stopListening(e)}_focus(e,t){e&&this.focusTracker.focusedElement!==e.element&&e.focus(t)}_getDomFocusableItem(e){const t=this.focusables.length;if(!t)return null;const o=this.current;if(null===o)return this[1===e?"first":"last"];let i=this.focusables.get(o),n=(o+t+e)%t;do{const o=this.focusables.get(n);if($u(o)){i=o;break}n=(n+t+e)%t}while(n!==o);return i}}function $u(e){return Hu(e)&&Ct(e.element)}function Hu(e){return!(!("focus"in e)||"function"!=typeof e.focus)}class Wu extends Au{children;keystrokes;focusCycler;_focusTracker;_focusables;constructor(e){super(e),this.children=this.createCollection(),this.keystrokes=new ro,this._focusTracker=new oo,this._focusables=new tu,this.focusCycler=new qu({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__actions"]},children:this.children})}render(){super.render(),this.keystrokes.listenTo(this.element)}setButtons(e){for(const t of e){const e=new Lu(this.locale);let o;for(o in e.on("execute",(()=>t.onExecute())),t.onCreate&&t.onCreate(e),t)"onExecute"!=o&&"onCreate"!=o&&e.set(o,t[o]);this.children.add(e)}this._updateFocusCyclableItems()}focus(e){-1===e?this.focusCycler.focusLast():this.focusCycler.focusFirst()}_updateFocusCyclableItems(){Array.from(this.children).forEach((e=>{this._focusables.add(e),this._focusTracker.add(e.element)}))}}class Uu extends Au{children;constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__content"]},children:this.children})}reset(){for(;this.children.length;)this.children.remove(0)}}const Ku="screen-center",Gu="editor-center",Ju="editor-top-side",Zu="editor-top-center",Qu="editor-bottom-center",Yu="editor-above-center",Xu="editor-below-center",eh=yt("px");class th extends(Ru(Au)){parts;headerView;closeButtonView;actionsView;static defaultOffset=15;contentView;keystrokes;focusTracker;wasMoved=!1;_getCurrentDomRoot;_getViewportOffset;_focusables;_focusCycler;constructor(e,{getCurrentDomRoot:t,getViewportOffset:o,keystrokeHandlerOptions:i}){super(e);const n=this.bindTemplate,s=e.t;this.set("className",""),this.set("ariaLabel",s("Editor dialog")),this.set("isModal",!1),this.set("position",Ku),this.set("_isVisible",!1),this.set("_isTransparent",!1),this.set("_top",0),this.set("_left",0),this._getCurrentDomRoot=t,this._getViewportOffset=o,this.decorate("moveTo"),this.parts=this.createCollection(),this.keystrokes=new ro,this.focusTracker=new oo,this._focusables=new tu,this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"},keystrokeHandlerOptions:i}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog-overlay",n.if("isModal","ck-dialog-overlay__transparent",(e=>!e)),n.if("_isVisible","ck-hidden",(e=>!e))],tabindex:"-1"},children:[{tag:"div",attributes:{tabindex:"-1",class:["ck","ck-dialog",n.if("isModal","ck-dialog_modal"),n.to("className")],role:"dialog","aria-label":n.to("ariaLabel"),style:{top:n.to("_top",(e=>eh(e))),left:n.to("_left",(e=>eh(e))),visibility:n.if("_isTransparent","hidden")}},children:this.parts}]})}render(){super.render(),this.keystrokes.set("Esc",((e,t)=>{e.defaultPrevented||(this.fire("close",{source:"escKeyPress"}),t())})),this.on("drag",((e,{deltaX:t,deltaY:o})=>{this.wasMoved=!0,this.moveBy(t,o)})),this.listenTo(J.window,"resize",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.listenTo(J.document,"scroll",(()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()})),this.on("change:_isVisible",((e,t,o)=>{o&&(this._isTransparent=!0,setTimeout((()=>{this.updatePosition(),this._isTransparent=!1,this.focus()}),10))})),this.keystrokes.listenTo(this.element)}get dragHandleElement(){return this.headerView&&!this.isModal?this.headerView.element:null}setupParts({icon:e,title:t,hasCloseButton:o=!0,content:i,actionButtons:n}){t&&(this.headerView=new ju(this.locale,{icon:e}),o&&(this.closeButtonView=this._createCloseButton(),this.headerView.children.add(this.closeButtonView)),this.headerView.label=t,this.ariaLabel=t,this.parts.add(this.headerView,0)),i&&(i instanceof Au&&(i=[i]),this.contentView=new Uu(this.locale),this.contentView.children.addMany(i),this.parts.add(this.contentView)),n&&(this.actionsView=new Wu(this.locale),this.actionsView.setButtons(n),this.parts.add(this.actionsView)),this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(e,t){const o=this._getViewportRect(),i=this._getDialogRect();e+i.width>o.right&&(e=o.right-i.width),e{var t;this._focusables.add(e),this.focusTracker.add(e.element),Hu(t=e)&&"focusCycler"in t&&t.focusCycler instanceof qu&&this._focusCycler.chain(e.focusCycler)}))}_createCloseButton(){const e=new Lu(this.locale),t=this.locale.t;return e.set({label:t("Close"),tooltip:!0,icon:$c}),e.on("execute",(()=>this.fire("close",{source:"closeButton"}))),e}}class oh extends fc{view;static _visibleDialogPlugin;_onHide;static get pluginName(){return"Dialog"}static get isOfficialPlugin(){return!0}constructor(e){super(e);const t=e.t;this._initShowHideListeners(),this._initFocusToggler(),this._initMultiRootIntegration(),this.set({id:null,isOpen:!1}),e.accessibility.addKeystrokeInfos({categoryId:"navigation",keystrokes:[{label:t("Move focus in and out of an active dialog window"),keystroke:"Ctrl+F6",mayRequireFn:!0}]})}destroy(){super.destroy(),oh._visibleDialogPlugin===this&&this._unlockBodyScroll()}_initShowHideListeners(){this.on("show",((e,t)=>{this._show(t)})),this.on("show",((e,t)=>{t.onShow&&t.onShow(this)}),{priority:"low"}),this.on("hide",(()=>{oh._visibleDialogPlugin&&oh._visibleDialogPlugin._hide()})),this.on("hide",(()=>{this._onHide&&(this._onHide(this),this._onHide=void 0)}),{priority:"low"})}_initFocusToggler(){const e=this.editor;e.keystrokes.set("Ctrl+F6",((t,o)=>{this.isOpen&&!this.view.isModal&&(this.view.focusTracker.isFocused?e.editing.view.focus():this.view.focus(),o())}))}_initMultiRootIntegration(){const e=this.editor.model;e.document.on("change:data",(()=>{if(!this.view)return;const t=e.document.differ.getChangedRoots();for(const e of t)e.state&&this.view.updatePosition()}))}show(e){this.hide(),this.fire(`show:${e.id}`,e)}_show({id:e,icon:t,title:o,hasCloseButton:i=!0,content:n,actionButtons:s,className:r,isModal:a,position:l,onHide:c,keystrokeHandlerOptions:d}){const u=this.editor;this.view=new th(u.locale,{getCurrentDomRoot:()=>u.editing.view.getDomRoot(u.model.document.selection.anchor.root.rootName),getViewportOffset:()=>u.ui.viewportOffset,keystrokeHandlerOptions:d});const h=this.view;h.on("close",(()=>{this.hide()})),u.ui.view.body.add(h),u.keystrokes.listenTo(h.element),l||(l=a?Ku:Gu),a&&this._lockBodyScroll(),h.set({position:l,_isVisible:!0,className:r,isModal:a}),h.setupParts({icon:t,title:o,hasCloseButton:i,content:n,actionButtons:s}),this.id=e,c&&(this._onHide=c),this.isOpen=!0,oh._visibleDialogPlugin=this}hide(){oh._visibleDialogPlugin&&oh._visibleDialogPlugin.fire(`hide:${oh._visibleDialogPlugin.id}`)}_hide(){if(!this.view)return;const e=this.editor,t=this.view;t.isModal&&this._unlockBodyScroll(),t.contentView&&t.contentView.reset(),e.ui.view.body.remove(t),e.ui.focusTracker.remove(t.element),e.keystrokes.stopListening(t.element),t.destroy(),e.editing.view.focus(),this.id=null,this.isOpen=!1,oh._visibleDialogPlugin=null}_lockBodyScroll(){document.documentElement.classList.add("ck-dialog-scroll-locked")}_unlockBodyScroll(){document.documentElement.classList.remove("ck-dialog-scroll-locked")}}class ih extends Lu{_checkIconHolderView=new nh;constructor(e,t=new Bu){super(e,t),this.set({hasCheckSpace:!1,_hasCheck:this.isToggleable});const o=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-list-item-button",o.if("isToggleable","ck-list-item-button_toggleable")]}}),this.bind("_hasCheck").to(this,"hasCheckSpace",this,"isToggleable",((e,t)=>e||t))}render(){super.render(),this._hasCheck&&this.children.add(this._checkIconHolderView,0),this._watchCheckIconHolderMount()}_watchCheckIconHolderMount(){this._checkIconHolderView.bind("isOn").to(this,"isOn",(e=>this.isToggleable&&e)),this.on("change:_hasCheck",((e,t,o)=>{const{children:i,_checkIconHolderView:n}=this;o?i.add(n,0):i.remove(n)}))}}class nh extends Au{children;_checkIconView=this._createCheckIconView();constructor(){super();const e=this.bindTemplate;this.children=this.createCollection(),this.set("isOn",!1),this.setTemplate({tag:"span",children:this.children,attributes:{class:["ck","ck-list-item-button__check-holder",e.to("isOn",(e=>e?"ck-on":"ck-off"))]}})}render(){super.render(),this.isOn&&this.children.add(this._checkIconView,0),this._watchCheckIconMount()}_watchCheckIconMount(){this.on("change:isOn",((e,t,o)=>{const{children:i,_checkIconView:n}=this;o&&!i.has(n)?i.add(n):!o&&i.has(n)&&i.remove(n)}))}_createCheckIconView(){const e=new Nu;return e.content=Hc,e.extendTemplate({attributes:{class:"ck-list-item-button__check-icon"}}),e}}class sh extends ih{constructor(e){super(e),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}class rh extends fc{contentView=null;static get requires(){return[oh]}static get pluginName(){return"AccessibilityHelp"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t;e.ui.componentFactory.add("accessibilityHelp",(()=>{const e=this._createButton(Lu);return e.set({tooltip:!0,withText:!1,label:t("Accessibility help")}),e})),e.ui.componentFactory.add("menuBar:accessibilityHelp",(()=>{const e=this._createButton(sh);return e.label=t("Accessibility"),e})),e.keystrokes.set("Alt+0",((e,t)=>{this._toggleDialog(),t()})),this._setupRootLabels()}_createButton(e){const t=this.editor,o=t.plugins.get("Dialog"),i=new e(t.locale);return i.set({keystroke:"Alt+0",icon:zc,isToggleable:!0}),i.on("execute",(()=>this._toggleDialog())),i.bind("isOn").to(o,"id",(e=>"accessibilityHelp"===e)),i}_setupRootLabels(){const e=this.editor,t=e.editing.view,o=e.t;function i(e,t){const i=[t.getAttribute("aria-label"),o("Press %0 for help.",[Ut("Alt+0")])].filter((e=>e)).join(". ");e.setAttribute("aria-label",i,t)}e.ui.on("ready",(()=>{t.change((e=>{for(const o of t.document.roots)i(e,o)})),e.on("addRoot",((o,n)=>{const s=e.editing.view.document.getRoot(n.rootName);t.change((e=>i(e,s)))}),{priority:"low"})}))}_toggleDialog(){const e=this.editor,t=e.plugins.get("Dialog"),o=e.locale.t;this.contentView||(this.contentView=new Fu(e.locale,e.accessibility.keystrokeInfos)),"accessibilityHelp"===t.id?t.hide():t.show({id:"accessibilityHelp",className:"ck-accessibility-help-dialog",title:o("Accessibility help"),icon:zc,hasCloseButton:!0,content:this.contentView})}}class ah extends tu{locale;_bodyCollectionContainer;static _bodyWrapper;constructor(e,t=[]){super(t),this.locale=e}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new ou({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection,role:"application"},children:this}).render(),ah._bodyWrapper&&ah._bodyWrapper.isConnected||(ah._bodyWrapper=Ke(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(ah._bodyWrapper)),ah._bodyWrapper.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove(),ah._bodyWrapper&&!ah._bodyWrapper.childElementCount&&(ah._bodyWrapper.remove(),delete ah._bodyWrapper)}}const lh=yt("px"),ch={top:-99999,left:-99999,name:"arrowless",config:{withArrow:!1}};class dh extends Au{content;_pinWhenIsVisibleCallback;_resizeObserver;constructor(e){super(e);const t=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class",void 0),this._pinWhenIsVisibleCallback=null,this._resizeObserver=null,this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",t.to("position",(e=>`ck-balloon-panel_${e}`)),t.if("isVisible","ck-balloon-panel_visible"),t.if("withArrow","ck-balloon-panel_with-arrow"),t.to("class")],style:{top:t.to("top",lh),left:t.to("left",lh)}},children:this.content})}destroy(){this.hide(),super.destroy()}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(e){const t=uh(e.target);if(t&&!Ct(t))return!1;this.show();const o=dh.defaultPositions,i=Object.assign({},{element:this.element,positions:[o.southArrowNorth,o.southArrowNorthMiddleWest,o.southArrowNorthMiddleEast,o.southArrowNorthWest,o.southArrowNorthEast,o.northArrowSouth,o.northArrowSouthMiddleWest,o.northArrowSouthMiddleEast,o.northArrowSouthWest,o.northArrowSouthEast,o.viewportStickyNorth],limiter:J.document.body,fitInViewport:!0},e),n=dh._getOptimalPosition(i)||ch,s=parseInt(n.left),r=parseInt(n.top),a=n.name,l=n.config||{},{withArrow:c=!0}=l;return this.top=r,this.left=s,this.position=a,this.withArrow=c,!0}pin(e){this.unpin(),this._startPinning(e)&&(this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(e):this._stopPinning()},this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback))}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(e){if(!this.attachTo(e))return!1;let t=uh(e.target);const o=e.limiter?uh(e.limiter):J.document.body;if(this.listenTo(J.document,"scroll",((i,n)=>{const s=n.target,r=t&&s.contains(t),a=o&&s.contains(o);!r&&!a&&t&&o||this.attachTo(e)}),{useCapture:!0}),this.listenTo(J.window,"resize",(()=>{this.attachTo(e)})),!this._resizeObserver&&(t&&at(t)&&(t=t.parentElement),t)){const e=()=>{Ct(t)||this.unpin()};this._resizeObserver=new bt(t,e)}return!0}_stopPinning(){this.stopListening(J.document,"scroll"),this.stopListening(J.window,"resize"),this._resizeObserver&&(this._resizeObserver.destroy(),this._resizeObserver=null)}static generatePositions(e={}){const{sideOffset:t=dh.arrowSideOffset,heightOffset:o=dh.arrowHeightOffset,stickyVerticalOffset:i=dh.stickyVerticalOffset,config:n}=e;return{northWestArrowSouthWest:(e,o)=>({top:s(e,o),left:e.left-t,name:"arrow_sw",...n&&{config:n}}),northWestArrowSouthMiddleWest:(e,o)=>({top:s(e,o),left:e.left-.25*o.width-t,name:"arrow_smw",...n&&{config:n}}),northWestArrowSouth:(e,t)=>({top:s(e,t),left:e.left-t.width/2,name:"arrow_s",...n&&{config:n}}),northWestArrowSouthMiddleEast:(e,o)=>({top:s(e,o),left:e.left-.75*o.width+t,name:"arrow_sme",...n&&{config:n}}),northWestArrowSouthEast:(e,o)=>({top:s(e,o),left:e.left-o.width+t,name:"arrow_se",...n&&{config:n}}),northArrowSouthWest:(e,o)=>({top:s(e,o),left:e.left+e.width/2-t,name:"arrow_sw",...n&&{config:n}}),northArrowSouthMiddleWest:(e,o)=>({top:s(e,o),left:e.left+e.width/2-.25*o.width-t,name:"arrow_smw",...n&&{config:n}}),northArrowSouth:(e,t)=>({top:s(e,t),left:e.left+e.width/2-t.width/2,name:"arrow_s",...n&&{config:n}}),northArrowSouthMiddleEast:(e,o)=>({top:s(e,o),left:e.left+e.width/2-.75*o.width+t,name:"arrow_sme",...n&&{config:n}}),northArrowSouthEast:(e,o)=>({top:s(e,o),left:e.left+e.width/2-o.width+t,name:"arrow_se",...n&&{config:n}}),northEastArrowSouthWest:(e,o)=>({top:s(e,o),left:e.right-t,name:"arrow_sw",...n&&{config:n}}),northEastArrowSouthMiddleWest:(e,o)=>({top:s(e,o),left:e.right-.25*o.width-t,name:"arrow_smw",...n&&{config:n}}),northEastArrowSouth:(e,t)=>({top:s(e,t),left:e.right-t.width/2,name:"arrow_s",...n&&{config:n}}),northEastArrowSouthMiddleEast:(e,o)=>({top:s(e,o),left:e.right-.75*o.width+t,name:"arrow_sme",...n&&{config:n}}),northEastArrowSouthEast:(e,o)=>({top:s(e,o),left:e.right-o.width+t,name:"arrow_se",...n&&{config:n}}),southWestArrowNorthWest:e=>({top:r(e),left:e.left-t,name:"arrow_nw",...n&&{config:n}}),southWestArrowNorthMiddleWest:(e,o)=>({top:r(e),left:e.left-.25*o.width-t,name:"arrow_nmw",...n&&{config:n}}),southWestArrowNorth:(e,t)=>({top:r(e),left:e.left-t.width/2,name:"arrow_n",...n&&{config:n}}),southWestArrowNorthMiddleEast:(e,o)=>({top:r(e),left:e.left-.75*o.width+t,name:"arrow_nme",...n&&{config:n}}),southWestArrowNorthEast:(e,o)=>({top:r(e),left:e.left-o.width+t,name:"arrow_ne",...n&&{config:n}}),southArrowNorthWest:e=>({top:r(e),left:e.left+e.width/2-t,name:"arrow_nw",...n&&{config:n}}),southArrowNorthMiddleWest:(e,o)=>({top:r(e),left:e.left+e.width/2-.25*o.width-t,name:"arrow_nmw",...n&&{config:n}}),southArrowNorth:(e,t)=>({top:r(e),left:e.left+e.width/2-t.width/2,name:"arrow_n",...n&&{config:n}}),southArrowNorthMiddleEast:(e,o)=>({top:r(e),left:e.left+e.width/2-.75*o.width+t,name:"arrow_nme",...n&&{config:n}}),southArrowNorthEast:(e,o)=>({top:r(e),left:e.left+e.width/2-o.width+t,name:"arrow_ne",...n&&{config:n}}),southEastArrowNorthWest:e=>({top:r(e),left:e.right-t,name:"arrow_nw",...n&&{config:n}}),southEastArrowNorthMiddleWest:(e,o)=>({top:r(e),left:e.right-.25*o.width-t,name:"arrow_nmw",...n&&{config:n}}),southEastArrowNorth:(e,t)=>({top:r(e),left:e.right-t.width/2,name:"arrow_n",...n&&{config:n}}),southEastArrowNorthMiddleEast:(e,o)=>({top:r(e),left:e.right-.75*o.width+t,name:"arrow_nme",...n&&{config:n}}),southEastArrowNorthEast:(e,o)=>({top:r(e),left:e.right-o.width+t,name:"arrow_ne",...n&&{config:n}}),westArrowEast:(e,t)=>({top:e.top+e.height/2-t.height/2,left:e.left-t.width-o,name:"arrow_e",...n&&{config:n}}),eastArrowWest:(e,t)=>({top:e.top+e.height/2-t.height/2,left:e.right+o,name:"arrow_w",...n&&{config:n}}),viewportStickyNorth:(e,t,o)=>{const s=new ut(J.document.body).getIntersection(o.getVisible());if(!s)return null;const r=s.getVisible();return e.getIntersection(r)&&r.top-e.top-ithis._showBalloon()),50,{leading:!0});_lastFocusedEditableElement=null;_balloonClass;constructor(e,t={}){super(),this.editor=e,this._balloonClass=t.balloonClass,e.on("ready",(()=>this._handleEditorReady()))}destroy(){const e=this._balloonView;e&&(e.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const e=this.editor;this._isEnabled()&&e.ui.view&&(e.ui.focusTracker.on("change:isFocused",((e,t,o)=>{this._updateLastFocusedEditableElement(),o?this._showBalloon():this._hideBalloon()})),e.ui.focusTracker.on("change:focusedElement",((e,t,o)=>{this._updateLastFocusedEditableElement(),o&&this._showBalloon()})),e.ui.on("update",(()=>{this._showBalloonThrottled()})))}_getNormalizedConfig(){return{side:"ltr"===this.editor.locale.contentLanguageDirection?"right":"left",position:"border",verticalOffset:0,horizontalOffset:5}}_showBalloon(){const e=this._getBalloonAttachOptions();e&&(this._balloonView||(this._balloonView=this._createBalloonView()),this._balloonView.pin(e))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_createBalloonView(){const e=this.editor,t=new dh,o=this._createBadgeContent();return t.content.add(o),this._balloonClass&&(t.class=this._balloonClass),e.ui.view.body.add(t),t}_getBalloonAttachOptions(){if(!this._lastFocusedEditableElement)return null;const e=this._getNormalizedConfig(),t="right"===e.side?function(e,t){return mh(e,t,((e,o)=>e.left+e.width-o.width-t.horizontalOffset))}(this._lastFocusedEditableElement,e):function(e,t){return mh(e,t,(e=>e.left+t.horizontalOffset))}(this._lastFocusedEditableElement,e);return{target:this._lastFocusedEditableElement,positions:[t]}}_updateLastFocusedEditableElement(){const e=this.editor,t=e.ui.focusTracker.isFocused,o=e.ui.focusTracker.focusedElement;if(!t||!o)return void(this._lastFocusedEditableElement=null);const i=Array.from(e.ui.getEditableElementsNames()).map((t=>e.ui.getEditableElement(t)));i.includes(o)?this._lastFocusedEditableElement=o:this._lastFocusedEditableElement=i[0]}}function mh(e,t,o){return(i,n)=>{const s=new ut(e);if(s.width<350||s.height<50)return null;let r;r="inside"===t.position?s.bottom-n.height:s.bottom-n.height/2,r-=t.verticalOffset;const a=o(s,n),l=i.clone().moveTo(a,r).getIntersection(n.clone().moveTo(a,r)).getVisible();return!l||l.getArea()\n',isColorInherited:!1}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":!0},children:[{tag:"a",attributes:{href:"https://ckeditor.com/powered-by-ckeditor/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...t?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[t]}]:[],o],on:{dragstart:i.to((e=>e.preventDefault()))}}]})}}class fh extends Lu{toggleSwitchView;constructor(e){super(e),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const e=new Au;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),e}}class bh extends(yh(Lu)){}class wh extends(yh(ih)){}function yh(e){return class extends e{_fileInputView;constructor(...e){super(...e),this._fileInputView=new _h(this.locale),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",(()=>{this._fileInputView.open()})),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}}class _h extends Au{constructor(e){super(e),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:t.to("acceptedType"),multiple:t.to("allowMultipleFiles")},on:{change:t.to((()=>{this.element?.files?.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}class kh extends Au{buttonView;children;constructor(e,t){super(e);const o=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid",void 0),t&&this.children.addMany(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",o.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:o.if("isCollapsed","hidden"),"aria-labelledby":o.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}focus(){this.buttonView.focus()}_createButtonView(){const e=new Lu(this.locale),t=e.bindTemplate;return e.set({withText:!0,icon:Uc}),e.extendTemplate({attributes:{"aria-expanded":t.to("isOn",(e=>String(e)))}}),e.bind("label").to(this),e.bind("isOn").to(this,"isCollapsed",(e=>!e)),e.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),e}}function vh(e,t){const o=e.t,i={Black:o("Black"),"Dim grey":o("Dim grey"),Grey:o("Grey"),"Light grey":o("Light grey"),White:o("White"),Red:o("Red"),Orange:o("Orange"),Yellow:o("Yellow"),"Light green":o("Light green"),Green:o("Green"),Aquamarine:o("Aquamarine"),Turquoise:o("Turquoise"),"Light blue":o("Light blue"),Blue:o("Blue"),Purple:o("Purple")};return t.map((e=>{const t=i[e.label];return t&&t!=e.label&&(e.label=t),e}))}function Ch(e){return e.map(Ah).filter((e=>!!e))}function Ah(e){return"string"==typeof e?{model:e,label:e,hasBorder:!1,view:{name:"span",styles:{color:e}}}:{model:e.color,label:e.label||e.color,hasBorder:void 0!==e.hasBorder&&e.hasBorder,view:{name:"span",styles:{color:`${e.color}`}}}}class xh extends Lu{constructor(e){super(e);const t=this.bindTemplate;this.set("color",void 0),this.set("hasBorder",!1),this.icon='',this.extendTemplate({attributes:{style:{backgroundColor:t.to("color",(e=>Y.isMediaForcedColors?null:e))},class:["ck","ck-color-grid__tile",t.if("hasBorder","ck-color-selector__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}class Eh extends Au{columns;items;focusTracker;keystrokes;constructor(e,t){super(e);const o=t&&t.colorDefinitions?t.colorDefinitions:[];this.columns=t?.columns||5;const i={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set("selectedColor",void 0),this.items=this.createCollection(),this.focusTracker=new oo,this.keystrokes=new ro,this.items.on("add",((e,t)=>{t.isOn=t.color===this.selectedColor})),o.forEach((e=>{const t=new xh;t.set({color:e.color,label:e.label,tooltip:!0,hasBorder:e.options.hasBorder}),t.on("execute",(()=>{this.fire("execute",{value:e.color,hasBorder:e.options.hasBorder,label:e.label})})),this.items.add(t)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:i}}),this.on("change:selectedColor",((e,t,o)=>{for(const e of this.items)e.isOn=e.color===o}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element),Vu({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale?.uiLanguageDirection})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}function Th(e,t){if(!e)return"";const o=Ph(e);if(!o)return"";if(o.space===t)return e;if(i=o,!Object.keys(xd).includes(i.space))return"";var i;const n=xd[o.space][t];if(!n)return"";return function(e,t){switch(t){case"hex":return`#${e}`;case"rgb":return`rgb(${e[0]}, ${e[1]}, ${e[2]})`;case"hsl":return`hsl(${e[0]}, ${e[1]}%, ${e[2]}%)`;case"hwb":return`hwb(${e[0]}, ${e[1]}, ${e[2]})`;case"lab":return`lab(${e[0]}% ${e[1]} ${e[2]})`;case"lch":return`lch(${e[0]}% ${e[1]} ${e[2]})`;default:return""}}(n("hex"===o.space?o.hexValue:o.values),t)}function Ph(e){if(e.startsWith("#")){const t=ad(e);return{space:"hex",values:t.values,hexValue:e,alpha:t.alpha}}const t=ad(e);return t.space?t:null}class Sh extends Au{fieldView;labelView;statusView;fieldWrapperChildren;constructor(e,t){super(e);const o=`ck-labeled-field-view-${me()}`,i=`ck-labeled-field-view-status-${me()}`;this.fieldView=t(this,o,i),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(o),this.statusView=this._createStatusView(i),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",((e,t)=>e||t));const n=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",n.to("class"),n.if("isEnabled","ck-disabled",(e=>!e)),n.if("isEmpty","ck-labeled-field-view_empty"),n.if("isFocused","ck-labeled-field-view_focused"),n.if("placeholder","ck-labeled-field-view_placeholder"),n.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(e){const t=new Du(this.locale);return t.for=e,t.bind("text").to(this,"label"),t}_createStatusView(e){const t=new Au(this.locale),o=this.bindTemplate;return t.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",o.if("errorText","ck-labeled-field-view__status_error"),o.if("_statusText","ck-hidden",(e=>!e))],id:e,role:o.if("errorText","alert")},children:[{text:o.to("_statusText")}]}),t}focus(e){this.fieldView.focus(e)}}class Ih extends Au{focusTracker;constructor(e){super(e),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("tabIndex",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.set("ariaLabel",void 0),this.focusTracker=new oo,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",t.if("isFocused","ck-input_focused"),t.if("isEmpty","ck-input-text_empty"),t.if("hasError","ck-error")],id:t.to("id"),placeholder:t.to("placeholder"),tabindex:t.to("tabIndex"),readonly:t.to("isReadOnly"),"aria-invalid":t.if("hasError",!0),"aria-describedby":t.to("ariaDescribedById"),"aria-label":t.to("ariaLabel")},on:{input:t.to(((...e)=>{this.fire("input",...e),this._updateIsEmpty()})),change:t.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((e,t,o)=>{this._setDomElementValue(o),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="",this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(e){this.element.value=e||0===e?e:""}}class Rh extends Ih{constructor(e){super(e),this.set("inputMode","text");const t=this.bindTemplate;this.extendTemplate({attributes:{inputmode:t.to("inputMode")}})}}class Oh extends Rh{constructor(e){super(e),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class Vh extends Rh{constructor(e,{min:t,max:o,step:i}={}){super(e);const n=this.bindTemplate;this.set("min",t),this.set("max",o),this.set("step",i),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:n.to("min"),max:n.to("max"),step:n.to("step")}})}}class Dh extends Au{children;constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",t.to("position",(e=>`ck-dropdown__panel_${e}`)),t.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:t.to((e=>{const t=e.target;t instanceof Element&&"input"===t.tagName.toLocaleLowerCase()||e.preventDefault()}))}})}focus(){if(this.children.length){const e=this.children.first;"function"==typeof e.focus?e.focus():be("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const e=this.children.last;"function"==typeof e.focusLast?e.focusLast():e.focus()}}}class Fh extends Au{buttonView;panelView;focusTracker;keystrokes;listView;toolbarView;menuView;constructor(e,t,o){super(e);const i=this.bindTemplate;this.buttonView=t,this.panelView=o,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new ro,this.focusTracker=new oo,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",(e=>!e))],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[t,o]}),t.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":i.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.on("change:isOpen",((e,t,o)=>{if(o)if("auto"===this.panelPosition){const e=Fh._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=e?e.name:this._defaultPanelPositionName}else this.panelView.position=this.panelPosition})),this.keystrokes.listenTo(this.element);const e=(e,t)=>{this.isOpen&&(this.isOpen=!1,t())};this.keystrokes.set("arrowdown",((e,t)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,t())})),this.keystrokes.set("arrowright",((e,t)=>{this.isOpen&&t()})),this.keystrokes.set("arrowleft",e),this.keystrokes.set("esc",e)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:e,north:t,southEast:o,southWest:i,northEast:n,northWest:s,southMiddleEast:r,southMiddleWest:a,northMiddleEast:l,northMiddleWest:c}=Fh.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[o,i,r,a,e,n,s,l,c,t]:[i,o,a,r,e,s,n,c,l,t]}get _defaultPanelPositionName(){return"rtl"===this.locale.uiLanguageDirection?"sw":"se"}static defaultPanelPositions={south:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/2,name:"s"}),southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),southMiddleEast:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/4,name:"sme"}),southMiddleWest:(e,t)=>({top:e.bottom,left:e.left-3*(t.width-e.width)/4,name:"smw"}),north:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/2,name:"n"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),northMiddleEast:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/4,name:"nme"}),northMiddleWest:(e,t)=>({top:e.top-t.height,left:e.left-3*(t.width-e.width)/4,name:"nmw"})};static _getOptimalPosition=At}class Mh extends Lu{arrowView;constructor(e){super(e),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(e=>String(e)))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new Nu;return e.content=Uc,e.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),e}}class Nh extends Au{children;constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",t.if("isVisible","ck-hidden",(e=>!e))],role:"presentation"},children:this.children})}focus(){this.children.first&&this.children.first.focus()}}class Bh extends Au{constructor(e){super(e),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class Lh extends Au{labelView;items;children;constructor(e,t=new Du){super(e);const o=this.bindTemplate,i=new zh(e);this.set({label:"",isVisible:!0}),this.labelView=t,this.labelView.bind("text").to(this,"label"),this.children=this.createCollection(),this.children.addMany([this.labelView,i]),i.set({role:"group",ariaLabelledBy:t.id}),i.focusTracker.destroy(),i.keystrokes.destroy(),this.items=i.items,this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",o.if("isVisible","ck-hidden",(e=>!e))]},children:this.children})}focus(){if(this.items){const e=this.items.find((e=>!(e instanceof Bh)));e&&e.focus()}}}class zh extends Au{focusables;items;focusTracker;keystrokes;_focusCycler;_listItemGroupToChangeListeners=new WeakMap;constructor(e){super(e);const t=this.bindTemplate;this.focusables=new tu,this.items=this.createCollection(),this.focusTracker=new oo,this.keystrokes=new ro,this._focusCycler=new qu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",void 0),this.set("role",void 0),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:t.to("role"),"aria-label":t.to("ariaLabel"),"aria-labelledby":t.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const e of this.items)e instanceof Lh?this._registerFocusableItemsGroup(e):e instanceof Nh&&this._registerFocusableListItem(e);this.items.on("change",((e,t)=>{for(const e of t.removed)e instanceof Lh?this._deregisterFocusableItemsGroup(e):e instanceof Nh&&this._deregisterFocusableListItem(e);for(const e of Array.from(t.added).reverse())e instanceof Lh?this._registerFocusableItemsGroup(e,t.index):this._registerFocusableListItem(e,t.index)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(e,t){this.focusTracker.add(e.element),this.focusables.add(e,t)}_deregisterFocusableListItem(e){this.focusTracker.remove(e.element),this.focusables.remove(e)}_getOnGroupItemsChangeCallback(e){return(t,o)=>{for(const e of o.removed)this._deregisterFocusableListItem(e);for(const t of Array.from(o.added).reverse())this._registerFocusableListItem(t,this.items.getIndex(e)+o.index)}}_registerFocusableItemsGroup(e,t){Array.from(e.items).forEach(((e,o)=>{const i=void 0!==t?t+o:void 0;this._registerFocusableListItem(e,i)}));const o=this._getOnGroupItemsChangeCallback(e);this._listItemGroupToChangeListeners.set(e,o),e.items.on("change",o)}_deregisterFocusableItemsGroup(e){for(const t of e.items)this._deregisterFocusableListItem(t);e.items.off("change",this._listItemGroupToChangeListeners.get(e)),this._listItemGroupToChangeListeners.delete(e)}}class jh extends Au{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class qh extends Au{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function $h(e){if(Array.isArray(e))return{items:e,removeItems:[]};const t={items:[],removeItems:[]};return e?{...t,...e}:t}const Hh=(()=>({alignLeft:jc,bold:qc,importExport:'',paragraph:'',plus:'',text:'',threeVerticalDots:id,pilcrow:'',dragIndicator:''}))();class Wh extends Au{options;items;focusTracker;keystrokes;itemsView;children;focusables;_focusCycler;_behavior;constructor(e,t){super(e);const o=this.bindTemplate,i=this.t;this.options=t||{},this.set("ariaLabel",i("Editor toolbar")),this.set("maxWidth","auto"),this.set("role","toolbar"),this.set("isGrouping",!!this.options.shouldGroupWhenFull),this.items=this.createCollection(),this.focusTracker=new oo,this.keystrokes=new ro,this.set("class",void 0),this.set("isCompact",!1),this.set("isVertical",!1),this.itemsView=new Uh(e),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const n="rtl"===e.uiLanguageDirection;this._focusCycler=new qu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[n?"arrowright":"arrowleft","arrowup"],focusNext:[n?"arrowleft":"arrowright","arrowdown"]}});const s=["ck","ck-toolbar",o.to("class"),o.if("isCompact","ck-toolbar_compact"),o.if("isGrouping","ck-toolbar_grouping"),o.if("isVertical","ck-toolbar_vertical")];var r;this.options.shouldGroupWhenFull&&this.options.isFloating&&s.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:s,role:o.to("role"),"aria-label":o.to("ariaLabel"),style:{maxWidth:o.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:(r=this,r.bindTemplate.to((e=>{e.target===r.element&&e.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new Gh(this):new Kh(this)}render(){super.render(),this.focusTracker.add(this.element);for(const e of this.items)this.focusTracker.add(e);this.items.on("add",((e,t)=>{this.focusTracker.add(t)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(e,t,o){this.items.addMany(this._buildItemsFromConfig(e,t,o))}switchBehavior(e){this._behavior.type!==e&&(this._behavior.destroy(),this.itemsView.children.clear(),this.focusables.clear(),"dynamic"===e?(this._behavior=new Gh(this),this._behavior.render(this),this._behavior.refreshItems()):(this._behavior=new Kh(this),this._behavior.render(this)))}_buildItemsFromConfig(e,t,o){const i=$h(e),n=o||i.removeItems;return this._cleanItemsConfiguration(i.items,t,n).map((e=>s(e)?this._createNestedToolbarDropdown(e,t,n):"|"===e?new jh:"-"===e?new qh:t.create(e))).filter((e=>!!e))}_cleanItemsConfiguration(e,t,o){const i=e.filter(((e,i,n)=>"|"===e||-1===o.indexOf(e)&&("-"===e?!this.options.shouldGroupWhenFull||(be("toolbarview-line-break-ignored-when-grouping-items",n),!1):!(!s(e)&&!t.has(e))||(be("toolbarview-item-unavailable",{item:e}),!1))));return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(e){const t=e=>"-"!==e&&"|"!==e,o=e.length,i=e.findIndex(t);if(-1===i)return[];const n=o-e.slice().reverse().findIndex(t);return e.slice(i,n).filter(((e,o,i)=>{if(t(e))return!0;return!(o>0&&i[o-1]===e)}))}_createNestedToolbarDropdown(e,t,o){let{label:i,icon:n,items:s,tooltip:r=!0,withText:a=!1}=e;if(s=this._cleanItemsConfiguration(s,t,o),!s.length)return null;const l=Zh(this.locale);return i||be("toolbarview-nested-toolbar-dropdown-missing-label",e),l.class="ck-toolbar__nested-toolbar-dropdown",l.buttonView.set({label:i,tooltip:r,withText:!!a}),!1!==n?l.buttonView.icon=Hh[n]||n||id:l.buttonView.withText=!0,Qh(l,(()=>l.toolbarView._buildItemsFromConfig(s,t,o))),l}}class Uh extends Au{children;constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class Kh{type="static";constructor(e){e.isGrouping=!1,e.itemsView.children.bindTo(e.items).using((e=>e)),e.focusables.bindTo(e.items).using((e=>Hu(e)?e:null))}render(){}destroy(){}}class Gh{type="dynamic";view;viewChildren;viewFocusables;viewItemsView;viewFocusTracker;viewLocale;ungroupedItems;groupedItems;groupedItemsDropdown;resizeObserver=null;cachedPadding=null;shouldUpdateGroupingOnNextResize=!1;viewElement;constructor(e){this.view=e,this.viewChildren=e.children,this.viewFocusables=e.focusables,this.viewItemsView=e.itemsView,this.viewFocusTracker=e.focusTracker,this.viewLocale=e.locale,this.view.isGrouping=!0,this.ungroupedItems=e.createCollection(),this.groupedItems=e.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),e.itemsView.children.bindTo(this.ungroupedItems).using((e=>e)),this.ungroupedItems.on("change",this._updateFocusCyclableItems.bind(this)),e.children.on("change",this._updateFocusCyclableItems.bind(this)),e.items.on("change",((e,t)=>{const o=t.index,i=Array.from(t.added);for(const e of t.removed)o>=this.ungroupedItems.length?this.groupedItems.remove(e):this.ungroupedItems.remove(e);for(let e=o;ethis.ungroupedItems.length?this.groupedItems.add(t,e-this.ungroupedItems.length):this.ungroupedItems.add(t,e)}this._updateGrouping()}))}render(e){this.viewElement=e.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(e)}destroy(){this.groupedItemsDropdown.destroy(),this.viewChildren.length>1&&(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last)),this.resizeObserver.destroy()}refreshItems(){const e=this.view;if(e.items.length){for(let t=0;ti.right-this.cachedPadding:o.left{e&&e===t.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),e=t.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(e){e.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new jh),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const e=this.viewLocale,t=e.t,o=Zh(e);return o.class="ck-toolbar__grouped-dropdown",o.panelPosition="ltr"===e.uiLanguageDirection?"sw":"se",Qh(o,this.groupedItems),o.buttonView.set({label:t("Show more items"),tooltip:!0,tooltipPosition:"rtl"===e.uiLanguageDirection?"se":"sw",icon:id}),o}_updateFocusCyclableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((e=>{Hu(e)&&this.viewFocusables.add(e)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}class Jh extends Au{children;actionView;arrowView;keystrokes;focusTracker;constructor(e,t){super(e);const o=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(t),this.arrowView=this._createArrowView(),this.keystrokes=new ro,this.focusTracker=new oo,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",o.to("class"),o.if("isVisible","ck-hidden",(e=>!e)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",((e,t)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),t())})),this.keystrokes.set("arrowleft",((e,t)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),t())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(e){const t=e||new Lu;return e||t.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),t.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),t.delegate("execute").to(this),t}_createArrowView(){const e=new Lu,t=e.bindTemplate;return e.icon=Uc,e.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":t.to("isOn"),"aria-haspopup":!0,"aria-expanded":t.to("isOn",(e=>String(e)))}}),e.bind("isEnabled").to(this),e.bind("label").to(this),e.bind("tooltip").to(this),e.delegate("execute").to(this,"open"),e}}function Zh(e,t=Mh){const o="function"==typeof t?new t(e):t,i=new Dh(e),n=new Fh(e,o,i);return o.bind("isEnabled").to(n),o instanceof Jh?o.arrowView.bind("isOn").to(n,"isOpen"):o.bind("isOn").to(n,"isOpen"),function(e){(function(e){Su({emitter:e,activator:()=>e.isRendered&&e.isOpen,callback:()=>{e.isOpen=!1},contextElements:()=>[e.element,...om(e.focusTracker).filter((t=>!e.element.contains(t)))]})})(e),function(e){e.on("execute",(t=>{t.source instanceof fh||(e.isOpen=!1)}))}(e),function(e){e.focusTracker.on("change:isFocused",((t,o,i)=>{!i&&e.isOpen&&(e.isOpen=!1)}))}(e),function(e){e.keystrokes.set("arrowdown",((t,o)=>{e.isOpen&&(e.panelView.focus(),o())})),e.keystrokes.set("arrowup",((t,o)=>{e.isOpen&&(e.panelView.focusLast(),o())}))}(e),function(e){e.on("change:isOpen",((t,o,i)=>{if(i)return;e.focusTracker.elements.some((e=>e.contains(J.document.activeElement)))&&e.buttonView.focus()}))}(e),function(e){e.on("change:isOpen",((t,o,i)=>{i&&e.panelView.focus()}),{priority:"low"})}(e)}(n),n}function Qh(e,t,o={}){e.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),e.isOpen?Yh(e,t,o):e.once("change:isOpen",(()=>Yh(e,t,o)),{priority:"highest"}),o.enableActiveItemFocusOnDropdownOpen&&tm(e,(()=>e.toolbarView.items.find((e=>e.isOn))))}function Yh(e,t,o){const i=e.locale,n=i.t,s=e.toolbarView=new Wh(i),r="function"==typeof t?t():t;s.ariaLabel=o.ariaLabel||n("Dropdown toolbar"),o.maxWidth&&(s.maxWidth=o.maxWidth),o.class&&(s.class=o.class),o.isCompact&&(s.isCompact=o.isCompact),o.isVertical&&(s.isVertical=!0),r instanceof tu?s.items.bindTo(r).using((e=>e)):s.items.addMany(r),e.panelView.children.add(s),e.focusTracker.add(s),s.items.delegate("execute").to(e)}function Xh(e,t,o={}){e.isOpen?em(e,t,o):e.once("change:isOpen",(()=>em(e,t,o)),{priority:"highest"}),tm(e,(()=>e.listView.items.find((e=>e instanceof Nh&&e.children.first.isOn))))}function em(e,t,o){const i=e.locale,n=e.listView=new zh(i),s="function"==typeof t?t():t;n.ariaLabel=o.ariaLabel,n.role=o.role,im(e,n.items,s,i),e.panelView.children.add(n),n.items.delegate("execute").to(e)}function tm(e,t){e.on("change:isOpen",(()=>{if(!e.isOpen)return;const o=t();o&&("function"==typeof o.focus?o.focus():be("ui-dropdown-focus-child-on-open-child-missing-focus",{view:o}))}),{priority:ge.low-10})}function om(e){return[...e.elements,...e.externalViews.flatMap((e=>om(e.focusTracker)))]}function im(e,t,o,i){!function(e){let t=0;const o=e=>e instanceof Nh&&e.children.first instanceof ih?e.children.first:null,i=e=>{const t=o(e);return t&&t.isToggleable?t:null},n=t=>{for(const i of e){const e=o(i);e&&(e.hasCheckSpace=t)}};e.on("change",((e,s)=>{const r=t>0;for(const e of s.removed)i(e)&&t--;for(const e of s.added){const i=o(e);i&&(i.isToggleable&&t++,i.hasCheckSpace=t>0)}const a=t>0;r!==a&&n(a)}))}(t),t.bindTo(o).using((t=>{if("separator"===t.type)return new Bh(i);if("group"===t.type){const o=new Lh(i);return o.set({label:t.label}),im(e,o.items,t.items,i),o.items.delegate("execute").to(e),o}if("button"===t.type||"switchbutton"===t.type){const e="menuitemcheckbox"===t.model.role||"menuitemradio"===t.model.role,o=new Nh(i);let n;return"button"===t.type?(n=new ih(i,t.labelView),n.set({isToggleable:e})):n=new fh(i),n.bind(...Object.keys(t.model)).to(t.model),n.delegate("execute").to(o),o.children.add(n),o}return null}))}const nm=(e,t,o)=>{const i=new Oh(e.locale);return i.set({id:t,ariaDescribedById:o}),i.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),i.bind("hasError").to(e,"errorText",(e=>!!e)),i.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(i),i},sm=(e,t,o)=>{const i=new Vh(e.locale);return i.set({id:t,ariaDescribedById:o,inputMode:"numeric"}),i.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),i.bind("hasError").to(e,"errorText",(e=>!!e)),i.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(i),i},rm=(e,t,o)=>{const i=Zh(e.locale);return i.set({id:t,ariaDescribedById:o}),i.bind("isEnabled").to(e),i};class am extends Au{hexInputRow;_debounceColorPickerEvent;_config;constructor(e,t={}){super(e),this.set({color:"",_hexColor:""}),this.hexInputRow=this._createInputRow();const o=this.createCollection();t.hideInput||o.add(this.hexInputRow),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker"],tabindex:-1},children:o}),this._config=t,this._debounceColorPickerEvent=zo((e=>{this.set("color",e),this.fire("colorSelected",{color:this.color})}),150,{leading:!0}),this.on("set:color",((e,t,o)=>{e.return=Th(o,this._config.format||"hsl")})),this.on("change:color",(()=>{this._hexColor=lm(this.color)})),this.on("change:_hexColor",(()=>{document.activeElement!==this.picker&&this.picker.setAttribute("color",this._hexColor),lm(this.color)!=lm(this._hexColor)&&(this.color=this._hexColor)}))}render(){var e,t;if(super.render(),e="hex-color-picker",t=eu,void 0===customElements.get(e)&&customElements.define(e,t),this.picker=J.document.createElement("hex-color-picker"),this.picker.setAttribute("class","hex-color-picker"),this.picker.setAttribute("tabindex","-1"),this._createSlidersView(),this.element){this.hexInputRow.element?this.element.insertBefore(this.picker,this.hexInputRow.element):this.element.appendChild(this.picker);const e=document.createElement("style");e.textContent='[role="slider"]:focus [part$="pointer"] {border: 1px solid #fff;outline: 1px solid var(--ck-color-focus-border);box-shadow: 0 0 0 2px #fff;}',this.picker.shadowRoot.appendChild(e)}this.picker.addEventListener("color-changed",(e=>{const t=e.detail.value;this._debounceColorPickerEvent(t)}))}focus(){if(!this._config.hideInput&&(Y.isGecko||Y.isiOS||Y.isSafari||Y.isBlink)){this.hexInputRow.children.get(1).focus()}this.slidersView.first.focus()}_createSlidersView(){const e=[...this.picker.shadowRoot.children].filter((e=>"slider"===e.getAttribute("role"))).map((e=>new cm(e)));this.slidersView=this.createCollection(),e.forEach((e=>{this.slidersView.add(e)}))}_createInputRow(){const e=this._createColorInput();return new um(this.locale,e)}_createColorInput(){const e=new Sh(this.locale,nm),{t}=this.locale;return e.set({label:t("HEX"),class:"color-picker-hex-input"}),e.fieldView.bind("value").to(this,"_hexColor",(t=>e.isFocused?e.fieldView.value:t.startsWith("#")?t.substring(1):t)),e.fieldView.on("input",(()=>{const t=e.fieldView.element.value;if(t){const e=hm(t);e&&this._debounceColorPickerEvent(e)}})),e}isValid(){const{t:e}=this.locale;return!!this._config.hideInput||(this.resetValidationStatus(),!!this.hexInputRow.getParsedColor()||(this.hexInputRow.inputView.errorText=e('Please enter a valid color (e.g. "ff0000").'),!1))}resetValidationStatus(){this.hexInputRow.inputView.errorText=null}}function lm(e){let t=function(e){if(!e)return"";const t=Ph(e);return t?"hex"===t.space?t.hexValue:Th(e,"hex"):"#000"}(e);return t||(t="#000"),4===t.length&&(t="#"+[t[1],t[1],t[2],t[2],t[3],t[3]].join("")),t.toLowerCase()}class cm extends Au{constructor(e){super(),this.element=e}focus(){this.element.focus()}}class dm extends Au{constructor(e){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class um extends Au{children;inputView;constructor(e,t){super(e),this.inputView=t,this.children=this.createCollection([new dm,this.inputView]),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}getParsedColor(){return hm(this.inputView.fieldView.element.value)}}function hm(e){if(!e)return null;const t=e.trim().replace(/^#/,"");return[3,4,6,8].includes(t.length)&&/^(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})$/.test(t)?`#${t}`:null}class mm extends(Be(eo)){constructor(e){super(e),this.set("isEmpty",!0),this.on("change",(()=>{this.set("isEmpty",0===this.length)}))}add(e,t){return this.find((t=>t.color===e.color))?this:super.add(e,t)}hasColor(e){return!!this.find((t=>t.color===e))}}class gm extends Au{items;colorDefinitions;focusTracker;columns;documentColors;documentColorsCount;staticColorsGrid;documentColorsGrid;colorPickerButtonView;removeColorButtonView;_focusables;_documentColorsLabel;_removeButtonLabel;_colorPickerLabel;constructor(e,{colors:t,columns:o,removeButtonLabel:i,documentColorsLabel:n,documentColorsCount:s,colorPickerLabel:r,focusTracker:a,focusables:l}){super(e);const c=this.bindTemplate;this.set("isVisible",!0),this.focusTracker=a,this.items=this.createCollection(),this.colorDefinitions=t,this.columns=o,this.documentColors=new mm,this.documentColorsCount=s,this._focusables=l,this._removeButtonLabel=i,this._colorPickerLabel=r,this._documentColorsLabel=n,this.setTemplate({tag:"div",attributes:{class:["ck-color-grids-fragment",c.if("isVisible","ck-hidden",(e=>!e))]},children:this.items}),this.removeColorButtonView=this._createRemoveColorButton(),this.items.add(this.removeColorButtonView)}updateDocumentColors(e,t){const o=e.document,i=this.documentColorsCount;this.documentColors.clear();for(const n of o.getRoots()){const o=e.createRangeIn(n);for(const e of o.getItems())if(e.is("$textProxy")&&e.hasAttribute(t)&&(this._addColorToDocumentColors(e.getAttribute(t)),this.documentColors.length>=i))return}}updateSelectedColors(){const e=this.documentColorsGrid,t=this.staticColorsGrid,o=this.selectedColor;t.selectedColor=o,e&&(e.selectedColor=o)}render(){if(super.render(),this.staticColorsGrid=this._createStaticColorsGrid(),this.items.add(this.staticColorsGrid),this.documentColorsCount){const e=ou.bind(this.documentColors,this.documentColors),t=new Au(this.locale);t.setTemplate({tag:"span",attributes:{class:["ck","ck-color-grid__label",e.if("isEmpty","ck-hidden")]},children:[{text:this._documentColorsLabel}]}),this.items.add(t),this.documentColorsGrid=this._createDocumentColorsGrid(),this.items.add(this.documentColorsGrid)}this._createColorPickerButton(),this._addColorSelectorElementsToFocusTracker()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){this.colorPickerButtonView&&(this.items.add(this.colorPickerButtonView),this.focusTracker.add(this.colorPickerButtonView.element),this._focusables.add(this.colorPickerButtonView))}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element),this._focusables.add(this.removeColorButtonView),this.staticColorsGrid&&(this.focusTracker.add(this.staticColorsGrid.element),this._focusables.add(this.staticColorsGrid)),this.documentColorsGrid&&(this.focusTracker.add(this.documentColorsGrid.element),this._focusables.add(this.documentColorsGrid))}_createColorPickerButton(){this.colorPickerButtonView=new Lu,this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:!0,icon:'',class:"ck-color-selector__color-picker"}),this.colorPickerButtonView.on("execute",(()=>{this.fire("colorPicker:show")}))}_createRemoveColorButton(){const e=new Lu;return e.set({withText:!0,icon:'',label:this._removeButtonLabel}),e.class="ck-color-selector__remove-color",e.on("execute",(()=>{this.fire("execute",{value:null,source:"removeColorButton"})})),e.render(),e}_createStaticColorsGrid(){const e=new Eh(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});return e.on("execute",((e,t)=>{this.fire("execute",{value:t.value,source:"staticColorsGrid"})})),e}_createDocumentColorsGrid(){const e=ou.bind(this.documentColors,this.documentColors),t=new Eh(this.locale,{columns:this.columns});return t.extendTemplate({attributes:{class:e.if("isEmpty","ck-hidden")}}),t.items.bindTo(this.documentColors).using((e=>{const t=new xh;return t.set({color:e.color,hasBorder:e.options?.hasBorder}),e.label&&t.set({label:e.label,tooltip:!0}),t.on("execute",(()=>{this.fire("execute",{value:e.color,source:"documentColorsGrid"})})),t})),this.documentColors.on("change:isEmpty",((e,o,i)=>{i&&(t.selectedColor=null)})),t}_addColorToDocumentColors(e){const t=this.colorDefinitions.find((t=>t.color===e));t?this.documentColors.add(Object.assign({},t)):this.documentColors.add({color:e,label:e,options:{hasBorder:!1}})}}class pm extends Au{items;colorPickerView;saveButtonView;cancelButtonView;actionBarView;focusTracker;keystrokes;_focusables;_colorPickerViewConfig;constructor(e,{focusTracker:t,focusables:o,keystrokes:i,colorPickerViewConfig:n}){super(e),this.items=this.createCollection(),this.focusTracker=t,this.keystrokes=i,this.set("isVisible",!1),this.set("selectedColor",void 0),this._focusables=o,this._colorPickerViewConfig=n;const s=this.bindTemplate,{saveButtonView:r,cancelButtonView:a}=this._createActionButtons();this.saveButtonView=r,this.cancelButtonView=a,this.actionBarView=this._createActionBarView({saveButtonView:r,cancelButtonView:a}),this.setTemplate({tag:"div",attributes:{class:["ck-color-picker-fragment",s.if("isVisible","ck-hidden",(e=>!e))]},children:this.items})}render(){super.render();const e=new am(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=e,this.colorPickerView.render(),this.selectedColor&&(e.color=this.selectedColor),this.listenTo(this,"change:selectedColor",((t,o,i)=>{e.color=i})),this.items.add(this.colorPickerView),this.items.add(this.actionBarView),this._addColorPickersElementsToFocusTracker(),this._stopPropagationOnArrowsKeys(),this._executeOnEnterPress(),this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}resetValidationStatus(){this.colorPickerView.resetValidationStatus()}_executeOnEnterPress(){this.keystrokes.set("enter",(e=>{this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element&&this.colorPickerView.isValid()&&(this.fire("execute",{value:this.selectedColor}),e.stopPropagation(),e.preventDefault())}))}_stopPropagationOnArrowsKeys(){const e=e=>e.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}_addColorPickersElementsToFocusTracker(){for(const e of this.colorPickerView.slidersView)this.focusTracker.add(e.element),this._focusables.add(e);const e=this.colorPickerView.hexInputRow.children.get(1);e.element&&(this.focusTracker.add(e.element),this._focusables.add(e)),this.focusTracker.add(this.saveButtonView.element),this._focusables.add(this.saveButtonView),this.focusTracker.add(this.cancelButtonView.element),this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:e,cancelButtonView:t}){const o=new Au,i=this.createCollection();return i.add(e),i.add(t),o.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector_action-bar"]},children:i}),o}_createActionButtons(){const e=this.locale,t=e.t,o=new Lu(e),i=new Lu(e);return o.set({icon:Hc,class:"ck-button-save",type:"button",withText:!1,label:t("Accept")}),i.set({icon:$c,class:"ck-button-cancel",type:"button",withText:!1,label:t("Cancel")}),o.on("execute",(()=>{this.colorPickerView.isValid()&&this.fire("execute",{source:"colorPickerSaveButton",value:this.selectedColor})})),i.on("execute",(()=>{this.fire("colorPicker:cancel")})),{saveButtonView:o,cancelButtonView:i}}_executeUponColorChange(){this.colorPickerView.on("colorSelected",((e,t)=>{this.fire("execute",{value:t.color,source:"colorPicker"}),this.set("selectedColor",t.color)}))}}class fm extends Au{focusTracker;keystrokes;items;colorGridsFragmentView;colorPickerFragmentView;_focusCycler;_focusables;_colorPickerViewConfig;constructor(e,{colors:t,columns:o,removeButtonLabel:i,documentColorsLabel:n,documentColorsCount:s,colorPickerLabel:r,colorPickerViewConfig:a}){super(e),this.items=this.createCollection(),this.focusTracker=new oo,this.keystrokes=new ro,this._focusables=new tu,this._colorPickerViewConfig=a,this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.colorGridsFragmentView=new gm(e,{colors:t,columns:o,removeButtonLabel:i,documentColorsLabel:n,documentColorsCount:s,colorPickerLabel:r,focusTracker:this.focusTracker,focusables:this._focusables}),this.colorPickerFragmentView=new pm(e,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:a}),this.set("_isColorGridsFragmentVisible",!0),this.set("_isColorPickerFragmentVisible",!1),this.set("selectedColor",void 0),this.colorGridsFragmentView.bind("isVisible").to(this,"_isColorGridsFragmentVisible"),this.colorPickerFragmentView.bind("isVisible").to(this,"_isColorPickerFragmentVisible"),this.on("change:selectedColor",((e,t,o)=>{this.colorGridsFragmentView.set("selectedColor",o),this.colorPickerFragmentView.set("selectedColor",o)})),this.colorGridsFragmentView.on("change:selectedColor",((e,t,o)=>{this.set("selectedColor",o)})),this.colorPickerFragmentView.on("change:selectedColor",((e,t,o)=>{this.set("selectedColor",o)})),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector"]},children:this.items})}render(){super.render(),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment(),this._colorPickerViewConfig&&this._appendColorPickerFragment()}showColorPickerFragment(){this.colorPickerFragmentView.colorPickerView&&!this._isColorPickerFragmentVisible&&(this._isColorPickerFragmentVisible=!0,this.colorPickerFragmentView.focus(),this.colorPickerFragmentView.resetValidationStatus(),this._isColorGridsFragmentVisible=!1)}showColorGridsFragment(){this._isColorGridsFragmentVisible||(this._isColorGridsFragmentVisible=!0,this.colorGridsFragmentView.focus(),this._isColorPickerFragmentVisible=!1)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(e,t){this.colorGridsFragmentView.updateDocumentColors(e,t)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){this.items.length||(this.items.add(this.colorGridsFragmentView),this.colorGridsFragmentView.delegate("execute").to(this),this.colorGridsFragmentView.delegate("colorPicker:show").to(this))}_appendColorPickerFragment(){2!==this.items.length&&(this.items.add(this.colorPickerFragmentView),this.colorGridsFragmentView.colorPickerButtonView&&this.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{this.showColorPickerFragment()})),this.colorGridsFragmentView.addColorPickerButton(),this.colorPickerFragmentView.delegate("execute").to(this),this.colorPickerFragmentView.delegate("colorPicker:cancel").to(this))}}class bm{editor;_components=new Map;constructor(e){this.editor=e}*names(){for(const e of this._components.values())yield e.originalName}add(e,t){this._components.set(wm(e),{callback:t,originalName:e})}create(e){if(!this.has(e))throw new fe("componentfactory-item-missing",this,{name:e});return this._components.get(wm(e)).callback(this.editor.locale)}has(e){return this._components.has(wm(e))}}function wm(e){return String(e).toLowerCase()}const ym="ck-tooltip";class _m extends(et()){tooltipTextView;balloonPanelView;static defaultBalloonPositions=dh.generatePositions({heightOffset:5,sideOffset:13});_currentElementWithTooltip=null;_currentTooltipPosition=null;_mutationObserver=null;_pinTooltipDebounced;_unpinTooltipDebounced;_watchdogExcluded;static _editors=new Set;static _instance=null;constructor(e){if(super(),_m._editors.add(e),_m._instance)return _m._instance;_m._instance=this,this.tooltipTextView=new Au(e.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new dh(e.locale),this.balloonPanelView.class=ym,this.balloonPanelView.content.add(this.tooltipTextView),this._mutationObserver=function(e){const t=new MutationObserver((()=>{e()}));return{attach(e){t.observe(e,{attributes:!0,attributeFilter:["data-cke-tooltip-text","data-cke-tooltip-position"]})},detach(){t.disconnect()}}}((()=>{this._updateTooltipPosition()})),this._pinTooltipDebounced=zo(this._pinTooltip,600),this._unpinTooltipDebounced=zo(this._unpinTooltip,400),this.listenTo(J.document,"keydown",this._onKeyDown.bind(this),{useCapture:!0}),this.listenTo(J.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(J.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(J.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(J.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(J.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(e){const t=e.ui.view&&e.ui.view.body;_m._editors.delete(e),this.stopListening(e.ui),t&&t.has(this.balloonPanelView)&&t.remove(this.balloonPanelView),_m._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),_m._instance=null)}static getPositioningFunctions(e){const t=_m.defaultBalloonPositions;return{s:[t.southArrowNorth,t.southArrowNorthEast,t.southArrowNorthWest],n:[t.northArrowSouth],e:[t.eastArrowWest],w:[t.westArrowEast],sw:[t.southArrowNorthEast],se:[t.southArrowNorthWest]}[e]}_onKeyDown(e,t){"Escape"===t.key&&this._currentElementWithTooltip&&(this._unpinTooltip(),t.stopPropagation())}_onEnterOrFocus(e,{target:t}){const o=km(t);o?o!==this._currentElementWithTooltip?(this._unpinTooltip(),"focus"===e.name&&!o.matches(":hover")||o.matches("[data-cke-tooltip-instant]")?this._pinTooltip(o,vm(o)):this._pinTooltipDebounced(o,vm(o))):this._unpinTooltipDebounced.cancel():"focus"===e.name&&this._unpinTooltip()}_onLeaveOrBlur(e,{target:t,relatedTarget:o}){if("mouseleave"===e.name){if(!L(t))return;const e=this.balloonPanelView.element,i=e&&(e===o||e.contains(o)),n=!i&&t===e;if(i)return void this._unpinTooltipDebounced.cancel();if(!n&&this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;const s=km(t),r=km(o);(n||s&&s!==r)&&(this._pinTooltipDebounced.cancel(),this._currentElementWithTooltip&&this._currentElementWithTooltip.matches("[data-cke-tooltip-instant]")||s&&s.matches("[data-cke-tooltip-instant]")?this._unpinTooltip():this._unpinTooltipDebounced())}else{if(this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;this._pinTooltipDebounced.cancel(),this._unpinTooltipDebounced()}}_onScroll(e,{target:t}){this._currentElementWithTooltip&&(t.contains(this.balloonPanelView.element)&&t.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(e,{text:t,position:o,cssClass:i}){this._unpinTooltip();const n=to(_m._editors.values()).ui.view.body;n.has(this.balloonPanelView)||n.add(this.balloonPanelView),this.tooltipTextView.text=t,this.balloonPanelView.class=[ym,i].filter((e=>e)).join(" "),this.balloonPanelView.pin({target:e,positions:_m.getPositioningFunctions(o)}),this._mutationObserver.attach(e);for(const e of _m._editors)this.listenTo(e.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=e,this._currentTooltipPosition=o}_unpinTooltip(){this._unpinTooltipDebounced.cancel(),this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const e of _m._editors)this.stopListening(e.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this.tooltipTextView.text="",this._mutationObserver.detach()}_updateTooltipPosition(){if(!this._currentElementWithTooltip)return;const e=vm(this._currentElementWithTooltip);Ct(this._currentElementWithTooltip)&&e.text?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:_m.getPositioningFunctions(e.position)}):this._unpinTooltip()}}function km(e){return L(e)?e.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}function vm(e){return{text:e.dataset.ckeTooltipText,position:e.dataset.ckeTooltipPosition||"s",cssClass:e.dataset.ckeTooltipClass||""}}class Cm extends hh{licenseTypeMessage={evaluation:"For evaluation purposes only",trial:"For evaluation purposes only",development:"For development purposes only"};constructor(e){super(e,{balloonClass:"ck-evaluation-badge-balloon"})}_isEnabled(){const e=xm(this.editor.config.get("licenseKey"));return Boolean(e&&this.licenseTypeMessage[e])}_createBadgeContent(){const e=xm(this.editor.config.get("licenseKey"));return new Am(this.editor.locale,this.licenseTypeMessage[e])}_getNormalizedConfig(){const e=super._getNormalizedConfig(),t=this.editor.config.get("ui.poweredBy")||{};return{position:t.position||e.position,side:"left"===(t.side||e.side)?"right":"left",verticalOffset:e.verticalOffset,horizontalOffset:e.horizontalOffset}}}class Am extends Au{constructor(e,t){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-evaluation-badge"],"aria-hidden":!0},children:[{tag:"span",attributes:{class:["ck","ck-evaluation-badge__label"]},children:[t]}]})}}function xm(e){if("GPL"==e)return"GPL";const t=uo(e.split(".")[1]);return t?t.licenseType||"production":null}class Em extends Nh{constructor(e,t){super(e);const o=this.bindTemplate;this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item"]},on:{mouseenter:o.to("mouseenter")}}),this.delegate("mouseenter").to(t)}}const Tm={toggleMenusAndFocusItemsOnHover(e){e.on("menu:mouseenter",(t=>{if(e.isFocusBorderEnabled||e.isOpen){if(e.isOpen)for(const o of e.menus){const e=t.path[0],i=e instanceof Em&&e.children.first===o;o.isOpen=(t.path.includes(o)||i)&&o.isEnabled}t.source.focus()}}))},focusCycleMenusOnArrows(e){const t="rtl"===e.locale.uiLanguageDirection;function o(t,o){const i=e.children.getIndex(t),n=t.isOpen,s=e.children.length,r=e.children.get((i+s+o)%s);t.isOpen=!1,n&&(r.isOpen=!0),r.buttonView.focus()}e.on("menu:arrowright",(e=>{o(e.source,t?-1:1)})),e.on("menu:arrowleft",(e=>{o(e.source,t?1:-1)}))},closeMenusWhenTheBarCloses(e){e.on("change:isOpen",(()=>{e.isOpen||e.menus.forEach((e=>{e.isOpen=!1}))}))},closeMenuWhenAnotherOnTheSameLevelOpens(e){e.on("menu:change:isOpen",((t,o,i)=>{i&&e.menus.filter((e=>t.source.parentMenuView===e.parentMenuView&&t.source!==e&&e.isOpen)).forEach((e=>{e.isOpen=!1}))}))},closeOnClickOutside(e){Su({emitter:e,activator:()=>e.isOpen,callback:()=>e.close(),contextElements:()=>e.children.map((e=>e.element))})},enableFocusHighlightOnInteraction(e){let t=!1;e.on("change:isOpen",((o,i,n)=>{n||(t||(e.isFocusBorderEnabled=!1),t=!1)})),e.listenTo(e.element,"keydown",(()=>{t=!0}),{useCapture:!0}),e.listenTo(e.element,"keyup",(()=>{t=!1}),{useCapture:!0}),e.listenTo(e.element,"focus",(()=>{t&&(e.isFocusBorderEnabled=!0)}),{useCapture:!0})}},Pm={openAndFocusPanelOnArrowDownKey(e){e.keystrokes.set("arrowdown",((t,o)=>{e.isEnabled&&e.focusTracker.focusedElement===e.buttonView.element&&(e.isOpen||(e.isOpen=!0),e.panelView.focus(),o())}))},openOnArrowRightKey(e){const t="rtl"===e.locale.uiLanguageDirection?"arrowleft":"arrowright";e.keystrokes.set(t,((t,o)=>{e.focusTracker.focusedElement===e.buttonView.element&&e.isEnabled&&(e.isOpen||(e.isOpen=!0),e.panelView.focus(),o())}))},openOnButtonClick(e){e.buttonView.on("execute",(()=>{e.isOpen=!0}))},toggleOnButtonClick(e){e.buttonView.on("execute",(()=>{e.isOpen=!e.isOpen}))},openAndFocusOnEnterKeyPress(e){e.keystrokes.set("enter",((t,o)=>{e.focusTracker.focusedElement===e.buttonView.element&&(e.isOpen=!0,e.panelView.focus(),o())}))},closeOnArrowLeftKey(e){const t="rtl"===e.locale.uiLanguageDirection?"arrowright":"arrowleft";e.keystrokes.set(t,((t,o)=>{e.isOpen&&(e.isOpen=!1,e.focus(),o())}))},closeOnEscKey(e){e.keystrokes.set("esc",((t,o)=>{e.isOpen&&(e.isOpen=!1,e.focus(),o())}))},closeOnParentClose(e){e.parentMenuView.on("change:isOpen",((t,o,i)=>{i||t.source!==e.parentMenuView||(e.isOpen=!1)}))}},Sm={southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),eastSouth:e=>({top:e.top,left:e.right-5,name:"es"}),eastNorth:(e,t)=>({top:e.top-t.height,left:e.right-5,name:"en"}),westSouth:(e,t)=>({top:e.top,left:e.left-t.width+5,name:"ws"}),westNorth:(e,t)=>({top:e.top-t.height,left:e.left-t.width+5,name:"wn"})},Im=[{menuId:"file",label:"File",groups:[{groupId:"export",items:["menuBar:exportPdf","menuBar:exportWord"]},{groupId:"import",items:["menuBar:importWord"]},{groupId:"revisionHistory",items:["menuBar:revisionHistory"]}]},{menuId:"edit",label:"Edit",groups:[{groupId:"undo",items:["menuBar:undo","menuBar:redo"]},{groupId:"selectAll",items:["menuBar:selectAll"]},{groupId:"findAndReplace",items:["menuBar:findAndReplace"]}]},{menuId:"view",label:"View",groups:[{groupId:"sourceEditingEnhanced",items:["menuBar:sourceEditingEnhanced"]},{groupId:"sourceEditing",items:["menuBar:sourceEditing"]},{groupId:"showBlocks",items:["menuBar:showBlocks"]},{groupId:"previewMergeFields",items:["menuBar:previewMergeFields"]},{groupId:"fullscreen",items:["menuBar:fullscreen"]},{groupId:"restrictedEditing",items:["menuBar:restrictedEditing"]}]},{menuId:"insert",label:"Insert",groups:[{groupId:"insertMainWidgets",items:["menuBar:insertImage","menuBar:ckbox","menuBar:ckfinder","menuBar:insertTable","menuBar:insertTableLayout"]},{groupId:"insertInline",items:["menuBar:link","menuBar:insertFootnote","menuBar:bookmark","menuBar:comment","menuBar:insertMergeField","menuBar:emoji"]},{groupId:"insertMinorWidgets",items:["menuBar:mediaEmbed","menuBar:insertTemplate","menuBar:specialCharacters","menuBar:blockQuote","menuBar:codeBlock","menuBar:htmlEmbed"]},{groupId:"insertStructureWidgets",items:["menuBar:horizontalLine","menuBar:pageBreak","menuBar:tableOfContents"]},{groupId:"restrictedEditingException",items:["menuBar:restrictedEditingException:inline","menuBar:restrictedEditingException:block"]}]},{menuId:"format",label:"Format",groups:[{groupId:"textAndFont",items:[{menuId:"text",label:"Text",groups:[{groupId:"basicStyles",items:["menuBar:bold","menuBar:italic","menuBar:underline","menuBar:strikethrough","menuBar:superscript","menuBar:subscript","menuBar:code"]},{groupId:"textPartLanguage",items:["menuBar:textPartLanguage"]}]},{menuId:"font",label:"Font",groups:[{groupId:"fontProperties",items:["menuBar:fontSize","menuBar:fontFamily"]},{groupId:"fontColors",items:["menuBar:fontColor","menuBar:fontBackgroundColor"]},{groupId:"highlight",items:["menuBar:highlight"]}]},"menuBar:heading"]},{groupId:"list",items:["menuBar:bulletedList","menuBar:numberedList","menuBar:multiLevelList","menuBar:todoList"]},{groupId:"indent",items:["menuBar:alignment","menuBar:lineHeight","menuBar:indent","menuBar:outdent"]},{groupId:"caseChange",items:["menuBar:caseChange"]},{groupId:"removeFormat",items:["menuBar:removeFormat"]}]},{menuId:"tools",label:"Tools",groups:[{groupId:"aiTools",items:["menuBar:aiAssistant","menuBar:aiCommands","menuBar:toggleAi","menuBar:aiQuickActions"]},{groupId:"tools",items:["menuBar:trackChanges","menuBar:commentsArchive"]}]},{menuId:"help",label:"Help",groups:[{groupId:"help",items:["menuBar:accessibilityHelp"]}]}];function Rm({normalizedConfig:e,locale:t,componentFactory:o,extraItems:i}){const n=j(e);return Om(e,n,i),function(e,t){const o=t.removeItems,i=[];t.items=t.items.filter((({menuId:e})=>!o.includes(e)||(i.push(e),!1))),Mm(t.items,(e=>{e.groups=e.groups.filter((({groupId:e})=>!o.includes(e)||(i.push(e),!1)));for(const t of e.groups)t.items=t.items.filter((e=>{const t=zm(e);return!o.includes(t)||(i.push(t),!1)}))}));for(const t of o)i.includes(t)||be("menu-bar-item-could-not-be-removed",{menuBarConfig:e,itemName:t})}(e,n),Om(e,n,n.addItems),function(e,t,o){Mm(t.items,(i=>{for(const n of i.groups)n.items=n.items.filter((n=>{const s="string"==typeof n&&!o.has(n);return s&&!t.isUsingDefaultConfig&&be("menu-bar-item-unavailable",{menuBarConfig:e,parentMenuConfig:j(i),componentName:n}),!s}))}))}(e,n,o),Dm(e,n),function(e,t){const o=t.t,i={File:o({string:"File",id:"MENU_BAR_MENU_FILE"}),Edit:o({string:"Edit",id:"MENU_BAR_MENU_EDIT"}),View:o({string:"View",id:"MENU_BAR_MENU_VIEW"}),Insert:o({string:"Insert",id:"MENU_BAR_MENU_INSERT"}),Format:o({string:"Format",id:"MENU_BAR_MENU_FORMAT"}),Tools:o({string:"Tools",id:"MENU_BAR_MENU_TOOLS"}),Help:o({string:"Help",id:"MENU_BAR_MENU_HELP"}),Text:o({string:"Text",id:"MENU_BAR_MENU_TEXT"}),Font:o({string:"Font",id:"MENU_BAR_MENU_FONT"})};Mm(e.items,(e=>{e.label in i&&(e.label=i[e.label])}))}(n,t),n}function Om(e,t,o){const i=[];if(0!=o.length){for(const e of o){const o=Bm(e.position),s=Lm(e.position);if("object"==typeof(n=e)&&"menu"in n)if(s){const n=t.items.findIndex((e=>e.menuId===s));if(-1!=n)"before"===o?(t.items.splice(n,0,e.menu),i.push(e)):"after"===o&&(t.items.splice(n+1,0,e.menu),i.push(e));else{Vm(t,e.menu,s,o)&&i.push(e)}}else"start"===o?(t.items.unshift(e.menu),i.push(e)):"end"===o&&(t.items.push(e.menu),i.push(e));else if(Nm(e))Mm(t.items,(t=>{if(t.menuId===s)"start"===o?(t.groups.unshift(e.group),i.push(e)):"end"===o&&(t.groups.push(e.group),i.push(e));else{const n=t.groups.findIndex((e=>e.groupId===s));-1!==n&&("before"===o?(t.groups.splice(n,0,e.group),i.push(e)):"after"===o&&(t.groups.splice(n+1,0,e.group),i.push(e)))}}));else{Vm(t,e.item,s,o)&&i.push(e)}}var n;for(const t of o)i.includes(t)||be("menu-bar-item-could-not-be-added",{menuBarConfig:e,addedItemConfig:t})}}function Vm(e,t,o,i){let n=!1;return Mm(e.items,(e=>{for(const{groupId:s,items:r}of e.groups){if(n)return;if(s===o)"start"===i?(r.unshift(t),n=!0):"end"===i&&(r.push(t),n=!0);else{const e=r.findIndex((e=>zm(e)===o));-1!==e&&("before"===i?(r.splice(e,0,t),n=!0):"after"===i&&(r.splice(e+1,0,t),n=!0))}}})),n}function Dm(e,t){const o=t.isUsingDefaultConfig;let i=!1;t.items=t.items.filter((t=>!!t.groups.length||(Fm(e,t,o),!1))),t.items.length?(Mm(t.items,(t=>{t.groups=t.groups.filter((e=>!!e.items.length||(i=!0,!1)));for(const n of t.groups)n.items=n.items.filter((t=>!(jm(t)&&!t.groups.length)||(Fm(e,t,o),i=!0,!1)))})),i&&Dm(e,t)):Fm(e,e,o)}function Fm(e,t,o){o||be("menu-bar-menu-empty",{menuBarConfig:e,emptyMenuConfig:t})}function Mm(e,t){if(Array.isArray(e))for(const t of e)o(t);function o(e){t(e);for(const t of e.groups)for(const e of t.items)jm(e)&&o(e)}}function Nm(e){return"object"==typeof e&&"group"in e}function Bm(e){return e.startsWith("start")?"start":e.startsWith("end")?"end":e.startsWith("after")?"after":"before"}function Lm(e){const t=e.match(/^[^:]+:(.+)/);return t?t[1]:null}function zm(e){return"string"==typeof e?e:e.menuId}function jm(e){return"object"==typeof e&&"menuId"in e}class qm extends(Be()){editor;componentFactory;focusTracker;tooltipManager;poweredBy;evaluationBadge;ariaLiveAnnouncer;isReady=!1;_editableElementsMap=new Map;_focusableToolbarDefinitions=[];_extraMenuBarElements=[];_lastFocusedForeignElement=null;_domEmitter;constructor(e){super();const t=e.editing.view;this.editor=e,this.componentFactory=new bm(e),this.focusTracker=new oo,this.tooltipManager=new _m(e),this.poweredBy=new gh(e),this.evaluationBadge=new Cm(e),this.ariaLiveAnnouncer=new Eu(e),this._initViewportOffset(this._readViewportOffsetFromConfig()),this.once("ready",(()=>{this._bindBodyCollectionWithFocusTracker(),this.isReady=!0})),this.listenTo(t.document,"layoutChanged",this.update.bind(this)),this.listenTo(t,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking(),this._initVisualViewportSupport()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy(),this.evaluationBadge.destroy();for(const e of this._editableElementsMap.values())e.ckeditorInstance=null,this.editor.keystrokes.stopListening(e);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[],this._domEmitter&&this._domEmitter.stopListening()}setEditableElement(e,t){this._editableElementsMap.set(e,t),t.ckeditorInstance||(t.ckeditorInstance=this.editor),this.focusTracker.add(t);const o=()=>{this.editor.editing.view.getDomRoot(e)||this.editor.keystrokes.listenTo(t)};this.isReady?o():this.once("ready",o)}removeEditableElement(e){const t=this._editableElementsMap.get(e);t&&(this._editableElementsMap.delete(e),this.editor.keystrokes.stopListening(t),this.focusTracker.remove(t),t.ckeditorInstance=null)}getEditableElement(e="main"){return this._editableElementsMap.get(e)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(e,t={}){e.isRendered?(this.focusTracker.add(e),this.editor.keystrokes.listenTo(e.element)):e.once("render",(()=>{this.focusTracker.add(e),this.editor.keystrokes.listenTo(e.element)})),this._focusableToolbarDefinitions.push({toolbarView:e,options:t})}extendMenuBar(e){this._extraMenuBarElements.push(e)}initMenuBar(e){const t=e.element;this.focusTracker.add(t),this.editor.keystrokes.listenTo(t);const o=function(e){let t;return t="items"in e&&e.items?{items:e.items,removeItems:[],addItems:[],isVisible:!0,isUsingDefaultConfig:!1,...e}:{items:j(Im),addItems:[],removeItems:[],isVisible:!0,isUsingDefaultConfig:!0,...e},t}(this.editor.config.get("menuBar")||{});e.fillFromConfig(o,this.componentFactory,this._extraMenuBarElements),this.editor.keystrokes.set("Esc",((e,o)=>{t.contains(this.editor.ui.focusTracker.focusedElement)&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):this.editor.editing.view.focus(),o())})),this.editor.keystrokes.set("Alt+F9",((o,i)=>{t.contains(this.editor.ui.focusTracker.focusedElement)||(this._saveLastFocusedForeignElement(),e.isFocusBorderEnabled=!0,e.focus(),i())}))}_readViewportOffsetFromConfig(){const e=this.editor,t=e.config.get("ui.viewportOffset");if(t)return t;const o=e.config.get("toolbar.viewportTopOffset");return o?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:o}):{top:0}}_initFocusTracking(){const e=this.editor;let t;e.keystrokes.set("Alt+F10",((e,o)=>{this._saveLastFocusedForeignElement();const i=this._getCurrentFocusedToolbarDefinition();i&&t||(t=this._getFocusableCandidateToolbarDefinitions());for(let e=0;e{const i=this._getCurrentFocusedToolbarDefinition();i&&(this._lastFocusedForeignElement?(this._lastFocusedForeignElement.focus(),this._lastFocusedForeignElement=null):e.editing.view.focus(),i.options.afterBlur&&i.options.afterBlur(),o())}))}_saveLastFocusedForeignElement(){const e=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(e)&&!Array.from(this.editor.editing.view.domRoots.values()).includes(e)&&(this._lastFocusedForeignElement=e)}_getFocusableCandidateToolbarDefinitions(){const e=[];for(const t of this._focusableToolbarDefinitions){const{toolbarView:o,options:i}=t;(Ct(o.element)||i.beforeFocus)&&e.push(t)}return e.sort(((e,t)=>$m(e)-$m(t))),e}_getCurrentFocusedToolbarDefinition(){for(const e of this._focusableToolbarDefinitions)if(e.toolbarView.element&&e.toolbarView.element.contains(this.focusTracker.focusedElement))return e;return null}_focusFocusableCandidateToolbar(e){const{toolbarView:t,options:{beforeFocus:o}}=e;return o&&o(),!!Ct(t.element)&&(t.focus(),!0)}_handleScrollToTheSelection(e,t){const o={top:0,bottom:0,left:0,right:0,...this.viewportOffset};t.viewportOffset.top+=o.top,t.viewportOffset.bottom+=o.bottom,t.viewportOffset.left+=o.left,t.viewportOffset.right+=o.right}_bindBodyCollectionWithFocusTracker(){const e=this.view.body;for(const t of e)this.focusTracker.add(t.element);e.on("add",((e,t)=>{this.focusTracker.add(t.element)})),e.on("remove",((e,t)=>{this.focusTracker.remove(t.element)}))}_initViewportOffset(e){this.on("set:viewportOffset",((e,t,o)=>{const i=this._getVisualViewportTopOffset(o);o.visualTop!==i&&(e.return={...o,visualTop:i})})),this.set("viewportOffset",e)}_initVisualViewportSupport(){if(!J.window.visualViewport)return;const e=()=>{const e=this._getVisualViewportTopOffset(this.viewportOffset);this.viewportOffset.visualTop!==e&&(this.viewportOffset={...this.viewportOffset,visualTop:e})};this._domEmitter=new(et()),this._domEmitter.listenTo(J.window.visualViewport,"scroll",e),this._domEmitter.listenTo(J.window.visualViewport,"resize",e)}_getVisualViewportTopOffset(e){const t=St().top,o=e.top||0;return t>o?0:o-t}}function $m(e){const{toolbarView:t,options:o}=e;let i=10;return Ct(t.element)&&i--,o.isContextual&&(i-=2),i}class Hm extends Au{body;menuBarView;toolbar;constructor(e){super(e),this.body=new ah(e)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class Wm extends Au{name=null;_editingView;_editableElement;_hasExternalElement;constructor(e,t,o){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:e.contentLanguage,dir:e.contentLanguageDirection}}),this.set("isFocused",!1),this._editableElement=o,this._hasExternalElement=!!this._editableElement,this._editingView=t}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const e=this._editingView;function t(t){e.change((o=>{const i=e.document.getRoot(t.name);o.addClass(t.isFocused?"ck-focused":"ck-blurred",i),o.removeClass(t.isFocused?"ck-blurred":"ck-focused",i)}))}e.isRenderingInProgress?function o(i){e.once("change:isRenderingInProgress",((e,n,s)=>{s?o(i):t(i)}))}(this):t(this)}}class Um extends Wm{_options;constructor(e,t,o,i={}){super(e,t,o),this._options=i,this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const e=this._editingView;e.change((t=>{const o=e.document.getRoot(this.name);t.setAttribute("aria-label",this.getEditableAriaLabel(),o)}))}getEditableAriaLabel(){const e=this.locale.t,t=this._options.label,o=this._editableElement,i=this.name;if("string"==typeof t)return t;if("object"==typeof t)return t[i];if("function"==typeof t)return t(this);if(o){const e=o.getAttribute("aria-label");if(e)return e}return e("Rich Text Editor. Editing area: %0",i)}}class Km extends Au{children;constructor(e,t={}){super(e);const o=this.bindTemplate;this.set("class",["ck","ck-form__row",...Qt(t.class||[])]),this.children=this.createCollection(),t.children&&t.children.forEach((e=>this.children.add(e))),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:o.to("class",(e=>e.join(" "))),role:o.to("_role"),"aria-labelledby":o.to("_ariaLabelledBy")},children:this.children})}}class Gm extends Cc{static get pluginName(){return"Notification"}static get isOfficialPlugin(){return!0}init(){this.on("show:warning",((e,t)=>{window.alert(t.message)}),{priority:"lowest"})}showSuccess(e,t={}){this._showNotification({message:e,type:"success",namespace:t.namespace,title:t.title})}showInfo(e,t={}){this._showNotification({message:e,type:"info",namespace:t.namespace,title:t.title})}showWarning(e,t={}){this._showNotification({message:e,type:"warning",namespace:t.namespace,title:t.title})}_showNotification(e){const t=e.namespace?`show:${e.type}:${e.namespace}`:`show:${e.type}`;this.fire(t,{message:e.message,type:e.type,title:e.title||""})}}class Jm extends(Be()){constructor(e,t){super(),t&&No(this,t),e&&this.set(e)}}const Zm=yt("px");class Qm extends fc{positionLimiter;visibleStack;_viewToStack=new Map;_idToStack=new Map;_view=null;_rotatorView=null;_fakePanelsView=null;static get pluginName(){return"ContextualBalloon"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this.positionLimiter=()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},this.decorate("getPositionOptions"),this.set("visibleView",null),this.set("_numberOfStacks",0),this.set("_singleViewMode",!1)}destroy(){super.destroy(),this._view&&this._view.destroy(),this._rotatorView&&this._rotatorView.destroy(),this._fakePanelsView&&this._fakePanelsView.destroy()}get view(){return this._view||this._createPanelView(),this._view}hasView(e){return Array.from(this._viewToStack.keys()).includes(e)}add(e){if(this._view||this._createPanelView(),this.hasView(e.view))throw new fe("contextualballoon-add-view-exist",[this,e]);const t=e.stackId||"main";if(!this._idToStack.has(t))return this._idToStack.set(t,new Map([[e.view,e]])),this._viewToStack.set(e.view,this._idToStack.get(t)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!e.singleViewMode||this.showStack(t));const o=this._idToStack.get(t);e.singleViewMode&&this.showStack(t),o.set(e.view,e),this._viewToStack.set(e.view,o),o===this._visibleStack&&this._showView(e)}remove(e){if(!this.hasView(e))throw new fe("contextualballoon-remove-view-not-exist",[this,e]);const t=this._viewToStack.get(e);this._singleViewMode&&this.visibleView===e&&(this._singleViewMode=!1),this.visibleView===e&&(1===t.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(t.values())[t.size-2])),1===t.size?(this._idToStack.delete(this._getStackId(t)),this._numberOfStacks=this._idToStack.size):t.delete(e),this._viewToStack.delete(e)}updatePosition(e){e&&(this._visibleStack.get(this.visibleView).position=e),this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition()}getPositionOptions(){let e=Array.from(this._visibleStack.values()).pop().position;return e&&(e.limiter||(e=Object.assign({},e,{limiter:this.positionLimiter})),e=Object.assign({},e,{viewportOffsetConfig:{...this.editor.ui.viewportOffset,top:this.editor.ui.viewportOffset.visualTop}})),e}showStack(e){this.visibleStack=e;const t=this._idToStack.get(e);if(!t)throw new fe("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==t&&this._showView(Array.from(t.values()).pop())}_createPanelView(){this._view=new dh(this.editor.locale),this.editor.ui.view.body.add(this._view),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(e){return Array.from(this._idToStack.entries()).find((t=>t[1]===e))[0]}_showNextStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)+1;e[t]||(t=0),this.showStack(this._getStackId(e[t]))}_showPrevStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)-1;e[t]||(t=e.length-1),this.showStack(this._getStackId(e[t]))}_createRotatorView(){const e=new Ym(this.editor.locale),t=this.editor.locale.t;return this.view.content.add(e),e.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>1)),e.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),e.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((e,o)=>{if(o<2)return"";const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return t("%0 of %1",[i,o])})),e.buttonNextView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),e.buttonPrevView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),e}_createFakePanelsView(){const e=new Xm(this.editor.locale,this.view);return e.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>=2?Math.min(e-1,2):0)),e.listenTo(this.view,"change:top",(()=>e.updatePosition())),e.listenTo(this.view,"change:left",(()=>e.updatePosition())),this.editor.ui.view.body.add(e),e}_showView({view:e,balloonClassName:t="",withArrow:o=!0,singleViewMode:i=!1}){this.view.class=t,this.view.withArrow=o,this._rotatorView.showView(e),this.visibleView=e,this.view.pin(this.getPositionOptions()),this._fakePanelsView.updatePosition(),i&&(this._singleViewMode=!0)}}class Ym extends Au{focusTracker;buttonPrevView;buttonNextView;content;constructor(e){super(e);const t=e.t,o=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new oo,this.buttonPrevView=this._createButtonView(t("Previous"),ed),this.buttonNextView=this._createButtonView(t("Next"),Kc),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",o.to("isNavigationVisible",(e=>e?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:o.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(e){this.hideView(),this.content.add(e)}hideView(){this.content.clear()}_createButtonView(e,t){const o=new Lu(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o}}class Xm extends Au{content;_balloonPanelView;constructor(e,t){super(e);const o=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=t,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",o.to("numberOfPanels",(e=>e?"":"ck-hidden"))],style:{top:o.to("top",Zm),left:o.to("left",Zm),width:o.to("width",Zm),height:o.to("height",Zm)}},children:this.content}),this.on("change:numberOfPanels",((e,t,o,i)=>{o>i?this._addPanels(o-i):this._removePanels(i-o),this.updatePosition()}))}_addPanels(e){for(;e--;){const e=new Au;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(e){for(;e--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:e,left:t}=this._balloonPanelView,{width:o,height:i}=new ut(this._balloonPanelView.element);Object.assign(this,{top:e,left:t,width:o,height:i})}}}class eg extends ih{arrowView;constructor(e){super(e);const t=this.bindTemplate;this.set({withText:!0,role:"menuitem"}),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__button"],"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(e=>String(e))),"data-cke-tooltip-disabled":t.to("isOn")},on:{mouseenter:t.to("mouseenter")}})}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new Nu;return e.content=Uc,e.extendTemplate({attributes:{class:"ck-menu-bar__menu__button__arrow"}}),e}}class tg extends Au{children;constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-menu-bar__menu__panel",t.to("position",(e=>`ck-menu-bar__menu__panel_position_${e}`)),t.if("isVisible","ck-hidden",(e=>!e))],tabindex:"-1"},children:this.children,on:{selectstart:t.to((e=>{"input"!==e.target.tagName.toLocaleLowerCase()&&e.preventDefault()}))}})}focus(e=1){this.children.length&&(1===e?this.children.first.focus():this.children.last.focus())}}class og extends Au{buttonView;panelView;focusTracker;keystrokes;constructor(e){super(e);const t=this.bindTemplate;this.buttonView=new eg(e),this.buttonView.delegate("mouseenter").to(this),this.buttonView.bind("isOn","isEnabled").to(this,"isOpen","isEnabled"),this.panelView=new tg(e),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new ro,this.focusTracker=new oo,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("panelPosition","w"),this.set("class",void 0),this.set("parentMenuView",null),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar__menu",t.to("class"),t.if("isEnabled","ck-disabled",(e=>!e)),t.if("parentMenuView","ck-menu-bar__menu_top-level",(e=>!e))]},children:[this.buttonView,this.panelView]})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.keystrokes.listenTo(this.element),Pm.closeOnEscKey(this),this._closeOnDisabled(),this._repositionPanelOnOpen()}_attachBehaviors(){this.parentMenuView?(Pm.openOnButtonClick(this),Pm.openOnArrowRightKey(this),Pm.closeOnArrowLeftKey(this),Pm.openAndFocusOnEnterKeyPress(this),Pm.closeOnParentClose(this)):(this._propagateArrowKeystrokeEvents(),Pm.openAndFocusPanelOnArrowDownKey(this),Pm.toggleOnButtonClick(this))}_propagateArrowKeystrokeEvents(){this.keystrokes.set("arrowright",((e,t)=>{this.fire("arrowright"),t()})),this.keystrokes.set("arrowleft",((e,t)=>{this.fire("arrowleft"),t()}))}_closeOnDisabled(){this.on("change:isEnabled",((e,t,o)=>{o||(this.isOpen=!1)}))}_repositionPanelOnOpen(){this.on("change:isOpen",((e,t,o)=>{if(!o)return;const i=og._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=i?i.name:this._defaultMenuPositionName}))}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:e,southWest:t,northEast:o,northWest:i,westSouth:n,eastSouth:s,westNorth:r,eastNorth:a}=Sm;return"ltr"===this.locale.uiLanguageDirection?this.parentMenuView?[s,a,n,r]:[e,t,o,i]:this.parentMenuView?[n,r,s,a]:[t,e,i,o]}get _defaultMenuPositionName(){return"ltr"===this.locale.uiLanguageDirection?this.parentMenuView?"es":"se":this.parentMenuView?"ws":"sw"}static _getOptimalPosition=At}class ig extends zh{constructor(e){super(e),this.role="menu",this.items.on("change",this._setItemsCheckSpace.bind(this))}_setItemsCheckSpace(){const e=Array.from(this.items).some((e=>{const t=ng(e);return t&&t.isToggleable}));this.items.forEach((t=>{const o=ng(t);o&&(o.hasCheckSpace=e)}))}}function ng(e){return e instanceof Nh?e.children.map((e=>function(e){return"object"==typeof e&&"buttonView"in e&&e.buttonView instanceof Lu}(e)?e.buttonView:e)).find((e=>e instanceof ih)):null}class sg extends wh{constructor(e){super(e),this.set({withText:!0,withKeystroke:!0,tooltip:!1,role:"menuitem"}),this.extendTemplate({attributes:{class:["ck-menu-bar__menu__item__button"]}})}}const rg=["mouseenter","arrowleft","arrowright","change:isOpen"];class ag extends Au{children;menus=[];constructor(e){super(e);const t=e.t,o=this.bindTemplate;this.set({isOpen:!1,isFocusBorderEnabled:!1}),this._setupIsOpenUpdater(),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-menu-bar",o.if("isFocusBorderEnabled","ck-menu-bar_focus-border-enabled")],"aria-label":t("Editor menu bar"),role:"menubar"},children:this.children})}fillFromConfig(e,t,o=[]){const i=Rm({normalizedConfig:e,locale:this.locale,componentFactory:t,extraItems:o}).items.map((e=>this._createMenu({componentFactory:t,menuDefinition:e})));this.children.addMany(i)}render(){super.render(),Tm.toggleMenusAndFocusItemsOnHover(this),Tm.closeMenusWhenTheBarCloses(this),Tm.closeMenuWhenAnotherOnTheSameLevelOpens(this),Tm.focusCycleMenusOnArrows(this),Tm.closeOnClickOutside(this),Tm.enableFocusHighlightOnInteraction(this)}focus(){this.children.first&&this.children.first.focus()}close(){for(const e of this.children)e.isOpen=!1}disable(){for(const e of this.children)e.isEnabled=!1}enable(){for(const e of this.children)e.isEnabled=!0}registerMenu(e,t=null){t?(e.delegate(...rg).to(t),e.parentMenuView=t):e.delegate(...rg).to(this,(e=>"menu:"+e)),e._attachBehaviors(),this.menus.push(e)}_createMenu({componentFactory:e,menuDefinition:t,parentMenuView:o}){const i=this.locale,n=new og(i);return this.registerMenu(n,o),n.buttonView.set({label:t.label}),n.once("change:isOpen",(()=>{const o=new ig(i);o.ariaLabel=t.label,n.panelView.children.add(o),o.items.addMany(this._createMenuItems({menuDefinition:t,parentMenuView:n,componentFactory:e}))})),n}_createMenuItems({menuDefinition:e,parentMenuView:t,componentFactory:o}){const i=this.locale,n=[];for(const r of e.groups){for(const e of r.items){const r=new Em(i,t);if(s(e))r.children.add(this._createMenu({componentFactory:o,menuDefinition:e,parentMenuView:t}));else{const i=this._createMenuItemContentFromFactory({componentName:e,componentFactory:o,parentMenuView:t});if(!i)continue;r.children.add(i)}n.push(r)}r!==e.groups[e.groups.length-1]&&n.push(new Bh(i))}return n}_createMenuItemContentFromFactory({componentName:e,parentMenuView:t,componentFactory:o}){const i=o.create(e);return i instanceof og||i instanceof sh||i instanceof sg?(this._registerMenuTree(i,t),i.on("execute",(()=>{this.close()})),i):(be("menu-bar-component-unsupported",{componentName:e,componentView:i}),null)}_registerMenuTree(e,t){if(!(e instanceof og))return void e.delegate("mouseenter").to(t);this.registerMenu(e,t);const o=e.panelView.children.filter((e=>e instanceof ig))[0];if(!o)return void e.delegate("mouseenter").to(t);const i=o.items.filter((e=>e instanceof Nh));for(const t of i)this._registerMenuTree(t.children.get(0),e)}_setupIsOpenUpdater(){let e;this.on("menu:change:isOpen",((t,o,i)=>{clearTimeout(e),i?this.isOpen=!0:e=setTimeout((()=>{this.isOpen=Array.from(this.children).some((e=>e.isOpen))}),0)}))}}class lg extends qm{view;constructor(e,t){super(e),this.view=t}init(){const e=this.editor,t=this.view,o=e.editing.view,i=t.editable,n=o.document.getRoot();i.name=n.rootName,t.render();const s=i.element;this.setEditableElement(i.name,s),t.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(s),this._initPlaceholder(),this._initToolbar(),this.initMenuBar(this.view.menuBarView),this.fire("ready")}destroy(){super.destroy();const e=this.view,t=this.editor.editing.view;t.getDomRoot(e.editable.name)&&t.detachDomRoot(e.editable.name),e.destroy()}_initToolbar(){const e=this.editor,t=this.view;t.toolbar.fillFromConfig(e.config.get("toolbar"),this.componentFactory),this.addToolbar(t.toolbar)}_initPlaceholder(){const e=this.editor,t=e.editing.view,o=t.document.getRoot(),i=e.config.get("roots")[o.rootName].placeholder;i&&(o.placeholder=i),Yo({view:t,element:o,isDirectHost:!1,keepOnFocus:!0})}}class cg extends Hm{toolbar;editable;menuBarView;constructor(e,t,o={}){super(e),this.toolbar=new Wh(e,{shouldGroupWhenFull:o.shouldToolbarGroupWhenFull}),this.menuBarView=new ag(e),this.editable=new Um(e,t,o.editableElement,{label:o.label}),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:e.uiLanguageDirection}}),this.menuBarView.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:e.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.menuBarView,this.toolbar,this.editable])}}class dg extends(Fc(Vc)){static get editorName(){return"DecoupledEditor"}ui;constructor(e,t={}){const{sourceElementOrData:o,editorConfig:i}=function(e,t){return"string"==typeof e||Bc(e)||t&&Object.keys(t).length?{sourceElementOrData:e,editorConfig:t}:{sourceElementOrData:"",editorConfig:e}}(e,t);super(i),Mc(o,this.config);const n=this.config.get("roots").main.element;if(L(n)){if("TEXTAREA"===n.tagName)throw new fe("editor-wrong-element",null);this.sourceElement=n,function(e,t){if(t.ckeditorInstance)throw new fe("editor-source-element-already-used",e);t.ckeditorInstance=e,e.once("destroy",(()=>{delete t.ckeditorInstance}))}(this,n)}this.model.document.createRoot();const s=!this.config.get("toolbar.shouldNotGroupWhenFull"),r=new cg(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:s,label:this.config.get("roots").main.label});this.ui=new lg(this,r)}destroy(){const e=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(e)}))}static create(e,t={}){return new Promise((o=>{const i=new this(e,t);o(i.initPlugins().then((()=>i.ui.init())).then((()=>i.data.init(i.config.get("roots").main.initialData))).then((()=>i.fire("ready"))).then((()=>i)))}))}}class ug{model;limit;_isLocked;_size;_batch=null;_changeCallback;_selectionChangeCallback;constructor(e,t=20){this.model=e,this._size=0,this.limit=t,this._isLocked=!1,this._changeCallback=(e,t)=>{t.isLocal&&t.isUndoable&&t!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(e){this._size+=e,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(e=!1){this.isLocked&&!e||(this._batch=null,this._size=0)}}class hg extends wc{_buffer;constructor(e,t){super(e),this._buffer=new ug(e.model,t),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(e={}){const t=this.editor.model,o=t.document,i=e.text||"",n=i.length;let s=o.selection;if(e.selection?s=e.selection:e.range&&(s=t.createSelection(e.range)),!t.canEditAt(s))return;const r=e.resultRange;t.enqueueChange(this._buffer.batch,(e=>{this._buffer.lock();const a=Array.from(o.selection.getAttributes());t.deleteContent(s),i&&t.insertContent(e.createText(i,a),s),r?e.setSelection(r):s.is("documentSelection")||e.setSelection(s),this._buffer.unlock(),this._buffer.input(n)}))}}const mg=["insertText","insertReplacementText"],gg=[...mg,"insertCompositionText"];class pg extends Ln{focusObserver;constructor(e){super(e),this.focusObserver=e.getObserver(Un);const t=Y.isAndroid?gg:mg,o=e.document;o.on("beforeinput",((i,n)=>{if(!this.isEnabled)return;const{data:s,targetRanges:r,inputType:a,domEvent:l,isComposing:c}=n;if(!t.includes(a))return;this.focusObserver.flush();const d=new ue(o,"insertText");o.fire(d,new zn(e,l,{text:s,selection:e.createSelection(r),isComposing:c})),d.stop.called&&i.stop()})),Y.isAndroid||o.on("compositionend",((t,{data:i,domEvent:n})=>{this.isEnabled&&i&&o.fire("insertText",new zn(e,n,{text:i,isComposing:!0}))}),{priority:"low"})}observe(){}stopObserving(){}}class fg extends fc{_typingQueue;static get pluginName(){return"Input"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model,o=e.editing.view,i=e.editing.mapper,n=t.document.selection;this._typingQueue=new bg(e),o.addObserver(pg);const s=new hg(e,e.config.get("typing.undoStep")||20);e.commands.add("insertText",s),e.commands.add("input",s),this.listenTo(o.document,"beforeinput",(()=>{this._typingQueue.flush("next beforeinput")}),{priority:"high"}),this.listenTo(o.document,"insertText",((e,r)=>{const{text:a,selection:l}=r;if(o.document.selection.isFake&&l&&o.document.selection.isSimilar(l)&&r.preventDefault(),l&&Array.from(l.getRanges()).some((e=>!e.isCollapsed))&&r.preventDefault(),!s.isEnabled)return void r.preventDefault();let c;l&&(c=Array.from(l.getRanges()).filter((e=>e.root.is("rootElement"))).map((e=>i.toModelRange(e))).map((e=>Ba(e,t.schema)||e))),c&&c.length||(c=Array.from(n.getRanges()));let d=a;if(Y.isAndroid){const e=Array.from(c[0].getItems()).reduce(((e,t)=>e+(t.is("$textProxy")?t.data:"")),"");if(e&&(e.length<=d.length?d.startsWith(e)&&(d=d.substring(e.length),c[0].start=c[0].start.getShiftedBy(e.length)):e.startsWith(d)&&(c[0].start=c[0].start.getShiftedBy(d.length),d="")),0==d.length&&c[0].isCollapsed)return}const u={text:d,selection:t.createSelection(c)};this._typingQueue.push(u,Boolean(r.isComposing)),r.domEvent.defaultPrevented&&this._typingQueue.flush("beforeinput default prevented")})),Y.isAndroid?this.listenTo(o.document,"keydown",((e,i)=>{!n.isCollapsed&&229==i.keyCode&&o.document.isComposing&&wg(t,s)})):this.listenTo(o.document,"compositionstart",(()=>{n.isCollapsed||wg(t,s)}),{priority:"high"}),this.listenTo(o.document,"mutations",((e,{mutations:t})=>{if(this._typingQueue.hasAffectedElements())for(const{node:e}of t){const t=yg(e,i),o=i.toModelElement(t);if(this._typingQueue.isElementAffected(o))return void this._typingQueue.flush("mutations")}})),this.listenTo(o.document,"compositionend",(()=>{this._typingQueue.flush("before composition end")}),{priority:"high"}),this.listenTo(o.document,"compositionend",(()=>{this._typingQueue.flush("after composition end");const e=[];if(this._typingQueue.hasAffectedElements())for(const t of this._typingQueue.flushAffectedElements()){const o=i.toViewElement(t);o&&e.push({type:"children",node:o})}!e.length&&Y.isAndroid||o.document.fire("mutations",{mutations:e})}),{priority:"lowest"})}destroy(){super.destroy(),this._typingQueue.destroy()}}class bg{editor;flushDebounced=zo((()=>this.flush("timeout")),50);_queue=[];_isComposing=!1;_affectedElements=new Set;constructor(e){this.editor=e}destroy(){for(this.flushDebounced.cancel(),this._affectedElements.clear();this._queue.length;)this.shift()}get length(){return this._queue.length}push(e,t){const o={text:e.text};if(e.selection){o.selectionRanges=[];for(const t of e.selection.getRanges())o.selectionRanges.push(Ts.fromRange(t)),this._affectedElements.add(t.start.parent)}this._queue.push(o),this._isComposing||=t,this.flushDebounced()}shift(){const e=this._queue.shift(),t={text:e.text};if(e.selectionRanges){const o=e.selectionRanges.map((e=>function(e){const t=e.toRange();if(e.detach(),"$graveyard"==t.root.rootName)return null;return t}(e))).filter((e=>!!e));o.length&&(t.selection=this.editor.model.createSelection(o))}return t}flush(e){const t=this.editor,o=t.model,i=t.editing.view;if(this.flushDebounced.cancel(),!this._queue.length)return;const n=t.commands.get("insertText").buffer;o.enqueueChange(n.batch,(()=>{for(n.lock();this._queue.length;){const e=this.shift();t.execute("insertText",e)}n.unlock(),this._isComposing||this._affectedElements.clear(),this._isComposing=!1})),i.scrollToTheSelection()}isElementAffected(e){return this._affectedElements.has(e)}hasAffectedElements(){return this._affectedElements.size>0}flushAffectedElements(){const e=Array.from(this._affectedElements);return this._affectedElements.clear(),e}}function wg(e,t){if(!t.isEnabled)return;const o=t.buffer;o.lock(),e.enqueueChange(o.batch,(()=>{e.deleteContent(e.document.selection)})),o.unlock()}function yg(e,t){let o=e.is("$text")?e.parent:e;for(;!t.toModelElement(o);)o=o.parent;return o}class _g extends wc{direction;_buffer;constructor(e,t){super(e),this.direction=t,this._buffer=new ug(e.model,e.config.get("typing.undoStep")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(e={}){const t=this.editor.model,o=t.document;t.enqueueChange(this._buffer.batch,(i=>{this._buffer.lock();const n=i.createSelection(e.selection||o.selection);if(!t.canEditAt(n))return;const s=e.sequence||1,r=n.isCollapsed;if(n.isCollapsed&&t.modifySelection(n,{direction:this.direction,unit:e.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(s))return void this._replaceEntireContentWithParagraph(i);if(this._shouldReplaceFirstBlockWithParagraph(n,s))return void this.editor.execute("paragraph",{selection:n});if(n.isCollapsed)return;let a=0;n.getFirstRange().getMinimalFlatRanges().forEach((e=>{a+=He(e.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),t.deleteContent(n,{doNotResetEntireContent:r,direction:this.direction}),this._buffer.input(a),i.setSelection(n),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(e){if(e>1)return!1;const t=this.editor.model,o=t.document.selection,i=t.schema.getLimitElement(o);if(!(o.isCollapsed&&o.containsEntireContent(i)))return!1;if(!t.schema.checkChild(i,"paragraph"))return!1;const n=i.getChild(0);return!n||!n.is("element","paragraph")}_replaceEntireContentWithParagraph(e){const t=this.editor.model,o=t.document.selection,i=t.schema.getLimitElement(o),n=e.createElement("paragraph");e.remove(e.createRangeIn(i)),e.insert(n,i),e.setSelection(n,0)}_shouldReplaceFirstBlockWithParagraph(e,t){const o=this.editor.model;if(t>1||"backward"!=this.direction)return!1;if(!e.isCollapsed)return!1;const i=e.getFirstPosition(),n=o.schema.getLimitElement(i),s=n.getChild(0);return i.parent==s&&(!!e.containsEntireContent(s)&&(!!o.schema.checkChild(n,"paragraph")&&"paragraph"!=s.name))}}const kg="word",vg="selection",Cg="backward",Ag="forward",xg={deleteContent:{unit:vg,direction:Cg},deleteContentBackward:{unit:"codePoint",direction:Cg},deleteWordBackward:{unit:kg,direction:Cg},deleteHardLineBackward:{unit:vg,direction:Cg},deleteSoftLineBackward:{unit:vg,direction:Cg},deleteContentForward:{unit:"character",direction:Ag},deleteWordForward:{unit:kg,direction:Ag},deleteHardLineForward:{unit:vg,direction:Ag},deleteSoftLineForward:{unit:vg,direction:Ag}};class Eg extends Ln{constructor(e){super(e);const t=e.document;let o=0;t.on("keydown",(()=>{o++})),t.on("keyup",(()=>{o=0})),t.on("beforeinput",((i,n)=>{if(!this.isEnabled)return;const{targetRanges:s,domEvent:r,inputType:a}=n,l=xg[a];if(!l)return;const c={direction:l.direction,unit:l.unit,sequence:o};c.unit==vg&&(c.selectionToRemove=e.createSelection(s[0])),"deleteContentBackward"===a&&(Y.isAndroid&&(c.sequence=1),function(e){if(1!=e.length||e[0].isCollapsed)return!1;const t=e[0].getWalker({direction:"backward",singleCharacters:!0,ignoreElementEnd:!0});let o=0;for(const{nextPosition:e,item:i}of t){if(e.parent.is("$text")){const t=e.parent.data,i=e.offset;if(ho(t,i)||mo(t,i)||po(t,i))continue;o++}else(i.is("containerElement")||i.is("emptyElement"))&&o++;if(o>1)return!0}return!1}(s)&&(c.unit=vg,c.selectionToRemove=e.createSelection(s)));const d=new Di(t,"delete",s[0]);t.fire(d,new zn(e,r,c)),d.stop.called&&i.stop()})),Y.isBlink&&function(e){const t=e.view,o=t.document;let i=null,n=!1;function s(e){return e==qt.backspace||e==qt.delete}function r(e){return e==qt.backspace?Cg:Ag}o.on("keydown",((e,{keyCode:t})=>{i=t,n=!1})),o.on("keyup",((a,{keyCode:l,domEvent:c})=>{const d=o.selection,u=e.isEnabled&&l==i&&s(l)&&!d.isCollapsed&&!n;if(i=null,u){const e=d.getFirstRange(),i=new Di(o,"delete",e),n={unit:vg,direction:r(l),selectionToRemove:d};o.fire(i,new zn(t,c,n))}})),o.on("beforeinput",((e,{inputType:t})=>{const o=xg[t];s(i)&&o&&o.direction==r(i)&&(n=!0)}),{priority:"high"}),o.on("beforeinput",((e,{inputType:t,data:o})=>{i==qt.delete&&"insertText"==t&&""==o&&e.stop()}),{priority:"high"})}(this)}observe(){}stopObserving(){}}class Tg extends fc{_undoOnBackspace;static get pluginName(){return"Delete"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,o=t.document,i=e.model.document;t.addObserver(Eg),this._undoOnBackspace=!1;const n=new _g(e,"forward");e.commands.add("deleteForward",n),e.commands.add("forwardDelete",n),e.commands.add("delete",new _g(e,"backward")),this.listenTo(o,"delete",((i,n)=>{o.isComposing||n.preventDefault();const{direction:s,sequence:r,selectionToRemove:a,unit:l}=n,c="forward"===s?"deleteForward":"delete",d={sequence:r};if("selection"==l){const t=Array.from(a.getRanges()).map((t=>e.editing.mapper.toModelRange(t))).map((t=>Ba(t,e.model.schema)||t));d.selection=e.model.createSelection(t)}else d.unit=l;e.execute(c,d),t.scrollToTheSelection()}),{priority:"low"}),this.listenTo(o,"keydown",((n,s)=>{if(o.isComposing||s.keyCode!=qt.backspace||!i.selection.isCollapsed)return;const r=e.model.schema.getLimitElement(i.selection),a=e.model.createPositionAt(r,0);if(a.isTouching(i.selection.getFirstPosition())){s.preventDefault();const i=e.model.schema.getNearestSelectionRange(a,"forward");if(!i)return;const n=t.createSelection(e.editing.mapper.toViewRange(i)),r=n.getFirstRange(),l=new Di(document,"delete",r),c={unit:"selection",direction:"backward",selectionToRemove:n};o.fire(l,new zn(t,s.domEvent,c))}})),this.editor.plugins.has("UndoEditing")&&(this.listenTo(o,"delete",((t,o)=>{this._undoOnBackspace&&"backward"==o.direction&&1==o.sequence&&"codePoint"==o.unit&&(this._undoOnBackspace=!1,e.execute("undo"),o.preventDefault(),t.stop())}),{context:"$capture"}),this.listenTo(i,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class Pg extends fc{static get requires(){return[fg,Tg]}static get pluginName(){return"Typing"}static get isOfficialPlugin(){return!0}}function Sg(e,t){let o=e.start;return{text:Array.from(e.getWalker({ignoreElementEnd:!1})).reduce(((e,{item:i})=>i.is("$text")||i.is("$textProxy")?e+i.data:(o=t.createPositionAfter(i),"")),""),range:t.createRange(o,e.end)}}class Ig extends(Be()){model;testCallback;_hasMatch;constructor(e,t){super(),this.model=e,this.testCallback=t,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(e.document.selection),this.stopListening(e.document))})),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",((t,{directChange:o})=>{o&&(e.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1))})),this.listenTo(e,"change:data",((e,t)=>{!t.isUndo&&t.isLocal&&this._evaluateTextBeforeSelection("data",{batch:t})}))}_evaluateTextBeforeSelection(e,t={}){const o=this.model,i=o.document.selection,n=o.createRange(o.createPositionAt(i.focus.parent,0),i.focus),{text:s,range:r}=Sg(n,o),a=this.testCallback(s);if(!a&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!a,a){const o=Object.assign(t,{text:s,range:r});"object"==typeof a&&Object.assign(o,a),this.fire(`matched:${e}`,o)}}}class Rg extends fc{attributes;_overrideUid;_isNextGravityRestorationSkipped=!1;static get pluginName(){return"TwoStepCaretMovement"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this.attributes=new Set,this._overrideUid=null}init(){const e=this.editor,t=e.model,o=e.editing.view,i=e.locale,n=t.document.selection;this.listenTo(o.document,"arrowKey",((e,t)=>{if(!n.isCollapsed)return;if(t.shiftKey||t.altKey||t.ctrlKey)return;const o=t.keyCode==qt.arrowright,s=t.keyCode==qt.arrowleft;if(!o&&!s)return;const r=i.contentLanguageDirection;let a=!1;a="ltr"===r&&o||"rtl"===r&&s?this._handleForwardMovement(t):this._handleBackwardMovement(t),!0===a&&e.stop()}),{context:"$text",priority:"highest"}),this.listenTo(n,"change:range",((e,t)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!t.directChange&&Ng(n.getFirstPosition(),this.attributes)||this._restoreGravity())})),this._enableClickingAfterNode(),this._enableInsertContentSelectionAttributesFixer(),this._handleDeleteContentAfterNode()}registerAttribute(e){this.attributes.add(e)}_handleForwardMovement(e){const t=this.attributes,o=this.editor.model,i=o.document.selection,n=i.getFirstPosition();return!this._isGravityOverridden&&((!n.isAtStart||!Og(i,t))&&(!!Ng(n,t)&&(e&&Fg(e),Og(i,t)&&Ng(n,t,!0)?Dg(o,t):this._overrideGravity(),!0)))}_handleBackwardMovement(e){const t=this.attributes,o=this.editor.model,i=o.document.selection,n=i.getFirstPosition();return this._isGravityOverridden?(e&&Fg(e),this._restoreGravity(),Ng(n,t,!0)?Dg(o,t):Vg(o,t,n),!0):n.isAtStart?!!Og(i,t)&&(e&&Fg(e),Vg(o,t,n),!0):!Og(i,t)&&Ng(n,t,!0)?(e&&Fg(e),Vg(o,t,n),!0):!!Mg(n,t)&&(n.isAtEnd&&!Og(i,t)&&Ng(n,t)?(e&&Fg(e),Vg(o,t,n),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1))}_enableClickingAfterNode(){const e=this.editor,t=e.model,o=t.document.selection,i=e.editing.view.document;e.editing.view.addObserver(il),e.editing.view.addObserver(nl);let n=!1,s=!1;this.listenTo(i,"touchstart",(()=>{s=!1,n=!0})),this.listenTo(i,"mousedown",(()=>{s=!0})),this.listenTo(i,"selectionChange",(()=>{const e=this.attributes;if(!s&&!n)return;if(s=!1,n=!1,!o.isCollapsed)return;if(!Og(o,e))return;const i=o.getFirstPosition();Ng(i,e)&&(i.isAtStart||Ng(i,e,!0)?Dg(t,e):this._isGravityOverridden||this._overrideGravity())}))}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection,o=this.attributes;this.listenTo(e,"insertContent",(()=>{const i=t.getFirstPosition();Og(t,o)&&Ng(i,o)&&Dg(e,o)}),{priority:"low"})}_handleDeleteContentAfterNode(){const e=this.editor,t=e.model,o=t.document.selection,i=e.editing.view;let n=!1,s=!1;this.listenTo(i.document,"delete",((e,t)=>{n="backward"===t.direction}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{if(!n)return;const e=o.getFirstPosition();s=Og(o,this.attributes)&&!Mg(e,this.attributes)}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{n&&(n=!1,s||e.model.enqueueChange((()=>{const e=o.getFirstPosition();Og(o,this.attributes)&&Ng(e,this.attributes)&&(e.isAtStart||Ng(e,this.attributes,!0)?Dg(t,this.attributes):this._isGravityOverridden||this._overrideGravity())})))}),{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((e=>e.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((e=>{e.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function Og(e,t){for(const o of t)if(e.hasAttribute(o))return!0;return!1}function Vg(e,t,o){const i=o.nodeBefore;e.change((o=>{if(i){const t=[],n=e.schema.isObject(i)&&e.schema.isInline(i);for(const[o,s]of i.getAttributes())!e.schema.checkAttribute("$text",o)||n&&!1===e.schema.getAttributeProperties(o).copyFromObject||t.push([o,s]);o.setSelectionAttribute(t)}else o.removeSelectionAttribute(t)}))}function Dg(e,t){e.change((e=>{e.removeSelectionAttribute(t)}))}function Fg(e){e.preventDefault()}function Mg(e,t){return Ng(e.getShiftedBy(-1),t)}function Ng(e,t,o=!1){const{nodeBefore:i,nodeAfter:n}=e;for(const e of t){const t=i?i.getAttribute(e):void 0,s=n?n.getAttribute(e):void 0;if((!o||void 0!==t&&void 0!==s)&&s!==t)return!0}return!1}Bg('"'),Bg("'"),Bg("'"),Bg('"'),Bg('"'),Bg("'");function Bg(e){return new RegExp(`(^|\\s)(${e})([^${e}]*)(${e})$`)}function Lg(e,t,o,i){return i.createRange(zg(e,t,o,!0,i),zg(e,t,o,!1,i))}function zg(e,t,o,i,n){let s=e.textNode||(i?e.nodeBefore:e.nodeAfter),r=null;for(;s&&s.getAttribute(t)==o;)r=s,s=i?s.previousSibling:s.nextSibling;return r?n.createPositionAt(r,i?"before":"after"):e}function jg(e,t,o,i){const n=e.editing.view,s=new Set;n.document.registerPostFixer((n=>{const r=e.model.document.selection;let a=!1;if(r.hasAttribute(t)){const l=Lg(r.getFirstPosition(),t,r.getAttribute(t),e.model),c=e.editing.mapper.toViewRange(l);for(const e of c.getItems())e.is("element",o)&&!e.hasClass(i)&&(n.addClass(i,e),s.add(e),a=!0)}return a})),e.conversion.for("editingDowncast").add((e=>{function t(){n.change((e=>{for(const t of s.values())e.removeClass(i,t),s.delete(t)}))}e.on("insert",t,{priority:"highest"}),e.on("remove",t,{priority:"highest"}),e.on("attribute",t,{priority:"highest"}),e.on("selection",t,{priority:"highest"})}))}function*qg(e,t){for(const o of t)o&&e.getAttributeProperties(o[0]).copyOnEnter&&(yield o)}class $g extends wc{execute(){this.editor.model.change((e=>{this.enterBlock(e),this.fire("afterExecute",{writer:e})}))}enterBlock(e){const t=this.editor.model,o=t.document.selection,i=t.schema,n=o.isCollapsed,s=o.getFirstRange(),r=s.start.parent,a=s.end.parent;if(i.isLimit(r)||i.isLimit(a))return n||r!=a||t.deleteContent(o),!1;if(n){const t=qg(e.model.schema,o.getAttributes());return Hg(e,s.start),e.setSelectionAttribute(t),!0}{const i=!(s.start.isAtStart&&s.end.isAtEnd),n=r==a;if(t.deleteContent(o,{leaveUnmerged:i}),i){if(n)return Hg(e,o.focus),!0;e.setSelection(a,0)}}return!1}}function Hg(e,t){e.split(t),e.setSelection(t.parent.nextSibling,0)}const Wg={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class Ug extends Ln{constructor(e){super(e);const t=this.document;let o=!1;t.on("keydown",((e,t)=>{o=t.shiftKey})),t.on("beforeinput",((i,n)=>{if(!this.isEnabled)return;let s=n.inputType;Y.isSafari&&o&&"insertParagraph"==s&&(s="insertLineBreak");const r=n.domEvent,a=Wg[s];if(!a)return;const l=new Di(t,"enter",n.targetRanges[0]);t.fire(l,new zn(e,r,{isSoft:a.isSoft})),l.stop.called&&i.stop()}))}observe(){}stopObserving(){}}class Kg extends fc{static get pluginName(){return"Enter"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,o=t.document,i=this.editor.t;t.addObserver(Ug),e.commands.add("enter",new $g(e)),this.listenTo(o,"enter",((i,n)=>{o.isComposing||n.preventDefault(),n.isSoft||(e.execute("enter"),t.scrollToTheSelection())}),{priority:"low"}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:i("Insert a hard break (a new paragraph)"),keystroke:"Enter"}]})}}class Gg extends wc{execute(){const e=this.editor.model,t=e.document;e.change((o=>{!function(e,t,o){const i=o.isCollapsed,n=o.getFirstRange(),s=n.start.parent,r=n.end.parent,a=s==r;if(i){const i=qg(e.schema,o.getAttributes());Jg(e,t,n.end),t.removeSelectionAttribute(o.getAttributeKeys()),t.setSelectionAttribute(i)}else{const i=!(n.start.isAtStart&&n.end.isAtEnd);e.deleteContent(o,{leaveUnmerged:i}),a?Jg(e,t,o.focus):i&&t.setSelection(r,0)}}(e,o,t.selection),this.fire("afterExecute",{writer:o})}))}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=function(e,t){if(t.rangeCount>1)return!1;const o=t.anchor;if(!o||!e.checkChild(o,"softBreak"))return!1;const i=t.getFirstRange(),n=i.start.parent,s=i.end.parent;if((Zg(n,e)||Zg(s,e))&&n!==s)return!1;return!0}(e.schema,t.selection)}}function Jg(e,t,o){const i=t.createElement("softBreak");e.insertContent(i,o),t.setSelection(i,"after")}function Zg(e,t){return!e.is("rootElement")&&(t.isLimit(e)||Zg(e.parent,t))}class Qg extends fc{static get pluginName(){return"ShiftEnter"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model.schema,o=e.conversion,i=e.editing.view,n=i.document,s=this.editor.t;t.register("softBreak",{allowWhere:"$text",isInline:!0}),o.for("upcast").elementToElement({model:"softBreak",view:"br"}),o.for("downcast").elementToElement({model:"softBreak",view:(e,{writer:t})=>t.createEmptyElement("br")}),i.addObserver(Ug),e.commands.add("shiftEnter",new Gg(e)),this.listenTo(n,"enter",((t,o)=>{n.isComposing||o.preventDefault(),o.isSoft&&(e.execute("shiftEnter"),i.scrollToTheSelection())}),{priority:"low"}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:s("Insert a soft break (a <br> element)"),keystroke:"Shift+Enter"}]})}}class Yg extends(xe()){_stack=[];add(e,t){const o=this._stack,i=o[0];this._insertDescriptor(e);const n=o[0];i===n||Xg(i,n)||this.fire("change:top",{oldDescriptor:i,newDescriptor:n,writer:t})}remove(e,t){const o=this._stack,i=o[0];this._removeDescriptor(e);const n=o[0];i===n||Xg(i,n)||this.fire("change:top",{oldDescriptor:i,newDescriptor:n,writer:t})}_insertDescriptor(e){const t=this._stack,o=t.findIndex((t=>t.id===e.id));if(Xg(e,t[o]))return;o>-1&&t.splice(o,1);let i=0;for(;t[i]&&ep(t[i],e);)i++;t.splice(i,0,e)}_removeDescriptor(e){const t=this._stack,o=t.findIndex((t=>t.id===e));o>-1&&t.splice(o,1)}}function Xg(e,t){return e&&t&&e.priority==t.priority&&tp(e.classes)==tp(t.classes)}function ep(e,t){return e.priority>t.priority||!(e.prioritytp(t.classes)}function tp(e){return Array.isArray(e)?e.sort().join(","):e}const op="ck-widget_selected";function ip(e){return!!e.is("element")&&!!e.getCustomProperty("widget")}function np(e,t,o={}){if(!e.is("containerElement"))throw new fe("widget-to-widget-wrong-element-type",null,{element:e});return t.setAttribute("contenteditable","false",e),t.addClass("ck-widget",e),t.setCustomProperty("widget",!0,e),e.getFillerOffset=dp,t.setCustomProperty("widgetLabel",[],e),o.label&&function(e,t){const o=e.getCustomProperty("widgetLabel");o.push(t)}(e,o.label),o.hasSelectionHandle&&function(e,t){const o=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(e){const t=this.toDomElement(e),o=new Nu;return o.set("content",Wc),o.render(),t.appendChild(o.element),t}));t.insert(t.createPositionAt(e,0),o),t.addClass(["ck-widget_with-selection-handle"],e)}(e,t),ap(e,t),e}function sp(e,t,o){if(t.classes&&o.addClass(Qt(t.classes),e),t.attributes)for(const i in t.attributes)o.setAttribute(i,t.attributes[i],e)}function rp(e,t,o){if(t.classes&&o.removeClass(Qt(t.classes),e),t.attributes)for(const i in t.attributes)o.removeAttribute(i,e)}function ap(e,t,o=sp,i=rp){const n=new Yg;n.on("change:top",((t,n)=>{n.oldDescriptor&&i(e,n.oldDescriptor,n.writer),n.newDescriptor&&o(e,n.newDescriptor,n.writer)}));t.setCustomProperty("addHighlight",((e,t,o)=>n.add(t,o)),e),t.setCustomProperty("removeHighlight",((e,t,o)=>n.remove(t,o)),e)}function lp(e,t,o={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],e),!1!==o.withAriaRole&&t.setAttribute("role","textbox",e),e.isReadOnly||t.setAttribute("tabindex","-1",e),o.label&&t.setAttribute("aria-label",o.label,e),t.setAttribute("contenteditable",e.isReadOnly?"false":"true",e),e.on("change:isReadOnly",((o,i,n)=>{t.setAttribute("contenteditable",n?"false":"true",e),n?t.removeAttribute("tabindex",e):t.setAttribute("tabindex","-1",e)})),e.on("change:isFocused",((o,i,n)=>{n?t.addClass("ck-editor__nested-editable_focused",e):t.removeClass("ck-editor__nested-editable_focused",e)})),ap(e,t),e}function cp(e,t){const o=e.getSelectedElement();if(o){const i=gp(e);if(i)return t.createRange(t.createPositionAt(o,i))}return t.schema.findOptimalInsertionRange(e)}function dp(){return null}function up(e){const t=e=>{const{width:t,paddingLeft:o,paddingRight:i}=e.ownerDocument.defaultView.getComputedStyle(e);return parseFloat(t)-(parseFloat(o)||0)-(parseFloat(i)||0)},o=e.parentElement;if(!o)return 0;let i=t(o);let n=0,s=o;for(;isNaN(i);){if(s=s.parentElement,++n>5)return 0;i=t(s)}return i}const hp="widget-type-around";function mp(e,t,o){return!!e&&ip(e)&&!o.isInline(t)}function gp(e){return e.getAttribute(hp)}const pp=["before","after"],fp=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,bp="ck-widget__type-around_disabled";class wp extends fc{_currentFakeCaretModelElement=null;static get pluginName(){return"WidgetTypeAround"}static get isOfficialPlugin(){return!0}static get requires(){return[Kg,Tg]}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",((o,i,n)=>{t.change((e=>{for(const o of t.document.roots)n?e.removeClass(bp,o):e.addClass(bp,o)})),n||e.model.change((e=>{e.removeSelectionAttribute(hp)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const o=this.editor,i=o.editing.view,n=o.model.schema.getAttributesWithProperty(e,"copyOnReplace",!0);o.execute("insertParagraph",{position:o.model.createPositionAt(e,t),attributes:n}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(e,t,o,i){this.listenTo(e,t,((...e)=>{this.isEnabled&&o(...e)}),i)}_insertParagraphAccordingToFakeCaretPosition(){const e=this.editor.model.document.selection,t=gp(e);if(!t)return!1;const o=e.getSelectedElement();return this._insertParagraph(o,t),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,o=e.locale.t,i={before:o("Insert paragraph before block"),after:o("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",((e,n,s)=>{const r=s.mapper.toViewElement(n.item);if(r&&mp(r,n.item,t)){!function(e,t,o){const i=e.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(e){const o=this.toDomElement(e);return function(e,t){for(const o of pp){const i=new ou({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${o}`],title:t[o],"aria-hidden":"true"},children:[e.ownerDocument.importNode(fp,!0)]});e.appendChild(i.render())}}(o,t),function(e){const t=new ou({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});e.appendChild(t.render())}(o),o}));e.insert(e.createPositionAt(o,"end"),i)}(s.writer,i,r);r.getCustomProperty("widgetLabel").push((()=>this.isEnabled?o("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,o=t.document.selection,i=t.schema,n=e.editing.view;function s(e){return`ck-widget_type-around_show-fake-caret_${e}`}this._listenToIfEnabled(n.document,"arrowKey",((e,t)=>{this._handleArrowKeyPress(e,t)}),{context:[ip,"$text"],priority:"high"}),this._listenToIfEnabled(o,"change:range",((t,o)=>{o.directChange&&e.model.change((e=>{e.removeSelectionAttribute(hp)}))})),this._listenToIfEnabled(t.document,"change:data",(()=>{const t=o.getSelectedElement();if(t){if(mp(e.editing.mapper.toViewElement(t),t,i))return}e.model.change((e=>{e.removeSelectionAttribute(hp)}))})),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",((e,t,o)=>{const n=o.writer;if(this._currentFakeCaretModelElement){const e=o.mapper.toViewElement(this._currentFakeCaretModelElement);e&&(n.removeClass(pp.map(s),e),this._currentFakeCaretModelElement=null)}const r=t.selection.getSelectedElement();if(!r)return;const a=o.mapper.toViewElement(r);if(!mp(a,r,i))return;const l=gp(t.selection);l&&(n.addClass(s(l),a),this._currentFakeCaretModelElement=r)})),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",((t,o,i)=>{i||e.model.change((e=>{e.removeSelectionAttribute(hp)}))}))}_handleArrowKeyPress(e,t){const o=this.editor,i=o.model,n=i.document.selection,s=i.schema,r=o.editing.view;if(t.shiftKey)return;const a=function(e,t){const o=Kt(e,t);return"down"===o||"right"===o}(t.keyCode,o.locale.contentLanguageDirection),l=r.document.selection.getSelectedElement();let c;mp(l,o.editing.mapper.toModelElement(l),s)?c=this._handleArrowKeyPressOnSelectedWidget(a):n.isCollapsed?c=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):t.shiftKey||(c=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),c&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const t=this.editor.model,o=gp(t.document.selection);return t.change((t=>{if(!o)return t.setSelectionAttribute(hp,e?"after":"before"),!0;if(!(o===(e?"after":"before")))return t.removeSelectionAttribute(hp),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,o=t.model,i=o.schema,n=t.plugins.get("Widget"),s=n._getObjectElementNextToSelection(e);return!!mp(t.editing.mapper.toViewElement(s),s,i)&&(o.change((t=>{n._setSelectionOverElement(s),t.setSelectionAttribute(hp,e?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,o=t.model,i=o.schema,n=t.editing.mapper,s=o.document.selection,r=e?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter;return!!mp(n.toViewElement(r),r,i)&&(o.change((t=>{t.setSelection(r,"on"),t.setSelectionAttribute(hp,e?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",((o,i)=>{const n=i.domTarget.closest(".ck-widget__type-around__button");if(!n)return;const s=function(e){return e.classList.contains("ck-widget__type-around__button_before")?"before":"after"}(n),r=function(e,t){const o=e.closest(".ck-widget");return t.mapDomToView(o)}(n,t.domConverter),a=e.editing.mapper.toModelElement(r);this._insertParagraph(a,s),i.preventDefault(),o.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,o=e.editing.view;this._listenToIfEnabled(o.document,"enter",((o,i)=>{if("atTarget"!=o.eventPhase)return;const n=t.getSelectedElement(),s=e.editing.mapper.toViewElement(n),r=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:mp(s,n,r)&&(this._insertParagraph(n,i.isSoft?"before":"after"),a=!0),a&&(i.preventDefault(),o.stop())}),{context:ip})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",((t,o)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(o.selection=e.selection)}),{priority:"high"}),Y.isAndroid?this._listenToIfEnabled(e,"keydown",((e,t)=>{229==t.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()})):this._listenToIfEnabled(e,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"highest"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,o=e.model,i=o.schema;this._listenToIfEnabled(t.document,"delete",((t,n)=>{if("atTarget"!=t.eventPhase)return;const s=gp(o.document.selection);if(!s)return;const r=n.direction,a=o.document.selection.getSelectedElement(),l="forward"==r;if("before"===s===l)e.execute("delete",{selection:o.createSelection(a,"on")});else{const t=i.getNearestSelectionRange(o.createPositionAt(a,s),r);if(t)if(t.isCollapsed){const n=o.createSelection(t.start);if(o.modifySelection(n,{direction:r}),n.focus.isEqual(t.start)){const e=function(e,t){let o=t;for(const i of t.getAncestors({parentFirst:!0})){if(i.childCount>1||e.isLimit(i))break;o=i}return o}(i,t.start.parent);o.deleteContent(o.createSelection(e,"on"),{doNotAutoparagraph:!0})}else o.change((o=>{o.setSelection(t),e.execute(l?"deleteForward":"delete")}))}else o.change((o=>{o.setSelection(t),e.execute(l?"deleteForward":"delete")}))}n.preventDefault(),t.stop()}),{context:ip})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,o=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",((e,[i,n])=>{if(n&&!n.is("documentSelection"))return;const s=gp(o);return s?(e.stop(),t.change((e=>{const n=o.getSelectedElement(),r=t.createPositionAt(n,s),a=e.createSelection(r),l=t.insertContent(i,a);return e.setSelection(a),l}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"insertObject",((e,o)=>{const[,i,n={}]=o;if(i&&!i.is("documentSelection"))return;const s=gp(t);s&&(n.findOptimalPosition=s,o[3]=n)}),{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",((e,[o])=>{if(o&&!o.is("documentSelection"))return;gp(t)&&e.stop()}),{priority:"high"})}}function yp(e){const t=e.model;return(o,i)=>{const n=i.keyCode==qt.arrowup,s=i.keyCode==qt.arrowdown,r=i.shiftKey,a=t.document.selection;if(!n&&!s)return;const l=s,c=function(e,t,o){const i=e.model;if(o){const e=t.focus,o=_p(i,e,"forward");if(!o)return;const n=i.createRange(e,o),s=kp(i.schema,n,"backward");if(s)return i.createRange(e,s)}else{const e=t.focus,o=_p(i,e,"backward");if(!o)return;const n=i.createRange(o,e),s=kp(i.schema,n,"forward");if(s)return i.createRange(s,e)}}(e,a,l);if(c){if(c.isCollapsed){if(a.isCollapsed)return;if(r)return}(c.isCollapsed||function(e,t,o){const i=e.model,n=e.view.domConverter;if(o){const e=i.createSelection(t.start);i.modifySelection(e),e.focus.isAtEnd||t.start.isEqual(e.focus)||(t=i.createRange(e.focus,t.end))}const s=e.mapper.toViewRange(t),r=n.viewRangeToDom(s),a=ut.getDomRangeRects(r);let l;for(const e of a)if(void 0!==l){if(Math.round(e.top)>=l)return!1;l=Math.max(l,Math.round(e.bottom))}else l=Math.round(e.bottom);return!0}(e,c,l))&&(t.change((e=>{const o=l?c.end:c.start;if(r){const i=t.createSelection(a.anchor);i.setFocus(o),e.setSelection(i)}else e.setSelection(o)})),o.stop(),i.preventDefault(),i.stopPropagation())}}}function _p(e,t,o){const i=e.schema,n=e.createRangeIn(t.root),s="forward"==o?"elementStart":"elementEnd";for(const{previousPosition:e,item:r,type:a}of n.getWalker({startPosition:t,direction:o})){if(i.isLimit(r)&&!i.isInline(r))return e;if(a==s&&i.isBlock(r))return null}return null}function kp(e,t,o){const i="backward"==o?t.end:t.start;if(e.checkChild(i,"$text"))return i;for(const{nextPosition:i}of t.getWalker({direction:o}))if(e.checkChild(i,"$text"))return i}class vp extends fc{_previouslySelected=new Set;static get pluginName(){return"Widget"}static get isOfficialPlugin(){return!0}static get requires(){return[wp,Tg]}init(){const e=this.editor,t=e.editing.view,o=t.document,i=e.t;this.editor.editing.downcastDispatcher.on("selection",((t,o,i)=>{const n=i.writer,s=o.selection;if(s.isCollapsed)return;const r=s.getSelectedElement();if(!r)return;const a=e.editing.mapper.toViewElement(r);var l;ip(a)&&(i.consumable.consume(s,"selection")&&n.setSelection(n.createRangeOn(a),{fake:!0,label:(l=a,l.getCustomProperty("widgetLabel").reduce(((e,t)=>"function"==typeof t?e?e+". "+t():t():e?e+". "+t:t),""))}))})),this.editor.editing.downcastDispatcher.on("selection",((e,t,o)=>{this._clearPreviouslySelectedWidgets(o.writer);const i=o.writer,n=i.document.selection;let s=null;for(const e of n.getRanges())for(const t of e){const e=t.item;ip(e)&&!Cp(e,s)&&(i.addClass(op,e),this._previouslySelected.add(e),s=e)}}),{priority:"low"}),t.addObserver(il),t.addObserver(sl),this.listenTo(o,"mousedown",((...e)=>this._onMousedown(...e))),this.listenTo(o,"pointerdown",((...e)=>this._onPointerdown(...e))),this.listenTo(o,"arrowKey",((...e)=>{this._handleSelectionChangeOnArrowKeyPress(...e)}),{context:[ip,"$text"]}),this.listenTo(o,"arrowKey",((...e)=>{this._preventDefaultOnArrowKeyPress(...e)}),{context:"$root"}),this.listenTo(o,"arrowKey",yp(this.editor.editing),{context:"$text"}),this.listenTo(o,"delete",((e,t)=>{this._handleDelete("forward"==t.direction)&&(t.preventDefault(),e.stop())}),{context:"$root"}),this.listenTo(o,"tab",((e,o)=>{this._selectNextEditable(o.shiftKey?"backward":"forward")&&(t.scrollToTheSelection(),o.preventDefault(),e.stop())}),{context:e=>ip(e)||e.is("editableElement"),priority:"low"}),this.listenTo(o,"keydown",((e,t)=>{t.keystroke==qt.esc&&this._selectAncestorWidget()&&(t.preventDefault(),e.stop())}),{context:e=>e.is("editableElement"),priority:"low"}),e.accessibility.addKeystrokeInfoGroup({id:"widget",label:i("Keystrokes that can be used when a widget is selected (for example: image, table, etc.)"),keystrokes:[{label:i("Move focus from an editable area back to the parent widget"),keystroke:"Esc"},{label:i("Insert a new paragraph directly after a widget"),keystroke:"Enter"},{label:i("Insert a new paragraph directly before a widget"),keystroke:"Shift+Enter"},{label:i("Move the caret to allow typing directly before a widget"),keystroke:[["arrowup"],["arrowleft"]]},{label:i("Move the caret to allow typing directly after a widget"),keystroke:[["arrowdown"],["arrowright"]]}]})}_onMousedown(e,t){const o=t.target;o&&t.domEvent.detail>=3&&this._selectBlockContent(o)&&t.preventDefault()}_onPointerdown(e,t){if(!t.domEvent.isPrimary)return;const o=this.editor,i=o.editing.view,n=i.document;let s=t.target;if(!s)return;if(!ip(s)){const e=function(e){let t=e;for(;t;){if(t.is("editableElement")||ip(t))return t;t=t.parent}return null}(s);if(!e)return;if(ip(e))s=e;else{const e=function(e,t){const o=st(t.domEvent);let i=null;i=o?e.domConverter.domRangeToView(o):e.createRange(e.createPositionAt(t.target,0));if(!i)return null;const n=i.start;if(!n.parent)return null;let s=n.parent;n.parent.is("editableElement")&&(n.isAtEnd&&n.nodeBefore?s=n.nodeBefore:n.isAtStart&&n.nodeAfter&&(s=n.nodeAfter));if(s.is("$text"))return s.parent;return s}(i,t);if(!e||!ip(e))return;s=e}}(Y.isAndroid||Y.isiOS)&&t.preventDefault(),n.isFocused||i.focus();const r=o.editing.mapper.toModelElement(s);this._setSelectionOverElement(r)}_selectBlockContent(e){const t=this.editor,o=t.model,i=t.editing.mapper,n=o.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(e,0)),r=function(e,t){for(const o of e.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(o,"$text"))return o;if(t.isLimit(o)&&!t.isObject(o))break}return null}(i.toModelElement(s),o.schema);return!!r&&(o.change((e=>{const t=n.isLimit(r)?null:function(e,t){const o=new is({startPosition:e});for(const{item:e}of o){if(t.isLimit(e)||!e.is("element"))return null;if(t.checkChild(e,"$text"))return e}return null}(e.createPositionAfter(r),n),o=e.createPositionAt(r,0),i=t?e.createPositionAt(t,0):e.createPositionAt(r,"end");e.setSelection(e.createRange(o,i))})),!0)}_handleSelectionChangeOnArrowKeyPress(e,t){const o=t.keyCode,i=this.editor.model,n=i.schema,s=i.document.selection,r=s.getSelectedElement(),a=Kt(o,this.editor.locale.contentLanguageDirection),l="down"==a||"right"==a,c="up"==a||"down"==a;if(!t.shiftKey&&!s.isCollapsed){if(function(e,t){const o=e.getFirstPosition(),i=e.getLastPosition(),n=o.nodeAfter,s=i.nodeBefore;return!!n&&t.isObject(n)||!!s&&t.isObject(s)}(s,n)){const o=l?s.getLastPosition():s.getFirstPosition(),r=n.getNearestSelectionRange(o,l?"forward":"backward");r&&(i.change((e=>{e.setSelection(r)})),t.preventDefault(),e.stop())}return}const d=function(e,t){const o=e.document.selection,i=o.getSelectedElement(),n=gp(o);if(i&&"before"==n)return e.createSelection(i,"before");if(i&&"after"==n)return e.createSelection(i,"after");return e.createSelection(o.getRanges(),{backward:i&&e.schema.isObject(i)?!t:o.isBackward})}(i,l),u=i.createSelection(d);if(i.modifySelection(u,{direction:l?"forward":"backward"}),u.isEqual(d))return;u.focus.isTouching(d.focus)&&n.checkChild(u.focus.parent,"$text")&&(l?!u.focus.isAtEnd:!u.focus.isAtStart)&&i.modifySelection(u,{direction:l?"forward":"backward"});const h=l?d.focus.nodeBefore:d.focus.nodeAfter,m=u.focus.nodeBefore,g=u.focus.nodeAfter,p=l?m:g;if(t.shiftKey)(r&&n.isObject(r)||p&&n.isObject(p)||h&&n.isObject(h))&&(i.change((e=>{e.setSelection(u)})),t.preventDefault(),e.stop());else if(p&&n.isObject(p)){if(n.isInline(p)&&c)return;i.change((e=>{e.setSelection(p,"on")})),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const o=this.editor.model,i=o.schema,n=o.document.selection.getSelectedElement();n&&i.isObject(n)&&(t.preventDefault(),e.stop())}_handleDelete(e){const t=this.editor.model.document.selection;if(!this.editor.model.canEditAt(t))return;if(!t.isCollapsed)return;const o=this._getObjectElementNextToSelection(e);return o?(this.editor.model.change((e=>{let i=t.anchor.parent;for(;i.isEmpty;){const t=i;i=t.parent,e.remove(t)}this._setSelectionOverElement(o)})),!0):void 0}_setSelectionOverElement(e){this.editor.model.change((t=>{t.setSelection(t.createRangeOn(e))}))}_getObjectElementNextToSelection(e){const t=this.editor.model,o=t.schema,i=t.document.selection,n=t.createSelection(i);if(t.modifySelection(n,{direction:e?"forward":"backward"}),n.isEqual(i))return null;const s=e?n.focus.nodeBefore:n.focus.nodeAfter;return s&&o.isObject(s)?s:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(op,t);this._previouslySelected.clear()}_selectNextEditable(e){const t=this.editor.editing,o=t.view,i=this.editor.model,n=o.document.selection,s=i.document.selection;let r;if(s.rangeCount>1){const o=s.isBackward?s.getFirstRange():s.getLastRange();r=t.mapper.toViewPosition("forward"==e?o.end:o.start)}else r="forward"==e?n.getFirstPosition():n.getLastPosition();const a=this._findNextFocusRange(r,e);return!!a&&(i.change((e=>{e.setSelection(a)})),!0)}_findNextFocusRange(e,t){const o=this.editor.editing,i=o.view,n=this.editor.model,s=i.document.selection,r=s.editableElement,a=r.getPath();let l=s.getSelectedElement();l&&!ip(l)&&(l=null);const c="forward"==t?i.createRange(e,i.createPositionAt(e.root,"end")):i.createRange(i.createPositionAt(e.root,0),e);for(const{nextPosition:e}of c.getWalker({direction:t})){const i=e.parent;if(ip(i)&&i!=l){const e=o.mapper.toModelElement(i);if(!n.schema.isBlock(e))continue;if("extension"!=We(a,i.getPath()))return n.createRangeOn(e)}else if(i.is("editableElement")){if(i==r&&!l)continue;const s=o.mapper.toModelPosition(e),c=n.schema.getNearestSelectionRange(s,t);if(!c)continue;return i==r&&l?c:"extension"!=We(a,i.getPath())?n.createRangeIn(n.schema.getLimitElement(c)):c}}return null}_selectAncestorWidget(){const e=this.editor,t=e.editing.mapper,o=e.editing.view.document.selection.getFirstPosition().parent,i=(o.is("$text")?o.parent:o).findAncestor(ip);if(!i)return!1;const n=t.toModelElement(i);return!!n&&(e.model.change((e=>{e.setSelection(n,"on")})),!0)}}function Cp(e,t){return!!t&&Array.from(e.getAncestors()).includes(t)}class Ap extends fc{_toolbarDefinitions=new Map;_balloon;static get requires(){return[Qm]}static get pluginName(){return"WidgetToolbarRepository"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",(t=>{(function(e){const t=e.getSelectedElement();return!(!t||!ip(t))})(e.editing.view.document.selection)&&t.stop()}),{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:o,getRelatedElement:i,balloonClassName:n="ck-toolbar-container",positions:s}){if(!o.length)return void be("widget-toolbar-no-items",{toolbarId:e});const r=this.editor,a=r.t,l=new Wh(r.locale);if(l.ariaLabel=t||a("Widget toolbar"),this._toolbarDefinitions.has(e))throw new fe("widget-toolbar-duplicated",this,{toolbarId:e});const c={view:l,getRelatedElement:i,balloonClassName:n,itemsConfig:o,positions:s,initialized:!1};r.ui.addToolbar(l,{isContextual:!0,beforeFocus:()=>{const e=i(r.editing.view.document.selection);e&&this._showToolbar(c,e)},afterBlur:()=>{this._hideToolbar(c)}}),this._toolbarDefinitions.set(e,c)}_updateToolbarsVisibility(){let e=0,t=null,o=null;for(const i of this._toolbarDefinitions.values()){const n=i.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&n)if(this.editor.ui.focusTracker.isFocused){const s=n.getAncestors().length;s>e&&(e=s,t=n,o=i)}else this._isToolbarVisible(i)&&this._hideToolbar(i);else this._isToolbarInBalloon(i)&&this._hideToolbar(i)}o&&this._showToolbar(o,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?xp(this.editor,t,e.positions):this._isToolbarInBalloon(e)||(e.initialized||(e.initialized=!0,e.view.fillFromConfig(e.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:e.view,position:Ep(this.editor,t,e.positions),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const t of this._toolbarDefinitions.values())if(this._isToolbarVisible(t)){const o=t.getRelatedElement(this.editor.editing.view.document.selection);xp(this.editor,o,e.positions)}})))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function xp(e,t,o){const i=e.plugins.get("ContextualBalloon"),n=Ep(e,t,o);i.updatePosition(n)}function Ep(e,t,o){const i=e.editing.view,n=dh.defaultPositions;return{target:i.domConverter.mapViewToDom(t),positions:o||[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class Tp extends(Be()){_referenceCoordinates;_options;_originalWidth;_originalHeight;_originalWidthPercents;_aspectRatio;constructor(e){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=e,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(e,t,o){const i=new ut(t);this.activeHandlePosition=function(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const o of t)if(e.classList.contains(Pp(o)))return o}(e),this._referenceCoordinates=function(e,t){const o=new ut(e),i=t.split("-"),n={x:"right"==i[1]?o.right:o.left,y:"bottom"==i[0]?o.bottom:o.top};return n.x+=e.ownerDocument.defaultView.scrollX,n.y+=e.ownerDocument.defaultView.scrollY,n}(t,function(e){const t=e.split("-"),o={top:"bottom",bottom:"top",left:"right",right:"left"};return`${o[t[0]]}-${o[t[1]]}`}(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const n=o.style.width;n&&n.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(n):this._originalWidthPercents=function(e,t=new ut(e)){const o=up(e);return o?t.width/o*100:0}(o,i)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}function Pp(e){return`ck-widget__resizer__handle-${e}`}class Sp extends Au{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",(e=>e?`ck-orientation-${e}`:""))],style:{display:e.if("_isVisible","none",(e=>!e))}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",((e,t)=>null!==e&&null!==t)),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",((t,o,i)=>"px"===e.unit?`${t}×${o}`:`${i}%`)),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",((e,t,o)=>t<50||o<50?"above-center":e))}_dismiss(){this.unbind(),this._isVisible=!1}}class Ip extends(Be()){_state;_sizeView;_options;_viewResizerWrapper=null;_initialViewWidth;constructor(e){super(),this._options=e,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((e,t)=>e&&t)),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(e=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),e.stop())}),{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change((e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){this._options.editor.editing.view.change((e=>{e.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change((o=>{const i=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(t){const o=this.toDomElement(t);return e._appendHandles(o),e._appendSizeUI(o),o}));o.insert(o.createPositionAt(t,"end"),i),o.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=i,this.isVisible||this.hide()})),this.on("change:isVisible",(()=>{this.isVisible?(this.show(),this.redraw()):this.hide()}))}begin(e){this._state=new Tp(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change((e=>{const o=this._options.unit||"%",i=("%"===o?t.widthPercents:t.width)+o;e.setStyle("width",i,this._options.viewElement)}));const o=this._getHandleHost(),i=new ut(o),n=Math.round(i.width),s=Math.round(i.height),r=new ut(o);t.width=Math.round(r.width),t.height=Math.round(r.height),this.redraw(i),this.state.update({...t,handleHostWidth:n,handleHostHeight:s})}commit(){const e=this._options.unit||"%",t=("%"===e?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(t)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!((o=t)&&o.ownerDocument&&o.ownerDocument.contains(o)))return;var o;const i=t.parentElement,n=this._getHandleHost(),s=this._viewResizerWrapper,r=[s.getStyle("width"),s.getStyle("height"),s.getStyle("left"),s.getStyle("top")];let a;if(i.isSameNode(n)){const t=e||new ut(n);a=[t.width+"px",t.height+"px",void 0,void 0]}else a=[n.offsetWidth+"px",n.offsetHeight+"px",n.offsetLeft+"px",n.offsetTop+"px"];"same"!==We(r,a)&&this._options.editor.editing.view.change((e=>{e.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},s)}))}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(e){const t=this.state,o={x:(i=e).pageX,y:i.pageY};var i;const n=!this._options.isCentered||this._options.isCentered(this),s={x:t._referenceCoordinates.x-(o.x+t.originalWidth),y:o.y-t.originalHeight-t._referenceCoordinates.y};n&&t.activeHandlePosition.endsWith("-right")&&(s.x=o.x-(t._referenceCoordinates.x+t.originalWidth)),n&&(s.x*=2);let r=Math.abs(t.originalWidth+s.x),a=Math.abs(t.originalHeight+s.y);return"width"==(r/t.aspectRatio>a?"width":"height")?a=r/t.aspectRatio:r=a*t.aspectRatio,{width:Math.round(r),height:Math.round(a),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*r*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const i of t)e.appendChild(new ou({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(o=i,`ck-widget__resizer__handle-${o}`)}}).render());var o}_appendSizeUI(e){this._sizeView=new Sp,this._sizeView.render(),e.appendChild(this._sizeView.element)}}class Rp extends fc{_resizers=new Map;_observer;_redrawSelectedResizerThrottled;static get pluginName(){return"WidgetResize"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.editing,t=J.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),e.view.addObserver(il),this._observer=new(et()),this.listenTo(e.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(t,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(t,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=oc((()=>this.redrawSelectedResizer()),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[e,t]of this._resizers)e.isAttached()||(this._resizers.delete(e),t.destroy())}),{priority:"lowest"}),this._observer.listenTo(J.window,"resize",this._redrawSelectedResizerThrottled);const o=this.editor.editing.view.document.selection;o.on("change",(()=>{const e=o.getSelectedElement(),t=this.getResizerByViewElement(e)||null;t?this.select(t):this.deselect()}))}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawSelectedResizerThrottled.cancel()}select(e){this.deselect(),this.selectedResizer=e,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(e){const t=new Ip(e),o=this.editor.plugins;if(t.attach(),o.has("WidgetToolbarRepository")){const e=o.get("WidgetToolbarRepository");t.on("begin",(()=>{e.forceDisabled("resize")}),{priority:"lowest"}),t.on("cancel",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"}),t.on("commit",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(e.viewElement,t);const i=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(i)==t&&this.select(t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const o=t.domTarget;Ip.isResizeHandle(o)&&(this._activeResizer=this._getResizerByHandle(o)||null,this._activeResizer&&(this._activeResizer.begin(o),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}class Op extends fc{static get pluginName(){return"OPMacroToc"}static get buttonName(){return"insertToc"}init(){const e=this.editor,t=e.model,o=e.conversion;t.schema.register("op-macro-toc",{allowWhere:"$block",isBlock:!0,isLimit:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"toc"},model:"op-macro-toc"}),o.for("editingDowncast").elementToElement({model:"op-macro-toc",view:(e,{writer:t})=>np(this.createTocViewElement(t),t,{label:this.label})}),o.for("dataDowncast").elementToElement({model:"op-macro-toc",view:(e,{writer:t})=>this.createTocDataElement(t)}),e.ui.componentFactory.add(Op.buttonName,(t=>{const o=new Lu(t);return o.set({label:this.label,withText:!0}),o.on("execute",(()=>{e.model.change((t=>{const o=t.createElement("op-macro-toc",{});e.model.insertContent(o,e.model.document.selection)}))})),o}))}get label(){return window.I18n.t("js.editor.macro.toc")}createTocViewElement(e){const t=e.createText(this.label),o=e.createContainerElement("div");return e.insert(e.createPositionAt(o,0),t),o}createTocDataElement(e){return e.createContainerElement("macro",{class:"toc"})}}const Vp=Symbol("isOPEmbeddedTable");function Dp(e){const t=e.getSelectedElement();return!(!t||!function(e){return!!e.getCustomProperty(Vp)&&ip(e)}(t))}function Fp(e){return _.get(e.config,"_config.openProject.context.resource")}function Mp(e){return _.get(e.config,"_config.openProject.pluginContext")}function Np(e,t){return Mp(e).services[t]}function Bp(e){return Np(e,"pathHelperService")}function Lp(e){return Np(e,"i18n")}class zp extends fc{static get pluginName(){return"EmbeddedTableEditing"}static get buttonName(){return"insertEmbeddedTable"}init(){const e=this.editor,t=e.model,o=e.conversion,i=Mp(e);this.text={button:window.I18n.t("js.editor.macro.embedded_table.button"),macro_text:window.I18n.t("js.editor.macro.embedded_table.text")},t.schema.register("op-macro-embedded-table",{allowWhere:"$block",allowAttributes:["opEmbeddedTableQuery"],isBlock:!0,isObject:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"embedded-table"},model:(e,{writer:t})=>{const o=e.getAttribute("data-query-props");return t.createElement("op-macro-embedded-table",{opEmbeddedTableQuery:o?JSON.parse(o):{}})}}),o.for("editingDowncast").elementToElement({model:"op-macro-embedded-table",view:(e,{writer:t})=>{return o=this.createEmbeddedTableView(t),i=t,this.label,i.setCustomProperty(Vp,!0,o),np(o,i,{label:"your label here"});var o,i}}),o.for("dataDowncast").elementToElement({model:"op-macro-embedded-table",view:(e,{writer:t})=>this.createEmbeddedTableDataElement(e,t)}),e.ui.componentFactory.add(zp.buttonName,(t=>{const o=new Lu(t);return o.set({label:this.text.button,withText:!0}),o.on("execute",(()=>i.runInZone((()=>{i.services.externalQueryConfiguration.show({currentQuery:{},callback:t=>e.model.change((o=>{const i=o.createElement("op-macro-embedded-table",{opEmbeddedTableQuery:t});e.model.insertContent(i,e.model.document.selection)}))})})))),o}))}createEmbeddedTableView(e){const t=e.createText(this.text.macro_text),o=e.createContainerElement("div");return e.insert(e.createPositionAt(o,0),t),o}createEmbeddedTableDataElement(e,t){const o=e.getAttribute("opEmbeddedTableQuery")||{};return t.createContainerElement("macro",{class:"embedded-table","data-query-props":JSON.stringify(o)})}}function jp(e,t,o){e.ui.componentFactory.add(t,(t=>{const i=new Lu(t);return i.set({label:I18n.t("js.button_edit"),icon:'\n',tooltip:!0}),i.on("execute",(()=>{const t=e.model.document.selection.getSelectedElement();t&&o(t)})),i}))}const qp="ck-toolbar-container";function $p(e,t,o,i){const n=t.config.get(o+".toolbar");if(!n||!n.length)return;const s=t.plugins.get("ContextualBalloon"),r=new Wh(t.locale);function a(){t.ui.focusTracker.isFocused&&i(t.editing.view.document.selection)?c()?function(e,t){const o=e.plugins.get("ContextualBalloon");if(t(e.editing.view.document.selection)){const t=Hp(e);o.updatePosition(t)}}(t,i):s.hasView(r)||s.add({view:r,position:Hp(t),balloonClassName:qp}):l()}function l(){c()&&s.remove(r)}function c(){return s.visibleView==r}r.fillFromConfig(n,t.ui.componentFactory),e.listenTo(t.editing.view,"render",a),e.listenTo(t.ui.focusTracker,"change:isFocused",a,{priority:"low"})}function Hp(e){const t=e.editing.view,o=dh.defaultPositions;return{target:t.domConverter.viewToDom(t.document.selection.getSelectedElement()),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast]}}class Wp extends fc{static get requires(){return[Qm]}static get pluginName(){return"EmbeddedTableToolbar"}init(){const e=this.editor,t=this.editor.model,o=Mp(e);jp(e,"opEditEmbeddedTableQuery",(e=>{const i=o.services.externalQueryConfiguration,n=e.getAttribute("opEmbeddedTableQuery")||{};o.runInZone((()=>{i.show({currentQuery:n,callback:o=>t.change((t=>{t.setAttribute("opEmbeddedTableQuery",o,e)}))})}))}))}afterInit(){$p(this,this.editor,"OPMacroEmbeddedTable",Dp)}}const Up=Symbol("isWpButtonMacroSymbol");function Kp(e){const t=e.getSelectedElement();return!(!t||!function(e){return!!e.getCustomProperty(Up)&&ip(e)}(t))}class Gp extends fc{static get pluginName(){return"OPMacroWpButtonEditing"}static get buttonName(){return"insertWorkPackageButton"}init(){const e=this.editor,t=e.model,o=e.conversion,i=Mp(e);t.schema.register("op-macro-wp-button",{allowWhere:["$block"],allowAttributes:["type","classes"],isBlock:!0,isLimit:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"create_work_package_link"},model:(e,{writer:t})=>{const o=e.getAttribute("data-type")||"",i=e.getAttribute("data-classes")||"";return t.createElement("op-macro-wp-button",{type:o,classes:i})}}),o.for("editingDowncast").elementToElement({model:"op-macro-wp-button",view:(e,{writer:t})=>this.createMacroViewElement(e,t)}),o.for("dataDowncast").elementToElement({model:"op-macro-wp-button",view:(e,{writer:t})=>t.createContainerElement("macro",{class:"create_work_package_link","data-type":e.getAttribute("type")||"","data-classes":e.getAttribute("classes")||""})}),e.ui.componentFactory.add(Gp.buttonName,(t=>{const o=new Lu(t);return o.set({label:window.I18n.t("js.editor.macro.work_package_button.button"),withText:!0}),o.on("execute",(()=>{i.services.macros.configureWorkPackageButton().then((t=>e.model.change((o=>{const i=o.createElement("op-macro-wp-button",{});o.setAttribute("type",t.type,i),o.setAttribute("classes",t.classes,i),e.model.insertContent(i,e.model.document.selection)}))))})),o}))}macroLabel(e){return e?window.I18n.t("js.editor.macro.work_package_button.with_type",{typename:e}):window.I18n.t("js.editor.macro.work_package_button.without_type")}createMacroViewElement(e,t){const o=e.getAttribute("classes")||"",i=this.macroLabel(),n=t.createText(i),s=t.createContainerElement("span",{class:o});return t.insert(t.createPositionAt(s,0),n),function(e,t,o){return t.setCustomProperty(Up,!0,e),np(e,t,{label:o})}(s,t,{label:i})}}class Jp extends fc{static get requires(){return[Qm]}static get pluginName(){return"OPMacroWpButtonToolbar"}init(){const e=this.editor,t=Mp(e);jp(e,"opEditWpMacroButton",(o=>{const i=t.services.macros,n=o.getAttribute("type"),s=o.getAttribute("classes");i.configureWorkPackageButton(n,s).then((t=>e.model.change((e=>{e.setAttribute("classes",t.classes,o),e.setAttribute("type",t.type,o)}))))}))}afterInit(){$p(this,this.editor,"OPMacroWpButton",Kp)}}class Zp extends(Be()){total;_reader;_data;constructor(){super();const e=new window.FileReader;this._reader=e,this._data=void 0,this.set("loaded",0),e.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(e){const t=this._reader;return this.total=e.size,new Promise(((o,i)=>{t.onload=()=>{const e=t.result;this._data=e,o(e)},t.onerror=()=>{i("error")},t.onabort=()=>{i("aborted")},this._reader.readAsDataURL(e)}))}abort(){this._reader.abort()}}class Qp extends fc{loaders=new eo;_loadersMap=new Map;_pendingAction=null;static get pluginName(){return"FileRepository"}static get isOfficialPlugin(){return!0}static get requires(){return[Lc]}init(){this.loaders.on("change",(()=>this._updatePendingAction())),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0))}getLoader(e){return this._loadersMap.get(e)||null}createLoader(e){if(!this.createUploadAdapter)return be("filerepository-no-upload-adapter"),null;const t=new Yp(Promise.resolve(e),this.createUploadAdapter);return this.loaders.add(t),this._loadersMap.set(e,t),e instanceof Promise&&t.file.then((e=>{this._loadersMap.set(e,t)})).catch((()=>{})),t.on("change:uploaded",(()=>{let e=0;for(const t of this.loaders)e+=t.uploaded;this.uploaded=e})),t.on("change:uploadTotal",(()=>{let e=0;for(const t of this.loaders)t.uploadTotal&&(e+=t.uploadTotal);this.uploadTotal=e})),t}destroyLoader(e){const t=e instanceof Yp?e:this.getLoader(e);t._destroy(),this.loaders.remove(t),this._loadersMap.forEach(((e,o)=>{e===t&&this._loadersMap.delete(o)}))}_updatePendingAction(){const e=this.editor.plugins.get(Lc);if(this.loaders.length){if(!this._pendingAction){const t=this.editor.t,o=e=>`${t("Upload in progress")} ${parseInt(e)}%.`;this._pendingAction=e.add(o(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",o)}}else e.remove(this._pendingAction),this._pendingAction=null}}class Yp extends(Be()){id;_filePromiseWrapper;_adapter;_reader;constructor(e,t){super(),this.id=me(),this._filePromiseWrapper=this._createFilePromiseWrapper(e),this._adapter=t(this),this._reader=new Zp,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((e=>this._filePromiseWrapper?e:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new fe("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((e=>this._reader.read(e))).then((e=>{if("reading"!==this.status)throw this.status;return this.status="idle",e})).catch((e=>{if("aborted"===e)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:e}))}upload(){if("idle"!=this.status)throw new fe("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((e=>(this.uploadResponse=e,this.status="idle",e))).catch((e=>{if("aborted"===this.status)throw"aborted";throw this.status="error",e}))}abort(){const e=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==e?this._reader.abort():"uploading"==e&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(e){const t={};return t.promise=new Promise(((o,i)=>{t.rejecter=i,t.isFulfilled=!1,e.then((e=>{t.isFulfilled=!0,o(e)})).catch((e=>{t.isFulfilled=!0,i(e)}))})),t}}class Xp{constructor(e,t,o){this.loader=e,this.resource=t,this.editor=o}upload(){const e=this.resource,t=Np(this.editor,"attachmentsResourceService");return e?this.loader.file.then((o=>t.attachFiles(e,[o]).toPromise().then((e=>(this.editor.model.fire("op:attachment-added",e),this.buildResponse(e[0])))).catch((e=>{console.error("Failed upload %O",e)})))):(console.warn("resource not available in this CKEditor instance"),Promise.reject("Not possible to upload attachments without resource"))}buildResponse(e){return{default:e._links.staticDownloadLocation.href}}abort(){return!1}}function ef(e){return e}function tf(e,t,o){return"function"!=typeof o?tf(e,t,(()=>{})):of(e,t,(function e(t,i,n,s,r,a){const l=o(t,i,n,s,r,a);return void 0!==l?Boolean(l):of(t,i,e,a)}),new Map)}function of(e,t,o,i){if(t===e)return!0;switch(typeof t){case"object":return function(e,t,o,i){if(null==t)return!0;if(Array.isArray(t))return nf(e,t,o,i);if(t instanceof Map)return function(e,t,o,i){if(0===t.size)return!0;if(!(e instanceof Map))return!1;for(const[n,s]of t.entries()){if(!1===o(e.get(n),s,n,e,t,i))return!1}return!0}(e,t,o,i);if(t instanceof Set)return function(e,t,o,i){if(0===t.size)return!0;if(!(e instanceof Set))return!1;return nf([...e],[...t],o,i)}(e,t,o,i);const n=Object.keys(t);if(null==e||V(e))return 0===n.length;if(0===n.length)return!0;if(i?.has(t))return i.get(t)===e;i?.set(t,e);try{for(let s=0;s0?of(e,{...t},o,i):Co(e,t);default:return s(e)?"string"!=typeof t||""===t:Co(e,t)}}function nf(e,t,o,i){if(0===t.length)return!0;if(!Array.isArray(e))return!1;const n=new Set;for(let s=0;s{}))}function rf(e){var t;return e=F(t=e,void 0,t,new Map,void 0),t=>sf(t,e)}function af(e,t){let o;if(o=Array.isArray(t)?t:"string"==typeof t&&wo(t)&&null==e?.[t]?ko(t):[t],0===o.length)return!1;let i=e;for(let e=0;e{i.preventDefault();const n=i.dropRange?[i.dropRange]:null,s=new ue(t,e);t.fire(s,{dataTransfer:i.dataTransfer,method:o.name,targetRanges:n,target:i.target,domEvent:i.domEvent}),s.stop.called&&i.stopPropagation()}}this.listenTo(t,"paste",o("clipboardInput"),{priority:"low"}),this.listenTo(t,"drop",o("clipboardInput"),{priority:"low"}),this.listenTo(t,"dragover",o("dragging"),{priority:"low"})}onDomEvent(e){const t="clipboardData"in e?e.clipboardData:e.dataTransfer,o="drop"==e.type||"paste"==e.type,i={dataTransfer:new Jn(t,{cacheFiles:o})};if("drop"==e.type||"dragover"==e.type){const t=st(e);i.dropRange=t&&this.view.domConverter.domRangeToView(t)}this.fire(e.type,e,i)}}const uf=["figcaption","li"],hf=["ol","ul"];function mf(e,t){if(t.is("$text")||t.is("$textProxy"))return t.data;if(t.is("element","img")&&t.hasAttribute("alt"))return t.getAttribute("alt");if(t.is("element","br"))return"\n";let o="",i=null;for(const n of t.getChildren())o+=pf(n,i)+mf(e,n),i=n;if(t.is("rawElement")){const i=document.implementation.createHTMLDocument("").createElement("div");t.render(i,e),o+=gf(i)}return o}function gf(e){let t="";if(e.nodeType===Node.TEXT_NODE)return e.textContent;if("BR"===e.tagName)return"\n";for(const o of e.childNodes)t+=gf(o);return t}function pf(e,t){return t?e.is("element","li")&&!e.isEmpty&&e.getChild(0).is("containerElement")||hf.includes(e.name)&&hf.includes(t.name)?"\n\n":e.is("containerElement")||t.is("containerElement")?uf.includes(e.name)||uf.includes(t.name)?"\n":e.is("element")&&e.getCustomProperty("dataPipeline:transparentRendering")||t.is("element")&&t.getCustomProperty("dataPipeline:transparentRendering")?"":"\n\n":"":""}class ff extends fc{_markersToCopy=new Map;static get pluginName(){return"ClipboardMarkersUtils"}static get isOfficialPlugin(){return!0}_registerMarkerToCopy(e,t){this._markersToCopy.set(e,t)}_copySelectedFragmentWithMarkers(e,t,o=e=>e.model.getSelectedContent(e.model.document.selection)){return this.editor.model.change((i=>{const n=i.model.document.selection;i.setSelection(t);const s=this._insertFakeMarkersIntoSelection(i,i.model.document.selection,e),r=o(i),a=this._removeFakeMarkersInsideElement(i,r);for(const[e,t]of Object.entries(s)){a[e]||=i.createRangeIn(r);for(const e of t)i.remove(e)}r.markers.clear();for(const[e,t]of Object.entries(a))r.markers.set(e,t);return i.setSelection(n),r}))}_pasteMarkersIntoTransformedElement(e,t){const o=this._getPasteMarkersFromRangeMap(e);return this.editor.model.change((e=>{const i=this._insertFakeMarkersElements(e,o),n=t(e),s=this._removeFakeMarkersInsideElement(e,n);for(const t of Object.values(i).flat())e.remove(t);for(const[t,o]of Object.entries(s))e.model.markers.has(t)||e.addMarker(t,{usingOperation:!0,affectsData:!0,range:o});return n}))}_pasteFragmentWithMarkers(e){const t=this._getPasteMarkersFromRangeMap(e.markers);e.markers.clear();for(const o of t)e.markers.set(o.name,o.range);return this.editor.model.insertContent(e)}_forceMarkersCopy(e,t,o={allowedActions:"all",copyPartiallySelected:!0,duplicateOnPaste:!0}){const i=this._markersToCopy.get(e);this._markersToCopy.set(e,o),t(),i?this._markersToCopy.set(e,i):this._markersToCopy.delete(e)}_isMarkerCopyable(e,t){const o=this._getMarkerClipboardConfig(e);if(!o)return!1;if(!t)return!0;const{allowedActions:i}=o;return"all"===i||i.includes(t)}_hasMarkerConfiguration(e){return!!this._getMarkerClipboardConfig(e)}_getMarkerClipboardConfig(e){const[t]=e.split(":");return this._markersToCopy.get(t)||null}_insertFakeMarkersIntoSelection(e,t,o){const i=this._getCopyableMarkersFromSelection(e,t,o);return this._insertFakeMarkersElements(e,i)}_getCopyableMarkersFromSelection(e,t,o){const i=Array.from(t.getRanges()),n=new Set(i.flatMap((t=>Array.from(e.model.markers.getMarkersIntersectingRange(t)))));return Array.from(n).filter((e=>{if(!this._isMarkerCopyable(e.name,o))return!1;const{copyPartiallySelected:t}=this._getMarkerClipboardConfig(e.name);if(!t){const t=e.getRange();return i.some((e=>e.containsRange(t,!0)))}return!0})).map((e=>({name:"dragstart"===o?this._getUniqueMarkerName(e.name):e.name,range:e.getRange()})))}_getPasteMarkersFromRangeMap(e,t=null){const{model:o}=this.editor;return(e instanceof Map?Array.from(e.entries()):Object.entries(e)).flatMap((([e,i])=>{if(!this._hasMarkerConfiguration(e))return[{name:e,range:i}];if(this._isMarkerCopyable(e,t)){const t=this._getMarkerClipboardConfig(e),n=o.markers.has(e)&&"$graveyard"===o.markers.get(e).getRange().root.rootName;return(t.duplicateOnPaste||n)&&(e=this._getUniqueMarkerName(e)),[{name:e,range:i}]}return[]}))}_insertFakeMarkersElements(e,t){const o={},i=t.flatMap((e=>{const{start:t,end:o}=e.range;return[{position:t,marker:e,type:"start"},{position:o,marker:e,type:"end"}]})).sort((({position:e},{position:t})=>e.isBefore(t)?1:-1));for(const{position:t,marker:n,type:s}of i){const i=e.createElement("$marker",{"data-name":n.name,"data-type":s});o[n.name]||(o[n.name]=[]),o[n.name].push(i),e.insert(i,t)}return o}_removeFakeMarkersInsideElement(e,t){return cf(this._getAllFakeMarkersFromElement(e,t).reduce(((t,o)=>{const i=o.markerElement&&e.createPositionBefore(o.markerElement);let n=t[o.name],s=!1;if(n?.start&&n?.end){this._getMarkerClipboardConfig(o.name).duplicateOnPaste?t[this._getUniqueMarkerName(o.name)]=t[o.name]:s=!0,n=null}return s||(t[o.name]={...n,[o.type]:i}),o.markerElement&&e.remove(o.markerElement),t}),{}),(o=>new us(o.start||e.createPositionFromPath(t,[0]),o.end||e.createPositionAt(t,"end"))))}_getAllFakeMarkersFromElement(e,t){const o=Array.from(e.createRangeIn(t)).flatMap((({item:e})=>{if(!e.is("element","$marker"))return[];const t=e.getAttribute("data-name"),o=e.getAttribute("data-type");return[{markerElement:e,name:t,type:o}]})),i=[],n=[];for(const e of o){if("end"===e.type){o.some((t=>t.name===e.name&&"start"===t.type))||i.push({markerElement:null,name:e.name,type:"start"})}if("start"===e.type){o.some((t=>t.name===e.name&&"end"===t.type))||n.unshift({markerElement:null,name:e.name,type:"end"})}}return[...i,...o,...n]}_getUniqueMarkerName(e){const t=e.split(":"),o=me().substring(1,6);return 3===t.length?`${t.slice(0,2).join(":")}:${o}`:`${t.join(":")}:${o}`}}class bf extends fc{static get pluginName(){return"ClipboardPipeline"}static get isOfficialPlugin(){return!0}static get requires(){return[ff]}init(){this.editor.editing.view.addObserver(df),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(e,t,o){const i=this.editor.plugins.get("ClipboardMarkersUtils");this.editor.model.enqueueChange({isUndoable:"cut"===o},(()=>{const n=i._copySelectedFragmentWithMarkers(o,t);this.fire("outputTransformation",{dataTransfer:e,content:n,method:o})}))}_setupPasteDrop(){const e=this.editor,t=e.model,o=e.editing.view,i=o.document,n=this.editor.plugins.get("ClipboardMarkersUtils");this.listenTo(i,"clipboardInput",((t,o)=>{"paste"!=o.method||e.model.canEditAt(e.model.document.selection)||t.stop()}),{priority:"highest"}),this.listenTo(i,"clipboardInput",((e,t)=>{const i=t.dataTransfer;let n;if(t.content)n=t.content;else{let e="";i.getData("text/html")?e=function(e){return e.replace(/(\s+)<\/span>/g,((e,t)=>1==t.length?" ":t)).replace(//g,"")}(i.getData("text/html")):i.getData("text/plain")&&(((s=(s=i.getData("text/plain")).replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/\t/g,"    ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||s.includes("
"))&&(s=`

${s}

`),e=s),n=this.editor.data.htmlProcessor.toView(e)}var s;const r=new ue(this,"inputTransformation"),a=i.getData("application/ckeditor5-editor-id")||null;this.fire(r,{content:n,dataTransfer:i,sourceEditorId:a,targetRanges:t.targetRanges,method:t.method}),r.stop.called&&e.stop(),o.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((e,o)=>{if(o.content.isEmpty)return;const i=this.editor.data.toModel(o.content,"$clipboardHolder");0!=i.childCount&&(e.stop(),t.change((()=>{this.fire("contentInsertion",{content:i,method:o.method,sourceEditorId:o.sourceEditorId,dataTransfer:o.dataTransfer,targetRanges:o.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((e,t)=>{t.resultRange=n._pasteFragmentWithMarkers(t.content)}),{priority:"low"})}_setupCopyCut(){const e=this.editor,t=e.model.document,o=e.editing.view.document,i=(e,o)=>{const i=o.dataTransfer;o.preventDefault(),this._fireOutputTransformationEvent(i,t.selection,e.name)};this.listenTo(o,"copy",i,{priority:"low"}),this.listenTo(o,"cut",((t,o)=>{e.model.canEditAt(e.model.document.selection)?i(t,o):o.preventDefault()}),{priority:"low"}),this.listenTo(this,"outputTransformation",((t,i)=>{const n=e.data.toView(i.content,{isClipboardPipeline:!0});o.fire("clipboardOutput",{dataTransfer:i.dataTransfer,content:n,method:i.method})}),{priority:"low"}),this.listenTo(o,"clipboardOutput",((o,i)=>{i.content.isEmpty||(i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content)),i.dataTransfer.setData("text/plain",mf(e.data.htmlProcessor.domConverter,i.content)),i.dataTransfer.setData("application/ckeditor5-editor-id",this.editor.id)),"cut"==i.method&&e.model.deleteContent(t.selection)}),{priority:"low"})}}const wf=yt("px");class yf extends Au{constructor(){super();const e=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",e.if("isVisible","ck-hidden",(e=>!e))],style:{left:e.to("left",(e=>wf(e))),top:e.to("top",(e=>wf(e))),width:e.to("width",(e=>wf(e)))}}})}}class _f extends fc{removeDropMarkerDelayed=co((()=>this.removeDropMarker()),40);_updateDropMarkerThrottled=oc((e=>this._updateDropMarker(e)),40);_reconvertMarkerThrottled=oc((()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")}),0);_dropTargetLineView=new yf;_domEmitter=new(et());_scrollables=new Map;static get pluginName(){return"DragDropTarget"}static get isOfficialPlugin(){return!0}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:e}of this._scrollables.values())e.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(e,t,o,i,n,s){this.removeDropMarkerDelayed.cancel();const r=kf(this.editor,e,t,o,i,n,s);return r?s&&s.containsRange(r)||r&&!this.editor.model.canEditAt(r)?(this.removeDropMarker(),null):(this._updateDropMarkerThrottled(r),r):null}getFinalDropRange(e,t,o,i,n,s){const r=kf(this.editor,e,t,o,i,n,s);return this.removeDropMarker(),r}removeDropMarker(){const e=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,e.markers.has("drop-target")&&e.change((e=>{e.removeMarker("drop-target")}))}_setupDropMarker(){const e=this.editor;e.ui.view.body.add(this._dropTargetLineView),e.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),e.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(t,{writer:o})=>{if(e.model.schema.checkChild(t.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(o);t.markerRange.isCollapsed?this._updateDropTargetLine(t.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(e){const t=this.editor,o=t.model.markers;t.model.change((t=>{o.has("drop-target")?o.get("drop-target").getRange().isEqual(e)||t.updateMarker("drop-target",{range:e}):t.addMarker("drop-target",{range:e,usingOperation:!1,affectsData:!1})}))}_createDropTargetPosition(e){return e.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(e){const t=this.toDomElement(e);return t.append("⁠",e.createElement("span"),"⁠"),t}))}_updateDropTargetLine(e){const t=this.editor.editing,o=e.start.nodeBefore,i=e.start.nodeAfter,n=e.start.parent,s=o?t.mapper.toViewElement(o):null,r=s?t.view.domConverter.mapViewToDom(s):null,a=i?t.mapper.toViewElement(i):null,l=a?t.view.domConverter.mapViewToDom(a):null,c=t.mapper.toViewElement(n);if(!c)return;const d=t.view.domConverter.mapViewToDom(c),u=this._getScrollableRect(c),{scrollX:h,scrollY:m}=J.window,g=r?new ut(r):null,p=l?new ut(l):null,f=new ut(d).excludeScrollbarsAndBorders(),b=g?g.bottom:f.top,w=p?p.top:f.bottom,y=J.window.getComputedStyle(d),_=b<=w?(b+w)/2:w;if(u.top<_&&_a.schema.checkChild(s,e)))){if(a.schema.checkChild(s,"$text"))return a.createRange(s);if(t)return Cf(e,xf(e,t.parent),i,n)}}}else if(a.schema.isInline(c))return Cf(e,c,i,n);if(a.schema.isBlock(c))return Cf(e,c,i,n);if(a.schema.checkChild(c,"$block")){const t=Array.from(c.getChildren()).filter((t=>t.is("element")&&!vf(e,t)));let o=0,s=t.length;if(0==s)return a.createRange(a.createPositionAt(c,"end"));for(;o{o?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")})),Y.isAndroid&&this.forceDisabled("noAndroidSupport"),e.plugins.has("BlockToolbar")){const t=e.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(t,"dragstart",((e,t)=>this._handleBlockDragStart(t))),this._domEmitter.listenTo(J.document,"dragover",((e,t)=>this._handleBlockDragging(t))),this._domEmitter.listenTo(J.document,"drop",((e,t)=>this._handleBlockDragging(t))),this._domEmitter.listenTo(J.document,"dragend",(()=>this._handleBlockDragEnd()),{useCapture:!0}),this.isEnabled&&t.setAttribute("draggable","true"),this.on("change:isEnabled",((e,o,i)=>{t.setAttribute("draggable",i?"true":"false")}))}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(e){if(!this.isEnabled)return;const t=this.editor.model,o=t.document.selection,i=this.editor.editing.view,n=Array.from(o.getSelectedBlocks()),s=t.createRange(t.createPositionBefore(n[0]),t.createPositionAfter(n[n.length-1]));t.change((e=>e.setSelection(s))),this._isBlockDragging=!0,i.focus(),i.getObserver(df).onDomEvent(e)}_handleBlockDragging(e){if(!this.isEnabled||!this._isBlockDragging)return;const t=e.clientX+("ltr"==this.editor.locale.contentLanguageDirection?100:-100),o=e.clientY,i=document.elementFromPoint(t,o),n=this.editor.editing.view;i&&i.closest(".ck-editor__editable")&&n.getObserver(df).onDomEvent({...e,type:e.type,dataTransfer:e.dataTransfer,target:i,clientX:t,clientY:o,preventDefault:()=>e.preventDefault(),stopPropagation:()=>e.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}class Tf extends fc{_draggedRange;_draggingUid;_draggableElement;_clearDraggableAttributesDelayed=co((()=>this._clearDraggableAttributes()),40);_blockMode=!1;_domEmitter=new(et());_previewContainer;static get pluginName(){return"DragDrop"}static get isOfficialPlugin(){return!0}static get requires(){return[bf,vp,_f,Ef]}init(){const e=this.editor,t=e.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,t.addObserver(df),t.addObserver(sl),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(e,"change:isReadOnly",((e,t,o)=>{o?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((e,t,o)=>{o||this._finalizeDragging(!1)})),Y.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const e=this.editor,t=e.model,o=e.editing.view,i=o.document,n=e.plugins.get(_f);this.listenTo(i,"dragstart",((o,i)=>{if(i.target?.is("editableElement"))return void i.preventDefault();if(this._prepareDraggedRange(i.target),!this._draggedRange)return void i.preventDefault();this._draggingUid=me();const n=this.isEnabled&&e.model.canEditAt(this._draggedRange);i.dataTransfer.effectAllowed=n?"copyMove":"copy",i.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const s=t.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(i.dataTransfer,s,"dragstart");const{dataTransfer:r,domTarget:a,domEvent:l}=i,{clientX:c}=l;this._updatePreview({dataTransfer:r,domTarget:a,clientX:c}),i.stopPropagation(),n||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(i,"dragend",((e,t)=>{this._finalizeDragging(!t.dataTransfer.isCanceled&&"move"==t.dataTransfer.dropEffect)}),{priority:"low"}),this._domEmitter.listenTo(J.document,"dragend",(()=>{this._blockMode=!1}),{useCapture:!0}),this.listenTo(i,"dragenter",(()=>{this.isEnabled&&o.focus()})),this.listenTo(i,"dragleave",(()=>{n.removeDropMarkerDelayed()})),this.listenTo(i,"dragging",((e,t)=>{if(!this.isEnabled)return void(t.dataTransfer.dropEffect="none");const{clientX:o,clientY:i}=t.domEvent;n.updateDropMarker(t.target,t.targetRanges,o,i,this._blockMode,this._draggedRange)?(this._draggedRange||(t.dataTransfer.dropEffect="copy"),Y.isGecko||("copy"==t.dataTransfer.effectAllowed?t.dataTransfer.dropEffect="copy":["all","copyMove"].includes(t.dataTransfer.effectAllowed)&&(t.dataTransfer.dropEffect="move")),e.stop()):t.dataTransfer.dropEffect="none"}),{priority:"low"})}_setupClipboardInputIntegration(){const e=this.editor,t=e.editing.view.document,o=e.plugins.get(_f);this.listenTo(t,"clipboardInput",((t,i)=>{if("drop"!=i.method)return;const{clientX:n,clientY:s}=i.domEvent,r=o.getFinalDropRange(i.target,i.targetRanges,n,s,this._blockMode,this._draggedRange);if(!r)return this._finalizeDragging(!1),void t.stop();this._draggedRange&&this._draggingUid!=i.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==Pf(i.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(r,!0))return this._finalizeDragging(!1),void t.stop();i.targetRanges=[e.editing.mapper.toViewRange(r)]}),{priority:"high"})}_setupContentInsertionIntegration(){const e=this.editor.plugins.get(bf);e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const o=t.targetRanges.map((e=>this.editor.editing.mapper.toModelRange(e)));this.editor.model.change((e=>e.setSelection(o)))}),{priority:"high"}),e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const o="move"==Pf(t.dataTransfer),i=!t.resultRange||!t.resultRange.isCollapsed;this._finalizeDragging(i&&o)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const e=this.editor,t=e.editing.view,o=t.document;this.listenTo(o,"pointerdown",((i,n)=>{if(Y.isAndroid||!n)return;this._clearDraggableAttributesDelayed.cancel();let s=Sf(n.target);if(Y.isBlink&&!e.isReadOnly&&!s&&!o.selection.isCollapsed){const e=o.selection.getSelectedElement();e&&ip(e)||(s=o.selection.editableElement)}s&&(t.change((e=>{e.setAttribute("draggable","true",s)})),this._draggableElement=e.editing.mapper.toModelElement(s))})),this.listenTo(o,"pointerup",(()=>{Y.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const e=this.editor.editing;e.view.change((t=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&t.removeAttribute("draggable",e.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_finalizeDragging(e){const t=this.editor,o=t.model;if(t.plugins.get(_f).removeDropMarker(),this._clearDraggableAttributes(),t.plugins.has("WidgetToolbarRepository")){t.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop")}this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(e&&this.isEnabled&&o.change((e=>{const t=o.createSelection(this._draggedRange);o.deleteContent(t,{doNotAutoparagraph:!0});const i=t.getFirstPosition().parent;i.isEmpty&&!o.schema.checkChild(i,"$text")&&o.schema.checkChild(i,"paragraph")&&e.insertElement("paragraph",i,0)})),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(e){const t=this.editor,o=t.model,i=o.document.selection,n=e?Sf(e):null;if(n){const e=t.editing.mapper.toModelElement(n);if(this._draggedRange=Ts.fromRange(o.createRangeOn(e)),this._blockMode=o.schema.isBlock(e),t.plugins.has("WidgetToolbarRepository")){t.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),r=i.getFirstRange();if(0==s.length)return void(this._draggedRange=Ts.fromRange(r));const a=If(o,s);if(s.length>1)this._draggedRange=Ts.fromRange(a),this._blockMode=!0;else if(1==s.length){const e=r.start.isTouching(a.start)&&r.end.isTouching(a.end);this._draggedRange=Ts.fromRange(e?a:r),this._blockMode=e}o.change((e=>e.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:e,domTarget:t,clientX:o}){const i=this.editor.editing.view,n=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(n),r=J.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Ke(J.document,"div",{style:"position: fixed; left: -999999px;"}),J.document.body.appendChild(this._previewContainer));const a=Ke(J.document,"div");a.className="ck ck-content ck-clipboard-preview";const l=new ut(s),c=parseFloat(r.paddingLeft),d=parseFloat(r.paddingRight),u=parseFloat(r.width)-c-d;if(s.contains(t)){if(!Y.isiOS)return;a.style.maxWidth=`${u}px`,a.style.padding="10px",a.style.minWidth="200px",a.style.minHeight="20px",a.style.boxSizing="border-box",a.style.backgroundColor="var(--ck-color-base-background)"}else if(Y.isiOS)a.style.width=`${u}px`,a.style.backgroundColor="var(--ck-color-base-background)";else{const e=l.left-o+c;a.style.width=`${u+e}px`,a.style.paddingLeft=`${e}px`}i.domConverter.setContentOf(a,e.getData("text/html")),e.setDragImage(a,0,0),this._previewContainer.appendChild(a)}}function Pf(e){return Y.isGecko?e.dropEffect:["all","copyMove"].includes(e.effectAllowed)?"move":"copy"}function Sf(e){if(e.is("editableElement"))return null;if(e.hasClass("ck-widget__selection-handle"))return e.findAncestor(ip);if(ip(e))return e;const t=e.findAncestor((e=>ip(e)||e.is("editableElement")));return ip(t)?t:null}function If(e,t){const o=t[0],i=t[t.length-1],n=o.getCommonAncestor(i),s=e.createPositionBefore(o),r=e.createPositionAfter(i);if(n&&n.is("element")&&!e.schema.isLimit(n)){const t=e.createRangeOn(n),o=s.isTouching(t.start),i=r.isTouching(t.end);if(o&&i)return If(e,[n])}return e.createRange(s,r)}class Rf extends fc{static get pluginName(){return"PastePlainText"}static get isOfficialPlugin(){return!0}static get requires(){return[bf]}init(){const e=this.editor,t=e.model,o=e.editing.view,i=t.document.selection;o.addObserver(df),e.plugins.get(bf).on("contentInsertion",((e,o)=>{(function(e,t){let o=t.createRangeIn(e);if(1==e.childCount){const i=e.getChild(0);i.is("element")&&t.schema.isBlock(i)&&!t.schema.isObject(i)&&!t.schema.isLimit(i)&&(o=t.createRangeIn(i))}for(const e of o.getItems()){if(!t.schema.isInline(e))return!1;if(Array.from(e.getAttributeKeys()).find((e=>t.schema.getAttributeProperties(e).isFormatting)))return!1}return!0})(o.content,t)&&t.change((e=>{const n=Array.from(i.getAttributes()).filter((([e])=>t.schema.getAttributeProperties(e).isFormatting));i.isCollapsed||t.deleteContent(i,{doNotAutoparagraph:!0}),n.push(...i.getAttributes());const s=e.createRangeIn(o.content);for(const o of s.getItems())for(const i of n)t.schema.checkAttribute(o,i[0])&&e.setAttribute(i[0],i[1],o)}))}))}}class Of extends fc{static get pluginName(){return"Clipboard"}static get isOfficialPlugin(){return!0}static get requires(){return[ff,bf,Tf,Rf]}init(){const e=this.editor,t=this.editor.t;e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Copy selected content"),keystroke:"CTRL+C"},{label:t("Paste content"),keystroke:"CTRL+V"},{label:t("Paste content as plain text"),keystroke:"CTRL+SHIFT+V"}]})}}class Vf extends wc{_stack=[];_createdBatches=new WeakSet;constructor(e){super(e),this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(e.data,"set",((e,t)=>{t[1]={...t[1]};const o=t[1];o.batchType||(o.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(e.data,"set",((e,t)=>{t[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(e){const t=this.editor.model.document.selection,o={ranges:t.hasOwnRange?Array.from(t.getRanges()):[],isBackward:t.isBackward};this._stack.push({batch:e,selection:o}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(e,t,o){const i=this.editor.model,n=i.document,s=[],r=e.map((e=>e.getTransformedByOperations(o))),a=r.flat();for(const e of r){const t=e.filter((e=>e.root!=n.graveyard)).filter((e=>!Ff(e,a)));t.length&&(Df(t),s.push(t[0]))}s.length&&i.change((e=>{e.setSelection(s,{backward:t})}))}_undo(e,t){const o=this.editor.model,i=o.document;this._createdBatches.add(t);const n=e.operations.slice().filter((e=>e.isDocumentOperation));n.reverse();for(const e of n){const n=e.baseVersion+1,s=Array.from(i.history.getOperations(n)),r=sa([e.getReversed()],s,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let n of r){const s=n.affectedSelectable;s&&!o.canEditAt(s)&&(n=new Jr(n.baseVersion)),t.addOperation(n),o.applyOperation(n),i.history.setOperationAsUndone(e,n)}}}}function Df(e){e.sort(((e,t)=>e.start.isBefore(t.start)?-1:1));for(let t=1;tt!==e&&t.containsRange(e,!0)))}class Mf extends Vf{execute(e=null){const t=e?this._stack.findIndex((t=>t.batch==e)):this._stack.length-1,o=this._stack.splice(t,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,(()=>{this._undo(o.batch,i);const e=this.editor.model.document.history.getOperations(o.batch.baseVersion);this._restoreSelection(o.selection.ranges,o.selection.isBackward,e)})),this.fire("revert",o.batch,i),this.refresh()}}class Nf extends Vf{execute(){const e=this._stack.pop(),t=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(t,(()=>{const o=e.batch.operations[e.batch.operations.length-1].baseVersion+1,i=this.editor.model.document.history.getOperations(o);this._restoreSelection(e.selection.ranges,e.selection.isBackward,i),this._undo(e.batch,t)})),this.fire("revert",e.batch,t),this.refresh()}}class Bf extends fc{_undoCommand;_redoCommand;_batchRegistry=new WeakSet;static get pluginName(){return"UndoEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t;this._undoCommand=new Mf(e),this._redoCommand=new Nf(e),e.commands.add("undo",this._undoCommand),e.commands.add("redo",this._redoCommand),this.listenTo(e.model,"applyOperation",((e,t)=>{const o=t[0];if(!o.isDocumentOperation)return;const i=o.batch,n=this._redoCommand.createdBatches.has(i),s=this._undoCommand.createdBatches.has(i);this._batchRegistry.has(i)||(this._batchRegistry.add(i),i.isUndoable&&(n?this._undoCommand.addBatch(i):s||(this._undoCommand.addBatch(i),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((e,t,o)=>{this._redoCommand.addBatch(o)})),e.keystrokes.set("CTRL+Z","undo"),e.keystrokes.set("CTRL+Y","redo"),e.keystrokes.set("CTRL+SHIFT+Z","redo"),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Undo"),keystroke:"CTRL+Z"},{label:t("Redo"),keystroke:[["CTRL+Y"],["CTRL+SHIFT+Z"]]}]})}}class Lf extends fc{static get pluginName(){return"UndoUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale,o=e.t,i="ltr"==t.uiLanguageDirection?nd:td,n="ltr"==t.uiLanguageDirection?td:nd;this._addButtonsToFactory("undo",o("Undo"),"CTRL+Z",i),this._addButtonsToFactory("redo",o("Redo"),"CTRL+Y",n)}_addButtonsToFactory(e,t,o,i){const n=this.editor;n.ui.componentFactory.add(e,(()=>{const n=this._createButton(Lu,e,t,o,i);return n.set({tooltip:!0}),n})),n.ui.componentFactory.add("menuBar:"+e,(()=>this._createButton(sh,e,t,o,i)))}_createButton(e,t,o,i,n){const s=this.editor,r=s.locale,a=s.commands.get(t),l=new e(r);return l.set({label:o,icon:n,keystroke:i}),l.bind("isEnabled").to(a,"isEnabled"),this.listenTo(l,"execute",(()=>{s.execute(t),s.editing.view.focus()})),l}}class zf extends fc{static get requires(){return[Bf,Lf]}static get pluginName(){return"Undo"}static get isOfficialPlugin(){return!0}}function jf(e){return e}function qf(e){return e.createContainerElement("figure",{class:"image"},[e.createEmptyElement("img"),e.createSlot("children")])}function $f(e,t){const o=e.plugins.get("ImageUtils"),i=e.plugins.has("ImageInlineEditing")&&e.plugins.has("ImageBlockEditing");return e=>{if(!o.isInlineImageView(e))return null;if(!i)return n(e);return("block"==e.getStyle("display")||e.findAncestor(o.isBlockImageView)?"imageBlock":"imageInline")!==t?null:n(e)};function n(e){const t={name:!0};return e.hasAttribute("src")&&(t.attributes=["src"]),t}}function Hf(e,t){const o=to(t.getSelectedBlocks());return!o||e.isObject(o)||o.isEmpty&&"listItem"!=o.name?"imageBlock":"imageInline"}function Wf(e){return e&&e.endsWith("px")?parseInt(e):null}function Uf(e){const t=Wf(e.getStyle("width")),o=Wf(e.getStyle("height"));return!(!t||!o)}const Kf=/^(image|image-inline)$/;class Gf extends fc{_domEmitter=new(et());static get pluginName(){return"ImageUtils"}static get isOfficialPlugin(){return!0}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,o=null,i={}){const n=this.editor,s=n.model,r=s.document.selection,a=Jf(n,t||r,o);e={...Object.fromEntries(r.getAttributes()),...e};for(const t in e)s.schema.checkAttribute(a,t)||delete e[t];return s.change((o=>{const{setImageSizes:n=!0}=i,r=o.createElement(a,e);return s.insertObject(r,t,null,{setSelection:"on",findOptimalPosition:t||"imageInline"==a?void 0:"auto"}),r.parent?(n&&this.setImageNaturalSizeAttributes(r),r):null}))}setImageNaturalSizeAttributes(e){const t=e.getAttribute("src");t&&(e.getAttribute("width")||e.getAttribute("height")||this.editor.model.change((o=>{const i=new J.window.Image;this._domEmitter.listenTo(i,"load",(()=>{e.getAttribute("width")||e.getAttribute("height")||this.editor.model.enqueueChange(o.batch,(t=>{t.setAttribute("width",i.naturalWidth,e),t.setAttribute("height",i.naturalHeight,e)})),this._domEmitter.stopListening(i,"load")})),i.src=t})))}getClosestSelectedImageWidget(e){const t=e.getFirstPosition();if(!t)return null;const o=e.getSelectedElement();if(o&&this.isImageWidget(o))return o;let i=t.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(e){return e.findAncestor({classes:Kf})}isImageAllowed(){const e=this.editor.model.document.selection;return function(e,t){const o=Jf(e,t,null);if("imageBlock"==o){const o=function(e,t){const o=cp(e,t),i=o.start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(t,e.model);if(e.model.schema.checkChild(o,"imageBlock"))return!0}else if(e.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}(this.editor,e)&&function(e){return[...e.focus.getAncestors()].every((e=>!e.is("element","imageBlock")))}(e)}toImageWidget(e,t,o){t.setCustomProperty("image",!0,e);return np(e,t,{label:()=>{const t=this.findViewImgElement(e).getAttribute("alt");return t?`${t} ${o}`:o}})}isImageWidget(e){return!!e.getCustomProperty("image")&&ip(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:o}of t.createRangeIn(e))if(this.isInlineImageView(o))return o}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function Jf(e,t,o){const i=e.model.schema,n=e.config.get("image.insert.type");return e.plugins.has("ImageBlockEditing")?e.plugins.has("ImageInlineEditing")?o||("inline"===n?"imageInline":"auto"!==n?"imageBlock":t.is("selection")?Hf(i,t):i.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class Zf extends wc{refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled&&e.hasAttribute("alt")?this.value=e.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,o=t.plugins.get("ImageUtils"),i=t.model,n=o.getClosestSelectedImageElement(i.document.selection);i.change((t=>{t.setAttribute("alt",e.newValue,n)}))}}class Qf extends fc{static get requires(){return[Gf]}static get pluginName(){return"ImageTextAlternativeEditing"}static get isOfficialPlugin(){return!0}init(){this.editor.commands.add("imageTextAlternative",new Zf(this.editor))}}class Yf extends Au{focusTracker;keystrokes;labeledInput;backButtonView;saveButtonView;children;_focusables;_focusCycler;constructor(e){super(e),this.focusTracker=new oo,this.keystrokes=new ro,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.labeledInput=this._createLabeledInputView(),this.children=this.createCollection([this._createHeaderView()]),this.children.add(new Km(e,{children:[this.labeledInput,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding"]})),this._focusables=new tu,this.keystrokes.set("Esc",((e,t)=>{this.fire("cancel"),t()})),this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Ou({view:this});[this.backButtonView,this.labeledInput,this.saveButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createBackButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:ed,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({label:e("Save"),withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new ju(this.locale,{label:e("Text Alternative")});return t.children.add(this.backButtonView,0),t}_createLabeledInputView(){const e=this.locale.t,t=new Sh(this.locale,nm);return t.label=e("Text alternative"),t.class="ck-labeled-field-view_full-width",t}}function Xf(e){const t=e.editing.view,o=dh.defaultPositions,i=e.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(i.getClosestSelectedImageWidget(t.document.selection)),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}class eb extends fc{_balloon;_form;static get requires(){return[Qm]}static get pluginName(){return"ImageTextAlternativeUI"}static get isOfficialPlugin(){return!0}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("imageTextAlternative",(o=>{const i=e.commands.get("imageTextAlternative"),n=new Lu(o);return n.set({label:t("Change image text alternative"),icon:'',tooltip:!0}),n.bind("isEnabled").to(i,"isEnabled"),n.bind("isOn").to(i,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>{this._showForm()})),n}))}_createForm(){const e=this.editor,t=e.editing.view.document,o=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(Iu(Yf))(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this.listenTo(e.ui,"update",(()=>{o.getClosestSelectedImageWidget(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(e.plugins.get("ImageUtils").getClosestSelectedImageWidget(e.editing.view.document.selection)){const o=Xf(e);t.updatePosition(o)}}(e):this._hideForm(!0)})),Su({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const e=this.editor,t=e.commands.get("imageTextAlternative"),o=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Xf(e)}),o.fieldView.value=o.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class tb extends fc{static get requires(){return[Qf,eb]}static get pluginName(){return"ImageTextAlternative"}static get isOfficialPlugin(){return!0}}function ob(e,t){const o=(t,o,i)=>{if(!i.consumable.consume(o.item,t.name))return;const n=i.writer,s=i.mapper.toViewElement(o.item),r=e.findViewImgElement(s);null===o.attributeNewValue?(n.removeAttribute("srcset",r),n.removeAttribute("sizes",r)):o.attributeNewValue&&(n.setAttribute("srcset",o.attributeNewValue,r),n.setAttribute("sizes","100vw",r))};return e=>{e.on(`attribute:srcset:${t}`,o)}}function ib(e,t,o){const i=(t,o,i)=>{if(!i.consumable.consume(o.item,t.name))return;const n=i.writer,s=i.mapper.toViewElement(o.item),r=e.findViewImgElement(s);n.setAttribute(o.attributeKey,o.attributeNewValue||"",r)};return e=>{e.on(`attribute:${o}:${t}`,i)}}class nb extends Ln{observe(e){this.listenTo(e,"load",((e,t)=>{const o=t.target;this.checkShouldIgnoreEventFromTarget(o)||"IMG"==o.tagName&&this._fireEvents(t)}),{useCapture:!0})}stopObserving(e){this.stopListening(e)}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class sb extends wc{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||"block"===t&&be("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||"inline"===t&&be("image-inline-plugin-required")}refresh(){const e=this.editor.plugins.get("ImageUtils");this.isEnabled=e.isImageAllowed()}execute(e){const t=Qt(e.source),o=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),n=Object.fromEntries(o.getAttributes());t.forEach(((t,s)=>{const r=o.getSelectedElement();if("string"==typeof t&&(t={src:t}),s&&r&&i.isImage(r)){const o=this.editor.model.createPositionAfter(r);i.insertImage({...t,...n},o,e.imageType)}else e.breakBlock?i.insertImage({...t,...n},o.getFirstPosition(),e.imageType):i.insertImage({...t,...n},null,e.imageType)}))}}class rb extends wc{constructor(e){super(e),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(t),this.value=this.isEnabled?t.getAttribute("src"):null}execute(e){const t=this.editor.model.document.selection.getSelectedElement(),o=this.editor.plugins.get("ImageUtils");this.editor.model.change((i=>{i.setAttribute("src",e.source,t),this.cleanupImage(i,t),o.setImageNaturalSizeAttributes(t)}))}cleanupImage(e,t){e.removeAttribute("srcset",t),e.removeAttribute("sizes",t),e.removeAttribute("sources",t),e.removeAttribute("width",t),e.removeAttribute("height",t),e.removeAttribute("alt",t)}}class ab extends fc{static get requires(){return[Gf]}static get pluginName(){return"ImageEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(nb),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const o=new sb(e),i=new rb(e);e.commands.add("insertImage",o),e.commands.add("replaceImageSource",i),e.commands.add("imageInsert",o)}}class lb extends fc{static get requires(){return[Gf]}static get pluginName(){return"ImageSizeAttributes"}static get isOfficialPlugin(){return!0}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&e.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(e){const t=this.editor,o=t.plugins.get("ImageUtils"),i="imageBlock"===e?"figure":"img";function n(t,i,n,s,r=!1){t.on(`attribute:${i}:${e}`,((t,i,a)=>{if(!a.consumable.consume(i.item,t.name))return;const l=a.writer,c=a.mapper.toViewElement(i.item),d=o.findViewImgElement(c);null!==i.attributeNewValue?l.setAttribute(n,i.attributeNewValue,d):l.removeAttribute(n,d);const u=i.item.getAttribute("width"),h=i.item.getAttribute("height"),m=u&&h;if(m&&r&&l.setAttribute("loading","lazy",d),i.item.hasAttribute("sources"))return;const g=i.item.hasAttribute("resizedWidth");("imageInline"!==e||g||s)&&m&&l.setStyle("aspect-ratio",`${u}/${h}`,d)}))}t.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:e=>Uf(e)?Wf(e.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:e=>Uf(e)?Wf(e.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),t.conversion.for("editingDowncast").add((e=>{n(e,"width","width",!0,!0),n(e,"height","height",!0,!0)})),t.conversion.for("dataDowncast").add((e=>{n(e,"width","width",!1),n(e,"height","height",!1)})),t.conversion.for("upcast").add((e=>{e.on("element:img",((e,t,o)=>{const i=t.viewItem.getAttribute("width"),n=t.viewItem.getAttribute("height");i&&n&&o.consumable.consume(t.viewItem,{styles:["aspect-ratio"]})}))}))}}class cb extends wc{_modelElementName;constructor(e,t){super(e),this._modelElementName=t}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=e.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=e.isInlineImage(t):this.isEnabled=e.isBlockImage(t)}execute(e={}){const t=this.editor,o=this.editor.model,i=t.plugins.get("ImageUtils"),n=i.getClosestSelectedImageElement(o.document.selection),s=Object.fromEntries(n.getAttributes());return s.src||s.uploadId?o.change((t=>{const{setImageSizes:r=!0}=e,a=Array.from(o.markers).filter((e=>e.getRange().containsItem(n))),l=i.insertImage(s,o.createSelection(n,"on"),this._modelElementName,{setImageSizes:r});if(!l)return null;const c=t.createRangeOn(l);for(const e of a){const o=e.getRange(),i="$graveyard"!=o.root.rootName?o.getJoined(c,!0):c;t.updateMarker(e,{range:i})}return{oldElement:n,newElement:l}})):null}}class db extends fc{static get requires(){return[Gf]}static get pluginName(){return"ImagePlaceholder"}static get isOfficialPlugin(){return!0}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const e=this.editor.model.schema;e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["placeholder"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const e=this.editor,t=e.conversion,o=e.plugins.get("ImageUtils");t.for("editingDowncast").add((e=>{e.on("attribute:placeholder",((e,t,i)=>{if(!i.consumable.test(t.item,e.name))return;if(!t.item.is("element","imageBlock")&&!t.item.is("element","imageInline"))return;i.consumable.consume(t.item,e.name);const n=i.writer,s=i.mapper.toViewElement(t.item),r=o.findViewImgElement(s);t.attributeNewValue?(n.addClass("image_placeholder",r),n.setStyle("background-image",`url(${t.attributeNewValue})`,r),n.setCustomProperty("editingPipeline:doNotReuseOnce",!0,r)):(n.removeClass("image_placeholder",r),n.removeStyle("background-image",r))}))}))}_setupLoadListener(){const e=this.editor,t=e.model,o=e.editing,i=o.view,n=e.plugins.get("ImageUtils");i.addObserver(nb),this.listenTo(i.document,"imageLoaded",((e,s)=>{const r=i.domConverter.mapDomToView(s.target);if(!r)return;const a=n.getImageWidgetFromImageView(r);if(!a)return;const l=o.mapper.toModelElement(a);l&&l.hasAttribute("placeholder")&&t.enqueueChange({isUndoable:!1},(e=>{e.removeAttribute("placeholder",l)}))}))}}class ub extends fc{static get requires(){return[ab,lb,Gf,db,bf]}static get pluginName(){return"ImageBlockEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new cb(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,o=e.conversion,i=e.plugins.get("ImageUtils");o.for("dataDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:t})=>qf(t)}),o.for("editingDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:o})=>i.toImageWidget(qf(o),o,t("image widget"))}),o.for("downcast").add(ib(i,"imageBlock","src")).add(ib(i,"imageBlock","alt")).add(ob(i,"imageBlock")),o.for("upcast").elementToElement({view:$f(e,"imageBlock"),model:(e,{writer:t})=>t.createElement("imageBlock",e.hasAttribute("src")?{src:e.getAttribute("src")}:void 0)}).add(function(e){const t=(t,o,i)=>{if(!i.consumable.test(o.viewItem,{name:!0,classes:"image"}))return;const n=e.findViewImgElement(o.viewItem);if(!n||!i.consumable.test(n,{name:!0}))return;i.consumable.consume(o.viewItem,{name:!0,classes:"image"});const s=to(i.convertItem(n,o.modelCursor).modelRange.getItems());s?(i.convertChildren(o.viewItem,s),i.updateConversionResult(s,o)):i.consumable.revert(o.viewItem,{name:!0,classes:"image"})};return e=>{e.on("element:figure",t)}}(i))}_setupClipboardIntegration(){const e=this.editor,t=e.model,o=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",((n,s)=>{const r=Array.from(s.content.getChildren());let a;if(!r.every(i.isInlineImageView))return;a=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const l=t.createSelection(a);if("imageBlock"===Hf(t.schema,l)){const e=new rl(o.document),t=r.map((t=>e.createElement("figure",{class:"image"},t)));s.content=e.createDocumentFragment(t)}})),this.listenTo(n,"contentInsertion",((e,o)=>{"paste"===o.method&&t.change((e=>{const t=e.createRangeIn(o.content);for(const e of t.getItems())e.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(e)}))}))}}class hb extends Au{focusTracker;keystrokes;_focusables;_focusCycler;children;constructor(e,t=[]){super(e),this.focusTracker=new oo,this.keystrokes=new ro,this._focusables=new tu,this.children=this.createCollection(),this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const e of t)this.children.add(e),this._focusables.add(e),e instanceof kh&&this._focusables.addMany(e.children);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),Ou({view:this});for(const e of this._focusables)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element);const e=e=>e.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}class mb extends fc{static get pluginName(){return"ImageInsertUI"}static get isOfficialPlugin(){return!0}static get requires(){return[Gf]}dropdownView;_integrations=new Map;constructor(e){super(e),e.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(e.model.document,"change",(()=>{this.isImageSelected=o.isImage(t.getSelectedElement())}));const i=e=>this._createToolbarComponent(e);e.ui.componentFactory.add("insertImage",i),e.ui.componentFactory.add("imageInsert",i),e.ui.componentFactory.add("menuBar:insertImage",(e=>this._createMenuBarComponent(e)))}registerIntegration({name:e,observable:t,buttonViewCreator:o,formViewCreator:i,menuBarButtonViewCreator:n,requiresForm:s=!1,override:r=!1}){this._integrations.has(e)&&!r&&be("image-insert-integration-exists",{name:e}),this._integrations.set(e,{observable:t,buttonViewCreator:o,menuBarButtonViewCreator:n,formViewCreator:i,requiresForm:s})}_createToolbarComponent(e){const t=this.editor,o=e.t,i=this._prepareIntegrations();if(!i.length)return null;let n;const s=i[0];if(1==i.length){if(!s.requiresForm)return s.buttonViewCreator(!0);n=s.buttonViewCreator(!0)}else{const t=s.buttonViewCreator(!1);n=new Jh(e,t),n.tooltip=!0,n.bind("label").to(this,"isImageSelected",(e=>o(e?"Replace image":"Insert image")))}const r=this.dropdownView=Zh(e,n),a=i.map((({observable:e})=>"function"==typeof e?e():e));return r.bind("isEnabled").toMany(a,"isEnabled",((...e)=>e.some((e=>e)))),r.once("change:isOpen",(()=>{const e=i.flatMap((({formViewCreator:e})=>e(1==i.length))),o=new hb(t.locale,e);r.panelView.children.add(o)})),r}_createMenuBarComponent(e){const t=e.t,o=this._prepareIntegrations();if(!o.length)return null;const i=o.flatMap((({menuBarButtonViewCreator:e})=>e(1==o.length))),n=new og(e),s=new ig(e);n.panelView.children.add(s),n.buttonView.set({icon:'',label:t("Image")});for(const t of i){const o=new Em(e,n);o.children.add(t),s.items.add(o),t.delegate("execute").to(n)}return n}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),t=[];if(!e.length)return be("image-insert-integrations-not-specified"),t;for(const o of e)this._integrations.has(o)?t.push(this._integrations.get(o)):["upload","assetManager","url"].includes(o)||be("image-insert-unknown-integration",{item:o});return t.length||be("image-insert-integrations-not-registered"),t}}class gb extends fc{static get requires(){return[ub,vp,tb,mb]}static get pluginName(){return"ImageBlock"}static get isOfficialPlugin(){return!0}}class pb extends fc{static get requires(){return[ab,lb,Gf,db,bf]}static get pluginName(){return"ImageInlineEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"],disallowIn:["caption"]}),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new cb(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,o=e.conversion,i=e.plugins.get("ImageUtils");o.for("dataDowncast").elementToElement({model:"imageInline",view:(e,{writer:t})=>t.createEmptyElement("img")}),o.for("editingDowncast").elementToStructure({model:"imageInline",view:(e,{writer:o})=>i.toImageWidget(function(e){return e.createContainerElement("span",{class:"image-inline"},e.createEmptyElement("img"))}(o),o,t("image widget"))}),o.for("downcast").add(ib(i,"imageInline","src")).add(ib(i,"imageInline","alt")).add(ob(i,"imageInline")),o.for("upcast").elementToElement({view:$f(e,"imageInline"),model:(e,{writer:t})=>t.createElement("imageInline",e.hasAttribute("src")?{src:e.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,o=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",((n,s)=>{const r=Array.from(s.content.getChildren());let a;if(!r.every(i.isBlockImageView))return;a=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const l=t.createSelection(a);if("imageInline"===Hf(t.schema,l)){const e=new rl(o.document),t=r.map((t=>1===t.childCount?(Array.from(t.getAttributes()).forEach((o=>e.setAttribute(...o,i.findViewImgElement(t)))),t.getChild(0)):t));s.content=e.createDocumentFragment(t)}})),this.listenTo(n,"contentInsertion",((e,o)=>{"paste"===o.method&&t.change((e=>{const t=e.createRangeIn(o.content);for(const e of t.getItems())e.is("element","imageInline")&&i.setImageNaturalSizeAttributes(e)}))}))}}class fb extends fc{static get requires(){return[pb,vp,tb,mb]}static get pluginName(){return"ImageInline"}static get isOfficialPlugin(){return!0}}class bb extends fc{static get pluginName(){return"ImageCaptionUtils"}static get isOfficialPlugin(){return!0}static get requires(){return[Gf]}getCaptionFromImageModelElement(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}getCaptionFromModelSelection(e){const t=this.editor.plugins.get("ImageUtils"),o=e.getFirstPosition().findAncestor("caption");return o&&t.isBlockImage(o.parent)?o:null}matchImageCaptionViewElement(e){const t=this.editor.plugins.get("ImageUtils");return"figcaption"==e.name&&t.isBlockImageView(e.parent)?{name:!0}:null}}class wb extends wc{refresh(){const e=this.editor,t=e.plugins.get("ImageCaptionUtils"),o=e.plugins.get("ImageUtils");if(!e.plugins.has(ub))return this.isEnabled=!1,void(this.value=!1);const i=e.model.document.selection,n=i.getSelectedElement();if(!n){const e=t.getCaptionFromModelSelection(i);return this.isEnabled=!!e,void(this.value=!!e)}this.isEnabled=o.isImage(n),this.isEnabled?this.value=!!t.getCaptionFromImageModelElement(n):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideImageCaption(e):this._showImageCaption(e,t)}))}_showImageCaption(e,t){const o=this.editor.model.document.selection,i=this.editor.plugins.get("ImageCaptionEditing"),n=this.editor.plugins.get("ImageUtils");let s=o.getSelectedElement();const r=i._getSavedCaption(s);n.isInlineImage(s)&&(this.editor.execute("imageTypeBlock"),s=o.getSelectedElement());const a=r||e.createElement("caption");e.append(a,s),t&&e.setSelection(a,"in")}_hideImageCaption(e){const t=this.editor,o=t.model.document.selection,i=t.plugins.get("ImageCaptionEditing"),n=t.plugins.get("ImageCaptionUtils");let s,r=o.getSelectedElement();r?s=n.getCaptionFromImageModelElement(r):(s=n.getCaptionFromModelSelection(o),r=s.parent),i._saveCaption(r,s),e.setSelection(r,"on"),e.remove(s)}}class yb extends fc{static get requires(){return[Gf,bb]}static get pluginName(){return"ImageCaptionEditing"}static get isOfficialPlugin(){return!0}_savedCaptionsMap;constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new wb(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const e=this.editor,t=e.editing.view,o=e.plugins.get("ImageUtils"),i=e.plugins.get("ImageCaptionUtils"),n=e.t;e.conversion.for("upcast").elementToElement({view:e=>i.matchImageCaptionViewElement(e),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>o.isBlockImage(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:i})=>{if(!o.isBlockImage(e.parent))return null;const s=i.createEditableElement("figcaption");i.setCustomProperty("imageCaption",!0,s),s.placeholder=n("Enter image caption"),Yo({view:t,element:s,keepOnFocus:!0});const r=e.parent.getAttribute("alt");return lp(s,i,{label:r?n("Caption for image: %0",[r]):n("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),o=e.plugins.get("ImageCaptionUtils"),i=e.commands.get("imageTypeInline"),n=e.commands.get("imageTypeBlock"),s=e=>{if(!e.return)return;const{oldElement:i,newElement:n}=e.return;if(!i)return;if(t.isBlockImage(i)){const e=o.getCaptionFromImageModelElement(i);if(e)return void this._saveCaption(n,e)}const s=this._getSavedCaption(i);s&&this._saveCaption(n,s)};i&&this.listenTo(i,"execute",s,{priority:"low"}),n&&this.listenTo(n,"execute",s,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?Ms.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}_registerCaptionReconversion(){const e=this.editor,t=e.model,o=e.plugins.get("ImageUtils"),i=e.plugins.get("ImageCaptionUtils");t.document.on("change:data",(()=>{const n=t.document.differ.getChanges();for(const t of n){if("alt"!==t.attributeKey)continue;const n=t.range.start.nodeAfter;if(o.isBlockImage(n)){const t=i.getCaptionFromImageModelElement(n);if(!t)return;e.editing.reconvertItem(t)}}}))}}class _b extends fc{static get requires(){return[bb]}static get pluginName(){return"ImageCaptionUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,o=e.plugins.get("ImageCaptionUtils"),i=e.t;e.ui.componentFactory.add("toggleImageCaption",(n=>{const s=e.commands.get("toggleImageCaption"),r=new Lu(n);return r.set({icon:'',tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.bind("label").to(s,"value",(e=>i(e?"Toggle caption off":"Toggle caption on"))),this.listenTo(r,"execute",(()=>{e.execute("toggleImageCaption",{focusCaptionOnShow:!0});const i=o.getCaptionFromModelSelection(e.model.document.selection);if(i){const o=e.editing.mapper.toViewElement(i);t.scrollToTheSelection(),t.change((e=>{e.addClass("image__caption_highlighted",o)}))}e.editing.view.focus()})),r}))}}function kb(e){const t=e.map((e=>e.replace("+","\\+")));return new RegExp(`^image\\/(${t.join("|")})$`)}function vb(e){return new Promise(((t,o)=>{const i=e.getAttribute("src");fetch(i).then((e=>e.blob())).then((e=>{const o=Cb(e,i),n=o.replace("image/",""),s=new File([e],`image.${n}`,{type:o});t(s)})).catch((e=>e&&"TypeError"===e.name?function(e){return function(e){return new Promise(((t,o)=>{const i=J.document.createElement("img");i.addEventListener("load",(()=>{const e=J.document.createElement("canvas");e.width=i.width,e.height=i.height;e.getContext("2d").drawImage(i,0,0),e.toBlob((e=>e?t(e):o()))})),i.addEventListener("error",(()=>o())),i.src=e}))}(e).then((t=>{const o=Cb(t,e),i=o.replace("image/","");return new File([t],`image.${i}`,{type:o})}))}(i).then(t).catch(o):o(e)))}))}function Cb(e,t){return e.type?e.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class Ab extends fc{static get pluginName(){return"ImageUploadUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("uploadImage",(()=>this._createToolbarButton())),e.ui.componentFactory.add("imageUpload",(()=>this._createToolbarButton())),e.ui.componentFactory.add("menuBar:uploadImage",(()=>this._createMenuBarButton("standalone"))),e.plugins.has("ImageInsertUI")&&e.plugins.get("ImageInsertUI").registerIntegration({name:"upload",observable:()=>e.commands.get("uploadImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:e=>this._createMenuBarButton(e?"insertOnly":"insertNested")})}_createButton(e){const t=this.editor,o=t.locale,i=t.commands.get("uploadImage"),n=t.config.get("image.upload.types"),s=kb(n),r=new e(t.locale),a=o.t;return r.set({acceptedType:n.map((e=>`image/${e}`)).join(","),allowMultipleFiles:!0,label:a("Upload from computer"),icon:''}),r.bind("isEnabled").to(i),r.on("done",((e,o)=>{const i=Array.from(o).filter((e=>s.test(e.type)));i.length&&(t.execute("uploadImage",{file:i}),t.editing.view.focus())})),r}_createToolbarButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),o=this.editor.commands.get("uploadImage"),i=this._createButton(bh);return i.tooltip=!0,i.bind("label").to(t,"isImageSelected",o,"isAccessAllowed",((t,o)=>e(o?t?"Replace image from computer":"Upload image from computer":"You have no image upload permissions."))),i}_createDropdownButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),o=this._createButton(bh);return o.withText=!0,o.bind("label").to(t,"isImageSelected",(t=>e(t?"Replace from computer":"Upload from computer"))),o.on("execute",(()=>{t.dropdownView.isOpen=!1})),o}_createMenuBarButton(e){const t=this.editor.locale.t,o=this._createButton(sg);switch(o.withText=!0,e){case"standalone":o.label=t("Image from computer");break;case"insertOnly":o.label=t("Image");break;case"insertNested":o.label=t("From computer")}return o}}class xb extends fc{static get pluginName(){return"ImageUploadProgress"}static get isOfficialPlugin(){return!0}placeholder;constructor(e){super(e),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}uploadStatusChange=(e,t,o)=>{const i=this.editor,n=t.item,s=n.getAttribute("uploadId");if(!o.consumable.consume(t.item,e.name))return;const r=i.plugins.get("ImageUtils"),a=i.plugins.get(Qp),l=s?t.attributeNewValue:null,c=this.placeholder,d=i.editing.mapper.toViewElement(n),u=o.writer;if("reading"==l)return Eb(d,u),void Tb(r,c,d,u);if("uploading"==l){const e=a.loaders.get(s);return Eb(d,u),void(e?(Pb(d,u),function(e,t,o,i){const n=function(e){const t=e.createUIElement("div",{class:"ck-progress-bar"});return e.setCustomProperty("progressBar",!0,t),t}(t);t.insert(t.createPositionAt(e,"end"),n),o.on("change:uploadedPercent",((e,t,o)=>{i.change((e=>{e.setStyle("width",o+"%",n)}))}))}(d,u,e,i.editing.view),function(e,t,o,i){if(i.data){const n=e.findViewImgElement(t);o.setAttribute("src",i.data,n)}}(r,d,u,e)):Tb(r,c,d,u))}"complete"==l&&a.loaders.get(s)&&function(e,t,o){const i=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(e,"end"),i),setTimeout((()=>{o.change((e=>e.remove(e.createRangeOn(i))))}),3e3)}(d,u,i.editing.view),function(e,t){Ib(e,t,"progressBar")}(d,u),Pb(d,u),function(e,t){t.removeClass("ck-appear",e)}(d,u)}}function Eb(e,t){e.hasClass("ck-appear")||t.addClass("ck-appear",e)}function Tb(e,t,o,i){o.hasClass("ck-image-upload-placeholder")||i.addClass("ck-image-upload-placeholder",o);const n=e.findViewImgElement(o);n.getAttribute("src")!==t&&i.setAttribute("src",t,n),Sb(o,"placeholder")||i.insert(i.createPositionAfter(n),function(e){const t=e.createUIElement("div",{class:"ck-upload-placeholder-loader"});return e.setCustomProperty("placeholder",!0,t),t}(i))}function Pb(e,t){e.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",e),Ib(e,t,"placeholder")}function Sb(e,t){for(const o of e.getChildren())if(o.getCustomProperty(t))return o}function Ib(e,t,o){const i=Sb(e,o);i&&t.remove(t.createRangeOn(i))}class Rb extends wc{constructor(e){super(e),this.set("isAccessAllowed",!0)}refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),o=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(o)}execute(e){const t=Qt(e.file),o=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),n=Object.fromEntries(o.getAttributes());t.forEach(((e,t)=>{const s=o.getSelectedElement();if(t&&s&&i.isImage(s)){const t=this.editor.model.createPositionAfter(s);this._uploadImage(e,n,t)}else this._uploadImage(e,n)}))}_uploadImage(e,t,o){const i=this.editor,n=i.plugins.get(Qp).createLoader(e),s=i.plugins.get("ImageUtils");n&&s.insertImage({...t,uploadId:n.id},o)}}class Ob extends fc{static get requires(){return[Qp,Gm,bf,Gf]}static get pluginName(){return"ImageUploadEditing"}static get isOfficialPlugin(){return!0}_uploadImageElements;_uploadedImages=new Map;constructor(e){super(e),e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,o=e.conversion,i=e.plugins.get(Qp),n=e.plugins.get("ImageUtils"),s=e.plugins.get("ClipboardPipeline"),r=kb(e.config.get("image.upload.types")),a=new Rb(e);e.commands.add("uploadImage",a),e.commands.add("imageUpload",a),o.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}).add((e=>e.on("element:img",((e,t,o)=>{if(!o.consumable.test(t.viewItem,{attributes:["data-ck-upload-id"]}))return;const n=t.viewItem.getAttribute("data-ck-upload-id");if(!n)return;const[s]=Array.from(t.modelRange.getItems({shallow:!0})),r=i.loaders.get(n);s&&(o.writer.setAttribute("uploadId",n,s),o.consumable.consume(t.viewItem,{attributes:["data-ck-upload-id"]}),r&&r.data&&o.writer.setAttribute("uploadStatus",r.status,s))}),{priority:"low"}))),this.listenTo(e.editing.view.document,"clipboardInput",((t,o)=>{if(i=o.dataTransfer,Array.from(i.types).includes("text/html")&&""!==i.getData("text/html"))return;var i;const n=Array.from(o.dataTransfer.files).filter((e=>!!e&&r.test(e.type)));if(!n.length)return;t.stop(),e.model.change((t=>{o.targetRanges&&t.setSelection(o.targetRanges.map((t=>e.editing.mapper.toModelRange(t)))),e.execute("uploadImage",{file:n})}));if(!e.commands.get("uploadImage").isAccessAllowed){const t=e.plugins.get("Notification"),o=e.locale.t;t.showWarning(o("You have no image upload permissions."),{namespace:"image"})}})),this.listenTo(s,"inputTransformation",((t,o)=>{const s=Array.from(e.editing.view.createRangeIn(o.content)).map((e=>e.item)).filter((e=>function(e,t){return!(!e.isInlineImageView(t)||!t.getAttribute("src")||!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)&&!t.getAttribute("src").match(/^blob:/g))}(n,e)&&!e.getAttribute("uploadProcessed"))).map((e=>({promise:vb(e),imageElement:e})));if(!s.length)return;const r=new rl(e.editing.view.document);for(const e of s){r.setAttribute("uploadProcessed",!0,e.imageElement);const t=i.createLoader(e.promise);t&&(r.setAttribute("src","",e.imageElement),r.setAttribute("uploadId",t.id,e.imageElement))}})),e.editing.view.document.on("dragover",((e,t)=>{t.preventDefault()})),t.on("change",(()=>{const o=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),n=new Set;for(const t of o)if("insert"==t.type&&"$text"!=t.name){const o=t.position.nodeAfter,s="$graveyard"==t.position.root.rootName;for(const t of Vb(e,o)){const o=t.getAttribute("uploadId"),r=t.getAttribute("uploadStatus");if(!o||"complete"==r)continue;const a=i.loaders.get(o);if(a)if(s){if(!n.has(o)){Array.from(this._uploadImageElements.get(o)).every((e=>"$graveyard"==e.root.rootName))&&a.abort()}}else n.add(o),this._uploadImageElements.has(o)?this._uploadImageElements.get(o).add(t):this._uploadImageElements.set(o,new Set([t])),"idle"==a.status&&this._readAndUpload(a);else!s&&this._uploadedImages.has(o)&&e.model.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","complete",t),this.fire("uploadComplete",{data:this._uploadedImages.get(o),imageElement:t})}))}}})),this.on("uploadComplete",((e,{imageElement:t,data:o})=>{const i=o.urls?o.urls:o;this.editor.model.change((e=>{e.setAttribute("src",i.default,t),this._parseAndSetSrcsetAttributeOnImage(i,t,e),n.setImageNaturalSizeAttributes(t)}))}),{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&(e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageBlock")),this.editor.plugins.has("ImageInlineEditing")&&(e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageInline"))}_readAndUpload(e){const t=this.editor,o=t.model,i=t.locale.t,n=t.plugins.get(Qp),s=t.plugins.get(Gm),r=t.plugins.get("ImageUtils"),a=this._uploadImageElements;return o.enqueueChange({isUndoable:!1},(t=>{const o=a.get(e.id);for(const e of o)t.setAttribute("uploadStatus","reading",e)})),e.read().then((()=>{const n=e.upload();t.ui&&t.ui.ariaLiveAnnouncer.announce(i("Uploading image"));for(const i of a.get(e.id)){if(Y.isSafari){const e=t.editing.mapper.toViewElement(i),o=r.findViewImgElement(e);t.editing.view.once("render",(()=>{if(!o.parent)return;const e=t.editing.view.domConverter.mapViewToDom(o.parent);if(!e)return;const i=e.style.display;e.style.display="none",e._ckHack=e.offsetHeight,e.style.display=i}))}o.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","uploading",i)}))}return n})).then((n=>{o.enqueueChange({isUndoable:!1},(o=>{for(const t of a.get(e.id))o.setAttribute("uploadStatus","complete",t),this.fire("uploadComplete",{data:n,imageElement:t});t.ui&&t.ui.ariaLiveAnnouncer.announce(i("Image upload complete")),this._uploadedImages.set(e.id,n)})),l()})).catch((n=>{if(t.ui&&t.ui.ariaLiveAnnouncer.announce(i("Error during image upload")),"error"!==e.status&&"aborted"!==e.status)throw n;"error"==e.status&&n&&s.showWarning(n,{title:i("Upload failed"),namespace:"upload"}),o.enqueueChange({isUndoable:!1},(t=>{for(const o of a.get(e.id))"$graveyard"!==o.root.rootName&&t.remove(o)})),l()}));function l(){o.enqueueChange({isUndoable:!1},(t=>{for(const o of a.get(e.id))t.removeAttribute("uploadId",o),t.removeAttribute("uploadStatus",o);a.delete(e.id)})),n.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,o){let i=0;const n=Object.keys(e).filter((e=>{const t=parseInt(e,10);if(!isNaN(t))return i=Math.max(i,t),!0})).map((t=>`${e[t]} ${t}w`)).join(", ");if(""!=n){const e={srcset:n};t.hasAttribute("width")||t.hasAttribute("height")||(e.width=i),o.setAttributes(e,t)}}_registerConverters(e){const{conversion:t,plugins:o}=this.editor,i=o.get(Qp),n=o.get(Gf);t.for("dataDowncast").add((t=>{t.on(`attribute:uploadId:${e}`,((e,t,o)=>{if(!o.consumable.test(t.item,e.name))return;const s=i.loaders.get(t.attributeNewValue);if(!s||!s.data)return null;const r=o.mapper.toViewElement(t.item),a=n.findViewImgElement(r);a&&(o.consumable.consume(t.item,e.name),o.writer.setAttribute("data-ck-upload-id",s.id,a))}))}))}}function Vb(e,t){const o=e.plugins.get("ImageUtils");return Array.from(e.model.createRangeOn(t)).filter((e=>o.isImage(e.item))).map((e=>e.item))}class Db extends fc{static get pluginName(){return"ImageUpload"}static get isOfficialPlugin(){return!0}static get requires(){return[Ob,Ab,xb]}}class Fb extends wc{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);this.isEnabled=!!t,t&&t.hasAttribute("resizedWidth")?this.value={width:t.getAttribute("resizedWidth"),height:null}:this.value=null}execute(e){const t=this.editor,o=t.model,i=t.plugins.get("ImageUtils"),n=i.getClosestSelectedImageElement(o.document.selection);this.value={width:e.width,height:null},n&&o.change((t=>{t.setAttribute("resizedWidth",e.width,n),t.removeAttribute("resizedHeight",n),i.setImageNaturalSizeAttributes(n)}))}}class Mb extends fc{static get requires(){return[Gf]}static get pluginName(){return"ImageResizeEditing"}static get licenseFeatureCode(){return"IR"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}constructor(e){super(e),e.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:custom",value:"custom",icon:"custom"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const e=this.editor,t=new Fb(e);this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}afterInit(){this._registerSchema()}_registerSchema(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&(e.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),e.setAttributeProperties("resizedWidth",{isFormatting:!0}),e.setAttributeProperties("resizedHeight",{isFormatting:!0})),this.editor.plugins.has("ImageInlineEditing")&&(e.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]}),e.setAttributeProperties("resizedWidth",{isFormatting:!0}),e.setAttributeProperties("resizedHeight",{isFormatting:!0}))}_registerConverters(e){const t=this.editor,o=t.plugins.get("ImageUtils");t.conversion.for("downcast").add((t=>t.on(`attribute:resizedWidth:${e}`,((e,t,o)=>{if(!o.consumable.consume(t.item,e.name))return;const i=o.writer,n=o.mapper.toViewElement(t.item);null!==t.attributeNewValue?(i.setStyle("width",t.attributeNewValue,n),i.addClass("image_resized",n)):(i.removeStyle("width",n),i.removeClass("image_resized",n))})))),t.conversion.for("dataDowncast").attributeToAttribute({model:{name:e,key:"resizedHeight"},view:e=>({key:"style",value:{height:e}})}),t.conversion.for("editingDowncast").add((t=>t.on(`attribute:resizedHeight:${e}`,((t,i,n)=>{if(!n.consumable.consume(i.item,t.name))return;const s=n.writer,r=n.mapper.toViewElement(i.item),a="imageInline"===e?o.findViewImgElement(r):r;null!==i.attributeNewValue?s.setStyle("height",i.attributeNewValue,a):s.removeStyle("height",a)})))),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:e=>Uf(e)?null:e.getStyle("width")}}),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:e=>Uf(e)?null:e.getStyle("height")}}),t.conversion.for("upcast").add((t=>{t.on("element:"+("imageBlock"===e?"figure":"img"),((e,t,o)=>{o.consumable.consume(t.viewItem,{classes:["image_resized"]})}))}))}}const Nb=(()=>({small:'',medium:'',large:'',custom:'',original:''}))();class Bb extends fc{static get requires(){return[Mb]}static get pluginName(){return"ImageResizeButtons"}static get isOfficialPlugin(){return!0}_resizeUnit;constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),o=e.commands.get("resizeImage");this.bind("isEnabled").to(o);for(const e of t)this._registerImageResizeButton(e);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:o,value:i,icon:n}=e;t.ui.componentFactory.add(o,(o=>{const s=new Lu(o),r=t.commands.get("resizeImage"),a=this._getOptionLabelValue(e,!0);if(!Nb[n])throw new fe("imageresizebuttons-missing-icon",t,e);if(s.set({label:a,icon:Nb[n],tooltip:a,isToggleable:!0}),s.bind("isEnabled").to(this),t.plugins.has("ImageCustomResizeUI")&&Lb(e)){const e=t.plugins.get("ImageCustomResizeUI");this.listenTo(s,"execute",(()=>{e._showForm(this._resizeUnit)}))}else{const e=i?i+this._resizeUnit:null;s.bind("isOn").to(r,"value",r,"isEnabled",zb(e)),this.listenTo(s,"execute",(()=>{t.execute("resizeImage",{width:e})}))}return s}))}_registerImageResizeDropdown(e){const t=this.editor,o=t.t,i=e.find((e=>!e.value)),n=n=>{const s=t.commands.get("resizeImage"),r=Zh(n,Mh),a=r.buttonView,l=o("Resize image");return a.set({tooltip:l,commandValue:i.value,icon:Nb.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:l,ariaLabelledBy:void 0}),a.bind("label").to(s,"value",(e=>e&&e.width?e.width:this._getOptionLabelValue(i))),r.bind("isEnabled").to(this),Xh(r,(()=>this._getResizeDropdownListItemDefinitions(e,s)),{ariaLabel:o("Image resize list"),role:"menu"}),this.listenTo(r,"execute",(e=>{"onClick"in e.source?e.source.onClick():(t.execute(e.source.commandName,{width:e.source.commandValue}),t.editing.view.focus())})),r};t.ui.componentFactory.add("resizeImage",n),t.ui.componentFactory.add("imageResize",n)}_getOptionLabelValue(e,t=!1){const o=this.editor.t;return e.label?e.label:t?Lb(e)?o("Custom image size"):e.value?o("Resize image to %0",e.value+this._resizeUnit):o("Resize image to the original size"):Lb(e)?o("Custom"):e.value?e.value+this._resizeUnit:o("Original")}_getResizeDropdownListItemDefinitions(e,t){const{editor:o}=this,i=new eo,n=e.map((e=>Lb(e)?{...e,valueWithUnits:"custom"}:e.value?{...e,valueWithUnits:`${e.value}${this._resizeUnit}`}:{...e,valueWithUnits:null}));for(const e of n){let s=null;if(o.plugins.has("ImageCustomResizeUI")&&Lb(e)){const i=o.plugins.get("ImageCustomResizeUI");s={type:"button",model:new Jm({label:this._getOptionLabelValue(e),role:"menuitemradio",withText:!0,icon:null,onClick:()=>{i._showForm(this._resizeUnit)}})};const r=Object.values(n).map((e=>e.valueWithUnits));s.model.bind("isOn").to(t,"value",t,"isEnabled",jb(r))}else s={type:"button",model:new Jm({commandName:"resizeImage",commandValue:e.valueWithUnits,label:this._getOptionLabelValue(e),role:"menuitemradio",withText:!0,icon:null})},s.model.bind("isOn").to(t,"value",t,"isEnabled",zb(e.valueWithUnits));s.model.bind("isEnabled").to(t,"isEnabled"),i.add(s)}return i}}function Lb(e){return"custom"===e.value}function zb(e){return(t,o)=>!(void 0===t||!o)&&(null===e&&t===e||null!==t&&t.width===e)}function jb(e){return(t,o)=>!e.some((e=>zb(e)(t,o)))}const qb="image_resized";class $b extends fc{static get requires(){return[Rp,Gf]}static get pluginName(){return"ImageResizeHandles"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view,o=e.plugins.get("ImageUtils");t.addObserver(nb),this.listenTo(t.document,"imageLoaded",((i,n)=>{if(!n.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const s=e.editing.view.domConverter,r=s.domToView(n.target),a=o.getImageWidgetFromImageView(r);let l=this.editor.plugins.get(Rp).getResizerByViewElement(a);if(l)return void l.redraw();const c=e.editing.mapper,d=c.toModelElement(a);l=e.plugins.get(Rp).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:d,viewElement:a,editor:e,getHandleHost:e=>e.querySelector("img"),getResizeHost:()=>s.mapViewToDom(c.toViewElement(d)),isCentered:()=>"alignCenter"==d.getAttribute("imageStyle"),onCommit(o){t.change((e=>{e.removeClass(qb,a)})),e.execute("resizeImage",{width:o})}}),l.on("updateSize",(()=>{a.hasClass(qb)||t.change((e=>{e.addClass(qb,a)}));const e="imageInline"===d.name?r:a;e.getStyle("height")&&t.change((t=>{t.removeStyle("height",e)}))})),l.bind("isEnabled").to(this)}))}}function Hb(e){if(!e)return null;const[,t,o]=e.trim().match(/([.,\d]+)(%|px)$/)||[],i=Number.parseFloat(t);return Number.isNaN(i)?null:{value:i,unit:o}}function Wb(e,t,o){return"px"===o?{value:t.value,unit:"px"}:{value:t.value/e*100,unit:"%"}}function Ub(e){const{editing:t}=e,o=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);if(!o)return null;const i=t.mapper.toViewElement(o);return{model:o,view:i,dom:t.view.domConverter.mapViewToDom(i)}}class Kb extends Au{focusTracker;keystrokes;unit;backButtonView;saveButtonView;labeledInput;children;_focusables;_focusCycler;_validators;constructor(e,t,o){super(e),this.focusTracker=new oo,this.keystrokes=new ro,this.unit=t,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.labeledInput=this._createLabeledInputView(),this.children=this.createCollection([this._createHeaderView()]),this.children.add(new Km(e,{children:[this.labeledInput,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding"]})),this._focusables=new tu,this._validators=o,this.keystrokes.set("Esc",((e,t)=>{this.fire("cancel"),t()})),this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-image-custom-resize-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Ou({view:this});[this.backButtonView,this.labeledInput,this.saveButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createBackButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:ed,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({label:e("Save"),withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new ju(this.locale,{label:e("Image Resize")});return t.children.add(this.backButtonView,0),t}_createLabeledInputView(){const e=this.locale.t,t=new Sh(this.locale,sm);return t.label=e("Resize image (in %0)",this.unit),t.class="ck-labeled-field-view_full-width",t.fieldView.set({step:.1}),t}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.labeledInput.errorText=t,!1}return!0}resetFormStatus(){this.labeledInput.errorText=null}get rawSize(){const{element:e}=this.labeledInput.fieldView;return e?e.value:null}get parsedSize(){const{rawSize:e}=this;if(null===e)return null;const t=Number.parseFloat(e);return Number.isNaN(t)?null:t}get sizeWithUnits(){const{parsedSize:e,unit:t}=this;return null===e?null:`${e}${t}`}}class Gb extends fc{_balloon;_form;static get requires(){return[Qm]}static get pluginName(){return"ImageCustomResizeUI"}static get isOfficialPlugin(){return!0}destroy(){super.destroy(),this._form&&this._form.destroy()}_createForm(e){const t=this.editor;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(Iu(Kb))(t.locale,e,function(e){const t=e.t;return[e=>""===e.rawSize.trim()?t("The value must not be empty."):null===e.parsedSize?t("The value should be a plain number."):void 0]}(t)),this._form.render(),this.listenTo(this._form,"submit",(()=>{this._form.isValid()&&(t.execute("resizeImage",{width:this._form.sizeWithUnits}),this._hideForm(!0))})),this.listenTo(this._form.labeledInput,"change:errorText",(()=>{t.ui.update()})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),Su({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(e){if(this._isVisible)return;this._form||this._createForm(e);const t=this.editor,o=this._form.labeledInput;this._form.disableCssTransitions(),this._form.resetFormStatus(),this._isInBalloon||this._balloon.add({view:this._form,position:Xf(t)});const i=function(e,t){const o=Ub(e);if(!o)return null;const i=Hb(o.model.getAttribute("resizedWidth")||null);return i?i.unit===t?i:Wb(up(o.dom),{value:new ut(o.dom).width},t):null}(t,e),n=i?i.value.toFixed(1):"",s=function(e,t){const o=Ub(e);if(!o)return null;const i=up(o.dom),n=Hb(window.getComputedStyle(o.dom).minWidth)||{value:1};return{unit:t,lower:Math.max(.1,Wb(i,n,t).value),upper:"px"===t?i:100}}(t,e);o.fieldView.value=o.fieldView.element.value=n,s&&Object.assign(o.fieldView,{min:s.lower.toFixed(1),max:Math.ceil(s.upper).toFixed(1)}),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Jb extends wc{_defaultStyles;_styles;constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map((e=>{if(e.isDefault)for(const t of e.modelElements)this._defaultStyles[t]=e.name;return[e.name,e]})))}refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?e.hasAttribute("imageStyle")?this.value=e.getAttribute("imageStyle"):this.value=this._defaultStyles[e.name]:this.value=!1}execute(e={}){const t=this.editor,o=t.model,i=t.plugins.get("ImageUtils");o.change((t=>{const n=e.value,{setImageSizes:s=!0}=e;let r=i.getClosestSelectedImageElement(o.document.selection);n&&this.shouldConvertImageType(n,r)&&(this.editor.execute(i.isBlockImage(r)?"imageTypeInline":"imageTypeBlock",{setImageSizes:s}),r=i.getClosestSelectedImageElement(o.document.selection)),!n||this._styles.get(n).isDefault?t.removeAttribute("imageStyle",r):t.setAttribute("imageStyle",n,r),s&&i.setImageNaturalSizeAttributes(r)}))}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const Zb={get inline(){return{name:"inline",title:"In line",icon:Qc,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Jc,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Yc,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Gc,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Zc,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Xc,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Gc,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Zc,modelElements:["imageBlock"],className:"image-style-side"}}},Qb=(()=>({full:'',left:Yc,right:Xc,center:Gc,inlineLeft:Jc,inlineRight:Zc,inline:Qc}))(),Yb=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function Xb(e){be("image-style-configuration-definition-invalid",e)}const ew={normalizeStyles:function(e){const t=(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?Zb[e]?{...Zb[e]}:{name:e}:function(e,t){const o={...t};for(const i in e)Object.prototype.hasOwnProperty.call(t,i)||(o[i]=e[i]);return o}(Zb[e.name],e);"string"==typeof e.icon&&(e.icon=Qb[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:o}){const{modelElements:i,name:n}=e;if(!(i&&i.length&&n))return Xb({style:e}),!1;{const n=[t?"imageBlock":null,o?"imageInline":null];if(!i.some((e=>n.includes(e))))return be("image-style-missing-dependency",{style:e,missingPlugins:i.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)));return t},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...Yb]:[]},warnInvalidStyle:Xb};function tw(e){const t={imageInline:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageInline"))),imageBlock:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageBlock")))};return(o,i,n)=>{if(!i.modelRange)return;const s=i.viewItem,r=to(i.modelRange.getItems());if(r&&n.schema.checkAttribute(r,"imageStyle")){for(const e of t[r.name])n.consumable.consume(s,{classes:e.className})&&n.writer.setAttribute("imageStyle",e.name,r);!function(e,t,o,i){if(!e.consumable.test(t,{styles:["float"]}))return;let n=null;switch(t.getStyle("float")){case"left":n="alignLeft";break;case"right":n="alignRight"}if(!n)return;const s=ow(n,i);if(!s)return;const r=Zb[s.name];if(!Ko(s,r))return;e.writer.setAttribute("imageStyle",n,o),e.consumable.consume(t,{styles:["float"]})}(n,s,r,e)}}}function ow(e,t){for(const o of t)if(o.name===e)return o}class iw extends fc{static get pluginName(){return"ImageStyleEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[Gf]}normalizedStyles;init(){const e=this.editor,t=e.plugins.has("ImageBlockEditing"),o=e.plugins.has("ImageInlineEditing");e.config.define("image.styles",ew.getDefaultStylesConfiguration(t,o)),this.normalizedStyles=ew.normalizeStyles({configuredStyles:e.config.get("image.styles"),isBlockPluginLoaded:t,isInlinePluginLoaded:o}),this._setupConversion(t,o),this._setupPostFixer(),e.commands.add("imageStyle",new Jb(e,this.normalizedStyles))}_setupConversion(e,t){const o=this.editor,i=o.model.schema,n=(s=this.normalizedStyles,(e,t,o)=>{if(!o.consumable.consume(t.item,e.name))return;const i=ow(t.attributeNewValue,s),n=ow(t.attributeOldValue,s),r=o.mapper.toViewElement(t.item),a=o.writer;n&&a.removeClass(n.className,r),i&&a.addClass(i.className,r)});var s;const r=tw(this.normalizedStyles);o.editing.downcastDispatcher.on("attribute:imageStyle",n),o.data.downcastDispatcher.on("attribute:imageStyle",n),e&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),i.setAttributeProperties("imageStyle",{isFormatting:!0}),o.data.upcastDispatcher.on("element:figure",r,{priority:"low"})),t&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),i.setAttributeProperties("imageStyle",{isFormatting:!0}),o.data.upcastDispatcher.on("element:img",r,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,o=e.plugins.get(Gf),i=new Map(this.normalizedStyles.map((e=>[e.name,e])));t.registerPostFixer((e=>{let n=!1;for(const s of t.differ.getChanges())if("insert"==s.type||"attribute"==s.type&&"imageStyle"==s.attributeKey){let t="insert"==s.type?s.position.nodeAfter:s.range.start.nodeAfter;if(t&&t.is("element","paragraph")&&t.childCount>0&&(t=t.getChild(0)),!o.isImage(t))continue;const r=t.getAttribute("imageStyle");if(!r)continue;const a=i.get(r);a&&a.modelElements.includes(t.name)||(e.removeAttribute("imageStyle",t),n=!0)}return n}))}}class nw extends fc{static get requires(){return[iw]}static get pluginName(){return"ImageStyleUI"}static get isOfficialPlugin(){return!0}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],o=sw(e.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const e of o)this._createButton(e);const i=sw([...t.filter(s),...ew.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const e of i)this._createDropdown(e,o)}_createDropdown(e,t){const o=this.editor.ui.componentFactory;o.add(e.name,(i=>{let n;const{defaultItem:s,items:r,title:a}=e,l=r.filter((e=>t.find((({name:t})=>rw(t)===e)))).map((e=>{const t=o.create(e);return e===s&&(n=t),t}));r.length!==l.length&&ew.warnInvalidStyle({dropdown:e});const c=Zh(i,Jh),d=c.buttonView,u=d.arrowView;return Qh(c,l,{enableActiveItemFocusOnDropdownOpen:!0}),d.set({label:aw(a,n.label),class:null,tooltip:!0}),u.unbind("label"),u.set({label:a}),d.bind("icon").toMany(l,"isOn",((...e)=>{const t=e.findIndex(jf);return t<0?n.icon:l[t].icon})),d.bind("label").toMany(l,"isOn",((...e)=>{const t=e.findIndex(jf);return aw(a,t<0?n.label:l[t].label)})),d.bind("isOn").toMany(l,"isOn",((...e)=>e.some(jf))),d.bind("class").toMany(l,"isOn",((...e)=>e.some(jf)?"ck-splitbutton_flatten":void 0)),d.on("execute",(()=>{l.some((({isOn:e})=>e))?c.isOpen=!c.isOpen:n.fire("execute")})),c.bind("isEnabled").toMany(l,"isEnabled",((...e)=>e.some(jf))),this.listenTo(c,"execute",(()=>{this.editor.editing.view.focus()})),c}))}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(rw(t),(o=>{const i=this.editor.commands.get("imageStyle"),n=new Lu(o);return n.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),n.bind("isEnabled").to(i,"isEnabled"),n.bind("isOn").to(i,"value",(e=>e===t)),n.on("execute",this._executeCommand.bind(this,t)),n}))}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function sw(e,t){for(const o of e)t[o.title]&&(o.title=t[o.title]);return e}function rw(e){return`imageStyle:${e}`}function aw(e,t){return(e?e+": ":"")+t}function lw(e){return e.map((e=>s(e)?e.name:e))}const cw=Symbol("isWpButtonMacroSymbol");function dw(e){const t=e.getSelectedElement();return!(!t||!function(e){return!!e.getCustomProperty(cw)&&ip(e)}(t))}class uw extends fc{static get pluginName(){return"OPChildPagesEditing"}static get buttonName(){return"insertChildPages"}init(){const e=this.editor,t=e.model,o=e.conversion;t.schema.register("op-macro-child-pages",{allowWhere:["$block"],allowAttributes:["page"],isBlock:!0,isLimit:!0}),o.for("upcast").elementToElement({view:{name:"macro",classes:"child_pages"},model:(e,{writer:t})=>{const o=e.getAttribute("data-page")||"",i="true"==e.getAttribute("data-include-parent");return t.createElement("op-macro-child-pages",{page:o,includeParent:i})}}),o.for("editingDowncast").elementToElement({model:"op-macro-child-pages",view:(e,{writer:t})=>this.createMacroViewElement(e,t)}).add((e=>e.on("attribute:page",this.modelAttributeToView.bind(this)))).add((e=>e.on("attribute:includeParent",this.modelAttributeToView.bind(this)))),o.for("dataDowncast").elementToElement({model:"op-macro-child-pages",view:(e,{writer:t})=>t.createContainerElement("macro",{class:"child_pages","data-page":e.getAttribute("page")||"","data-include-parent":e.getAttribute("includeParent")||""})}),e.ui.componentFactory.add(uw.buttonName,(t=>{const o=new Lu(t);return o.set({label:window.I18n.t("js.editor.macro.child_pages.button"),withText:!0}),o.on("execute",(()=>{e.model.change((t=>{const o=t.createElement("op-macro-child-pages",{});e.model.insertContent(o,e.model.document.selection)}))})),o}))}modelAttributeToView(e,t,o){const i=t.item;if(!i.is("element","op-macro-child-pages"))return;o.consumable.consume(t.item,e.name);const n=o.mapper.toViewElement(i);o.writer.remove(o.writer.createRangeIn(n)),this.setPlaceholderContent(o.writer,i,n)}macroLabel(){return window.I18n.t("js.editor.macro.child_pages.text")}pageLabel(e){return e&&e.length>0?e:window.I18n.t("js.editor.macro.child_pages.this_page")}includeParentText(e){return e?` (${window.I18n.t("js.editor.macro.child_pages.include_parent")})`:""}createMacroViewElement(e,t){const o=t.createContainerElement("div");return this.setPlaceholderContent(t,e,o),function(e,t,o){return t.setCustomProperty(cw,!0,e),np(e,t,{label:o})}(o,t,{label:this.macroLabel()})}setPlaceholderContent(e,t,o){const i=t.getAttribute("page"),n=t.getAttribute("includeParent"),s=this.macroLabel(),r=this.pageLabel(i),a=e.createContainerElement("span",{class:"macro-value"});let l=[e.createText(`${s} `)];e.insert(e.createPositionAt(a,0),e.createText(`${r}`)),l.push(a),l.push(e.createText(this.includeParentText(n))),e.insert(e.createPositionAt(o,0),l)}}class hw extends fc{static get requires(){return[Qm]}static get pluginName(){return"OPChildPagesToolbar"}init(){const e=this.editor,t=this.editor.model,o=Mp(e);jp(e,"opEditChildPagesMacroButton",(e=>{const i=o.services.macros,n=e.getAttribute("page"),s=e.getAttribute("includeParent"),r=n&&n.length>0?n:"";i.configureChildPages(r,s).then((o=>t.change((t=>{t.setAttribute("page",o.page,e),t.setAttribute("includeParent",o.includeParent,e)}))))}))}afterInit(){$p(this,this.editor,"OPChildPages",dw)}}class mw extends wc{constructor(e){super(e),this.affectsData=!1}execute(){const e=this.editor.model,t=e.document.selection;let o=e.schema.getLimitElement(t);if(t.containsEntireContent(o)||!gw(e.schema,o))do{if(o=o.parent,!o)return}while(!gw(e.schema,o));e.change((e=>{e.setSelection(o,"in")}))}}function gw(e,t){return e.isLimit(t)&&(e.checkChild(t,"$text")||e.checkChild(t,"paragraph"))}const pw=Wt("Ctrl+A");class fw extends fc{static get pluginName(){return"SelectAllEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t,o=e.editing.view.document;e.commands.add("selectAll",new mw(e)),this.listenTo(o,"keydown",((t,o)=>{Ht(o)===pw&&(e.execute("selectAll"),o.preventDefault())})),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Select all"),keystroke:"CTRL+A"}]})}}class bw extends fc{static get pluginName(){return"SelectAllUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("selectAll",(()=>{const e=this._createButton(Lu);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:selectAll",(()=>this._createButton(sh)))}_createButton(e){const t=this.editor,o=t.locale,i=t.commands.get("selectAll"),n=new e(t.locale),s=o.t;return n.set({label:s("Select all"),icon:'',keystroke:"Ctrl+A"}),n.bind("isEnabled").to(i,"isEnabled"),this.listenTo(n,"execute",(()=>{t.execute("selectAll"),t.editing.view.focus()})),n}}class ww extends fc{static get requires(){return[fw,bw]}static get pluginName(){return"SelectAll"}static get isOfficialPlugin(){return!0}}const yw="ckCsrfToken",_w="abcdefghijklmnopqrstuvwxyz0123456789";function kw(){let e=function(e){e=e.toLowerCase();const t=document.cookie.split(";");for(const o of t){const t=o.split("=");if(decodeURIComponent(t[0].trim().toLowerCase())===e)return decodeURIComponent(t[1])}return null}(yw);var t,o;return e&&40==e.length||(e=function(e){let t="";const o=new Uint8Array(e);window.crypto.getRandomValues(o);for(let e=0;e.5?i.toUpperCase():i}return t}(40),t=yw,o=e,document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(o)+";path=/"),e}class vw{loader;url;t;xhr;constructor(e,t,o){this.loader=e,this.url=t,this.t=o}upload(){return this.loader.file.then((e=>new Promise(((t,o)=>{this._initRequest(),this._initListeners(t,o,e),this._sendRequest(e)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const e=this.xhr=new XMLHttpRequest;e.open("POST",this.url,!0),e.responseType="json"}_initListeners(e,t,o){const i=this.xhr,n=this.loader,s=(0,this.t)("Cannot upload file:")+` ${o.name}.`;i.addEventListener("error",(()=>t(s))),i.addEventListener("abort",(()=>t())),i.addEventListener("load",(()=>{const o=i.response;if(!o||!o.uploaded)return t(o&&o.error&&o.error.message?o.error.message:s);e({default:o.url})})),i.upload&&i.upload.addEventListener("progress",(e=>{e.lengthComputable&&(n.uploadTotal=e.total,n.uploaded=e.loaded)}))}_sendRequest(e){const t=new FormData;t.append("upload",e),t.append("ckCsrfToken",kw()),this.xhr.send(t)}}function Cw(e,t,o,i){let n,s=null;"function"==typeof i?n=i:(s=e.commands.get(i),n=()=>{e.execute(i)}),e.model.document.on("change:data",((r,a)=>{if(s&&!s.isEnabled||!t.isEnabled)return;const l=to(e.model.document.selection.getRanges());if(!l.isCollapsed)return;if(a.isUndo||!a.isLocal)return;const c=Array.from(e.model.document.differ.getChanges()),d=c[0];if(1!=c.length||"insert"!==d.type||"$text"!=d.name||1!=d.length)return;const u=d.position.parent;if(u.is("element","codeBlock"))return;if(u.is("element","listItem")&&"function"!=typeof i&&!["numberedList","bulletedList","todoList"].includes(i))return;if(s&&!0===s.value)return;const h=u.getChild(0),m=e.model.createRangeOn(h);if(!m.containsRange(l)&&!l.end.isEqual(m.end))return;const g=o.exec(h.data.substr(0,l.end.offset));g&&e.model.enqueueChange((t=>{const o=e.model.document.selection,i=t.createPositionAt(u,0),s=t.createPositionAt(u,g[0].length),r=new Ts(i,s);if(!1!==n({match:g})){const e=Array.from(o.getAttributes());t.remove(r);const i=o.getFirstRange(),n=t.createRangeIn(u);!u.isEmpty||n.isEqual(i)||n.containsRange(i,!0)||t.remove(u),function(e,t,o){const i=e.model.schema,n=t.getFirstPosition();let s=new gr(n);i.checkChild(s,"$text")&&(s=s.push("$text"));for(const[t,n]of o)i.checkAttribute(s,t)&&e.setSelectionAttribute(t,n)}(t,o,e)}r.detach(),e.model.enqueueChange((()=>{e.plugins.get("Delete").requestUndoOnBackspace()}))}))}))}function Aw(e,t,o,i){let n,s;o instanceof RegExp?n=o:s=o,s=s||(e=>{let t;const o=[],i=[];for(;null!==(t=n.exec(e))&&!(t&&t.length<4);){let{index:e,1:n,2:s,3:r}=t;const a=n+s+r;e+=t[0].length-a.length;const l=[e,e+n.length],c=[e+n.length+s.length,e+n.length+s.length+r.length];o.push(l),o.push(c),i.push([e+n.length,e+n.length+s.length])}return{remove:o,format:i}}),e.model.document.on("change:data",((o,n)=>{if(n.isUndo||!n.isLocal||!t.isEnabled)return;const r=e.model,a=r.document.selection;if(!a.isCollapsed)return;const l=Array.from(r.document.differ.getChanges()),c=l[0];if(1!=l.length||"insert"!==c.type||"$text"!=c.name||1!=c.length)return;const d=a.focus,u=d.parent,{text:h,range:m}=function(e,t){let o=e.start;const i=Array.from(e.getItems()).reduce(((e,i)=>!i.is("$text")&&!i.is("$textProxy")||i.getAttribute("code")?(o=t.createPositionAfter(i),""):e+i.data),"");return{text:i,range:t.createRange(o,e.end)}}(r.createRange(r.createPositionAt(u,0),d),r),g=s(h),p=xw(m.start,g.format,r),f=xw(m.start,g.remove,r);p.length&&f.length&&r.enqueueChange((t=>{if(!1!==i(t,p)){for(const e of f.reverse())t.remove(e);r.enqueueChange((()=>{e.plugins.get("Delete").requestUndoOnBackspace()}))}}))}))}function xw(e,t,o){return t.filter((e=>void 0!==e[0]&&void 0!==e[1])).map((t=>o.createRange(e.getShiftedBy(t[0]),e.getShiftedBy(t[1]))))}function Ew(e,t){return(o,i)=>{if(!e.commands.get(t).isEnabled)return!1;const n=e.model.schema.getValidRanges(i,t);for(const e of n)o.setAttribute(t,!0,e);o.removeSelectionAttribute(t)}}class Tw extends wc{attributeKey;constructor(e,t){super(e),this.attributeKey=t}refresh(){const e=this.editor.model,t=e.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=e.schema.checkAttributeInSelection(t.selection,this.attributeKey)}execute(e={}){const t=this.editor.model,o=t.document.selection,i=void 0===e.forceValue?!this.value:e.forceValue;t.change((e=>{if(o.isCollapsed)i?e.setSelectionAttribute(this.attributeKey,!0):e.removeSelectionAttribute(this.attributeKey);else{const n=t.schema.getValidRanges(o.getRanges(),this.attributeKey,{includeEmptyRanges:!0});for(const t of n){let o=t,n=this.attributeKey;t.isCollapsed&&(o=t.start.parent,n=Os._getStoreAttributeKey(this.attributeKey)),i?e.setAttribute(n,i,o):e.removeAttribute(n,o)}}}))}_getValueFromFirstAllowedNode(){const e=this.editor.model,t=e.schema,o=e.document.selection;if(o.isCollapsed)return o.hasAttribute(this.attributeKey);for(const e of o.getRanges())for(const o of e.getItems())if(t.checkAttribute(o,this.attributeKey))return o.hasAttribute(this.attributeKey);return!1}}const Pw="bold";class Sw extends fc{static get pluginName(){return"BoldEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:Pw}),e.model.schema.setAttributeProperties(Pw,{isFormatting:!0,copyOnEnter:!0}),e.conversion.attributeToElement({model:Pw,view:"strong",upcastAlso:["b",e=>{const t=e.getStyle("font-weight");return t&&("bold"==t||Number(t)>=600)?{name:!0,styles:["font-weight"]}:null}]}),e.commands.add(Pw,new Tw(e,Pw)),e.keystrokes.set("CTRL+B",Pw),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Bold text"),keystroke:"CTRL+B"}]})}}function Iw({editor:e,commandName:t,plugin:o,icon:i,label:n,keystroke:s}){return r=>{const a=e.commands.get(t),l=new r(e.locale);return l.set({label:n,icon:i,keystroke:s,isToggleable:!0}),l.bind("isEnabled").to(a,"isEnabled"),l.bind("isOn").to(a,"value"),l instanceof sh?l.set({role:"menuitemcheckbox"}):l.set({tooltip:!0}),o.listenTo(l,"execute",(()=>{e.execute(t),e.editing.view.focus()})),l}}const Rw="bold";class Ow extends fc{static get pluginName(){return"BoldUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=Iw({editor:e,commandName:Rw,plugin:this,icon:qc,label:t("Bold"),keystroke:"CTRL+B"});e.ui.componentFactory.add(Rw,(()=>o(Lu))),e.ui.componentFactory.add("menuBar:"+Rw,(()=>o(sh)))}}const Vw="code";class Dw extends fc{static get pluginName(){return"CodeEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[Rg]}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:Vw}),e.model.schema.setAttributeProperties(Vw,{isFormatting:!0,copyOnEnter:!1}),e.conversion.attributeToElement({model:Vw,view:"code"}),e.commands.add(Vw,new Tw(e,Vw)),e.plugins.get(Rg).registerAttribute(Vw),jg(e,Vw,"code","ck-code_selected"),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Move out of an inline code style"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}}const Fw="code";class Mw extends fc{static get pluginName(){return"CodeUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=Iw({editor:e,commandName:Fw,plugin:this,icon:'',label:t("Code")});e.ui.componentFactory.add(Fw,(()=>o(Lu))),e.ui.componentFactory.add("menuBar:"+Fw,(()=>o(sh)))}}const Nw="italic";class Bw extends fc{static get pluginName(){return"ItalicEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:Nw}),e.model.schema.setAttributeProperties(Nw,{isFormatting:!0,copyOnEnter:!0}),e.conversion.attributeToElement({model:Nw,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),e.commands.add(Nw,new Tw(e,Nw)),e.keystrokes.set("CTRL+I",Nw),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Italic text"),keystroke:"CTRL+I"}]})}}const Lw="italic";class zw extends fc{static get pluginName(){return"ItalicUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=Iw({editor:e,commandName:Lw,plugin:this,icon:'',keystroke:"CTRL+I",label:t("Italic")});e.ui.componentFactory.add(Lw,(()=>o(Lu))),e.ui.componentFactory.add("menuBar:"+Lw,(()=>o(sh)))}}const jw="strikethrough";class qw extends fc{static get pluginName(){return"StrikethroughEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;e.model.schema.extend("$text",{allowAttributes:jw}),e.model.schema.setAttributeProperties(jw,{isFormatting:!0,copyOnEnter:!0}),e.conversion.attributeToElement({model:jw,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]}),e.commands.add(jw,new Tw(e,jw)),e.keystrokes.set("CTRL+SHIFT+X","strikethrough"),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Strikethrough text"),keystroke:"CTRL+SHIFT+X"}]})}}const $w="strikethrough";class Hw extends fc{static get pluginName(){return"StrikethroughUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.locale.t,o=Iw({editor:e,commandName:$w,plugin:this,icon:'',keystroke:"CTRL+SHIFT+X",label:t("Strikethrough")});e.ui.componentFactory.add($w,(()=>o(Lu))),e.ui.componentFactory.add("menuBar:"+$w,(()=>o(sh)))}}class Ww extends wc{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor.model,o=t.schema,i=t.document.selection,n=Array.from(i.getSelectedBlocks()),s=void 0===e.forceValue?!this.value:e.forceValue;t.change((e=>{if(s){const t=n.filter((e=>Uw(e)||Gw(o,e)));this._applyQuote(e,t)}else this._removeQuote(e,n.filter(Uw))}))}_getValue(){const e=to(this.editor.model.document.selection.getSelectedBlocks());return!(!e||!Uw(e))}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,o=to(e.getSelectedBlocks());return!!o&&Gw(t,o)}_removeQuote(e,t){Kw(e,t).reverse().forEach((t=>{if(t.start.isAtStart&&t.end.isAtEnd)return void e.unwrap(t.start.parent);if(t.start.isAtStart){const o=e.createPositionBefore(t.start.parent);return void e.move(t,o)}t.end.isAtEnd||e.split(t.end);const o=e.createPositionAfter(t.end.parent);e.move(t,o)}))}_applyQuote(e,t){const o=[];Kw(e,t).reverse().forEach((t=>{let i=Uw(t.start);i||(i=e.createElement("blockQuote"),e.wrap(t,i)),o.push(i)})),o.reverse().reduce(((t,o)=>t.nextSibling==o?(e.merge(e.createPositionAfter(t)),t):o))}}function Uw(e){return"blockQuote"==e.parent.name?e.parent:null}function Kw(e,t){let o,i=0;const n=[];for(;i{const i=e.model.document.differ.getChanges();for(const e of i)if("insert"==e.type){const i=e.position.nodeAfter;if(!i)continue;if(i.is("element","blockQuote")&&i.isEmpty)return o.remove(i),!0;if(i.is("element","blockQuote")&&!t.checkChild(e.position,i))return o.unwrap(i),!0;if(i.is("element")){const e=o.createRangeIn(i);for(const i of e.getItems())if(i.is("element","blockQuote")&&!t.checkChild(o.createPositionBefore(i),i))return o.unwrap(i),!0}}else if("remove"==e.type){const t=e.position.parent;if(t.is("element","blockQuote")&&t.isEmpty)return o.remove(t),!0}return!1}));const o=this.editor.editing.view.document,i=e.model.document.selection,n=e.commands.get("blockQuote");this.listenTo(o,"enter",((t,o)=>{if(!i.isCollapsed||!n.value)return;i.getLastPosition().parent.isEmpty&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),o.preventDefault(),t.stop())}),{context:"blockquote"}),this.listenTo(o,"delete",((t,o)=>{if("backward"!=o.direction||!i.isCollapsed||!n.value)return;const s=i.getLastPosition().parent;s.isEmpty&&!s.previousSibling&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),o.preventDefault(),t.stop())}),{context:"blockquote"})}}class Zw extends fc{static get pluginName(){return"BlockQuoteUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("blockQuote",(()=>{const e=this._createButton(Lu);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:blockQuote",(()=>{const e=this._createButton(sh);return e.set({role:"menuitemcheckbox"}),e}))}_createButton(e){const t=this.editor,o=t.locale,i=t.commands.get("blockQuote"),n=new e(t.locale),s=o.t;return n.set({label:s("Block quote"),icon:'',isToggleable:!0}),n.bind("isEnabled").to(i,"isEnabled"),n.bind("isOn").to(i,"value"),this.listenTo(n,"execute",(()=>{t.execute("blockQuote"),t.editing.view.focus()})),n}}class Qw extends wc{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}refresh(){const e=this.editor.model,t=to(e.document.selection.getSelectedBlocks());this.value=!!t&&t.is("element","paragraph"),this.isEnabled=!!t&&Yw(t,e.schema)}execute(e={}){const t=this.editor.model,o=t.document,i=e.selection||o.selection;t.canEditAt(i)&&t.change((e=>{const o=i.getSelectedBlocks();for(const i of o)!i.is("element","paragraph")&&Yw(i,t.schema)&&e.rename(i,"paragraph")}))}}function Yw(e,t){return t.checkChild(e.parent,"paragraph")&&!t.isObject(e)}class Xw extends wc{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}execute(e){const t=this.editor.model,o=e.attributes;let i=e.position;return t.canEditAt(i)?t.change((e=>{if(i=this._findPositionToInsertParagraph(i,e),!i)return null;const n=e.createElement("paragraph");return o&&t.schema.setAllowedAttributes(n,o,e),t.insertContent(n,i),e.setSelection(n,"in"),e.createPositionAt(n,0)})):null}_findPositionToInsertParagraph(e,t){const o=this.editor.model;if(o.schema.checkChild(e,"paragraph"))return e;const i=o.schema.findAllowedParent(e,"paragraph");if(!i)return null;const n=e.parent,s=o.schema.checkChild(n,"$text");return n.isEmpty||s&&e.isAtEnd?o.createPositionAfter(n):!n.isEmpty&&s&&e.isAtStart?o.createPositionBefore(n):t.split(e,i).position}}class ey extends fc{static get pluginName(){return"Paragraph"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model;e.commands.add("paragraph",new Qw(e)),e.commands.add("insertParagraph",new Xw(e)),t.schema.register("paragraph",{inheritAllFrom:"$block"}),e.conversion.elementToElement({model:"paragraph",view:"p"}),e.conversion.for("upcast").elementToElement({model:(e,{writer:t})=>ey.paragraphLikeElements.has(e.name)?e.isEmpty?null:t.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}static paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"])}class ty extends wc{modelElements;constructor(e,t){super(e),this.modelElements=t}refresh(){const e=to(this.editor.model.document.selection.getSelectedBlocks());this.value=!!e&&this.modelElements.includes(e.name)&&e.name,this.isEnabled=!!e&&this.modelElements.some((t=>oy(e,t,this.editor.model.schema)))}execute(e){const t=this.editor.model,o=t.document,i=e.value;t.change((e=>{const n=Array.from(o.selection.getSelectedBlocks()).filter((e=>oy(e,i,t.schema)));for(const t of n)t.is("element",i)||e.rename(t,i)}))}}function oy(e,t,o){return o.checkChild(e.parent,t)&&!o.isObject(e)}const iy="paragraph";class ny extends fc{static get pluginName(){return"HeadingEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[ey]}init(){const e=this.editor,t=e.config.get("heading.options"),o=[];for(const i of t)"paragraph"!==i.model&&(e.model.schema.register(i.model,{inheritAllFrom:"$block"}),e.conversion.elementToElement(i),o.push(i.model));this._addDefaultH1Conversion(e),e.commands.add("heading",new ty(e,o))}afterInit(){const e=this.editor,t=e.commands.get("enter"),o=e.config.get("heading.options");t&&this.listenTo(t,"afterExecute",((t,i)=>{const n=e.model.document.selection.getFirstPosition().parent;o.some((e=>n.is("element",e.model)))&&!n.is("element",iy)&&0===n.childCount&&i.writer.rename(n,iy)}))}_addDefaultH1Conversion(e){e.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:ge.low+1})}}function sy(e){const t=e.t,o={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return e.config.get("heading.options").map((e=>{const t=o[e.title];return t&&t!=e.title&&(e.title=t),e}))}class ry extends fc{static get pluginName(){return"HeadingUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t,o=sy(e),i=t("Choose heading"),n=t("Heading");e.ui.componentFactory.add("heading",(t=>{const s={},r=new eo,a=e.commands.get("heading"),l=e.commands.get("paragraph"),c=[a];for(const e of o){const t={type:"button",model:new Jm({label:e.title,class:e.class,role:"menuitemradio",withText:!0})};"paragraph"===e.model?(t.model.bind("isOn").to(l,"value"),t.model.set("commandName","paragraph"),c.push(l)):(t.model.bind("isOn").to(a,"value",(t=>t===e.model)),t.model.set({commandName:"heading",commandValue:e.model})),r.add(t),s[e.model]=e.title}const d=Zh(t);return Xh(d,r,{ariaLabel:n,role:"menu"}),d.buttonView.set({ariaLabel:n,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:n}),d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),d.bind("isEnabled").toMany(c,"isEnabled",((...e)=>e.some((e=>e)))),d.buttonView.bind("label").to(a,"value",l,"value",((e,t)=>{const o=t?"paragraph":e;return"boolean"==typeof o?i:s[o]?s[o]:i})),d.buttonView.bind("ariaLabel").to(a,"value",l,"value",((e,t)=>{const o=t?"paragraph":e;return"boolean"==typeof o?n:s[o]?`${s[o]}, ${n}`:n})),this.listenTo(d,"execute",(t=>{const{commandName:o,commandValue:i}=t.source;e.execute(o,i?{value:i}:void 0),e.editing.view.focus()})),d})),e.ui.componentFactory.add("menuBar:heading",(i=>{const n=new og(i),s=e.commands.get("heading"),r=e.commands.get("paragraph"),a=[s],l=new ig(i);n.set({class:"ck-heading-dropdown"}),l.set({ariaLabel:t("Heading"),role:"menu"}),n.buttonView.set({label:t("Heading")}),n.panelView.children.add(l);for(const t of o){const o=new Em(i,n),c=new sh(i);o.children.add(c),l.items.add(o),c.set({isToggleable:!0,label:t.title,role:"menuitemradio",class:t.class}),c.delegate("execute").to(n),c.on("execute",(()=>{const o="paragraph"===t.model?"paragraph":"heading";e.execute(o,{value:t.model}),e.editing.view.focus()})),"paragraph"===t.model?(c.bind("isOn").to(r,"value"),a.push(r)):c.bind("isOn").to(s,"value",(e=>e===t.model))}return n.bind("isEnabled").toMany(a,"isEnabled",((...e)=>e.some((e=>e)))),n}))}}new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class ay{_definitions=new Set;_conflictChecker;get length(){return this._definitions.size}setConflictChecker(e){this._conflictChecker=e}add(e){Array.isArray(e)?e.forEach((e=>this._definitions.add(e))):this._definitions.add(e)}getDispatcher(){return e=>{const t=(e,t)=>{const o=t.createAttributeElement("a",e.attributes,{priority:5});e.classes&&t.addClass(e.classes,o);for(const i in e.styles)t.setStyle(i,e.styles[i],o);return t.setCustomProperty("link",!0,o),o},o=e=>(o,i,n)=>{if(i.attributeKey.startsWith("link")&&("linkHref"!=i.attributeKey||n.consumable.test(i.item,"attribute:linkHref"))&&(i.item.is("selection")||n.schema.isInline(i.item)))for(const o of this._definitions)o.callback(i.item.getAttribute("linkHref"))&&!this._conflictChecker?.(o,i.item)&&e?i.item.is("selection")?n.writer.wrap(n.writer.document.selection.getFirstRange(),t(o,n.writer)):n.writer.wrap(n.mapper.toViewRange(i.range),t(o,n.writer)):n.writer.unwrap(n.mapper.toViewRange(i.range),t(o,n.writer))};e.on("attribute",o(!1),{priority:ge.high-1}),e.on("attribute",o(!0),{priority:ge.high-2})}}getDispatcherForLinkedImage(){return e=>{const t=e=>(t,o,{writer:i,mapper:n})=>{if(!o.item.is("element","imageBlock")||!o.attributeKey.startsWith("link"))return;const s=n.toViewElement(o.item),r=Array.from(s.getChildren()).find((e=>e.is("element","a")));if(r)for(const t of this._definitions){const n=ao(t.attributes);if(t.callback(o.item.getAttribute("linkHref"))&&!this._conflictChecker?.(t,o.item)&&e){for(const[e,t]of n)"class"===e?i.addClass(t,r):i.setAttribute(e,t,!1,r);t.classes&&i.addClass(t.classes,r);for(const e in t.styles)i.setStyle(e,t.styles[e],r)}else{for(const[e,t]of n)"class"===e?i.removeClass(t,r):i.removeAttribute(e,t,r);t.classes&&i.removeClass(t.classes,r);for(const e in t.styles)i.removeStyle(e,r)}}};e.on("attribute",t(!1),{priority:ge.high-1}),e.on("attribute",t(!0),{priority:ge.high-2})}}}const ly=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,cy=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,dy=/^((\w+:(\/{2,})?)|(\W))/i,uy=["https?","ftps?","mailto"],hy="Ctrl+K";function my(e,{writer:t}){const o=t.createAttributeElement("a",{href:e},{priority:5});return t.setCustomProperty("link",!0,o),o}function gy(e,t=uy){const o=String(e),i=t.join("|");return function(e,t){const o=e.replace(ly,"");return!!o.match(t)}(o,new RegExp(`${"^(?:(?:):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))".replace("",i)}`,"i"))?o:"#"}function py(e,t){return!!e&&t.checkAttribute(e.name,"linkHref")}function fy(e,t){const o=(i=e,cy.test(i)?"mailto:":t);var i;const n=!!o&&!by(e);return e&&n?o+e:e}function by(e){return dy.test(e)}function wy(e){let t="";for(const o of e.getItems()){if(!o.is("$text")&&!o.is("$textProxy"))return;t+=o.data}return t}function yy(e,t){if(e.attributes&&t.attributes){if(Object.keys(e.attributes).some((e=>!function(e){return"class"===e||"style"===e||"rel"===e}(e)&&e in t.attributes)))return!0}if(e.styles&&t.styles){if(Object.keys(e.styles).some((e=>e in t.styles)))return!0}return!1}function _y(e,t){const o=t.find((t=>t.id===e));return o?t.filter((t=>t.id!==e&&yy(o,t))).map((e=>e.id)):[]}class ky extends wc{manualDecorators=new eo;automaticDecorators=new ay;restoreManualDecoratorStates(){for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}refresh(){const e=this.editor.model,t=e.document.selection,o=t.getSelectedElement()||to(t.getSelectedBlocks());py(o,e.schema)?(this.value=o.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttribute(o,"linkHref")):(this.value=t.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref"));for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}execute(e,t={},o){const i=this.editor.model,n=i.document.selection,s=function({decoratorStates:e,allDecorators:t}){const o={...e};for(const n in e)if(e[n]&&i(n)){const e=_y(n,t);for(const t of e)o[t]=!1}function i(e){return t.some((t=>t.id===e&&!t.value))}return o}({allDecorators:Array.from(this.manualDecorators),decoratorStates:t}),r=[],a=[];for(const e in s)s[e]?r.push(e):a.push(e);i.change((t=>{const s=o=>{t.setAttribute("linkHref",e,o),r.forEach((e=>t.setAttribute(e,!0,o))),a.forEach((e=>t.removeAttribute(e,o)))},l=(n,r)=>{const a=wy(n);if(!a)return n;let l=o;if(l||(l=r&&r==a?e:a),l!=a){const e=t.createDocumentFragment();for(const o of n.getItems()){const i=o;t.append(t.createText(i.data,i.getAttributes()),e)}const o=t.createRangeIn(e),r=function(e,t){const o=de(e,t),i={equal:0,insert:0,delete:0},n=[];let s="",r="";for(const a of[...o,null])"insert"==a?r+=t[i.equal+i.insert]:"delete"==a?s+=e[i.equal+i.delete]:(s.length||r.length)&&(n.push({offset:i.equal,actual:s,expected:r}),s="",r=""),a&&i[a]++;return n}(a,l);let c=0;for(const{offset:e,actual:n,expected:a}of r){const r=e+c,l=t.createRange(o.start.getShiftedBy(r),o.start.getShiftedBy(r+n.length)),d=vy(l,o).getAttributes(),u=Array.from(d).filter((([e])=>i.schema.getAttributeProperties(e).isFormatting)),h=t.createText(a,u);s(h),t.remove(l),t.insert(h,l.start),c+=a.length}return i.insertContent(e,n),t.createRange(n.start,n.start.getShiftedBy(l.length))}},c=e=>{const{plugins:o}=this.editor;if(t.setSelection(e.end),o.has("TwoStepCaretMovement"))o.get("TwoStepCaretMovement")._handleForwardMovement();else for(const e of["linkHref",...r,...a])t.removeSelectionAttribute(e)};if(n.isCollapsed){const a=n.getFirstPosition();if(n.hasAttribute("linkHref")){const e=n.getAttribute("linkHref"),t=Lg(a,"linkHref",e,i),o=l(t,e);s(o||t),o&&c(o)}else if(""!==e){const s=ao(n.getAttributes());s.set("linkHref",e),r.forEach((e=>{s.set(e,!0)}));c(i.insertContent(t.createText(o||e,s),a))}}else{const e=Array.from(n.getRanges()),o=i.schema.getValidRanges(e,"linkHref"),r=[];for(const e of n.getSelectedBlocks())i.schema.checkAttribute(e,"linkHref")&&r.push(t.createRangeOn(e));const a=r.slice();for(const e of o)this._isRangeToUpdate(e,r)&&a.push(e);const c=e.map((e=>({start:ma.fromPosition(e.start,"toPrevious"),end:ma.fromPosition(e.end,"toNext")})));for(let e of a){e=l(e,(e.start.textNode||e.start.nodeAfter).getAttribute("linkHref"))||e,s(e)}t.setSelection(c.map((e=>{const t=e.start.toPosition(),o=e.end.toPosition();return e.start.detach(),e.end.detach(),i.createRange(t,o)})))}})),this.restoreManualDecoratorStates()}_getDecoratorStateFromModel(e){const t=this.editor.model,o=t.document.selection,i=o.getSelectedElement();return py(i,t.schema)?i.getAttribute(e):o.getAttribute(e)}_isRangeToUpdate(e,t){for(const o of t)if(o.containsRange(e))return!1;return!0}}function vy(e,t){if(!e.isCollapsed)return to(e.getItems());const o=e.start;return o.textNode?o.textNode:!o.nodeBefore||o.isEqual(t.start)?o.nodeAfter:o.nodeBefore}class Cy extends wc{refresh(){const e=this.editor.model,t=e.document.selection,o=t.getSelectedElement();py(o,e.schema)?this.isEnabled=e.schema.checkAttribute(o,"linkHref"):this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref")}execute(){const e=this.editor,t=this.editor.model,o=t.document.selection,i=e.commands.get("link");t.change((e=>{const n=o.isCollapsed?[Lg(o.getFirstPosition(),"linkHref",o.getAttribute("linkHref"),t)]:t.schema.getValidRanges(o.getRanges(),"linkHref");for(const t of n)if(e.removeAttribute("linkHref",t),i)for(const o of i.manualDecorators)e.removeAttribute(o.id,t)}))}}class Ay extends(Be()){id;defaultValue;label;attributes;classes;styles;constructor({id:e,label:t,attributes:o,classes:i,styles:n,defaultValue:s}){super(),this.id=e,this.set("value",void 0),this.defaultValue=s,this.label=t,this.attributes=o,this.classes=i,this.styles=n}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}const xy="automatic",Ey=/^(https?:)?\/\//;class Ty extends fc{_linkOpeners=[];static get pluginName(){return"LinkEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[Rg,fg,bf]}constructor(e){super(e),e.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1,toolbar:["linkPreview","|","editLink","linkProperties","unlink"]})}init(){const e=this.editor,t=this.editor.config.get("link.allowedProtocols");e.model.schema.extend("$text",{allowAttributes:"linkHref"}),e.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:my}),e.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(e,o)=>my(gy(e,t),o)}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:e=>e.getAttribute("href")}}),e.commands.add("link",new ky(e)),e.commands.add("unlink",new Cy(e));const o=function(e,t){const o={"Open in a new tab":e("Open in a new tab"),Downloadable:e("Downloadable")};return t.forEach((e=>("label"in e&&o[e.label]&&(e.label=o[e.label]),e))),t}(e.t,function(e){const t=[];if(e)for(const[i,n]of Object.entries(e)){const e=Object.assign({},n,{id:`link${o=i,function(e){return e.substring(0,1).toUpperCase()+e.substring(1)}(_o(o))}`});t.push(e)}var o;return t}(e.config.get("link.decorators")));this._enableAutomaticDecorators(o.filter((e=>e.mode===xy))),this._enableManualDecorators(o.filter((e=>"manual"===e.mode)));e.plugins.get(Rg).registerAttribute("linkHref"),jg(e,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration(),this._enableDecoratorConflictPostfixer()}_registerLinkOpener(e){this._linkOpeners.push(e)}_enableAutomaticDecorators(e){const t=this.editor,o=t.commands.get("link"),i=o.automaticDecorators;t.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:xy,callback:e=>!!e&&Ey.test(e),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(e),i.setConflictChecker(((e,t)=>{for(const i of o.manualDecorators)if(t.hasAttribute(i.id)&&yy(e,i))return!0})),i.length&&t.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(e){if(!e.length)return;const t=this.editor,o=t.commands.get("link").manualDecorators;e.forEach((e=>{t.model.schema.extend("$text",{allowAttributes:e.id});const i=new Ay(e);o.add(i),t.conversion.for("downcast").add((e=>{const t=e=>{const t=e.createAttributeElement("a",i.attributes,{priority:5});i.classes&&e.addClass(i.classes,t);for(const o in i.styles)e.setStyle(o,i.styles[o],t);return e.setCustomProperty("link",!0,t),t},o=e=>(o,i,n)=>{if(i.item.is("selection")||n.schema.isInline(i.item)){if(!e&&i.attributeOldValue){if(!n.consumable.test(i.item,o.name))return;n.writer.unwrap(n.mapper.toViewRange(i.range),t(n.writer))}if(e&&i.attributeNewValue){if(!n.consumable.consume(i.item,o.name))return;i.item.is("selection")?n.writer.wrap(n.writer.document.selection.getFirstRange(),t(n.writer)):n.writer.wrap(n.mapper.toViewRange(i.range),t(n.writer))}}};e.on(`attribute:${i.id}`,o(!1),{priority:ge.high-1}),e.on(`attribute:${i.id}`,o(!0),{priority:ge.high-2})})),t.conversion.for("upcast").elementToAttribute({view:{name:"a",...i._createPattern()},model:{key:i.id}})}))}_enableLinkOpen(){const e=this.editor,t=e.editing.view.document,o=e=>{var t;this._linkOpeners.some((t=>t(e)))||(t=e,window.open(t,"_blank","noopener"))};this.listenTo(t,"click",((e,t)=>{if(!(Y.isMac?t.domEvent.metaKey:t.domEvent.ctrlKey))return;let i=t.domTarget;if("a"!=i.tagName.toLowerCase()&&(i=i.closest("a")),!i)return;const n=i.getAttribute("href");n&&(e.stop(),t.preventDefault(),o(n))}),{context:"$capture"}),this.listenTo(t,"keydown",((t,i)=>{const n=e.commands.get("link").value;!!n&&i.keyCode===qt.enter&&i.altKey&&(t.stop(),o(n))}))}_enableSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection;this.listenTo(t,"change:attribute",((o,{attributeKeys:i})=>{i.includes("linkHref")&&!t.hasAttribute("linkHref")&&e.change((t=>{var o;!function(e,t){e.removeSelectionAttribute("linkHref");for(const o of t)e.removeSelectionAttribute(o)}(t,(o=e.schema,o.getDefinition("$text").allowAttributes.filter((e=>e.startsWith("link")))))}))}))}_enableClipboardIntegration(){const e=this.editor,t=e.model,o=this.editor.config.get("link.defaultProtocol");o&&this.listenTo(e.plugins.get("ClipboardPipeline"),"contentInsertion",((e,i)=>{t.change((e=>{const t=e.createRangeIn(i.content);for(const i of t.getItems())if(i.hasAttribute("linkHref")){const t=fy(i.getAttribute("linkHref"),o);e.setAttribute("linkHref",t,i)}}))}))}_enableDecoratorConflictPostfixer(){const e=this.editor,t=e.model,o=e.commands.get("link");t.document.registerPostFixer((e=>{let i=!1;const n=t.document.differ.getChanges(),s=new Set,r=new Set(o.manualDecorators.map((e=>e.id)));for(const e of n){if("attribute"===e.type){if("linkHref"!==e.attributeKey&&!r.has(e.attributeKey))continue;for(const t of e.range.getItems())t.hasAttribute("linkHref")&&s.add(t)}"insert"===e.type&&e.attributes.has("linkHref")&&e.position.nodeAfter&&s.add(e.position.nodeAfter)}for(const t of s){const n=[];for(const s of o.manualDecorators)if(t.hasAttribute(s.id)){for(let o=n.length-1;o>=0;o--){const r=n[o];yy(r,s)&&(e.removeAttribute(r.id,t),n.splice(o,1),i=!0)}n.push(s)}}return i}))}}class Py extends Lu{constructor(e){super(e);const t=this.bindTemplate;this.set({href:void 0,withText:!0}),this.extendTemplate({attributes:{class:["ck-link-toolbar__preview"],href:t.to("href"),target:"_blank",rel:"noopener noreferrer"},on:{click:t.to((e=>{if(this.href){const t=()=>e.preventDefault();this.fire("navigate",this.href,t)}}))}}),this.template.tag="a"}}class Sy extends Au{focusTracker=new oo;keystrokes=new ro;backButtonView;saveButtonView;displayedTextInputView;urlInputView;children;providersListChildren;_validators;_focusables=new tu;_focusCycler;constructor(e,t){super(e),this._validators=t,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.displayedTextInputView=this._createDisplayedTextInput(),this.urlInputView=this._createUrlInput(),this.providersListChildren=this.createCollection(),this.children=this.createCollection([this._createHeaderView()]),this._createFormChildren(),this.listenTo(this.providersListChildren,"add",(()=>{this.stopListening(this.providersListChildren,"add"),this.children.add(this._createProvidersListView())})),this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-link-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Ou({view:this});[this.urlInputView,this.saveButtonView,...this.providersListChildren,this.backButtonView,this.displayedTextInputView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.urlInputView.errorText=t,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null}_createBackButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:ed,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({label:e("Insert"),tooltip:!1,withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new ju(this.locale,{label:e("Link")});return t.children.add(this.backButtonView,0),t}_createProvidersListView(){const e=new zh(this.locale);return e.extendTemplate({attributes:{class:["ck-link-form__providers-list"]}}),e.items.bindTo(this.providersListChildren).using((e=>{const t=new Nh(this.locale);return t.children.add(e),t})),e}_createDisplayedTextInput(){const e=this.locale.t,t=new Sh(this.locale,nm);return t.label=e("Displayed text"),t.class="ck-labeled-field-view_full-width",t}_createUrlInput(){const e=this.locale.t,t=new Sh(this.locale,nm);return t.fieldView.inputMode="url",t.label=e("Link URL"),t.class="ck-labeled-field-view_full-width",t}_createFormChildren(){this.children.add(new Km(this.locale,{children:[this.displayedTextInputView],class:["ck-form__row_large-top-padding"]})),this.children.add(new Km(this.locale,{children:[this.urlInputView,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding","ck-form__row_large-bottom-padding"]}))}get url(){const{element:e}=this.urlInputView.fieldView;return e?e.value.trim():null}}class Iy extends Au{focusTracker=new oo;keystrokes=new ro;backButtonView;listView;listChildren;emptyListInformation;children;_focusables=new tu;_focusCycler;constructor(e){super(e),this.listChildren=this.createCollection(),this.backButtonView=this._createBackButton(),this.listView=this._createListView(),this.emptyListInformation=this._createEmptyLinksListItemView(),this.children=this.createCollection([this._createHeaderView(),this.emptyListInformation]),this.set("title",""),this.set("emptyListPlaceholder",""),this.set("hasItems",!1),this.listenTo(this.listChildren,"change",(()=>{this.hasItems=this.listChildren.length>0})),this.on("change:hasItems",((e,t,o)=>{o?(this.children.remove(this.emptyListInformation),this.children.add(this.listView)):(this.children.remove(this.listView),this.children.add(this.emptyListInformation))})),this.keystrokes.set("Esc",((e,t)=>{this.fire("cancel"),t()})),this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-providers"],tabindex:"-1"},children:this.children})}render(){super.render();[this.listView,this.backButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createListView(){const e=new zh(this.locale);return e.extendTemplate({attributes:{class:["ck-link-providers__list"]}}),e.items.bindTo(this.listChildren).using((e=>{const t=new Nh(this.locale);return t.children.add(e),t})),e}_createBackButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:ed,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createHeaderView(){const e=new ju(this.locale);return e.bind("label").to(this,"title"),e.children.add(this.backButtonView,0),e}_createEmptyLinksListItemView(){const e=new Au(this.locale);return e.setTemplate({tag:"p",attributes:{class:["ck","ck-link__empty-list-info"]},children:[{text:this.bindTemplate.to("emptyListPlaceholder")}]}),e}}class Ry extends Au{focusTracker=new oo;keystrokes=new ro;backButtonView;children;listChildren;_focusables=new tu;_focusCycler;constructor(e){super(e),this.backButtonView=this._createBackButton(),this.listChildren=this.createCollection(),this.children=this.createCollection([this._createHeaderView(),this._createListView()]),this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-properties"],tabindex:"-1"},children:this.children}),this.keystrokes.set("Esc",((e,t)=>{this.fire("back"),t()}))}render(){super.render();[...this.listChildren,this.backButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBackButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:ed,tooltip:!0}),t.delegate("execute").to(this,"back"),t}_createHeaderView(){const e=this.locale.t,t=new ju(this.locale,{label:e("Link properties")});return t.children.add(this.backButtonView,0),t}_createListView(){const e=new zh(this.locale);return e.extendTemplate({attributes:{class:["ck-link__list"]}}),e.items.bindTo(this.listChildren).using((e=>{const t=new Nh(this.locale);return t.children.add(e),t})),e}}class Oy extends Lu{arrowView;constructor(e){super(e),this.set({withText:!0}),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{class:["ck-link__button"]}})}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new Nu;return e.content=Kc,e}}const Vy="link-ui";class Dy extends fc{toolbarView=null;formView=null;linkProviderItemsView=null;propertiesView=null;_balloon;_linksProviders=new eo;static get requires(){return[Qm,Ty]}static get pluginName(){return"LinkUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;this.set("selectedLinkableText",void 0),e.editing.view.addObserver(ol),this._balloon=e.plugins.get(Qm),this._registerComponents(),this._registerEditingOpeners(),this._enableBalloonActivators(),e.conversion.for("editingDowncast").markerToHighlight({model:Vy,view:{classes:["ck-fake-link-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:Vy,view:(e,{writer:t})=>{if(!e.markerRange.isCollapsed)return null;const o=t.createUIElement("span");return t.addClass(["ck-fake-link-selection","ck-fake-link-selection_collapsed"],o),o}}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Create link"),keystroke:hy},{label:t("Move out of a link"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}destroy(){super.destroy(),this.propertiesView&&this.propertiesView.destroy(),this.formView&&this.formView.destroy(),this.toolbarView&&this.toolbarView.destroy(),this.linkProviderItemsView&&this.linkProviderItemsView.destroy()}registerLinksListProvider(e){const t=this._linksProviders.filter((t=>(t.order||0)<=(e.order||0))).length;this._linksProviders.add(e,t)}_createViews(){const e=this.editor.commands.get("link");this.toolbarView=this._createToolbarView(),this.formView=this._createFormView(),e.manualDecorators.length&&(this.propertiesView=this._createPropertiesView()),this._enableUserBalloonInteractions()}_createToolbarView(){const e=this.editor,t=new Wh(e.locale),o=e.commands.get("link");t.class="ck-link-toolbar";let i=e.config.get("link.toolbar");return o.manualDecorators.length||(i=i.filter((e=>"linkProperties"!==e))),t.fillFromConfig(i,e.ui.componentFactory),t.keystrokes.set("Esc",((e,t)=>{this._hideUI(),t()})),t.keystrokes.set(hy,((e,t)=>{this._addFormView(),t()})),e.ui.addToolbar(t,{isContextual:!0,beforeFocus:()=>{this._getSelectedLinkElement()&&!this._isToolbarVisible&&this._showUI(!0)},afterBlur:()=>{this._hideUI(!1)}}),t}_createFormView(){const e=this.editor,t=e.locale.t,o=e.commands.get("link"),i=e.config.get("link.defaultProtocol"),n=new(Iu(Sy))(e.locale,function(e){const t=e.t,o=e.config.get("link.allowCreatingEmptyLinks");return[e=>{if(!o&&!e.url.length)return t("Link URL must not be empty.")}]}(e));return n.displayedTextInputView.bind("isEnabled").to(this,"selectedLinkableText",(e=>void 0!==e)),n.urlInputView.bind("isEnabled").to(o,"isEnabled"),n.saveButtonView.bind("isEnabled").to(o,"isEnabled"),n.saveButtonView.bind("label").to(o,"value",(e=>t(e?"Update":"Insert"))),this.listenTo(n,"submit",(()=>{if(n.isValid()){const t=fy(n.urlInputView.fieldView.element.value,i),o=n.displayedTextInputView.fieldView.element.value;e.execute("link",t,this._getDecoratorSwitchesState(),o!==this.selectedLinkableText?o:void 0),this._closeFormView()}})),this.listenTo(n.urlInputView,"change:errorText",(()=>{e.ui.update()})),this.listenTo(n,"cancel",(()=>{this._closeFormView()})),n.keystrokes.set("Esc",((e,t)=>{this._closeFormView(),t()})),n.providersListChildren.bindTo(this._linksProviders).using((e=>this._createLinksListProviderButton(e))),n}_createLinkProviderListView(e){return e.getListItems().map((({href:e,label:t,icon:o})=>{const i=new Lu;return i.set({label:t,icon:o,tooltip:!1,withText:!0}),i.on("execute",(()=>{this.formView.resetFormStatus(),this.formView.urlInputView.fieldView.value=e,this.editor.editing.view.focus(),this._removeLinksProviderView(),this.formView.focus()})),i}))}_createLinkProviderItemsView(e){const t=this.editor,o=t.locale.t,i=new Iy(t.locale),{emptyListPlaceholder:n,label:s}=e;return i.emptyListPlaceholder=n||o("No links available"),i.title=s,this.listenTo(i,"cancel",(()=>{t.editing.view.focus(),this._removeLinksProviderView(),this.formView.focus()})),i}_createPropertiesView(){const e=this.editor,t=this.editor.commands.get("link"),o=new(Iu(Ry))(e.locale);return this.listenTo(o,"back",(()=>{e.editing.view.focus(),this._removePropertiesView()})),o.listChildren.bindTo(t.manualDecorators).using((o=>{const i=new fh(e.locale);return i.set({label:o.label,withText:!0}),i.bind("isOn").toMany([o,t],"value",((e,t)=>void 0===t&&void 0===e?!!o.defaultValue:!!e)),i.on("execute",(()=>{e.execute("link",t.value,{...this._getDecoratorSwitchesState(),[o.id]:!i.isOn})})),i})),o}_getDecoratorSwitchesState(){const e=this.editor.commands.get("link");return Array.from(e.manualDecorators).reduce(((t,o)=>{const i=void 0===e.value&&void 0===o.value?o.defaultValue:o.value;return{...t,[o.id]:!!i}}),{})}_registerEditingOpeners(){this.editor.plugins.get(Ty)._registerLinkOpener((e=>{const t=this._getLinkProviderLinkByHref(e);if(!t)return!1;const{item:o,provider:i}=t;return!!i.navigate&&i.navigate(o)}))}_registerComponents(){const e=this.editor;e.ui.componentFactory.add("link",(()=>{const e=this._createButton(Lu);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:link",(()=>{const e=this._createButton(sh);return e.set({role:"menuitemcheckbox"}),e})),e.ui.componentFactory.add("linkPreview",(t=>{const o=new Py(t),i=e.config.get("link.allowedProtocols"),n=e.commands.get("link"),s=t.t;o.bind("isEnabled").to(n,"value",(e=>!!e)),o.bind("href").to(n,"value",(e=>e&&gy(e,i)));const r=e=>{if(!e)return o.label=void 0,o.icon=void 0,void(o.tooltip=s("Open link in new tab"));const t=this._getLinkProviderLinkByHref(e);if(t){const{label:e,tooltip:i,icon:n}=t.item;o.label=e,o.tooltip=i||!1,o.icon=n}else o.label=e,o.icon=void 0,o.tooltip=s("Open link in new tab")};return r(n.value),this.listenTo(n,"change:value",((e,t,o)=>{r(o)})),this.listenTo(o,"navigate",((e,t,o)=>{const i=this._getLinkProviderLinkByHref(t);if(!i)return;const{provider:n,item:s}=i,{navigate:r}=n;r&&r(s)&&(e.stop(),o())})),o})),e.ui.componentFactory.add("unlink",(t=>{const o=e.commands.get("unlink"),i=new Lu(t),n=t.t;return i.set({label:n("Unlink"),icon:'',tooltip:!0}),i.bind("isEnabled").to(o),this.listenTo(i,"execute",(()=>{e.execute("unlink"),this._hideUI()})),i})),e.ui.componentFactory.add("editLink",(t=>{const o=e.commands.get("link"),i=new Lu(t),n=t.t;return i.set({label:n("Edit link"),icon:'',tooltip:!0}),i.bind("isEnabled").to(o),this.listenTo(i,"execute",(()=>{this._addFormView()})),i})),e.ui.componentFactory.add("linkProperties",(t=>{const o=e.commands.get("link"),i=new Lu(t),n=t.t;return i.set({label:n("Link properties"),icon:'\n',tooltip:!0}),i.bind("isEnabled").to(o,"isEnabled",o,"value",o,"manualDecorators",((e,t,o)=>e&&!!t&&o.length>0)),this.listenTo(i,"execute",(()=>{this._addPropertiesView()})),i}))}_createLinksListProviderButton(e){const t=this.editor.locale,o=new Oy(t);return o.set({label:e.label}),this.listenTo(o,"execute",(()=>{this._showLinksProviderView(e)})),o}_createButton(e){const t=this.editor,o=t.locale,i=t.commands.get("link"),n=new e(t.locale),s=o.t;return n.set({label:s("Link"),icon:'',keystroke:hy,isToggleable:!0}),n.bind("isEnabled").to(i,"isEnabled"),n.bind("isOn").to(i,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>{t.editing.view.scrollToTheSelection(),this._showUI(!0),this._getSelectedLinkElement()&&this._addFormView()})),n}_enableBalloonActivators(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),e.keystrokes.set(hy,((t,o)=>{o(),e.commands.get("link").isEnabled&&(e.editing.view.scrollToTheSelection(),this._showUI(!0))}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((e,t)=>{this._isToolbarVisible&&!this.toolbarView.focusTracker.isFocused&&(this.toolbarView.focus(),t())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((e,t)=>{this._isUIVisible&&(this._hideUI(),t())})),Su({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>{this._hideUI(!1)}})}_addToolbarView(){this.toolbarView||this._createViews(),this._isToolbarInPanel||this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this.formView.resetFormStatus(),this.formView.backButtonView.isVisible=e.isEnabled&&!!e.value,this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.selectedLinkableText=this._getSelectedLinkableText(),this.formView.displayedTextInputView.fieldView.value=this.selectedLinkableText||"",this.formView.urlInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_addPropertiesView(){this.propertiesView||this._createViews(),this._arePropertiesInPanel||(this.propertiesView.disableCssTransitions(),this._balloon.add({view:this.propertiesView,position:this._getBalloonPositionData()}),this.propertiesView.enableCssTransitions(),this.propertiesView.focus())}_showLinksProviderView(e){this.linkProviderItemsView&&this._removeLinksProviderView(),this.linkProviderItemsView=this._createLinkProviderItemsView(e),this._addLinkProviderItemsView(e)}_addLinkProviderItemsView(e){this.linkProviderItemsView.listChildren.clear(),this.linkProviderItemsView.listChildren.addMany(this._createLinkProviderListView(e)),this._balloon.add({view:this.linkProviderItemsView,position:this._getBalloonPositionData()}),this.linkProviderItemsView.focus()}_closeFormView(){const e=this.editor.commands.get("link");this.selectedLinkableText=void 0,void 0!==e.value?this._removeFormView():this._hideUI()}_removePropertiesView(){this._arePropertiesInPanel&&this._balloon.remove(this.propertiesView)}_removeLinksProviderView(){this._isLinksListInPanel&&this._balloon.remove(this.linkProviderItemsView)}_removeFormView(e=!0){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.displayedTextInputView.fieldView.reset(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),e&&this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._isToolbarVisible?this._addFormView():this._addToolbarView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addToolbarView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(e=!0){const t=this.editor;this._isUIInPanel&&(this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e&&t.editing.view.focus(),this._removeLinksProviderView(),this._removePropertiesView(),this._removeFormView(e),this._isToolbarInPanel&&this._balloon.remove(this.toolbarView),this._hideFakeVisualSelection())}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let o=this._getSelectedLinkElement(),i=s();const n=()=>{const e=this._getSelectedLinkElement(),t=s();o&&!e||!o&&t!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),o=e,i=t};function s(){return t.selection.focus.getAncestors().reverse().find((e=>e.is("element")))}this.listenTo(e.ui,"update",n),this.listenTo(this._balloon,"change:visibleView",n)}get _arePropertiesInPanel(){return!!this.propertiesView&&this._balloon.hasView(this.propertiesView)}get _isLinksListInPanel(){return!!this.linkProviderItemsView&&this._balloon.hasView(this.linkProviderItemsView)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _isToolbarInPanel(){return!!this.toolbarView&&this._balloon.hasView(this.toolbarView)}get _isPropertiesVisible(){return!!this.propertiesView&&this._balloon.visibleView===this.propertiesView}get _isFormVisible(){return!!this.formView&&this._balloon.visibleView==this.formView}get _isToolbarVisible(){return!!this.toolbarView&&this._balloon.visibleView===this.toolbarView}get _isUIInPanel(){return this._arePropertiesInPanel||this._isLinksListInPanel||this._isFormInPanel||this._isToolbarInPanel}get _isUIVisible(){return this._isPropertiesVisible||this._isLinksListInPanel||this._isFormVisible||this._isToolbarVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=e.document;if(this.editor.model.markers.has(Vy)){const t=this.editor.editing.mapper.markerNameToElements(Vy);if(t){const o=Array.from(t),i=e.createRange(e.createPositionBefore(o[0]),e.createPositionAfter(o[o.length-1]));return{target:e.domConverter.viewRangeToDom(i)}}}return{target:()=>{const o=this._getSelectedLinkElement();return o?e.domConverter.mapViewToDom(o):e.domConverter.viewRangeToDom(t.selection.getFirstRange())}}}_getSelectedLinkElement(){const e=this.editor.editing.view,t=e.document.selection,o=t.getSelectedElement();if(t.isCollapsed||o&&ip(o))return Fy(t.getFirstPosition());{const o=t.getFirstRange().getTrimmed(),i=Fy(o.start),n=Fy(o.end);return i&&i==n&&e.createRangeIn(i).getTrimmed().isEqual(o)?i:null}}_getSelectedLinkableText(){const e=this.editor.model,t=this.editor.editing,o=this._getSelectedLinkElement();if(!o)return wy(e.document.selection.getFirstRange());const i=t.view.createRangeOn(o);return wy(t.mapper.toModelRange(i))}_getLinkProviderLinkByHref(e){if(!e)return null;for(const t of this._linksProviders){const o=t.getItem?t.getItem(e):t.getListItems().find((t=>t.href===e));if(o)return{provider:t,item:o}}return null}_showFakeVisualSelection(){const e=this.editor.model;e.change((t=>{const o=e.document.selection.getFirstRange();if(e.markers.has(Vy))t.updateMarker(Vy,{range:o});else if(o.start.isAtEnd){const i=o.start.getLastMatchingPosition((({item:t})=>!e.schema.isContent(t)),{boundaries:o});t.addMarker(Vy,{usingOperation:!1,affectsData:!1,range:t.createRange(i,o.end)})}else t.addMarker(Vy,{usingOperation:!1,affectsData:!1,range:o})}))}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has(Vy)&&e.change((e=>{e.removeMarker(Vy)}))}}function Fy(e){return e.getAncestors().find((e=>{return(t=e).is("attributeElement")&&!!t.getCustomProperty("link");var t}))||null}const My=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63}))|localhost)(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class Ny extends fc{static get requires(){return[Tg,Ty]}static get pluginName(){return"AutoLink"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling(),this._enablePasteLinking()}_expandLinkRange(e,t){return t.textNode&&t.textNode.hasAttribute("linkHref")?Lg(t,"linkHref",t.textNode.getAttribute("linkHref"),e):null}_selectEntireLinks(e,t){const o=this.editor.model,i=o.document.selection,n=i.getFirstPosition(),s=i.getLastPosition();let r=t.getJoined(this._expandLinkRange(o,n)||t);r&&(r=r.getJoined(this._expandLinkRange(o,s)||t)),r&&(r.start.isBefore(n)||r.end.isAfter(s))&&e.setSelection(r)}_enablePasteLinking(){const e=this.editor,t=e.model,o=t.document.selection,i=e.plugins.get("ClipboardPipeline"),n=e.commands.get("link");i.on("inputTransformation",((e,i)=>{if(!this.isEnabled||!n.isEnabled||o.isCollapsed||"paste"!==i.method)return;if(o.rangeCount>1)return;const s=o.getFirstRange(),r=i.dataTransfer.getData("text/plain");if(!r)return;const a=r.match(My);a&&a[2]===r&&(t.change((e=>{this._selectEntireLinks(e,s),n.execute(r)})),e.stop())}),{priority:"high"})}_enableTypingHandling(){const e=this.editor,t=new Ig(e.model,(e=>{let t=e;if(!function(e){return e.length>4&&" "===e[e.length-1]&&" "!==e[e.length-2]}(t))return;t=t.slice(0,-1),"!.:,;?".includes(t[t.length-1])&&(t=t.slice(0,-1));const o=By(t);return o?{url:o,removedTrailingCharacters:e.length-t.length}:void 0}));t.on("matched:data",((t,o)=>{const{batch:i,range:n,url:s,removedTrailingCharacters:r}=o;if(!i.isTyping)return;const a=n.end.getShiftedBy(-r),l=a.getShiftedBy(-s.length),c=e.model.createRange(l,a);this._applyAutoLink(s,c)})),t.bind("isEnabled").to(this)}_enableEnterHandling(){const e=this.editor,t=e.model,o=e.commands.get("enter");o&&o.on("execute",(()=>{const e=t.document.selection.getFirstPosition();let o;o=e.parent.previousSibling?.is("element")?t.createRangeIn(e.parent.previousSibling):t.createRange(t.createPositionAt(e.parent,0),e),this._checkAndApplyAutoLinkOnRange(o)}))}_enableShiftEnterHandling(){const e=this.editor,t=e.model,o=e.commands.get("shiftEnter");o&&o.on("execute",(()=>{const e=t.document.selection.getFirstPosition(),o=t.createRange(t.createPositionAt(e.parent,0),e.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(o)}))}_checkAndApplyAutoLinkOnRange(e){const t=this.editor.model,{text:o,range:i}=Sg(e,t),n=By(o);if(n){const e=t.createRange(i.end.getShiftedBy(-n.length),i.end);this._applyAutoLink(n,e)}}_applyAutoLink(e,t){const o=this.editor.model,i=fy(e,this.editor.config.get("link.defaultProtocol"));this.isEnabled&&function(e,t){return t.schema.checkAttributeInSelection(t.createSelection(e),"linkHref")}(t,o)&&by(i)&&!function(e){const t=e.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}(t)&&this._persistAutoLink(i,t)}_persistAutoLink(e,t){const o=this.editor.model,i=this.editor.plugins.get("Delete");o.enqueueChange((n=>{n.setAttribute("linkHref",e,t),o.enqueueChange((()=>{i.requestUndoOnBackspace()}))}))}}function By(e){const t=My.exec(e);return t?t[2]:null}function Ly(e){return e.map((e=>function(e){"number"==typeof e&&(e=String(e));if("object"==typeof e&&(t=e,t.title&&t.model&&t.view))return jy(e);var t;const o=function(e){return"string"==typeof e?zy[e]:zy[e.model]}(e);if(o)return jy(o);if("default"===e)return{model:void 0,title:"Default"};if(function(e){let t;if("object"==typeof e){if(!e.model)throw new fe("font-size-invalid-definition",null,e);t=parseFloat(e.model)}else t=parseFloat(e);return isNaN(t)}(e))return;return function(e){"string"==typeof e&&(e={title:e,model:`${parseFloat(e)}px`});return e.view={name:"span",styles:{"font-size":e.model}},jy(e)}(e)}(e))).filter((e=>void 0!==e))}const zy={get tiny(){return{title:"Tiny",model:"tiny",view:{name:"span",classes:"text-tiny",priority:7}}},get small(){return{title:"Small",model:"small",view:{name:"span",classes:"text-small",priority:7}}},get big(){return{title:"Big",model:"big",view:{name:"span",classes:"text-big",priority:7}}},get huge(){return{title:"Huge",model:"huge",view:{name:"span",classes:"text-huge",priority:7}}}};function jy(e){return e.view&&"string"!=typeof e.view&&!e.view.priority&&(e.view.priority=7),e}class qy{_startElement;_referenceIndent;_isForward;_includeSelf;_sameAttributes;_sameIndent;_lowerIndent;_higherIndent;constructor(e,t){this._startElement=e,this._referenceIndent=e.getAttribute("listIndent"),this._isForward="forward"==t.direction,this._includeSelf=!!t.includeSelf,this._sameAttributes=Qt(t.sameAttributes||[]),this._sameIndent=!!t.sameIndent,this._lowerIndent=!!t.lowerIndent,this._higherIndent=!!t.higherIndent}static first(e,t){return to(new this(e,t)[Symbol.iterator]())}*[Symbol.iterator](){const e=[];for(const{node:t}of new $y(this._getStartNode(),this._isForward?"forward":"backward")){const o=t.getAttribute("listIndent");if(othis._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){e.push(t);continue}}else{if(!this._sameIndent){if(this._higherIndent){e.length&&(yield*e,e.length=0);break}continue}if(this._sameAttributes.some((e=>t.getAttribute(e)!==this._startElement.getAttribute(e))))break}e.length&&(yield*e,e.length=0),yield t}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}class $y{_node;_isForward;_previousNodesByIndent=[];_previous=null;_previousNodeIndent=null;constructor(e,t="forward"){this._node=e,this._isForward="forward"===t}[Symbol.iterator](){return this}next(){if(!Uy(this._node))return{done:!0,value:void 0};const e=this._node.getAttribute("listIndent");let t=null;if(this._previous){const o=this._previousNodeIndent;e>o?this._previousNodesByIndent[o]=this._previous:ee.getAttribute("listItemId")!=t))}function s_(e){return Array.from(e).filter((e=>"$graveyard"!==e.root.rootName)).sort(((e,t)=>e.index-t.index))}function r_(e){const t=e.document.selection.getSelectedElement();return t&&e.schema.isObject(t)&&e.schema.isBlock(t)?t:null}function a_(e,t){return t.checkChild(e.parent,"listItem")&&t.checkChild(e,"$text")&&!t.isObject(e)}function l_(e){return"numbered"==e||"customNumbered"==e}function c_(e,t,o){return Gy(t,{direction:"forward"}).pop().index>e.index?t_(e,t,o):[]}class d_ extends wc{_direction;constructor(e,t){super(e),this._direction=t}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor,t=e.model,o=u_(t.document.selection),i=e.plugins.get("ListEditing").getListAttributeNames();t.change((e=>{const t=[];n_(o)&&!Zy(o[0])?("forward"==this._direction&&t.push(...o_(o,e,{attributeNames:i})),t.push(...e_(o[0],e))):"forward"==this._direction?t.push(...o_(o,e,{expand:!0,attributeNames:i})):t.push(...function(e,t,{attributeNames:o}){const i=Yy(e=Qt(e)),n=new Set,s=Math.min(...i.map((e=>e.getAttribute("listIndent")))),r=new Map;for(const e of i)r.set(e,qy.first(e,{lowerIndent:!0}));for(const e of i){if(n.has(e))continue;n.add(e);const i=e.getAttribute("listIndent")-1;if(i<0)i_(e,t,o);else{if(e.getAttribute("listIndent")==s){const o=c_(e,r.get(e),t);for(const e of o)n.add(e);if(o.length)continue}t.setAttribute("listIndent",i,e)}}return s_(n)}(o,e,{attributeNames:i}));for(const o of t){if(!o.hasAttribute("listType"))continue;const t=qy.first(o,{sameIndent:!0});t&&e.setAttribute("listType",t.getAttribute("listType"),o)}this._fireAfterExecute(t)}))}_fireAfterExecute(e){this.fire("afterExecute",s_(new Set(e)))}_checkEnabled(){let e=u_(this.editor.model.document.selection),t=e[0];if(!t)return!1;if("backward"==this._direction)return!0;if(n_(e)&&!Zy(e[0]))return!0;e=Yy(e),t=e[0];const o=qy.first(t,{sameIndent:!0});return!!o&&o.getAttribute("listType")==t.getAttribute("listType")}}function u_(e){const t=Array.from(e.getSelectedBlocks()),o=t.findIndex((e=>!Uy(e)));return-1!=o&&(t.length=o),t}class h_ extends wc{type;_listWalkerOptions;constructor(e,t,o={}){super(e),this.type=t,this._listWalkerOptions=o.multiLevel?{higherIndent:!0,lowerIndent:!0,sameAttributes:[]}:void 0}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor.model,o=t.document,i=r_(t),n=Array.from(o.selection.getSelectedBlocks()).filter((e=>t.schema.checkAttribute(e,"listType")||a_(e,t.schema))),s=void 0!==e.forceValue?!e.forceValue:this.value;t.change((r=>{if(s){const e=n[n.length-1],t=this.editor.plugins.get("ListEditing").getListAttributeNames(),o=Gy(e,{direction:"forward"}),i=[];o.length>1&&i.push(...e_(o[1],r)),i.push(...i_(n,r,t)),i.push(...function(e,t){const o=[];let i=Number.POSITIVE_INFINITY;for(const{node:n}of new $y(e.nextSibling)){const e=n.getAttribute("listIndent");if(0==e)break;e{const{firstElement:r,lastElement:a}=this._getMergeSubjectElements(i,e),l=r.getAttribute("listIndent")||0,c=a.getAttribute("listIndent"),d=a.getAttribute("listItemId");if(l!=c){const e=(u=a,Array.from(new qy(u,{direction:"forward",higherIndent:!0})));n.push(...o_([a,...e],t,{indentBy:l-c,expand:l{const t=e_(this._getStartBlock(),e);this._fireAfterExecute(t)}))}_fireAfterExecute(e){this.fire("afterExecute",s_(new Set(e)))}_checkEnabled(){const e=this.editor.model.document.selection,t=this._getStartBlock();return e.isCollapsed&&Uy(t)&&!Zy(t)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return"before"==this._direction?e:e.nextSibling}}class p_ extends fc{static get pluginName(){return"ListItemBoldIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[z_]}init(){const e=this.editor,t=e.plugins.get("ListFormatting"),o=e.plugins.get(z_);e.plugins.has("BoldEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.registerFormatAttribute("bold","listItemBold"),o.registerDowncastStrategy({scope:"item",attributeName:"listItemBold",setAttributeOnDowncast(e,t,o,i){t&&(e.addClass("ck-list-marker-bold",o),!Y.isSafari||i&&i.dataPipeline||e.setStyle("--ck-content-list-marker-dummy-bold","0",o))}}))}afterInit(){const e=this.editor,t=e.model;e.plugins.has("BoldEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.schema.extend("$listItem",{allowAttributes:"listItemBold"}),t.schema.setAttributeProperties("listItemBold",{isFormatting:!0}),t.schema.addAttributeCheck((e=>{if(!e.last.getAttribute("listItemId"))return!1}),"listItemBold"),e.conversion.for("upcast").attributeToAttribute({model:"listItemBold",view:{name:"li",classes:"ck-list-marker-bold"}}))}}class f_ extends fc{static get pluginName(){return"ListItemItalicIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[z_]}init(){const e=this.editor,t=e.plugins.get("ListFormatting"),o=e.plugins.get(z_);e.plugins.has("ItalicEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.registerFormatAttribute("italic","listItemItalic"),o.registerDowncastStrategy({scope:"item",attributeName:"listItemItalic",setAttributeOnDowncast(e,t,o,i){t&&(e.addClass("ck-list-marker-italic",o),!Y.isSafari||i&&i.dataPipeline||e.setStyle("--ck-content-list-marker-dummy-italic","0",o))}}))}afterInit(){const e=this.editor,t=e.model;e.plugins.has("ItalicEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.schema.extend("$listItem",{allowAttributes:"listItemItalic"}),t.schema.setAttributeProperties("listItemItalic",{isFormatting:!0}),t.schema.addAttributeCheck((e=>{if(!e.last.getAttribute("listItemId"))return!1}),"listItemItalic"),e.conversion.for("upcast").attributeToAttribute({model:"listItemItalic",view:{name:"li",classes:"ck-list-marker-italic"}}))}}class b_ extends fc{static get pluginName(){return"ListItemFontSizeIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[z_]}init(){const e=this.editor,t=e.plugins.get("ListFormatting"),o=e.plugins.get(z_);if(!e.plugins.has("FontSizeEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting"))return;const i=Ly(e.config.get("fontSize.options"));t.registerFormatAttribute("fontSize","listItemFontSize"),o.registerDowncastStrategy({scope:"item",attributeName:"listItemFontSize",setAttributeOnDowncast(e,t,o,n){if(t){const s=i.find((e=>e.model==t));s&&s.view&&"string"!=typeof s.view?s.view.styles?(e.addClass("ck-list-marker-font-size",o),e.setStyle("--ck-content-list-marker-font-size",s.view.styles["font-size"],o)):s.view.classes&&(e.addClass(`ck-list-marker-font-size-${t}`,o),!Y.isSafari||n&&n.dataPipeline||e.setStyle("--ck-content-list-marker-dummy-font-size","0",o)):(e.addClass("ck-list-marker-font-size",o),e.setStyle("--ck-content-list-marker-font-size",t,o))}}})}afterInit(){const e=this.editor,t=e.model;if(!e.plugins.has("FontSizeEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting"))return;t.schema.extend("$listItem",{allowAttributes:"listItemFontSize"}),t.schema.setAttributeProperties("listItemFontSize",{isFormatting:!0}),t.schema.addAttributeCheck((e=>{if(!e.last.getAttribute("listItemId"))return!1}),"listItemFontSize"),e.conversion.for("upcast").elementToAttribute({model:{key:"listItemFontSize",value:e=>e.getStyle("--ck-content-list-marker-font-size")},view:{name:"li",classes:"ck-list-marker-font-size",styles:{"--ck-content-list-marker-font-size":/.*/}}});const o=Ly(e.config.get("fontSize.options"));for(const t of o)t.model&&t.view&&e.conversion.for("upcast").elementToAttribute({model:{key:"listItemFontSize",value:t.model},view:{name:"li",classes:`ck-list-marker-font-size-${t.model}`}})}}class w_ extends fc{static get pluginName(){return"ListItemFontColorIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[z_]}init(){const e=this.editor,t=e.plugins.get("ListFormatting"),o=e.plugins.get(z_);e.plugins.has("FontColorEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.registerFormatAttribute("fontColor","listItemFontColor"),o.registerDowncastStrategy({scope:"item",attributeName:"listItemFontColor",setAttributeOnDowncast(e,t,o){t&&(e.addClass("ck-list-marker-color",o),e.setStyle("--ck-content-list-marker-color",t,o))}}))}afterInit(){const e=this.editor,t=e.model;e.plugins.has("FontColorEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.schema.extend("$listItem",{allowAttributes:"listItemFontColor"}),t.schema.setAttributeProperties("listItemFontColor",{isFormatting:!0}),t.schema.addAttributeCheck((e=>{if(!e.last.getAttribute("listItemId"))return!1}),"listItemFontColor"),e.conversion.for("upcast").attributeToAttribute({model:{key:"listItemFontColor",value:e=>e.getStyle("--ck-content-list-marker-color")},view:{name:"li",classes:"ck-list-marker-color",styles:{"--ck-content-list-marker-color":/.*/}}}))}}class y_ extends fc{static get pluginName(){return"ListItemFontFamilyIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[z_]}init(){const e=this.editor,t=e.plugins.get("ListFormatting"),o=e.plugins.get(z_);e.plugins.has("FontFamilyEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.registerFormatAttribute("fontFamily","listItemFontFamily"),o.registerDowncastStrategy({scope:"item",attributeName:"listItemFontFamily",setAttributeOnDowncast(e,t,o){t&&(e.addClass("ck-list-marker-font-family",o),e.setStyle("--ck-content-list-marker-font-family",t,o))}}))}afterInit(){const e=this.editor,t=e.model;e.plugins.has("FontFamilyEditing")&&this.editor.config.get("list.enableListItemMarkerFormatting")&&(t.schema.extend("$listItem",{allowAttributes:"listItemFontFamily"}),t.schema.setAttributeProperties("listItemFontFamily",{isFormatting:!0}),t.schema.addAttributeCheck((e=>{if(!e.last.getAttribute("listItemId"))return!1}),"listItemFontFamily"),e.conversion.for("upcast").attributeToAttribute({model:{key:"listItemFontFamily",value:e=>e.getStyle("--ck-content-list-marker-font-family")},view:{name:"li",classes:"ck-list-marker-font-family",styles:{"--ck-content-list-marker-font-family":/.*/}}}))}}class __ extends fc{_loadedFormatting={};static get pluginName(){return"ListFormatting"}static get isOfficialPlugin(){return!0}static get requires(){return[p_,f_,b_,w_,y_]}constructor(e){super(e),e.config.define("list.enableListItemMarkerFormatting",!0)}afterInit(){this.editor.config.get("list.enableListItemMarkerFormatting")&&this._registerPostfixerForListItemFormatting()}_registerPostfixerForListItemFormatting(){const e=this.editor.model;e.document.registerPostFixer((t=>{const o=e.document.differ.getChanges(),i=new Set;let n=!1;for(const e of o)if("attribute"===e.type)("listItemId"==e.attributeKey||"listType"==e.attributeKey||this._isInlineOrSelectionFormatting(e.attributeKey)||Object.values(this._loadedFormatting).includes(e.attributeKey))&&(Uy(e.range.start.nodeAfter)?i.add(e.range.start.nodeAfter):Uy(e.range.start.parent)&&i.add(e.range.start.parent));else if(Uy(e.position.nodeAfter)&&i.add(e.position.nodeAfter),Uy(e.position.nodeBefore)&&i.add(e.position.nodeBefore),Uy(e.position.parent)&&i.add(e.position.parent),"insert"==e.type&&"$text"!=e.name){const o=t.createRangeIn(e.position.nodeAfter);for(const e of o.getItems())Uy(e)&&i.add(e)}for(const o of i){const i=k_(e,o,Object.keys(this._loadedFormatting));for(const[e,s]of Object.entries(i)){const i=this._loadedFormatting[e];(s&&C_(t,o,i,s)||!s&&A_(t,o,i))&&(n=!0)}}return n}))}registerFormatAttribute(e,t){this._loadedFormatting[e]=t}_isInlineOrSelectionFormatting(e){return e.replace(/^selection:/,"")in this._loadedFormatting}}function k_(e,t,o){if(Zy(t))return v_(e,t,o);return v_(e,Ky(t)[0],o)}function v_(e,t,o){if(!function(e){return["numbered","bulleted","customNumbered","customBulleted"].includes(e.getAttribute("listType"))}(t)||e.schema.isLimit(t))return Object.fromEntries(o.map((e=>[e])));if(t.isEmpty)return Object.fromEntries(o.map((e=>[e,t.getAttribute(`selection:${e}`)])));const i=new Set(o),n={},s=e.createRangeIn(t).getWalker({ignoreElementEnd:!0});for(const{item:t}of s){for(const o of i)if(e.schema.checkAttribute(t,o)){const e=t.getAttribute(o);void 0===e?(i.delete(o),n[o]=void 0):void 0===n[o]?n[o]=e:n[o]!==e&&(i.delete(o),n[o]=void 0)}else o in n||(n[o]=void 0);if(!i.size)break;e.schema.isLimit(t)&&s.jumpTo(e.createPositionAfter(t))}return n}function C_(e,t,o,i){const n=Ky(t);let s=!1;for(const t of n)t.hasAttribute(o)&&t.getAttribute(o)===i||(e.setAttribute(o,i,t),s=!0);return s}function A_(e,t,o){const i=Ky(t);let n=!1;for(const t of i)t.hasAttribute(o)&&(e.removeAttribute(o,t),n=!0);return n}class x_ extends fc{static get pluginName(){return"ListUtils"}static get isOfficialPlugin(){return!0}expandListBlocksToCompleteList(e){return Xy(e)}isFirstBlockOfListItem(e){return Zy(e)}isListItemBlock(e){return Uy(e)}expandListBlocksToCompleteItems(e,t={}){return Yy(e,t)}isNumberedListType(e){return l_(e)}isFirstListItemInList(e){return function(e){return!qy.first(e,{sameIndent:!0,sameAttributes:"listType"})}(e)}}function E_(e){return e.is("element","ol")||e.is("element","ul")}function T_(e){return e.is("element","li")}function P_(e,t,o,i=R_(o,t)){return e.createAttributeElement(I_(o),null,{priority:2*t/100-100,id:i})}function S_(e,t,o){return e.createAttributeElement("li",null,{priority:(2*t+1)/100-100,id:o})}function I_(e){return"numbered"==e||"customNumbered"==e?"ol":"ul"}function R_(e,t){return`list-${e}-${t}`}function O_(e,t,o){const i=e.nodeBefore;if(Uy(i)){let e=i;for(const{node:n}of new $y(e,"backward")){if(e=n,o.has(e))return;if(o.add(e),t.has(i))return}t.add(e)}else{const o=e.nodeAfter;Uy(o)&&t.add(o)}}function V_(){return(e,t,o)=>{const{writer:i,schema:n}=o;if(!t.modelRange)return;const s=Array.from(t.modelRange.getItems({shallow:!0})).filter((e=>n.checkAttribute(e,"listItemId")));if(!s.length)return;const r=t.viewItem.getAttribute("data-list-item-id")||Wy.next();o.consumable.consume(t.viewItem,{attributes:"data-list-item-id"});const a=function(e){let t=0,o=e.parent;for(;o;){if(T_(o))t++;else{const e=o.previousSibling;e&&T_(e)&&t++}o=o.parent}return t}(t.viewItem);let l=t.viewItem.parent&&t.viewItem.parent.is("element","ol")?"numbered":"bulleted";const c=s[0].getAttribute("listType");c&&(l=c);const d={listItemId:r,listIndent:a,listType:l};for(const e of s)e.hasAttribute("listItemId")||i.setAttributes(d,e);s.length>1&&s[1].getAttribute("listItemId")!=d.listItemId&&o.keepEmptyElement(s[0])}}function D_(e,t,o,i){return()=>{const i=e.document.differ.getChanges(),r=[],a=new Set,l=new Set,c=new Set;for(const e of i)if("insert"==e.type&&"$text"!=e.name)O_(e.position,a,c),e.attributes.has("listItemId")?l.add(e.position.nodeAfter):O_(e.position.getShiftedBy(e.length),a,c);else if("remove"==e.type&&e.attributes.has("listItemId"))O_(e.position,a,c);else if("attribute"==e.type){const t=e.range.start.nodeAfter;o.includes(e.attributeKey)?(O_(e.range.start,a,c),null===e.attributeNewValue?(O_(e.range.start.getShiftedBy(1),a,c),s(t)&&r.push(t)):l.add(t)):Uy(t)&&s(t)&&r.push(t)}for(const e of a.values())r.push(...n(e,l));for(const e of new Set(r))t.reconvertItem(e)};function n(e,t){const i=[],n=new Set,a=[];for(const{node:l,previous:c}of new $y(e)){if(n.has(l))continue;const e=l.getAttribute("listIndent");c&&eo.includes(e)))),modelElement:l};const d=Gy(l,{direction:"forward"});for(const e of d)n.add(e),(s(e,d)||r(e,a,t))&&i.push(e)}return i}function s(e,n){const s=t.mapper.toViewElement(e);if(!s)return!1;if(function(e){e=e.parent;for(;e.is("attributeElement")&&["ol","ul","li"].includes(e.name);)e=e.parent;if(e.getCustomProperty("$structureSlotParent")&&!t.mapper.toModelElement(e))return!0;return!1}(s))return!0;if(i.fire("checkElement",{modelElement:e,viewElement:s}))return!0;if(!e.is("element","paragraph")&&!e.is("element","listItem"))return!1;const r=B_(e,o,n);return!(!r||!s.is("element","p"))||!(r||!s.is("element","span"))}function r(e,o,n){if(n.has(e))return!1;const s=t.mapper.toViewElement(e);let r=o.length-1;for(let e=s.parent;!e.is("editableElement");e=e.parent){const t=T_(e),n=E_(e);if(!n&&!t)continue;const s="checkAttributes:"+(t?"item":"list");if(i.fire(s,{viewElement:e,modelAttributes:o[r].modelAttributes,modelReferenceElement:o[r].modelElement}))break;if(n&&(r--,r<0))return!1}return!0}}function F_(e,t,o,{dataPipeline:i}={}){const n=function(e,t){const o=t.filter((e=>!1===e.consume)).map((e=>e.attributeName));return(t,i)=>{const n=[];for(const i of e)t.hasAttribute(i)&&!o.includes(i)&&n.push(`attribute:${i}`);return!!n.every((e=>!1!==i.test(t,e)))&&(n.forEach((e=>i.consume(t,e))),!0)}}(e,t);return(s,r,a)=>{const{writer:l,mapper:c,consumable:d}=a,u=r.item;if(!e.includes(r.attributeKey))return;if(!n(u,d))return;const h={...a.options,dataPipeline:i},m=function(e,t,o,i){const n=o.createRangeOn(e),s=t.toViewRange(n).getTrimmed(),r=s.getWalker();for(const{item:e}of r)if(e.is("element")&&e.getCustomProperty("listItemMarker"))r.jumpTo(i.createPositionAfter(e));else if(e.is("element")&&!e.getCustomProperty("listItemWrapper"))return e}(u,c,o,l);N_(m,l,c),function(e,t){let o=e.parent;for(;o.is("attributeElement")&&["ul","ol","li"].includes(o.name);){const i=o.parent;t.unwrap(t.createRangeOn(e),o),o=i}}(m,l);const g=function(e,t,o,i,{dataPipeline:n}){let s=i.createRangeOn(t);if(!Zy(e))return s;for(const r of o){if("itemMarker"!=r.scope)continue;const o=r.createElement(i,e,{dataPipeline:n});if(!o)continue;if(i.setCustomProperty("listItemMarker",!0,o),r.canInjectMarkerIntoElement&&r.canInjectMarkerIntoElement(e)?i.insert(i.createPositionAt(t,0),o):(i.insert(s.start,o),s=i.createRange(i.createPositionBefore(o),i.createPositionAfter(t))),!r.createWrapperElement||!r.canWrapElement)continue;const a=r.createWrapperElement(i,e,{dataPipeline:n});i.setCustomProperty("listItemWrapper",!0,a),r.canWrapElement(e)?s=i.wrap(s,a):(s=i.wrap(i.createRangeOn(o),a),s=i.createRange(s.start,i.createPositionAfter(t)))}return s}(u,m,t,l,h);!function(e,t,o,i,n){if(!e.hasAttribute("listIndent"))return;const s=e.getAttribute("listIndent");let r=e;for(let e=s;e>=0;e--){const s=S_(i,e,r.getAttribute("listItemId")),a=P_(i,e,r.getAttribute("listType"));for(const e of o)"list"!=e.scope&&"item"!=e.scope||!r.hasAttribute(e.attributeName)||e.setAttributeOnDowncast(i,r.getAttribute(e.attributeName),"list"==e.scope?a:s,n,r);if(t=i.wrap(t,s),t=i.wrap(t,a),0==e)break;if(r=qy.first(r,{lowerIndent:!0}),!r)break}}(u,g,t,l,h)}}function M_(e,{dataPipeline:t}={}){return(o,{writer:i})=>{if(!B_(o,e))return null;if(!t)return i.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const n=i.createContainerElement("p");return i.setCustomProperty("dataPipeline:transparentRendering",!0,n),n}}function N_(e,t,o){for(;e.parent.is("attributeElement")&&e.parent.getCustomProperty("listItemWrapper");)t.unwrap(t.createRangeOn(e),e.parent);const i=[];n(t.createPositionBefore(e).getWalker({direction:"backward"})),n(t.createRangeIn(e).getWalker());for(const e of i)t.remove(e);function n(e){for(const{item:t}of e){if(t.is("element")&&o.toModelElement(t))break;t.is("element")&&t.getCustomProperty("listItemMarker")&&i.push(t)}}}function B_(e,t,o=Ky(e)){if(!Uy(e))return!1;for(const o of e.getAttributeKeys())if(!o.startsWith("selection:")&&"htmlEmptyBlock"!=o&&!t.includes(o))return!1;return o.length<2}const L_=["listType","listIndent","listItemId"];class z_ extends fc{_downcastStrategies=[];static get pluginName(){return"ListEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[Kg,Tg,x_,bf,__]}constructor(e){super(e),e.config.define("list.multiBlock",!0)}init(){const e=this.editor,t=e.model,o=e.config.get("list.multiBlock");if(e.plugins.has("LegacyListEditing"))throw new fe("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});t.schema.register("$listItem",{allowAttributes:L_}),o?(t.schema.extend("$container",{allowAttributesOf:"$listItem"}),t.schema.extend("$block",{allowAttributesOf:"$listItem"}),t.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):t.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const e of L_)t.schema.setAttributeProperties(e,{copyOnReplace:!0});e.commands.add("numberedList",new h_(e,"numbered")),e.commands.add("bulletedList",new h_(e,"bulleted")),e.commands.add("customNumberedList",new h_(e,"customNumbered",{multiLevel:!0})),e.commands.add("customBulletedList",new h_(e,"customBulleted",{multiLevel:!0})),e.commands.add("indentList",new d_(e,"forward")),e.commands.add("outdentList",new d_(e,"backward")),e.commands.add("splitListItemBefore",new g_(e,"before")),e.commands.add("splitListItemAfter",new g_(e,"after")),o&&(e.commands.add("mergeListItemBackward",new m_(e,"backward")),e.commands.add("mergeListItemForward",new m_(e,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration(),this._setupAccessibilityIntegration(),this._setupListItemIdConversionStrategy()}afterInit(){const e=this.editor.commands,t=e.get("indent"),o=e.get("outdent");t&&t.registerChildCommand(e.get("indentList"),{priority:"high"}),o&&o.registerChildCommand(e.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(e){this._downcastStrategies.push(e)}getListAttributeNames(){return[...L_,...this._downcastStrategies.map((e=>e.attributeName))]}_setupDeleteIntegration(){const e=this.editor,t=e.commands.get("mergeListItemBackward"),o=e.commands.get("mergeListItemForward");this.listenTo(e.editing.view.document,"delete",((i,n)=>{const s=e.model.document.selection;r_(e.model)||e.model.change((()=>{const r=s.getFirstPosition();if(s.isCollapsed&&"backward"==n.direction){if(!r.isAtStart)return;const o=r.parent;if(!Uy(o))return;if(qy.first(o,{sameAttributes:"listType",sameIndent:!0})||0!==o.getAttribute("listIndent")){if(!t||!t.isEnabled)return;t.execute({shouldMergeOnBlocksContentLevel:j_(e.model,"backward")})}else Qy(o)||e.execute("splitListItemAfter"),e.execute("outdentList");n.preventDefault(),i.stop()}else{if(s.isCollapsed&&!s.getLastPosition().isAtEnd)return;if(!o||!o.isEnabled)return;o.execute({shouldMergeOnBlocksContentLevel:j_(e.model,"forward")}),n.preventDefault(),i.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const e=this.editor,t=e.model,o=e.commands,i=o.get("enter");this.listenTo(e.editing.view.document,"enter",((o,i)=>{const n=t.document,s=n.selection.getFirstPosition().parent;if(n.selection.isCollapsed&&Uy(s)&&s.isEmpty&&!i.isSoft){const t=Zy(s),n=Qy(s);t&&n?(e.execute("outdentList"),i.preventDefault(),o.stop()):t&&!n?(e.execute("splitListItemAfter"),i.preventDefault(),o.stop()):n&&(e.execute("splitListItemBefore"),i.preventDefault(),o.stop())}}),{context:"li"}),this.listenTo(i,"afterExecute",(()=>{const t=o.get("splitListItemBefore");if(t.refresh(),!t.isEnabled)return;2===Ky(e.model.document.selection.getLastPosition().parent).length&&t.execute()}))}_setupTabIntegration(){const e=this.editor;this.listenTo(e.editing.view.document,"tab",((t,o)=>{const i=o.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(e.execute(i),o.stopPropagation(),o.preventDefault(),t.stop())}),{context:"li"})}_setupConversion(){const e=this.editor,t=e.model,o=this.getListAttributeNames(),i=e.config.get("list.multiBlock"),n=i?"paragraph":"listItem";e.conversion.for("upcast").elementToElement({view:"li",model:(e,{writer:t})=>t.createElement(n,{listType:""})}).elementToElement({view:"p",model:(e,{writer:t})=>e.parent&&e.parent.is("element","li")?t.createElement(n,{listType:""}):null,converterPriority:"high"}).add((e=>{e.on("element:li",V_())})),i||e.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),e.conversion.for("editingDowncast").elementToElement({model:n,view:M_(o),converterPriority:"high"}).add((e=>{var i;e.on("attribute",F_(o,this._downcastStrategies,t)),e.on("remove",(i=t.schema,(e,t,o)=>{const{writer:n,mapper:s}=o,r=e.name.split(":")[1];if(!i.checkAttribute(r,"listItemId"))return;const a=s.toViewPosition(t.position),l=t.position.getShiftedBy(t.length),c=s.toViewPosition(l,{isPhantom:!0}),d=n.createRange(a,c).getTrimmed().end.nodeBefore;d&&N_(d,n,s)}))})),e.conversion.for("dataDowncast").elementToElement({model:n,view:M_(o,{dataPipeline:!0}),converterPriority:"high"}).add((e=>{e.on("attribute",F_(o,this._downcastStrategies,t,{dataPipeline:!0}))}));const s=(r=this._downcastStrategies,a=e.editing.view,(e,t)=>{if(t.modelPosition.offset>0)return;const o=t.modelPosition.parent;if(!Uy(o))return;if(!r.some((e=>"itemMarker"==e.scope&&e.canInjectMarkerIntoElement&&e.canInjectMarkerIntoElement(o))))return;const i=t.mapper.toViewElement(o),n=a.createRangeIn(i),s=n.getWalker();let l=n.start;for(const{item:e}of s){if(e.is("element")&&t.mapper.toModelElement(e)||e.is("$textProxy"))break;e.is("element")&&e.getCustomProperty("listItemMarker")&&(l=a.createPositionAfter(e),s.skip((({previousPosition:e})=>!e.isEqual(l))))}t.viewPosition=l});var r,a;e.editing.mapper.on("modelToViewPosition",s),e.data.mapper.on("modelToViewPosition",s),this.listenTo(t.document,"change:data",D_(t,e.editing,o,this),{priority:"high"}),this.on("checkAttributes:item",((e,{viewElement:t,modelAttributes:o})=>{t.id!=o.listItemId&&(e.return=!0,e.stop())})),this.on("checkAttributes:list",((e,{viewElement:t,modelAttributes:o})=>{t.name==I_(o.listType)&&t.id==R_(o.listType,o.listIndent)||(e.return=!0,e.stop())}))}_setupModelPostFixing(){const e=this.editor.model,t=this.getListAttributeNames();e.document.registerPostFixer((o=>function(e,t,o,i){const n=e.document.differ.getChanges(),s=new Set,r=new Set,a=i.editor.config.get("list.multiBlock");let l=!1;for(const i of n){if("insert"==i.type&&"$text"!=i.name){const n=i.position.nodeAfter;if(!e.schema.checkAttribute(n,"listItemId"))for(const e of Array.from(n.getAttributeKeys()))o.includes(e)&&(t.removeAttribute(e,n),l=!0);O_(i.position,r,s),i.attributes.has("listItemId")||O_(i.position.getShiftedBy(i.length),r,s);for(const{item:t,previousPosition:o}of e.createRangeIn(n))Uy(t)&&O_(o,r,s)}else"remove"==i.type?O_(i.position,r,s):"attribute"==i.type&&o.includes(i.attributeKey)&&(O_(i.range.start,r,s),null===i.attributeNewValue&&O_(i.range.start.getShiftedBy(1),r,s));if(!a&&"attribute"==i.type&&L_.includes(i.attributeKey)){const e=i.range.start.nodeAfter;null===i.attributeNewValue&&e&&e.is("element","listItem")?(t.rename(e,"paragraph"),l=!0):null===i.attributeOldValue&&e&&e.is("element")&&"listItem"!=e.name&&(t.rename(e,"listItem"),l=!0)}}const c=new Set;for(const e of r.values())l=i.fire("postFixer",{listNodes:new Hy(e),listHead:e,writer:t,seenIds:c})||l;return l}(e,o,t,this))),this.on("postFixer",((e,{listNodes:t,writer:o})=>{e.return=function(e,t){let o=0,i=-1,n=null,s=!1;for(const{node:r}of e){const e=r.getAttribute("listIndent");if(e>o){let a;null===n?(n=e-o,a=o):(n>e&&(n=e),a=e-n),a>i+1&&(a=i+1),t.setAttribute("listIndent",a,r),s=!0,i=a}else n=null,o=e+1,i=e}return s}(t,o)||e.return}),{priority:"high"}),this.on("postFixer",((e,{listNodes:t,writer:o,seenIds:i})=>{e.return=function(e,t,o){const i=new Set;let n=!1;for(const{node:s}of e){if(i.has(s))continue;let e=s.getAttribute("listType"),r=s.getAttribute("listItemId");if(t.has(r)&&(r=Wy.next()),t.add(r),s.is("element","listItem"))s.getAttribute("listItemId")!=r&&(o.setAttribute("listItemId",r,s),n=!0);else for(const t of Gy(s,{direction:"forward"}))i.add(t),t.getAttribute("listType")!=e&&(r=Wy.next(),e=t.getAttribute("listType")),t.getAttribute("listItemId")!=r&&(o.setAttribute("listItemId",r,t),n=!0)}return n}(t,i,o)||e.return}),{priority:"high"})}_setupClipboardIntegration(){const e=this.editor.model,t=this.editor.plugins.get("ClipboardPipeline");this.listenTo(e,"insertContent",function(e){return(t,[o,i])=>{const n=o.is("documentFragment")?Array.from(o.getChildren()):[o];if(!n.length)return;const s=(i?e.createSelection(i):e.document.selection).getFirstPosition();let r;if(Uy(s.parent))r=s.parent;else{if(!Uy(s.nodeBefore)||!Uy(s.nodeAfter))return;r=s.nodeBefore}e.change((e=>{const t=r.getAttribute("listType"),o=r.getAttribute("listIndent"),i=n[0].getAttribute("listIndent")||0,s=Math.max(o-i,0);for(const o of n){const i=Uy(o);r.is("element","listItem")&&o.is("element","paragraph")&&e.rename(o,"listItem"),e.setAttributes({listIndent:(i?o.getAttribute("listIndent"):0)+s,listItemId:i?o.getAttribute("listItemId"):Wy.next(),listType:t},o)}}))}}(e),{priority:"high"}),this.listenTo(t,"outputTransformation",((t,o)=>{e.change((e=>{const t=Array.from(o.content.getChildren()),i=t[t.length-1];if(t.length>1&&i.is("element")&&i.isEmpty){t.slice(0,-1).every(Uy)&&e.remove(i)}if("copy"==o.method||"cut"==o.method){const t=Array.from(o.content.getChildren());n_(t)&&i_(t,e,this.getListAttributeNames())}}))}))}_setupAccessibilityIntegration(){const e=this.editor,t=e.t;e.accessibility.addKeystrokeInfoGroup({id:"list",label:t("Keystrokes that can be used in a list"),keystrokes:[{label:t("Increase list item indent"),keystroke:"Tab"},{label:t("Decrease list item indent"),keystroke:"Shift+Tab"}]})}_setupListItemIdConversionStrategy(){this.registerDowncastStrategy({scope:"item",attributeName:"listItemId",setAttributeOnDowncast(e,t,o,i){i&&(i.skipListItemIds||i.isClipboardPipeline)||e.setAttribute("data-list-item-id",t,o)}})}}function j_(e,t){const o=e.document.selection;if(!o.isCollapsed)return!r_(e);if("forward"===t)return!0;const i=o.getFirstPosition().parent,n=i.previousSibling;return!e.schema.isObject(n)&&(!!n.isEmpty||n_([i,n]))}function q_(e,t,o,i){e.ui.componentFactory.add(t,(()=>{const n=$_(Lu,e,t,o,i);return n.set({tooltip:!0,isToggleable:!0}),n})),e.ui.componentFactory.add(`menuBar:${t}`,(()=>{const n=$_(sh,e,t,o,i);return n.set({role:"menuitemcheckbox",isToggleable:!0}),n}))}function $_(e,t,o,i,n){const s=t.commands.get(o),r=new e(t.locale);return r.set({label:i,icon:n}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.on("execute",(()=>{t.execute(o),t.editing.view.focus()})),r}class H_ extends fc{static get pluginName(){return"ListUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.t;this.editor.ui.componentFactory.has("numberedList")||q_(this.editor,"numberedList",e("Numbered List"),''),this.editor.ui.componentFactory.has("bulletedList")||q_(this.editor,"bulletedList",e("Bulleted List"),'')}}const W_={},U_={},K_={},G_=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"},{listStyle:"arabic-indic",typeAttribute:null,listType:"numbered"}];for(const{listStyle:e,typeAttribute:t,listType:o}of G_)W_[e]=o,U_[e]=t,t&&(K_[t]=e);class J_ extends wc{constructor(e){super(e),this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){const e=this._getSelectedItems();this.value=this._getValue(e),this.isEnabled=!!e.length}execute(e={}){this.editor.model.change((t=>{const o=this._getSelectedItems(),i=void 0===e.forceValue?!this._getValue(o):e.forceValue;for(const e of o)i?t.setAttribute("todoListChecked",!0,e):t.removeAttribute("todoListChecked",e)}))}_getValue(e){return e.every((e=>e.getAttribute("todoListChecked")))}_getSelectedItems(){const e=this.editor.model,t=e.schema,o=e.document.selection.getFirstRange(),i=o.start.parent,n=[];t.checkAttribute(i,"todoListChecked")&&n.push(...Ky(i));for(const e of o.getItems({shallow:!0}))t.checkAttribute(e,"todoListChecked")&&!n.includes(e)&&n.push(...Ky(e));return n}}class Z_ extends jn{domEventType=["change"];onDomEvent(e){if(e.target){const t=this.view.domConverter.mapDomToView(e.target);t&&t.is("element","input")&&"checkbox"==t.getAttribute("type")&&t.findAncestor({classes:"todo-list__label"})&&this.fire("todoCheckboxChange",e)}}}const Q_=Wt("Ctrl+Enter");class Y_ extends fc{static get pluginName(){return"TodoListEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[z_]}init(){const e=this.editor,t=e.model,o=e.editing,i=e.plugins.get(z_),n=e.config.get("list.multiBlock")?"paragraph":"listItem";e.commands.add("todoList",new h_(e,"todo")),e.commands.add("checkTodoList",new J_(e)),o.view.addObserver(Z_),t.schema.extend("$listItem",{allowAttributes:"todoListChecked"}),t.schema.addAttributeCheck((e=>{const t=e.last;if(!t.getAttribute("listItemId")||"todo"!=t.getAttribute("listType"))return!1}),"todoListChecked"),e.conversion.for("upcast").add((e=>{e.on("element:input",((e,t,o)=>{const i=t.modelCursor,n=i.parent,s=t.viewItem;if(!o.consumable.test(s,{name:!0}))return;if("checkbox"!=s.getAttribute("type")||!i.isAtStart||!n.hasAttribute("listType"))return;o.consumable.consume(s,{name:!0});const r=o.writer;r.setAttribute("listType","todo",n),t.viewItem.hasAttribute("checked")&&r.setAttribute("todoListChecked",!0,n),t.modelRange=r.createRange(i)})),e.on("element:li",((e,t,o)=>{const{writer:i,schema:n}=o;if(!t.modelRange)return;const s=Array.from(t.modelRange.getItems({shallow:!0})).filter((e=>"todo"===e.getAttribute("listType")&&n.checkAttribute(e,"listItemId"))).reduce(((e,t)=>{const o=t.getAttribute("listItemId");return e.has(o)||e.set(o,Ky(t)),e}),new Map);for(const[,e]of s.entries())if(e.some((e=>e.getAttribute("todoListChecked"))))for(const t of e)i.setAttribute("todoListChecked",!0,t)}),{priority:"low"}),e.on("element:label",X_({name:"label",classes:"todo-list__label"})),e.on("element:label",X_({name:"label",classes:["todo-list__label","todo-list__label_without-description"]})),e.on("element:span",X_({name:"span",classes:"todo-list__label__description"})),e.on("element:ul",function(e){const t=new ui(e);return(e,o,i)=>{const n=t.match(o.viewItem);if(!n)return;const s=n.match;s.name=!1,i.consumable.consume(o.viewItem,s)}}({name:"ul",classes:"todo-list"}))})),e.conversion.for("downcast").elementToElement({model:n,view:(e,{writer:t})=>{if(ek(e,i.getListAttributeNames()))return t.createContainerElement("span",{class:"todo-list__label__description"})},converterPriority:"highest"}),i.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(e,t,o){"todo"==t?e.addClass("todo-list",o):e.removeClass("todo-list",o)}}),i.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(e,t,{dataPipeline:o}){if("todo"!=t.getAttribute("listType"))return null;const i=e.createUIElement("input",{type:"checkbox",...t.getAttribute("todoListChecked")?{checked:"checked"}:null,...o?{disabled:"disabled"}:{tabindex:"-1"}});if(o)return i;const n=e.createContainerElement("span",{contenteditable:"false"},i);return n.getFillerOffset=()=>null,n},canWrapElement:e=>ek(e,i.getListAttributeNames()),createWrapperElement(e,t,{dataPipeline:o}){const n=["todo-list__label"];return ek(t,i.getListAttributeNames())||n.push("todo-list__label_without-description"),e.createAttributeElement(o?"label":"span",{class:n.join(" ")})}}),i.on("checkElement",((e,{modelElement:t,viewElement:o})=>{const n=ek(t,i.getListAttributeNames());o.hasClass("todo-list__label__description")!=n&&(e.return=!0,e.stop())})),i.on("checkElement",((t,{modelElement:o,viewElement:i})=>{const n="todo"==o.getAttribute("listType")&&Zy(o);let s=!1;const r=e.editing.view.createPositionBefore(i).getWalker({direction:"backward"});for(const{item:t}of r){if(t.is("element")&&e.editing.mapper.toModelElement(t))break;t.is("element","input")&&"checkbox"==t.getAttribute("type")&&(s=!0)}s!=n&&(t.return=!0,t.stop())})),i.on("postFixer",((e,{listNodes:t,writer:o})=>{for(const{node:i,previousNodeInList:n}of t){if(!n)continue;if(n.getAttribute("listItemId")!=i.getAttribute("listItemId"))continue;const t=n.hasAttribute("todoListChecked"),s=i.hasAttribute("todoListChecked");s&&!t?(o.removeAttribute("todoListChecked",i),e.return=!0):!s&&t&&(o.setAttribute("todoListChecked",!0,i),e.return=!0)}})),t.document.registerPostFixer((e=>{const o=t.document.differ.getChanges();let i=!1;for(const t of o)if("attribute"==t.type&&"listType"==t.attributeKey){const o=t.range.start.nodeAfter;"todo"==t.attributeOldValue&&o.hasAttribute("todoListChecked")&&(e.removeAttribute("todoListChecked",o),i=!0)}else if("insert"==t.type&&"$text"!=t.name)for(const{item:o}of e.createRangeOn(t.position.nodeAfter))o.is("element")&&"todo"!=o.getAttribute("listType")&&o.hasAttribute("todoListChecked")&&(e.removeAttribute("todoListChecked",o),i=!0);return i})),this.listenTo(o.view.document,"keydown",((t,o)=>{Ht(o)===Q_&&(e.execute("checkTodoList"),t.stop())}),{priority:"high"}),this.listenTo(o.view.document,"todoCheckboxChange",((e,t)=>{const i=t.target;if(!i||!i.is("element","input"))return;const n=o.view.createPositionAfter(i),s=o.mapper.toModelPosition(n).parent;s&&Uy(s)&&"todo"==s.getAttribute("listType")&&this._handleCheckmarkChange(s)})),this.listenTo(o.view.document,"arrowKey",function(e,t){return(o,i)=>{const n=Kt(i.keyCode,t.contentLanguageDirection),s=e.schema,r=e.document.selection;if(!r.isCollapsed)return;const a=r.getFirstPosition(),l=a.parent;if("right"==n&&a.isAtEnd){const t=s.getNearestSelectionRange(e.createPositionAfter(l),"forward");if(!t)return;const n=t.start.parent;n&&Uy(n)&&"todo"==n.getAttribute("listType")&&(e.change((e=>e.setSelection(t))),i.preventDefault(),i.stopPropagation(),o.stop())}else if("left"==n&&a.isAtStart&&Uy(l)&&"todo"==l.getAttribute("listType")){const t=s.getNearestSelectionRange(e.createPositionBefore(l),"backward");if(!t)return;e.change((e=>e.setSelection(t))),i.preventDefault(),i.stopPropagation(),o.stop()}}}(t,e.locale),{context:"$text"}),this.listenTo(o.mapper,"viewToModelPosition",((e,o)=>{const i=o.viewPosition.parent,n=i.is("attributeElement","li")&&0==o.viewPosition.offset,s=tk(i)&&o.viewPosition.offset<=1,r=i.is("element","span")&&"false"==i.getAttribute("contenteditable")&&tk(i.parent);if(!n&&!s&&!r)return;const a=o.modelPosition.nodeAfter;a&&"todo"==a.getAttribute("listType")&&(o.modelPosition=t.createPositionAt(a,0))}),{priority:"low"}),this._initAriaAnnouncements()}_handleCheckmarkChange(e){const t=this.editor,o=t.model,i=Array.from(o.document.selection.getRanges());o.change((o=>{o.setSelection(e,"end"),t.execute("checkTodoList"),o.setSelection(i)}))}_initAriaAnnouncements(){const{model:e,ui:t,t:o}=this.editor;let i=null;t&&e.document.selection.on("change:range",(()=>{const n=e.document.selection.focus.parent,s=ok(i),r=ok(n);s&&!r?t.ariaLiveAnnouncer.announce(o("Leaving a to-do list")):!s&&r&&t.ariaLiveAnnouncer.announce(o("Entering a to-do list")),i=n}))}}function X_(e){const t=new ui(e);return(e,o,i)=>{const n=t.match(o.viewItem);n&&i.consumable.consume(o.viewItem,n.match)&&Object.assign(o,i.convertChildren(o.viewItem,o.modelCursor))}}function ek(e,t){return(e.is("element","paragraph")||e.is("element","listItem"))&&"todo"==e.getAttribute("listType")&&Zy(e)&&function(e,t){for(const o of e.getAttributeKeys())if(!o.startsWith("selection:")&&!t.includes(o))return!1;return!0}(e,t)}function tk(e){return!!e&&e.is("attributeElement")&&e.hasClass("todo-list__label")}function ok(e){return!!e&&(!(!e.is("element","paragraph")&&!e.is("element","listItem"))&&"todo"==e.getAttribute("listType"))}class ik extends fc{static get pluginName(){return"TodoListUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.t;q_(this.editor,"todoList",e("To-do List"),'')}}const nk=Symbol("isOPCodeBlock");function sk(e){return!!e.getCustomProperty(nk)&&ip(e)}function rk(e){const t=e.getSelectedElement();return!(!t||!sk(t))}function ak(e,t,o){const i=t.createContainerElement("pre",{title:window.I18n.t("js.editor.macro.toolbar_help")});return lk(t,e,i),function(e,t,o){return t.setCustomProperty(nk,!0,e),np(e,t,{label:o})}(i,t,o)}function lk(e,t,o){const i=(t.getAttribute("opCodeblockLanguage")||"language-text").replace(/^language-/,""),n=e.createContainerElement("div",{class:"op-uc-code-block--language"});ck(e,i,n,"text"),e.insert(e.createPositionAt(o,0),n);ck(e,t.getAttribute("opCodeblockContent"),o,"(empty)")}function ck(e,t,o,i){const n=e.createText(t||i);e.insert(e.createPositionAt(o,0),n)}class dk extends jn{constructor(e){super(e),this.domEventType="dblclick"}onDomEvent(e){this.fire(e.type,e)}}class uk extends fc{static get pluginName(){return"CodeBlockEditing"}init(){const e=this.editor,t=e.model.schema,o=e.conversion,i=e.editing.view,n=i.document,s=Mp(e);var r,a;t.register("codeblock",{isObject:!0,isBlock:!0,allowContentOf:"$block",allowWhere:["$root","$block"],allowIn:["$root"],allowAttributes:["opCodeblockLanguage","opCodeblockContent"]}),o.for("upcast").add(function(){return t=>{t.on("element:pre",e,{priority:"high"})};function e(e,t,o){if(!o.consumable.test(t.viewItem,{name:!0}))return;const i=Array.from(t.viewItem.getChildren()).find((e=>e.is("element","code")));if(!i||!o.consumable.consume(i,{name:!0}))return;const n=o.writer.createElement("codeblock");o.writer.setAttribute("opCodeblockLanguage",i.getAttribute("class"),n);const s=o.splitToAllowedParent(n,t.modelCursor);if(s){o.writer.insert(n,s.position);const e=i.getChild(0);if(e){o.consumable.consume(e,{name:!0});const t=e.data.replace(/\n$/,"");o.writer.setAttribute("opCodeblockContent",t,n)}t.modelRange=o.writer.createRange(o.writer.createPositionBefore(n),o.writer.createPositionAfter(n)),t.modelCursor=t.modelRange.end}}}()),o.for("editingDowncast").elementToElement({model:"codeblock",view:(e,{writer:t})=>ak(e,t,"Code block")}).add(function(){return t=>{t.on("attribute:opCodeblockContent",e),t.on("attribute:opCodeblockLanguage",e)};function e(e,t,o){const i=t.item;o.consumable.consume(t.item,e.name);const n=o.mapper.toViewElement(i);o.writer.remove(o.writer.createRangeOn(n.getChild(1))),o.writer.remove(o.writer.createRangeOn(n.getChild(0))),lk(o.writer,i,n)}}()),o.for("dataDowncast").add(function(){return t=>{t.on("insert:codeblock",e,{priority:"high"})};function e(e,t,o){const i=t.item,n=i.getAttribute("opCodeblockLanguage")||"language-text",s=i.getAttribute("opCodeblockContent");o.consumable.consume(i,"insert");const r=o.writer,a=r.createContainerElement("pre"),l=r.createContainerElement("div",{class:"op-uc-code-block--language"}),c=r.createContainerElement("code",{class:n}),d=r.createText(n),u=r.createText(s);r.insert(r.createPositionAt(c,0),u),r.insert(r.createPositionAt(l,0),d),r.insert(r.createPositionAt(a,0),l),r.insert(r.createPositionAt(a,0),c),o.mapper.bindElements(i,c),o.mapper.bindElements(i,a),o.mapper.bindElements(i,l);const h=o.mapper.toViewPosition(t.range.start);r.insert(h,a),e.stop()}}()),this.editor.editing.mapper.on("viewToModelPosition",(r=this.editor.model,a=e=>e.hasClass("op-uc-code-block"),(e,t)=>{const{mapper:o,viewPosition:i}=t,n=o.findMappedViewAncestor(i);if(!a(n))return;const s=o.toModelElement(n);t.modelPosition=r.createPositionAt(s,i.isAtStart?"before":"after")})),i.addObserver(dk),this.listenTo(n,"dblclick",((t,o)=>{let i=o.target,n=o.domEvent;if(n.shiftKey||n.altKey||n.metaKey)return;if(!sk(i)&&(i=i.findAncestor(sk),!i))return;o.preventDefault(),o.stopPropagation();const r=e.editing.mapper.toModelElement(i),a=s.services.macros,l=r.getAttribute("opCodeblockLanguage"),c=r.getAttribute("opCodeblockContent");a.editCodeBlock(c,l).then((t=>e.model.change((e=>{e.setAttribute("opCodeblockLanguage",t.languageClass,r),e.setAttribute("opCodeblockContent",t.content,r)}))))})),e.ui.componentFactory.add("insertCodeBlock",(t=>{const o=new Lu(t);return o.set({label:window.I18n.t("js.editor.macro.code_block.button"),icon:'\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n image/svg+xml\n \n \n \n \n\n',tooltip:!0}),o.on("execute",(()=>{s.services.macros.editCodeBlock().then((t=>e.model.change((o=>{const i=o.createElement("codeblock");o.setAttribute("opCodeblockLanguage",t.languageClass,i),o.setAttribute("opCodeblockContent",t.content,i),e.model.insertContent(i,e.model.document.selection)}))))})),o}))}}class hk extends fc{static get requires(){return[Qm]}static get pluginName(){return"CodeBlockToolbar"}init(){const e=this.editor,t=this.editor.model,o=Mp(e);jp(e,"opEditCodeBlock",(e=>{const i=o.services.macros,n=e.getAttribute("opCodeblockLanguage"),s=e.getAttribute("opCodeblockContent");i.editCodeBlock(s,n).then((o=>t.change((t=>{t.setAttribute("opCodeblockLanguage",o.languageClass,e),t.setAttribute("opCodeblockContent",o.content,e)}))))}))}afterInit(){$p(this,this.editor,"OPCodeBlock",rk)}}function mk(e){return e.__currentlyDisabled=e.__currentlyDisabled||[],e.ui.view.toolbar?e.ui.view.toolbar.items._items:[]}function gk(e,t){mk(e).forEach((o=>{let i=o;o instanceof bh?i=o.buttonView:o!==t&&Object.prototype.hasOwnProperty.call(o,"isEnabled")||(i=null),i&&(i.isEnabled?i.isEnabled=!1:e.__currentlyDisabled.push(i))}))}function pk(e){mk(e).forEach((t=>{let o=t;t instanceof bh&&(o=t.buttonView),e.__currentlyDisabled.indexOf(o)<0&&(o.isEnabled=!0)})),e.__currentlyDisabled=[]}class fk{constructor(e){this.response=e}get statusCode(){return this.response.status}get redirected(){return this.response.redirected}get ok(){return this.response.ok}get unauthenticated(){return 401===this.statusCode}get unprocessableEntity(){return 422===this.statusCode}get authenticationURL(){return this.response.headers.get("WWW-Authenticate")}get contentType(){return(this.response.headers.get("Content-Type")||"").replace(/;.*$/,"")}get headers(){return this.response.headers}get html(){return this.contentType.match(/^(application|text)\/(html|xhtml\+xml)$/)?this.text:Promise.reject(new Error(`Expected an HTML response but got "${this.contentType}" instead`))}get json(){return this.contentType.match(/^application\/.*json$/)?this.responseJson||(this.responseJson=this.response.json()):Promise.reject(new Error(`Expected a JSON response but got "${this.contentType}" instead`))}get text(){return this.responseText||(this.responseText=this.response.text())}get isTurboStream(){return this.contentType.match(/^text\/vnd\.turbo-stream\.html/)}get isScript(){return this.contentType.match(/\b(?:java|ecma)script\b/)}async renderTurboStream(){if(!this.isTurboStream)return Promise.reject(new Error(`Expected a Turbo Stream response but got "${this.contentType}" instead`));window.Turbo?await window.Turbo.renderStreamMessage(await this.text):console.warn("You must set `window.Turbo = Turbo` to automatically process Turbo Stream events with request.js")}async activeScript(){if(!this.isScript)return Promise.reject(new Error(`Expected a Script response but got "${this.contentType}" instead`));{const e=document.createElement("script"),t=document.querySelector("meta[name=csp-nonce]");if(t){const o=""===t.nonce?t.content:t.nonce;o&&e.setAttribute("nonce",o)}e.innerHTML=await this.text,document.body.appendChild(e)}}}class bk{static register(e){this.interceptor=e}static get(){return this.interceptor}static reset(){this.interceptor=void 0}}function wk(e){const t=document.head.querySelector(`meta[name="${e}"]`);return t&&t.content}class yk{constructor(e,t,o={}){this.method=e,this.options=o,this.originalUrl=t.toString()}async perform(){try{const e=bk.get();e&&await e(this)}catch(e){console.error(e)}const e=window.Turbo?window.Turbo.fetch:window.fetch,t=new fk(await e(this.url,this.fetchOptions));if(t.unauthenticated&&t.authenticationURL)return Promise.reject(window.location.href=t.authenticationURL);t.isScript&&await t.activeScript();return(t.ok||t.unprocessableEntity)&&t.isTurboStream&&await t.renderTurboStream(),t}addHeader(e,t){const o=this.additionalHeaders;o[e]=t,this.options.headers=o}sameHostname(){if(!this.originalUrl.startsWith("http:")&&!this.originalUrl.startsWith("https:"))return!0;try{return new URL(this.originalUrl).hostname===window.location.hostname}catch(e){return!0}}get fetchOptions(){return{method:this.method.toUpperCase(),headers:this.headers,body:this.formattedBody,signal:this.signal,credentials:this.credentials,redirect:this.redirect,keepalive:this.keepalive}}get headers(){const e={"X-Requested-With":"XMLHttpRequest","Content-Type":this.contentType,Accept:this.accept};return this.sameHostname()&&(e["X-CSRF-Token"]=this.csrfToken),function(e){const t={};for(const o in e){const i=e[o];void 0!==i&&(t[o]=i)}return t}(Object.assign(e,this.additionalHeaders))}get csrfToken(){return function(e){const t=document.cookie?document.cookie.split("; "):[],o=`${encodeURIComponent(e)}=`,i=t.find((e=>e.startsWith(o)));if(i){const e=i.split("=").slice(1).join("=");if(e)return decodeURIComponent(e)}}(wk("csrf-param"))||wk("csrf-token")}get contentType(){return this.options.contentType?this.options.contentType:null==this.body||this.body instanceof window.FormData?void 0:this.body instanceof window.File?this.body.type:"application/json"}get accept(){switch(this.responseKind){case"html":return"text/html, application/xhtml+xml";case"turbo-stream":return"text/vnd.turbo-stream.html, text/html, application/xhtml+xml";case"json":return"application/json, application/vnd.api+json";case"script":return"text/javascript, application/javascript";default:return"*/*"}}get body(){return this.options.body}get query(){const e=(this.originalUrl.split("?")[1]||"").split("#")[0],t=new URLSearchParams(e);let o=this.options.query;var i;o instanceof window.FormData?(i=o,o=[...i].reduce(((e,[t,o])=>e.concat("string"==typeof o?[[t,o]]:[])),[])):o=o instanceof window.URLSearchParams?o.entries():Object.entries(o||{}),function(e,t){for(const[o,i]of t)i instanceof window.File||(e.has(o)&&!o.includes("[]")?(e.delete(o),e.set(o,i)):e.append(o,i))}(t,o);const n=t.toString();return n.length>0?`?${n}`:""}get url(){return this.originalUrl.split("?")[0].split("#")[0]+this.query}get responseKind(){return this.options.responseKind||"html"}get signal(){return this.options.signal}get redirect(){return this.options.redirect||"follow"}get credentials(){return this.options.credentials||"same-origin"}get keepalive(){return this.options.keepalive||!1}get additionalHeaders(){return this.options.headers||{}}get formattedBody(){const e="[object String]"===Object.prototype.toString.call(this.body);return"application/json"===this.headers["Content-Type"]&&!e?JSON.stringify(this.body):this.body}}async function _k(e,t){return new yk("get",e,t).perform()}function kk(e,t){const{modelAttribute:o,styleName:i,attributeName:n,attributeType:s,viewElement:r,defaultValue:a,shouldUpcast:l=()=>!0,reduceBoxSides:c=!1}=t;e.for("upcast").attributeToAttribute({view:{name:r,styles:{[i]:/[\s\S]+/}},model:{key:o,value:(e,t,o)=>{if(!l(e))return;const n=xk(a,"",o),s=e.getNormalizedStyle(i),r=c?Ek(s):s;if(n!==r)return r;t.consumable.consume(e,{styles:i})}}}),n&&e.for("upcast").attributeToAttribute({view:{name:r,attributes:{[n]:/.+/}},model:{key:o,value:(e,t,o)=>{if("figure"==e.name||e.hasStyle(i)||"table"==e.name&&"figure"==e.parent.name&&e.parent.hasStyle(i))return;const r=xk(a,"",o);let l=e.getAttribute(n);if(l&&"length"==s){const e=parseFloat(l);l=isNaN(e)?r:e+(l.includes("%")?"%":"px")}if(r!==l)return l;t.consumable.consume(e,{attributes:n})}}})}function vk(e,t,o,i){const{conversion:n}=e;n.for("upcast").add((e=>{e.on(`element:${t}`,((e,t,n)=>{const{modelRange:s,viewItem:r}=t;if(!s)return;const a=["border-top-width","border-top-color","border-top-style","border-bottom-width","border-bottom-color","border-bottom-style","border-right-width","border-right-color","border-right-style","border-left-width","border-left-color","border-left-style"].filter((e=>r.hasStyle(e))),l=r.is("element","table")?r:r.findAncestor("table"),c=l.hasAttribute("border");if(!a.length&&!c)return;const d={styles:a};if(!n.consumable.test(r,d))return;const u=to(s.getItems({shallow:!0})),h=u.findAncestor("table",{includeSelf:!0});let m=i;h&&"layout"==h.getAttribute("tableType")&&(m={style:"none",color:"",width:""}),n.consumable.consume(r,d);const g={style:r.getNormalizedStyle("border-style"),color:r.getNormalizedStyle("border-color"),width:r.getNormalizedStyle("border-width")};if(c&&n.consumable.test(l,{attributes:"border"})){const e=parseFloat(l.getAttribute("border")||"1"),t=Number.isNaN(e)||!Number.isFinite(e)||e<0||"table"!=r.name&&e>1?"1px":`${e}px`;g.width={top:t,bottom:t,right:t,left:t,...g.width||{}},r.is("element","table")&&n.consumable.consume(l,{attributes:"border"})}const p={style:Ek(g.style),color:Ek(g.color),width:Ek(g.width)};p.style!==m.style&&n.writer.setAttribute(o.style,p.style,u),p.color!==m.color&&n.writer.setAttribute(o.color,p.color,u),p.width!==m.width&&n.writer.setAttribute(o.width,p.width,u)}))}))}function Ck(e,t){const{modelElement:o,modelAttribute:i,styleName:n}=t;e.for("downcast").attributeToAttribute({model:{name:o,key:i},view:e=>({key:"style",value:{[n]:e}})})}function Ak(e,t){const{modelAttribute:o,styleName:i}=t;e.for("downcast").add((e=>{e.on(`attribute:${o}:table`,((e,t,o)=>{const{item:n,attributeNewValue:s}=t,{mapper:r,writer:a}=o;if(!o.consumable.consume(t.item,e.name))return;const l=Array.from(r.toViewElement(n).getChildren()).find((e=>e.is("element","table")));s?a.setStyle(i,s,l):a.removeStyle(i,l)}))}))}function xk(e,t,o){const i=o.modelRange&&to(o.modelRange.getItems({shallow:!0})),n=i&&i.is("element")&&i.findAncestor("table",{includeSelf:!0});return n&&"layout"===n.getAttribute("tableType")?t:e}function Ek(e){if(!e)return;const t=["top","right","bottom","left"];if(!t.every((t=>e[t])))return e;const o=e.top;return t.every((t=>e[t]===o))?o:e}function Tk(e,t,o){const{conversion:i}=e;i.for("upcast").add((e=>{e.on(`element:${t}`,((e,t,i)=>{const{modelRange:n,viewItem:s}=t;if(!n)return;if(s.is("element","table"))return void i.consumable.consume(s,{attributes:"cellpadding"});const r=s.findAncestor("table");if(!r.hasAttribute("cellpadding")||!i.consumable.test(r,{attributes:"cellpadding"}))return;const a=n?.start?.nodeAfter,l=parseFloat(r.getAttribute("cellpadding")||"1"),c=Number.isNaN(l)||!Number.isFinite(l)||l<0?"0px":`${l}px`,d=a.getAttribute("tableCellPadding");if(d){if("object"==typeof d){const e={...o!==c&&{top:c},...o!==c&&{right:c},...o!==c&&{bottom:c},...o!==c&&{left:c},...d};i.writer.setAttribute("tableCellPadding",e,a)}}else o!==c&&i.writer.setAttribute("tableCellPadding",c,a)}),{priority:"low"})}))}const Pk={className:"table-style-align-left"},Sk={className:"table-style-align-center"},Ik={className:"table-style-align-right"},Rk={className:"table-style-block-align-left"},Ok={className:"table-style-block-align-right"},Vk=[{view:{name:/^(table|figure)$/,styles:{float:/^(left|none|right)$/}},getAlign:e=>{let t=e.getStyle("float");return"none"===t&&(t="center"),t},getConsumables(e){const t=e.getStyle("float"),o=["float"];return"left"===t&&e.hasStyle("margin-right")?o.push("margin-right"):"right"===t&&e.hasStyle("margin-left")&&o.push("margin-left"),{styles:o}}},{view:{name:/^(table|figure)$/,styles:{"margin-left":"auto","margin-right":"auto"}},getAlign:()=>"center",getConsumables:()=>({styles:["margin-left","margin-right"]})},{view:{name:/^(table|figure)$/,key:"class",value:"table-style-align-left"},getAlign:()=>"left",getConsumables:()=>({classes:Pk.className})},{view:{name:/^(table|figure)$/,key:"class",value:Ik.className},getAlign:()=>"right",getConsumables:()=>({classes:Ik.className})},{view:{name:/^(table|figure)$/,key:"class",value:Sk.className},getAlign:()=>"center",getConsumables:()=>({classes:Sk.className})},{view:{name:/^(table|figure)$/,key:"class",value:Rk.className},getAlign:()=>"blockLeft",getConsumables:()=>({classes:Rk.className})},{view:{name:/^(table|figure)$/,key:"class",value:Ok.className},getAlign:()=>"blockRight",getConsumables:()=>({classes:Ok.className})},{view:{name:/^(table|figure)$/,styles:{"margin-left":"0","margin-right":"auto"}},getAlign:()=>"blockLeft",getConsumables:()=>({styles:["margin-left","margin-right"]})},{view:{name:/^(table|figure)$/,styles:{"margin-left":"auto","margin-right":"0"}},getAlign:()=>"blockRight",getConsumables:()=>({styles:["margin-left","margin-right"]})},{view:{name:"table",attributes:{align:/^(left|center|right)$/}},getAlign:e=>e.getAttribute("align"),getConsumables:()=>({attributes:"align"})}],Dk={center:{align:"center",style:"margin-left: auto; margin-right: auto;",className:"table-style-align-center"},left:{align:"left",style:"float: left;",className:"table-style-align-left"},right:{align:"right",style:"float: right;",className:"table-style-align-right"},blockLeft:{align:void 0,style:"margin-left: 0; margin-right: auto;",className:Rk.className},blockRight:{align:void 0,style:"margin-left: auto; margin-right: 0;",className:Ok.className}};class Fk{_table;_startRow;_endRow;_startColumn;_endColumn;_includeAllSlots;_skipRows;_row;_rowIndex;_column;_cellIndex;_spannedCells;_nextCellAtColumn;_jumpedToStartRow=!1;constructor(e,t={}){this._table=e,this._startRow=void 0!==t.row?t.row:t.startRow||0,this._endRow=void 0!==t.row?t.row:t.endRow,this._startColumn=void 0!==t.column?t.column:t.startColumn||0,this._endColumn=void 0!==t.column?t.column:t.endColumn,this._includeAllSlots=!!t.includeAllSlots,this._skipRows=new Set,this._row=0,this._rowIndex=0,this._column=0,this._cellIndex=0,this._spannedCells=new Map,this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){this._canJumpToStartRow()&&this._jumpToNonSpannedRowClosestToStartRow();const e=this._table.getChild(this._rowIndex);if(!e||this._isOverEndRow())return{done:!0,value:void 0};if(!e.is("element","tableRow"))return this._rowIndex++,this.next();if(this._isOverEndColumn())return this._advanceToNextRow();let t=null;const o=this._getSpanned();if(o)this._includeAllSlots&&!this._shouldSkipSlot()&&(t=this._formatOutValue(o.cell,o.row,o.column));else{const o=e.getChild(this._cellIndex);if(!o)return this._advanceToNextRow();const i=parseInt(o.getAttribute("colspan")||"1"),n=parseInt(o.getAttribute("rowspan")||"1");(i>1||n>1)&&this._recordSpans(o,n,i),this._shouldSkipSlot()||(t=this._formatOutValue(o)),this._nextCellAtColumn=this._column+i}return this._column++,this._column==this._nextCellAtColumn&&this._cellIndex++,t||this.next()}skipRow(e){this._skipRows.add(e)}_advanceToNextRow(){return this._row++,this._rowIndex++,this._column=0,this._cellIndex=0,this._nextCellAtColumn=-1,this.next()}_isOverEndRow(){return void 0!==this._endRow&&this._row>this._endRow}_isOverEndColumn(){return void 0!==this._endColumn&&this._column>this._endColumn}_formatOutValue(e,t=this._row,o=this._column){return{done:!1,value:new Mk(this,e,t,o)}}_shouldSkipSlot(){const e=this._skipRows.has(this._row),t=this._rowthis._endColumn;return e||t||o||i}_getSpanned(){const e=this._spannedCells.get(this._row);return e&&e.get(this._column)||null}_recordSpans(e,t,o){const i={cell:e,row:this._row,column:this._column};for(let e=this._row;e0&&!this._jumpedToStartRow}_jumpToNonSpannedRowClosestToStartRow(){const e=this._getRowLength(0);for(let t=this._startRow;!this._jumpedToStartRow;t--)e===this._getRowLength(t)&&(this._row=t,this._rowIndex=t,this._jumpedToStartRow=!0)}_getRowLength(e){return[...this._table.getChild(e).getChildren()].reduce(((e,t)=>e+parseInt(t.getAttribute("colspan")||"1")),0)}}class Mk{cell;row;column;cellAnchorRow;cellAnchorColumn;_cellIndex;_rowIndex;_table;constructor(e,t,o,i){this.cell=t,this.row=e._row,this.column=e._column,this.cellAnchorRow=o,this.cellAnchorColumn=i,this._cellIndex=e._cellIndex,this._rowIndex=e._rowIndex,this._table=e._table}get isAnchor(){return this.row===this.cellAnchorRow&&this.column===this.cellAnchorColumn}get cellWidth(){return parseInt(this.cell.getAttribute("colspan")||"1")}get cellHeight(){return parseInt(this.cell.getAttribute("rowspan")||"1")}get rowIndex(){return this._rowIndex}getPositionBefore(){return this._table.root.document.model.createPositionAt(this._table.getChild(this.row),this._cellIndex)}}function Nk(e){return"header"===e||"header-row"===e||"header-column"===e}function Bk(e,t,o,i,n=1){null!=t&&null!=n&&t>n?i.setAttribute(e,t,o):i.removeAttribute(e,o)}function Lk(e,t,o={}){const i=e.createElement("tableCell",o);return e.insertElement("paragraph",i),e.insert(i,t),i}function zk(e,t){const o=t.parent.parent,i=parseInt(o.getAttribute("headingColumns")||"0"),{column:n}=e.getCellLocation(t);return!!i&&n0){Bk("headingRows",s-o,e,n,0)}const r=parseInt(t.getAttribute("headingColumns")||"0");if(r>0){Bk("headingColumns",r-i,e,n,0)}}(a,e,i,n,o),function(e,t,o,i,n){const s=Array.from(t.getChildren()).reduce(((e,t)=>t.is("element","tableRow")?e+1:e),0),r=parseInt(t.getAttribute("footerRows")||"0"),a=s-r;if(r<1)return;let l=0;i>=a&&(l=i-Math.max(a,o)+1);Bk("footerRows",l,e,n,0)}(a,e,i,s,o),a}function Uk(e,t,o=0){const i=[],n=new Fk(e,{startRow:o,endRow:t-1});for(const e of n){const{row:o,cellHeight:n}=e;o1&&(a.rowspan=l);const c=parseInt(e.getAttribute("colspan")||"1");c>1&&(a.colspan=c);const d=s+r,u=[...new Fk(n,{startRow:s,endRow:d,includeAllSlots:!0})];let h,m=null;for(const t of u){const{row:i,column:n,cell:s}=t;s===e&&void 0===h&&(h=n),void 0!==h&&h===n&&i===d&&(m=Lk(o,t.getPositionBefore(),a))}return Bk("rowspan",r,e,o),m}function Gk(e,t){const o=[],i=new Fk(e);for(const e of i){const{column:i,cellWidth:n}=e;i1&&(s.colspan=r);const a=parseInt(e.getAttribute("rowspan")||"1");a>1&&(s.rowspan=a);const l=Lk(i,i.createPositionAfter(e),s);return Bk("colspan",n,e,i),l}function Zk(e,t,o,i,n,s){const r=parseInt(e.getAttribute("colspan")||"1"),a=parseInt(e.getAttribute("rowspan")||"1");if(o+r-1>n){Bk("colspan",n-o+1,e,s,1)}if(t+a-1>i){Bk("rowspan",i-t+1,e,s,1)}}function Qk(e,t){const o=t.getColumns(e),i=new Array(o).fill(0);for(const{column:t}of new Fk(e))i[t]++;const n=i.reduce(((e,t,o)=>t?e:[...e,o]),[]);if(n.length>0){const o=n[n.length-1];return t.removeColumns(e,{at:o}),!0}return!1}function Yk(e,t){const o=[],i=t.getRows(e);for(let t=0;t0){const i=o[o.length-1];return t.removeRows(e,{at:i}),!0}return!1}function Xk(e,t){Qk(e,t)||Yk(e,t)}function ev(e,t){const o=Array.from(new Fk(e,{startColumn:t.firstColumn,endColumn:t.lastColumn,row:t.lastRow}));if(o.every((({cellHeight:e})=>1===e)))return t.lastRow;const i=o[0].cellHeight-1;return t.lastRow+i}function tv(e,t){const o=Array.from(new Fk(e,{startRow:t.firstRow,endRow:t.lastRow,column:t.lastColumn}));if(o.every((({cellWidth:e})=>1===e)))return t.lastColumn;const i=o[0].cellWidth-1;return t.lastColumn+i}function ov(e){for(const t of e.getChildren())if(t.is("element","table"))return t}function iv(e){return t=>{t.on("element:table",((t,o,i)=>{const n=o.viewItem;if(!i.consumable.test(n,{name:!0}))return;const{rows:s,headingRows:r,headingColumns:a,footerRows:l}=function(e){let t,o=!0;const i=[],n=[],s=[];let r=null,a=null;const l=Array.from(e.getChildren());for(let e=0;ee.is("element","tr")));let d=null,u=null;for(const h of c){const m=Array.from(h.getChildren()).filter((e=>e.is("element","td")||e.is("element","th")));if("tfoot"===t.name){a||={element:t,rows:c},o=!1;const i=a.element===t;if(!i&&null===u)for(let t=e;t0&&(null===d||m.length===d)&&m.every((e=>e.is("element","th")))&&o?(i.push(h),o=!0):(n.push(h),o=!1),d=Math.max(d||0,m.length)}}const c=function(e){let t=new Map,o=0;const i=e.map((e=>{const i=[],n=Array.from(e.getChildren()).filter((e=>"th"===e.name||"td"===e.name)),s=new Map;for(;n.length||i.length0)i.push(e.cell);else{const e=n.shift();if(!e){i.push(null);continue}{const t=parseInt(e.getAttribute("colspan")||"1"),o=parseInt(e.getAttribute("rowspan")||"1");for(let n=0;n1&&s.set(i.length,{cell:e,remaining:o-1}),i.push(e)}}}for(const[e,o]of t.entries())o.remaining-=1,o.remaining>0&&!s.has(e)&&s.set(e,o);return t=s,o=Math.max(o,i.length),i}));for(const e of i)for(;e.lengthi.convertItem(e,i.writer.createPositionAt(d,"end")))),i.convertChildren(n,i.writer.createPositionAt(d,"end")),d.isEmpty){const e=i.writer.createElement("tableRow");i.writer.insert(e,i.writer.createPositionAt(d,"end")),Lk(i.writer,i.writer.createPositionAt(e,"end"))}i.updateConversionResult(d,o)}}))}}function nv(e){return t=>{t.on(`element:${e}`,((e,t,{writer:o})=>{if(!t.modelRange)return;const i=t.modelRange.start.nodeAfter,n=o.createPositionAt(i,0);if(t.viewItem.isEmpty)return void o.insertElement("paragraph",n);const s=Array.from(i.getChildren());if(s.every((e=>e.is("element","$marker")))){const e=o.createElement("paragraph");o.insert(e,o.createPositionAt(i,0));for(const t of s)o.move(o.createRangeOn(t),o.createPositionAt(e,"end"))}}),{priority:"low"})}}function sv(e){if(e.is("element","tableColumnGroup"))return e;const t=e.getChildren();return Array.from(t).find((e=>e.is("element","tableColumnGroup")))}function rv(e){const t=sv(e);return t?Array.from(t.getChildren()):[]}class av extends fc{static get pluginName(){return"TableUtils"}static get isOfficialPlugin(){return!0}init(){this.decorate("insertColumns"),this.decorate("insertRows")}getCellLocation(e){const t=e.parent,o=t.parent,i=o.getChildIndex(t),n=new Fk(o,{row:i});for(const{cell:t,row:o,column:i}of n)if(t===e)return{row:o,column:i}}createTable(e,t){const o=e.createElement("table");return lv(e,o,0,t.rows||2,t.columns||2),t.footerRows&&this.setFooterRowsCount(e,o,t.footerRows),t.headingRows&&this.setHeadingRowsCount(e,o,t.headingRows),t.headingColumns&&this.setHeadingColumnsCount(e,o,t.headingColumns),o}insertRows(e,t={}){const o=this.editor.model,i=t.at||0,n=t.rows||1,s=void 0!==t.copyStructureFromAbove,r=t.copyStructureFromAbove?i-1:i,a=Hk(this.editor),l=!!this.editor.config.get("table.tableCellProperties.scopedHeaders"),c=this.getRows(e),d=this.getColumns(e);if(i>c)throw new fe("tableutils-insertrows-insert-out-of-range",this,{options:t});o.change((t=>{let o=e.getAttribute("headingRows")||0,u=e.getAttribute("footerRows")||0;if(o>i&&(o+=n),u&&i>c-u&&(u+=n),s||0!==i&&i!==c){const o=s?Math.max(i,r):i,c=new Fk(e,{endRow:o}),u=new Array(d).fill(1);for(const{row:e,column:o,cellHeight:a,cellWidth:l,cell:d}of c){const c=e+a-1,h=e<=r&&r<=c;e0){const n=Lk(t,c,r>1?{colspan:r}:void 0);a&&hv({table:e,writer:t,cell:n,row:i+o,column:s,scopedHeaders:l})}s+=Math.abs(r)-1}}}else{const o=lv(t,e,i,n,d);if(a)for(let n=0;n{let o=e.getAttribute("headingColumns");in-1)throw new fe("tableutils-removerows-row-index-out-of-range",this,{table:e,options:t});o.change((t=>{const o={first:s,last:r},{cellsToMove:i,cellsToTrim:a}=function(e,{first:t,last:o}){const i=new Map,n=[];for(const{row:s,column:r,cellHeight:a,cell:l}of new Fk(e,{endRow:o})){const e=s+a-1;if(s>=t&&s<=o&&e>o){const e=a-(o-s+1);i.set(r,{cell:l,rowspan:e})}if(s=t){let i;i=e>=o?o-t+1:e-t+1,n.push({cell:l,rowspan:a-i})}}return{cellsToMove:i,cellsToTrim:n}}(e,o);if(i.size){!function(e,t,o,i){const n=new Fk(e,{includeAllSlots:!0,row:t}),s=[...n],r=e.getChild(t);let a;for(const{column:e,cell:t,isAnchor:n}of s)if(o.has(e)){const{cell:t,rowspan:n}=o.get(e),s=a?i.createPositionAfter(a):i.createPositionAt(r,0);i.move(i.createRangeOn(t),s),Bk("rowspan",n,t,i),a=t}else n&&(a=t)}(e,r+1,i,t)}for(let o=r;o>=s;o--)t.remove(e.getChild(o));for(const{rowspan:e,cell:o}of a)Bk("rowspan",e,o,t);if(function(e,{first:t,last:o},i){const n=e.getAttribute("headingRows")||0;if(t=r){Bk("footerRows",o>=r?s-(i-o+1):t-1-i,e,n,0)}}(e,n,o,t),Qk(e,this)||Yk(e,this),Hk(this.editor)){let o=e.getAttribute("headingRows")||0;const i=this.getRows(e);for(;o{!function(e,t,o){const i=e.getAttribute("headingColumns")||0;if(i&&t.first=i;n--){for(const{cell:o,column:i,cellWidth:s}of[...new Fk(e)])i<=n&&s>1&&i+s>n?Bk("colspan",s-1,o,t):i===n&&t.remove(o);if(o[n]){const e=0===n?o[1]:o[n-1],i=parseFloat(o[n].getAttribute("columnWidth")),s=parseFloat(e.getAttribute("columnWidth"));t.remove(o[n]),t.setAttribute("columnWidth",i+s+"%",e)}}if(Yk(e,this)||Qk(e,this),Hk(this.editor)){let o=e.getAttribute("headingColumns")||0;const i=this.getColumns(e);for(;o{if(s>1){const{newCellsSpan:i,updatedSpan:r}=dv(s,t);Bk("colspan",r,e,o);const a={};i>1&&(a.colspan=i),n>1&&(a.rowspan=n);cv(s>t?t-1:s-1,o,o.createPositionAfter(e),a)}if(st===e)),c=a.filter((({cell:t,cellWidth:o,column:i})=>t!==e&&i===l||il));for(const{cell:e,cellWidth:t}of c)o.setAttribute("colspan",t+r,e);const d={};n>1&&(d.rowspan=n),cv(r,o,o.createPositionAfter(e),d);const u=i.getAttribute("headingColumns")||0;u>l&&Bk("headingColumns",u+r,i,o)}}))}splitCellHorizontally(e,t=2){const o=this.editor.model,i=e.parent,n=i.parent,s=n.getChildIndex(i),r=parseInt(e.getAttribute("rowspan")||"1"),a=parseInt(e.getAttribute("colspan")||"1");o.change((o=>{if(r>1){const i=[...new Fk(n,{startRow:s,endRow:s+r-1,includeAllSlots:!0})],{newCellsSpan:l,updatedSpan:c}=dv(r,t);Bk("rowspan",c,e,o);const{column:d}=i.find((({cell:t})=>t===e)),u={};l>1&&(u.rowspan=l),a>1&&(u.colspan=a);let h=0;for(const e of i){const{column:t,row:i}=e,n=t===d;h>=l&&n&&(h=0),i>=s+c&&n&&(h||cv(1,o,e.getPositionBefore(),u),h++)}}if(rs){const e=n+i;o.setAttribute("rowspan",e,t)}const d={};a>1&&(d.colspan=a),lv(o,n,s+1,i,1,d);const u=n.getAttribute("headingRows")||0;u>s&&Bk("headingRows",u+i,n,o);const h=n.getAttribute("footerRows")||0;l-h<=s&&Bk("footerRows",h+i,n,o)}}))}getColumns(e){return[...e.getChild(0).getChildren()].filter((e=>e.is("element","tableCell"))).reduce(((e,t)=>e+parseInt(t.getAttribute("colspan")||"1")),0)}getRows(e){return Array.from(e.getChildren()).reduce(((e,t)=>t.is("element","tableRow")?e+1:e),0)}createTableWalker(e,t={}){return new Fk(e,t)}getSelectedTableCells(e){const t=[];for(const o of this.sortRanges(e.getRanges())){const e=o.getContainedElement();e&&e.is("element","tableCell")&&t.push(e)}return t}setFooterRowsCount(e,t,o){if(!this.editor.config.get("table.enableFooters"))return;const i=t.getAttribute("headingRows")||0,n=this.getRows(t),s=Math.min(o,n);if(Bk("footerRows",s,t,e,0),i+s>n){const o=n-s;this.setHeadingRowsCount(e,t,o)}}setHeadingRowsCount(e,t,o,i={}){const{updateCellType:n=!0,resetFormerHeadingCells:s=!0,autoExpand:r=!0}=i,a=this.getRows(t),l=!!this.editor.config.get("table.tableCellProperties.scopedHeaders"),c=t.getAttribute("headingRows")||0;let d=Math.min(o,a);if(d===c)return;Bk("headingRows",d,t,e,0);if(d+(t.getAttribute("footerRows")||0)>a){const o=a-d;this.setFooterRowsCount(e,t,o)}if(Hk(this.editor)){if(n){for(const{cell:o,row:i,column:n}of new Fk(t,{endRow:d-1}))hv({table:t,writer:e,cell:o,row:i,column:n,scopedHeaders:l});if(s&&dc){for(;dl){for(;de.parent.index));return this._getFirstLastIndexesObject(t)}getColumnIndexes(e){const t=e[0].findAncestor("table"),o=[...new Fk(t)].filter((t=>e.includes(t.cell))).map((e=>e.column));return this._getFirstLastIndexesObject(o)}isSelectionRectangular(e){if(e.length<2||!this._areCellInTheSameTableSection(e))return!1;const t=new Set,o=new Set;let i=0;for(const n of e){const{row:e,column:s}=this.getCellLocation(n),r=parseInt(n.getAttribute("rowspan"))||1,a=parseInt(n.getAttribute("colspan"))||1;t.add(e),o.add(s),r>1&&t.add(e+r-1),a>1&&o.add(s+a-1),i+=r*a}const n=function(e,t){const o=Array.from(e.values()),i=Array.from(t.values()),n=Math.max(...o),s=Math.min(...o),r=Math.max(...i),a=Math.min(...i);return(n-s+1)*(r-a+1)}(t,o);return n==i}sortRanges(e){return Array.from(e).sort(uv)}_getFirstLastIndexesObject(e){const t=e.sort(((e,t)=>e-t));return{first:t[0],last:t[t.length-1]}}_areCellInTheSameTableSection(e){const t=e[0].findAncestor("table"),o=this.getRows(t),i=this.getRowIndexes(e),n=parseInt(t.getAttribute("headingRows"))||0,s=parseInt(t.getAttribute("footerRows"))||0;if(!this._areIndexesInSameHeadingSection(i,n)||!this._areIndexesInSameFooterSection(i,o,s))return!1;const r=this.getColumnIndexes(e),a=parseInt(t.getAttribute("headingColumns"))||0;return this._areIndexesInSameHeadingSection(r,a)}_areIndexesInSameHeadingSection({first:e,last:t},o){return e=n===t>=n}}function lv(e,t,o,i,n,s={}){const r=[];for(let a=0;a=r&&i>=a)return void e.removeAttribute("tableCellType",n);let l="header";s&&(l=o{const n=o.getAttribute("headingRows")||0,s=o.getAttribute("footerRows")||0,r=i.createContainerElement("table",null,[]),a=i.createContainerElement("figure",{class:"table"},r),l=e.getRows(o);n>0&&i.insert(i.createPositionAt(r,"end"),i.createContainerElement("thead",null,i.createSlot((e=>e.is("element","tableRow")&&e.indexe.is("element","tableRow")&&e.index>=n&&e.index0&&i.insert(i.createPositionAt(r,"end"),i.createContainerElement("tfoot",null,i.createSlot((e=>e.is("element","tableRow")&&e.index>=l-s))));for(const{positionOffset:e,filter:o}of t.additionalSlots)i.insert(i.createPositionAt(r,e),i.createSlot(o));return i.insert(i.createPositionAt(r,"after"),i.createSlot((e=>!e.is("element","tableRow")&&!t.additionalSlots.some((({filter:t})=>t(e)))))),t.asWidget?function(e,t){return t.setCustomProperty("table",!0,e),np(e,t,{hasSelectionHandle:!0})}(a,i):a}}function yv(e){return(o,{writer:i})=>{if(e.cellTypeEnabled?.()){return t(i,Nk(o.getAttribute("tableCellType"))?"th":"td")}const n=o.parent,s=n.parent,r=s.getChildIndex(n),a=new Fk(s,{row:r}),l=s.getAttribute("headingRows")||0,c=s.getAttribute("headingColumns")||0;let d=null;for(const e of a)if(e.cell==o){d=t(i,e.row{if(!t.parent.is("element","tableCell"))return null;if(!kv(t))return null;if(e.asWidget)return o.createContainerElement("span",{class:"ck-table-bogus-paragraph"});{const e=o.createContainerElement("p");return o.setCustomProperty("dataPipeline:transparentRendering",!0,e),e}}}function kv(e){return 1==e.parent.childCount&&!function(e){for(const t of e.getAttributeKeys())if(!t.startsWith("selection:")&&"htmlEmptyBlock"!=t)return!0;return!1}(e)}function vv(e){return(t,o)=>{const i=e.plugins.has("PlainTableOutput"),n=o.options.isClipboardPipeline,s=Av(e,t);return i||s||n?function(e,t,o){const i=o.plugins.get(av),n=t.writer,s=i.getRows(e),r=e.getAttribute("headingRows")||0,a=e.getAttribute("footerRows")||0,l=s-a,c=n.createSlot((e=>e.is("element","tableRow")&&e.indexe.is("element","tableRow")&&e.index>=r&&e.indexe.is("element","tableRow")&&e.index>=l)),h=n.createSlot((e=>!e.is("element","tableRow"))),m=n.createContainerElement("thead",null,c),g=n.createContainerElement("tbody",null,d),p=n.createContainerElement("tfoot",null,u),f=[];r&&f.push(m);r+a{const n=e.plugins.has("PlainTableOutput"),s=i.isClipboardPipeline,r=Av(e,t);return(n||r||s)&&"table"===t.parent.name?o.createContainerElement("caption"):null}}function Av(e,t){const o=e.plugins.has("TableLayoutEditing"),i=e.config.get("table.tableLayout.stripFigureFromContentTable")??!1,n=t.findAncestor("table",{includeSelf:!0}),s=n?.getAttribute("tableType");return o&&(i||"layout"===s)}class xv extends wc{refresh(){const e=this.editor.model,t=e.document.selection,o=e.schema;this.isEnabled=function(e,t){const o=e.getFirstPosition().parent,i=o===o.root?o:o.parent;return t.checkChild(i,"table")}(t,o)}execute(e={}){const t=this.editor,o=t.model,i=t.plugins.get("TableUtils"),n=!!t.config.get("table.enableFooters"),s=t.config.get("table.defaultHeadings.rows"),r=t.config.get("table.defaultHeadings.columns"),a=t.config.get("table.defaultFooters");void 0===e.headingRows&&s&&(e.headingRows=s),void 0===e.headingColumns&&r&&(e.headingColumns=r),n&&void 0===e.footerRows&&a&&(e.footerRows=a),!n&&"footerRows"in e&&delete e.footerRows,o.change((t=>{const n=i.createTable(t,e);o.insertObject(n,null,null,{findOptimalPosition:"auto"}),t.setSelection(t.createPositionAt(n.getNodeByPath([0,0,0]),0))}))}}class Ev extends wc{order;constructor(e,t={}){super(e),this.order=t.order||"below"}refresh(){const e=this.editor.model.document.selection,t=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=t}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),i="above"===this.order,n=o.getSelectionAffectedTableCells(t),s=o.getRowIndexes(n),r=i?s.first:s.last,a=n[0].findAncestor("table");o.insertRows(a,{at:i?r:r+1,copyStructureFromAbove:!i})}}class Tv extends wc{order;constructor(e,t={}){super(e),this.order=t.order||"right"}refresh(){const e=this.editor.model.document.selection,t=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=t}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),i="left"===this.order,n=o.getSelectionAffectedTableCells(t),s=o.getColumnIndexes(n),r=i?s.first:s.last,a=n[0].findAncestor("table");o.insertColumns(a,{columns:1,at:i?r:r+1})}}class Pv extends wc{direction;constructor(e,t={}){super(e),this.direction=t.direction||"horizontally"}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=1===e.length}execute(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection)[0];"horizontally"===this.direction?e.splitCellHorizontally(t,2):e.splitCellVertically(t,2)}}class Sv extends wc{direction;isHorizontal;constructor(e,t){super(e),this.direction=t.direction,this.isHorizontal="right"==this.direction||"left"==this.direction}refresh(){const e=this._getMergeableCell();this.value=e,this.isEnabled=!!e}execute(){const e=this.editor.model,t=e.document,o=this.editor.plugins.get("TableUtils").getTableCellsContainingSelection(t.selection)[0],i=this.value,n=this.direction;e.change((e=>{const t="right"==n||"down"==n,s=t?o:i,r=t?i:o,a=r.parent;!function(e,t,o){Iv(e)||(Iv(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end")));o.remove(e)}(r,s,e);const l=this.isHorizontal?"colspan":"rowspan",c=parseInt(o.getAttribute(l)||"1"),d=parseInt(i.getAttribute(l)||"1");e.setAttribute(l,c+d,s),e.setSelection(e.createRangeIn(s));const u=this.editor.plugins.get("TableUtils");Xk(a.findAncestor("table"),u)}))}_getMergeableCell(){const e=this.editor.model.document,t=this.editor.plugins.get("TableUtils"),o=t.getTableCellsContainingSelection(e.selection)[0];if(!o)return;const i=this.isHorizontal?function(e,t,o){const i=e.parent,n=i.parent,s="right"==t?e.nextSibling:e.previousSibling,r=(n.getAttribute("headingColumns")||0)>0;if(!s)return;const a="right"==t?e:s,l="right"==t?s:e,{column:c}=o.getCellLocation(a),{column:d}=o.getCellLocation(l),u=parseInt(a.getAttribute("colspan")||"1"),h=zk(o,a),m=zk(o,l);if(r&&h!=m)return;return c+u===d?s:void 0}(o,this.direction,t):function(e,t,o){const i=e.parent,n=i.parent,s=n.getChildIndex(i),r=o.getRows(n);if("down"==t&&s===r-1||"up"==t&&0===s)return null;const a=parseInt(e.getAttribute("rowspan")||"1"),l=n.getAttribute("headingRows")||0,c=n.getAttribute("footerRows")||0,d=r-c,u="up"==t&&s===d,h="up"==t&&s===l,m="down"==t&&s+a===l,g="down"==t&&s+a===d;if(l&&(m||h))return null;if(c&&(u||g))return null;const p=parseInt(e.getAttribute("rowspan")||"1"),f="down"==t?s+p:s,b=[...new Fk(n,{endRow:f})],w=b.find((t=>t.cell===e)),y=w.column,_=b.find((({row:e,cellHeight:o,column:i})=>i===y&&("down"==t?e===f:f===e+o)));return _&&_.cell?_.cell:null}(o,this.direction,t);if(!i)return;const n=this.isHorizontal?"rowspan":"colspan",s=parseInt(o.getAttribute(n)||"1");return parseInt(i.getAttribute(n)||"1")===s?i:void 0}}function Iv(e){const t=e.getChild(0);return 1==e.childCount&&t.is("element","paragraph")&&t.isEmpty}class Rv extends wc{refresh(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){const i=o.findAncestor("table"),n=e.getRows(i)-1,s=e.getRowIndexes(t),r=0===s.first&&s.last===n;this.isEnabled=!r}else this.isEnabled=!1}execute(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),i=t.getRowIndexes(o),n=o[0],s=n.findAncestor("table"),r=t.getCellLocation(n).column;e.change((e=>{const o=i.last-i.first+1;t.removeRows(s,{at:i.first,rows:o});const n=function(e,t,o,i){const n=e.getChild(Math.min(t,i-1));let s=n.getChild(0),r=0;for(const e of n.getChildren()){if(r>o)return s;s=e,r+=parseInt(e.getAttribute("colspan")||"1")}return s}(s,i.first,r,t.getRows(s));e.setSelection(e.createPositionAt(n,0))}))}}class Ov extends wc{refresh(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){const i=o.findAncestor("table"),n=e.getColumns(i),{first:s,last:r}=e.getColumnIndexes(t);this.isEnabled=r-se.cell===t)).column,last:n.find((e=>e.cell===o)).column},r=function(e,t,o,i){const n=parseInt(o.getAttribute("colspan")||"1");return n>1?o:t.previousSibling||o.nextSibling?o.nextSibling||t.previousSibling:i.first?e.reverse().find((({column:e})=>ee>i.last)).cell}(n,t,o,s);this.editor.model.change((t=>{const o=s.last-s.first+1;e.removeColumns(i,{at:s.first,columns:o}),t.setSelection(t.createPositionAt(r,0))}))}}class Vv extends wc{refresh(){const e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection);if(0===o.length)return this.isEnabled=!1,void(this.value=!1);const i=o[0].findAncestor("table");this.isEnabled=t.schema.checkAttribute(i,"headingRows"),this.value=o.every((e=>this._isInHeading(e,e.parent.parent)))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.plugins.get("TableUtils"),o=this.editor.model,i=t.getSelectionAffectedTableCells(o.document.selection),n=i[0].findAncestor("table"),{first:s,last:r}=t.getRowIndexes(i),a=this.value?s:r+1,l=n.getAttribute("headingRows")||0;o.change((e=>{if(a){const t=Uk(n,a,a>l?l:0);for(const{cell:o}of t)Kk(o,a,e)}t.setHeadingRowsCount(e,n,a)}))}_isInHeading(e,t){const o=parseInt(t.getAttribute("headingRows")||"0");return!!o&&e.parent.indexthis._isInFooter(e,i)))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.plugins.get("TableUtils"),o=this.editor.model,i=t.getSelectionAffectedTableCells(o.document.selection),n=i[0].findAncestor("table"),{first:s,last:r}=t.getRowIndexes(i),a=t.getRows(n),l=this.value?a-(r+1):a-s,c=n.getAttribute("footerRows")||0;o.change((e=>{if(l){const t=a-l,o=a-c,i=Uk(n,t,t>o?o:0);for(const{cell:o}of i)Kk(o,t,e)}t.setFooterRowsCount(e,n,l)}))}_isInFooter(e,t){const o=parseInt(t.getAttribute("footerRows")||"0"),i=this.editor.plugins.get("TableUtils").getRows(t),n=e.parent.index;return!!o&&n>=i-o}}class Fv extends wc{refresh(){const e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection);if(0===o.length)return this.isEnabled=!1,void(this.value=!1);const i=o[0].findAncestor("table");this.isEnabled=t.schema.checkAttribute(i,"headingColumns"),this.value=o.every((t=>zk(e,t)))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.plugins.get("TableUtils"),o=this.editor.model,i=t.getSelectionAffectedTableCells(o.document.selection),n=i[0].findAncestor("table"),{first:s,last:r}=t.getColumnIndexes(i),a=this.value?s:r+1;o.change((e=>{if(a){const t=Gk(n,a);for(const{cell:o,column:i}of t)Jk(o,i,a,e)}t.setHeadingColumnsCount(e,n,a)}))}}class Mv extends wc{refresh(){const e=this.editor.plugins.get(av),t=e.getSelectedTableCells(this.editor.model.document.selection);this.isEnabled=e.isSelectionRectangular(t)}execute(){const e=this.editor.model,t=this.editor.plugins.get(av);e.change((o=>{const i=t.getSelectedTableCells(e.document.selection),n=i.shift(),{mergeWidth:s,mergeHeight:r}=function(e,t,o){let i=0,n=0;for(const e of t){const{row:t,column:s}=o.getCellLocation(e);i=Lv(e,s,i,"colspan"),n=Lv(e,t,n,"rowspan")}const{row:s,column:r}=o.getCellLocation(e),a=i-r,l=n-s;return{mergeWidth:a,mergeHeight:l}}(n,i,t);Bk("colspan",s,n,o),Bk("rowspan",r,n,o);for(const e of i)Nv(e,n,o);Xk(n.findAncestor("table"),t),o.setSelection(n,"in")}))}}function Nv(e,t,o){Bv(e)||(Bv(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end"))),o.remove(e)}function Bv(e){const t=e.getChild(0);return 1==e.childCount&&t.is("element","paragraph")&&t.isEmpty}function Lv(e,t,o,i){const n=parseInt(e.getAttribute(i)||"1");return Math.max(o,t+n)}class zv extends wc{constructor(e){super(e),this.affectsData=!1}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),i=t.getRowIndexes(o),n=o[0].findAncestor("table"),s=[];for(let t=i.first;t<=i.last;t++)for(const o of n.getChild(t).getChildren())s.push(e.createRangeOn(o));e.change((e=>{e.setSelection(s)}))}}class jv extends wc{constructor(e){super(e),this.affectsData=!1}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection),i=o[0],n=o.pop(),s=i.findAncestor("table"),r=e.getCellLocation(i),a=e.getCellLocation(n),l=Math.min(r.column,a.column),c=Math.max(r.column,a.column),d=[];for(const e of new Fk(s,{startColumn:l,endColumn:c}))d.push(t.createRangeOn(e.cell));t.change((e=>{e.setSelection(d)}))}}function qv(e){e.document.registerPostFixer((t=>function(e,t){const o=t.document.differ.getChanges();let i=!1;const n=new Set;for(const t of o){let o=null;"insert"==t.type&&"table"==t.name&&(o=t.position.nodeAfter),"insert"!=t.type&&"remove"!=t.type||"tableRow"!=t.name&&"tableCell"!=t.name||(o=t.position.findAncestor("table")),Wv(t)&&(o=t.range.start.findAncestor("table")),o&&!n.has(o)&&(i=$v(o,e)||i,i=Hv(o,e)||i,n.add(o))}return i}(t,e)))}function $v(e,t){let o=!1;const i=function(e){const t=parseInt(e.getAttribute("headingRows")||"0"),o=parseInt(e.getAttribute("footerRows")||"0"),i=Array.from(e.getChildren()).reduce(((e,t)=>t.is("element","tableRow")?e+1:e),0),n=i-o,s=[];for(const{row:o,cell:r,cellHeight:a}of new Fk(e)){if(a<2)continue;let e;if(e=o=n?i:n,o+a>e){const t=e-o;s.push({cell:r,rowspan:t})}}return s}(e);if(i.length){o=!0;for(const e of i)Bk("rowspan",e.rowspan,e.cell,t,1)}return o}function Hv(e,t){let o=!1;const i=function(e){const t=new Array(e.childCount).fill(0);for(const{rowIndex:o}of new Fk(e,{includeAllSlots:!0}))t[o]++;return t}(e),n=[];for(const[t,o]of i.entries())!o&&e.getChild(t).is("element","tableRow")&&n.push(t);if(n.length){o=!0;for(const o of n.reverse())t.remove(e.getChild(o)),i.splice(o,1)}const s=i.filter(((t,o)=>e.getChild(o).is("element","tableRow"))),r=s[0];if(!s.every((e=>e===r))){const i=s.reduce(((e,t)=>t>e?t:e),0);for(const[n,r]of s.entries()){const s=i-r;if(s){for(let o=0;ofunction(e,t){const o=t.document.differ.getChanges();let i=!1;for(const t of o)"insert"==t.type&&"table"==t.name&&(i=Kv(t.position.nodeAfter,e)||i),"insert"==t.type&&"tableRow"==t.name&&(i=Gv(t.position.nodeAfter,e)||i),"insert"==t.type&&"tableCell"==t.name&&(i=Jv(t.position.nodeAfter,e)||i),"remove"!=t.type&&"insert"!=t.type||!Zv(t)||(i=Jv(t.position.parent,e)||i);return i}(t,e)))}function Kv(e,t){let o=!1;for(const i of e.getChildren())i.is("element","tableRow")&&(o=Gv(i,t)||o);return o}function Gv(e,t){let o=!1;for(const i of e.getChildren())o=Jv(i,t)||o;return o}function Jv(e,t){if(0==e.childCount)return t.insertElement("paragraph",e),!0;const o=Array.from(e.getChildren()).filter((e=>e.is("$text")));for(const e of o)t.wrap(t.createRangeOn(e),"paragraph");return!!o.length}function Zv(e){return!!e.position.parent.is("element","tableCell")&&("insert"==e.type&&"$text"==e.name||"remove"==e.type)}function Qv(e,t,o){const i=o.getAttribute("headingRows")||0,n=o.getAttribute("footerRows")||0,s=e.getRows(o);if(i+n>s){return Bk("footerRows",Math.max(0,s-i),o,t,0),!0}return!1}function Yv(e,t){if(!e.is("element","paragraph"))return!1;const o=t.toViewElement(e);return!!o&&kv(e)!==o.is("element","span")}class Xv extends fc{_additionalSlots;static get pluginName(){return"TableEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[av]}constructor(e){super(e),this._additionalSlots=[]}init(){const e=this.editor,t=e.model,o=t.schema,i=e.conversion,n=e.plugins.get(av);e.config.define("table.enableFooters",!1);const s=!!e.config.get("table.enableFooters");o.register("table",{inheritAllFrom:"$blockObject",allowAttributes:["headingRows","headingColumns",...s?["footerRows"]:[]]}),o.register("tableRow",{allowIn:"table",isLimit:!0}),o.register("tableCell",{allowContentOf:"$container",allowIn:"tableRow",allowAttributes:["colspan","rowspan"],isLimit:!0,isSelectable:!0}),i.for("upcast").add((e=>{e.on("element:figure",((e,t,o)=>{if(!o.consumable.test(t.viewItem,{name:!0,classes:"table"}))return;const i=ov(t.viewItem);if(!i||!o.consumable.test(i,{name:!0}))return;o.consumable.consume(t.viewItem,{name:!0,classes:"table"});const n=o.convertItem(i,t.modelCursor),s=to(n.modelRange.getItems());if(!s||!s.is("element","table"))return o.consumable.revert(t.viewItem,{name:!0,classes:"table"}),void(n.modelRange&&!n.modelRange.isCollapsed&&(t.modelRange=n.modelRange,t.modelCursor=n.modelCursor));o.convertChildren(t.viewItem,o.writer.createPositionAt(s,"end")),o.updateConversionResult(s,t)}))})),i.for("upcast").add(iv({enableFooters:s})),i.for("editingDowncast").elementToStructure({model:{name:"table",attributes:["headingRows",...s?["footerRows"]:[]]},view:wv(n,{asWidget:!0,additionalSlots:this._additionalSlots})}),i.for("dataDowncast").elementToStructure({model:{name:"table",attributes:["headingRows",...s?["footerRows"]:[]]},view:wv(n,{additionalSlots:this._additionalSlots})}),i.for("upcast").elementToElement({model:"tableRow",view:"tr"}),i.for("upcast").add((e=>{e.on("element:tr",((e,t)=>{t.viewItem.isEmpty&&0==t.modelCursor.index&&e.stop()}),{priority:"high"})})),i.for("downcast").elementToElement({model:"tableRow",view:(e,{writer:t})=>e.isEmpty?t.createEmptyElement("tr"):t.createContainerElement("tr")}),i.for("upcast").elementToElement({model:"tableCell",view:"td"}),i.for("upcast").elementToElement({model:"tableCell",view:"th"}),i.for("upcast").add(nv("td")),i.for("upcast").add(nv("th")),i.for("editingDowncast").elementToElement({model:"tableCell",view:yv({asWidget:!0,cellTypeEnabled:()=>Hk(this.editor)})}),i.for("dataDowncast").elementToElement({model:"tableCell",view:yv({cellTypeEnabled:()=>Hk(this.editor)})}),i.for("editingDowncast").elementToElement({model:"paragraph",view:_v({asWidget:!0}),converterPriority:"high"}),i.for("dataDowncast").elementToElement({model:"paragraph",view:_v(),converterPriority:"high"}),i.for("downcast").attributeToAttribute({model:"colspan",view:"colspan"}),i.for("upcast").attributeToAttribute({model:{key:"colspan",value:eC("colspan")},view:"colspan"}),i.for("downcast").attributeToAttribute({model:"rowspan",view:"rowspan"}),i.for("upcast").attributeToAttribute({model:{key:"rowspan",value:eC("rowspan")},view:"rowspan"}),this._addPlainTableOutputConverters(),e.config.define("table.defaultHeadings.rows",0),e.config.define("table.defaultHeadings.columns",0),e.config.define("table.defaultFooters",0),e.config.define("table.showHiddenBorders",!0),e.config.get("table.showHiddenBorders")&&e.editing.view.change((t=>{for(const o of e.editing.view.document.roots)t.addClass("ck-table-show-hidden-borders",o)})),e.commands.add("insertTable",new xv(e)),e.commands.add("insertTableRowAbove",new Ev(e,{order:"above"})),e.commands.add("insertTableRowBelow",new Ev(e,{order:"below"})),e.commands.add("insertTableColumnLeft",new Tv(e,{order:"left"})),e.commands.add("insertTableColumnRight",new Tv(e,{order:"right"})),e.commands.add("removeTableRow",new Rv(e)),e.commands.add("removeTableColumn",new Ov(e)),e.commands.add("splitTableCellVertically",new Pv(e,{direction:"vertically"})),e.commands.add("splitTableCellHorizontally",new Pv(e,{direction:"horizontally"})),e.commands.add("mergeTableCells",new Mv(e)),e.commands.add("mergeTableCellRight",new Sv(e,{direction:"right"})),e.commands.add("mergeTableCellLeft",new Sv(e,{direction:"left"})),e.commands.add("mergeTableCellDown",new Sv(e,{direction:"down"})),e.commands.add("mergeTableCellUp",new Sv(e,{direction:"up"})),e.commands.add("setTableColumnHeader",new Fv(e)),e.commands.add("setTableRowHeader",new Vv(e)),s&&e.commands.add("setTableFooterRow",new Dv(e)),e.commands.add("selectTableRow",new zv(e)),e.commands.add("selectTableColumn",new jv(e)),qv(t),Uv(t),s&&function(e){const{model:t}=e,o=e.plugins.get(av);t.document.registerPostFixer((e=>{let i=!1;const n=t.document.differ.getChanges(),s=new Set;for(const e of n){let t=null;"attribute"!=e.type||"headingRows"!=e.attributeKey&&"footerRows"!=e.attributeKey?("insert"==e.type&&"tableRow"==e.name||"remove"==e.type&&"tableRow"==e.name)&&(t=e.position.parent):t=e.range.start.nodeAfter,t&&t.is("element","table")&&s.add(t)}for(const t of s)Qv(o,e,t)&&(i=!0);return i}))}(e),this.listenTo(t.document,"change:data",(()=>{Hk(e)||function(e,t){const o=e.document.differ,i=new Set,n=new Set,s=new Set;for(const e of o.getChanges()){let o;if("attribute"==e.type){const t=e.range.start.nodeAfter;if(!t||!t.is("element","table"))continue;if("headingRows"!=e.attributeKey&&"headingColumns"!=e.attributeKey&&"footerRows"!=e.attributeKey)continue;o=t}else"tableRow"!=e.name&&"tableCell"!=e.name||(o=e.position.findAncestor("table"));if(!o)continue;"insert"==e.type&&"tableRow"==e.name&&t.mapper.toViewElement(e.position.nodeAfter)&&i.add(e.position.nodeAfter);const r=o.getAttribute("headingRows")||0,a=o.getAttribute("headingColumns")||0,l=new Fk(o);for(const e of l){const o=t.mapper.toViewElement(e.cell);if(!o||!o.is("element"))continue;const l=e.rowYv(e,t.mapper)));for(const e of o)t.reconvertItem(e)}}(t,e.editing)}))}registerAdditionalSlot(e){this._additionalSlots.push(e)}_addPlainTableOutputConverters(){const e=this.editor;e.conversion.for("dataDowncast").elementToStructure({model:"table",view:vv(e),converterPriority:"high"}),e.plugins.has("TableCaptionEditing")&&e.conversion.for("dataDowncast").elementToElement({model:"caption",view:Cv(e),converterPriority:"high"}),e.plugins.has("TablePropertiesEditing")&&function(e){const t={"border-width":"tableBorderWidth","border-color":"tableBorderColor","border-style":"tableBorderStyle","background-color":"tableBackgroundColor"};for(const[o,i]of Object.entries(t))e.conversion.for("dataDowncast").add((t=>t.on(`attribute:${i}:table`,((t,i,n)=>{const{item:s,attributeNewValue:r}=i,{mapper:a,writer:l}=n,c=e.plugins.has("PlainTableOutput"),d=n.options.isClipboardPipeline,u=Av(e,s);if(!(c||u||d))return;if(!n.consumable.consume(s,t.name))return;const h=a.toViewElement(s);r?l.setStyle(o,r,h):l.removeStyle(o,h)}),{priority:"high"})))}(e)}}function eC(e){return t=>{const o=parseInt(t.getAttribute(e));return Number.isNaN(o)||o<=0?null:o}}class tC extends Au{items;keystrokes;focusTracker;constructor(e){super(e);const t=this.bindTemplate;this.items=this._createGridCollection(),this.keystrokes=new ro,this.focusTracker=new oo,this.set("rows",0),this.set("columns",0),this.bind("label").to(this,"columns",this,"rows",((e,t)=>`${t} × ${e}`)),this.setTemplate({tag:"div",attributes:{class:["ck"]},children:[{tag:"div",attributes:{class:["ck-insert-table-dropdown__grid"]},on:{"mouseover@.ck-insert-table-dropdown-grid-box":t.to("boxover")},children:this.items},{tag:"div",attributes:{class:["ck","ck-insert-table-dropdown__label"],"aria-hidden":!0},children:[{text:t.to("label")}]}],on:{mousedown:t.to((e=>{e.preventDefault()})),click:t.to((()=>{this.fire("execute")}))}}),this.on("boxover",((e,t)=>{const{row:o,column:i}=t.target.dataset;this.items.get(10*(parseInt(o,10)-1)+(parseInt(i,10)-1)).focus()})),this.focusTracker.on("change:focusedElement",((e,t,o)=>{if(!o)return;const{row:i,column:n}=o.dataset;this.set({rows:parseInt(i),columns:parseInt(n)})})),this.on("change:columns",(()=>this._highlightGridBoxes())),this.on("change:rows",(()=>this._highlightGridBoxes()))}render(){super.render(),Vu({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:10,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection});for(const e of this.items)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element)}reset(){this.set({rows:1,columns:1})}focus(){this.items.get(0).focus()}focusLast(){this.items.get(0).focus()}_highlightGridBoxes(){const e=this.rows,t=this.columns;this.items.map(((o,i)=>{const n=Math.floor(i/10){const i=e.commands.get("insertTable"),n=Zh(o);let s;return n.bind("isEnabled").to(i),n.buttonView.set({icon:od,label:t("Insert table"),tooltip:!0}),n.on("change:isOpen",(()=>{s||(s=new tC(o),n.panelView.children.add(s),s.delegate("execute").to(n),n.on("execute",(()=>{e.execute("insertTable",{rows:s.rows,columns:s.columns}),e.editing.view.focus()})))})),n})),e.ui.componentFactory.add("menuBar:insertTable",(o=>{const i=e.commands.get("insertTable"),n=new og(o),s=new tC(o);return s.delegate("execute").to(n),n.on("change:isOpen",((e,t,o)=>{o||s.reset()})),s.on("execute",(()=>{e.execute("insertTable",{rows:s.rows,columns:s.columns}),e.editing.view.focus()})),n.buttonView.set({label:t("Table"),icon:od}),n.panelView.children.add(s),n.bind("isEnabled").to(i),n})),e.ui.componentFactory.add("tableColumn",(e=>{const i=[{type:"switchbutton",model:{commandName:"setTableColumnHeader",label:t("Header column"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:o?"insertTableColumnLeft":"insertTableColumnRight",label:t("Insert column left")}},{type:"button",model:{commandName:o?"insertTableColumnRight":"insertTableColumnLeft",label:t("Insert column right")}},{type:"button",model:{commandName:"removeTableColumn",label:t("Delete column")}},{type:"button",model:{commandName:"selectTableColumn",label:t("Select column")}}];return this._prepareDropdown(t("Column"),'',i,e)})),e.ui.componentFactory.add("tableRow",(e=>{const o=[{type:"switchbutton",model:{commandName:"setTableRowHeader",label:t("Header row"),bindIsOn:!0}},i&&{type:"switchbutton",model:{commandName:"setTableFooterRow",label:t("Footer row"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:"insertTableRowAbove",label:t("Insert row above")}},{type:"button",model:{commandName:"insertTableRowBelow",label:t("Insert row below")}},{type:"button",model:{commandName:"removeTableRow",label:t("Delete row")}},{type:"button",model:{commandName:"selectTableRow",label:t("Select row")}}].filter(Boolean);return this._prepareDropdown(t("Row"),'',o,e)})),e.ui.componentFactory.add("mergeTableCells",(e=>{const i=[{type:"button",model:{commandName:"mergeTableCellUp",label:t("Merge cell up")}},{type:"button",model:{commandName:o?"mergeTableCellRight":"mergeTableCellLeft",label:t("Merge cell right")}},{type:"button",model:{commandName:"mergeTableCellDown",label:t("Merge cell down")}},{type:"button",model:{commandName:o?"mergeTableCellLeft":"mergeTableCellRight",label:t("Merge cell left")}},{type:"separator"},{type:"button",model:{commandName:"splitTableCellVertically",label:t("Split cell vertically")}},{type:"button",model:{commandName:"splitTableCellHorizontally",label:t("Split cell horizontally")}}];return this._prepareMergeSplitButtonDropdown(t("Merge cells"),'',i,e)}))}_prepareDropdown(e,t,o,i){const n=this.editor,s=Zh(i),r=this._fillDropdownWithListOptions(s,o);return s.buttonView.set({label:e,icon:t,tooltip:!0}),s.bind("isEnabled").toMany(r,"isEnabled",((...e)=>e.some((e=>e)))),this.listenTo(s,"execute",(e=>{n.execute(e.source.commandName),e.source instanceof fh||n.editing.view.focus()})),s}_prepareMergeSplitButtonDropdown(e,t,o,i){const n=this.editor,s=Zh(i,Jh),r="mergeTableCells",a=n.commands.get(r),l=this._fillDropdownWithListOptions(s,o);return s.buttonView.set({label:e,icon:t,tooltip:!0,isEnabled:!0}),s.bind("isEnabled").toMany([a,...l],"isEnabled",((...e)=>e.some((e=>e)))),this.listenTo(s.buttonView,"execute",(()=>{n.execute(r),n.editing.view.focus()})),this.listenTo(s,"execute",(e=>{n.execute(e.source.commandName),n.editing.view.focus()})),s}_fillDropdownWithListOptions(e,t){const o=this.editor,i=[],n=new eo;for(const e of t)iC(e,o,i,n);return Xh(e,n),i}}function iC(e,t,o,i){if("button"===e.type||"switchbutton"===e.type){const i=e.model=new Jm(e.model),{commandName:n,bindIsOn:s}=e.model,r=t.commands.get(n);o.push(r),i.set({commandName:n}),i.bind("isEnabled").to(r),s&&i.bind("isOn").to(r,"value"),i.set({withText:!0})}i.add(e)}class nC extends fc{static get pluginName(){return"TableSelection"}static get isOfficialPlugin(){return!0}static get requires(){return[av,av]}init(){const e=this.editor,t=e.model,o=e.editing.view;this.listenTo(t,"deleteContent",((e,t)=>this._handleDeleteContent(e,t)),{priority:"high"}),this.listenTo(o.document,"insertText",((e,t)=>this._handleInsertTextEvent(e,t)),{priority:"high"}),this._defineSelectionConverter(),this._enablePluginDisabling()}getSelectedTableCells(){const e=this.editor.plugins.get(av),t=this.editor.model.document.selection,o=e.getSelectedTableCells(t);return 0==o.length?null:o}getSelectionAsFragment(){const e=this.editor.plugins.get(av),t=this.getSelectedTableCells();return t?this.editor.model.change((o=>{const i=o.createDocumentFragment(),{first:n,last:s}=e.getColumnIndexes(t),{first:r,last:a}=e.getRowIndexes(t),l=t[0].findAncestor("table");let c=a,d=s;if(e.isSelectionRectangular(t)){const e={firstColumn:n,lastColumn:s,firstRow:r,lastRow:a};c=ev(l,e),d=tv(l,e)}const u=Wk(l,{startRow:r,startColumn:n,endRow:c,endColumn:d},o);return o.insert(u,i,0),i})):null}setCellSelection(e,t){const o=this._getCellsToSelect(e,t);this.editor.model.change((e=>{e.setSelection(o.cells.map((t=>e.createRangeOn(t))),{backward:o.backward})}))}getFocusCell(){const e=[...this.editor.model.document.selection.getRanges()].pop().getContainedElement();return e&&e.is("element","tableCell")?e:null}getAnchorCell(){const e=to(this.editor.model.document.selection.getRanges()).getContainedElement();return e&&e.is("element","tableCell")?e:null}_defineSelectionConverter(){const e=this.editor,t=new Set;e.conversion.for("editingDowncast").add((e=>e.on("selection",((e,o,i)=>{const n=i.writer;!function(e){for(const o of t)e.removeClass("ck-editor__editable_selected",o);t.clear()}(n);const s=this.getSelectedTableCells();if(!s)return;for(const e of s){const o=i.mapper.toViewElement(e);n.addClass("ck-editor__editable_selected",o),t.add(o)}const r=i.mapper.toViewElement(s[s.length-1]);n.setSelection(r,0)}),{priority:"lowest"})))}_enablePluginDisabling(){const e=this.editor;this.on("change:isEnabled",(()=>{if(!this.isEnabled){const t=this.getSelectedTableCells();if(!t)return;e.model.change((o=>{const i=o.createPositionAt(t[0],0),n=e.model.schema.getNearestSelectionRange(i);o.setSelection(n)}))}}))}_handleDeleteContent(e,t){const o=this.editor.plugins.get(av),i=t[0],n=t[1],s=this.editor.model,r=!n||"backward"==n.direction,a=o.getSelectedTableCells(i);a.length&&(e.stop(),s.change((e=>{const t=a[r?a.length-1:0];s.change((e=>{for(const t of a)s.deleteContent(e.createSelection(t,"in"))}));const o=s.schema.getNearestSelectionRange(e.createPositionAt(t,0));i.is("documentSelection")?e.setSelection(o):i.setTo(o)})))}_handleInsertTextEvent(e,t){const o=this.editor,i=this.getSelectedTableCells();if(!i)return;const n=o.editing.view,s=o.editing.mapper,r=i.map((e=>n.createRangeOn(s.toViewElement(e))));t.selection=n.createSelection(r),t.preventDefault()}_getCellsToSelect(e,t){const o=this.editor.plugins.get("TableUtils"),i=o.getCellLocation(e),n=o.getCellLocation(t),s=Math.min(i.row,n.row),r=Math.max(i.row,n.row),a=Math.min(i.column,n.column),l=parseInt(t.getAttribute("colspan")||"1")-1,c=Math.max(i.column,n.column+l),d=new Array(r-s+1).fill(null).map((()=>[])),u={startRow:s,endRow:r,startColumn:a,endColumn:c};for(const{row:t,cell:o}of new Fk(e.findAncestor("table"),u))d[t-s].push(o);const h=n.rowe.reverse())),{cells:d.flat(),backward:h||m}}}class sC extends fc{static get pluginName(){return"TableClipboard"}static get isOfficialPlugin(){return!0}static get requires(){return[ff,bf,nC,av]}init(){const e=this.editor.editing.view.document;this.listenTo(e,"copy",((e,t)=>this._onCopyCut(e,t))),this.listenTo(e,"cut",((e,t)=>this._onCopyCut(e,t))),this._listenToContentInsertion(),this.decorate("_replaceTableSlotCell")}_listenToContentInsertion(){const{editor:e}=this,t=e.plugins.get(bf),o=e.plugins.get(nC);let i=!1;t.on("contentInsertion",((e,t)=>{i="paste"===t.method})),this.listenTo(e.model,"insertContent",((e,[t,n])=>{(i||null!==o.getSelectedTableCells())&&this._onInsertContent(e,t,n)}),{priority:"high"}),t.on("contentInsertion",(()=>{i=!1}),{priority:"lowest"})}_onCopyCut(e,t){const o=this.editor.editing.view,i=this.editor.plugins.get(nC),n=this.editor.plugins.get(ff);i.getSelectedTableCells()&&("cut"!=e.name||this.editor.model.canEditAt(this.editor.model.document.selection))&&(t.preventDefault(),e.stop(),this.editor.model.enqueueChange({isUndoable:"cut"===e.name},(()=>{const s=n._copySelectedFragmentWithMarkers(e.name,this.editor.model.document.selection,(()=>i.getSelectionAsFragment()));o.document.fire("clipboardOutput",{dataTransfer:t.dataTransfer,content:this.editor.data.toView(s),method:e.name})})))}_onInsertContent(e,t,o){if(o&&!o.is("documentSelection"))return;const i=this.editor.model,n=this.editor.plugins.get(av),s=this.editor.plugins.get(ff),r=this.getTableIfOnlyTableInContent(t,i);if(!r)return;const a=n.getSelectionAffectedTableCells(i.document.selection);a.length?(e.stop(),t.is("documentFragment")?s._pasteMarkersIntoTransformedElement(t.markers,(e=>this._replaceSelectedCells(r,a,e))):this.editor.model.change((e=>{this._replaceSelectedCells(r,a,e)}))):Xk(r,n)}_replaceSelectedCells(e,t,o){const i=this.editor.plugins.get(av),n={width:i.getColumns(e),height:i.getRows(e)},s=function(e,t,o,i){const n=e[0].findAncestor("table"),s=i.getColumnIndexes(e),r=i.getRowIndexes(e),a={firstColumn:s.first,lastColumn:s.last,firstRow:r.first,lastRow:r.last},l=1===e.length;l&&(a.lastRow+=t.height-1,a.lastColumn+=t.width-1,function(e,t,o,i){const n=i.getColumns(e),s=i.getRows(e);o>n&&i.insertColumns(e,{at:n,columns:o-n});t>s&&i.insertRows(e,{at:s,rows:t-s})}(n,a.lastRow+1,a.lastColumn+1,i));l||!i.isSelectionRectangular(e)?function(e,t,o){const{firstRow:i,lastRow:n,firstColumn:s,lastColumn:r}=t,a={first:i,last:n},l={first:s,last:r};aC(e,s,a,o),aC(e,r+1,a,o),rC(e,i,l,o),rC(e,n+1,l,o,i)}(n,a,o):(a.lastRow=ev(n,a),a.lastColumn=tv(n,a));return a}(t,n,o,i),r=s.lastRow-s.firstRow+1,a=s.lastColumn-s.firstColumn+1;e=Wk(e,{startRow:0,startColumn:0,endRow:Math.min(r,n.height)-1,endColumn:Math.min(a,n.width)-1},o);const l=t[0].findAncestor("table"),c=this._replaceSelectedCellsWithPasted(e,n,l,s,o,i);if(this.editor.plugins.get("TableSelection").isEnabled){const e=i.sortRanges(c.map((e=>o.createRangeOn(e))));o.setSelection(e)}else o.setSelection(c[0],0);return l}_replaceSelectedCellsWithPasted(e,t,o,i,n,s){const{width:r,height:a}=t,l=function(e,t,o){const i=new Array(o).fill(null).map((()=>new Array(t).fill(null)));for(const{column:t,row:o,cell:n}of new Fk(e))i[o][t]=n;return i}(e,r,a),c=[...new Fk(o,{startRow:i.firstRow,endRow:i.lastRow,startColumn:i.firstColumn,endColumn:i.lastColumn,includeAllSlots:!0})],d=[];let u;for(const e of c){const{row:t,column:o}=e;o===i.firstColumn&&(u=e.getPositionBefore());const s=t-i.firstRow,c=o-i.firstColumn,h=l[s%a][c%r],m=h?n.cloneElement(h):null,g=this._replaceTableSlotCell(e,m,u,n);g&&(Zk(g,t,o,i.lastRow,i.lastColumn,n),d.push(g),u=n.createPositionAfter(g))}const h=parseInt(o.getAttribute("headingRows")||"0"),m=parseInt(o.getAttribute("headingColumns")||"0"),g=parseInt(o.getAttribute("footerRows")||"0"),p=s.getRows(o)-g,f=i.firstRowlC(e,t,o))).map((({cell:e})=>Kk(e,t,i)))}function aC(e,t,o,i){if(t<1)return;return Gk(e,t).filter((({row:e,cellHeight:t})=>lC(e,t,o))).map((({cell:e,column:o})=>Jk(e,o,t,i)))}function lC(e,t,o){const i=e+t-1,{first:n,last:s}=o;return e>=n&&e<=s||e=n}class cC extends fc{static get pluginName(){return"TableKeyboard"}static get isOfficialPlugin(){return!0}static get requires(){return[nC,av]}init(){const e=this.editor,t=e.editing.view.document,o=e.t;this.listenTo(t,"arrowKey",((...e)=>this._onArrowKey(...e)),{context:"table"}),this.listenTo(t,"tab",((...e)=>this._handleTabOnSelectedTable(...e)),{context:"figure"}),this.listenTo(t,"tab",((...e)=>this._handleTab(...e)),{context:["th","td"]}),e.accessibility.addKeystrokeInfoGroup({id:"table",label:o("Keystrokes that can be used in a table cell"),keystrokes:[{label:o("Move the selection to the next cell"),keystroke:"Tab"},{label:o("Move the selection to the previous cell"),keystroke:"Shift+Tab"},{label:o("Insert a new table row (when in the last cell of a table)"),keystroke:"Tab"},{label:o("Navigate through the table"),keystroke:[["arrowup"],["arrowright"],["arrowdown"],["arrowleft"]]}]})}_handleTabOnSelectedTable(e,t){const o=this.editor.model.document.selection.getSelectedElement();o&&o.is("element","table")&&t.stopPropagation()}_handleTab(e,t){const o=this.editor,i=this.editor.plugins.get(av),n=this.editor.plugins.get("TableSelection"),s=o.model.document.selection,r=!t.shiftKey;let a=i.getTableCellsContainingSelection(s)[0];if(a||(a=n.getFocusCell()),!a)return;t.stopPropagation();const l=a.parent,c=l.parent,d=c.getChildIndex(l),u=l.getChildIndex(a)===l.childCount-1,h=d===i.getRows(c)-1;r&&h&&u&&o.execute("insertTableRowBelow")}_onArrowKey(e,t){const o=this.editor,i=Kt(t.keyCode,o.locale.contentLanguageDirection);this._handleArrowKeys(i,t.shiftKey)&&(t.preventDefault(),t.stopPropagation(),e.stop())}_handleArrowKeys(e,t){const o=this.editor.plugins.get(av),i=this.editor.plugins.get("TableSelection"),n=this.editor.model,s=n.document.selection,r=["right","down"].includes(e),a=o.getSelectedTableCells(s);if(a.length){let o;return o=t?i.getFocusCell():r?a[a.length-1]:a[0],this._navigateFromCellInDirection(o,e,t),!0}const l=s.focus.findAncestor("tableCell");if(!l)return!1;if(!s.isCollapsed)if(t){if(s.isBackward==r&&!s.containsEntireContent(l))return!1}else{const e=s.getSelectedElement();if(!e||!n.schema.isObject(e))return!1}return!!this._isSelectionAtCellEdge(s,l,r)&&(this._navigateFromCellInDirection(l,e,t),!0)}_isSelectionAtCellEdge(e,t,o){const i=this.editor.model,n=this.editor.model.schema,s=o?e.getLastPosition():e.getFirstPosition();if(!n.getLimitElement(s).is("element","tableCell")){return i.createPositionAt(t,o?"end":0).isTouching(s)}const r=i.createSelection(s);return i.modifySelection(r,{direction:o?"forward":"backward"}),s.isEqual(r.focus)}_navigateFromCellInDirection(e,t,o=!1){const i=this.editor.model,n=e.findAncestor("table"),s=[...new Fk(n,{includeAllSlots:!0})],{row:r,column:a}=s[s.length-1],l=s.find((({cell:t})=>t==e));let{row:c,column:d}=l;switch(t){case"left":d--;break;case"up":c--;break;case"right":d+=l.cellWidth;break;case"down":c+=l.cellHeight}if(c<0||c>r||d<0&&c<=0||d>a&&c>=r)return void i.change((e=>{e.setSelection(e.createRangeOn(n))}));d<0?(d=o?0:a,c--):d>a&&(d=o?a:0,c++);const u=s.find((e=>e.row==c&&e.column==d)).cell,h=["right","down"].includes(t),m=this.editor.plugins.get("TableSelection");if(o&&m.isEnabled){const t=m.getAnchorCell()||e;m.setCellSelection(t,u)}else{const e=i.createPositionAt(u,h?0:"end");i.change((t=>{t.setSelection(e)}))}}}class dC extends jn{domEventType=["mousemove","mouseleave"];onDomEvent(e){this.fire(e.type,e)}}class uC extends fc{static get pluginName(){return"TableMouse"}static get isOfficialPlugin(){return!0}static get requires(){return[nC,av]}init(){this.editor.editing.view.addObserver(dC),this._enableShiftClickSelection(),this._enableMouseDragSelection()}_enableShiftClickSelection(){const e=this.editor,t=e.plugins.get(av);let o=!1;const i=e.plugins.get(nC);this.listenTo(e.editing.view.document,"mousedown",((n,s)=>{const r=e.model.document.selection;if(!this.isEnabled||!i.isEnabled)return;if(!s.domEvent.shiftKey)return;const a=i.getAnchorCell()||t.getTableCellsContainingSelection(r)[0];if(!a)return;const l=this._getModelTableCellFromDomEvent(s);l&&hC(a,l)&&(o=!0,i.setCellSelection(a,l),s.preventDefault())})),this.listenTo(e.editing.view.document,"mouseup",(()=>{o=!1})),this.listenTo(e.editing.view.document,"selectionChange",(e=>{o&&e.stop()}),{priority:"highest"})}_enableMouseDragSelection(){const e=this.editor;let t,o,i=!1,n=!1;const s=e.plugins.get(nC);this.listenTo(e.editing.view.document,"mousedown",((e,o)=>{this.isEnabled&&s.isEnabled&&(o.domEvent.shiftKey||o.domEvent.ctrlKey||o.domEvent.altKey||(t=this._getModelTableCellFromDomEvent(o)))})),this.listenTo(e.editing.view.document,"mousemove",((e,r)=>{if(!r.domEvent.buttons)return;if(!t)return;const a=this._getModelTableCellFromDomEvent(r);a&&hC(t,a)&&(o=a,i||o==t||(i=!0)),i&&(n=!0,s.setCellSelection(t,o),r.preventDefault())})),this.listenTo(e.editing.view.document,"mouseup",(()=>{i=!1,n=!1,t=null,o=null})),this.listenTo(e.editing.view.document,"selectionChange",(e=>{n&&e.stop()}),{priority:"highest"})}_getModelTableCellFromDomEvent(e){const t=e.target,o=this.editor.editing.view.createPositionAt(t,0);return this.editor.editing.mapper.toModelPosition(o).parent.findAncestor("tableCell",{includeSelf:!0})}}function hC(e,t){return e.parent.parent==t.parent.parent}class mC extends fc{static get requires(){return[Xv,oC,nC,uC,cC,sC,vp]}static get pluginName(){return"Table"}static get isOfficialPlugin(){return!0}}function gC(e){const t=pC(e);return t||fC(e)}function pC(e){const t=e.getSelectedElement();return t&&bC(t)?t:null}function fC(e){const t=e.getFirstPosition();if(!t)return null;let o=t.parent;for(;o;){if(o.is("element")&&bC(o))return o;o=o.parent}return null}function bC(e){return e.is("element")&&!!e.getCustomProperty("table")&&ip(e)}class wC extends Au{options;focusTracker;focusCycler;_focusables;dropdownView;inputView;keystrokes;_stillTyping;constructor(e,t){super(e),this.set("value",""),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isEmpty",!0),this.options=t,this.focusTracker=new oo,this._focusables=new tu,this.dropdownView=this._createDropdownView(),this.inputView=this._createInputTextView(),this.keystrokes=new ro,this._stillTyping=!1,this.focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-input-color"]},children:[this.dropdownView,this.inputView]}),this.on("change:value",((e,t,o)=>this._setInputValue(o)))}render(){super.render(),[this.inputView,this.dropdownView.buttonView].forEach((e=>{this.focusTracker.add(e.element),this._focusables.add(e)})),this.keystrokes.listenTo(this.element)}focus(e){-1===e?this.focusCycler.focusLast():this.focusCycler.focusFirst()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createDropdownView(){const e=this.locale,t=e.t,o=this.bindTemplate,i=this._createColorSelector(e),n=Zh(e),s=new Au;return s.setTemplate({tag:"span",attributes:{class:["ck","ck-input-color__button__preview"],style:{backgroundColor:o.to("value")}},children:[{tag:"span",attributes:{class:["ck","ck-input-color__button__preview__no-color-indicator",o.if("value","ck-hidden",(e=>""!=e))]}}]}),n.buttonView.extendTemplate({attributes:{class:"ck-input-color__button"}}),n.buttonView.children.add(s),n.buttonView.label=t("Color picker"),n.buttonView.tooltip=!0,n.panelPosition="rtl"===e.uiLanguageDirection?"se":"sw",n.panelView.children.add(i),n.bind("isEnabled").to(this,"isReadOnly",(e=>!e)),n.on("change:isOpen",((e,t,o)=>{o&&(i.updateSelectedColors(),i.showColorGridsFragment())})),n}_createInputTextView(){const e=this.locale,t=new Oh(e);return t.extendTemplate({on:{blur:t.bindTemplate.to("blur")}}),t.value=this.value,t.bind("isReadOnly","hasError").to(this),this.bind("isFocused","isEmpty").to(t),t.on("input",(()=>{const e=t.element.value,o=this.options.colorDefinitions.find((t=>e===t.label));this._stillTyping=!0,this.value=o&&o.color||e})),t.on("blur",(()=>{this._stillTyping=!1,this._setInputValue(t.element.value)})),t.delegate("input").to(this),t}_createColorSelector(e){const t=e.t,o=this.options.defaultColorValue||"",i=t(o?"Restore default":"Remove color"),n=new fm(e,{colors:this.options.colorDefinitions,columns:this.options.columns,removeButtonLabel:i,colorPickerLabel:t("Color picker"),colorPickerViewConfig:!1!==this.options.colorPickerConfig&&{...this.options.colorPickerConfig,hideInput:!0}});n.appendUI(),n.on("execute",((e,t)=>{"colorPickerSaveButton"!==t.source?(this.value=t.value||o,this.fire("input"),"colorPicker"!==t.source&&(this.dropdownView.isOpen=!1)):this.dropdownView.isOpen=!1}));let s=this.value;return n.on("colorPicker:cancel",(()=>{this.value=s,this.fire("input"),this.dropdownView.isOpen=!1})),n.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{s=this.value})),n.bind("selectedColor").to(this,"value"),n}_setInputValue(e){if(!this._stillTyping){const t=yC(e),o=this.options.colorDefinitions.find((e=>t===yC(e.color)));this.inputView.value=o?o.label:e||""}}}function yC(e){return e.replace(/([(,])\s+/g,"$1").replace(/^\s+|\s+(?=[),\s]|$)/g,"").replace(/,|\s/g," ")}const _C=e=>""===e;function kC(e){return{none:e("None"),solid:e("Solid"),dotted:e("Dotted"),dashed:e("Dashed"),double:e("Double"),groove:e("Groove"),ridge:e("Ridge"),inset:e("Inset"),outset:e("Outset")}}function vC(e){return e('The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".')}function CC(e){return e('The value is invalid. Try "10px" or "2em" or simply "2".')}function AC(e){return e=e.trim().toLowerCase(),_C(e)||gl(e)}function xC(e){return e=e.trim(),_C(e)||RC(e)||wl(e)||_l(e)}function EC(e){return e=e.trim(),_C(e)||RC(e)||wl(e)}function TC(e,t){const o=new eo,i=kC(e.t);for(const n in i){const s={type:"button",model:new Jm({_borderStyleValue:n,label:i[n],role:"menuitemradio",withText:!0})};"none"===n?s.model.bind("isOn").to(e,"borderStyle",(e=>"none"===t?!e:e===n)):s.model.bind("isOn").to(e,"borderStyle",(e=>e===n)),o.add(s)}return o}function PC(e){const{view:t,icons:o,toolbar:i,labels:n,propertyName:s,nameToValue:r,defaultValue:a}=e;for(const e in n){const l=new Lu(t.locale);l.set({role:"radio",isToggleable:!0,label:n[e],icon:o[e],tooltip:n[e]});const c=r?r(e):e;l.bind("isOn").to(t,s,(e=>{let t=e;return""===e&&a&&(t=a),c===t})),l.on("execute",(()=>{!a&&c&&t[s]===c?t[s]=void 0:t[s]=c})),i.items.add(l)}}const SC=[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}];function IC(e){return(t,o,i)=>{const n=new wC(t.locale,{colorDefinitions:(s=e.colorConfig,s.map((e=>({color:e.model,label:e.label,options:{hasBorder:e.hasBorder}})))),columns:e.columns,defaultColorValue:e.defaultColorValue,colorPickerConfig:e.colorPickerConfig});var s;return n.inputView.set({id:o,ariaDescribedById:i}),n.bind("isReadOnly").to(t,"isEnabled",(e=>!e)),n.bind("hasError").to(t,"errorText",(e=>!!e)),n.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused").to(n),n}}function RC(e){const t=parseFloat(e);return!Number.isNaN(t)&&e===String(t)}class OC extends Au{options;focusTracker;keystrokes;children;borderStyleDropdown;borderWidthInput;borderColorInput;backgroundInput;cellTypeDropdown;paddingInput;widthInput;heightInput;horizontalAlignmentToolbar;verticalAlignmentToolbar;saveButtonView;cancelButtonView;backButtonView;_focusables;_focusCycler;constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",padding:"",backgroundColor:"",width:"",height:"",horizontalAlignment:"",verticalAlignment:"",cellType:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:i,borderColorInput:n,borderRowLabel:s}=this._createBorderFields(),{backgroundRowLabel:r,backgroundInput:a}=this._createBackgroundFields(),{cellTypeRowLabel:l,cellTypeDropdown:c}=this._createCellTypeField(),{widthInput:d,operatorLabel:u,heightInput:h,dimensionsLabel:m}=this._createDimensionFields(),{horizontalAlignmentToolbar:g,verticalAlignmentToolbar:p,alignmentLabel:f}=this._createAlignmentFields();this.focusTracker=new oo,this.keystrokes=new ro,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=i,this.borderColorInput=n,this.backgroundInput=a,this.cellTypeDropdown=c,this.paddingInput=this._createPaddingField(),this.widthInput=d,this.heightInput=h,this.horizontalAlignmentToolbar=g,this.verticalAlignmentToolbar=p;const{saveButtonView:b,cancelButtonView:w}=this._createActionButtons();this.saveButtonView=b,this.cancelButtonView=w,this.backButtonView=this._createBackButton(),this._focusables=new tu,this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const y=new ju(e,{label:this.t("Cell properties")});y.children.add(this.backButtonView,0),this.children.add(y),this.children.add(new Km(e,{labelView:s,children:[s,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new Km(e,{children:[new Km(e,{labelView:l,children:[l,c],class:"ck-table-form__cell-type-row"}),new Km(e,{labelView:r,children:[r,a],class:"ck-table-form__background-row"})]})),this.children.add(new Km(e,{children:[new Km(e,{labelView:m,children:[m,d,u,h],class:"ck-table-form__dimensions-row"}),new Km(e,{children:[this.paddingInput],class:"ck-table-cell-properties-form__padding-row"})]})),this.children.add(new Km(e,{labelView:f,children:[f,g,p],class:"ck-table-cell-properties-form__alignment-row"})),this.children.add(new Km(e,{children:[this.cancelButtonView,this.saveButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-cell-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Ou({view:this}),[this.borderColorInput,this.backgroundInput].forEach((e=>{this._focusCycler.chain(e.fieldView.focusCycler)})),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.cellTypeDropdown,this.backgroundInput,this.widthInput,this.heightInput,this.paddingInput,this.horizontalAlignmentToolbar,this.verticalAlignmentToolbar,this.cancelButtonView,this.saveButtonView,this.backButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableCellProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=IC({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color,colorPickerConfig:this.options.colorPickerConfig}),i=this.locale,n=this.t,s=n("Style"),r=new Du(i);r.text=n("Border");const a=kC(n),l=new Sh(i,rm);l.set({label:s,class:"ck-table-form__border-style"}),l.fieldView.buttonView.set({ariaLabel:s,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:s}),l.fieldView.buttonView.bind("label").to(this,"borderStyle",(e=>a[e||"none"])),l.fieldView.on("execute",(e=>{this.borderStyle=e.source._borderStyleValue})),l.bind("isEmpty").to(this,"borderStyle",(e=>!e)),Xh(l.fieldView,TC(this,t.style),{role:"menu",ariaLabel:s});const c=new Sh(i,nm);c.set({label:n("Width"),class:"ck-table-form__border-width"}),c.fieldView.bind("value").to(this,"borderWidth"),c.bind("isEnabled").to(this,"borderStyle",VC),c.fieldView.on("input",(()=>{this.borderWidth=c.fieldView.element.value}));const d=new Sh(i,o);return d.set({label:n("Color"),class:"ck-table-form__border-color"}),d.fieldView.bind("value").to(this,"borderColor"),d.bind("isEnabled").to(this,"borderStyle",VC),d.fieldView.on("input",(()=>{this.borderColor=d.fieldView.value})),this.on("change:borderStyle",((e,o,i,n)=>{VC(i)||(this.borderColor="",this.borderWidth=""),VC(n)||(this.borderColor=t.color,this.borderWidth=t.width)})),{borderRowLabel:r,borderStyleDropdown:l,borderColorInput:d,borderWidthInput:c}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new Du(e);o.text=t("Background");const i=IC({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableCellProperties.backgroundColor,colorPickerConfig:this.options.colorPickerConfig}),n=new Sh(e,i);return n.set({label:t("Color"),class:"ck-table-cell-properties-form__background"}),n.fieldView.bind("value").to(this,"backgroundColor"),n.fieldView.on("input",(()=>{this.backgroundColor=n.fieldView.value})),{backgroundRowLabel:o,backgroundInput:n}}_createCellTypeField(){const e=this.locale,t=this.t,o=new Du(e);o.text=t("Cell type");const i=this._cellTypeLabels,n=new Sh(e,rm);return n.set({label:t("Cell type"),class:"ck-table-cell-properties-form__cell-type"}),n.fieldView.buttonView.set({ariaLabel:t("Cell type"),ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:t("Cell type")}),n.fieldView.buttonView.bind("label").to(this,"cellType",(e=>i[e||"data"])),n.fieldView.on("execute",(e=>{this.cellType=e.source._cellTypeValue})),n.bind("isEmpty").to(this,"cellType",(e=>!e)),Xh(n.fieldView,this._getCellTypeDefinitions(),{role:"menu",ariaLabel:t("Cell type")}),{cellTypeRowLabel:o,cellTypeDropdown:n}}_createDimensionFields(){const e=this.locale,t=this.t,o=new Du(e);o.text=t("Dimensions");const i=new Sh(e,nm);i.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),i.fieldView.bind("value").to(this,"width"),i.fieldView.on("input",(()=>{this.width=i.fieldView.element.value}));const n=new Au(e);n.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const s=new Sh(e,nm);return s.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),s.fieldView.bind("value").to(this,"height"),s.fieldView.on("input",(()=>{this.height=s.fieldView.element.value})),{dimensionsLabel:o,widthInput:i,operatorLabel:n,heightInput:s}}_createPaddingField(){const e=this.locale,t=this.t,o=new Sh(e,nm);return o.set({label:t("Padding"),class:"ck-table-cell-properties-form__padding"}),o.fieldView.bind("value").to(this,"padding"),o.fieldView.on("input",(()=>{this.padding=o.fieldView.element.value})),o}_createAlignmentFields(){const e=this.locale,t=this.t,o=new Du(e),i={left:jc,center:'',right:'',justify:'',top:'',middle:'',bottom:''};o.text=t("Table cell text alignment");const n=new Wh(e),s="rtl"===e.contentLanguageDirection;n.set({isCompact:!0,role:"radiogroup",ariaLabel:t("Horizontal text alignment toolbar"),class:"ck-table-cell-properties-form__horizontal-alignment-toolbar"}),PC({view:this,icons:i,toolbar:n,labels:this._horizontalAlignmentLabels,propertyName:"horizontalAlignment",nameToValue:e=>{if(s){if("left"===e)return"right";if("right"===e)return"left"}return e},defaultValue:this.options.defaultTableCellProperties.horizontalAlignment});const r=new Wh(e);return r.set({isCompact:!0,role:"radiogroup",ariaLabel:t("Vertical text alignment toolbar"),class:"ck-table-cell-properties-form__vertical-alignment-toolbar"}),PC({view:this,icons:i,toolbar:r,labels:this._verticalAlignmentLabels,propertyName:"verticalAlignment",defaultValue:this.options.defaultTableCellProperties.verticalAlignment}),{horizontalAlignmentToolbar:n,verticalAlignmentToolbar:r,alignmentLabel:o}}_createActionButtons(){const e=this.locale,t=this.t,o=new Lu(e),i=new Lu(e),n=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.paddingInput];return o.set({label:t("Save"),class:"ck-button-action",type:"submit",withText:!0}),o.bind("isEnabled").toMany(n,"errorText",((...e)=>e.every((e=>!e)))),i.set({label:t("Cancel"),withText:!0}),i.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:i}}_createBackButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:ed,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_getCellTypeDefinitions(){const e=new eo,t=this._cellTypeLabels,o=["data","header"];this.options.showScopedHeaderOptions&&o.push("header-column","header-row");for(const i of o){const o={type:"button",model:new Jm({_cellTypeValue:i,label:t[i],role:"menuitemradio",withText:!0})};o.model.bind("isOn").to(this,"cellType",(e=>e===i)),e.add(o)}return e}get _horizontalAlignmentLabels(){const e=this.locale,t=this.t,o=t("Align cell text to the left"),i=t("Align cell text to the center"),n=t("Align cell text to the right"),s=t("Justify cell text");return"rtl"===e.uiLanguageDirection?{right:n,center:i,left:o,justify:s}:{left:o,center:i,right:n,justify:s}}get _verticalAlignmentLabels(){const e=this.t;return{top:e("Align cell text to the top"),middle:e("Align cell text to the middle"),bottom:e("Align cell text to the bottom")}}get _cellTypeLabels(){const e=this.t;return{data:e("Data cell"),header:e("Header cell"),"header-column":e("Column header"),"header-row":e("Row header")}}}function VC(e){return"none"!==e}const DC=(()=>[dh.defaultPositions.northArrowSouth,dh.defaultPositions.northArrowSouthWest,dh.defaultPositions.northArrowSouthEast,dh.defaultPositions.southArrowNorth,dh.defaultPositions.southArrowNorthWest,dh.defaultPositions.southArrowNorthEast,dh.defaultPositions.viewportStickyNorth])();function FC(e,t){const o=e.plugins.get("ContextualBalloon"),i=e.editing.view.document.selection;let n;"cell"===t?fC(i)&&(n=NC(e)):gC(i)&&(n=MC(e)),n&&o.updatePosition(n)}function MC(e){const t=qk(e.model.document.selection),o=e.editing.mapper.toViewElement(t);return{target:e.editing.view.domConverter.mapViewToDom(o),positions:DC}}function NC(e){const t=e.editing.mapper,o=e.editing.view.domConverter,i=e.model.document.selection;if(i.rangeCount>1)return{target:()=>function(e,t){const o=t.editing.mapper,i=t.editing.view.domConverter,n=Array.from(e).map((e=>{const t=BC(e.start),n=o.toViewElement(t);return new ut(i.mapViewToDom(n))}));return ut.getBoundingRect(n)}(i.getRanges(),e),positions:DC};const n=BC(i.getFirstPosition()),s=t.toViewElement(n);return{target:o.mapViewToDom(s),positions:DC}}function BC(e){return e.nodeAfter&&e.nodeAfter.is("element","tableCell")?e.nodeAfter:e.findAncestor("tableCell")}const LC={borderStyle:"tableCellBorderStyle",borderColor:"tableCellBorderColor",borderWidth:"tableCellBorderWidth",height:"tableCellHeight",width:"tableCellWidth",padding:"tableCellPadding",backgroundColor:"tableCellBackgroundColor",horizontalAlignment:"tableCellHorizontalAlignment",verticalAlignment:"tableCellVerticalAlignment",cellType:"tableCellType"};class zC extends fc{_defaultContentTableCellProperties;_defaultLayoutTableCellProperties;_balloon;view;_viewWithContentTableDefaults;_viewWithLayoutTableDefaults;_undoStepBatch;_isReady;static get requires(){return[Qm]}static get pluginName(){return"TableCellPropertiesUI"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("table.tableCellProperties",{borderColors:SC,backgroundColors:SC})}init(){const e=this.editor,t=e.t;this._defaultContentTableCellProperties=bv(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection}),this._defaultLayoutTableCellProperties=pv(void 0,{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection}),this._balloon=e.plugins.get(Qm),this.view=null,this._isReady=!1,e.ui.componentFactory.add("tableCellProperties",(o=>{const i=new Lu(o);i.set({label:t("Cell properties"),icon:'',tooltip:!0}),this.listenTo(i,"execute",(()=>this._showView()));const n=Object.values(LC).map((t=>e.commands.get(t))).filter((e=>!!e));return i.bind("isEnabled").toMany(n,"isEnabled",((...e)=>e.some((e=>e)))),i}))}destroy(){super.destroy(),this.view&&this.view.destroy()}_createPropertiesView(e){const t=this.editor,o=t.config.get("table.tableCellProperties"),i=!!t.config.get("table.tableCellProperties.scopedHeaders"),n=Ch(o.borderColors),s=vh(t.locale,n),r=Ch(o.backgroundColors),a=vh(t.locale,r),l=!1!==o.colorPicker,c=new OC(t.locale,{borderColors:s,backgroundColors:a,defaultTableCellProperties:e,colorPickerConfig:!!l&&(o.colorPicker||{}),showScopedHeaderOptions:i}),d=t.t;c.render(),this.listenTo(c,"submit",(()=>{this._hideView()})),this.listenTo(c,"cancel",(()=>{this._undoStepBatch.operations.length&&t.execute("undo",this._undoStepBatch),this._hideView()})),c.keystrokes.set("Esc",((e,t)=>{this._hideView(),t()})),Su({emitter:c,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const u=vC(d),h=CC(d);c.on("change:borderStyle",this._getPropertyChangeCallback("tableCellBorderStyle")),c.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:c.borderColorInput,commandName:"tableCellBorderColor",errorText:u,validator:AC})),c.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:c.borderWidthInput,commandName:"tableCellBorderWidth",errorText:h,validator:EC})),c.on("change:padding",this._getValidatedPropertyChangeCallback({viewField:c.paddingInput,commandName:"tableCellPadding",errorText:h,validator:xC})),c.on("change:width",this._getValidatedPropertyChangeCallback({viewField:c.widthInput,commandName:"tableCellWidth",errorText:h,validator:xC})),c.on("change:height",this._getValidatedPropertyChangeCallback({viewField:c.heightInput,commandName:"tableCellHeight",errorText:h,validator:xC})),c.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:c.backgroundInput,commandName:"tableCellBackgroundColor",errorText:u,validator:AC})),c.on("change:horizontalAlignment",this._getPropertyChangeCallback("tableCellHorizontalAlignment")),c.on("change:verticalAlignment",this._getPropertyChangeCallback("tableCellVerticalAlignment"));const m=t.commands.get("tableCellType");return m&&(c.cellTypeDropdown.bind("isEnabled").to(m,"isEnabled"),c.on("change:cellType",this._getPropertyChangeCallback("tableCellType"))),c}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableCellBorderStyle");Object.entries(LC).flatMap((([t,o])=>{const i=e.get(o);if(!i)return[];const n=t;let s;s="cellType"===n?"":this.view===this._viewWithContentTableDefaults?this._defaultContentTableCellProperties[n]||"":this._defaultLayoutTableCellProperties[n]||"";return[[t,i.value||s]]})).forEach((([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)})),this._isReady=!0}_showView(){const e=this.editor,t=gC(e.editing.view.document.selection),o=t&&e.editing.mapper.toModelElement(t),i=!o||"layout"!==o.getAttribute("tableType");i&&!this._viewWithContentTableDefaults?this._viewWithContentTableDefaults=this._createPropertiesView(this._defaultContentTableCellProperties):i||this._viewWithLayoutTableDefaults||(this._viewWithLayoutTableDefaults=this._createPropertiesView(this._defaultLayoutTableCellProperties)),this.view=i?this._viewWithContentTableDefaults:this._viewWithLayoutTableDefaults,this.listenTo(e.ui,"update",(()=>{this._updateView()})),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:NC(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){const e=this.editor;this.stopListening(e.ui,"update"),this._isReady=!1,this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){const e=this.editor;fC(e.editing.view.document.selection)?this._isViewVisible&&FC(e,"cell"):this._hideView()}get _isViewVisible(){return!!this.view&&this._balloon.visibleView===this.view}get _isViewInBalloon(){return!!this.view&&this._balloon.hasView(this.view)}_getPropertyChangeCallback(e){return(t,o,i)=>{this._isReady&&this.editor.execute(e,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:i,errorText:n}=e,s=zo((()=>{o.errorText=n}),500);return(e,n,r)=>{s.cancel(),this._isReady&&(i(r)?(this.editor.execute(t,{value:r,batch:this._undoStepBatch}),o.errorText=null):s())}}}class jC extends wc{attributeName;_defaultValue;_defaultContentTableValue;_defaultLayoutTableValue;constructor(e,t,o){switch(super(e),this.attributeName=t,this._defaultContentTableValue=o,t){case"tableCellType":this._defaultLayoutTableValue="data";break;case"tableCellBorderStyle":this._defaultLayoutTableValue="none";break;case"tableCellHorizontalAlignment":this._defaultLayoutTableValue="left";break;case"tableCellVerticalAlignment":this._defaultLayoutTableValue="middle";break;default:this._defaultLayoutTableValue=void 0}}refresh(){const e=this.editor.model.document.selection,t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e),o=qk(e);this._defaultValue=o&&"layout"===o.getAttribute("tableType")?this._defaultLayoutTableValue:this._defaultContentTableValue,this.isEnabled=!!t.length,this.value=this._getSingleValue(t)}execute(e={}){const{value:t,batch:o}=e,i=this.editor.model,n=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(i.document.selection),s=this._getValueToSet(t);i.enqueueChange(o,(e=>{s?n.forEach((t=>e.setAttribute(this.attributeName,s,t))):n.forEach((t=>e.removeAttribute(this.attributeName,t))),this.fire("afterExecute",{writer:e,tableCells:n,valueToSet:s})}))}_getAttribute(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}_getSingleValue(e){const t=this._getAttribute(e[0]);return e.every((e=>this._getAttribute(e)===t))?t:void 0}}class qC extends jC{constructor(e,t){super(e,"tableCellWidth",t)}_getValueToSet(e){if((e=gv(e,"px"))!==this._defaultValue)return e}}class $C extends fc{static get pluginName(){return"TableCellWidthEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[Xv]}init(){const e=this.editor,t=bv(e.config.get("table.tableCellProperties.defaultProperties"));jk(e.model.schema,e.conversion,{modelAttribute:"tableCellWidth",styleName:"width",attributeName:"width",attributeType:"length",defaultValue:t.width}),e.commands.add("tableCellWidth",new qC(e,t.width))}}class HC extends jC{constructor(e,t){super(e,"tableCellPadding",t)}_getAttribute(e){if(!e)return;const t=mv(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){const t=gv(e,"px");if(t!==this._defaultValue)return t}}class WC extends jC{constructor(e,t){super(e,"tableCellHeight",t)}_getValueToSet(e){const t=gv(e,"px");if(t!==this._defaultValue)return t}}class UC extends jC{constructor(e,t){super(e,"tableCellBackgroundColor",t)}}class KC extends jC{constructor(e,t){super(e,"tableCellVerticalAlignment",t)}}class GC extends jC{constructor(e,t){super(e,"tableCellHorizontalAlignment",t)}}class JC extends jC{constructor(e,t){super(e,"tableCellBorderStyle",t)}_getAttribute(e){if(!e)return;const t=mv(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class ZC extends jC{constructor(e,t){super(e,"tableCellBorderColor",t)}_getAttribute(e){if(!e)return;const t=mv(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class QC extends jC{constructor(e,t){super(e,"tableCellBorderWidth",t)}_getAttribute(e){if(!e)return;const t=mv(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){const t=gv(e,"px");if(t!==this._defaultValue)return t}}class YC extends jC{constructor(e){super(e,"tableCellType","data"),this.on("afterExecute",((e,t)=>{const{writer:o,tableCells:i}=t,n=this.editor.plugins.get(av),s=function(e){const t=new Map;for(const o of e){const e=o.findAncestor("table");t.has(e)||t.set(e,[]),t.get(e).push(o)}return t}(i);XC(n,o,s.keys())}))}refresh(){super.refresh();const e=qk(this.editor.model.document.selection);this.isEnabled&&e&&"layout"===e.getAttribute("tableType")&&(this.isEnabled=!1)}_getAttribute(e){return e?.getAttribute(this.attributeName)||"data"}}function XC(e,t,o){let i=!1;for(const n of o){let o=n.getAttribute("headingRows")||0,s=n.getAttribute("headingColumns")||0;const r=n.getAttribute("footerRows")||0,a=e.getRows(n)-r,l=s>o;if(l){const r=eA(e,n,"column",s,o);r!==s&&(e.setHeadingColumnsCount(t,n,r,{updateCellType:!1}),s=r,i=!0)}let c=eA(e,n,"row",o,s);if(r>0&&(c=Math.min(c,a)),c!==o&&(e.setHeadingRowsCount(t,n,c,{updateCellType:!1}),o=c,i=!0),!l){const r=eA(e,n,"column",s,o);r!==s&&(e.setHeadingColumnsCount(t,n,r,{updateCellType:!1}),i=!0)}}return i}function eA(e,t,o,i,n){const s="row"===o?e.getRows(t):e.getColumns(t);let r=i;for(let e=0;e=n&&(a=!0)}if(!s)return Math.min(r,e);a&&(r=Math.max(r,e+1))}return Math.min(r,s)}const tA=/^(top|middle|bottom)$/,oA=/^(left|center|right|justify)$/;class iA extends fc{static get pluginName(){return"TableCellPropertiesEditing"}static get licenseFeatureCode(){return"TCP"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}static get requires(){return[Xv,$C]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableCellProperties.defaultProperties",{});const i=bv(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection});e.data.addStyleProcessorRules(Hl),function(e,t){const{conversion:o}=e,{schema:i}=e.model,n={width:"tableCellBorderWidth",color:"tableCellBorderColor",style:"tableCellBorderStyle"};i.extend("tableCell",{allowAttributes:Object.values(n)});for(const e of Object.values(n))i.setAttributeProperties(e,{isFormatting:!0});vk(e,"td",n,t),vk(e,"th",n,t),Ck(o,{modelElement:"tableCell",modelAttribute:n.style,styleName:"border-style"}),Ck(o,{modelElement:"tableCell",modelAttribute:n.color,styleName:"border-color"}),Ck(o,{modelElement:"tableCell",modelAttribute:n.width,styleName:"border-width"})}(e,{color:i.borderColor,style:i.borderStyle,width:i.borderWidth}),e.commands.add("tableCellBorderStyle",new JC(e,i.borderStyle)),e.commands.add("tableCellBorderColor",new ZC(e,i.borderColor)),e.commands.add("tableCellBorderWidth",new QC(e,i.borderWidth)),jk(t,o,{modelAttribute:"tableCellHeight",styleName:"height",attributeName:"height",attributeType:"length",defaultValue:i.height}),e.commands.add("tableCellHeight",new WC(e,i.height)),e.data.addStyleProcessorRules(tc),jk(t,o,{modelAttribute:"tableCellPadding",styleName:"padding",reduceBoxSides:!0,defaultValue:i.padding}),function(e,t){Tk(e,"td",t),Tk(e,"th",t)}(e,i.padding),e.commands.add("tableCellPadding",new HC(e,i.padding)),e.data.addStyleProcessorRules(Bl),jk(t,o,{modelAttribute:"tableCellBackgroundColor",styleName:"background-color",attributeName:"bgcolor",attributeType:"color",defaultValue:i.backgroundColor}),e.commands.add("tableCellBackgroundColor",new UC(e,i.backgroundColor)),function(e,t,o){e.extend("tableCell",{allowAttributes:["tableCellHorizontalAlignment"]}),e.setAttributeProperties("tableCellHorizontalAlignment",{isFormatting:!0}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellHorizontalAlignment"},view:e=>({key:"style",value:{"text-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"text-align":oA}},model:{key:"tableCellHorizontalAlignment",value:(e,t,i)=>{const n=xk(o,"left",i),s=e.getStyle("text-align");if(s!==n)return s;t.consumable.consume(e,{styles:"text-align"})}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{align:oA}},model:{key:"tableCellHorizontalAlignment",value:(e,t,i)=>{const n=xk(o,"left",i),s=e.getAttribute("align");if(s!==n)return s;t.consumable.consume(e,{attributes:"align"})}}})}(t,o,i.horizontalAlignment),e.commands.add("tableCellHorizontalAlignment",new GC(e,i.horizontalAlignment)),function(e,t,o){e.extend("tableCell",{allowAttributes:["tableCellVerticalAlignment"]}),e.setAttributeProperties("tableCellVerticalAlignment",{isFormatting:!0}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellVerticalAlignment"},view:e=>({key:"style",value:{"vertical-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"vertical-align":tA}},model:{key:"tableCellVerticalAlignment",value:(e,t,i)=>{const n=xk(o,"middle",i),s=e.getStyle("vertical-align");if(s!==n)return s;t.consumable.consume(e,{styles:"vertical-align"})}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{valign:tA}},model:{key:"tableCellVerticalAlignment",value:(e,t,i)=>{const n=xk(o,"middle",i),s=e.getAttribute("valign");if(s!==n)return s;t.consumable.consume(e,{attributes:"valign"})}}})}(t,o,i.verticalAlignment),e.commands.add("tableCellVerticalAlignment",new KC(e,i.verticalAlignment)),function(e){const{model:t,conversion:o,editing:i,config:n}=e,{schema:s}=t;n.define("table.tableCellProperties.scopedHeaders",!0);const r=!!n.get("table.tableCellProperties.scopedHeaders"),a=e.plugins.get(av);s.extend("tableCell",{allowAttributes:["tableCellType"]}),s.setAttributeProperties("tableCellType",{isFormatting:!0}),s.addAttributeCheck((e=>{const t=Array.from(e).reverse().find((e=>"table"===e.name));if("layout"===t?.getAttribute("tableType"))return!1}),"tableCellType"),o.for("upcast").add((e=>{e.on("element:th",((e,t,o)=>{const{writer:i}=o,{modelRange:n}=t,s=n?.start.nodeAfter;s?.is("element","tableCell")&&!s.hasAttribute("tableCellType")&&i.setAttribute("tableCellType","header",s)})),e.on("element:table",((e,t,o)=>{const{writer:i}=o,{modelRange:n}=t,s=n?.start.nodeAfter;if(s?.is("element","table")&&"layout"===s.getAttribute("tableType"))for(const{cell:e}of new Fk(s)){if(Nk(e.getAttribute("tableCellType"))){i.setAttribute("tableType","content",s);break}}}),{priority:ge.low-1})})),r&&(o.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellType"},view:e=>{switch(e){case"header-row":return{key:"scope",value:"row"};case"header-column":return{key:"scope",value:"col"}}}}),o.for("upcast").add((e=>{e.on("element:th",((e,t,o)=>{const{writer:i,consumable:n}=o,{viewItem:s,modelRange:r}=t,a=r.start.nodeAfter,l=a?.getAttribute("tableCellType");if("header"===l&&n.consume(s,{attributes:["scope"]})){switch(s.getAttribute("scope")){case"row":i.setAttribute("tableCellType","header-row",a);break;case"col":i.setAttribute("tableCellType","header-column",a)}}}))})));t.document.registerPostFixer((e=>{const o=t.document.differ.getChanges(),i=new Set;for(const e of o){if("attribute"===e.type&&("headingRows"===e.attributeKey||"headingColumns"===e.attributeKey)){const t=e.range.start.nodeAfter;t?.is("element","table")&&"$graveyard"!==t.root.rootName&&i.add(t)}if("attribute"===e.type&&"tableCellType"===e.attributeKey){const t=e.range.start.nodeAfter;if(t?.is("element","tableCell")&&"$graveyard"!==t.root.rootName){const e=t.findAncestor("table");e&&i.add(e)}}if("insert"===e.type&&e.position.nodeAfter)for(const{item:o}of t.createRangeOn(e.position.nodeAfter))if(o.is("element","tableCell")&&o.getAttribute("tableCellType")&&"$graveyard"!==o.root.rootName){const e=o.findAncestor("table");e&&i.add(e)}}return XC(a,e,i)})),t.document.on("change:data",(()=>{const{differ:e}=t.document,o=new Set;for(const t of e.getChanges())if("attribute"===t.type&&"tableCellType"===t.attributeKey){const e=t.range.start.nodeAfter;e.is("element","tableCell")&&o.add(e)}for(const e of o){const t=i.mapper.toViewElement(e),o=Nk(e.getAttribute("tableCellType"))?"th":"td";t?.name!==o&&i.reconvertItem(e)}}))}(e),e.commands.add("tableCellType",new YC(e))}}class nA extends wc{attributeName;_defaultValue;_defaultContentTableValue;_defaultLayoutTableValue;constructor(e,t,o){super(e),this.attributeName=t,this._defaultContentTableValue=o,this._defaultLayoutTableValue="tableBorderStyle"===t?"none":void 0}refresh(){const e=qk(this.editor.model.document.selection);this._defaultValue=e&&"layout"===e.getAttribute("tableType")?this._defaultLayoutTableValue:this._defaultContentTableValue,this.isEnabled=!!e,this.value=this._getValue(e)}execute(e={}){const t=this.editor.model,o=t.document.selection,{value:i,batch:n}=e,s=qk(o),r=this._getValueToSet(i);t.enqueueChange(n,(e=>{r?e.setAttribute(this.attributeName,r,s):e.removeAttribute(this.attributeName,s)}))}_getValue(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}}class sA extends nA{constructor(e,t){super(e,"tableBackgroundColor",t)}}class rA extends nA{constructor(e,t){super(e,"tableBorderColor",t)}_getValue(e){if(!e)return;const t=mv(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class aA extends nA{constructor(e,t){super(e,"tableBorderStyle",t)}_getValue(e){if(!e)return;const t=mv(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class lA extends nA{constructor(e,t){super(e,"tableBorderWidth",t)}_getValue(e){if(!e)return;const t=mv(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){const t=gv(e,"px");if(t!==this._defaultValue)return t}}class cA extends nA{constructor(e,t){super(e,"tableWidth",t)}_getValueToSet(e){if((e=gv(e,"px"))!==this._defaultValue)return e}}class dA extends nA{constructor(e,t){super(e,"tableHeight",t)}_getValueToSet(e){if((e=gv(e,"px"))!==this._defaultValue)return e}}class uA extends nA{constructor(e,t){super(e,"tableAlignment",t)}}class hA extends fc{static get pluginName(){return"TablePropertiesEditing"}static get licenseFeatureCode(){return"TCP"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}static get requires(){return[Xv]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableProperties.defaultProperties",{});const i=fv(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0}),n=!0===e.config.get("table.tableProperties.alignment.useInlineStyles");e.data.addStyleProcessorRules(ec),e.data.addStyleProcessorRules(Hl),function(e,t){const{conversion:o}=e,{schema:i}=e.model,n={width:"tableBorderWidth",color:"tableBorderColor",style:"tableBorderStyle"};i.extend("table",{allowAttributes:Object.values(n)});for(const e of Object.values(n))i.setAttributeProperties(e,{isFormatting:!0});vk(e,"table",n,t),Ak(o,{modelAttribute:n.color,styleName:"border-color"}),Ak(o,{modelAttribute:n.style,styleName:"border-style"}),Ak(o,{modelAttribute:n.width,styleName:"border-width"})}(e,{color:i.borderColor,style:i.borderStyle,width:i.borderWidth}),e.commands.add("tableBorderColor",new rA(e,i.borderColor)),e.commands.add("tableBorderStyle",new aA(e,i.borderStyle)),e.commands.add("tableBorderWidth",new lA(e,i.borderWidth)),function(e,t,o,i){e.extend("table",{allowAttributes:["tableAlignment"]}),e.setAttributeProperties("tableAlignment",{isFormatting:!0}),t.for("downcast").attributeToAttribute({model:{name:"table",key:"tableAlignment",values:["left","center","right","blockLeft","blockRight"]},view:{left:i?{key:"style",value:{float:"left","margin-right":"var(--ck-content-table-style-spacing, 1.5em)"}}:{key:"class",value:Pk.className},right:i?{key:"style",value:{float:"right","margin-left":"var(--ck-content-table-style-spacing, 1.5em)"}}:{key:"class",value:Ik.className},center:i?{key:"style",value:{"margin-left":"auto","margin-right":"auto"}}:{key:"class",value:Sk.className},blockLeft:i?{key:"style",value:{"margin-left":"0","margin-right":"auto"}}:{key:"class",value:Rk.className},blockRight:i?{key:"style",value:{"margin-left":"auto","margin-right":"0"}}:{key:"class",value:Ok.className}},converterPriority:"high"}),Vk.forEach((e=>{t.for("upcast").attributeToAttribute({view:e.view,model:{key:"tableAlignment",value:(t,i,n)=>{if(function(e){return"figure"==e.name&&!e.hasClass("table")}(t))return;const s=xk(o,"",n),r=e.getAlign(t),a=e.getConsumables(t);return i.consumable.consume(t,a),r!==s?r:void 0}}})})),t.for("upcast").add(function(e){return t=>{t.on("element:div",((t,o,i)=>{if(!i.consumable.test(o.viewItem,{name:!0,attributes:"align"}))return;const n=ov(o.viewItem);if(!n||!i.consumable.test(n,{name:!0}))return;i.consumable.consume(o.viewItem,{name:!0,attributes:"align"});const s=i.convertItem(n,o.modelCursor),r=to(s.modelRange.getItems());if(!r||!r.is("element","table"))return i.consumable.revert(o.viewItem,{name:!0,attributes:"align"}),void(s.modelRange&&!s.modelRange.isCollapsed&&(o.modelRange=s.modelRange,o.modelCursor=s.modelCursor));const a=function(e,t,o){if(e)switch(e){case"right":return"right"===t?"right":"left"===t?"left":"blockRight";case"center":return"center";case"left":return void 0===t?"blockLeft":"left";default:return o}return}(o.viewItem.getAttribute("align"),n.getAttribute("align"),xk(e,"",o));a&&i.writer.setAttribute("tableAlignment",a,r),i.convertChildren(o.viewItem,i.writer.createPositionAt(r,"end")),i.updateConversionResult(r,o)}))}}(o))}(t,o,i.alignment,n),e.commands.add("tableAlignment",new uA(e,i.alignment)),pA(t,o,{modelAttribute:"tableWidth",styleName:"width",attributeName:"width",attributeType:"length",defaultValue:i.width}),e.commands.add("tableWidth",new cA(e,i.width)),pA(t,o,{modelAttribute:"tableHeight",styleName:"height",attributeName:"height",attributeType:"length",defaultValue:i.height}),e.commands.add("tableHeight",new dA(e,i.height)),e.data.addStyleProcessorRules(Bl),function(e,t,o){const{modelAttribute:i}=o;e.extend("table",{allowAttributes:[i]}),e.setAttributeProperties(i,{isFormatting:!0}),kk(t,{viewElement:"table",...o}),Ak(t,o)}(t,o,{modelAttribute:"tableBackgroundColor",styleName:"background-color",attributeName:"bgcolor",attributeType:"color",defaultValue:i.backgroundColor}),e.commands.add("tableBackgroundColor",new sA(e,i.backgroundColor)),Tk(e,"table");const s=e.editing.view.document;this.listenTo(s,"clipboardOutput",((t,o)=>{e.editing.view.change((e=>{for(const{item:t}of e.createRangeIn(o.content))mA(t,e);o.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(o.content))}))}),{priority:"lowest"})}}function mA(e,t){if(!e.is("element","table"))return;const o=e.getAttribute("align"),i=e.getStyle("float"),n=e.getStyle("margin-left"),s=e.getStyle("margin-right");o&&"center"===o||i&&"right"===i&&o&&"right"===o?gA(t,o,e):void 0===i&&"auto"===n&&"0"===s&&gA(t,"right",e)}function gA(e,t,o){const i=e.createPositionBefore(o),n=e.createContainerElement("div",{align:t},o);e.insert(i,n)}function pA(e,t,o){const{modelAttribute:i}=o;e.extend("table",{allowAttributes:[i]}),e.setAttributeProperties(i,{isFormatting:!0}),kk(t,{viewElement:/^(table|figure)$/,shouldUpcast:e=>!("table"==e.name&&"figure"==e.parent.name||"figure"==e.name&&!e.hasClass("table")),...o}),Ck(t,{modelElement:"table",...o})}class fA extends Au{options;focusTracker;keystrokes;children;borderStyleDropdown;borderWidthInput;borderColorInput;backgroundInput;widthInput;heightInput;alignmentToolbar;saveButtonView;cancelButtonView;backButtonView;_focusables;_focusCycler;constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",alignment:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:i,borderColorInput:n,borderRowLabel:s}=this._createBorderFields(),{backgroundRowLabel:r,backgroundInput:a}=this._createBackgroundFields(),{widthInput:l,operatorLabel:c,heightInput:d,dimensionsLabel:u}=this._createDimensionFields(),{alignmentToolbar:h,alignmentLabel:m}=this._createAlignmentFields();this.focusTracker=new oo,this.keystrokes=new ro,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=i,this.borderColorInput=n,this.backgroundInput=a,this.widthInput=l,this.heightInput=d,this.alignmentToolbar=h;const{saveButtonView:g,cancelButtonView:p}=this._createActionButtons();this.saveButtonView=g,this.cancelButtonView=p,this.backButtonView=this._createBackButton(),this._focusables=new tu,this._focusCycler=new qu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const f=new ju(e,{label:this.t("Table properties")});f.children.add(this.backButtonView,0),this.children.add(f),this.children.add(new Km(e,{labelView:s,children:[s,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new Km(e,{children:[new Km(e,{labelView:u,children:[u,l,c,d],class:"ck-table-form__dimensions-row"}),new Km(e,{labelView:r,children:[r,a],class:"ck-table-form__background-row"})]})),this.children.add(new Km(e,{labelView:m,children:[m,h],class:"ck-table-properties-form__alignment-row"})),this.children.add(new Km(e,{children:[this.cancelButtonView,this.saveButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Ou({view:this}),[this.borderColorInput,this.backgroundInput].forEach((e=>{this._focusCycler.chain(e.fieldView.focusCycler)})),[this.borderStyleDropdown,this.borderWidthInput,this.borderColorInput,this.widthInput,this.heightInput,this.backgroundInput,this.alignmentToolbar,this.cancelButtonView,this.saveButtonView,this.backButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=IC({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color,colorPickerConfig:this.options.colorPickerConfig}),i=this.locale,n=this.t,s=n("Style"),r=new Du(i);r.text=n("Border");const a=kC(n),l=new Sh(i,rm);l.set({label:s,class:"ck-table-form__border-style"}),l.fieldView.buttonView.set({ariaLabel:s,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:s}),l.fieldView.buttonView.bind("label").to(this,"borderStyle",(e=>a[e||"none"])),l.fieldView.on("execute",(e=>{this.borderStyle=e.source._borderStyleValue})),l.bind("isEmpty").to(this,"borderStyle",(e=>!e)),Xh(l.fieldView,TC(this,t.style),{role:"menu",ariaLabel:s});const c=new Sh(i,nm);c.set({label:n("Width"),class:"ck-table-form__border-width"}),c.fieldView.bind("value").to(this,"borderWidth"),c.bind("isEnabled").to(this,"borderStyle",bA),c.fieldView.on("input",(()=>{this.borderWidth=c.fieldView.element.value}));const d=new Sh(i,o);return d.set({label:n("Color"),class:"ck-table-form__border-color"}),d.fieldView.bind("value").to(this,"borderColor"),d.bind("isEnabled").to(this,"borderStyle",bA),d.fieldView.on("input",(()=>{this.borderColor=d.fieldView.value})),this.on("change:borderStyle",((e,o,i,n)=>{bA(i)||(this.borderColor="",this.borderWidth=""),bA(n)||(this.borderColor=t.color,this.borderWidth=t.width)})),{borderRowLabel:r,borderStyleDropdown:l,borderColorInput:d,borderWidthInput:c}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new Du(e);o.text=t("Background");const i=IC({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableProperties.backgroundColor,colorPickerConfig:this.options.colorPickerConfig}),n=new Sh(e,i);return n.set({label:t("Color"),class:"ck-table-properties-form__background"}),n.fieldView.bind("value").to(this,"backgroundColor"),n.fieldView.on("input",(()=>{this.backgroundColor=n.fieldView.value})),{backgroundRowLabel:o,backgroundInput:n}}_createDimensionFields(){const e=this.locale,t=this.t,o=new Du(e);o.text=t("Dimensions");const i=new Sh(e,nm);i.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),i.fieldView.bind("value").to(this,"width"),i.fieldView.on("input",(()=>{this.width=i.fieldView.element.value}));const n=new Au(e);n.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const s=new Sh(e,nm);return s.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),s.fieldView.bind("value").to(this,"height"),s.fieldView.on("input",(()=>{this.height=s.fieldView.element.value})),{dimensionsLabel:o,widthInput:i,operatorLabel:n,heightInput:s}}_createAlignmentFields(){const e=this.locale,t=this.t,o=new Du(e);o.text=t("Table Alignment");const i=new Wh(e);return i.set({role:"radiogroup",isCompact:!0,ariaLabel:t("Table alignment toolbar")}),PC({view:this,icons:{left:Jc,center:Gc,right:Zc,blockLeft:Yc,blockRight:Xc},toolbar:i,labels:this._alignmentLabels,propertyName:"alignment",defaultValue:this.options.defaultTableProperties.alignment}),{alignmentLabel:o,alignmentToolbar:i}}_createActionButtons(){const e=this.locale,t=this.t,o=new Lu(e),i=new Lu(e),n=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.widthInput,this.heightInput];return o.set({label:t("Save"),class:"ck-button-action",type:"submit",withText:!0}),o.bind("isEnabled").toMany(n,"errorText",((...e)=>e.every((e=>!e)))),i.set({label:t("Cancel"),withText:!0}),i.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:i}}_createBackButton(){const e=this.locale.t,t=new Lu(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:ed,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}get _alignmentLabels(){const e=this.locale,t=this.t,o=t("Align table to the left with no text wrapping"),i=t("Align table to the right with no text wrapping"),n=t("Align table to the left with text wrapping"),s=t("Center table with no text wrapping"),r=t("Align table to the right with text wrapping");return"rtl"===e.uiLanguageDirection?{right:r,left:n,blockRight:i,center:s,blockLeft:o}:{blockLeft:o,center:s,blockRight:i,left:n,right:r}}}function bA(e){return"none"!==e}const wA={borderStyle:"tableBorderStyle",borderColor:"tableBorderColor",borderWidth:"tableBorderWidth",backgroundColor:"tableBackgroundColor",width:"tableWidth",height:"tableHeight",alignment:"tableAlignment"};class yA extends fc{_defaultContentTableProperties;_defaultLayoutTableProperties;_balloon;view=null;_viewWithContentTableDefaults=null;_viewWithLayoutTableDefaults=null;_undoStepBatch;_isReady;static get requires(){return[Qm]}static get pluginName(){return"TablePropertiesUI"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("table.tableProperties",{borderColors:SC,backgroundColors:SC})}init(){const e=this.editor;this._defaultContentTableProperties=fv(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0}),this._defaultLayoutTableProperties=pv(),this._balloon=e.plugins.get(Qm),e.ui.componentFactory.add("tableProperties",(()=>this._createTablePropertiesButton()))}_createTablePropertiesButton(){const e=this.editor,t=e.t,o=new Lu(e.locale);o.set({label:t("Table properties"),icon:'',tooltip:!0}),this.listenTo(o,"execute",(()=>this._showView()));const i=Object.values(wA).map((t=>e.commands.get(t)));return o.bind("isEnabled").toMany(i,"isEnabled",((...e)=>e.some((e=>e)))),o}destroy(){super.destroy(),this.view&&this.view.destroy()}_createPropertiesView(e){const t=this.editor,o=t.config.get("table.tableProperties"),i=Ch(o.borderColors),n=vh(t.locale,i),s=Ch(o.backgroundColors),r=vh(t.locale,s),a=!1!==o.colorPicker,l=new fA(t.locale,{borderColors:n,backgroundColors:r,defaultTableProperties:e,colorPickerConfig:!!a&&(o.colorPicker||{})}),c=t.t;l.render(),this.listenTo(l,"submit",(()=>{this._hideView()})),this.listenTo(l,"cancel",(()=>{this._undoStepBatch.operations.length&&t.execute("undo",this._undoStepBatch),this._hideView()})),l.keystrokes.set("Esc",((e,t)=>{this._hideView(),t()})),Su({emitter:l,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const d=vC(c),u=CC(c);return l.on("change:borderStyle",this._getPropertyChangeCallback("tableBorderStyle")),l.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:l.borderColorInput,commandName:"tableBorderColor",errorText:d,validator:AC})),l.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:l.borderWidthInput,commandName:"tableBorderWidth",errorText:u,validator:EC})),l.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:l.backgroundInput,commandName:"tableBackgroundColor",errorText:d,validator:AC})),l.on("change:width",this._getValidatedPropertyChangeCallback({viewField:l.widthInput,commandName:"tableWidth",errorText:u,validator:xC})),l.on("change:height",this._getValidatedPropertyChangeCallback({viewField:l.heightInput,commandName:"tableHeight",errorText:u,validator:xC})),l.on("change:alignment",this._getPropertyChangeCallback("tableAlignment")),l}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableBorderStyle");Object.entries(wA).map((([t,o])=>{const i=t,n=this.view===this._viewWithContentTableDefaults?this._defaultContentTableProperties[i]||"":this._defaultLayoutTableProperties[i]||"";return[i,e.get(o).value||n]})).forEach((([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)})),this._isReady=!0}_showView(){const e=this.editor,t=gC(e.editing.view.document.selection),o=t&&e.editing.mapper.toModelElement(t),i=!o||"layout"!==o.getAttribute("tableType");i&&!this._viewWithContentTableDefaults?this._viewWithContentTableDefaults=this._createPropertiesView(this._defaultContentTableProperties):i||this._viewWithLayoutTableDefaults||(this._viewWithLayoutTableDefaults=this._createPropertiesView(this._defaultLayoutTableProperties)),this.view=i?this._viewWithContentTableDefaults:this._viewWithLayoutTableDefaults,this.listenTo(e.ui,"update",(()=>{this._updateView()})),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:MC(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){const e=this.editor;this.stopListening(e.ui,"update"),this._isReady=!1,this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){const e=this.editor;gC(e.editing.view.document.selection)?this._isViewVisible&&FC(e,"table"):this._hideView()}get _isViewVisible(){return!!this.view&&this._balloon.visibleView===this.view}get _isViewInBalloon(){return!!this.view&&this._balloon.hasView(this.view)}_getPropertyChangeCallback(e){return(t,o,i)=>{this._isReady&&this.editor.execute(e,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:i,errorText:n}=e,s=zo((()=>{o.errorText=n}),500);return(e,n,r)=>{s.cancel(),this._isReady&&(i(r)?(this.editor.execute(t,{value:r,batch:this._undoStepBatch}),o.errorText=null):s())}}}function _A(e){const t=parseFloat(e);return e.endsWith("pt")?kA(96*t/72):e.endsWith("pc")?kA(12*t*96/72):e.endsWith("in")?kA(96*t):e.endsWith("cm")?kA(96*t/2.54):e.endsWith("mm")?kA(t/10*96/2.54):e}function kA(e){return Math.round(e)+"px"}function vA(e,t,o){if(!e.childCount)return;const i=new rl(e.document),n=function(e,t){const o=t.createRangeIn(e),i=[],n=new Set;for(const e of o.getItems()){if(!e.is("element")||!e.name.match(/^(p|h\d+|li|div)$/))continue;let t=VA(e);if(void 0===t||0!=parseFloat(t)||Array.from(e.getClassNames()).find((e=>e.startsWith("MsoList")))||(t=void 0),e.hasStyle("mso-list")&&"none"!==e.getStyle("mso-list")||void 0!==t&&n.has(t)){const o=RA(e);i.push({element:e,id:o.id,order:o.order,indent:o.indent,marginLeft:t}),void 0!==t&&n.add(t)}else n.clear()}return i}(e,i);if(!n.length)return;const s={},r=[];let a=AA();for(const e of n)if(void 0!==e.indent){EA(e)||(xA(i,r,a),a=AA(),r.length=0);const n=`${e.id}:${e.indent}`,l=Math.min(e.indent-1,r.length);if(lr.length-1||r[l].listElement.name!=a.type){0==l&&"ol"==a.type&&void 0!==e.id&&s[n]&&(a.startIndex=s[n]);const t=IA(a,i,o);if(0==r.length){const o=e.element.parent,n=o.getChildIndex(e.element)+1;i.insertChild(n,t,o)}else{const e=r[l-1].listItemElements;i.appendChild(t,e[e.length-1])}r[l]={...e,listElement:t,listItemElements:[]},0==l&&void 0!==e.id&&(s[n]=a.startIndex||1)}}const c="li"==e.element.name?e.element:i.createElement("li");CA(i,r,a,e,c,l),i.appendChild(c,r[l].listElement),r[l].listItemElements.push(c),0==l&&void 0!==e.id&&s[n]++,e.element!=c&&i.appendChild(e.element,c),OA(e.element,i),i.removeStyle("text-indent",e.element),i.removeStyle("margin-left",e.element)}else{const t=r.find((t=>t.marginLeft==e.marginLeft));if(t){const o=t.listItemElements;i.appendChild(e.element,o[o.length-1]),i.removeStyle("margin-left",e.element)}else r.length=0}xA(i,r,a)}function CA(e,t,o,i,n,s){if(void 0===i.marginLeft)return void(0==s&&(o.canApplyMarginOnList=!1));const r=parseFloat(i.marginLeft);let a=0;if(t.length>1){const e=t[t.length-2].listItemElements;if(e.length>0){const t=e[e.length-1].getStyle("margin-left");void 0!==t&&(a+=parseFloat(t))}}a+=40*t.length;const l=r-a,c=0!==l?kA(l):void 0;c&&(e.setStyle("margin-left",c,n),0==s&&o.canApplyMarginOnList&&(void 0===o.marginLeft&&(o.marginLeft=c),c!==o.marginLeft&&(o.canApplyMarginOnList=!1),o.topLevelListItemElements.push(n)))}function AA(){return{marginLeft:void 0,canApplyMarginOnList:!0,topLevelListItemElements:[]}}function xA(e,t,o){if(o.canApplyMarginOnList&&o.marginLeft&&o.topLevelListItemElements.length>0){e.setStyle("margin-left",o.marginLeft,t[0].listElement);for(const t of o.topLevelListItemElements)e.removeStyle("margin-left",t)}}function EA(e){const t=e.element.previousSibling;if(!t){const t=e.element.parent;return TA(t)&&(!t.previousSibling||TA(t.previousSibling))}return TA(t)}function TA(e){return e.is("element","ol")||e.is("element","ul")}function PA(e,t){const o=new RegExp(`@list l${e.id}:level${e.indent}\\s*({[^}]*)`,"gi"),i=/mso-level-number-format:([^;]{0,100});/gi,n=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,s=new RegExp(`@list\\s+l${e.id}:level\\d\\s*{[^{]*mso-level-text:"%\\d\\\\.`,"gi"),r=new RegExp(`@list l${e.id}:level\\d\\s*{[^{]*mso-level-number-format:`,"gi"),a=s.exec(t),l=r.exec(t),c=a&&!l,d=o.exec(t);let u="decimal",h="ol",m=null;if(d&&d[1]){const t=i.exec(d[1]);if(t&&t[1]&&(u=t[1].trim(),h="bullet"!==u&&"image"!==u?"ol":"ul"),"bullet"===u){const t=function(e){if("li"==e.name&&"ul"==e.parent.name&&e.parent.hasAttribute("type"))return e.parent.getAttribute("type");const t=function(e){if(e.getChild(0).is("$text"))return null;for(const t of e.getChildren()){if(!t.is("element","span"))continue;const e=t.getChild(0);if(e)return e.is("$text")?e:e.getChild(0)}return null}(e);if(!t)return null;const o=t._data;if("o"===o)return"circle";if("·"===o)return"disc";if("§"===o)return"square";return null}(e.element);t&&(u=t)}else{const e=n.exec(d[1]);e&&e[1]&&(m=parseInt(e[1]))}c&&(h="ol")}return{type:h,startIndex:m,style:SA(u),isLegalStyleList:c}}function SA(e){if(e.startsWith("arabic-leading-zero"))return"decimal-leading-zero";switch(e){case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return e;default:return null}}function IA(e,t,o){const i=t.createElement(e.type);return e.style&&t.setStyle("list-style-type",e.style,i),e.startIndex&&e.startIndex>1&&t.setAttribute("start",e.startIndex,i),e.isLegalStyleList&&o&&t.addClass("legal-list",i),i}function RA(e){const t=e.getStyle("mso-list");if(void 0===t)return{};const o=t.match(/(^|\s{1,100})l(\d+)/i),i=t.match(/\s{0,100}lfo(\d+)/i),n=t.match(/\s{0,100}level(\d+)/i);return o&&i&&n?{id:o[2],order:i[1],indent:parseInt(n[1])}:{indent:1}}function OA(e,t){const o=new ui({name:"span",styles:{"mso-list":"Ignore"}}),i=t.createRangeIn(e);for(const e of i)"elementStart"===e.type&&o.match(e.item)&&t.remove(e.item)}function VA(e){const t=e.getStyle("margin-left");return void 0===t||t.endsWith("px")?t:_A(t)}function DA(e,t){if(!e.childCount)return;const o=new rl(e.document),i=function(e,t){const o=t.createRangeIn(e),i=new ui({name:/v:(.+)/}),n=[];for(const e of o){if("elementStart"!=e.type)continue;const t=e.item,o=t.previousSibling,s=o&&o.is("element")?o.name:null,r=["Chart"],a=i.match(t),l=t.getAttribute("o:gfxdata"),c="v:shapetype"===s,d=l&&r.some((e=>t.getAttribute("id").includes(e)));a&&l&&!c&&!d&&n.push(e.item.getAttribute("id"))}return n}(e,o);!function(e,t,o){const i=o.createRangeIn(t),n=new ui({name:"img"}),s=[];for(const t of i)if(t.item.is("element")&&n.match(t.item)){const o=t.item,i=o.getAttribute("v:shapes")?o.getAttribute("v:shapes").split(" "):[];i.length&&i.every((t=>e.indexOf(t)>-1))?s.push(o):o.getAttribute("src")||s.push(o)}for(const e of s)o.remove(e)}(i,e,o),function(e,t,o){const i=o.createRangeIn(t),n=[];for(const t of i)if("elementStart"==t.type&&t.item.is("element","v:shape")){const o=t.item.getAttribute("id");if(e.includes(o))continue;s(t.item.parent.getChildren(),o)||n.push(t.item)}for(const e of n){const t={src:r(e)};e.hasAttribute("alt")&&(t.alt=e.getAttribute("alt"));const i=o.createElement("img",t);o.insertChild(e.index+1,i,e.parent)}function s(e,t){for(const o of e)if(o.is("element")){if("img"==o.name&&o.getAttribute("v:shapes")==t)return!0;if(s(o.getChildren(),t))return!0}return!1}function r(e){for(const t of e.getChildren())if(t.is("element")&&t.getAttribute("src"))return t.getAttribute("src")}}(i,e,o),function(e,t){const o=t.createRangeIn(e),i=new ui({name:/v:(.+)/}),n=[];for(const e of o)"elementStart"==e.type&&i.match(e.item)&&n.push(e.item);for(const e of n)t.remove(e)}(e,o);const n=function(e,t){const o=t.createRangeIn(e),i=new ui({name:"img"}),n=[];let s=0;for(const e of o)e.item.is("element")&&i.match(e.item)&&(e.item.getAttribute("src").startsWith("file://")&&n.push({element:e.item,imageIndex:s}),s++);return n}(e,o);n.length&&function(e,t,o){for(let i=0;iString.fromCharCode(parseInt(e,16)))).join(""))}function MA(e,t){for(const o of t.createRangeIn(e).getItems())o.is("element","table")&&("0px"===o.getStyle("width")&&t.removeStyle("width",o),"0"===o.getAttribute("width")&&t.removeAttribute("width",o))}function NA(e,t){const o=[],i=[];for(const{item:n}of e.createRangeIn(t))if(n.is("element")&&n.getStyle("mso-footnote-id")){o.unshift(n);const{nextSibling:e}=n;e?.is("$text")&&e.data.startsWith(" ")&&i.unshift(e)}for(const t of o)e.remove(t);for(const t of i){const o=t.data.substring(1);if(o.length>0){const i=t.parent,n=i.getChildIndex(t),s=e.createText(o);e.remove(t),e.insertChild(n,s,i)}else e.remove(t)}return t}function BA(e,t){const o=e.createElement("sup",{class:"footnote"}),i=e.createElement("a",{id:`ref-${t}`,href:`#${t}`});return e.appendChild(i,o),o}function LA(e,t){const o=e.createElement("li",{id:t,class:"footnote-definition"}),i=e.createElement("a",{href:`#ref-${t}`,class:"footnote-backlink"}),n=e.createElement("div",{class:"footnote-content"});return e.appendChild(e.createText("^"),i),e.appendChild(i,o),e.appendChild(n,o),{listItem:o,content:n}}const zA=//i,jA=/xmlns:o="urn:schemas-microsoft-com/i;class qA{document;hasMultiLevelListPlugin;hasTablePropertiesPlugin;constructor(e,t=!1,o=!1){this.document=e,this.hasMultiLevelListPlugin=t,this.hasTablePropertiesPlugin=o}isActive(e){return zA.test(e)||jA.test(e)}execute(e){const t=new rl(this.document),{body:o,stylesString:i}=e._parsedData;!function(e,t){const o=[];for(const i of t.createRangeIn(e)){const e=i.item;e.is("element","a")&&!e.hasAttribute("href")&&(e.hasAttribute("id")||e.hasAttribute("name"))&&o.push(e)}for(const e of o){const o=e.parent.getChildIndex(e)+1,i=e.getChildren();t.insertChild(o,i,e.parent)}}(o,t),vA(o,i,this.hasMultiLevelListPlugin),DA(o,e.dataTransfer.getData("text/rtf")),function(e,t,o=!1){for(const i of t.createRangeIn(e).getItems()){if(!i.is("element","table")&&!i.is("element","td")&&!i.is("element","th"))continue;if(o&&i.is("element","table")){const e=i.parent?.is("element","div")?i.parent:null,o=i.parent?.parent?.is("element","div")?i.parent.parent:null,n=e??o;n&&"center"===n.getAttribute("align")&&!i.getAttribute("align")?(t.setStyle("margin-left","auto",i),t.setStyle("margin-right","auto",i)):n&&"right"===n.getAttribute("align")&&!i.getAttribute("align")?(t.setStyle("margin-left","auto",i),t.setStyle("margin-right","0",i)):n||i.getAttribute("align")||(t.setStyle("margin-left","0",i),t.setStyle("margin-right","auto",i))}const e=["left","top","right","bottom"];if(e.every((e=>!i.hasStyle(`border-${e}-style`))))t.setStyle("border-style","none",i);else for(const o of e)i.hasStyle(`border-${o}-style`)||t.setStyle(`border-${o}-style`,"none",i);const n=["width","height",...e.map((e=>`border-${e}-width`)),...e.map((e=>`padding-${e}`))];for(const e of n)i.hasStyle(e)&&t.setStyle(e,_A(i.getStyle(e)),i)}}(o,t,this.hasTablePropertiesPlugin),MA(o,t),function(e,t){const o=new Map,i=new Map;let n=null;for(const{item:s}of t.createRangeIn(e))if(s.is("element"))if("footnote-list"!==s.getStyle("mso-element")){if(s.hasStyle("mso-footnote-id")){const e=s.findAncestor("element",(e=>"footnote"===e.getStyle("mso-element")));if(e){const t=e.getAttribute("id");i.set(t,e)}else{const e=s.getStyle("mso-footnote-id");o.set(e,s)}}}else n=s;if(!o.size||!n)return;const s=function(e){return e.createElement("ol",{class:"footnotes"})}(t);t.replace(n,s);for(const[e,n]of o){const o=i.get(e);if(!o)continue;t.replace(n,BA(t,e));const r=LA(t,e);NA(t,o);for(const e of o.getChildren()){let o=e;e.is("element")&&(o=t.clone(e,!0)),t.appendChild(o,r.content)}t.appendChild(r.listItem,s)}}(o,t),function(e){const t=[],o=new rl(e.document);for(const{item:i}of o.createRangeIn(e))if(i.is("element")){for(const e of i.getClassNames())/\bmso/gi.exec(e)&&o.removeClass(e,i);for(const e of i.getStyleNames())/\bmso/gi.exec(e)&&o.removeStyle(e,i);(i.is("element","w:sdt")||i.is("element","w:sdtpr")&&i.isEmpty||i.is("element","o:p")&&i.isEmpty)&&t.push(i)}for(const e of t){const t=e.parent,i=t.getChildIndex(e);o.insertChild(i,e.getChildren(),t),o.remove(e)}}(o),e.content=o}}function $A(e,t,o,{blockElements:i,inlineObjectElements:n}){let s=o.createPositionAt(e,"forward"==t?"after":"before");return s=s.getLastMatchingPosition((({item:e})=>e.is("element")&&!i.includes(e.name)&&!n.includes(e.name)),{direction:t}),"forward"==t?s.nodeAfter:s.nodeBefore}function HA(e,t){return!!e&&e.is("element")&&t.includes(e.name)}function WA(e){let t=e;for(;t;){if(t.is("element")){const e=t.getStyle?.("white-space");if("pre-wrap"===e)return!0}t=t.parent}return!1}function UA(e,t,o){const{parent:i,data:n}=e,s=n.replaceAll("\t"," ".repeat(o)),r=i.getChildIndex(e);t.remove(e),t.insertChild(r,t.createText(s),i)}const KA=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class GA{document;constructor(e){this.document=e}isActive(e){return KA.test(e)}execute(e){const t=new rl(this.document),{body:o}=e._parsedData;!function(e,t){for(const o of e.getChildren())if(o.is("element","b")&&"normal"===o.getStyle("font-weight")){const i=e.getChildIndex(o);t.remove(o),t.insertChild(i,o.getChildren(),e)}}(o,t),function(e,t){for(const o of t.createRangeIn(e)){const e=o.item;if(e.is("element","li")){const o=e.getChild(0);o&&o.is("element","p")&&t.unwrapElement(o)}}}(o,t),function(e,t){const o=new Hi(t.document.stylesProcessor),i=new Rn(o,{renderingMode:"data"}),n=i.blockElements,s=i.inlineObjectElements,r=[];for(const o of t.createRangeIn(e)){const e=o.item;if(e.is("element","br")){const o=$A(e,"forward",t,{blockElements:n,inlineObjectElements:s}),i=$A(e,"backward",t,{blockElements:n,inlineObjectElements:s}),a=HA(o,n);(HA(i,n)||a)&&r.push(e)}}for(const e of r)e.hasClass("Apple-interchange-newline")?t.remove(e):t.replace(e,t.createElement("p"))}(o,t),function(e,t,o){const i=new Set;for(const o of t.createRangeIn(e).getItems())o.is("view:$textProxy")&&o.data.includes("\t")&&WA(o.parent)&&i.add(o.textNode);for(const e of i)UA(e,t,o)}(o,t,8),e.content=o}}const JA=/(\s+)<\/span>/g,((e,t)=>1===t.length?" ":Array(t.length+1).join("  ").substr(0,t.length)))}function YA(e,t){const o=new DOMParser,i=function(e){return QA(QA(e)).replace(/([^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}(function(e){const t="",o="",i=e.indexOf(t);if(i<0)return e;const n=e.indexOf(o,i+t.length);return e.substring(0,i+t.length)+(n>=0?e.substring(n):"")}(e=(e=e.replace(//,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(HT.source+"\\s*$"),/^$/,!1]];const UT=[["table",function(e,t,o,i){if(t+2>o)return!1;let n=t+1;if(e.sCount[n]=4)return!1;let s=e.bMarks[n]+e.tShift[n];if(s>=e.eMarks[n])return!1;const r=e.src.charCodeAt(s++);if(124!==r&&45!==r&&58!==r)return!1;if(s>=e.eMarks[n])return!1;const a=e.src.charCodeAt(s++);if(124!==a&&45!==a&&58!==a&&!eT(a))return!1;if(45===r&&eT(a))return!1;for(;s=4)return!1;c=BT(l),c.length&&""===c[0]&&c.shift(),c.length&&""===c[c.length-1]&&c.pop();const u=c.length;if(0===u||u!==d.length)return!1;if(i)return!0;const h=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),g=[t,0];e.push("table_open","table",1).map=g,e.push("thead_open","thead",1).map=[t,t+1],e.push("tr_open","tr",1).map=[t,t+1];for(let t=0;t=4)break;if(c=BT(l),c.length&&""===c[0]&&c.shift(),c.length&&""===c[c.length-1]&&c.pop(),f+=u-c.length,f>65536)break;if(n===t+2){e.push("tbody_open","tbody",1).map=p=[t+2,0]}e.push("tr_open","tr",1).map=[n,n+1];for(let t=0;t=4))break;i++,n=i}e.line=n;const s=e.push("code_block","code",0);return s.content=e.getLines(t,n,4+e.blkIndent,!1)+"\n",s.map=[t,e.line],!0}],["fence",function(e,t,o,i){let n=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(n+3>s)return!1;const r=e.src.charCodeAt(n);if(126!==r&&96!==r)return!1;let a=n;n=e.skipChars(n,r);let l=n-a;if(l<3)return!1;const c=e.src.slice(a,n),d=e.src.slice(n,s);if(96===r&&d.indexOf(String.fromCharCode(r))>=0)return!1;if(i)return!0;let u=t,h=!1;for(;(u++,!(u>=o))&&(n=a=e.bMarks[u]+e.tShift[u],s=e.eMarks[u],!(n=4||(n=e.skipChars(n,r),n-a=4)return!1;if(62!==e.src.charCodeAt(n))return!1;if(i)return!0;const a=[],l=[],c=[],d=[],u=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let m,g=!1;for(m=t;m=s)break;if(62===e.src.charCodeAt(n++)&&!t){let t,o,i=e.sCount[m]+1;32===e.src.charCodeAt(n)?(n++,i++,o=!1,t=!0):9===e.src.charCodeAt(n)?(t=!0,(e.bsCount[m]+i)%4==3?(n++,i++,o=!1):o=!0):t=!1;let r=i;for(a.push(e.bMarks[m]),e.bMarks[m]=n;n=s,l.push(e.bsCount[m]),e.bsCount[m]=e.sCount[m]+1+(t?1:0),c.push(e.sCount[m]),e.sCount[m]=r-i,d.push(e.tShift[m]),e.tShift[m]=n-e.bMarks[m];continue}if(g)break;let i=!1;for(let t=0,n=u.length;t";const b=[t,0];f.map=b,e.md.block.tokenize(e,t,m),e.push("blockquote_close","blockquote",-1).markup=">",e.lineMax=r,e.parentType=h,b[1]=e.line;for(let o=0;o=4)return!1;let s=e.bMarks[t]+e.tShift[t];const r=e.src.charCodeAt(s++);if(42!==r&&45!==r&&95!==r)return!1;let a=1;for(;s=4)return!1;if(e.listIndent>=0&&e.sCount[l]-e.listIndent>=4&&e.sCount[l]=e.blkIndent&&(m=!0),(h=zT(e,l))>=0){if(d=!0,r=e.bMarks[l]+e.tShift[l],u=Number(e.src.slice(r,h-1)),m&&1!==u)return!1}else{if(!((h=LT(e,l))>=0))return!1;d=!1}if(m&&e.skipSpaces(h)>=e.eMarks[l])return!1;if(i)return!0;const g=e.src.charCodeAt(h-1),p=e.tokens.length;d?(a=e.push("ordered_list_open","ol",1),1!==u&&(a.attrs=[["start",u]])):a=e.push("bullet_list_open","ul",1);const f=[l,0];a.map=f,a.markup=String.fromCharCode(g);let b=!1;const w=e.md.block.ruler.getRules("list"),y=e.parentType;for(e.parentType="list";l=n?1:i-t,m>4&&(m=1);const p=t+m;a=e.push("list_item_open","li",1),a.markup=String.fromCharCode(g);const f=[l,0];a.map=f,d&&(a.info=e.src.slice(r,h-1));const y=e.tight,_=e.tShift[l],k=e.sCount[l],v=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=p,e.tight=!0,e.tShift[l]=u-e.bMarks[l],e.sCount[l]=i,u>=n&&e.isEmpty(l+1)?e.line=Math.min(e.line+2,o):e.md.block.tokenize(e,l,o,!0),e.tight&&!b||(c=!1),b=e.line-l>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=v,e.tShift[l]=_,e.sCount[l]=k,e.tight=y,a=e.push("list_item_close","li",-1),a.markup=String.fromCharCode(g),l=e.line,f[1]=l,l>=o)break;if(e.sCount[l]=4)break;let C=!1;for(let t=0,i=w.length;t=4)return!1;if(91!==e.src.charCodeAt(n))return!1;function a(t){const o=e.lineMax;if(t>=o||e.isEmpty(t))return null;let i=!1;if(e.sCount[t]-e.blkIndent>3&&(i=!0),e.sCount[t]<0&&(i=!0),!i){const i=e.md.block.ruler.getRules("reference"),n=e.parentType;e.parentType="reference";let s=!1;for(let n=0,r=i.length;n=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(n))return!1;let r=e.src.slice(n,s),a=0;for(;a=4)return!1;let r=e.src.charCodeAt(n);if(35!==r||n>=s)return!1;let a=1;for(r=e.src.charCodeAt(++n);35===r&&n6||nn&&eT(e.src.charCodeAt(l-1))&&(s=l),e.line=t+1;const c=e.push("heading_open","h"+String(a),1);c.markup="########".slice(0,a),c.map=[t,e.line];const d=e.push("inline","",0);return d.content=e.src.slice(n,s).trim(),d.map=[t,e.line],d.children=[],e.push("heading_close","h"+String(a),-1).markup="########".slice(0,a),!0},["paragraph","reference","blockquote"]],["lheading",function(e,t,o){const i=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const n=e.parentType;e.parentType="paragraph";let s,r=0,a=t+1;for(;a3)continue;if(e.sCount[a]>=e.blkIndent){let t=e.bMarks[a]+e.tShift[a];const o=e.eMarks[a];if(t=o))){r=61===s?1:2;break}}if(e.sCount[a]<0)continue;let t=!1;for(let n=0,s=i.length;n3)continue;if(e.sCount[s]<0)continue;let t=!1;for(let n=0,r=i.length;n=o))&&!(e.sCount[r]=s){e.line=o;break}const t=e.line;let l=!1;for(let s=0;s=e.line)throw new Error("block rule didn't increment state.line");break}if(!l)throw new Error("none of the block rules matched");e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),r=e.line,r0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],n={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(i),this.tokens_meta.push(n),i},JT.prototype.scanDelims=function(e,t){const o=this.posMax,i=this.src.charCodeAt(e),n=e>0?this.src.charCodeAt(e-1):32;let s=e;for(;s?@[]^_`{|}~-".split("").forEach((function(e){XT[e.charCodeAt(0)]=1}));const tP={tokenize:function(e,t){const o=e.pos,i=e.src.charCodeAt(o);if(t)return!1;if(126!==i)return!1;const n=e.scanDelims(e.pos,!0);let s=n.length;const r=String.fromCharCode(i);if(s<2)return!1;let a;s%2&&(a=e.push("text","",0),a.content=r,s--);for(let t=0;t=0;o--){const i=t[o];if(95!==i.marker&&42!==i.marker)continue;if(-1===i.end)continue;const n=t[i.end],s=o>0&&t[o-1].end===i.end+1&&t[o-1].marker===i.marker&&t[o-1].token===i.token-1&&t[i.end+1].token===n.token+1,r=String.fromCharCode(i.marker),a=e.tokens[i.token];a.type=s?"strong_open":"em_open",a.tag=s?"strong":"em",a.nesting=1,a.markup=s?r+r:r,a.content="";const l=e.tokens[n.token];l.type=s?"strong_close":"em_close",l.tag=s?"strong":"em",l.nesting=-1,l.markup=s?r+r:r,l.content="",s&&(e.tokens[t[o-1].token].content="",e.tokens[t[i.end+1].token].content="",o--)}}const iP={tokenize:function(e,t){const o=e.pos,i=e.src.charCodeAt(o);if(t)return!1;if(95!==i&&42!==i)return!1;const n=e.scanDelims(e.pos,42===i);for(let t=0;t\x00-\x20]*)$/;const rP=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,aP=/^&([a-z][a-z0-9]{1,31});/i;function lP(e){const t={},o=e.length;if(!o)return;let i=0,n=-2;const s=[];for(let r=0;ra;l-=s[l]+1){const t=e[l];if(t.marker===o.marker&&(t.open&&t.end<0)){let i=!1;if((t.close||o.open)&&(t.length+o.length)%3==0&&(t.length%3==0&&o.length%3==0||(i=!0)),!i){const i=l>0&&!e[l-1].open?s[l-1]+1:0;s[r]=r-l+i,s[l]=i,o.open=!1,t.end=r,t.close=!1,c=-1,n=-2;break}}}-1!==c&&(t[o.marker][(o.open?3:0)+(o.length||0)%3]=c)}}const cP=[["text",function(e,t){let o=e.pos;for(;o0)return!1;const o=e.pos;if(o+3>e.posMax)return!1;if(58!==e.src.charCodeAt(o))return!1;if(47!==e.src.charCodeAt(o+1))return!1;if(47!==e.src.charCodeAt(o+2))return!1;const i=e.pending.match(YT);if(!i)return!1;const n=i[1],s=e.md.linkify.matchAtStart(e.src.slice(o-n.length));if(!s)return!1;let r=s.url;if(r.length<=n.length)return!1;r=r.replace(/\*+$/,"");const a=e.md.normalizeLink(r);if(!e.md.validateLink(a))return!1;if(!t){e.pending=e.pending.slice(0,-n.length);const t=e.push("link_open","a",1);t.attrs=[["href",a]],t.markup="linkify",t.info="auto";e.push("text","",0).content=e.md.normalizeLinkText(r);const o=e.push("link_close","a",-1);o.markup="linkify",o.info="auto"}return e.pos+=r.length-n.length,!0}],["newline",function(e,t){let o=e.pos;if(10!==e.src.charCodeAt(o))return!1;const i=e.pending.length-1,n=e.posMax;if(!t)if(i>=0&&32===e.pending.charCodeAt(i))if(i>=1&&32===e.pending.charCodeAt(i-1)){let t=i-1;for(;t>=1&&32===e.pending.charCodeAt(t-1);)t--;e.pending=e.pending.slice(0,t),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(o++;o=i)return!1;let n=e.src.charCodeAt(o);if(10===n){for(t||e.push("hardbreak","br",0),o++;o=55296&&n<=56319&&o+1=56320&&t<=57343&&(s+=e.src[o+1],o++)}const r="\\"+s;if(!t){const t=e.push("text_special","",0);n<256&&0!==XT[n]?t.content=s:t.content=r,t.markup=r,t.info="escape"}return e.pos=o+1,!0}],["backticks",function(e,t){let o=e.pos;if(96!==e.src.charCodeAt(o))return!1;const i=o;o++;const n=e.posMax;for(;o=u)return!1;if(l=g,n=e.md.helpers.parseLinkDestination(e.src,g,e.posMax),n.ok){for(r=e.md.normalizeLink(n.str),e.md.validateLink(r)?g=n.pos:r="",l=g;g=u||41!==e.src.charCodeAt(g))&&(c=!0),g++}if(c){if(void 0===e.env.references)return!1;if(g=0?i=e.src.slice(l,g++):g=m+1):g=m+1,i||(i=e.src.slice(h,m)),s=e.env.references[nT(i)],!s)return e.pos=d,!1;r=s.href,a=s.title}if(!t){e.pos=h,e.posMax=m;const t=[["href",r]];e.push("link_open","a",1).attrs=t,a&&t.push(["title",a]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=g,e.posMax=u,!0}],["image",function(e,t){let o,i,n,s,r,a,l,c,d="";const u=e.pos,h=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;const m=e.pos+2,g=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(g<0)return!1;if(s=g+1,s=h)return!1;for(c=s,a=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),a.ok&&(d=e.md.normalizeLink(a.str),e.md.validateLink(d)?s=a.pos:d=""),c=s;s=h||41!==e.src.charCodeAt(s))return e.pos=u,!1;s++}else{if(void 0===e.env.references)return!1;if(s=0?n=e.src.slice(c,s++):s=g+1):s=g+1,n||(n=e.src.slice(m,g)),r=e.env.references[nT(n)],!r)return e.pos=u,!1;d=r.href,l=r.title}if(!t){i=e.src.slice(m,g);const t=[];e.md.inline.parse(i,e.md,e.env,t);const o=e.push("image","img",0),n=[["src",d],["alt",""]];o.attrs=n,o.children=t,o.content=i,l&&n.push(["title",l])}return e.pos=s,e.posMax=h,!0}],["autolink",function(e,t){let o=e.pos;if(60!==e.src.charCodeAt(o))return!1;const i=e.pos,n=e.posMax;for(;;){if(++o>=n)return!1;const t=e.src.charCodeAt(o);if(60===t)return!1;if(62===t)break}const s=e.src.slice(i+1,o);if(sP.test(s)){const o=e.md.normalizeLink(s);if(!e.md.validateLink(o))return!1;if(!t){const t=e.push("link_open","a",1);t.attrs=[["href",o]],t.markup="autolink",t.info="auto";e.push("text","",0).content=e.md.normalizeLinkText(s);const i=e.push("link_close","a",-1);i.markup="autolink",i.info="auto"}return e.pos+=s.length+2,!0}if(nP.test(s)){const o=e.md.normalizeLink("mailto:"+s);if(!e.md.validateLink(o))return!1;if(!t){const t=e.push("link_open","a",1);t.attrs=[["href",o]],t.markup="autolink",t.info="auto";e.push("text","",0).content=e.md.normalizeLinkText(s);const i=e.push("link_close","a",-1);i.markup="autolink",i.info="auto"}return e.pos+=s.length+2,!0}return!1}],["html_inline",function(e,t){if(!e.md.options.html)return!1;const o=e.posMax,i=e.pos;if(60!==e.src.charCodeAt(i)||i+2>=o)return!1;const n=e.src.charCodeAt(i+1);if(33!==n&&63!==n&&47!==n&&!function(e){const t=32|e;return t>=97&&t<=122}(n))return!1;const s=e.src.slice(i).match($T);if(!s)return!1;if(!t){const t=e.push("html_inline","",0);t.content=s[0],r=t.content,/^\s]/i.test(r)&&e.linkLevel++,function(e){return/^<\/a\s*>/i.test(e)}(t.content)&&e.linkLevel--}var r;return e.pos+=s[0].length,!0}],["entity",function(e,t){const o=e.pos,i=e.posMax;if(38!==e.src.charCodeAt(o))return!1;if(o+1>=i)return!1;if(35===e.src.charCodeAt(o+1)){const i=e.src.slice(o).match(rP);if(i){if(!t){const t="x"===i[1][0].toLowerCase()?parseInt(i[1].slice(1),16):parseInt(i[1],10),o=e.push("text_special","",0);o.content=zE(t)?jE(t):jE(65533),o.markup=i[0],o.info="entity"}return e.pos+=i[0].length,!0}}else{const i=e.src.slice(o).match(aP);if(i){const o=SE(i[0]);if(o!==i[0]){if(!t){const t=e.push("text_special","",0);t.content=o,t.markup=i[0],t.info="entity"}return e.pos+=i[0].length,!0}}}return!1}]],dP=[["balance_pairs",function(e){const t=e.tokens_meta,o=e.tokens_meta.length;lP(e.delimiters);for(let e=0;e0&&i++,"text"===n[t].type&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;r||e.pos++,s[t]=e.pos},uP.prototype.tokenize=function(e){const t=this.ruler.getRules(""),o=t.length,i=e.posMax,n=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}if(r){if(e.pos>=i)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},uP.prototype.parse=function(e,t,o,i){const n=new this.State(e,t,o,i);this.tokenize(n);const s=this.ruler2.getRules(""),r=s.length;for(let e=0;e=3&&":"===e[t-3]||t>=3&&"/"===e[t-3]?0:i.match(o.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,o){const i=e.slice(t);return o.re.mailto||(o.re.mailto=new RegExp("^"+o.re.src_email_name+"@"+o.re.src_host_strict,"i")),o.re.mailto.test(i)?i.match(o.re.mailto)[0].length:0}}},yP="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function _P(e){const t=e.re=function(e){const t={};e=e||{},t.src_Any=lE.source,t.src_Cc=cE.source,t.src_Z=uE.source,t.src_P=rE.source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join("|"),t.src_ZCc=[t.src_Z,t.src_Cc].join("|");const o="[><|]";return t.src_pseudo_letter="(?:(?![><|]|"+t.src_ZPCc+")"+t.src_Any+")",t.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",t.src_auth="(?:(?:(?!"+t.src_ZCc+"|[@/\\[\\]()]).)+@)?",t.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",t.src_host_terminator="(?=$|[><|]|"+t.src_ZPCc+")(?!"+(e["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+t.src_ZPCc+"))",t.src_path="(?:[/?#](?:(?!"+t.src_ZCc+"|"+o+"|[()[\\]{}.,\"'?!\\-;]).|\\[(?:(?!"+t.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+t.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+t.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+t.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+t.src_ZCc+"|[']).)+\\'|\\'(?="+t.src_pseudo_letter+"|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+t.src_ZCc+"|[.]|$)|"+(e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+t.src_ZCc+"|$)|;(?!"+t.src_ZCc+"|$)|\\!+(?!"+t.src_ZCc+"|[!]|$)|\\?(?!"+t.src_ZCc+"|[?]|$))+|\\/)?",t.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',t.src_xn="xn--[a-z0-9\\-]{1,59}",t.src_domain_root="(?:"+t.src_xn+"|"+t.src_pseudo_letter+"{1,63})",t.src_domain="(?:"+t.src_xn+"|(?:"+t.src_pseudo_letter+")|(?:"+t.src_pseudo_letter+"(?:-|"+t.src_pseudo_letter+"){0,61}"+t.src_pseudo_letter+"))",t.src_host="(?:(?:(?:(?:"+t.src_domain+")\\.)*"+t.src_domain+"))",t.tpl_host_fuzzy="(?:"+t.src_ip4+"|(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%)))",t.tpl_host_no_ip_fuzzy="(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%))",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+t.src_ZPCc+"|>|$))",t.tpl_email_fuzzy='(^|[><|]|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}(e.__opts__),o=e.__tlds__.slice();function i(e){return e.replace("%TLDS%",t.src_tlds)}e.onCompile(),e.__tlds_replaced__||o.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"),o.push(t.src_xn),t.src_tlds=o.join("|"),t.email_fuzzy=RegExp(i(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(i(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(i(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(i(t.tpl_host_fuzzy_test),"i");const n=[];function s(e,t){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+t)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(t){const o=e.__schemas__[t];if(null===o)return;const i={validate:null,link:null};if(e.__compiled__[t]=i,"[object Object]"===gP(o))return!function(e){return"[object RegExp]"===gP(e)}(o.validate)?pP(o.validate)?i.validate=o.validate:s(t,o):i.validate=function(e){return function(t,o){const i=t.slice(o);return e.test(i)?i.match(e)[0].length:0}}(o.validate),void(pP(o.normalize)?i.normalize=o.normalize:o.normalize?s(t,o):i.normalize=function(e,t){t.normalize(e)});!function(e){return"[object String]"===gP(e)}(o)?s(t,o):n.push(t)})),n.forEach((function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)})),e.__compiled__[""]={validate:null,normalize:function(e,t){t.normalize(e)}};const r=Object.keys(e.__compiled__).filter((function(t){return t.length>0&&e.__compiled__[t]})).map(fP).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+r+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+r+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(e)}function kP(e,t){const o=e.__index__,i=e.__last_index__,n=e.__text_cache__.slice(o,i);this.schema=e.__schema__.toLowerCase(),this.index=o+t,this.lastIndex=i+t,this.raw=n,this.text=n,this.url=n}function vP(e,t){const o=new kP(e,t);return e.__compiled__[o.schema].normalize(o,e),o}function CP(e,t){if(!(this instanceof CP))return new CP(e,t);var o;t||(o=e,Object.keys(o||{}).reduce((function(e,t){return e||bP.hasOwnProperty(t)}),!1)&&(t=e,e={})),this.__opts__=mP({},bP,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=mP({},wP,e),this.__compiled__={},this.__tlds__=yP,this.__tlds_replaced__=!1,this.re={},_P(this)}CP.prototype.add=function(e,t){return this.__schemas__[e]=t,_P(this),this},CP.prototype.set=function(e){return this.__opts__=mP(this.__opts__,e),this},CP.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;let t,o,i,n,s,r,a,l,c;if(this.re.schema_test.test(e))for(a=this.re.schema_search,a.lastIndex=0;null!==(t=a.exec(e));)if(n=this.testSchemaAt(e,t[2],a.lastIndex),n){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+n;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(l=e.search(this.re.host_fuzzy_test),l>=0&&(this.__index__<0||l=0&&null!==(i=e.match(this.re.email_fuzzy))&&(s=i.index+i[1].length,r=i.index+i[0].length,(this.__index__<0||sthis.__last_index__)&&(this.__schema__="mailto:",this.__index__=s,this.__last_index__=r))),this.__index__>=0},CP.prototype.pretest=function(e){return this.re.pretest.test(e)},CP.prototype.testSchemaAt=function(e,t,o){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,o,this):0},CP.prototype.match=function(e){const t=[];let o=0;this.__index__>=0&&this.__text_cache__===e&&(t.push(vP(this,o)),o=this.__last_index__);let i=o?e.slice(o):e;for(;this.test(i);)t.push(vP(this,o)),i=i.slice(this.__last_index__),o+=this.__last_index__;return t.length?t:null},CP.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;const t=this.re.schema_at_start.exec(e);if(!t)return null;const o=this.testSchemaAt(e,t[2],t[0].length);return o?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+o,vP(this,0)):null},CP.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,t,o){return e!==o[t-1]})).reverse(),_P(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,_P(this),this)},CP.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},CP.prototype.onCompile=function(){};const AP=CP,xP=2147483647,EP=36,TP=/^xn--/,PP=/[^\0-\x7F]/,SP=/[\x2E\u3002\uFF0E\uFF61]/g,IP={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},RP=Math.floor,OP=String.fromCharCode;function VP(e){throw new RangeError(IP[e])}function DP(e,t){const o=e.split("@");let i="";o.length>1&&(i=o[0]+"@",e=o[1]);const n=function(e,t){const o=[];let i=e.length;for(;i--;)o[i]=t(e[i]);return o}((e=e.replace(SP,".")).split("."),t).join(".");return i+n}function FP(e){const t=[];let o=0;const i=e.length;for(;o=55296&&n<=56319&&o>1,e+=RP(e/t);e>455;i+=EP)e=RP(e/35);return RP(i+36*e/(e+38))},BP=function(e){const t=[],o=e.length;let i=0,n=128,s=72,r=e.lastIndexOf("-");r<0&&(r=0);for(let o=0;o=128&&VP("not-basic"),t.push(e.charCodeAt(o));for(let l=r>0?r+1:0;l=o&&VP("invalid-input");const r=(a=e.charCodeAt(l++))>=48&&a<58?a-48+26:a>=65&&a<91?a-65:a>=97&&a<123?a-97:EP;r>=EP&&VP("invalid-input"),r>RP((xP-i)/t)&&VP("overflow"),i+=r*t;const c=n<=s?1:n>=s+26?26:n-s;if(rRP(xP/d)&&VP("overflow"),t*=d}const c=t.length+1;s=NP(i-r,c,0==r),RP(i/c)>xP-n&&VP("overflow"),n+=RP(i/c),i%=c,t.splice(i++,0,n)}var a;return String.fromCodePoint(...t)},LP=function(e){const t=[],o=(e=FP(e)).length;let i=128,n=0,s=72;for(const o of e)o<128&&t.push(OP(o));const r=t.length;let a=r;for(r&&t.push("-");a=i&&tRP((xP-n)/l)&&VP("overflow"),n+=(o-i)*l,i=o;for(const o of e)if(oxP&&VP("overflow"),o===i){let e=n;for(let o=EP;;o+=EP){const i=o<=s?1:o>=s+26?26:o-s;if(eString.fromCodePoint(...e)},decode:BP,encode:LP,toASCII:function(e){return DP(e,(function(e){return PP.test(e)?"xn--"+LP(e):e}))},toUnicode:function(e){return DP(e,(function(e){return TP.test(e)?BP(e.slice(4).toLowerCase()):e}))}},jP={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},qP=/^(vbscript|javascript|file|data):/,$P=/^data:image\/(gif|png|jpeg|webp);/;function HP(e){const t=e.trim().toLowerCase();return!qP.test(t)||$P.test(t)}const WP=["http:","https:","mailto:"];function UP(e){const t=sE(e,!0);if(t.hostname&&(!t.protocol||WP.indexOf(t.protocol)>=0))try{t.hostname=zP.toASCII(t.hostname)}catch(e){}return Wx(Ux(t))}function KP(e){const t=sE(e,!0);if(t.hostname&&(!t.protocol||WP.indexOf(t.protocol)>=0))try{t.hostname=zP.toUnicode(t.hostname)}catch(e){}return qx(Ux(t),qx.defaultChars+"%")}function GP(e,t){if(!(this instanceof GP))return new GP(e,t);t||FE(e)||(t=e||{},e="default"),this.inline=new hP,this.block=new GT,this.core=new DT,this.renderer=new uT,this.linkify=new AP,this.validateLink=HP,this.normalizeLink=UP,this.normalizeLinkText=KP,this.utils=i,this.helpers=BE({},n),this.options={},this.configure(e),t&&this.set(t)}GP.prototype.set=function(e){return BE(this.options,e),this},GP.prototype.configure=function(e){const t=this;if(FE(e)){const t=e;if(!(e=jP[t]))throw new Error('Wrong `markdown-it` preset "'+t+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach((function(o){e.components[o].rules&&t[o].ruler.enableOnly(e.components[o].rules),e.components[o].rules2&&t[o].ruler2.enableOnly(e.components[o].rules2)})),this},GP.prototype.enable=function(e,t){let o=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(t){o=o.concat(this[t].ruler.enable(e,!0))}),this),o=o.concat(this.inline.ruler2.enable(e,!0));const i=e.filter((function(e){return o.indexOf(e)<0}));if(i.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+i);return this},GP.prototype.disable=function(e,t){let o=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(t){o=o.concat(this[t].ruler.disable(e,!0))}),this),o=o.concat(this.inline.ruler2.disable(e,!0));const i=e.filter((function(e){return o.indexOf(e)<0}));if(i.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+i);return this},GP.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},GP.prototype.parse=function(e,t){if("string"!=typeof e)throw new Error("Input data should be a String");const o=new this.core.State(e,this,t);return this.core.process(o),o.tokens},GP.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},GP.prototype.parseInline=function(e,t){const o=new this.core.State(e,this,t);return o.inlineMode=!0,this.core.process(o),o.tokens},GP.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};const JP=GP;var ZP=o(428),QP=o.n(ZP);const YP=/^(#{1,3})(\d+)(?!\w)/;function XP(e,t){const o=e.pos,i=e.src;if(35!==i.charCodeAt(o))return!1;if(o>0&&/[\w#]/.test(i[o-1]))return!1;const n=YP.exec(i.slice(o));if(!n)return!1;if(t)return!0;const s=n[1].length,r=n[2],a=n[0],l=1===s?`${a}`:`${a}`;return e.push("html_inline","",0).content=l,e.pos=o+n[0].length,!0}class eS{constructor(e){this._htmlDP=new Ir(e),this._domConverter=new Rn(e)}toView(e){const t=JP({html:!0,breaks:!0,langPrefix:"language-"});let o=t.use(QP(),{label:!0});o.inline.ruler.before("text","op_workpackage_ref",XP);const i=o.renderer.rules.code_block;t.renderer.rules.code_block=function(e,t,o,n,s){return e[t].content=e[t].content.replace(/\n$/,""),i(e,t,o,n,s)};const n=o.render(e),s=this._htmlDP._toDom(n);!function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(;t=o.nextNode();)t.previousElementSibling&&t.previousElementSibling.classList.contains("task-list-item-checkbox")&&(t.textContent=t.textContent.replace(/^\s+/,""))}(s),function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("BR"===e.tagName&&!e.parentElement)return NodeFilter.FILTER_ACCEPT}}),i=[];for(;t=o.nextNode();)i.push(t);for(const t of i){const o=document.createElement("p");e.insertBefore(o,t),Lx(t)?o.appendChild(t):t.remove()}}(s),function(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("P"===e.tagName&&e.parentElement&&"TD"===e.parentElement.tagName&&1===e.childNodes.length&&"BR"===e.childNodes[0].nodeName)return NodeFilter.FILTER_ACCEPT}});let o;for(;o=t.nextNode();)o.childNodes[0].remove()}(s),function(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("BR"===e.tagName&&e.parentElement&&"LI"===e.parentElement.tagName)return NodeFilter.FILTER_ACCEPT}});let o,i=[];for(;o=t.nextNode();)i.push(o);for(const e of i)e.parentElement.insertBefore(document.createElement("p"),e),e.remove()}(s),s.querySelectorAll("input.task-list-item-checkbox").forEach((e=>{const t=e.closest("li.task-list-item");t&&e.parentElement!==t&&(e.parentElement&&e.parentElement.removeChild(e),t.insertBefore(e,t.firstChild))}));return this._domConverter.domToView(s)}toData(e){const t=this._domConverter.viewToDom(e,document);!function(e,t,o){t=t.map((e=>e.toUpperCase())),o=o.map((e=>e.toUpperCase()));let i,n=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(;i=n.nextNode();)i.parentElement&&t.indexOf(i.parentElement.nodeName)>=0&&(i.nodeValue=i.nodeValue.replace(/^[\u00a0]+/g," ").replace(/[\u00a0]+$/g," ")),Nx(i,o)||(i.nodeValue=_.escape(i.nodeValue))}(t,["strong","em"],["pre","code","table"]),function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,(function(e){return"a"===e.nodeName.toLowerCase()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}));for(;t=o.nextNode();)t.setAttribute("href",t.href)}(t),function(e){let t,o=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){if("P"===e.tagName&&0===e.childNodes.length&&(!e.parentElement||"LI"===e.parentElement.tagName))return NodeFilter.FILTER_ACCEPT}});for(;t=o.nextNode();)t.appendChild(document.createElement("br"))}(t);const o=new Mx({headingStyle:"atx",codeBlockStyle:"fenced",blankReplacement:function(e,t){if("CODE"===t.tagName){const e=(t.getAttribute("class")||"").replace("language-",""),o=t.textContent||"";return"```"+e+"\n"+(o.length?o:"\n")+"```\n"}return"PRE"===t.tagName?e:t.isBlock?"\n\n":""}});return o.use([ex]),o.addRule("taskListItems",{filter:function(e){const t="checkbox"===e.type,o=e.parentNode&&"LI"===e.parentNode.nodeName,i=e.parentNode&&e.parentNode.parentNode&&"LI"===e.parentNode.parentNode.nodeName;return t&&(o||i)},replacement:function(e,t){return(t.checked?"[x]":"[ ]")+" "}}),o.addRule("orderedListItems",{filter:function(e){return"LI"===e.nodeName&&!!e.closest("ol")},replacement:function(e,t,o){e=e.replace(/^\n+/,"").replace(/\n+$/,"\n");var i=t.parentNode,n=o.bulletListMarker+" ";if("OL"===i.nodeName){var s=i.getAttribute("start"),r=Array.prototype.indexOf.call(i.children,t);n=(s?Number(s)+r:r+1)+". "}var a=n.length,l=" ".repeat(a);return n+(e=e.replace(/\n/gm,"\n"+l))+(t.nextSibling&&!/\n$/.test(e)?"\n":"")}}),o.addRule("imageFigure",{filter:"img",replacement:function(e,t){const o=t.parentElement;return o&&o.classList.contains("op-uc-figure--content")?o.parentElement.outerHTML:t.outerHTML}}),o.addRule("figcaption",{filter:"figcaption",replacement:function(e,t){return""}}),o.addRule("markdownTables",{filter:function(e){return"TABLE"===e.nodeName&&(!e.parentElement||"FIGURE"!==e.parentElement.nodeName)},replacement:function(e,t){return t.outerHTML}}),o.addRule("htmlTables",{filter:function(e){const t=e.getElementsByTagName("table");return"FIGURE"===e.nodeName&&t.length},replacement:function(e,t){return t.querySelectorAll("td br[data-cke-filler]").forEach((e=>{e.nextElementSibling&&e.removeAttribute("data-cke-filler")})),t.outerHTML}}),o.addRule("strikethrough",{filter:["del","s","strike"],replacement:function(e){return"~~"+e+"~~"}}),o.addRule("workPackageQuickinfo",{filter:e=>"OPCE-MACRO-WP-QUICKINFO"===e.nodeName,replacement:(e,t)=>{const o=t.getAttribute("data-id")||"";if(!o)return"";return"true"===t.getAttribute("data-detailed")?`###${o}`:`##${o}`}}),o.addRule("openProjectMacros",{filter:["macro"],replacement:(e,t)=>{t.innerHTML="";return t.outerHTML.replace("","\n")}}),o.addRule("mentions",{filter:e=>"MENTION"===e.nodeName&&e.classList.contains("mention"),replacement:(e,t)=>"work_package"===t.getAttribute("data-type")?t.getAttribute("data-text")||t.textContent||"":t.outerHTML}),o.addRule("emptyParagraphs",{filter:e=>"P"===e.nodeName&&(0===e.childNodes.length||1===e.childNodes.length&&"BR"===e.childNodes[0].nodeName),replacement:(e,t)=>t.parentElement||t.nextSibling||t.previousSibling?1===t.childNodes.length&&Lx(t.childNodes[0])?Bx+"\n\n":"
\n\n":""}),o.addRule("openProjectPageBreak",{filter:e=>"DIV"===e.nodeName&&e.classList.contains("page-break"),replacement:(e,t)=>Bx}),o.turndown(t).replace(/\u00A0/," ").replace("###turndown-ignore###\n","")}}const tS='\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n image/svg+xml\n \n \n \n \n \n\n';const oS={"(":")","[":"]","{":"}"};class iS extends wc{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=e.schema.checkAttributeInSelection(t.selection,"mention")}execute(e){const t=this.editor.model,o=t.document.selection,i="string"==typeof e.mention?{id:e.mention}:e.mention,n=i.id,s=e.range||o.getFirstRange();if(!t.canEditAt(s))return;const r=e.text||n,a=sS({_text:r,id:n},i);if(!n.startsWith(e.marker))throw new fe("mentioncommand-incorrect-id",this);t.change((e=>{const i=ao(o.getAttributes()),n=new Map(i.entries());n.set("mention",a);const l=t.insertContent(e.createText(r,n),s),c=l.start.nodeBefore,d=l.end.nodeAfter,u=d&&d.is("$text")&&d.data.startsWith(" ");let h=!1;if(c&&d&&c.is("$text")&&d.is("$text")){const e=c.data.slice(-1),t=e in oS,o=t&&d.data.startsWith(oS[e]);h=t&&o}h||u||t.insertContent(e.createText(" ",i),s.start.getShiftedBy(r.length))}))}}class nS extends fc{static get pluginName(){return"MentionEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.model,o=t.document;t.schema.extend("$text",{allowAttributes:"mention"}),e.conversion.for("upcast").elementToAttribute({view:{name:"span",attributes:"data-mention",classes:"mention"},model:{key:"mention",value:e=>rS(e)}}),e.conversion.for("downcast").attributeToElement({model:"mention",view:lS}),e.conversion.for("downcast").add(aS),o.registerPostFixer((e=>function(e,t,o){const i=t.differ.getChanges();let n=!1;for(const t of i){if("attribute"==t.type)continue;const i=t.position;if("$text"==t.name){const t=i.textNode&&i.textNode.nextSibling;n=dS(i.textNode,e)||n,n=dS(t,e)||n,n=dS(i.nodeBefore,e)||n,n=dS(i.nodeAfter,e)||n}if("$text"!=t.name&&"insert"==t.type){const t=i.nodeAfter;for(const o of e.createRangeIn(t).getItems())n=dS(o,e)||n}if("insert"==t.type&&o.isInline(t.name)){const t=i.nodeAfter&&i.nodeAfter.nextSibling;n=dS(i.nodeBefore,e)||n,n=dS(t,e)||n}}return n}(e,o,t.schema))),o.registerPostFixer((e=>function(e,t){const o=t.differ.getChanges();let i=!1;for(const t of o)if("attribute"===t.type&&"mention"!=t.attributeKey){const o=t.range.start.nodeBefore,n=t.range.end.nodeAfter;for(const s of[o,n])cS(s)&&s.getAttribute(t.attributeKey)!=t.attributeNewValue&&(e.setAttribute(t.attributeKey,t.attributeNewValue,s),i=!0)}return i}(e,o))),o.registerPostFixer((e=>function(e,t){const o=t.selection,i=o.focus;if(o.isCollapsed&&o.hasAttribute("mention")&&function(e){const t=e.isAtStart;return e.nodeBefore&&e.nodeBefore.is("$text")||t}(i))return e.removeSelectionAttribute("mention"),!0;return!1}(e,o))),e.commands.add("mention",new iS(e))}}function sS(e,t){return Object.assign({uid:me().slice(0,8)},e,t||{})}function rS(e,t){const o=e.getAttribute("data-mention"),i=e.getChild(0);if(!i)return;const n=e.getAttribute("data-mention-uid");return sS({id:o,_text:i.data},n?{uid:n,...t}:t)}function aS(e){e.on("attribute:mention",((e,t,o)=>{const i=t.attributeNewValue;if(!t.item.is("$textProxy")||!i)return;const n=t.range.start;(n.textNode||n.nodeAfter).data!=i._text&&o.consumable.consume(t.item,e.name)}),{priority:"highest"})}function lS(e,{writer:t,options:o}){if(e)return t.createAttributeElement("span",{class:"mention","data-mention":e.id,...!o.isClipboardPipeline&&{"data-mention-uid":e.uid}},{id:e.uid,priority:20})}function cS(e){if(!e||!e.is("$text")&&!e.is("$textProxy")||!e.hasAttribute("mention"))return!1;return e.data!=e.getAttribute("mention")._text}function dS(e,t){return!!cS(e)&&(t.removeAttribute("mention",e),!0)}class uS extends zh{selected;position;constructor(e){super(e),this.extendTemplate({attributes:{class:["ck-mentions"],tabindex:"-1"}})}selectFirst(){this.select(0)}selectNext(){const e=this.selected,t=this.items.getIndex(e);this.select(t+1)}selectPrevious(){const e=this.selected,t=this.items.getIndex(e);this.select(t-1)}select(e){let t=0;e>0&&e{o?(this.domElement.classList.add("ck-on"),this.domElement.classList.remove("ck-off")):(this.domElement.classList.add("ck-off"),this.domElement.classList.remove("ck-on"))})),this.listenTo(this.domElement,"click",(()=>{this.fire("execute")}))}render(){super.render(),this.element=this.domElement}focus(){this.domElement.focus()}}class mS extends Nh{item;marker;highlight(){this.children.first.isOn=!0}removeHighlight(){this.children.first.isOn=!1}}const gS=[qt.arrowup,qt.arrowdown,qt.esc],pS=[qt.enter,qt.tab];class fS extends fc{_mentionsView;_mentionsConfigurations;_balloon;_items=new eo;_lastRequested;_requestFeedDebounced;static get pluginName(){return"MentionUI"}static get isOfficialPlugin(){return!0}static get requires(){return[Qm]}constructor(e){super(e),this._mentionsView=this._createMentionView(),this._mentionsConfigurations=new Map,this._requestFeedDebounced=zo(this._requestFeed,100),e.config.define("mention",{feeds:[]})}init(){const e=this.editor,t=e.config.get("mention.commitKeys")||pS,o=gS.concat(t);this._balloon=e.plugins.get(Qm),e.editing.view.document.on("keydown",((e,i)=>{var n;n=i.keyCode,o.includes(n)&&this._isUIVisible&&(i.preventDefault(),e.stop(),i.keyCode==qt.arrowdown&&this._mentionsView.selectNext(),i.keyCode==qt.arrowup&&this._mentionsView.selectPrevious(),t.includes(i.keyCode)&&this._mentionsView.executeSelected(),i.keyCode==qt.esc&&this._hideUIAndRemoveMarker())}),{priority:"highest"}),Su({emitter:this._mentionsView,activator:()=>this._isUIVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUIAndRemoveMarker()});const i=e.config.get("mention.feeds");for(const e of i){const{feed:t,marker:o,dropdownLimit:i}=e;if(!kS(o))throw new fe("mentionconfig-incorrect-marker",null,{marker:o});const n={marker:o,feedCallback:"function"==typeof t?t.bind(this.editor):_S(t),itemRenderer:e.itemRenderer,dropdownLimit:i};this._mentionsConfigurations.set(o,n)}this._setupTextWatcher(i),this.listenTo(e,"change:isReadOnly",(()=>{this._hideUIAndRemoveMarker()})),this.on("requestFeed:response",((e,t)=>this._handleFeedResponse(t))),this.on("requestFeed:error",(()=>this._hideUIAndRemoveMarker()))}destroy(){super.destroy(),this._mentionsView.destroy()}get _isUIVisible(){return this._balloon.visibleView===this._mentionsView}_createMentionView(){const e=this.editor.locale,t=new uS(e);return t.items.bindTo(this._items).using((o=>{const{item:i,marker:n}=o,{dropdownLimit:s}=this._mentionsConfigurations.get(n),r=s||this.editor.config.get("mention.dropdownLimit")||10;if(t.items.length>=r)return null;const a=new mS(e),l=this._renderItem(i,n);return l.delegate("execute").to(a),a.children.add(l),a.item=i,a.marker=n,a.on("execute",(()=>{t.fire("execute",{item:i,marker:n})})),a})),t.on("execute",((e,t)=>{const o=this.editor,i=o.model,n=t.item,s=t.marker,r=o.model.markers.get("mention"),a=i.createPositionAt(i.document.selection.focus),l=i.createPositionAt(r.getStart()),c=i.createRange(l,a);this._hideUIAndRemoveMarker(),o.execute("mention",{mention:n,text:n.text,marker:s,range:c}),o.editing.view.focus()})),t}_getItemRenderer(e){const{itemRenderer:t}=this._mentionsConfigurations.get(e);return t}_requestFeed(e,t){this._lastRequested=t;const{feedCallback:o}=this._mentionsConfigurations.get(e),i=o(t);i instanceof Promise?i.then((o=>{this._lastRequested==t?this.fire("requestFeed:response",{feed:o,marker:e,feedText:t}):this.fire("requestFeed:discarded",{feed:o,marker:e,feedText:t})})).catch((t=>{this.fire("requestFeed:error",{error:t}),be("mention-feed-callback-error",{marker:e})})):this.fire("requestFeed:response",{feed:i,marker:e,feedText:t})}_setupTextWatcher(e){const t=this.editor,o=e.map((e=>({...e,pattern:yS(e.marker,e.minimumCharacters||0)}))),i=new Ig(t.model,function(e){const t=t=>{const o=wS(e,t);if(!o)return!1;let i=0;0!==o.position&&(i=o.position-1);const n=t.substring(i);return o.pattern.test(n)};return t}(o));i.on("matched",((e,i)=>{const n=wS(o,i.text),s=t.model.document.selection.focus,r=t.model.createPositionAt(s.parent,n.position);if(function(e){const t=e.textNode&&e.textNode.hasAttribute("mention"),o=e.nodeBefore;return t||o&&o.is("$text")&&o.hasAttribute("mention")}(s)||function(e){const t=e.nodeAfter;return t&&t.is("$text")&&t.hasAttribute("mention")}(r))return void this._hideUIAndRemoveMarker();const a=function(e,t){let o=0;0!==e.position&&(o=e.position-1);const i=yS(e.marker,0),n=t.substring(o);return n.match(i)[2]}(n,i.text),l=n.marker.length+a.length,c=s.getShiftedBy(-l),d=s.getShiftedBy(-a.length),u=t.model.createRange(c,d);if(vS(t)){const e=t.model.markers.get("mention");t.model.change((t=>{t.updateMarker(e,{range:u})}))}else t.model.change((e=>{e.addMarker("mention",{range:u,usingOperation:!1,affectsData:!1})}));this._requestFeedDebounced(n.marker,a)})),i.on("unmatched",(()=>{this._hideUIAndRemoveMarker()}));const n=t.commands.get("mention");return i.bind("isEnabled").to(n),i}_handleFeedResponse(e){const{feed:t,marker:o}=e;if(!vS(this.editor))return;this._items.clear();for(const e of t){const t="object"!=typeof e?{id:e,text:e}:e;this._items.add({item:t,marker:o})}const i=this.editor.model.markers.get("mention");this._items.length?this._showOrUpdateUI(i):this._hideUIAndRemoveMarker()}_showOrUpdateUI(e){this._isUIVisible?this._balloon.updatePosition(this._getBalloonPanelPositionData(e,this._mentionsView.position)):this._balloon.add({view:this._mentionsView,position:this._getBalloonPanelPositionData(e,this._mentionsView.position),singleViewMode:!0,balloonClassName:"ck-mention-balloon"}),this._mentionsView.position=this._balloon.view.position,this._mentionsView.selectFirst()}_hideUIAndRemoveMarker(){this._balloon.hasView(this._mentionsView)&&this._balloon.remove(this._mentionsView),vS(this.editor)&&this.editor.model.change((e=>e.removeMarker("mention"))),this._mentionsView.position=void 0}_renderItem(e,t){const o=this.editor;let i,n=e.id;const s=this._getItemRenderer(t);if(s){const t=s(e);"string"!=typeof t?i=new hS(o.locale,t):n=t}if(!i){const e=new Lu(o.locale);e.label=n,e.withText=!0,i=e}return i}_getBalloonPanelPositionData(e,t){const o=this.editor,i=o.editing,n=i.view.domConverter,s=i.mapper;return{target:()=>{let t=e.getRange();"$graveyard"==t.start.root.rootName&&(t=o.model.document.selection.getFirstRange());const i=s.toViewRange(t);return ut.getDomRangeRects(n.viewRangeToDom(i)).pop()},limiter:()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},positions:bS(t,o.locale.uiLanguageDirection)}}}function bS(e,t){const o={caret_se:e=>({top:e.bottom+3,left:e.right,name:"caret_se",config:{withArrow:!1}}),caret_ne:(e,t)=>({top:e.top-t.height-3,left:e.right,name:"caret_ne",config:{withArrow:!1}}),caret_sw:(e,t)=>({top:e.bottom+3,left:e.right-t.width,name:"caret_sw",config:{withArrow:!1}}),caret_nw:(e,t)=>({top:e.top-t.height-3,left:e.right-t.width,name:"caret_nw",config:{withArrow:!1}})};return Object.prototype.hasOwnProperty.call(o,e)?[o[e]]:"rtl"!==t?[o.caret_se,o.caret_sw,o.caret_ne,o.caret_nw]:[o.caret_sw,o.caret_se,o.caret_nw,o.caret_ne]}function wS(e,t){let o;for(const i of e){const e=t.lastIndexOf(i.marker);e>0&&!t.substring(e-1).match(i.pattern)||(!o||e>=o.position)&&(o={marker:i.marker,position:e,minimumCharacters:i.minimumCharacters,pattern:i.pattern})}return o}function yS(e,t){const o=0==t?"*":`{${t},}`,i=Y.features.isRegExpUnicodePropertySupported?"\\p{Ps}\\p{Pi}\"'":"\\(\\[{\"'";e=e.replace(/[.*+?^${}()\-|[\]\\]/g,"\\$&");return new RegExp(`(?:^|[ ${i}])(${e})([^#@]${o})$`,"u")}function _S(e){return t=>e.filter((e=>("string"==typeof e?e:String(e.id)).toLowerCase().includes(t.toLowerCase())))}function kS(e){return!!e}function vS(e){return e.model.markers.has("mention")}class CS extends wc{refresh(){const e=this.editor.model,t=e.schema,o=e.document.selection;this.isEnabled=function(e,t,o){const i=function(e,t){const o=cp(e,t),i=o.start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(e,o);return t.checkChild(i,"pageBreak")}(o,t,e)}execute(){const e=this.editor.model;e.change((t=>{const o=t.createElement("pageBreak");e.insertObject(o,null,null,{setSelection:"after"})}))}}class AS extends fc{static get pluginName(){return"PageBreakEditing"}static get licenseFeatureCode(){return"PB"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}init(){const e=this.editor,t=e.model.schema,o=e.t,i=e.conversion;t.register("pageBreak",{inheritAllFrom:"$blockObject"}),i.for("dataDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:t})=>t.createContainerElement("div",{class:"page-break",style:"page-break-after: always"},t.createContainerElement("span",{style:"display: none"}))}),i.for("editingDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:t})=>{const i=o("Page break"),n=t.createContainerElement("div"),s=t.createRawElement("span",{class:"page-break__label"},(function(e){e.innerText=o("Page break")}));return t.addClass("page-break",n),t.insert(t.createPositionAt(n,0),s),function(e,t,o){return t.setCustomProperty("pageBreak",!0,e),np(e,t,{label:o})}(n,t,i)}}),i.for("upcast").elementToElement({view:e=>{const t="always"==e.getStyle("page-break-before"),o="always"==e.getStyle("page-break-after");if(!t&&!o)return null;if(1==e.childCount){const t=e.getChild(0);if(!t.is("element","span")||"none"!=t.getStyle("display"))return null}else if(e.childCount>1)return null;return{name:!0,styles:[...t?["page-break-before"]:[],...o?["page-break-after"]:[]],...e.hasClass("page-break")&&{classes:["page-break"]}}},model:"pageBreak",converterPriority:"high"}),e.commands.add("pageBreak",new CS(e))}}class xS extends fc{static get pluginName(){return"PageBreakUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("pageBreak",(()=>{const e=this._createButton(Lu);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:pageBreak",(()=>this._createButton(sh)))}_createButton(e){const t=this.editor,o=t.locale,i=t.commands.get("pageBreak"),n=new e(t.locale),s=o.t;return n.set({label:s("Page break"),icon:''}),n.bind("isEnabled").to(i,"isEnabled"),this.listenTo(n,"execute",(()=>{t.execute("pageBreak"),t.editing.view.focus()})),n}}class ES extends fc{adapter;_debouncedSave;_lastDocumentVersion;_savePromise;_domEmitter;_config;_pendingActions;_makeImmediateSave;_action=null;static get pluginName(){return"Autosave"}static get isOfficialPlugin(){return!0}static get requires(){return[Lc]}constructor(e){super(e);const t=e.config.get("autosave")||{},o=t.waitingTime||1e3;this.set("state","synchronized"),this._debouncedSave=zo(this._save.bind(this),o),this._lastDocumentVersion=e.model.document.version,this._savePromise=null,this._domEmitter=new(et()),this._config=t,this._pendingActions=e.plugins.get(Lc),this._makeImmediateSave=!1}init(){const e=this.editor,t=e.model.document;this.listenTo(e,"ready",(()=>{this.listenTo(t,"change:data",((e,t)=>{this._saveCallbacks.length&&t.isLocal&&("synchronized"===this.state&&(this.state="waiting",this._setPendingAction()),"waiting"===this.state&&this._debouncedSave())}))})),this.listenTo(e,"destroy",(()=>this._flush()),{priority:"highest"}),this._domEmitter.listenTo(window,"beforeunload",((e,t)=>{this._pendingActions.hasAny&&(t.returnValue=this._pendingActions.first.message)}))}destroy(){this._domEmitter.stopListening(),super.destroy()}save(){return this._debouncedSave.cancel(),this._save()}_flush(){this._debouncedSave.flush()}_save(){return this._savePromise?(this._makeImmediateSave=this.editor.model.document.version>this._lastDocumentVersion,this._savePromise):(this._setPendingAction(),this.state="saving",this._lastDocumentVersion=this.editor.model.document.version,this._savePromise=Promise.resolve().then((()=>Promise.all(this._saveCallbacks.map((e=>e(this.editor)))))).finally((()=>{this._savePromise=null})).then((()=>{if(this._makeImmediateSave)return this._makeImmediateSave=!1,this._save();this.editor.model.document.version>this._lastDocumentVersion?(this.state="waiting",this._debouncedSave()):(this.state="synchronized",this._pendingActions.remove(this._action),this._action=null)})).catch((e=>{throw this.state="error",this.state="saving",this._debouncedSave(),e})),this._savePromise)}_setPendingAction(){const e=this.editor.t;this._action||(this._action=this._pendingActions.add(e("Saving changes")))}get _saveCallbacks(){const e=[];return this.adapter&&this.adapter.save&&e.push(this.adapter.save),this._config.save&&e.push(this._config.save),e}}var TS=o(992);function PS(e){return e.trim().split(/\s+/).length}function SS(e){const t=e.length;let o=5381;for(let i=0;i>>0}function IS(e){const t=localStorage.getItem(e);if(!t)return null;try{return JSON.parse(TS.decompress(t))}catch(e){return console.error("Failed to load CKEditor revisions from localStorage: "+e.toString()),null}}class RS extends fc{init(){const e=this.editor,t=Lp(e);e.ui.componentFactory.add("opContentRevisions",(o=>{const i=Zh(o),n=new eo;return Xh(i,n,{role:"menu",ariaLabel:t.t("js.editor.revisions")}),i.buttonView.set({label:t.t("js.editor.revisions"),icon:'\n\n\n',tooltip:!0}),this.listenTo(i.buttonView,"execute",(async()=>{n.clear(),function(e,t){const o=e.config.get(VS),i=IS(o),n=Lp(e),s=Np(e,"timezone");if(!i?.items||i.items.count<=0){const e={type:"button",model:{label:n.t("js.editor.no_revisions"),withText:!0}};return void t.add(e)}const r=e.getData(),a=SS(r);for(let e=i.items.length;e>0;){e--;const o=i.items[e],r=s.formattedRelativeDateTime(o.timestamp),l=n.t("js.units.word",{count:PS(o.content)}),c=`${o.hash===a?`${n.t("js.label_current")} - `:""}${r} (${l})`,d={type:"button",model:{timestamp:o.timestamp,label:c,withText:!0}};t.add(d)}}(e,n)})),i.on("execute",(t=>{const{timestamp:o}=t.source;o&&e.execute("opContentRevisionApply",o)})),i}))}}class OS extends wc{async execute(e){const t=this.editor,o=t.config.get(VS),i=await IS(o);if(!i)return void console.error(`Trying to load revision ${e} but no record present.`);const n=i.items.find((t=>t.timestamp===e));n&&(t.setData(n.content),setTimeout((()=>{t.editing.view.focus()})))}}const VS="opContentRevisionKey",DS="op_ckeditor_rev";const FS="opce-macro-wp-quickinfo";const MS=[Op,class extends fc{static get requires(){return[zp,vp,Wp]}static get pluginName(){return"OPMacroEmbeddedTable"}static get buttonName(){return zp.buttonName}},class extends fc{static get requires(){return[Gp,vp,Jp]}static get pluginName(){return"OPMacroWpButton"}static get buttonName(){return Gp.buttonName}},class extends fc{static get requires(){return[uw,vp,hw]}static get pluginName(){return"OPChildPages"}static get buttonName(){return uw.buttonName}}],NS=[class extends fc{static get requires(){return[Qp,Db]}static get pluginName(){return"OpUploadPlugin"}init(){this.editor.plugins.get("FileRepository").createUploadAdapter=e=>{const t=Fp(this.editor);return new Xp(e,t,this.editor)}}},class extends fc{static get pluginName(){return"OPAttachmentListener"}init(){this.editor.model.on("op:attachment-removed",((e,t)=>{this.removeDeletedImage(t)}))}removeDeletedImage(e){let t=this.editor.model.document.getRoot();for(const o of Array.from(t.getChildren()))if("image"===o.name&&e.indexOf(o.getAttribute("src"))>-1){const e=this.editor.model.createSelection(o,"on");this.editor.model.deleteContent(e)}}}],BS=[class extends fc{static get requires(){return[rh,Of,Kg,ww,Qg,Pg,zf]}static get pluginName(){return"Essentials"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[Qp]}static get pluginName(){return"CKFinderUploadAdapter"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.config.get("ckfinder.uploadUrl");e&&(this.editor.plugins.get(Qp).createUploadAdapter=t=>new vw(t,e,this.editor.t))}},class extends fc{static get requires(){return[Tg]}static get pluginName(){return"Autoformat"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=this.editor.t;this._addListAutoformats(),this._addBasicStylesAutoformats(),this._addHeadingAutoformats(),this._addBlockQuoteAutoformats(),this._addCodeBlockAutoformats(),this._addHorizontalLineAutoformats(),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Revert autoformatting action"),keystroke:"Backspace"}]})}_addListAutoformats(){const e=this.editor.commands;e.get("bulletedList")&&Cw(this.editor,this,/^[*-]\s$/,"bulletedList"),e.get("numberedList")&&Cw(this.editor,this,/^1[.|)]\s$/,"numberedList"),e.get("todoList")&&Cw(this.editor,this,/^\[\s?\]\s$/,"todoList"),e.get("checkTodoList")&&Cw(this.editor,this,/^\[\s?x\s?\]\s$/,(()=>{this.editor.execute("todoList"),this.editor.execute("checkTodoList")}))}_addBasicStylesAutoformats(){const e=this.editor.commands;if(e.get("bold")){const e=Ew(this.editor,"bold");Aw(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,e),Aw(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,e)}if(e.get("italic")){const e=Ew(this.editor,"italic");Aw(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,e),Aw(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,e)}if(e.get("code")){const e=Ew(this.editor,"code");Aw(this.editor,this,/(`)([^`]+)(`)$/g,e)}if(e.get("strikethrough")){const e=Ew(this.editor,"strikethrough");Aw(this.editor,this,/(~~)([^~]+)(~~)$/g,e)}}_addHeadingAutoformats(){const e=this.editor.commands.get("heading");e&&e.modelElements.filter((e=>e.match(/^heading[1-6]$/))).forEach((t=>{const o=t[7],i=new RegExp(`^(#{${o}})\\s$`);Cw(this.editor,this,i,(()=>{if(!e.isEnabled||e.value===t)return!1;this.editor.execute("heading",{value:t})}))}))}_addBlockQuoteAutoformats(){this.editor.commands.get("blockQuote")&&Cw(this.editor,this,/^>\s$/,"blockQuote")}_addCodeBlockAutoformats(){const e=this.editor,t=e.model.document.selection;e.commands.get("codeBlock")&&Cw(e,this,/^```$/,(()=>{if(t.getFirstPosition().parent.is("element","listItem"))return!1;this.editor.execute("codeBlock",{usePreviousLanguageChoice:!0})}))}_addHorizontalLineAutoformats(){this.editor.commands.get("horizontalLine")&&Cw(this.editor,this,/^---$/,"horizontalLine")}},ES,class extends fc{static get requires(){return[Sw,Ow]}static get pluginName(){return"Bold"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[Dw,Mw]}static get pluginName(){return"Code"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[Bw,zw]}static get pluginName(){return"Italic"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[qw,Hw]}static get pluginName(){return"Strikethrough"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[Jw,Zw]}static get pluginName(){return"BlockQuote"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[ny,ry]}static get pluginName(){return"Heading"}static get isOfficialPlugin(){return!0}},gb,fb,class extends fc{static get requires(){return[yb,_b]}static get pluginName(){return"ImageCaption"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[iw,nw]}static get pluginName(){return"ImageStyle"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[Mb,$b,Gb,Bb]}static get pluginName(){return"ImageResize"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[Ap,Gf]}static get pluginName(){return"ImageToolbar"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=e.t,o=e.plugins.get(Ap),i=e.plugins.get("ImageUtils");o.register("image",{ariaLabel:t("Image toolbar"),items:lw(e.config.get("image.toolbar")||[]),getRelatedElement:e=>i.getClosestSelectedImageWidget(e)})}},class extends fc{static get pluginName(){return"OpImageAttachmentLookup"}init(){const e=this.editor,t=e.conversion,o=Fp(e);t.for("editingDowncast").add(function(e){return e=>{e.on("attribute:src:imageBlock",t,{priority:"highest"}),e.on("attribute:src:imageInline",t,{priority:"highest"})};function t(t,o,i){let n=o.attributeNewValue;if(!n||!e.lookupDownloadLocationByName)return;const s=e.lookupDownloadLocationByName(n);o.attributeNewValue=s||n}}(o)),t.for("dataDowncast").add(function(e){return e=>{e.on("attribute:src:imageBlock",t,{priority:"highest"}),e.on("attribute:src:imageInline",t,{priority:"highest"})};function t(t,o,i){let n=o.attributeNewValue;if(!n||!e.lookupDownloadLocationByName)return;const s=e.lookupDownloadLocationByName(n);o.attributeNewValue=s||n;const r=i.writer,a=i.mapper.toViewElement(o.item);let l;l="imageInline"===o.item.name?a:a.getChild(0),s&&r.setAttribute("data-original-src",n,l)}}(o));const i=e.plugins.get("ImageUtils");i.decorate("setImageNaturalSizeAttributes"),i.on("setImageNaturalSizeAttributes",((e,[t])=>{console.log("model image element:",{element:t}),e.stop()}),{priority:"highest"})}},class extends fc{static get requires(){return[Ty,Dy,Ny]}static get pluginName(){return"Link"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[z_,H_]}static get pluginName(){return"List"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[Y_,ik]}static get pluginName(){return"TodoList"}static get isOfficialPlugin(){return!0}},class extends fc{static get requires(){return[AS,xS,vp]}static get pluginName(){return"PageBreak"}static get isOfficialPlugin(){return!0}},ey,Pg,class extends fc{toMentionAttribute(e,t){return rS(e,t)}static get pluginName(){return"Mention"}static get isOfficialPlugin(){return!0}static get requires(){return[nS,fS]}},function(e){const t=Mp(e),o=e.editing.view,i=o.document;o.addObserver(ol),e.listenTo(i,"click",((e,t)=>{if("A"===t.domTarget.nodeName&&t.domTarget.classList.contains("mention")){const e=document.createElement("a");e.target="_blank",e.href=t.domTarget.attributes.href.value,e.click()}})),e.conversion.for("upcast").elementToAttribute({view:{name:"mention",key:"data-mention",classes:"mention"},model:{key:"mention",value:o=>{const i=o.getAttribute("data-id"),n=o.getAttribute("data-type"),s=o.getAttribute("data-text"),r=function(e,o){const i=t.services.apiV3Service[`${o}s`].segment,n=window.OpenProject.urlRoot;return`${n}/${i}/${e}`}(i,n);return e.plugins.get("Mention").toMentionAttribute(o,{idNumber:i,link:r,text:s,type:n})}},converterPriority:"high"}),e.conversion.for("upcast").elementToAttribute({view:{name:"span",key:"data-mention",classes:"mention"},model:{key:"mention",value:e=>{const t=[...e.getChildren()][0],o=t&&t.data;if(o){const e=`[Invalid mention: ${o}]`;t._data=e}}},converterPriority:"high"}),e.conversion.for("editingDowncast").attributeToElement({model:"mention",converterPriority:"high",view:(e,{writer:t})=>{if(!e)return;if("emoji"===e.type)return t.createAttributeElement("span");return t.createAttributeElement("a",{class:"mention",href:e.link,"data-mention":e.text,title:e.text})}}),e.conversion.for("dataDowncast").attributeToElement({model:"mention",converterPriority:"high",view:(e,{writer:t})=>{if(!e)return;if("emoji"===e.type)return t.createAttributeElement("span");return t.createAttributeElement("mention",{class:"mention","data-id":e.idNumber,"data-type":e.type,"data-text":e.text})}})},class extends fc{static get pluginName(){return"PasteFromOffice"}static get licenseFeatureCode(){return"PFO"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}static get requires(){return[bf]}init(){const e=this.editor,t=e.plugins.get("ClipboardPipeline"),o=e.editing.view.document,i=[],n=this.editor.plugins.has("MultiLevelListEditing"),s=this.editor.plugins.has("TablePropertiesEditing");i.push(new qA(o,n,s)),i.push(new GA(o)),i.push(new ZA(o)),t.on("inputTransformation",((t,n)=>{if(n._isTransformedWithPasteFromOffice)return;if(e.model.document.selection.getFirstPosition().parent.is("element","codeBlock"))return;const s=n.dataTransfer.getData("text/html"),r=i.find((e=>e.isActive(s)));r&&(n._parsedData||(n._parsedData=YA(s,o.stylesProcessor)),r.execute(n),n._isTransformedWithPasteFromOffice=!0)}),{priority:"high"})}},class extends fc{static get pluginName(){return"OPHelpLinkPlugin"}init(){const e=this.editor,t=e.config.get("openProject.helpURL");e.ui.componentFactory.add("openProjectShowFormattingHelp",(e=>{const o=new Lu(e);return o.set({label:window.I18n.t("js.inplace.link_formatting_help"),icon:'',tooltip:!0}),o.on("execute",(()=>{window.open(t,"_blank")})),o}))}},class extends fc{static get pluginName(){return"OPPreview"}init(){const e=this.editor;let t=!1,o=null;e.ui.componentFactory.add("preview",(i=>{const n=new Lu(i);n.set({label:this.label,icon:'\n',tooltip:!0});let s=function(t){const i=e.ui.getEditableElement(),s=i?.parentElement;if(!s?.parentElement)return void console.error("Cannot show preview: invalid editor structure");const r=document.createElement("div");r.className="ck-editor__preview op-uc-container";Array.from(s.parentElement.children).filter((e=>e!==s&&e.classList.contains("ck-editor__preview"))).forEach((e=>e.remove()));const a=Np(e,"ckEditorPreview");o=a.render(r,t),s.style.display="none",s.parentElement.insertBefore(r,s.nextSibling),gk(e,n)},r=function(){let o=function(e){return _.get(e.config,"_config.openProject.context.previewContext")}(e);(async function(e,t){return new yk("post",e,t).perform()})(Bp(e).api.v3.previewMarkup(o),{contentType:"text/plain; charset=UTF-8",responseKind:"html",body:e.getData()}).then((e=>e.html)).then(s).catch((o=>{console.error("Error fetching preview:",o),t=!1,pk(e)}))};return n.on("execute",(()=>{t?(t=!1,function(){const t=e.ui.getEditableElement(),i=t?.parentElement;if(!i?.parentElement)return void console.error("Cannot disable preview: invalid editor structure");o&&o(),Array.from(i.parentElement.children).filter((e=>e!==i&&e.classList.contains("ck-editor__preview"))).forEach((e=>e.remove())),i.style.display="",pk(e)}()):(t=!0,r())})),n}))}get label(){return window.I18n.t("js.editor.preview")}},class extends fc{static get pluginName(){return"OPSourceCode"}init(){const e=this.editor;let t=!1,o={source:window.I18n.t("js.editor.mode.manual"),wysiwyg:window.I18n.t("js.editor.mode.wysiwyg")};e.ui.componentFactory.add("opShowSource",(i=>{const n=new Lu(i);n.set({label:o.source,class:"",icon:tS,tooltip:!0});return n.on("execute",(()=>{t?(t=!1,function(){const t=e.ui.getEditableElement(),i=t?.parentElement;if(!i?.parentElement)return void console.error("Cannot hide source: invalid editor structure");e.fire("op:source-code-disabled"),Array.from(i.parentElement.children).filter((e=>e!==i&&e.classList.contains("ck-editor__source"))).forEach((e=>e.remove())),i.style.display="",pk(e),n.set({label:o.source,class:"",icon:tS,tooltip:!0})}()):(t=!0,function(){const t=e.ui.getEditableElement(),i=t?.parentElement;if(!i?.parentElement)return void console.error("Cannot show source: invalid editor structure");const s=document.createElement("div");s.className="ck-editor__source",Array.from(i.parentElement.children).filter((e=>e!==i&&e.classList.contains("ck-editor__source"))).forEach((e=>e.remove())),i.style.display="none",i.parentElement.insertBefore(s,i.nextSibling),gk(e,n),e.fire("op:source-code-enabled"),n.set({label:o.wysiwyg,class:"-source-enabled",icon:'\n\n \n \n \n image/svg+xml\n \n \n \n \n \n \n \n \n\n',tooltip:!0})}())})),n}))}},class extends fc{static get requires(){return[ES,RS]}static get pluginName(){return"OpContentRevisions"}constructor(e){super(e);const t=this.getStorageKey(e);e.config.define(VS,t)}init(){const e=this.editor;e.commands.add("opContentRevisionApply",new OS(e)),e.once("ready",(()=>{const t=Date.now();e.plugins.get("Autosave")._domEmitter.stopListening(window,"beforeunload"),Object.keys(localStorage).forEach((e=>{if(e.startsWith(DS)){const o=IS(e);o?.updatedAt&&t-o.updatedAt>=288e5&&localStorage.removeItem(e)}}))}))}getStorageKey(e){const t=e.config.get("storageKey");return t||this.createLocalStorageKey(e)}createLocalStorageKey(e){const t=Fp(e),o=function(e){return _.get(e.config,"_config.openProject.context.field")}(e);let i="";return i=t?.href?t.href:location.pathname,o&&(i+=`_${o}`),`${DS}_${i}`}},class extends fc{static get requires(){return[vp]}static get pluginName(){return"OPMacroWpQuickinfo"}init(){const e=this.editor,t=e.model,o=e.conversion;t.schema.register("op-macro-wp-quickinfo",{allowWhere:"$text",isInline:!0,isObject:!0,allowAttributes:["wpId","detailed"]}),o.for("upcast").elementToElement({view:{name:FS},model:(e,{writer:t})=>{const o=e.getAttribute("data-id")||"",i="true"===e.getAttribute("data-detailed");return t.createElement("op-macro-wp-quickinfo",{wpId:o,detailed:i})},converterPriority:"high"}),o.for("editingDowncast").elementToElement({model:"op-macro-wp-quickinfo",view:(e,{writer:t})=>{const o=e.getAttribute("wpId")||"",i=!!e.getAttribute("detailed"),n=t.createContainerElement("span",{class:"op-macro-wp-quickinfo-widget"}),s=t.createRawElement(FS,{"data-id":o,"data-detailed":String(i)},(()=>{}));return t.insert(t.createPositionAt(n,0),s),np(n,t,{label:`#${o}`})}}),o.for("dataDowncast").elementToElement({model:"op-macro-wp-quickinfo",view:(e,{writer:t})=>{const o=e.getAttribute("wpId")||"",i=!!e.getAttribute("detailed"),n=t.createContainerElement(FS,{"data-id":o,"data-detailed":String(i)}),s=(i?"###":"##")+o;return t.insert(t.createPositionAt(n,0),t.createText(s)),n}})}afterInit(){const e=this.editor,t=e.commands.get("mention");t&&t.on("execute",((t,o)=>{const i=o&&o[0];if(!i||!i.mention)return;if("work_package"!==i.mention.type)return;const n=i.marker;if("##"!==n&&"###"!==n)return;t.stop();const s="###"===n,r=String(i.mention.idNumber);e.model.change((t=>{const o=i.range||e.model.document.selection.getFirstRange();o&&t.remove(o);const n=t.createElement("op-macro-wp-quickinfo",{wpId:r,detailed:s});e.model.insertContent(n,e.model.document.selection),t.setSelection(t.createPositionAfter(n))}))}),{priority:"high"})}},class extends fc{static get pluginName(){return"CodeBlock"}static get requires(){return[uk,hk]}},function(e){e.data.processor=new eS(e.editing.view.document)},mC,class extends fc{static get requires(){return[Ap]}static get pluginName(){return"TableToolbar"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=e.t,o=e.plugins.get(Ap),i=e.config.get("table.contentToolbar"),n=e.config.get("table.tableToolbar");i&&o.register("tableContent",{ariaLabel:t("Table toolbar"),items:i,getRelatedElement:fC}),n&&o.register("table",{ariaLabel:t("Table toolbar"),items:n,getRelatedElement:pC})}},class extends fc{static get pluginName(){return"TableProperties"}static get isOfficialPlugin(){return!0}static get requires(){return[hA,yA]}},class extends fc{static get pluginName(){return"TableCellProperties"}static get isOfficialPlugin(){return!0}static get requires(){return[iA,zC]}},class extends fc{init(){const e=this.editor,t=(e.config.get("removePlugins")||[]).map((e=>e.pluginName)),o=window.I18n.t("js.editor.macro.dropdown.chose_macro");!0!==e.config.get("openProject.disableAllMacros")&&e.ui.componentFactory.add("macroList",(i=>{const n=[];for(const o of MS){if(-1!==t.indexOf(o.pluginName))continue;const i=e.ui.componentFactory.create(o.buttonName);n.push(i)}const s=Zh(i);return Qh(s,n,{isVertical:!0,class:"op-macro-list-button"}),s.buttonView.set({isOn:!1,withText:!0,tooltip:o,label:window.I18n.t("js.editor.macro.dropdown.macros")}),s}))}},class extends fc{get config(){const e="op-uc-";return{preFix:e,editorClasses:[`${e}container`,`${e}container_editing`],elementsWithCustomClassesMap:{paragraph:`${e}p`,heading1:`${e}h1`,heading2:`${e}h2`,heading3:`${e}h3`,heading4:`${e}h4`,heading5:`${e}h5`,heading6:`${e}h6`,blockQuote:`${e}blockquote`,figure:`${e}figure`,table:`${e}table`,thead:`${e}table--head`,tr:`${e}table--row`,td:`${e}table--cell`,th:[`${e}table--cell`,`${e}table--cell_head`],tableCell:`${e}table--cell`,tableRow:`${e}table--row`,ol:`${e}list`,ul:`${e}list`,list:`${e}list`,todo:`${e}list ${e}list_task-list`,listItem:`${e}list--item`,li:`${e}list--item`,imageInline:`${e}image ${e}image_inline`,imageBlock:`${e}image`,img:`${e}image`,codeblock:`${e}code-block`,caption:`${e}figure--description`,"op-macro-embedded-table":[`${e}placeholder`,`${e}embedded-table`],"op-macro-wp-button":[`${e}placeholder`,`${e}wp-button`],"op-macro-child-pages":[`${e}placeholder`,`${e}child-pages`],"op-macro-toc":[`${e}placeholder`,`${e}toc`],content:`${e}figure--content`},attributesWithCustomClassesMap:{code:`${e}code`,linkHref:`${e}link`,alignment:`${e}figure_align-`,tableAlignment:`${e}figure_align-`,todo:`${e}list_task-list`,numbered:`${e}list`,bulleted:`${e}list`,listType:null,headingColumns:null,width:null,uploadStatus:null},alignmentValuesMap:{left:"start",right:"end",blockLeft:"start",blockRight:"end",center:"center",default:"center"}}}init(){this._addCustomCSSClassesToTheEditorContainer(this.editor),this._addCustomCSSClassesToElements(this.config),this._addCustomCSSClassesToAttributes(this.config)}_addCustomCSSClassesToTheEditorContainer(e){e.sourceElement.classList.add(...this.config.editorClasses)}_addCustomCSSClassesToElements(e){this.editor.model.schema.extend("table",{allowAttributes:["figureClasses"]}),this.editor.conversion.for("upcast").add((t=>t.on("element:table",this._manageTableUpcast(e))),{priority:"high"}),this.editor.conversion.for("downcast").add((t=>t.on("insert",this._manageElementsInsertion(e),{priority:"low"})))}_addCustomCSSClassesToAttributes(e){this.editor.conversion.for("downcast").add((t=>t.on("attribute",this._manageAttributesInsertion(e),{priority:"low"})))}_manageTableUpcast(e){return(t,o,i)=>{const n=i.writer,s=o.viewItem,r=o.modelRange,a=r&&r.start.nodeAfter;if(!a)return;let l=a.getAttribute("figureClasses")||[],c=s.parent.getClassNames&&s.parent.getClassNames();const d=c?[...c].filter((e=>!!e)):[];l=[...l,...d];const u=d.filter((t=>t.startsWith(e.attributesWithCustomClassesMap.alignment)))[0],h=u&&u.replace(e.attributesWithCustomClassesMap.alignment,"")||e.alignmentValuesMap.default,m=Object.keys(e.alignmentValuesMap).find((t=>e.alignmentValuesMap[t]===h))||"center";if(!u){const t=`${e.attributesWithCustomClassesMap.alignment}${h}`;l=[...l,t]}n.setAttribute("figureClasses",l,a),"center"===m?n.setAttribute("alignment",null,a):n.setAttribute("alignment",m,a)}}_manageElementsInsertion(e){return(t,o,i)=>{const n=Object.keys(e.elementsWithCustomClassesMap),s=i.writer,r=o.item.name,a=o.item,l=i.mapper.toViewElement(a);let c=[l];const d=["imageBlock","table","tableCell","tableRow","listItem"].includes(r);if(n.includes(r)&&l){if(d)if("listItem"===r)c=this._manageListItems(s,a,l,c,e);else{const t=l,o=Array.from(s.createRangeIn(l).getItems());if("imageBlock"===r){const i=o.find((e=>e.is("element","img")));this._wrapInFigureContentContainer(i,t,e,s),c=[...c,i]}else if("table"===r||"tableRow"===r){const i=o.filter((e=>n.includes(e.name)));if(c=[...c,...i],"table"===r){if(!a.getAttribute("tableAlignment")){const o=`${e.attributesWithCustomClassesMap.alignment}${e.alignmentValuesMap.default}`;s.addClass(o,t)}}}}c.forEach((t=>{const o=d?t.name:r,i=e.elementsWithCustomClassesMap[o];s.addClass(i,t)}))}}}_manageAttributesInsertion(e){return(t,o,i)=>{const n=Object.keys(e.attributesWithCustomClassesMap),s=o.attributeKey,r=i.writer,a=o.item,l=i.mapper.toViewElement(a);if(n.includes(s))if("linkHref"===s||"code"===s){const t="linkHref"===s?"a":s,n="linkHref"===s?5:10,l=r.document.selection,c=r.createAttributeElement(t,{class:e.attributesWithCustomClassesMap[s]},{priority:n});a.is("selection")?r.wrap(l.getFirstRange(),c):r.wrap(i.mapper.toViewRange(o.range),c)}else if("tableAlignment"===s){const t=l,i=e.alignmentValuesMap[o.attributeNewValue]||e.alignmentValuesMap.default;Array.from(new Set(Object.values(e.alignmentValuesMap))).map((t=>`${e.attributesWithCustomClassesMap[s]}${t}`)).filter((e=>t.hasClass(e))).forEach((e=>r.removeClass(e,t))),t.hasStyle("float")&&r.removeStyle("float",t),r.addClass(`${e.attributesWithCustomClassesMap[s]}${i}`,t)}else if("listType"===s){this._manageListItems(r,a,l,[l],e).forEach((t=>{const o=t.name,i=e.elementsWithCustomClassesMap[o];r.addClass(i,t)}))}else if("headingColumns"===s){const t=o.attributeNewValue,i=Array.from(r.createRangeIn(l).getItems()).filter((t=>Object.keys(e.elementsWithCustomClassesMap).includes(t.name)));t?i.forEach((t=>{const o=t.name,i=e.elementsWithCustomClassesMap[o];r.addClass(i,t)})):i.filter((t=>t.hasClass(e.elementsWithCustomClassesMap.th[1]))).forEach((t=>{const o=t.nextSibling;o&&"th"!==o.name&&r.removeClass(e.elementsWithCustomClassesMap.th[1],t)}))}else if("width"===s)l.hasClass("image_resized")&&r.removeClass("image_resized",l);else if("uploadStatus"===s&&"complete"===o.attributeNewValue){let e=Array.from(r.createRangeIn(l).getItems()).find((e=>e.hasClass("ck-upload-placeholder-loader")));e&&r.remove(r.createRangeOn(e))}}}_manageListItems(e,t,o,i,n){const s=o.findAncestor("li"),r=o.findAncestor(/^(ul|ol)$/);if(!r)return i;const a=t.getAttribute("listType"),l=n.attributesWithCustomClassesMap[a];if("todo"===a)e.addClass(l,r);else{const t=n.attributesWithCustomClassesMap.todo;r.hasClass(t)&&e.removeClass(t,r)}return[...i,r,s]}_wrapInFigureContentContainer(e,t,o,i){const n=i.createContainerElement("div",{class:o.elementsWithCustomClassesMap.content});i.insert(i.createPositionAt(n,0),e),i.insert(i.createPositionAt(t,0),n)}}].concat(MS,NS);function LS(e){return function(t){const o=window.OpenProject.urlRoot+"/work_packages/auto_complete.json";let i=window.OpenProject.urlRoot+"/work_packages/";return this.config.get("disabledMentions").includes("work_package")?[]:new Promise(((n,s)=>{_k(o,{responseKind:"json",query:{q:t,scope:"all"}}).then((e=>e.json)).then((t=>{n(t.map((t=>{const o=`${e}${t.id}`;return{id:o,idNumber:t.id,type:"work_package",text:o,name:t.to_s,link:i+t.id}})))})).catch((e=>{console.error("Error fetching work package mentions:",e),s(e)}))}))}}function zS(e){const t=document.createElement("span");return"user"!==e.type&&"work_package"!==e.type||(t.setAttribute("data-hover-card-trigger-target","trigger"),t.setAttribute("data-hover-card-url",`${e.link}/hover_card`)),t.classList.add("mention-list-item"),t.textContent=e.name,t}const jS=JSON.parse('[{"id":":grinning_face:","symbol":"😀","group":"people","keywords":["face","grin","grinning face"]},{"id":":beaming_face_with_smiling_eyes:","symbol":"😁","group":"people","keywords":["beaming face with smiling eyes","eye","face","grin","smile"]},{"id":":face_with_tears_of_joy:","symbol":"😂","group":"people","keywords":["face","face with tears of joy","joy","laugh","tear"]},{"id":":rolling_on_the_floor_laughing:","symbol":"🤣","group":"people","keywords":["face","floor","laugh","rolling","rolling on the floor laughing"]},{"id":":grinning_face_with_big_eyes:","symbol":"😃","group":"people","keywords":["face","grinning face with big eyes","mouth","open","smile"]},{"id":":grinning_face_with_smiling_eyes:","symbol":"😄","group":"people","keywords":["eye","face","grinning face with smiling eyes","mouth","open","smile"]},{"id":":grinning_face_with_sweat:","symbol":"😅","group":"people","keywords":["cold","face","grinning face with sweat","open","smile","sweat"]},{"id":":grinning_squinting_face:","symbol":"😆","group":"people","keywords":["face","grinning squinting face","laugh","mouth","satisfied","smile"]},{"id":":winking_face:","symbol":"😉","group":"people","keywords":["face","wink","winking face"]},{"id":":smiling_face_with_smiling_eyes:","symbol":"😊","group":"people","keywords":["blush","eye","face","smile","smiling face with smiling eyes"]},{"id":":face_savoring_food:","symbol":"😋","group":"people","keywords":["delicious","face","face savoring food","savouring","smile","yum"]},{"id":":smiling_face_with_sunglasses:","symbol":"😎","group":"people","keywords":["bright","cool","face","smiling face with sunglasses","sun","sunglasses"]},{"id":":smiling_face_with_heart-eyes:","symbol":"😍","group":"people","keywords":["eye","face","love","smile","smiling face with heart-eyes"]},{"id":":face_blowing_a_kiss:","symbol":"😘","group":"people","keywords":["face","face blowing a kiss","kiss"]},{"id":":kissing_face:","symbol":"😗","group":"people","keywords":["face","kiss","kissing face"]},{"id":":kissing_face_with_smiling_eyes:","symbol":"😙","group":"people","keywords":["eye","face","kiss","kissing face with smiling eyes","smile"]},{"id":":kissing_face_with_closed_eyes:","symbol":"😚","group":"people","keywords":["closed","eye","face","kiss","kissing face with closed eyes"]},{"id":":smiling_face:","symbol":"☺","group":"people","keywords":["face","outlined","relaxed","smile","smiling face"]},{"id":":slightly_smiling_face:","symbol":"🙂","group":"people","keywords":["face","slightly smiling face","smile"]},{"id":":hugging_face:","symbol":"🤗","group":"people","keywords":["face","hug","hugging"]},{"id":":star-struck:","symbol":"🤩","group":"people","keywords":["eyes","face","grinning","star","star-struck",""]},{"id":":thinking_face:","symbol":"🤔","group":"people","keywords":["face","thinking"]},{"id":":face_with_raised_eyebrow:","symbol":"🤨","group":"people","keywords":["distrust","face with raised eyebrow","skeptic",""]},{"id":":neutral_face:","symbol":"😐","group":"people","keywords":["deadpan","face","neutral"]},{"id":":expressionless_face:","symbol":"😑","group":"people","keywords":["expressionless","face","inexpressive","unexpressive"]},{"id":":face_without_mouth:","symbol":"😶","group":"people","keywords":["face","face without mouth","mouth","quiet","silent"]},{"id":":face_with_rolling_eyes:","symbol":"🙄","group":"people","keywords":["eyes","face","face with rolling eyes","rolling"]},{"id":":smirking_face:","symbol":"😏","group":"people","keywords":["face","smirk","smirking face"]},{"id":":persevering_face:","symbol":"😣","group":"people","keywords":["face","persevere","persevering face"]},{"id":":sad_but_relieved_face:","symbol":"😥","group":"people","keywords":["disappointed","face","relieved","sad but relieved face","whew"]},{"id":":face_with_open_mouth:","symbol":"😮","group":"people","keywords":["face","face with open mouth","mouth","open","sympathy"]},{"id":":zipper-mouth_face:","symbol":"🤐","group":"people","keywords":["face","mouth","zipper","zipper-mouth face"]},{"id":":hushed_face:","symbol":"😯","group":"people","keywords":["face","hushed","stunned","surprised"]},{"id":":sleepy_face:","symbol":"😪","group":"people","keywords":["face","sleep","sleepy face"]},{"id":":tired_face:","symbol":"😫","group":"people","keywords":["face","tired"]},{"id":":sleeping_face:","symbol":"😴","group":"people","keywords":["face","sleep","sleeping face","zzz"]},{"id":":relieved_face:","symbol":"😌","group":"people","keywords":["face","relieved"]},{"id":":face_with_tongue:","symbol":"😛","group":"people","keywords":["face","face with tongue","tongue"]},{"id":":winking_face_with_tongue:","symbol":"😜","group":"people","keywords":["eye","face","joke","tongue","wink","winking face with tongue"]},{"id":":squinting_face_with_tongue:","symbol":"😝","group":"people","keywords":["eye","face","horrible","squinting face with tongue","taste","tongue"]},{"id":":drooling_face:","symbol":"🤤","group":"people","keywords":["drooling","face"]},{"id":":unamused_face:","symbol":"😒","group":"people","keywords":["face","unamused","unhappy"]},{"id":":downcast_face_with_sweat:","symbol":"😓","group":"people","keywords":["cold","downcast face with sweat","face","sweat"]},{"id":":pensive_face:","symbol":"😔","group":"people","keywords":["dejected","face","pensive"]},{"id":":confused_face:","symbol":"😕","group":"people","keywords":["confused","face"]},{"id":":upside-down_face:","symbol":"🙃","group":"people","keywords":["face","upside-down"]},{"id":":money-mouth_face:","symbol":"🤑","group":"people","keywords":["face","money","money-mouth face","mouth"]},{"id":":astonished_face:","symbol":"😲","group":"people","keywords":["astonished","face","shocked","totally"]},{"id":":frowning_face:","symbol":"☹","group":"people","keywords":["face","frown","frowning face"]},{"id":":slightly_frowning_face:","symbol":"🙁","group":"people","keywords":["face","frown","slightly frowning face"]},{"id":":confounded_face:","symbol":"😖","group":"people","keywords":["confounded","face"]},{"id":":disappointed_face:","symbol":"😞","group":"people","keywords":["disappointed","face"]},{"id":":worried_face:","symbol":"😟","group":"people","keywords":["face","worried"]},{"id":":face_with_steam_from_nose:","symbol":"😤","group":"people","keywords":["face","face with steam from nose","triumph","won"]},{"id":":crying_face:","symbol":"😢","group":"people","keywords":["cry","crying face","face","sad","tear"]},{"id":":loudly_crying_face:","symbol":"😭","group":"people","keywords":["cry","face","loudly crying face","sad","sob","tear"]},{"id":":frowning_face_with_open_mouth:","symbol":"😦","group":"people","keywords":["face","frown","frowning face with open mouth","mouth","open"]},{"id":":anguished_face:","symbol":"😧","group":"people","keywords":["anguished","face"]},{"id":":fearful_face:","symbol":"😨","group":"people","keywords":["face","fear","fearful","scared"]},{"id":":weary_face:","symbol":"😩","group":"people","keywords":["face","tired","weary"]},{"id":":exploding_head:","symbol":"🤯","group":"people","keywords":["exploding head","shocked"]},{"id":":grimacing_face:","symbol":"😬","group":"people","keywords":["face","grimace","grimacing face"]},{"id":":anxious_face_with_sweat:","symbol":"😰","group":"people","keywords":["anxious face with sweat","blue","cold","face","rushed","sweat"]},{"id":":face_screaming_in_fear:","symbol":"😱","group":"people","keywords":["face","face screaming in fear","fear","munch","scared","scream"]},{"id":":flushed_face:","symbol":"😳","group":"people","keywords":["dazed","face","flushed"]},{"id":":zany_face:","symbol":"🤪","group":"people","keywords":["eye","goofy","large","small","zany face"]},{"id":":dizzy_face:","symbol":"😵","group":"people","keywords":["dizzy","face"]},{"id":":pouting_face:","symbol":"😡","group":"people","keywords":["angry","face","mad","pouting","rage","red"]},{"id":":angry_face:","symbol":"😠","group":"people","keywords":["angry","face","mad"]},{"id":":face_with_symbols_on_mouth:","symbol":"🤬","group":"people","keywords":["face with symbols on mouth","swearing",""]},{"id":":face_with_medical_mask:","symbol":"😷","group":"people","keywords":["cold","doctor","face","face with medical mask","mask","sick"]},{"id":":face_with_thermometer:","symbol":"🤒","group":"people","keywords":["face","face with thermometer","ill","sick","thermometer"]},{"id":":face_with_head-bandage:","symbol":"🤕","group":"people","keywords":["bandage","face","face with head-bandage","hurt","injury"]},{"id":":nauseated_face:","symbol":"🤢","group":"people","keywords":["face","nauseated","vomit"]},{"id":":face_vomiting:","symbol":"🤮","group":"people","keywords":["face vomiting","sick","vomit"]},{"id":":sneezing_face:","symbol":"🤧","group":"people","keywords":["face","gesundheit","sneeze","sneezing face"]},{"id":":smiling_face_with_halo:","symbol":"😇","group":"people","keywords":["angel","face","fantasy","halo","innocent","smiling face with halo"]},{"id":":cowboy_hat_face:","symbol":"🤠","group":"people","keywords":["cowboy","cowgirl","face","hat"]},{"id":":lying_face:","symbol":"🤥","group":"people","keywords":["face","lie","lying face","pinocchio"]},{"id":":shushing_face:","symbol":"🤫","group":"people","keywords":["quiet","shush","shushing face"]},{"id":":face_with_hand_over_mouth:","symbol":"🤭","group":"people","keywords":["face with hand over mouth","whoops",""]},{"id":":face_with_monocle:","symbol":"🧐","group":"people","keywords":["face with monocle","stuffy",""]},{"id":":nerd_face:","symbol":"🤓","group":"people","keywords":["face","geek","nerd"]},{"id":":smiling_face_with_horns:","symbol":"😈","group":"people","keywords":["face","fairy tale","fantasy","horns","smile","smiling face with horns"]},{"id":":angry_face_with_horns:","symbol":"👿","group":"people","keywords":["angry face with horns","demon","devil","face","fantasy","imp"]},{"id":":clown_face:","symbol":"🤡","group":"people","keywords":["clown","face"]},{"id":":ogre:","symbol":"👹","group":"people","keywords":["creature","face","fairy tale","fantasy","monster","ogre",""]},{"id":":goblin:","symbol":"👺","group":"people","keywords":["creature","face","fairy tale","fantasy","goblin","monster"]},{"id":":skull:","symbol":"💀","group":"people","keywords":["death","face","fairy tale","monster","skull"]},{"id":":skull_and_crossbones:","symbol":"☠","group":"people","keywords":["crossbones","death","face","monster","skull","skull and crossbones"]},{"id":":ghost:","symbol":"👻","group":"people","keywords":["creature","face","fairy tale","fantasy","ghost","monster"]},{"id":":alien:","symbol":"👽","group":"people","keywords":["alien","creature","extraterrestrial","face","fantasy","ufo"]},{"id":":alien_monster:","symbol":"👾","group":"people","keywords":["alien","creature","extraterrestrial","face","monster","ufo"]},{"id":":robot_face:","symbol":"🤖","group":"people","keywords":["face","monster","robot"]},{"id":":pile_of_poo:","symbol":"💩","group":"people","keywords":["dung","face","monster","pile of poo","poo","poop"]},{"id":":grinning_cat_face:","symbol":"😺","group":"people","keywords":["cat","face","grinning cat face","mouth","open","smile"]},{"id":":grinning_cat_face_with_smiling_eyes:","symbol":"😸","group":"people","keywords":["cat","eye","face","grin","grinning cat face with smiling eyes","smile"]},{"id":":cat_face_with_tears_of_joy:","symbol":"😹","group":"people","keywords":["cat","cat face with tears of joy","face","joy","tear"]},{"id":":smiling_cat_face_with_heart-eyes:","symbol":"😻","group":"people","keywords":["cat","eye","face","love","smile","smiling cat face with heart-eyes"]},{"id":":cat_face_with_wry_smile:","symbol":"😼","group":"people","keywords":["cat","cat face with wry smile","face","ironic","smile","wry"]},{"id":":kissing_cat_face:","symbol":"😽","group":"people","keywords":["cat","eye","face","kiss","kissing cat face"]},{"id":":weary_cat_face:","symbol":"🙀","group":"people","keywords":["cat","face","oh","surprised","weary"]},{"id":":crying_cat_face:","symbol":"😿","group":"people","keywords":["cat","cry","crying cat face","face","sad","tear"]},{"id":":pouting_cat_face:","symbol":"😾","group":"people","keywords":["cat","face","pouting"]},{"id":":see-no-evil_monkey:","symbol":"🙈","group":"people","keywords":["evil","face","forbidden","monkey","see","see-no-evil monkey"]},{"id":":hear-no-evil_monkey:","symbol":"🙉","group":"people","keywords":["evil","face","forbidden","hear","hear-no-evil monkey","monkey"]},{"id":":speak-no-evil_monkey:","symbol":"🙊","group":"people","keywords":["evil","face","forbidden","monkey","speak","speak-no-evil monkey"]},{"id":":baby:","symbol":"👶","group":"people","keywords":["baby","young"]},{"id":":child:","symbol":"🧒","group":"people","keywords":["child","gender-neutral","unspecified gender","young"]},{"id":":boy:","symbol":"👦","group":"people","keywords":["boy","young"]},{"id":":girl:","symbol":"👧","group":"people","keywords":["girl","Virgo","young","zodiac"]},{"id":":person:","symbol":"🧑","group":"people","keywords":["adult","gender-neutral","person","unspecified gender"]},{"id":":person_blond_hair:","symbol":"👱","group":"people","keywords":["blond","blond-haired person","person: blond hair"]},{"id":":man:","symbol":"👨","group":"people","keywords":["adult","man"]},{"id":":man_blond_hair:","symbol":"👱‍♂️","group":"people","keywords":["blond","blond-haired man","man","man: blond hair"]},{"id":":man_beard:","symbol":"🧔","group":"people","keywords":["beard","man: beard","person",""]},{"id":":woman:","symbol":"👩","group":"people","keywords":["adult","woman"]},{"id":":woman_blond_hair:","symbol":"👱‍♀️","group":"people","keywords":["blond-haired woman","blonde","woman","woman: blond hair"]},{"id":":older_person:","symbol":"🧓","group":"people","keywords":["adult","gender-neutral","old","older person","unspecified gender"]},{"id":":old_man:","symbol":"👴","group":"people","keywords":["adult","man","old"]},{"id":":old_woman:","symbol":"👵","group":"people","keywords":["adult","old","woman"]},{"id":":man_health_worker:","symbol":"👨‍⚕️","group":"people","keywords":["doctor","healthcare","man","man health worker","nurse","therapist"]},{"id":":woman_health_worker:","symbol":"👩‍⚕️","group":"people","keywords":["doctor","healthcare","nurse","therapist","woman","woman health worker"]},{"id":":man_student:","symbol":"👨‍🎓","group":"people","keywords":["graduate","man","student"]},{"id":":woman_student:","symbol":"👩‍🎓","group":"people","keywords":["graduate","student","woman"]},{"id":":man_teacher:","symbol":"👨‍🏫","group":"people","keywords":["instructor","man","professor","teacher"]},{"id":":woman_teacher:","symbol":"👩‍🏫","group":"people","keywords":["instructor","professor","teacher","woman"]},{"id":":man_judge:","symbol":"👨‍⚖️","group":"people","keywords":["justice","man","man judge","scales"]},{"id":":woman_judge:","symbol":"👩‍⚖️","group":"people","keywords":["judge","scales","woman"]},{"id":":man_farmer:","symbol":"👨‍🌾","group":"people","keywords":["farmer","gardener","man","rancher"]},{"id":":woman_farmer:","symbol":"👩‍🌾","group":"people","keywords":["farmer","gardener","rancher","woman"]},{"id":":man_cook:","symbol":"👨‍🍳","group":"people","keywords":["chef","cook","man"]},{"id":":woman_cook:","symbol":"👩‍🍳","group":"people","keywords":["chef","cook","woman"]},{"id":":man_mechanic:","symbol":"👨‍🔧","group":"people","keywords":["electrician","man","mechanic","plumber","tradesperson"]},{"id":":woman_mechanic:","symbol":"👩‍🔧","group":"people","keywords":["electrician","mechanic","plumber","tradesperson","woman"]},{"id":":man_factory_worker:","symbol":"👨‍🏭","group":"people","keywords":["assembly","factory","industrial","man","worker"]},{"id":":woman_factory_worker:","symbol":"👩‍🏭","group":"people","keywords":["assembly","factory","industrial","woman","worker"]},{"id":":man_office_worker:","symbol":"👨‍💼","group":"people","keywords":["architect","business","man","man office worker","manager","white-collar"]},{"id":":woman_office_worker:","symbol":"👩‍💼","group":"people","keywords":["architect","business","manager","white-collar","woman","woman office worker"]},{"id":":man_scientist:","symbol":"👨‍🔬","group":"people","keywords":["biologist","chemist","engineer","man","physicist","scientist"]},{"id":":woman_scientist:","symbol":"👩‍🔬","group":"people","keywords":["biologist","chemist","engineer","physicist","scientist","woman"]},{"id":":man_technologist:","symbol":"👨‍💻","group":"people","keywords":["coder","developer","inventor","man","software","technologist"]},{"id":":woman_technologist:","symbol":"👩‍💻","group":"people","keywords":["coder","developer","inventor","software","technologist","woman"]},{"id":":man_singer:","symbol":"👨‍🎤","group":"people","keywords":["actor","entertainer","man","rock","singer","star"]},{"id":":woman_singer:","symbol":"👩‍🎤","group":"people","keywords":["actor","entertainer","rock","singer","star","woman"]},{"id":":man_artist:","symbol":"👨‍🎨","group":"people","keywords":["artist","man","palette"]},{"id":":woman_artist:","symbol":"👩‍🎨","group":"people","keywords":["artist","palette","woman"]},{"id":":man_pilot:","symbol":"👨‍✈️","group":"people","keywords":["man","pilot","plane"]},{"id":":woman_pilot:","symbol":"👩‍✈️","group":"people","keywords":["pilot","plane","woman"]},{"id":":man_astronaut:","symbol":"👨‍🚀","group":"people","keywords":["astronaut","man","rocket"]},{"id":":woman_astronaut:","symbol":"👩‍🚀","group":"people","keywords":["astronaut","rocket","woman"]},{"id":":man_firefighter:","symbol":"👨‍🚒","group":"people","keywords":["firefighter","firetruck","man"]},{"id":":woman_firefighter:","symbol":"👩‍🚒","group":"people","keywords":["firefighter","firetruck","woman"]},{"id":":police_officer:","symbol":"👮","group":"people","keywords":["cop","officer","police"]},{"id":":man_police_officer:","symbol":"👮‍♂️","group":"people","keywords":["cop","man","officer","police"]},{"id":":woman_police_officer:","symbol":"👮‍♀️","group":"people","keywords":["cop","officer","police","woman"]},{"id":":detective:","symbol":"🕵","group":"people","keywords":["detective","sleuth","spy"]},{"id":":man_detective:","symbol":"🕵️‍♂️","group":"people","keywords":["detective","man","sleuth","spy"]},{"id":":woman_detective:","symbol":"🕵️‍♀️","group":"people","keywords":["detective","sleuth","spy","woman"]},{"id":":guard:","symbol":"💂","group":"people","keywords":["guard"]},{"id":":man_guard:","symbol":"💂‍♂️","group":"people","keywords":["guard","man"]},{"id":":woman_guard:","symbol":"💂‍♀️","group":"people","keywords":["guard","woman"]},{"id":":construction_worker:","symbol":"👷","group":"people","keywords":["construction","hat","worker"]},{"id":":man_construction_worker:","symbol":"👷‍♂️","group":"people","keywords":["construction","man","worker"]},{"id":":woman_construction_worker:","symbol":"👷‍♀️","group":"people","keywords":["construction","woman","worker"]},{"id":":prince:","symbol":"🤴","group":"people","keywords":["prince"]},{"id":":princess:","symbol":"👸","group":"people","keywords":["fairy tale","fantasy","princess"]},{"id":":person_wearing_turban:","symbol":"👳","group":"people","keywords":["person wearing turban","turban"]},{"id":":man_wearing_turban:","symbol":"👳‍♂️","group":"people","keywords":["man","man wearing turban","turban"]},{"id":":woman_wearing_turban:","symbol":"👳‍♀️","group":"people","keywords":["turban","woman","woman wearing turban"]},{"id":":man_with_chinese_cap:","symbol":"👲","group":"people","keywords":["gua pi mao","hat","man","man with Chinese cap"]},{"id":":woman_with_headscarf:","symbol":"🧕","group":"people","keywords":["headscarf","hijab","mantilla","tichel","woman with headscarf",""]},{"id":":man_in_tuxedo:","symbol":"🤵","group":"people","keywords":["groom","man","man in tuxedo","tuxedo"]},{"id":":bride_with_veil:","symbol":"👰","group":"people","keywords":["bride","bride with veil","veil","wedding"]},{"id":":pregnant_woman:","symbol":"🤰","group":"people","keywords":["pregnant","woman"]},{"id":":breast-feeding:","symbol":"🤱","group":"people","keywords":["baby","breast","breast-feeding","nursing"]},{"id":":baby_angel:","symbol":"👼","group":"people","keywords":["angel","baby","face","fairy tale","fantasy"]},{"id":":santa_claus:","symbol":"🎅","group":"people","keywords":["celebration","Christmas","claus","father","santa","Santa Claus"]},{"id":":mrs._claus:","symbol":"🤶","group":"people","keywords":["celebration","Christmas","claus","mother","Mrs.","Mrs. Claus"]},{"id":":mage:","symbol":"🧙","group":"people","keywords":["mage","sorcerer","sorceress","witch","wizard"]},{"id":":man_mage:","symbol":"🧙‍♂️","group":"people","keywords":["man mage","sorcerer","wizard"]},{"id":":woman_mage:","symbol":"🧙‍♀️","group":"people","keywords":["sorceress","witch","woman mage"]},{"id":":fairy:","symbol":"🧚","group":"people","keywords":["fairy","Oberon","Puck","Titania"]},{"id":":man_fairy:","symbol":"🧚‍♂️","group":"people","keywords":["man fairy","Oberon","Puck"]},{"id":":woman_fairy:","symbol":"🧚‍♀️","group":"people","keywords":["Titania","woman fairy"]},{"id":":vampire:","symbol":"🧛","group":"people","keywords":["Dracula","undead","vampire"]},{"id":":man_vampire:","symbol":"🧛‍♂️","group":"people","keywords":["Dracula","man vampire","undead"]},{"id":":woman_vampire:","symbol":"🧛‍♀️","group":"people","keywords":["undead","woman vampire"]},{"id":":merperson:","symbol":"🧜","group":"people","keywords":["mermaid","merman","merperson","merwoman"]},{"id":":merman:","symbol":"🧜‍♂️","group":"people","keywords":["merman","Triton"]},{"id":":mermaid:","symbol":"🧜‍♀️","group":"people","keywords":["mermaid","merwoman"]},{"id":":elf:","symbol":"🧝","group":"people","keywords":["elf","magical",""]},{"id":":man_elf:","symbol":"🧝‍♂️","group":"people","keywords":["magical","man elf"]},{"id":":woman_elf:","symbol":"🧝‍♀️","group":"people","keywords":["magical","woman elf"]},{"id":":genie:","symbol":"🧞","group":"people","keywords":["djinn","genie",""]},{"id":":man_genie:","symbol":"🧞‍♂️","group":"people","keywords":["djinn","man genie"]},{"id":":woman_genie:","symbol":"🧞‍♀️","group":"people","keywords":["djinn","woman genie"]},{"id":":zombie:","symbol":"🧟","group":"people","keywords":["undead","walking dead","zombie",""]},{"id":":man_zombie:","symbol":"🧟‍♂️","group":"people","keywords":["man zombie","undead","walking dead"]},{"id":":woman_zombie:","symbol":"🧟‍♀️","group":"people","keywords":["undead","walking dead","woman zombie"]},{"id":":person_frowning:","symbol":"🙍","group":"people","keywords":["frown","gesture","person frowning"]},{"id":":man_frowning:","symbol":"🙍‍♂️","group":"people","keywords":["frowning","gesture","man"]},{"id":":woman_frowning:","symbol":"🙍‍♀️","group":"people","keywords":["frowning","gesture","woman"]},{"id":":person_pouting:","symbol":"🙎","group":"people","keywords":["gesture","person pouting","pouting"]},{"id":":man_pouting:","symbol":"🙎‍♂️","group":"people","keywords":["gesture","man","pouting"]},{"id":":woman_pouting:","symbol":"🙎‍♀️","group":"people","keywords":["gesture","pouting","woman"]},{"id":":person_gesturing_no:","symbol":"🙅","group":"people","keywords":["forbidden","gesture","hand","person gesturing NO","prohibited"]},{"id":":man_gesturing_no:","symbol":"🙅‍♂️","group":"people","keywords":["forbidden","gesture","hand","man","man gesturing NO","prohibited"]},{"id":":woman_gesturing_no:","symbol":"🙅‍♀️","group":"people","keywords":["forbidden","gesture","hand","prohibited","woman","woman gesturing NO"]},{"id":":person_gesturing_ok:","symbol":"🙆","group":"people","keywords":["gesture","hand","OK","person gesturing OK"]},{"id":":man_gesturing_ok:","symbol":"🙆‍♂️","group":"people","keywords":["gesture","hand","man","man gesturing OK","OK"]},{"id":":woman_gesturing_ok:","symbol":"🙆‍♀️","group":"people","keywords":["gesture","hand","OK","woman","woman gesturing OK"]},{"id":":person_tipping_hand:","symbol":"💁","group":"people","keywords":["hand","help","information","person tipping hand","sassy","tipping"]},{"id":":man_tipping_hand:","symbol":"💁‍♂️","group":"people","keywords":["man","man tipping hand","sassy","tipping hand"]},{"id":":woman_tipping_hand:","symbol":"💁‍♀️","group":"people","keywords":["sassy","tipping hand","woman","woman tipping hand"]},{"id":":person_raising_hand:","symbol":"🙋","group":"people","keywords":["gesture","hand","happy","person raising hand","raised"]},{"id":":man_raising_hand:","symbol":"🙋‍♂️","group":"people","keywords":["gesture","man","man raising hand","raising hand"]},{"id":":woman_raising_hand:","symbol":"🙋‍♀️","group":"people","keywords":["gesture","raising hand","woman","woman raising hand"]},{"id":":person_bowing:","symbol":"🙇","group":"people","keywords":["apology","bow","gesture","person bowing","sorry"]},{"id":":man_bowing:","symbol":"🙇‍♂️","group":"people","keywords":["apology","bowing","favor","gesture","man","sorry"]},{"id":":woman_bowing:","symbol":"🙇‍♀️","group":"people","keywords":["apology","bowing","favor","gesture","sorry","woman"]},{"id":":person_facepalming:","symbol":"🤦","group":"people","keywords":["disbelief","exasperation","face","palm","person facepalming"]},{"id":":man_facepalming:","symbol":"🤦‍♂️","group":"people","keywords":["disbelief","exasperation","facepalm","man","man facepalming"]},{"id":":woman_facepalming:","symbol":"🤦‍♀️","group":"people","keywords":["disbelief","exasperation","facepalm","woman","woman facepalming"]},{"id":":person_shrugging:","symbol":"🤷","group":"people","keywords":["doubt","ignorance","indifference","person shrugging","shrug"]},{"id":":man_shrugging:","symbol":"🤷‍♂️","group":"people","keywords":["doubt","ignorance","indifference","man","man shrugging","shrug"]},{"id":":woman_shrugging:","symbol":"🤷‍♀️","group":"people","keywords":["doubt","ignorance","indifference","shrug","woman","woman shrugging"]},{"id":":person_getting_massage:","symbol":"💆","group":"people","keywords":["face","massage","person getting massage","salon"]},{"id":":man_getting_massage:","symbol":"💆‍♂️","group":"people","keywords":["face","man","man getting massage","massage"]},{"id":":woman_getting_massage:","symbol":"💆‍♀️","group":"people","keywords":["face","massage","woman","woman getting massage"]},{"id":":person_getting_haircut:","symbol":"💇","group":"people","keywords":["barber","beauty","haircut","parlor","person getting haircut"]},{"id":":man_getting_haircut:","symbol":"💇‍♂️","group":"people","keywords":["haircut","man","man getting haircut"]},{"id":":woman_getting_haircut:","symbol":"💇‍♀️","group":"people","keywords":["haircut","woman","woman getting haircut"]},{"id":":person_walking:","symbol":"🚶","group":"people","keywords":["hike","person walking","walk","walking"]},{"id":":man_walking:","symbol":"🚶‍♂️","group":"people","keywords":["hike","man","man walking","walk"]},{"id":":woman_walking:","symbol":"🚶‍♀️","group":"people","keywords":["hike","walk","woman","woman walking"]},{"id":":person_running:","symbol":"🏃","group":"people","keywords":["marathon","person running","running"]},{"id":":man_running:","symbol":"🏃‍♂️","group":"people","keywords":["man","marathon","racing","running"]},{"id":":woman_running:","symbol":"🏃‍♀️","group":"people","keywords":["marathon","racing","running","woman"]},{"id":":woman_dancing:","symbol":"💃","group":"people","keywords":["dancing","woman"]},{"id":":man_dancing:","symbol":"🕺","group":"people","keywords":["dance","man","man dancing"]},{"id":":people_with_bunny_ears:","symbol":"👯","group":"people","keywords":["bunny ear","dancer","partying","people with bunny ears"]},{"id":":men_with_bunny_ears:","symbol":"👯‍♂️","group":"people","keywords":["bunny ear","dancer","men","men with bunny ears","partying"]},{"id":":women_with_bunny_ears:","symbol":"👯‍♀️","group":"people","keywords":["bunny ear","dancer","partying","women","women with bunny ears"]},{"id":":person_in_steamy_room:","symbol":"🧖","group":"people","keywords":["person in steamy room","sauna","steam room",""]},{"id":":man_in_steamy_room:","symbol":"🧖‍♂️","group":"people","keywords":["man in steamy room","sauna","steam room"]},{"id":":woman_in_steamy_room:","symbol":"🧖‍♀️","group":"people","keywords":["sauna","steam room","woman in steamy room"]},{"id":":person_climbing:","symbol":"🧗","group":"people","keywords":["climber","person climbing"]},{"id":":man_climbing:","symbol":"🧗‍♂️","group":"people","keywords":["climber","man climbing"]},{"id":":woman_climbing:","symbol":"🧗‍♀️","group":"people","keywords":["climber","woman climbing"]},{"id":":person_in_lotus_position:","symbol":"🧘","group":"people","keywords":["meditation","person in lotus position","yoga",""]},{"id":":man_in_lotus_position:","symbol":"🧘‍♂️","group":"people","keywords":["man in lotus position","meditation","yoga"]},{"id":":woman_in_lotus_position:","symbol":"🧘‍♀️","group":"people","keywords":["meditation","woman in lotus position","yoga"]},{"id":":person_taking_bath:","symbol":"🛀","group":"people","keywords":["bath","bathtub","person taking bath"]},{"id":":person_in_bed:","symbol":"🛌","group":"people","keywords":["hotel","person in bed","sleep"]},{"id":":man_in_suit_levitating:","symbol":"🕴","group":"people","keywords":["business","man","man in suit levitating","suit"]},{"id":":speaking_head:","symbol":"🗣","group":"people","keywords":["face","head","silhouette","speak","speaking"]},{"id":":bust_in_silhouette:","symbol":"👤","group":"people","keywords":["bust","bust in silhouette","silhouette"]},{"id":":busts_in_silhouette:","symbol":"👥","group":"people","keywords":["bust","busts in silhouette","silhouette"]},{"id":":person_fencing:","symbol":"🤺","group":"people","keywords":["fencer","fencing","person fencing","sword"]},{"id":":horse_racing:","symbol":"🏇","group":"people","keywords":["horse","jockey","racehorse","racing"]},{"id":":skier:","symbol":"⛷","group":"people","keywords":["ski","skier","snow"]},{"id":":snowboarder:","symbol":"🏂","group":"people","keywords":["ski","snow","snowboard","snowboarder"]},{"id":":person_golfing:","symbol":"🏌","group":"people","keywords":["ball","golf","person golfing"]},{"id":":man_golfing:","symbol":"🏌️‍♂️","group":"people","keywords":["golf","man","man golfing"]},{"id":":woman_golfing:","symbol":"🏌️‍♀️","group":"people","keywords":["golf","woman","woman golfing"]},{"id":":person_surfing:","symbol":"🏄","group":"people","keywords":["person surfing","surfing"]},{"id":":man_surfing:","symbol":"🏄‍♂️","group":"people","keywords":["man","surfing"]},{"id":":woman_surfing:","symbol":"🏄‍♀️","group":"people","keywords":["surfing","woman"]},{"id":":person_rowing_boat:","symbol":"🚣","group":"people","keywords":["boat","person rowing boat","rowboat"]},{"id":":man_rowing_boat:","symbol":"🚣‍♂️","group":"people","keywords":["boat","man","man rowing boat","rowboat"]},{"id":":woman_rowing_boat:","symbol":"🚣‍♀️","group":"people","keywords":["boat","rowboat","woman","woman rowing boat"]},{"id":":person_swimming:","symbol":"🏊","group":"people","keywords":["person swimming","swim"]},{"id":":man_swimming:","symbol":"🏊‍♂️","group":"people","keywords":["man","man swimming","swim"]},{"id":":woman_swimming:","symbol":"🏊‍♀️","group":"people","keywords":["swim","woman","woman swimming"]},{"id":":person_bouncing_ball:","symbol":"⛹","group":"people","keywords":["ball","person bouncing ball"]},{"id":":man_bouncing_ball:","symbol":"⛹️‍♂️","group":"people","keywords":["ball","man","man bouncing ball"]},{"id":":woman_bouncing_ball:","symbol":"⛹️‍♀️","group":"people","keywords":["ball","woman","woman bouncing ball"]},{"id":":person_lifting_weights:","symbol":"🏋","group":"people","keywords":["lifter","person lifting weights","weight"]},{"id":":man_lifting_weights:","symbol":"🏋️‍♂️","group":"people","keywords":["man","man lifting weights","weight lifter"]},{"id":":woman_lifting_weights:","symbol":"🏋️‍♀️","group":"people","keywords":["weight lifter","woman","woman lifting weights"]},{"id":":person_biking:","symbol":"🚴","group":"people","keywords":["bicycle","biking","cyclist","person biking"]},{"id":":man_biking:","symbol":"🚴‍♂️","group":"people","keywords":["bicycle","biking","cyclist","man"]},{"id":":woman_biking:","symbol":"🚴‍♀️","group":"people","keywords":["bicycle","biking","cyclist","woman"]},{"id":":person_mountain_biking:","symbol":"🚵","group":"people","keywords":["bicycle","bicyclist","bike","cyclist","mountain","person mountain biking"]},{"id":":man_mountain_biking:","symbol":"🚵‍♂️","group":"people","keywords":["bicycle","bike","cyclist","man","man mountain biking","mountain"]},{"id":":woman_mountain_biking:","symbol":"🚵‍♀️","group":"people","keywords":["bicycle","bike","biking","cyclist","mountain","woman"]},{"id":":racing_car:","symbol":"🏎","group":"people","keywords":["car","racing"]},{"id":":motorcycle:","symbol":"🏍","group":"people","keywords":["motorcycle","racing"]},{"id":":person_cartwheeling:","symbol":"🤸","group":"people","keywords":["cartwheel","gymnastics","person cartwheeling"]},{"id":":man_cartwheeling:","symbol":"🤸‍♂️","group":"people","keywords":["cartwheel","gymnastics","man","man cartwheeling"]},{"id":":woman_cartwheeling:","symbol":"🤸‍♀️","group":"people","keywords":["cartwheel","gymnastics","woman","woman cartwheeling"]},{"id":":people_wrestling:","symbol":"🤼","group":"people","keywords":["people wrestling","wrestle","wrestler"]},{"id":":men_wrestling:","symbol":"🤼‍♂️","group":"people","keywords":["men","men wrestling","wrestle"]},{"id":":women_wrestling:","symbol":"🤼‍♀️","group":"people","keywords":["women","women wrestling","wrestle"]},{"id":":person_playing_water_polo:","symbol":"🤽","group":"people","keywords":["person playing water polo","polo","water"]},{"id":":man_playing_water_polo:","symbol":"🤽‍♂️","group":"people","keywords":["man","man playing water polo","water polo"]},{"id":":woman_playing_water_polo:","symbol":"🤽‍♀️","group":"people","keywords":["water polo","woman","woman playing water polo"]},{"id":":person_playing_handball:","symbol":"🤾","group":"people","keywords":["ball","handball","person playing handball"]},{"id":":man_playing_handball:","symbol":"🤾‍♂️","group":"people","keywords":["handball","man","man playing handball"]},{"id":":woman_playing_handball:","symbol":"🤾‍♀️","group":"people","keywords":["handball","woman","woman playing handball"]},{"id":":person_juggling:","symbol":"🤹","group":"people","keywords":["balance","juggle","multitask","person juggling","skill"]},{"id":":man_juggling:","symbol":"🤹‍♂️","group":"people","keywords":["juggling","man","multitask"]},{"id":":woman_juggling:","symbol":"🤹‍♀️","group":"people","keywords":["juggling","multitask","woman"]},{"id":":man_and_woman_holding_hands:","symbol":"👫","group":"people","keywords":["couple","hand","hold","man","man and woman holding hands","woman"]},{"id":":two_men_holding_hands:","symbol":"👬","group":"people","keywords":["couple","Gemini","man","twins","two men holding hands","zodiac"]},{"id":":two_women_holding_hands:","symbol":"👭","group":"people","keywords":["couple","hand","two women holding hands","woman"]},{"id":":kiss:","symbol":"💏","group":"people","keywords":["couple","kiss"]},{"id":":kiss_woman_man:","symbol":"👩‍❤️‍💋‍👨","group":"people","keywords":["couple","kiss","man","woman"]},{"id":":kiss_man_man:","symbol":"👨‍❤️‍💋‍👨","group":"people","keywords":["couple","kiss","man"]},{"id":":kiss_woman_woman:","symbol":"👩‍❤️‍💋‍👩","group":"people","keywords":["couple","kiss","woman"]},{"id":":couple_with_heart:","symbol":"💑","group":"people","keywords":["couple","couple with heart","love"]},{"id":":couple_with_heart_woman_man:","symbol":"👩‍❤️‍👨","group":"people","keywords":["couple","couple with heart","love","man","woman"]},{"id":":couple_with_heart_man_man:","symbol":"👨‍❤️‍👨","group":"people","keywords":["couple","couple with heart","love","man"]},{"id":":couple_with_heart_woman_woman:","symbol":"👩‍❤️‍👩","group":"people","keywords":["couple","couple with heart","love","woman"]},{"id":":family:","symbol":"👪","group":"people","keywords":["family"]},{"id":":family_man_woman_boy:","symbol":"👨‍👩‍👦","group":"people","keywords":["boy","family","man","woman"]},{"id":":family_man_woman_girl:","symbol":"👨‍👩‍👧","group":"people","keywords":["family","girl","man","woman"]},{"id":":family_man_woman_girl_boy:","symbol":"👨‍👩‍👧‍👦","group":"people","keywords":["boy","family","girl","man","woman"]},{"id":":family_man_woman_boy_boy:","symbol":"👨‍👩‍👦‍👦","group":"people","keywords":["boy","family","man","woman"]},{"id":":family_man_woman_girl_girl:","symbol":"👨‍👩‍👧‍👧","group":"people","keywords":["family","girl","man","woman"]},{"id":":family_man_man_boy:","symbol":"👨‍👨‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_man_girl:","symbol":"👨‍👨‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_man_man_girl_boy:","symbol":"👨‍👨‍👧‍👦","group":"people","keywords":["boy","family","girl","man"]},{"id":":family_man_man_boy_boy:","symbol":"👨‍👨‍👦‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_man_girl_girl:","symbol":"👨‍👨‍👧‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_woman_woman_boy:","symbol":"👩‍👩‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_woman_girl:","symbol":"👩‍👩‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":family_woman_woman_girl_boy:","symbol":"👩‍👩‍👧‍👦","group":"people","keywords":["boy","family","girl","woman"]},{"id":":family_woman_woman_boy_boy:","symbol":"👩‍👩‍👦‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_woman_girl_girl:","symbol":"👩‍👩‍👧‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":family_man_boy:","symbol":"👨‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_boy_boy:","symbol":"👨‍👦‍👦","group":"people","keywords":["boy","family","man"]},{"id":":family_man_girl:","symbol":"👨‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_man_girl_boy:","symbol":"👨‍👧‍👦","group":"people","keywords":["boy","family","girl","man"]},{"id":":family_man_girl_girl:","symbol":"👨‍👧‍👧","group":"people","keywords":["family","girl","man"]},{"id":":family_woman_boy:","symbol":"👩‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_boy_boy:","symbol":"👩‍👦‍👦","group":"people","keywords":["boy","family","woman"]},{"id":":family_woman_girl:","symbol":"👩‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":family_woman_girl_boy:","symbol":"👩‍👧‍👦","group":"people","keywords":["boy","family","girl","woman"]},{"id":":family_woman_girl_girl:","symbol":"👩‍👧‍👧","group":"people","keywords":["family","girl","woman"]},{"id":":selfie:","symbol":"🤳","group":"people","keywords":["camera","phone","selfie"]},{"id":":flexed_biceps:","symbol":"💪","group":"people","keywords":["biceps","comic","flex","flexed biceps","muscle"]},{"id":":backhand_index_pointing_left:","symbol":"👈","group":"people","keywords":["backhand","backhand index pointing left","finger","hand","index","point"]},{"id":":backhand_index_pointing_right:","symbol":"👉","group":"people","keywords":["backhand","backhand index pointing right","finger","hand","index","point"]},{"id":":index_pointing_up:","symbol":"☝","group":"people","keywords":["finger","hand","index","index pointing up","point","up"]},{"id":":backhand_index_pointing_up:","symbol":"👆","group":"people","keywords":["backhand","backhand index pointing up","finger","hand","point","up"]},{"id":":middle_finger:","symbol":"🖕","group":"people","keywords":["finger","hand","middle finger"]},{"id":":backhand_index_pointing_down:","symbol":"👇","group":"people","keywords":["backhand","backhand index pointing down","down","finger","hand","point"]},{"id":":victory_hand:","symbol":"✌","group":"people","keywords":["hand","v","victory"]},{"id":":crossed_fingers:","symbol":"🤞","group":"people","keywords":["cross","crossed fingers","finger","hand","luck"]},{"id":":vulcan_salute:","symbol":"🖖","group":"people","keywords":["finger","hand","spock","vulcan","vulcan salute"]},{"id":":sign_of_the_horns:","symbol":"🤘","group":"people","keywords":["finger","hand","horns","rock-on","sign of the horns"]},{"id":":call_me_hand:","symbol":"🤙","group":"people","keywords":["call","call me hand","hand"]},{"id":":hand_with_fingers_splayed:","symbol":"🖐","group":"people","keywords":["finger","hand","hand with fingers splayed","splayed"]},{"id":":raised_hand:","symbol":"✋","group":"people","keywords":["hand","raised hand"]},{"id":":ok_hand:","symbol":"👌","group":"people","keywords":["hand","OK"]},{"id":":thumbs_up:","symbol":"👍","group":"people","keywords":["+1","hand","thumb","thumbs up","up"]},{"id":":thumbs_down:","symbol":"👎","group":"people","keywords":["-1","down","hand","thumb","thumbs down"]},{"id":":raised_fist:","symbol":"✊","group":"people","keywords":["clenched","fist","hand","punch","raised fist"]},{"id":":oncoming_fist:","symbol":"👊","group":"people","keywords":["clenched","fist","hand","oncoming fist","punch"]},{"id":":left-facing_fist:","symbol":"🤛","group":"people","keywords":["fist","left-facing fist","leftwards"]},{"id":":right-facing_fist:","symbol":"🤜","group":"people","keywords":["fist","right-facing fist","rightwards"]},{"id":":raised_back_of_hand:","symbol":"🤚","group":"people","keywords":["backhand","raised","raised back of hand"]},{"id":":waving_hand:","symbol":"👋","group":"people","keywords":["hand","wave","waving"]},{"id":":love-you_gesture:","symbol":"🤟","group":"people","keywords":["hand","ILY","love-you gesture"]},{"id":":writing_hand:","symbol":"✍","group":"people","keywords":["hand","write","writing hand"]},{"id":":clapping_hands:","symbol":"👏","group":"people","keywords":["clap","clapping hands","hand"]},{"id":":open_hands:","symbol":"👐","group":"people","keywords":["hand","open","open hands"]},{"id":":raising_hands:","symbol":"🙌","group":"people","keywords":["celebration","gesture","hand","hooray","raised","raising hands"]},{"id":":palms_up_together:","symbol":"🤲","group":"people","keywords":["palms up together","prayer",""]},{"id":":folded_hands:","symbol":"🙏","group":"people","keywords":["ask","folded hands","hand","please","pray","thanks"]},{"id":":handshake:","symbol":"🤝","group":"people","keywords":["agreement","hand","handshake","meeting","shake"]},{"id":":nail_polish:","symbol":"💅","group":"people","keywords":["care","cosmetics","manicure","nail","polish"]},{"id":":ear:","symbol":"👂","group":"people","keywords":["body","ear"]},{"id":":nose:","symbol":"👃","group":"people","keywords":["body","nose"]},{"id":":footprints:","symbol":"👣","group":"people","keywords":["clothing","footprint","footprints","print"]},{"id":":eyes:","symbol":"👀","group":"people","keywords":["eye","eyes","face"]},{"id":":eye:","symbol":"👁","group":"people","keywords":["body","eye"]},{"id":":eye_in_speech_bubble:","symbol":"👁️‍🗨️","group":"people","keywords":["eye","eye in speech bubble","speech bubble","witness"]},{"id":":brain:","symbol":"🧠","group":"people","keywords":["brain","intelligent"]},{"id":":tongue:","symbol":"👅","group":"people","keywords":["body","tongue"]},{"id":":mouth:","symbol":"👄","group":"people","keywords":["lips","mouth"]},{"id":":kiss_mark:","symbol":"💋","group":"people","keywords":["kiss","kiss mark","lips"]},{"id":":heart_with_arrow:","symbol":"💘","group":"people","keywords":["arrow","cupid","heart with arrow"]},{"id":":heart_with_ribbon:","symbol":"💝","group":"people","keywords":["heart with ribbon","ribbon","valentine"]},{"id":":sparkling_heart:","symbol":"💖","group":"people","keywords":["excited","sparkle","sparkling heart"]},{"id":":growing_heart:","symbol":"💗","group":"people","keywords":["excited","growing","growing heart","nervous","pulse"]},{"id":":beating_heart:","symbol":"💓","group":"people","keywords":["beating","beating heart","heartbeat","pulsating"]},{"id":":revolving_hearts:","symbol":"💞","group":"people","keywords":["revolving","revolving hearts"]},{"id":":two_hearts:","symbol":"💕","group":"people","keywords":["love","two hearts"]},{"id":":love_letter:","symbol":"💌","group":"people","keywords":["heart","letter","love","mail"]},{"id":":heavy_heart_exclamation:","symbol":"❣","group":"people","keywords":["exclamation","heavy heart exclamation","mark","punctuation"]},{"id":":broken_heart:","symbol":"💔","group":"people","keywords":["break","broken","broken heart"]},{"id":":red_heart:","symbol":"❤","group":"people","keywords":["heart","red heart"]},{"id":":orange_heart:","symbol":"🧡","group":"people","keywords":["orange","orange heart"]},{"id":":yellow_heart:","symbol":"💛","group":"people","keywords":["yellow","yellow heart"]},{"id":":green_heart:","symbol":"💚","group":"people","keywords":["green","green heart"]},{"id":":blue_heart:","symbol":"💙","group":"people","keywords":["blue","blue heart"]},{"id":":purple_heart:","symbol":"💜","group":"people","keywords":["purple","purple heart"]},{"id":":black_heart:","symbol":"🖤","group":"people","keywords":["black","black heart","evil","wicked"]},{"id":":heart_decoration:","symbol":"💟","group":"people","keywords":["heart","heart decoration"]},{"id":":zzz:","symbol":"💤","group":"people","keywords":["comic","sleep","zzz"]},{"id":":anger_symbol:","symbol":"💢","group":"people","keywords":["anger symbol","angry","comic","mad"]},{"id":":bomb:","symbol":"💣","group":"people","keywords":["bomb","comic"]},{"id":":collision:","symbol":"💥","group":"people","keywords":["boom","collision","comic"]},{"id":":sweat_droplets:","symbol":"💦","group":"people","keywords":["comic","splashing","sweat","sweat droplets"]},{"id":":dashing_away:","symbol":"💨","group":"people","keywords":["comic","dash","dashing away","running"]},{"id":":dizzy:","symbol":"💫","group":"people","keywords":["comic","dizzy","star"]},{"id":":speech_balloon:","symbol":"💬","group":"people","keywords":["balloon","bubble","comic","dialog","speech"]},{"id":":left_speech_bubble:","symbol":"🗨","group":"people","keywords":["dialog","left speech bubble","speech"]},{"id":":right_anger_bubble:","symbol":"🗯","group":"people","keywords":["angry","balloon","bubble","mad","right anger bubble"]},{"id":":thought_balloon:","symbol":"💭","group":"people","keywords":["balloon","bubble","comic","thought"]},{"id":":hole:","symbol":"🕳","group":"people","keywords":["hole"]},{"id":":glasses:","symbol":"👓","group":"people","keywords":["clothing","eye","eyeglasses","eyewear","glasses"]},{"id":":sunglasses:","symbol":"🕶","group":"people","keywords":["dark","eye","eyewear","glasses","sunglasses"]},{"id":":necktie:","symbol":"👔","group":"people","keywords":["clothing","necktie","tie"]},{"id":":t-shirt:","symbol":"👕","group":"people","keywords":["clothing","shirt","t-shirt","tshirt"]},{"id":":jeans:","symbol":"👖","group":"people","keywords":["clothing","jeans","pants","trousers"]},{"id":":scarf:","symbol":"🧣","group":"people","keywords":["neck","scarf"]},{"id":":gloves:","symbol":"🧤","group":"people","keywords":["gloves","hand"]},{"id":":coat:","symbol":"🧥","group":"people","keywords":["coat","jacket"]},{"id":":socks:","symbol":"🧦","group":"people","keywords":["socks","stocking"]},{"id":":dress:","symbol":"👗","group":"people","keywords":["clothing","dress"]},{"id":":kimono:","symbol":"👘","group":"people","keywords":["clothing","kimono"]},{"id":":bikini:","symbol":"👙","group":"people","keywords":["bikini","clothing","swim"]},{"id":":woman’s_clothes:","symbol":"👚","group":"people","keywords":["clothing","woman","woman’s clothes"]},{"id":":purse:","symbol":"👛","group":"people","keywords":["clothing","coin","purse"]},{"id":":handbag:","symbol":"👜","group":"people","keywords":["bag","clothing","handbag","purse"]},{"id":":clutch_bag:","symbol":"👝","group":"people","keywords":["bag","clothing","clutch bag","pouch"]},{"id":":shopping_bags:","symbol":"🛍","group":"people","keywords":["bag","hotel","shopping","shopping bags"]},{"id":":backpack:","symbol":"🎒","group":"people","keywords":["backpack","bag","rucksack","satchel","school"]},{"id":":man’s_shoe:","symbol":"👞","group":"people","keywords":["clothing","man","man’s shoe","shoe"]},{"id":":running_shoe:","symbol":"👟","group":"people","keywords":["athletic","clothing","running shoe","shoe","sneaker"]},{"id":":high-heeled_shoe:","symbol":"👠","group":"people","keywords":["clothing","heel","high-heeled shoe","shoe","woman"]},{"id":":woman’s_sandal:","symbol":"👡","group":"people","keywords":["clothing","sandal","shoe","woman","woman’s sandal"]},{"id":":woman’s_boot:","symbol":"👢","group":"people","keywords":["boot","clothing","shoe","woman","woman’s boot"]},{"id":":crown:","symbol":"👑","group":"people","keywords":["clothing","crown","king","queen"]},{"id":":woman’s_hat:","symbol":"👒","group":"people","keywords":["clothing","hat","woman","woman’s hat"]},{"id":":top_hat:","symbol":"🎩","group":"people","keywords":["clothing","hat","top","tophat"]},{"id":":graduation_cap:","symbol":"🎓","group":"people","keywords":["cap","celebration","clothing","graduation","hat"]},{"id":":billed_cap:","symbol":"🧢","group":"people","keywords":["baseball cap","billed cap"]},{"id":":rescue_worker’s_helmet:","symbol":"⛑","group":"people","keywords":["aid","cross","face","hat","helmet","rescue worker’s helmet"]},{"id":":prayer_beads:","symbol":"📿","group":"people","keywords":["beads","clothing","necklace","prayer","religion"]},{"id":":lipstick:","symbol":"💄","group":"people","keywords":["cosmetics","lipstick","makeup"]},{"id":":ring:","symbol":"💍","group":"people","keywords":["diamond","ring"]},{"id":":gem_stone:","symbol":"💎","group":"people","keywords":["diamond","gem","gem stone","jewel"]},{"id":":monkey_face:","symbol":"🐵","group":"nature","keywords":["face","monkey"]},{"id":":monkey:","symbol":"🐒","group":"nature","keywords":["monkey"]},{"id":":gorilla:","symbol":"🦍","group":"nature","keywords":["gorilla"]},{"id":":dog_face:","symbol":"🐶","group":"nature","keywords":["dog","face","pet"]},{"id":":dog:","symbol":"🐕","group":"nature","keywords":["dog","pet"]},{"id":":poodle:","symbol":"🐩","group":"nature","keywords":["dog","poodle"]},{"id":":wolf_face:","symbol":"🐺","group":"nature","keywords":["face","wolf"]},{"id":":fox_face:","symbol":"🦊","group":"nature","keywords":["face","fox"]},{"id":":cat_face:","symbol":"🐱","group":"nature","keywords":["cat","face","pet"]},{"id":":cat:","symbol":"🐈","group":"nature","keywords":["cat","pet"]},{"id":":lion_face:","symbol":"🦁","group":"nature","keywords":["face","Leo","lion","zodiac"]},{"id":":tiger_face:","symbol":"🐯","group":"nature","keywords":["face","tiger"]},{"id":":tiger:","symbol":"🐅","group":"nature","keywords":["tiger"]},{"id":":leopard:","symbol":"🐆","group":"nature","keywords":["leopard"]},{"id":":horse_face:","symbol":"🐴","group":"nature","keywords":["face","horse"]},{"id":":horse:","symbol":"🐎","group":"nature","keywords":["equestrian","horse","racehorse","racing"]},{"id":":unicorn_face:","symbol":"🦄","group":"nature","keywords":["face","unicorn"]},{"id":":zebra:","symbol":"🦓","group":"nature","keywords":["stripe","zebra"]},{"id":":deer:","symbol":"🦌","group":"nature","keywords":["deer"]},{"id":":cow_face:","symbol":"🐮","group":"nature","keywords":["cow","face"]},{"id":":ox:","symbol":"🐂","group":"nature","keywords":["bull","ox","Taurus","zodiac"]},{"id":":water_buffalo:","symbol":"🐃","group":"nature","keywords":["buffalo","water"]},{"id":":cow:","symbol":"🐄","group":"nature","keywords":["cow"]},{"id":":pig_face:","symbol":"🐷","group":"nature","keywords":["face","pig"]},{"id":":pig:","symbol":"🐖","group":"nature","keywords":["pig","sow"]},{"id":":boar:","symbol":"🐗","group":"nature","keywords":["boar","pig"]},{"id":":pig_nose:","symbol":"🐽","group":"nature","keywords":["face","nose","pig"]},{"id":":ram:","symbol":"🐏","group":"nature","keywords":["Aries","male","ram","sheep","zodiac"]},{"id":":ewe:","symbol":"🐑","group":"nature","keywords":["ewe","female","sheep"]},{"id":":goat:","symbol":"🐐","group":"nature","keywords":["Capricorn","goat","zodiac"]},{"id":":camel:","symbol":"🐪","group":"nature","keywords":["camel","dromedary","hump"]},{"id":":two-hump_camel:","symbol":"🐫","group":"nature","keywords":["bactrian","camel","hump","two-hump camel"]},{"id":":giraffe:","symbol":"🦒","group":"nature","keywords":["giraffe","spots"]},{"id":":elephant:","symbol":"🐘","group":"nature","keywords":["elephant"]},{"id":":rhinoceros:","symbol":"🦏","group":"nature","keywords":["rhinoceros"]},{"id":":mouse_face:","symbol":"🐭","group":"nature","keywords":["face","mouse"]},{"id":":mouse:","symbol":"🐁","group":"nature","keywords":["mouse"]},{"id":":rat:","symbol":"🐀","group":"nature","keywords":["rat"]},{"id":":hamster_face:","symbol":"🐹","group":"nature","keywords":["face","hamster","pet"]},{"id":":rabbit_face:","symbol":"🐰","group":"nature","keywords":["bunny","face","pet","rabbit"]},{"id":":rabbit:","symbol":"🐇","group":"nature","keywords":["bunny","pet","rabbit"]},{"id":":chipmunk:","symbol":"🐿","group":"nature","keywords":["chipmunk","squirrel"]},{"id":":hedgehog:","symbol":"🦔","group":"nature","keywords":["hedgehog","spiny"]},{"id":":bat:","symbol":"🦇","group":"nature","keywords":["bat","vampire"]},{"id":":bear_face:","symbol":"🐻","group":"nature","keywords":["bear","face"]},{"id":":koala:","symbol":"🐨","group":"nature","keywords":["bear","koala"]},{"id":":panda_face:","symbol":"🐼","group":"nature","keywords":["face","panda"]},{"id":":paw_prints:","symbol":"🐾","group":"nature","keywords":["feet","paw","paw prints","print"]},{"id":":turkey:","symbol":"🦃","group":"nature","keywords":["bird","turkey"]},{"id":":chicken:","symbol":"🐔","group":"nature","keywords":["bird","chicken"]},{"id":":rooster:","symbol":"🐓","group":"nature","keywords":["bird","rooster"]},{"id":":hatching_chick:","symbol":"🐣","group":"nature","keywords":["baby","bird","chick","hatching"]},{"id":":baby_chick:","symbol":"🐤","group":"nature","keywords":["baby","bird","chick"]},{"id":":front-facing_baby_chick:","symbol":"🐥","group":"nature","keywords":["baby","bird","chick","front-facing baby chick"]},{"id":":bird:","symbol":"🐦","group":"nature","keywords":["bird"]},{"id":":penguin:","symbol":"🐧","group":"nature","keywords":["bird","penguin"]},{"id":":dove:","symbol":"🕊","group":"nature","keywords":["bird","dove","fly","peace"]},{"id":":eagle:","symbol":"🦅","group":"nature","keywords":["bird","eagle"]},{"id":":duck:","symbol":"🦆","group":"nature","keywords":["bird","duck"]},{"id":":owl:","symbol":"🦉","group":"nature","keywords":["bird","owl","wise"]},{"id":":frog_face:","symbol":"🐸","group":"nature","keywords":["face","frog"]},{"id":":crocodile:","symbol":"🐊","group":"nature","keywords":["crocodile"]},{"id":":turtle:","symbol":"🐢","group":"nature","keywords":["terrapin","tortoise","turtle"]},{"id":":lizard:","symbol":"🦎","group":"nature","keywords":["lizard","reptile"]},{"id":":snake:","symbol":"🐍","group":"nature","keywords":["bearer","Ophiuchus","serpent","snake","zodiac"]},{"id":":dragon_face:","symbol":"🐲","group":"nature","keywords":["dragon","face","fairy tale"]},{"id":":dragon:","symbol":"🐉","group":"nature","keywords":["dragon","fairy tale"]},{"id":":sauropod:","symbol":"🦕","group":"nature","keywords":["brachiosaurus","brontosaurus","diplodocus","sauropod"]},{"id":":t-rex:","symbol":"🦖","group":"nature","keywords":["T-Rex","Tyrannosaurus Rex"]},{"id":":spouting_whale:","symbol":"🐳","group":"nature","keywords":["face","spouting","whale"]},{"id":":whale:","symbol":"🐋","group":"nature","keywords":["whale"]},{"id":":dolphin:","symbol":"🐬","group":"nature","keywords":["dolphin","flipper"]},{"id":":fish:","symbol":"🐟","group":"nature","keywords":["fish","Pisces","zodiac"]},{"id":":tropical_fish:","symbol":"🐠","group":"nature","keywords":["fish","tropical"]},{"id":":blowfish:","symbol":"🐡","group":"nature","keywords":["blowfish","fish"]},{"id":":shark:","symbol":"🦈","group":"nature","keywords":["fish","shark"]},{"id":":octopus:","symbol":"🐙","group":"nature","keywords":["octopus"]},{"id":":spiral_shell:","symbol":"🐚","group":"nature","keywords":["shell","spiral"]},{"id":":crab:","symbol":"🦀","group":"nature","keywords":["Cancer","crab","zodiac"]},{"id":":shrimp:","symbol":"🦐","group":"nature","keywords":["food","shellfish","shrimp","small"]},{"id":":squid:","symbol":"🦑","group":"nature","keywords":["food","molusc","squid"]},{"id":":snail:","symbol":"🐌","group":"nature","keywords":["snail"]},{"id":":butterfly:","symbol":"🦋","group":"nature","keywords":["butterfly","insect","pretty"]},{"id":":bug:","symbol":"🐛","group":"nature","keywords":["bug","insect"]},{"id":":ant:","symbol":"🐜","group":"nature","keywords":["ant","insect"]},{"id":":honeybee:","symbol":"🐝","group":"nature","keywords":["bee","honeybee","insect"]},{"id":":lady_beetle:","symbol":"🐞","group":"nature","keywords":["beetle","insect","lady beetle","ladybird","ladybug"]},{"id":":cricket:","symbol":"🦗","group":"nature","keywords":["cricket","grasshopper",""]},{"id":":spider:","symbol":"🕷","group":"nature","keywords":["insect","spider"]},{"id":":spider_web:","symbol":"🕸","group":"nature","keywords":["spider","web"]},{"id":":scorpion:","symbol":"🦂","group":"nature","keywords":["scorpio","Scorpio","scorpion","zodiac"]},{"id":":bouquet:","symbol":"💐","group":"nature","keywords":["bouquet","flower"]},{"id":":cherry_blossom:","symbol":"🌸","group":"nature","keywords":["blossom","cherry","flower"]},{"id":":white_flower:","symbol":"💮","group":"nature","keywords":["flower","white flower"]},{"id":":rosette:","symbol":"🏵","group":"nature","keywords":["plant","rosette"]},{"id":":rose:","symbol":"🌹","group":"nature","keywords":["flower","rose"]},{"id":":wilted_flower:","symbol":"🥀","group":"nature","keywords":["flower","wilted"]},{"id":":hibiscus:","symbol":"🌺","group":"nature","keywords":["flower","hibiscus"]},{"id":":sunflower:","symbol":"🌻","group":"nature","keywords":["flower","sun","sunflower"]},{"id":":blossom:","symbol":"🌼","group":"nature","keywords":["blossom","flower"]},{"id":":tulip:","symbol":"🌷","group":"nature","keywords":["flower","tulip"]},{"id":":seedling:","symbol":"🌱","group":"nature","keywords":["seedling","young"]},{"id":":evergreen_tree:","symbol":"🌲","group":"nature","keywords":["evergreen tree","tree"]},{"id":":deciduous_tree:","symbol":"🌳","group":"nature","keywords":["deciduous","shedding","tree"]},{"id":":palm_tree:","symbol":"🌴","group":"nature","keywords":["palm","tree"]},{"id":":cactus:","symbol":"🌵","group":"nature","keywords":["cactus","plant"]},{"id":":sheaf_of_rice:","symbol":"🌾","group":"nature","keywords":["ear","grain","rice","sheaf of rice"]},{"id":":herb:","symbol":"🌿","group":"nature","keywords":["herb","leaf"]},{"id":":shamrock:","symbol":"☘","group":"nature","keywords":["plant","shamrock"]},{"id":":four_leaf_clover:","symbol":"🍀","group":"nature","keywords":["4","clover","four","four-leaf clover","leaf"]},{"id":":maple_leaf:","symbol":"🍁","group":"nature","keywords":["falling","leaf","maple"]},{"id":":fallen_leaf:","symbol":"🍂","group":"nature","keywords":["fallen leaf","falling","leaf"]},{"id":":leaf_fluttering_in_wind:","symbol":"🍃","group":"nature","keywords":["blow","flutter","leaf","leaf fluttering in wind","wind"]},{"id":":grapes:","symbol":"🍇","group":"food","keywords":["fruit","grape","grapes"]},{"id":":melon:","symbol":"🍈","group":"food","keywords":["fruit","melon"]},{"id":":watermelon:","symbol":"🍉","group":"food","keywords":["fruit","watermelon"]},{"id":":tangerine:","symbol":"🍊","group":"food","keywords":["fruit","orange","tangerine"]},{"id":":lemon:","symbol":"🍋","group":"food","keywords":["citrus","fruit","lemon"]},{"id":":banana:","symbol":"🍌","group":"food","keywords":["banana","fruit"]},{"id":":pineapple:","symbol":"🍍","group":"food","keywords":["fruit","pineapple"]},{"id":":red_apple:","symbol":"🍎","group":"food","keywords":["apple","fruit","red"]},{"id":":green_apple:","symbol":"🍏","group":"food","keywords":["apple","fruit","green"]},{"id":":pear:","symbol":"🍐","group":"food","keywords":["fruit","pear"]},{"id":":peach:","symbol":"🍑","group":"food","keywords":["fruit","peach"]},{"id":":cherries:","symbol":"🍒","group":"food","keywords":["berries","cherries","cherry","fruit","red"]},{"id":":strawberry:","symbol":"🍓","group":"food","keywords":["berry","fruit","strawberry"]},{"id":":kiwi_fruit:","symbol":"🥝","group":"food","keywords":["food","fruit","kiwi"]},{"id":":tomato:","symbol":"🍅","group":"food","keywords":["fruit","tomato","vegetable"]},{"id":":coconut:","symbol":"🥥","group":"food","keywords":["coconut","palm","piña colada"]},{"id":":avocado:","symbol":"🥑","group":"food","keywords":["avocado","food","fruit"]},{"id":":eggplant:","symbol":"🍆","group":"food","keywords":["aubergine","eggplant","vegetable"]},{"id":":potato:","symbol":"🥔","group":"food","keywords":["food","potato","vegetable"]},{"id":":carrot:","symbol":"🥕","group":"food","keywords":["carrot","food","vegetable"]},{"id":":ear_of_corn:","symbol":"🌽","group":"food","keywords":["corn","ear","ear of corn","maize","maze"]},{"id":":hot_pepper:","symbol":"🌶","group":"food","keywords":["hot","pepper"]},{"id":":cucumber:","symbol":"🥒","group":"food","keywords":["cucumber","food","pickle","vegetable"]},{"id":":broccoli:","symbol":"🥦","group":"food","keywords":["broccoli","wild cabbage"]},{"id":":mushroom:","symbol":"🍄","group":"food","keywords":["mushroom","toadstool"]},{"id":":peanuts:","symbol":"🥜","group":"food","keywords":["food","nut","peanut","peanuts","vegetable"]},{"id":":chestnut:","symbol":"🌰","group":"food","keywords":["chestnut","plant"]},{"id":":bread:","symbol":"🍞","group":"food","keywords":["bread","loaf"]},{"id":":croissant:","symbol":"🥐","group":"food","keywords":["bread","crescent roll","croissant","food","french"]},{"id":":baguette_bread:","symbol":"🥖","group":"food","keywords":["baguette","bread","food","french"]},{"id":":pretzel:","symbol":"🥨","group":"food","keywords":["pretzel","twisted",""]},{"id":":pancakes:","symbol":"🥞","group":"food","keywords":["crêpe","food","hotcake","pancake","pancakes"]},{"id":":cheese_wedge:","symbol":"🧀","group":"food","keywords":["cheese","cheese wedge"]},{"id":":meat_on_bone:","symbol":"🍖","group":"food","keywords":["bone","meat","meat on bone"]},{"id":":poultry_leg:","symbol":"🍗","group":"food","keywords":["bone","chicken","drumstick","leg","poultry"]},{"id":":cut_of_meat:","symbol":"🥩","group":"food","keywords":["chop","cut of meat","lambchop","porkchop","steak"]},{"id":":bacon:","symbol":"🥓","group":"food","keywords":["bacon","food","meat"]},{"id":":hamburger:","symbol":"🍔","group":"food","keywords":["burger","hamburger"]},{"id":":french_fries:","symbol":"🍟","group":"food","keywords":["french","fries"]},{"id":":pizza:","symbol":"🍕","group":"food","keywords":["cheese","pizza","slice"]},{"id":":hot_dog:","symbol":"🌭","group":"food","keywords":["frankfurter","hot dog","hotdog","sausage"]},{"id":":sandwich:","symbol":"🥪","group":"food","keywords":["bread","sandwich"]},{"id":":taco:","symbol":"🌮","group":"food","keywords":["mexican","taco"]},{"id":":burrito:","symbol":"🌯","group":"food","keywords":["burrito","mexican","wrap"]},{"id":":stuffed_flatbread:","symbol":"🥙","group":"food","keywords":["falafel","flatbread","food","gyro","kebab","stuffed"]},{"id":":egg:","symbol":"🥚","group":"food","keywords":["egg","food"]},{"id":":cooking:","symbol":"🍳","group":"food","keywords":["cooking","egg","frying","pan"]},{"id":":shallow_pan_of_food:","symbol":"🥘","group":"food","keywords":["casserole","food","paella","pan","shallow","shallow pan of food"]},{"id":":pot_of_food:","symbol":"🍲","group":"food","keywords":["pot","pot of food","stew"]},{"id":":bowl_with_spoon:","symbol":"🥣","group":"food","keywords":["bowl with spoon","breakfast","cereal","congee",""]},{"id":":green_salad:","symbol":"🥗","group":"food","keywords":["food","green","salad"]},{"id":":popcorn:","symbol":"🍿","group":"food","keywords":["popcorn"]},{"id":":canned_food:","symbol":"🥫","group":"food","keywords":["can","canned food"]},{"id":":bento_box:","symbol":"🍱","group":"food","keywords":["bento","box"]},{"id":":rice_cracker:","symbol":"🍘","group":"food","keywords":["cracker","rice"]},{"id":":rice_ball:","symbol":"🍙","group":"food","keywords":["ball","Japanese","rice"]},{"id":":cooked_rice:","symbol":"🍚","group":"food","keywords":["cooked","rice"]},{"id":":curry_rice:","symbol":"🍛","group":"food","keywords":["curry","rice"]},{"id":":steaming_bowl:","symbol":"🍜","group":"food","keywords":["bowl","noodle","ramen","steaming"]},{"id":":spaghetti:","symbol":"🍝","group":"food","keywords":["pasta","spaghetti"]},{"id":":roasted_sweet_potato:","symbol":"🍠","group":"food","keywords":["potato","roasted","sweet"]},{"id":":oden:","symbol":"🍢","group":"food","keywords":["kebab","oden","seafood","skewer","stick"]},{"id":":sushi:","symbol":"🍣","group":"food","keywords":["sushi"]},{"id":":fried_shrimp:","symbol":"🍤","group":"food","keywords":["fried","prawn","shrimp","tempura"]},{"id":":fish_cake_with_swirl:","symbol":"🍥","group":"food","keywords":["cake","fish","fish cake with swirl","pastry","swirl"]},{"id":":dango:","symbol":"🍡","group":"food","keywords":["dango","dessert","Japanese","skewer","stick","sweet"]},{"id":":dumpling:","symbol":"🥟","group":"food","keywords":["dumpling","empanada","gyōza","jiaozi","pierogi","potsticker"]},{"id":":fortune_cookie:","symbol":"🥠","group":"food","keywords":["fortune cookie","prophecy"]},{"id":":takeout_box:","symbol":"🥡","group":"food","keywords":["oyster pail","takeout box"]},{"id":":soft_ice_cream:","symbol":"🍦","group":"food","keywords":["cream","dessert","ice","icecream","soft","sweet"]},{"id":":shaved_ice:","symbol":"🍧","group":"food","keywords":["dessert","ice","shaved","sweet"]},{"id":":ice_cream:","symbol":"🍨","group":"food","keywords":["cream","dessert","ice","sweet"]},{"id":":doughnut:","symbol":"🍩","group":"food","keywords":["dessert","donut","doughnut","sweet"]},{"id":":cookie:","symbol":"🍪","group":"food","keywords":["cookie","dessert","sweet"]},{"id":":birthday_cake:","symbol":"🎂","group":"food","keywords":["birthday","cake","celebration","dessert","pastry","sweet"]},{"id":":shortcake:","symbol":"🍰","group":"food","keywords":["cake","dessert","pastry","shortcake","slice","sweet"]},{"id":":pie:","symbol":"🥧","group":"food","keywords":["filling","pastry","pie",""]},{"id":":chocolate_bar:","symbol":"🍫","group":"food","keywords":["bar","chocolate","dessert","sweet"]},{"id":":candy:","symbol":"🍬","group":"food","keywords":["candy","dessert","sweet"]},{"id":":lollipop:","symbol":"🍭","group":"food","keywords":["candy","dessert","lollipop","sweet"]},{"id":":custard:","symbol":"🍮","group":"food","keywords":["custard","dessert","pudding","sweet"]},{"id":":honey_pot:","symbol":"🍯","group":"food","keywords":["honey","honeypot","pot","sweet"]},{"id":":baby_bottle:","symbol":"🍼","group":"food","keywords":["baby","bottle","drink","milk"]},{"id":":glass_of_milk:","symbol":"🥛","group":"food","keywords":["drink","glass","glass of milk","milk"]},{"id":":hot_beverage:","symbol":"☕","group":"food","keywords":["beverage","coffee","drink","hot","steaming","tea"]},{"id":":teacup_without_handle:","symbol":"🍵","group":"food","keywords":["beverage","cup","drink","tea","teacup","teacup without handle"]},{"id":":sake:","symbol":"🍶","group":"food","keywords":["bar","beverage","bottle","cup","drink","sake"]},{"id":":bottle_with_popping_cork:","symbol":"🍾","group":"food","keywords":["bar","bottle","bottle with popping cork","cork","drink","popping"]},{"id":":wine_glass:","symbol":"🍷","group":"food","keywords":["bar","beverage","drink","glass","wine"]},{"id":":cocktail_glass:","symbol":"🍸","group":"food","keywords":["bar","cocktail","drink","glass"]},{"id":":tropical_drink:","symbol":"🍹","group":"food","keywords":["bar","drink","tropical"]},{"id":":beer_mug:","symbol":"🍺","group":"food","keywords":["bar","beer","drink","mug"]},{"id":":clinking_beer_mugs:","symbol":"🍻","group":"food","keywords":["bar","beer","clink","clinking beer mugs","drink","mug"]},{"id":":clinking_glasses:","symbol":"🥂","group":"food","keywords":["celebrate","clink","clinking glasses","drink","glass"]},{"id":":tumbler_glass:","symbol":"🥃","group":"food","keywords":["glass","liquor","shot","tumbler","whisky"]},{"id":":cup_with_straw:","symbol":"🥤","group":"food","keywords":["cup with straw","juice","soda",""]},{"id":":chopsticks:","symbol":"🥢","group":"food","keywords":["chopsticks","hashi",""]},{"id":":fork_and_knife_with_plate:","symbol":"🍽","group":"food","keywords":["cooking","fork","fork and knife with plate","knife","plate"]},{"id":":fork_and_knife:","symbol":"🍴","group":"food","keywords":["cooking","cutlery","fork","fork and knife","knife"]},{"id":":spoon:","symbol":"🥄","group":"food","keywords":["spoon","tableware"]},{"id":":kitchen_knife:","symbol":"🔪","group":"food","keywords":["cooking","hocho","kitchen knife","knife","tool","weapon"]},{"id":":amphora:","symbol":"🏺","group":"food","keywords":["amphora","Aquarius","cooking","drink","jug","zodiac"]},{"id":":globe_showing_europe-africa:","symbol":"🌍","group":"travel","keywords":["Africa","earth","Europe","globe","globe showing Europe-Africa","world"]},{"id":":globe_showing_americas:","symbol":"🌎","group":"travel","keywords":["Americas","earth","globe","globe showing Americas","world"]},{"id":":globe_showing_asia-australia:","symbol":"🌏","group":"travel","keywords":["Asia","Australia","earth","globe","globe showing Asia-Australia","world"]},{"id":":globe_with_meridians:","symbol":"🌐","group":"travel","keywords":["earth","globe","globe with meridians","meridians","world"]},{"id":":world_map:","symbol":"🗺","group":"travel","keywords":["map","world"]},{"id":":map_of_japan:","symbol":"🗾","group":"travel","keywords":["Japan","map","map of Japan"]},{"id":":snow-capped_mountain:","symbol":"🏔","group":"travel","keywords":["cold","mountain","snow","snow-capped mountain"]},{"id":":mountain:","symbol":"⛰","group":"travel","keywords":["mountain"]},{"id":":volcano:","symbol":"🌋","group":"travel","keywords":["eruption","mountain","volcano"]},{"id":":mount_fuji:","symbol":"🗻","group":"travel","keywords":["fuji","mount fuji","mountain"]},{"id":":camping:","symbol":"🏕","group":"travel","keywords":["camping"]},{"id":":beach_with_umbrella:","symbol":"🏖","group":"travel","keywords":["beach","beach with umbrella","umbrella"]},{"id":":desert:","symbol":"🏜","group":"travel","keywords":["desert"]},{"id":":desert_island:","symbol":"🏝","group":"travel","keywords":["desert","island"]},{"id":":national_park:","symbol":"🏞","group":"travel","keywords":["national park","park"]},{"id":":stadium:","symbol":"🏟","group":"travel","keywords":["stadium"]},{"id":":classical_building:","symbol":"🏛","group":"travel","keywords":["classical","classical building"]},{"id":":building_construction:","symbol":"🏗","group":"travel","keywords":["building construction","construction"]},{"id":":houses:","symbol":"🏘","group":"travel","keywords":["houses"]},{"id":":derelict_house:","symbol":"🏚","group":"travel","keywords":["derelict","house"]},{"id":":house:","symbol":"🏠","group":"travel","keywords":["home","house"]},{"id":":house_with_garden:","symbol":"🏡","group":"travel","keywords":["garden","home","house","house with garden"]},{"id":":office_building:","symbol":"🏢","group":"travel","keywords":["building","office building"]},{"id":":japanese_post_office:","symbol":"🏣","group":"travel","keywords":["Japanese","Japanese post office","post"]},{"id":":post_office:","symbol":"🏤","group":"travel","keywords":["European","post","post office"]},{"id":":hospital:","symbol":"🏥","group":"travel","keywords":["doctor","hospital","medicine"]},{"id":":bank:","symbol":"🏦","group":"travel","keywords":["bank","building"]},{"id":":hotel:","symbol":"🏨","group":"travel","keywords":["building","hotel"]},{"id":":love_hotel:","symbol":"🏩","group":"travel","keywords":["hotel","love"]},{"id":":convenience_store:","symbol":"🏪","group":"travel","keywords":["convenience","store"]},{"id":":school:","symbol":"🏫","group":"travel","keywords":["building","school"]},{"id":":department_store:","symbol":"🏬","group":"travel","keywords":["department","store"]},{"id":":factory:","symbol":"🏭","group":"travel","keywords":["building","factory"]},{"id":":japanese_castle:","symbol":"🏯","group":"travel","keywords":["castle","Japanese"]},{"id":":castle:","symbol":"🏰","group":"travel","keywords":["castle","European"]},{"id":":wedding:","symbol":"💒","group":"travel","keywords":["chapel","romance","wedding"]},{"id":":tokyo_tower:","symbol":"🗼","group":"travel","keywords":["Tokyo","tower"]},{"id":":statue_of_liberty:","symbol":"🗽","group":"travel","keywords":["liberty","statue","Statue of Liberty"]},{"id":":church:","symbol":"⛪","group":"travel","keywords":["Christian","church","cross","religion"]},{"id":":mosque:","symbol":"🕌","group":"travel","keywords":["islam","mosque","Muslim","religion"]},{"id":":synagogue:","symbol":"🕍","group":"travel","keywords":["Jew","Jewish","religion","synagogue","temple"]},{"id":":shinto_shrine:","symbol":"⛩","group":"travel","keywords":["religion","shinto","shrine"]},{"id":":kaaba:","symbol":"🕋","group":"travel","keywords":["islam","kaaba","Muslim","religion"]},{"id":":fountain:","symbol":"⛲","group":"travel","keywords":["fountain"]},{"id":":tent:","symbol":"⛺","group":"travel","keywords":["camping","tent"]},{"id":":foggy:","symbol":"🌁","group":"travel","keywords":["fog","foggy"]},{"id":":night_with_stars:","symbol":"🌃","group":"travel","keywords":["night","night with stars","star"]},{"id":":cityscape:","symbol":"🏙","group":"travel","keywords":["city","cityscape"]},{"id":":sunrise_over_mountains:","symbol":"🌄","group":"travel","keywords":["morning","mountain","sun","sunrise","sunrise over mountains"]},{"id":":sunrise:","symbol":"🌅","group":"travel","keywords":["morning","sun","sunrise"]},{"id":":cityscape_at_dusk:","symbol":"🌆","group":"travel","keywords":["city","cityscape at dusk","dusk","evening","landscape","sunset"]},{"id":":sunset:","symbol":"🌇","group":"travel","keywords":["dusk","sun","sunset"]},{"id":":bridge_at_night:","symbol":"🌉","group":"travel","keywords":["bridge","bridge at night","night"]},{"id":":hot_springs:","symbol":"♨","group":"travel","keywords":["hot","hotsprings","springs","steaming"]},{"id":":milky_way:","symbol":"🌌","group":"travel","keywords":["milky way","space"]},{"id":":carousel_horse:","symbol":"🎠","group":"travel","keywords":["carousel","horse"]},{"id":":ferris_wheel:","symbol":"🎡","group":"travel","keywords":["amusement park","ferris","wheel"]},{"id":":roller_coaster:","symbol":"🎢","group":"travel","keywords":["amusement park","coaster","roller"]},{"id":":barber_pole:","symbol":"💈","group":"travel","keywords":["barber","haircut","pole"]},{"id":":circus_tent:","symbol":"🎪","group":"travel","keywords":["circus","tent"]},{"id":":locomotive:","symbol":"🚂","group":"travel","keywords":["engine","locomotive","railway","steam","train"]},{"id":":railway_car:","symbol":"🚃","group":"travel","keywords":["car","electric","railway","train","tram","trolleybus"]},{"id":":high-speed_train:","symbol":"🚄","group":"travel","keywords":["high-speed train","railway","shinkansen","speed","train"]},{"id":":bullet_train:","symbol":"🚅","group":"travel","keywords":["bullet","railway","shinkansen","speed","train"]},{"id":":train:","symbol":"🚆","group":"travel","keywords":["railway","train"]},{"id":":metro:","symbol":"🚇","group":"travel","keywords":["metro","subway"]},{"id":":light_rail:","symbol":"🚈","group":"travel","keywords":["light rail","railway"]},{"id":":station:","symbol":"🚉","group":"travel","keywords":["railway","station","train"]},{"id":":tram:","symbol":"🚊","group":"travel","keywords":["tram","trolleybus"]},{"id":":monorail:","symbol":"🚝","group":"travel","keywords":["monorail","vehicle"]},{"id":":mountain_railway:","symbol":"🚞","group":"travel","keywords":["car","mountain","railway"]},{"id":":tram_car:","symbol":"🚋","group":"travel","keywords":["car","tram","trolleybus"]},{"id":":bus:","symbol":"🚌","group":"travel","keywords":["bus","vehicle"]},{"id":":oncoming_bus:","symbol":"🚍","group":"travel","keywords":["bus","oncoming"]},{"id":":trolleybus:","symbol":"🚎","group":"travel","keywords":["bus","tram","trolley","trolleybus"]},{"id":":minibus:","symbol":"🚐","group":"travel","keywords":["bus","minibus"]},{"id":":ambulance:","symbol":"🚑","group":"travel","keywords":["ambulance","vehicle"]},{"id":":fire_engine:","symbol":"🚒","group":"travel","keywords":["engine","fire","truck"]},{"id":":police_car:","symbol":"🚓","group":"travel","keywords":["car","patrol","police"]},{"id":":oncoming_police_car:","symbol":"🚔","group":"travel","keywords":["car","oncoming","police"]},{"id":":taxi:","symbol":"🚕","group":"travel","keywords":["taxi","vehicle"]},{"id":":oncoming_taxi:","symbol":"🚖","group":"travel","keywords":["oncoming","taxi"]},{"id":":automobile:","symbol":"🚗","group":"travel","keywords":["automobile","car"]},{"id":":oncoming_automobile:","symbol":"🚘","group":"travel","keywords":["automobile","car","oncoming"]},{"id":":sport_utility_vehicle:","symbol":"🚙","group":"travel","keywords":["recreational","sport utility","sport utility vehicle"]},{"id":":delivery_truck:","symbol":"🚚","group":"travel","keywords":["delivery","truck"]},{"id":":articulated_lorry:","symbol":"🚛","group":"travel","keywords":["articulated lorry","lorry","semi","truck"]},{"id":":tractor:","symbol":"🚜","group":"travel","keywords":["tractor","vehicle"]},{"id":":bicycle:","symbol":"🚲","group":"travel","keywords":["bicycle","bike"]},{"id":":kick_scooter:","symbol":"🛴","group":"travel","keywords":["kick","scooter"]},{"id":":motor_scooter:","symbol":"🛵","group":"travel","keywords":["motor","scooter"]},{"id":":bus_stop:","symbol":"🚏","group":"travel","keywords":["bus","busstop","stop"]},{"id":":motorway:","symbol":"🛣","group":"travel","keywords":["highway","motorway","road"]},{"id":":railway_track:","symbol":"🛤","group":"travel","keywords":["railway","railway track","train"]},{"id":":oil_drum:","symbol":"🛢","group":"travel","keywords":["drum","oil"]},{"id":":fuel_pump:","symbol":"⛽","group":"travel","keywords":["diesel","fuel","fuelpump","gas","pump","station"]},{"id":":police_car_light:","symbol":"🚨","group":"travel","keywords":["beacon","car","light","police","revolving"]},{"id":":horizontal_traffic_light:","symbol":"🚥","group":"travel","keywords":["horizontal traffic light","light","signal","traffic"]},{"id":":vertical_traffic_light:","symbol":"🚦","group":"travel","keywords":["light","signal","traffic","vertical traffic light"]},{"id":":stop_sign:","symbol":"🛑","group":"travel","keywords":["octagonal","sign","stop"]},{"id":":construction:","symbol":"🚧","group":"travel","keywords":["barrier","construction"]},{"id":":anchor:","symbol":"⚓","group":"travel","keywords":["anchor","ship","tool"]},{"id":":sailboat:","symbol":"⛵","group":"travel","keywords":["boat","resort","sailboat","sea","yacht"]},{"id":":canoe:","symbol":"🛶","group":"travel","keywords":["boat","canoe"]},{"id":":speedboat:","symbol":"🚤","group":"travel","keywords":["boat","speedboat"]},{"id":":passenger_ship:","symbol":"🛳","group":"travel","keywords":["passenger","ship"]},{"id":":ferry:","symbol":"⛴","group":"travel","keywords":["boat","ferry","passenger"]},{"id":":motor_boat:","symbol":"🛥","group":"travel","keywords":["boat","motor boat","motorboat"]},{"id":":ship:","symbol":"🚢","group":"travel","keywords":["boat","passenger","ship"]},{"id":":airplane:","symbol":"✈","group":"travel","keywords":["aeroplane","airplane"]},{"id":":small_airplane:","symbol":"🛩","group":"travel","keywords":["aeroplane","airplane","small airplane"]},{"id":":airplane_departure:","symbol":"🛫","group":"travel","keywords":["aeroplane","airplane","check-in","departure","departures"]},{"id":":airplane_arrival:","symbol":"🛬","group":"travel","keywords":["aeroplane","airplane","airplane arrival","arrivals","arriving","landing"]},{"id":":seat:","symbol":"💺","group":"travel","keywords":["chair","seat"]},{"id":":helicopter:","symbol":"🚁","group":"travel","keywords":["helicopter","vehicle"]},{"id":":suspension_railway:","symbol":"🚟","group":"travel","keywords":["railway","suspension"]},{"id":":mountain_cableway:","symbol":"🚠","group":"travel","keywords":["cable","gondola","mountain","mountain cableway"]},{"id":":aerial_tramway:","symbol":"🚡","group":"travel","keywords":["aerial","cable","car","gondola","tramway"]},{"id":":satellite:","symbol":"🛰","group":"travel","keywords":["satellite","space"]},{"id":":rocket:","symbol":"🚀","group":"travel","keywords":["rocket","space"]},{"id":":flying_saucer:","symbol":"🛸","group":"travel","keywords":["flying saucer","UFO"]},{"id":":bellhop_bell:","symbol":"🛎","group":"travel","keywords":["bell","bellhop","hotel"]},{"id":":hourglass_done:","symbol":"⌛","group":"travel","keywords":["hourglass done","sand","timer"]},{"id":":hourglass_not_done:","symbol":"⏳","group":"travel","keywords":["hourglass","hourglass not done","sand","timer"]},{"id":":watch:","symbol":"⌚","group":"travel","keywords":["clock","watch"]},{"id":":alarm_clock:","symbol":"⏰","group":"travel","keywords":["alarm","clock"]},{"id":":stopwatch:","symbol":"⏱","group":"travel","keywords":["clock","stopwatch"]},{"id":":timer_clock:","symbol":"⏲","group":"travel","keywords":["clock","timer"]},{"id":":mantelpiece_clock:","symbol":"🕰","group":"travel","keywords":["clock","mantelpiece clock"]},{"id":":twelve_o’clock:","symbol":"🕛","group":"travel","keywords":["00","12","12:00","clock","o’clock","twelve"]},{"id":":twelve-thirty:","symbol":"🕧","group":"travel","keywords":["12","12:30","clock","thirty","twelve","twelve-thirty"]},{"id":":one_o’clock:","symbol":"🕐","group":"travel","keywords":["00","1","1:00","clock","o’clock","one"]},{"id":":one-thirty:","symbol":"🕜","group":"travel","keywords":["1","1:30","clock","one","one-thirty","thirty"]},{"id":":two_o’clock:","symbol":"🕑","group":"travel","keywords":["00","2","2:00","clock","o’clock","two"]},{"id":":two-thirty:","symbol":"🕝","group":"travel","keywords":["2","2:30","clock","thirty","two","two-thirty"]},{"id":":three_o’clock:","symbol":"🕒","group":"travel","keywords":["00","3","3:00","clock","o’clock","three"]},{"id":":three-thirty:","symbol":"🕞","group":"travel","keywords":["3","3:30","clock","thirty","three","three-thirty"]},{"id":":four_o’clock:","symbol":"🕓","group":"travel","keywords":["00","4","4:00","clock","four","o’clock"]},{"id":":four-thirty:","symbol":"🕟","group":"travel","keywords":["4","4:30","clock","four","four-thirty","thirty"]},{"id":":five_o’clock:","symbol":"🕔","group":"travel","keywords":["00","5","5:00","clock","five","o’clock"]},{"id":":five-thirty:","symbol":"🕠","group":"travel","keywords":["5","5:30","clock","five","five-thirty","thirty"]},{"id":":six_o’clock:","symbol":"🕕","group":"travel","keywords":["00","6","6:00","clock","o’clock","six"]},{"id":":six-thirty:","symbol":"🕡","group":"travel","keywords":["6","6:30","clock","six","six-thirty","thirty"]},{"id":":seven_o’clock:","symbol":"🕖","group":"travel","keywords":["00","7","7:00","clock","o’clock","seven"]},{"id":":seven-thirty:","symbol":"🕢","group":"travel","keywords":["7","7:30","clock","seven","seven-thirty","thirty"]},{"id":":eight_o’clock:","symbol":"🕗","group":"travel","keywords":["00","8","8:00","clock","eight","o’clock"]},{"id":":eight-thirty:","symbol":"🕣","group":"travel","keywords":["8","8:30","clock","eight","eight-thirty","thirty"]},{"id":":nine_o’clock:","symbol":"🕘","group":"travel","keywords":["00","9","9:00","clock","nine","o’clock"]},{"id":":nine-thirty:","symbol":"🕤","group":"travel","keywords":["9","9:30","clock","nine","nine-thirty","thirty"]},{"id":":ten_o’clock:","symbol":"🕙","group":"travel","keywords":["00","10","10:00","clock","o’clock","ten"]},{"id":":ten-thirty:","symbol":"🕥","group":"travel","keywords":["10","10:30","clock","ten","ten-thirty","thirty"]},{"id":":eleven_o’clock:","symbol":"🕚","group":"travel","keywords":["00","11","11:00","clock","eleven","o’clock"]},{"id":":eleven-thirty:","symbol":"🕦","group":"travel","keywords":["11","11:30","clock","eleven","eleven-thirty","thirty"]},{"id":":new_moon:","symbol":"🌑","group":"travel","keywords":["dark","moon","new moon"]},{"id":":waxing_crescent_moon:","symbol":"🌒","group":"travel","keywords":["crescent","moon","waxing"]},{"id":":first_quarter_moon:","symbol":"🌓","group":"travel","keywords":["first quarter moon","moon","quarter"]},{"id":":waxing_gibbous_moon:","symbol":"🌔","group":"travel","keywords":["gibbous","moon","waxing"]},{"id":":full_moon:","symbol":"🌕","group":"travel","keywords":["full","moon"]},{"id":":waning_gibbous_moon:","symbol":"🌖","group":"travel","keywords":["gibbous","moon","waning"]},{"id":":last_quarter_moon:","symbol":"🌗","group":"travel","keywords":["last quarter moon","moon","quarter"]},{"id":":waning_crescent_moon:","symbol":"🌘","group":"travel","keywords":["crescent","moon","waning"]},{"id":":crescent_moon:","symbol":"🌙","group":"travel","keywords":["crescent","moon"]},{"id":":new_moon_face:","symbol":"🌚","group":"travel","keywords":["face","moon","new moon face"]},{"id":":first_quarter_moon_face:","symbol":"🌛","group":"travel","keywords":["face","first quarter moon face","moon","quarter"]},{"id":":last_quarter_moon_face:","symbol":"🌜","group":"travel","keywords":["face","last quarter moon face","moon","quarter"]},{"id":":thermometer:","symbol":"🌡","group":"travel","keywords":["thermometer","weather"]},{"id":":sun:","symbol":"☀","group":"travel","keywords":["bright","rays","sun","sunny"]},{"id":":full_moon_face:","symbol":"🌝","group":"travel","keywords":["bright","face","full","moon"]},{"id":":sun_with_face:","symbol":"🌞","group":"travel","keywords":["bright","face","sun","sun with face"]},{"id":":star:","symbol":"⭐","group":"travel","keywords":["star"]},{"id":":glowing_star:","symbol":"🌟","group":"travel","keywords":["glittery","glow","glowing star","shining","sparkle","star"]},{"id":":shooting_star:","symbol":"🌠","group":"travel","keywords":["falling","shooting","star"]},{"id":":cloud:","symbol":"☁️","group":"travel","keywords":["cloud","weather"]},{"id":":sun_behind_cloud:","symbol":"⛅","group":"travel","keywords":["cloud","sun","sun behind cloud"]},{"id":":cloud_with_lightning_and_rain:","symbol":"⛈️","group":"travel","keywords":["cloud","cloud with lightning and rain","rain","thunder"]},{"id":":sun_behind_small_cloud:","symbol":"🌤","group":"travel","keywords":["cloud","sun","sun behind small cloud"]},{"id":":sun_behind_large_cloud:","symbol":"🌥","group":"travel","keywords":["cloud","sun","sun behind large cloud"]},{"id":":sun_behind_rain_cloud:","symbol":"🌦","group":"travel","keywords":["cloud","rain","sun","sun behind rain cloud"]},{"id":":cloud_with_rain:","symbol":"🌧","group":"travel","keywords":["cloud","cloud with rain","rain"]},{"id":":cloud_with_snow:","symbol":"🌨","group":"travel","keywords":["cloud","cloud with snow","cold","snow"]},{"id":":cloud_with_lightning:","symbol":"🌩","group":"travel","keywords":["cloud","cloud with lightning","lightning"]},{"id":":tornado:","symbol":"🌪","group":"travel","keywords":["cloud","tornado","whirlwind"]},{"id":":fog:","symbol":"🌫","group":"travel","keywords":["cloud","fog"]},{"id":":wind_face:","symbol":"🌬","group":"travel","keywords":["blow","cloud","face","wind"]},{"id":":cyclone:","symbol":"🌀","group":"travel","keywords":["cyclone","dizzy","hurricane","twister","typhoon"]},{"id":":rainbow:","symbol":"🌈","group":"travel","keywords":["rain","rainbow"]},{"id":":closed_umbrella:","symbol":"🌂","group":"travel","keywords":["closed umbrella","clothing","rain","umbrella"]},{"id":":umbrella:","symbol":"☂","group":"travel","keywords":["clothing","rain","umbrella"]},{"id":":umbrella_with_rain_drops:","symbol":"☔","group":"travel","keywords":["clothing","drop","rain","umbrella","umbrella with rain drops"]},{"id":":umbrella_on_ground:","symbol":"⛱","group":"travel","keywords":["rain","sun","umbrella","umbrella on ground"]},{"id":":high_voltage:","symbol":"⚡","group":"travel","keywords":["danger","electric","high voltage","lightning","voltage","zap"]},{"id":":snowflake:","symbol":"❄","group":"travel","keywords":["cold","snow","snowflake"]},{"id":":snowman:","symbol":"☃","group":"travel","keywords":["cold","snow","snowman"]},{"id":":snowman_without_snow:","symbol":"⛄","group":"travel","keywords":["cold","snow","snowman","snowman without snow"]},{"id":":comet:","symbol":"☄","group":"travel","keywords":["comet","space"]},{"id":":fire:","symbol":"🔥","group":"travel","keywords":["fire","flame","tool"]},{"id":":droplet:","symbol":"💧","group":"travel","keywords":["cold","comic","drop","droplet","sweat"]},{"id":":water_wave:","symbol":"🌊","group":"travel","keywords":["ocean","water","wave"]},{"id":":jack-o-lantern:","symbol":"🎃","group":"activities","keywords":["celebration","halloween","jack","jack-o-lantern","lantern"]},{"id":":christmas_tree:","symbol":"🎄","group":"activities","keywords":["celebration","Christmas","tree"]},{"id":":fireworks:","symbol":"🎆","group":"activities","keywords":["celebration","fireworks"]},{"id":":sparkler:","symbol":"🎇","group":"activities","keywords":["celebration","fireworks","sparkle","sparkler"]},{"id":":sparkles:","symbol":"✨","group":"activities","keywords":["sparkle","sparkles","star"]},{"id":":balloon:","symbol":"🎈","group":"activities","keywords":["balloon","celebration"]},{"id":":party_popper:","symbol":"🎉","group":"activities","keywords":["celebration","party","popper","tada"]},{"id":":confetti_ball:","symbol":"🎊","group":"activities","keywords":["ball","celebration","confetti"]},{"id":":tanabata_tree:","symbol":"🎋","group":"activities","keywords":["banner","celebration","Japanese","tanabata tree","tree"]},{"id":":pine_decoration:","symbol":"🎍","group":"activities","keywords":["bamboo","celebration","Japanese","pine","pine decoration"]},{"id":":japanese_dolls:","symbol":"🎎","group":"activities","keywords":["celebration","doll","festival","Japanese","Japanese dolls"]},{"id":":carp_streamer:","symbol":"🎏","group":"activities","keywords":["carp","celebration","streamer"]},{"id":":wind_chime:","symbol":"🎐","group":"activities","keywords":["bell","celebration","chime","wind"]},{"id":":moon_viewing_ceremony:","symbol":"🎑","group":"activities","keywords":["celebration","ceremony","moon","moon viewing ceremony"]},{"id":":ribbon:","symbol":"🎀","group":"activities","keywords":["celebration","ribbon"]},{"id":":wrapped_gift:","symbol":"🎁","group":"activities","keywords":["box","celebration","gift","present","wrapped"]},{"id":":reminder_ribbon:","symbol":"🎗","group":"activities","keywords":["celebration","reminder","ribbon"]},{"id":":admission_tickets:","symbol":"🎟","group":"activities","keywords":["admission","admission tickets","ticket"]},{"id":":ticket:","symbol":"🎫","group":"activities","keywords":["admission","ticket"]},{"id":":military_medal:","symbol":"🎖","group":"activities","keywords":["celebration","medal","military"]},{"id":":trophy:","symbol":"🏆","group":"activities","keywords":["prize","trophy"]},{"id":":sports_medal:","symbol":"🏅","group":"activities","keywords":["medal","sports medal"]},{"id":":1st_place_medal:","symbol":"🥇","group":"activities","keywords":["1st place medal","first","gold","medal"]},{"id":":2nd_place_medal:","symbol":"🥈","group":"activities","keywords":["2nd place medal","medal","second","silver"]},{"id":":3rd_place_medal:","symbol":"🥉","group":"activities","keywords":["3rd place medal","bronze","medal","third"]},{"id":":soccer_ball:","symbol":"⚽","group":"activities","keywords":["ball","football","soccer"]},{"id":":baseball:","symbol":"⚾","group":"activities","keywords":["ball","baseball"]},{"id":":basketball:","symbol":"🏀","group":"activities","keywords":["ball","basketball","hoop"]},{"id":":volleyball:","symbol":"🏐","group":"activities","keywords":["ball","game","volleyball"]},{"id":":american_football:","symbol":"🏈","group":"activities","keywords":["american","ball","football"]},{"id":":rugby_football:","symbol":"🏉","group":"activities","keywords":["ball","football","rugby"]},{"id":":tennis:","symbol":"🎾","group":"activities","keywords":["ball","racquet","tennis"]},{"id":":bowling:","symbol":"🎳","group":"activities","keywords":["ball","bowling","game"]},{"id":":cricket_game:","symbol":"🏏","group":"activities","keywords":["ball","bat","cricket game","game"]},{"id":":field_hockey:","symbol":"🏑","group":"activities","keywords":["ball","field","game","hockey","stick"]},{"id":":ice_hockey:","symbol":"🏒","group":"activities","keywords":["game","hockey","ice","puck","stick"]},{"id":":ping_pong:","symbol":"🏓","group":"activities","keywords":["ball","bat","game","paddle","ping pong","table tennis"]},{"id":":badminton:","symbol":"🏸","group":"activities","keywords":["badminton","birdie","game","racquet","shuttlecock"]},{"id":":boxing_glove:","symbol":"🥊","group":"activities","keywords":["boxing","glove"]},{"id":":martial_arts_uniform:","symbol":"🥋","group":"activities","keywords":["judo","karate","martial arts","martial arts uniform","taekwondo","uniform"]},{"id":":goal_net:","symbol":"🥅","group":"activities","keywords":["goal","net"]},{"id":":flag_in_hole:","symbol":"⛳","group":"activities","keywords":["flag in hole","golf","hole"]},{"id":":ice_skate:","symbol":"⛸","group":"activities","keywords":["ice","skate"]},{"id":":fishing_pole:","symbol":"🎣","group":"activities","keywords":["fish","fishing pole","pole"]},{"id":":running_shirt:","symbol":"🎽","group":"activities","keywords":["athletics","running","sash","shirt"]},{"id":":skis:","symbol":"🎿","group":"activities","keywords":["ski","skis","snow"]},{"id":":sled:","symbol":"🛷","group":"activities","keywords":["sled","sledge","sleigh",""]},{"id":":curling_stone:","symbol":"🥌","group":"activities","keywords":["curling stone","game","rock"]},{"id":":direct_hit:","symbol":"🎯","group":"activities","keywords":["bullseye","dart","direct hit","game","hit","target"]},{"id":":pool_8_ball:","symbol":"🎱","group":"activities","keywords":["8","ball","billiard","eight","game","pool 8 ball"]},{"id":":crystal_ball:","symbol":"🔮","group":"activities","keywords":["ball","crystal","fairy tale","fantasy","fortune","tool"]},{"id":":video_game:","symbol":"🎮","group":"activities","keywords":["controller","game","video game"]},{"id":":joystick:","symbol":"🕹","group":"activities","keywords":["game","joystick","video game"]},{"id":":slot_machine:","symbol":"🎰","group":"activities","keywords":["game","slot","slot machine"]},{"id":":game_die:","symbol":"🎲","group":"activities","keywords":["dice","die","game"]},{"id":":spade_suit:","symbol":"♠","group":"activities","keywords":["card","game","spade suit"]},{"id":":heart_suit:","symbol":"♥","group":"activities","keywords":["card","game","heart suit"]},{"id":":diamond_suit:","symbol":"♦","group":"activities","keywords":["card","diamond suit","game"]},{"id":":club_suit:","symbol":"♣","group":"activities","keywords":["card","club suit","game"]},{"id":":joker:","symbol":"🃏","group":"activities","keywords":["card","game","joker","wildcard"]},{"id":":mahjong_red_dragon:","symbol":"🀄","group":"activities","keywords":["game","mahjong","mahjong red dragon","red"]},{"id":":flower_playing_cards:","symbol":"🎴","group":"activities","keywords":["card","flower","flower playing cards","game","Japanese","playing"]},{"id":":performing_arts:","symbol":"🎭","group":"activities","keywords":["art","mask","performing","performing arts","theater","theatre"]},{"id":":framed_picture:","symbol":"🖼","group":"activities","keywords":["art","frame","framed picture","museum","painting","picture"]},{"id":":artist_palette:","symbol":"🎨","group":"activities","keywords":["art","artist palette","museum","painting","palette"]},{"id":":muted_speaker:","symbol":"🔇","group":"objects","keywords":["mute","muted speaker","quiet","silent","speaker"]},{"id":":speaker_low_volume:","symbol":"🔈","group":"objects","keywords":["soft","speaker low volume"]},{"id":":speaker_medium_volume:","symbol":"🔉","group":"objects","keywords":["medium","speaker medium volume"]},{"id":":speaker_high_volume:","symbol":"🔊","group":"objects","keywords":["loud","speaker high volume"]},{"id":":loudspeaker:","symbol":"📢","group":"objects","keywords":["loud","loudspeaker","public address"]},{"id":":megaphone:","symbol":"📣","group":"objects","keywords":["cheering","megaphone"]},{"id":":postal_horn:","symbol":"📯","group":"objects","keywords":["horn","post","postal"]},{"id":":bell:","symbol":"🔔","group":"objects","keywords":["bell"]},{"id":":bell_with_slash:","symbol":"🔕","group":"objects","keywords":["bell","bell with slash","forbidden","mute","quiet","silent"]},{"id":":musical_score:","symbol":"🎼","group":"objects","keywords":["music","musical score","score"]},{"id":":musical_note:","symbol":"🎵","group":"objects","keywords":["music","musical note","note"]},{"id":":musical_notes:","symbol":"🎶","group":"objects","keywords":["music","musical notes","note","notes"]},{"id":":studio_microphone:","symbol":"🎙","group":"objects","keywords":["mic","microphone","music","studio"]},{"id":":level_slider:","symbol":"🎚","group":"objects","keywords":["level","music","slider"]},{"id":":control_knobs:","symbol":"🎛","group":"objects","keywords":["control","knobs","music"]},{"id":":microphone:","symbol":"🎤","group":"objects","keywords":["karaoke","mic","microphone"]},{"id":":headphone:","symbol":"🎧","group":"objects","keywords":["earbud","headphone"]},{"id":":radio:","symbol":"📻","group":"objects","keywords":["radio","video"]},{"id":":saxophone:","symbol":"🎷","group":"objects","keywords":["instrument","music","sax","saxophone"]},{"id":":guitar:","symbol":"🎸","group":"objects","keywords":["guitar","instrument","music"]},{"id":":musical_keyboard:","symbol":"🎹","group":"objects","keywords":["instrument","keyboard","music","musical keyboard","piano"]},{"id":":trumpet:","symbol":"🎺","group":"objects","keywords":["instrument","music","trumpet"]},{"id":":violin:","symbol":"🎻","group":"objects","keywords":["instrument","music","violin"]},{"id":":drum:","symbol":"🥁","group":"objects","keywords":["drum","drumsticks","music"]},{"id":":mobile_phone:","symbol":"📱","group":"objects","keywords":["cell","mobile","phone","telephone"]},{"id":":mobile_phone_with_arrow:","symbol":"📲","group":"objects","keywords":["arrow","cell","mobile","mobile phone with arrow","phone","receive"]},{"id":":telephone:","symbol":"☎","group":"objects","keywords":["phone","telephone"]},{"id":":telephone_receiver:","symbol":"📞","group":"objects","keywords":["phone","receiver","telephone"]},{"id":":pager:","symbol":"📟","group":"objects","keywords":["pager"]},{"id":":fax_machine:","symbol":"📠","group":"objects","keywords":["fax","fax machine"]},{"id":":battery:","symbol":"🔋","group":"objects","keywords":["battery"]},{"id":":electric_plug:","symbol":"🔌","group":"objects","keywords":["electric","electricity","plug"]},{"id":":laptop_computer:","symbol":"💻","group":"objects","keywords":["computer","laptop computer","pc","personal"]},{"id":":desktop_computer:","symbol":"🖥","group":"objects","keywords":["computer","desktop"]},{"id":":printer:","symbol":"🖨","group":"objects","keywords":["computer","printer"]},{"id":":keyboard:","symbol":"⌨","group":"objects","keywords":["computer","keyboard"]},{"id":":computer_mouse:","symbol":"🖱","group":"objects","keywords":["computer","computer mouse"]},{"id":":trackball:","symbol":"🖲","group":"objects","keywords":["computer","trackball"]},{"id":":computer_disk:","symbol":"💽","group":"objects","keywords":["computer","disk","minidisk","optical"]},{"id":":floppy_disk:","symbol":"💾","group":"objects","keywords":["computer","disk","floppy"]},{"id":":optical_disk:","symbol":"💿","group":"objects","keywords":["cd","computer","disk","optical"]},{"id":":dvd:","symbol":"📀","group":"objects","keywords":["blu-ray","computer","disk","dvd","optical"]},{"id":":movie_camera:","symbol":"🎥","group":"objects","keywords":["camera","cinema","movie"]},{"id":":film_frames:","symbol":"🎞","group":"objects","keywords":["cinema","film","frames","movie"]},{"id":":film_projector:","symbol":"📽","group":"objects","keywords":["cinema","film","movie","projector","video"]},{"id":":clapper_board:","symbol":"🎬","group":"objects","keywords":["clapper","clapper board","movie"]},{"id":":television:","symbol":"📺","group":"objects","keywords":["television","tv","video"]},{"id":":camera:","symbol":"📷","group":"objects","keywords":["camera","video"]},{"id":":camera_with_flash:","symbol":"📸","group":"objects","keywords":["camera","camera with flash","flash","video"]},{"id":":video_camera:","symbol":"📹","group":"objects","keywords":["camera","video"]},{"id":":videocassette:","symbol":"📼","group":"objects","keywords":["tape","vhs","video","videocassette"]},{"id":":magnifying_glass_tilted_left:","symbol":"🔍","group":"objects","keywords":["glass","magnifying","magnifying glass tilted left","search","tool"]},{"id":":magnifying_glass_tilted_right:","symbol":"🔎","group":"objects","keywords":["glass","magnifying","magnifying glass tilted right","search","tool"]},{"id":":candle:","symbol":"🕯","group":"objects","keywords":["candle","light"]},{"id":":light_bulb:","symbol":"💡","group":"objects","keywords":["bulb","comic","electric","idea","light"]},{"id":":flashlight:","symbol":"🔦","group":"objects","keywords":["electric","flashlight","light","tool","torch"]},{"id":":red_paper_lantern:","symbol":"🏮","group":"objects","keywords":["bar","lantern","light","red","red paper lantern"]},{"id":":notebook_with_decorative_cover:","symbol":"📔","group":"objects","keywords":["book","cover","decorated","notebook","notebook with decorative cover"]},{"id":":closed_book:","symbol":"📕","group":"objects","keywords":["book","closed"]},{"id":":open_book:","symbol":"📖","group":"objects","keywords":["book","open"]},{"id":":green_book:","symbol":"📗","group":"objects","keywords":["book","green"]},{"id":":blue_book:","symbol":"📘","group":"objects","keywords":["blue","book"]},{"id":":orange_book:","symbol":"📙","group":"objects","keywords":["book","orange"]},{"id":":books:","symbol":"📚","group":"objects","keywords":["book","books"]},{"id":":notebook:","symbol":"📓","group":"objects","keywords":["notebook"]},{"id":":ledger:","symbol":"📒","group":"objects","keywords":["ledger","notebook"]},{"id":":page_with_curl:","symbol":"📃","group":"objects","keywords":["curl","document","page","page with curl"]},{"id":":scroll:","symbol":"📜","group":"objects","keywords":["paper","scroll"]},{"id":":page_facing_up:","symbol":"📄","group":"objects","keywords":["document","page","page facing up"]},{"id":":newspaper:","symbol":"📰","group":"objects","keywords":["news","newspaper","paper"]},{"id":":rolled-up_newspaper:","symbol":"🗞","group":"objects","keywords":["news","newspaper","paper","rolled","rolled-up newspaper"]},{"id":":bookmark_tabs:","symbol":"📑","group":"objects","keywords":["bookmark","mark","marker","tabs"]},{"id":":bookmark:","symbol":"🔖","group":"objects","keywords":["bookmark","mark"]},{"id":":label:","symbol":"🏷","group":"objects","keywords":["label"]},{"id":":money_bag:","symbol":"💰","group":"objects","keywords":["bag","dollar","money","moneybag"]},{"id":":yen_banknote:","symbol":"💴","group":"objects","keywords":["banknote","bill","currency","money","note","yen"]},{"id":":dollar_banknote:","symbol":"💵","group":"objects","keywords":["banknote","bill","currency","dollar","money","note"]},{"id":":euro_banknote:","symbol":"💶","group":"objects","keywords":["banknote","bill","currency","euro","money","note"]},{"id":":pound_banknote:","symbol":"💷","group":"objects","keywords":["banknote","bill","currency","money","note","pound"]},{"id":":money_with_wings:","symbol":"💸","group":"objects","keywords":["banknote","bill","fly","money","money with wings","wings"]},{"id":":credit_card:","symbol":"💳","group":"objects","keywords":["card","credit","money"]},{"id":":chart_increasing_with_yen:","symbol":"💹","group":"objects","keywords":["chart","chart increasing with yen","graph","growth","money","yen"]},{"id":":currency_exchange:","symbol":"💱","group":"objects","keywords":["bank","currency","exchange","money"]},{"id":":heavy_dollar_sign:","symbol":"💲","group":"objects","keywords":["currency","dollar","heavy dollar sign","money"]},{"id":":envelope:","symbol":"✉","group":"objects","keywords":["email","envelope","letter"]},{"id":":e-mail:","symbol":"📧","group":"objects","keywords":["e-mail","email","letter","mail"]},{"id":":incoming_envelope:","symbol":"📨","group":"objects","keywords":["e-mail","email","envelope","incoming","letter","receive"]},{"id":":envelope_with_arrow:","symbol":"📩","group":"objects","keywords":["arrow","e-mail","email","envelope","envelope with arrow","outgoing"]},{"id":":outbox_tray:","symbol":"📤","group":"objects","keywords":["box","letter","mail","outbox","sent","tray"]},{"id":":inbox_tray:","symbol":"📥","group":"objects","keywords":["box","inbox","letter","mail","receive","tray"]},{"id":":package:","symbol":"📦","group":"objects","keywords":["box","package","parcel"]},{"id":":closed_mailbox_with_raised_flag:","symbol":"📫","group":"objects","keywords":["closed","closed mailbox with raised flag","mail","mailbox","postbox"]},{"id":":closed_mailbox_with_lowered_flag:","symbol":"📪","group":"objects","keywords":["closed","closed mailbox with lowered flag","lowered","mail","mailbox","postbox"]},{"id":":open_mailbox_with_raised_flag:","symbol":"📬","group":"objects","keywords":["mail","mailbox","open","open mailbox with raised flag","postbox"]},{"id":":open_mailbox_with_lowered_flag:","symbol":"📭","group":"objects","keywords":["lowered","mail","mailbox","open","open mailbox with lowered flag","postbox"]},{"id":":postbox:","symbol":"📮","group":"objects","keywords":["mail","mailbox","postbox"]},{"id":":ballot_box_with_ballot:","symbol":"🗳","group":"objects","keywords":["ballot","ballot box with ballot","box"]},{"id":":pencil:","symbol":"✏","group":"objects","keywords":["pencil"]},{"id":":black_nib:","symbol":"✒","group":"objects","keywords":["black nib","nib","pen"]},{"id":":fountain_pen:","symbol":"🖋","group":"objects","keywords":["fountain","pen"]},{"id":":pen:","symbol":"🖊","group":"objects","keywords":["ballpoint","pen"]},{"id":":paintbrush:","symbol":"🖌","group":"objects","keywords":["paintbrush","painting"]},{"id":":crayon:","symbol":"🖍","group":"objects","keywords":["crayon"]},{"id":":memo:","symbol":"📝","group":"objects","keywords":["memo","pencil"]},{"id":":briefcase:","symbol":"💼","group":"objects","keywords":["briefcase"]},{"id":":file_folder:","symbol":"📁","group":"objects","keywords":["file","folder"]},{"id":":open_file_folder:","symbol":"📂","group":"objects","keywords":["file","folder","open"]},{"id":":card_index_dividers:","symbol":"🗂","group":"objects","keywords":["card","dividers","index"]},{"id":":calendar:","symbol":"📅","group":"objects","keywords":["calendar","date"]},{"id":":tear-off_calendar:","symbol":"📆","group":"objects","keywords":["calendar","tear-off calendar"]},{"id":":spiral_notepad:","symbol":"🗒","group":"objects","keywords":["note","pad","spiral","spiral notepad"]},{"id":":spiral_calendar:","symbol":"🗓","group":"objects","keywords":["calendar","pad","spiral"]},{"id":":card_index:","symbol":"📇","group":"objects","keywords":["card","index","rolodex"]},{"id":":chart_increasing:","symbol":"📈","group":"objects","keywords":["chart","chart increasing","graph","growth","trend","upward"]},{"id":":chart_decreasing:","symbol":"📉","group":"objects","keywords":["chart","chart decreasing","down","graph","trend"]},{"id":":bar_chart:","symbol":"📊","group":"objects","keywords":["bar","chart","graph"]},{"id":":clipboard:","symbol":"📋","group":"objects","keywords":["clipboard"]},{"id":":pushpin:","symbol":"📌","group":"objects","keywords":["pin","pushpin"]},{"id":":round_pushpin:","symbol":"📍","group":"objects","keywords":["pin","pushpin","round pushpin"]},{"id":":paperclip:","symbol":"📎","group":"objects","keywords":["paperclip"]},{"id":":linked_paperclips:","symbol":"🖇","group":"objects","keywords":["link","linked paperclips","paperclip"]},{"id":":straight_ruler:","symbol":"📏","group":"objects","keywords":["ruler","straight edge","straight ruler"]},{"id":":triangular_ruler:","symbol":"📐","group":"objects","keywords":["ruler","set","triangle","triangular ruler"]},{"id":":scissors:","symbol":"✂","group":"objects","keywords":["cutting","scissors","tool"]},{"id":":card_file_box:","symbol":"🗃","group":"objects","keywords":["box","card","file"]},{"id":":file_cabinet:","symbol":"🗄","group":"objects","keywords":["cabinet","file","filing"]},{"id":":wastebasket:","symbol":"🗑","group":"objects","keywords":["wastebasket"]},{"id":":locked:","symbol":"🔒","group":"objects","keywords":["closed","locked"]},{"id":":unlocked:","symbol":"🔓","group":"objects","keywords":["lock","open","unlock","unlocked"]},{"id":":locked_with_pen:","symbol":"🔏","group":"objects","keywords":["ink","lock","locked with pen","nib","pen","privacy"]},{"id":":locked_with_key:","symbol":"🔐","group":"objects","keywords":["closed","key","lock","locked with key","secure"]},{"id":":key:","symbol":"🔑","group":"objects","keywords":["key","lock","password"]},{"id":":old_key:","symbol":"🗝","group":"objects","keywords":["clue","key","lock","old"]},{"id":":hammer:","symbol":"🔨","group":"objects","keywords":["hammer","tool"]},{"id":":pick:","symbol":"⛏","group":"objects","keywords":["mining","pick","tool"]},{"id":":hammer_and_pick:","symbol":"⚒","group":"objects","keywords":["hammer","hammer and pick","pick","tool"]},{"id":":hammer_and_wrench:","symbol":"🛠","group":"objects","keywords":["hammer","hammer and wrench","spanner","tool","wrench"]},{"id":":dagger:","symbol":"🗡","group":"objects","keywords":["dagger","knife","weapon"]},{"id":":crossed_swords:","symbol":"⚔","group":"objects","keywords":["crossed","swords","weapon"]},{"id":":pistol:","symbol":"🔫","group":"objects","keywords":["gun","handgun","pistol","revolver","tool","weapon"]},{"id":":bow_and_arrow:","symbol":"🏹","group":"objects","keywords":["archer","arrow","bow","bow and arrow","Sagittarius","zodiac"]},{"id":":shield:","symbol":"🛡","group":"objects","keywords":["shield","weapon"]},{"id":":wrench:","symbol":"🔧","group":"objects","keywords":["spanner","tool","wrench"]},{"id":":nut_and_bolt:","symbol":"🔩","group":"objects","keywords":["bolt","nut","nut and bolt","tool"]},{"id":":gear:","symbol":"⚙","group":"objects","keywords":["cog","cogwheel","gear","tool"]},{"id":":clamp:","symbol":"🗜","group":"objects","keywords":["clamp","compress","tool","vice"]},{"id":":balance_scale:","symbol":"⚖","group":"objects","keywords":["balance","justice","Libra","scale","zodiac"]},{"id":":link:","symbol":"🔗","group":"objects","keywords":["link"]},{"id":":chains:","symbol":"⛓","group":"objects","keywords":["chain","chains"]},{"id":":alembic:","symbol":"⚗","group":"objects","keywords":["alembic","chemistry","tool"]},{"id":":microscope:","symbol":"🔬","group":"objects","keywords":["microscope","science","tool"]},{"id":":telescope:","symbol":"🔭","group":"objects","keywords":["science","telescope","tool"]},{"id":":satellite_antenna:","symbol":"📡","group":"objects","keywords":["antenna","dish","satellite"]},{"id":":syringe:","symbol":"💉","group":"objects","keywords":["medicine","needle","shot","sick","syringe"]},{"id":":pill:","symbol":"💊","group":"objects","keywords":["doctor","medicine","pill","sick"]},{"id":":door:","symbol":"🚪","group":"objects","keywords":["door"]},{"id":":bed:","symbol":"🛏","group":"objects","keywords":["bed","hotel","sleep"]},{"id":":couch_and_lamp:","symbol":"🛋","group":"objects","keywords":["couch","couch and lamp","hotel","lamp"]},{"id":":toilet:","symbol":"🚽","group":"objects","keywords":["toilet"]},{"id":":shower:","symbol":"🚿","group":"objects","keywords":["shower","water"]},{"id":":bathtub:","symbol":"🛁","group":"objects","keywords":["bath","bathtub"]},{"id":":shopping_cart:","symbol":"🛒","group":"objects","keywords":["cart","shopping","trolley"]},{"id":":cigarette:","symbol":"🚬","group":"objects","keywords":["cigarette","smoking"]},{"id":":coffin:","symbol":"⚰","group":"objects","keywords":["coffin","death"]},{"id":":funeral_urn:","symbol":"⚱","group":"objects","keywords":["ashes","death","funeral","urn"]},{"id":":moai:","symbol":"🗿","group":"objects","keywords":["face","moai","moyai","statue"]},{"id":":atm_sign:","symbol":"🏧","group":"symbols","keywords":["atm","ATM sign","automated","bank","teller"]},{"id":":litter_in_bin_sign:","symbol":"🚮","group":"symbols","keywords":["litter","litter bin","litter in bin sign"]},{"id":":potable_water:","symbol":"🚰","group":"symbols","keywords":["drinking","potable","water"]},{"id":":wheelchair_symbol:","symbol":"♿","group":"symbols","keywords":["access","wheelchair symbol"]},{"id":":men’s_room:","symbol":"🚹","group":"symbols","keywords":["lavatory","man","men’s room","restroom","wc"]},{"id":":women’s_room:","symbol":"🚺","group":"symbols","keywords":["lavatory","restroom","wc","woman","women’s room"]},{"id":":restroom:","symbol":"🚻","group":"symbols","keywords":["lavatory","restroom","WC"]},{"id":":baby_symbol:","symbol":"🚼","group":"symbols","keywords":["baby","baby symbol","changing"]},{"id":":water_closet:","symbol":"🚾","group":"symbols","keywords":["closet","lavatory","restroom","water","wc"]},{"id":":passport_control:","symbol":"🛂","group":"symbols","keywords":["control","passport"]},{"id":":customs:","symbol":"🛃","group":"symbols","keywords":["customs"]},{"id":":baggage_claim:","symbol":"🛄","group":"symbols","keywords":["baggage","claim"]},{"id":":left_luggage:","symbol":"🛅","group":"symbols","keywords":["baggage","left luggage","locker","luggage"]},{"id":":warning:","symbol":"⚠","group":"symbols","keywords":["warning"]},{"id":":children_crossing:","symbol":"🚸","group":"symbols","keywords":["child","children crossing","crossing","pedestrian","traffic"]},{"id":":no_entry:","symbol":"⛔","group":"symbols","keywords":["entry","forbidden","no","not","prohibited","traffic"]},{"id":":prohibited:","symbol":"🚫","group":"symbols","keywords":["entry","forbidden","no","not","prohibited"]},{"id":":no_bicycles:","symbol":"🚳","group":"symbols","keywords":["bicycle","bike","forbidden","no","no bicycles","prohibited"]},{"id":":no_smoking:","symbol":"🚭","group":"symbols","keywords":["forbidden","no","not","prohibited","smoking"]},{"id":":no_littering:","symbol":"🚯","group":"symbols","keywords":["forbidden","litter","no","no littering","not","prohibited"]},{"id":":non-potable_water:","symbol":"🚱","group":"symbols","keywords":["non-drinking","non-potable","water"]},{"id":":no_pedestrians:","symbol":"🚷","group":"symbols","keywords":["forbidden","no","no pedestrians","not","pedestrian","prohibited"]},{"id":":no_mobile_phones:","symbol":"📵","group":"symbols","keywords":["cell","forbidden","mobile","no","no mobile phones","phone"]},{"id":":no_one_under_eighteen:","symbol":"🔞","group":"symbols","keywords":["18","age restriction","eighteen","no one under eighteen","prohibited","underage"]},{"id":":radioactive:","symbol":"☢","group":"symbols","keywords":["radioactive","sign"]},{"id":":biohazard:","symbol":"☣","group":"symbols","keywords":["biohazard","sign"]},{"id":":up_arrow:","symbol":"⬆","group":"symbols","keywords":["arrow","cardinal","direction","north","up arrow"]},{"id":":up-right_arrow:","symbol":"↗","group":"symbols","keywords":["arrow","direction","intercardinal","northeast","up-right arrow"]},{"id":":right_arrow:","symbol":"➡","group":"symbols","keywords":["arrow","cardinal","direction","east","right arrow"]},{"id":":down-right_arrow:","symbol":"↘","group":"symbols","keywords":["arrow","direction","down-right arrow","intercardinal","southeast"]},{"id":":down_arrow:","symbol":"⬇","group":"symbols","keywords":["arrow","cardinal","direction","down","south"]},{"id":":down-left_arrow:","symbol":"↙","group":"symbols","keywords":["arrow","direction","down-left arrow","intercardinal","southwest"]},{"id":":left_arrow:","symbol":"⬅","group":"symbols","keywords":["arrow","cardinal","direction","left arrow","west"]},{"id":":up-left_arrow:","symbol":"↖","group":"symbols","keywords":["arrow","direction","intercardinal","northwest","up-left arrow"]},{"id":":up-down_arrow:","symbol":"↕","group":"symbols","keywords":["arrow","up-down arrow"]},{"id":":left-right_arrow:","symbol":"↔","group":"symbols","keywords":["arrow","left-right arrow"]},{"id":":right_arrow_curving_left:","symbol":"↩","group":"symbols","keywords":["arrow","right arrow curving left"]},{"id":":left_arrow_curving_right:","symbol":"↪","group":"symbols","keywords":["arrow","left arrow curving right"]},{"id":":right_arrow_curving_up:","symbol":"⤴","group":"symbols","keywords":["arrow","right arrow curving up"]},{"id":":right_arrow_curving_down:","symbol":"⤵","group":"symbols","keywords":["arrow","down","right arrow curving down"]},{"id":":clockwise_vertical_arrows:","symbol":"🔃","group":"symbols","keywords":["arrow","clockwise","clockwise vertical arrows","reload"]},{"id":":counterclockwise_arrows_button:","symbol":"🔄","group":"symbols","keywords":["anticlockwise","arrow","counterclockwise","counterclockwise arrows button","withershins"]},{"id":":back_arrow:","symbol":"🔙","group":"symbols","keywords":["arrow","back","BACK arrow"]},{"id":":end_arrow:","symbol":"🔚","group":"symbols","keywords":["arrow","end","END arrow"]},{"id":":on!_arrow:","symbol":"🔛","group":"symbols","keywords":["arrow","mark","on","ON! arrow"]},{"id":":soon_arrow:","symbol":"🔜","group":"symbols","keywords":["arrow","soon","SOON arrow"]},{"id":":top_arrow:","symbol":"🔝","group":"symbols","keywords":["arrow","top","TOP arrow","up"]},{"id":":place_of_worship:","symbol":"🛐","group":"symbols","keywords":["place of worship","religion","worship"]},{"id":":atom_symbol:","symbol":"⚛","group":"symbols","keywords":["atheist","atom","atom symbol"]},{"id":":om:","symbol":"🕉","group":"symbols","keywords":["Hindu","om","religion"]},{"id":":star_of_david:","symbol":"✡","group":"symbols","keywords":["David","Jew","Jewish","religion","star","star of David"]},{"id":":wheel_of_dharma:","symbol":"☸","group":"symbols","keywords":["Buddhist","dharma","religion","wheel","wheel of dharma"]},{"id":":yin_yang:","symbol":"☯","group":"symbols","keywords":["religion","tao","taoist","yang","yin"]},{"id":":latin_cross:","symbol":"✝","group":"symbols","keywords":["Christian","cross","latin cross","religion"]},{"id":":orthodox_cross:","symbol":"☦","group":"symbols","keywords":["Christian","cross","orthodox cross","religion"]},{"id":":star_and_crescent:","symbol":"☪","group":"symbols","keywords":["islam","Muslim","religion","star and crescent"]},{"id":":peace_symbol:","symbol":"☮","group":"symbols","keywords":["peace","peace symbol"]},{"id":":menorah:","symbol":"🕎","group":"symbols","keywords":["candelabrum","candlestick","menorah","religion"]},{"id":":dotted_six-pointed_star:","symbol":"🔯","group":"symbols","keywords":["dotted six-pointed star","fortune","star"]},{"id":":aries:","symbol":"♈","group":"symbols","keywords":["Aries","ram","zodiac"]},{"id":":taurus:","symbol":"♉","group":"symbols","keywords":["bull","ox","Taurus","zodiac"]},{"id":":gemini:","symbol":"♊","group":"symbols","keywords":["Gemini","twins","zodiac"]},{"id":":cancer:","symbol":"♋","group":"symbols","keywords":["Cancer","crab","zodiac"]},{"id":":leo:","symbol":"♌","group":"symbols","keywords":["Leo","lion","zodiac"]},{"id":":virgo:","symbol":"♍","group":"symbols","keywords":["Virgo","zodiac"]},{"id":":libra:","symbol":"♎","group":"symbols","keywords":["balance","justice","Libra","scales","zodiac"]},{"id":":scorpio:","symbol":"♏","group":"symbols","keywords":["Scorpio","scorpion","scorpius","zodiac"]},{"id":":sagittarius:","symbol":"♐","group":"symbols","keywords":["archer","Sagittarius","zodiac"]},{"id":":capricorn:","symbol":"♑","group":"symbols","keywords":["Capricorn","goat","zodiac"]},{"id":":aquarius:","symbol":"♒","group":"symbols","keywords":["Aquarius","bearer","water","zodiac"]},{"id":":pisces:","symbol":"♓","group":"symbols","keywords":["fish","Pisces","zodiac"]},{"id":":ophiuchus:","symbol":"⛎","group":"symbols","keywords":["bearer","Ophiuchus","serpent","snake","zodiac"]},{"id":":shuffle_tracks_button:","symbol":"🔀","group":"symbols","keywords":["arrow","crossed","shuffle tracks button"]},{"id":":repeat_button:","symbol":"🔁","group":"symbols","keywords":["arrow","clockwise","repeat","repeat button"]},{"id":":repeat_single_button:","symbol":"🔂","group":"symbols","keywords":["arrow","clockwise","once","repeat single button"]},{"id":":play_button:","symbol":"▶","group":"symbols","keywords":["arrow","play","play button","right","triangle"]},{"id":":fast-forward_button:","symbol":"⏩","group":"symbols","keywords":["arrow","double","fast","fast-forward button","forward"]},{"id":":next_track_button:","symbol":"⏭","group":"symbols","keywords":["arrow","next scene","next track","next track button","triangle"]},{"id":":play_or_pause_button:","symbol":"⏯","group":"symbols","keywords":["arrow","pause","play","play or pause button","right","triangle"]},{"id":":reverse_button:","symbol":"◀","group":"symbols","keywords":["arrow","left","reverse","reverse button","triangle"]},{"id":":fast_reverse_button:","symbol":"⏪","group":"symbols","keywords":["arrow","double","fast reverse button","rewind"]},{"id":":last_track_button:","symbol":"⏮","group":"symbols","keywords":["arrow","last track button","previous scene","previous track","triangle"]},{"id":":upwards_button:","symbol":"🔼","group":"symbols","keywords":["arrow","button","red","upwards button"]},{"id":":fast_up_button:","symbol":"⏫","group":"symbols","keywords":["arrow","double","fast up button"]},{"id":":downwards_button:","symbol":"🔽","group":"symbols","keywords":["arrow","button","down","downwards button","red"]},{"id":":fast_down_button:","symbol":"⏬","group":"symbols","keywords":["arrow","double","down","fast down button"]},{"id":":pause_button:","symbol":"⏸","group":"symbols","keywords":["bar","double","pause","pause button","vertical"]},{"id":":stop_button:","symbol":"⏹","group":"symbols","keywords":["square","stop","stop button"]},{"id":":record_button:","symbol":"⏺","group":"symbols","keywords":["circle","record","record button"]},{"id":":eject_button:","symbol":"⏏","group":"symbols","keywords":["eject","eject button"]},{"id":":cinema:","symbol":"🎦","group":"symbols","keywords":["camera","cinema","film","movie"]},{"id":":dim_button:","symbol":"🔅","group":"symbols","keywords":["brightness","dim","dim button","low"]},{"id":":bright_button:","symbol":"🔆","group":"symbols","keywords":["bright","bright button","brightness"]},{"id":":antenna_bars:","symbol":"📶","group":"symbols","keywords":["antenna","antenna bars","bar","cell","mobile","phone"]},{"id":":vibration_mode:","symbol":"📳","group":"symbols","keywords":["cell","mobile","mode","phone","telephone","vibration"]},{"id":":mobile_phone_off:","symbol":"📴","group":"symbols","keywords":["cell","mobile","off","phone","telephone"]},{"id":":female_sign:","symbol":"♀","group":"symbols","keywords":["female sign","woman"]},{"id":":male_sign:","symbol":"♂","group":"symbols","keywords":["male sign","man"]},{"id":":medical_symbol:","symbol":"⚕","group":"symbols","keywords":["aesculapius","medical symbol","medicine","staff"]},{"id":":recycling_symbol:","symbol":"♻","group":"symbols","keywords":["recycle","recycling symbol"]},{"id":":fleur-de-lis:","symbol":"⚜","group":"symbols","keywords":["fleur-de-lis"]},{"id":":trident_emblem:","symbol":"🔱","group":"symbols","keywords":["anchor","emblem","ship","tool","trident"]},{"id":":name_badge:","symbol":"📛","group":"symbols","keywords":["badge","name"]},{"id":":japanese_symbol_for_beginner:","symbol":"🔰","group":"symbols","keywords":["beginner","chevron","Japanese","Japanese symbol for beginner","leaf"]},{"id":":heavy_large_circle:","symbol":"⭕","group":"symbols","keywords":["circle","heavy large circle","o"]},{"id":":white_heavy_check_mark:","symbol":"✅","group":"symbols","keywords":["check","mark","white heavy check mark"]},{"id":":ballot_box_with_check:","symbol":"☑","group":"symbols","keywords":["ballot","ballot box with check","box","check"]},{"id":":heavy_check_mark:","symbol":"✔","group":"symbols","keywords":["check","heavy check mark","mark"]},{"id":":heavy_multiplication_x:","symbol":"✖","group":"symbols","keywords":["cancel","heavy multiplication x","multiplication","multiply","x"]},{"id":":cross_mark:","symbol":"❌","group":"symbols","keywords":["cancel","cross mark","mark","multiplication","multiply","x"]},{"id":":cross_mark_button:","symbol":"❎","group":"symbols","keywords":["cross mark button","mark","square"]},{"id":":heavy_plus_sign:","symbol":"➕","group":"symbols","keywords":["heavy plus sign","math","plus"]},{"id":":heavy_minus_sign:","symbol":"➖","group":"symbols","keywords":["heavy minus sign","math","minus"]},{"id":":heavy_division_sign:","symbol":"➗","group":"symbols","keywords":["division","heavy division sign","math"]},{"id":":curly_loop:","symbol":"➰","group":"symbols","keywords":["curl","curly loop","loop"]},{"id":":double_curly_loop:","symbol":"➿","group":"symbols","keywords":["curl","double","double curly loop","loop"]},{"id":":part_alternation_mark:","symbol":"〽","group":"symbols","keywords":["mark","part","part alternation mark"]},{"id":":eight-spoked_asterisk:","symbol":"✳","group":"symbols","keywords":["asterisk","eight-spoked asterisk"]},{"id":":eight-pointed_star:","symbol":"✴","group":"symbols","keywords":["eight-pointed star","star"]},{"id":":sparkle:","symbol":"❇","group":"symbols","keywords":["sparkle"]},{"id":":double_exclamation_mark:","symbol":"‼","group":"symbols","keywords":["bangbang","double exclamation mark","exclamation","mark","punctuation"]},{"id":":exclamation_question_mark:","symbol":"⁉","group":"symbols","keywords":["exclamation","interrobang","mark","punctuation","question"]},{"id":":question_mark:","symbol":"❓","group":"symbols","keywords":["mark","punctuation","question"]},{"id":":white_question_mark:","symbol":"❔","group":"symbols","keywords":["mark","outlined","punctuation","question","white question mark"]},{"id":":white_exclamation_mark:","symbol":"❕","group":"symbols","keywords":["exclamation","mark","outlined","punctuation","white exclamation mark"]},{"id":":exclamation_mark:","symbol":"❗","group":"symbols","keywords":["exclamation","mark","punctuation"]},{"id":":wavy_dash:","symbol":"〰","group":"symbols","keywords":["dash","punctuation","wavy"]},{"id":":copyright:","symbol":"©","group":"symbols","keywords":["copyright"]},{"id":":registered:","symbol":"®","group":"symbols","keywords":["registered"]},{"id":":trade_mark:","symbol":"™","group":"symbols","keywords":["mark","tm","trade mark","trademark"]},{"id":":keycap_#:","symbol":"#️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_*:","symbol":"*️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_0:","symbol":"0️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_1:","symbol":"1️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_2:","symbol":"2️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_3:","symbol":"3️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_4:","symbol":"4️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_5:","symbol":"5️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_6:","symbol":"6️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_7:","symbol":"7️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_8:","symbol":"8️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_9:","symbol":"9️⃣","group":"symbols","keywords":["keycap"]},{"id":":keycap_10:","symbol":"🔟","group":"symbols","keywords":["keycap"]},{"id":":hundred_points:","symbol":"💯","group":"symbols","keywords":["100","full","hundred","hundred points","score"]},{"id":":input_latin_uppercase:","symbol":"🔠","group":"symbols","keywords":["ABCD","input","latin","letters","uppercase"]},{"id":":input_latin_lowercase:","symbol":"🔡","group":"symbols","keywords":["abcd","input","latin","letters","lowercase"]},{"id":":input_numbers:","symbol":"🔢","group":"symbols","keywords":["1234","input","numbers"]},{"id":":input_symbols:","symbol":"🔣","group":"symbols","keywords":["〒♪&%","input","input symbols"]},{"id":":input_latin_letters:","symbol":"🔤","group":"symbols","keywords":["abc","alphabet","input","latin","letters"]},{"id":":a_button_(blood_type):","symbol":"🅰","group":"symbols","keywords":["a","A button (blood type)","blood type"]},{"id":":ab_button_(blood_type):","symbol":"🆎","group":"symbols","keywords":["ab","AB button (blood type)","blood type"]},{"id":":b_button_(blood_type):","symbol":"🅱","group":"symbols","keywords":["b","B button (blood type)","blood type"]},{"id":":cl_button:","symbol":"🆑","group":"symbols","keywords":["cl","CL button"]},{"id":":cool_button:","symbol":"🆒","group":"symbols","keywords":["cool","COOL button"]},{"id":":free_button:","symbol":"🆓","group":"symbols","keywords":["free","FREE button"]},{"id":":information:","symbol":"ℹ","group":"symbols","keywords":["i","information"]},{"id":":id_button:","symbol":"🆔","group":"symbols","keywords":["id","ID button","identity"]},{"id":":circled_m:","symbol":"Ⓜ","group":"symbols","keywords":["circle","circled M","m"]},{"id":":new_button:","symbol":"🆕","group":"symbols","keywords":["new","NEW button"]},{"id":":ng_button:","symbol":"🆖","group":"symbols","keywords":["ng","NG button"]},{"id":":o_button_(blood_type):","symbol":"🅾","group":"symbols","keywords":["blood type","o","O button (blood type)"]},{"id":":ok_button:","symbol":"🆗","group":"symbols","keywords":["OK","OK button"]},{"id":":p_button:","symbol":"🅿","group":"symbols","keywords":["P button","parking"]},{"id":":sos_button:","symbol":"🆘","group":"symbols","keywords":["help","sos","SOS button"]},{"id":":up!_button:","symbol":"🆙","group":"symbols","keywords":["mark","up","UP! button"]},{"id":":vs_button:","symbol":"🆚","group":"symbols","keywords":["versus","vs","VS button"]},{"id":":japanese_“here”_button:","symbol":"🈁","group":"symbols","keywords":["“here”","Japanese","Japanese “here” button","katakana","ココ"]},{"id":":japanese_“service_charge”_button:","symbol":"🈂","group":"symbols","keywords":["“service charge”","Japanese","Japanese “service charge” button","katakana","サ"]},{"id":":japanese_“monthly_amount”_button:","symbol":"🈷","group":"symbols","keywords":["“monthly amount”","ideograph","Japanese","Japanese “monthly amount” button","月"]},{"id":":japanese_“not_free_of_charge”_button:","symbol":"🈶","group":"symbols","keywords":["“not free of charge”","ideograph","Japanese","Japanese “not free of charge” button","有"]},{"id":":japanese_“reserved”_button:","symbol":"🈯","group":"symbols","keywords":["“reserved”","ideograph","Japanese","Japanese “reserved” button","指"]},{"id":":japanese_“bargain”_button:","symbol":"🉐","group":"symbols","keywords":["“bargain”","ideograph","Japanese","Japanese “bargain” button","得"]},{"id":":japanese_“discount”_button:","symbol":"🈹","group":"symbols","keywords":["“discount”","ideograph","Japanese","Japanese “discount” button","割"]},{"id":":japanese_“free_of_charge”_button:","symbol":"🈚","group":"symbols","keywords":["“free of charge”","ideograph","Japanese","Japanese “free of charge” button","無"]},{"id":":japanese_“prohibited”_button:","symbol":"🈲","group":"symbols","keywords":["“prohibited”","ideograph","Japanese","Japanese “prohibited” button","禁"]},{"id":":japanese_“acceptable”_button:","symbol":"🉑","group":"symbols","keywords":["“acceptable”","ideograph","Japanese","Japanese “acceptable” button","可"]},{"id":":japanese_“application”_button:","symbol":"🈸","group":"symbols","keywords":["“application”","ideograph","Japanese","Japanese “application” button","申"]},{"id":":japanese_“passing_grade”_button:","symbol":"🈴","group":"symbols","keywords":["“passing grade”","ideograph","Japanese","Japanese “passing grade” button","合"]},{"id":":japanese_“vacancy”_button:","symbol":"🈳","group":"symbols","keywords":["“vacancy”","ideograph","Japanese","Japanese “vacancy” button","空"]},{"id":":japanese_“congratulations”_button:","symbol":"㊗","group":"symbols","keywords":["“congratulations”","ideograph","Japanese","Japanese “congratulations” button","祝"]},{"id":":japanese_“secret”_button:","symbol":"㊙","group":"symbols","keywords":["“secret”","ideograph","Japanese","Japanese “secret” button","秘"]},{"id":":japanese_“open_for_business”_button:","symbol":"🈺","group":"symbols","keywords":["“open for business”","ideograph","Japanese","Japanese “open for business” button","営"]},{"id":":japanese_“no_vacancy”_button:","symbol":"🈵","group":"symbols","keywords":["“no vacancy”","ideograph","Japanese","Japanese “no vacancy” button","満"]},{"id":":red_circle:","symbol":"🔴","group":"symbols","keywords":["circle","geometric","red"]},{"id":":blue_circle:","symbol":"🔵","group":"symbols","keywords":["blue","circle","geometric"]},{"id":":white_circle:","symbol":"⚪","group":"symbols","keywords":["circle","geometric","white circle"]},{"id":":black_circle:","symbol":"⚫","group":"symbols","keywords":["black circle","circle","geometric"]},{"id":":white_large_square:","symbol":"⬜","group":"symbols","keywords":["geometric","square","white large square"]},{"id":":black_large_square:","symbol":"⬛","group":"symbols","keywords":["black large square","geometric","square"]},{"id":":black_medium_square:","symbol":"◼","group":"symbols","keywords":["black medium square","geometric","square"]},{"id":":white_medium_square:","symbol":"◻","group":"symbols","keywords":["geometric","square","white medium square"]},{"id":":white_medium-small_square:","symbol":"◽","group":"symbols","keywords":["geometric","square","white medium-small square"]},{"id":":black_medium-small_square:","symbol":"◾","group":"symbols","keywords":["black medium-small square","geometric","square"]},{"id":":white_small_square:","symbol":"▫","group":"symbols","keywords":["geometric","square","white small square"]},{"id":":black_small_square:","symbol":"▪","group":"symbols","keywords":["black small square","geometric","square"]},{"id":":large_orange_diamond:","symbol":"🔶","group":"symbols","keywords":["diamond","geometric","large orange diamond","orange"]},{"id":":large_blue_diamond:","symbol":"🔷","group":"symbols","keywords":["blue","diamond","geometric","large blue diamond"]},{"id":":small_orange_diamond:","symbol":"🔸","group":"symbols","keywords":["diamond","geometric","orange","small orange diamond"]},{"id":":small_blue_diamond:","symbol":"🔹","group":"symbols","keywords":["blue","diamond","geometric","small blue diamond"]},{"id":":red_triangle_pointed_up:","symbol":"🔺","group":"symbols","keywords":["geometric","red","red triangle pointed up"]},{"id":":red_triangle_pointed_down:","symbol":"🔻","group":"symbols","keywords":["down","geometric","red","red triangle pointed down"]},{"id":":diamond_with_a_dot:","symbol":"💠","group":"symbols","keywords":["comic","diamond","diamond with a dot","geometric","inside"]},{"id":":radio_button:","symbol":"🔘","group":"symbols","keywords":["button","geometric","radio"]},{"id":":black_square_button:","symbol":"🔲","group":"symbols","keywords":["black square button","button","geometric","square"]},{"id":":white_square_button:","symbol":"🔳","group":"symbols","keywords":["button","geometric","outlined","square","white square button"]},{"id":":chequered_flag:","symbol":"🏁","group":"flags","keywords":["checkered","chequered","chequered flag","racing"]},{"id":":triangular_flag:","symbol":"🚩","group":"flags","keywords":["post","triangular flag"]},{"id":":crossed_flags:","symbol":"🎌","group":"flags","keywords":["celebration","cross","crossed","crossed flags","Japanese"]},{"id":":black_flag:","symbol":"🏴","group":"flags","keywords":["black flag","waving"]},{"id":":white_flag:","symbol":"🏳","group":"flags","keywords":["waving","white flag"]},{"id":":rainbow_flag:","symbol":"🏳️‍🌈","group":"flags","keywords":["rainbow","rainbow flag"]},{"id":":flag_ascension_island:","symbol":"🇦🇨","group":"flags","keywords":["flag"]},{"id":":flag_andorra:","symbol":"🇦🇩","group":"flags","keywords":["flag"]},{"id":":flag_united_arab_emirates:","symbol":"🇦🇪","group":"flags","keywords":["flag"]},{"id":":flag_afghanistan:","symbol":"🇦🇫","group":"flags","keywords":["flag"]},{"id":":flag_antigua_&_barbuda:","symbol":"🇦🇬","group":"flags","keywords":["flag"]},{"id":":flag_anguilla:","symbol":"🇦🇮","group":"flags","keywords":["flag"]},{"id":":flag_albania:","symbol":"🇦🇱","group":"flags","keywords":["flag"]},{"id":":flag_armenia:","symbol":"🇦🇲","group":"flags","keywords":["flag"]},{"id":":flag_angola:","symbol":"🇦🇴","group":"flags","keywords":["flag"]},{"id":":flag_antarctica:","symbol":"🇦🇶","group":"flags","keywords":["flag"]},{"id":":flag_argentina:","symbol":"🇦🇷","group":"flags","keywords":["flag"]},{"id":":flag_american_samoa:","symbol":"🇦🇸","group":"flags","keywords":["flag"]},{"id":":flag_austria:","symbol":"🇦🇹","group":"flags","keywords":["flag"]},{"id":":flag_australia:","symbol":"🇦🇺","group":"flags","keywords":["flag"]},{"id":":flag_aruba:","symbol":"🇦🇼","group":"flags","keywords":["flag"]},{"id":":flag_åland_islands:","symbol":"🇦🇽","group":"flags","keywords":["flag"]},{"id":":flag_azerbaijan:","symbol":"🇦🇿","group":"flags","keywords":["flag"]},{"id":":flag_bosnia_&_herzegovina:","symbol":"🇧🇦","group":"flags","keywords":["flag"]},{"id":":flag_barbados:","symbol":"🇧🇧","group":"flags","keywords":["flag"]},{"id":":flag_bangladesh:","symbol":"🇧🇩","group":"flags","keywords":["flag"]},{"id":":flag_belgium:","symbol":"🇧🇪","group":"flags","keywords":["flag"]},{"id":":flag_burkina_faso:","symbol":"🇧🇫","group":"flags","keywords":["flag"]},{"id":":flag_bulgaria:","symbol":"🇧🇬","group":"flags","keywords":["flag"]},{"id":":flag_bahrain:","symbol":"🇧🇭","group":"flags","keywords":["flag"]},{"id":":flag_burundi:","symbol":"🇧🇮","group":"flags","keywords":["flag"]},{"id":":flag_benin:","symbol":"🇧🇯","group":"flags","keywords":["flag"]},{"id":":flag_st._barthélemy:","symbol":"🇧🇱","group":"flags","keywords":["flag"]},{"id":":flag_bermuda:","symbol":"🇧🇲","group":"flags","keywords":["flag"]},{"id":":flag_brunei:","symbol":"🇧🇳","group":"flags","keywords":["flag"]},{"id":":flag_bolivia:","symbol":"🇧🇴","group":"flags","keywords":["flag"]},{"id":":flag_caribbean_netherlands:","symbol":"🇧🇶","group":"flags","keywords":["flag"]},{"id":":flag_brazil:","symbol":"🇧🇷","group":"flags","keywords":["flag"]},{"id":":flag_bahamas:","symbol":"🇧🇸","group":"flags","keywords":["flag"]},{"id":":flag_bhutan:","symbol":"🇧🇹","group":"flags","keywords":["flag"]},{"id":":flag_bouvet_island:","symbol":"🇧🇻","group":"flags","keywords":["flag"]},{"id":":flag_botswana:","symbol":"🇧🇼","group":"flags","keywords":["flag"]},{"id":":flag_belarus:","symbol":"🇧🇾","group":"flags","keywords":["flag"]},{"id":":flag_belize:","symbol":"🇧🇿","group":"flags","keywords":["flag"]},{"id":":flag_canada:","symbol":"🇨🇦","group":"flags","keywords":["flag"]},{"id":":flag_cocos_(keeling)_islands:","symbol":"🇨🇨","group":"flags","keywords":["flag"]},{"id":":flag_congo_-_kinshasa:","symbol":"🇨🇩","group":"flags","keywords":["flag"]},{"id":":flag_central_african_republic:","symbol":"🇨🇫","group":"flags","keywords":["flag"]},{"id":":flag_congo_-_brazzaville:","symbol":"🇨🇬","group":"flags","keywords":["flag"]},{"id":":flag_switzerland:","symbol":"🇨🇭","group":"flags","keywords":["flag"]},{"id":":flag_côte_d’ivoire:","symbol":"🇨🇮","group":"flags","keywords":["flag"]},{"id":":flag_cook_islands:","symbol":"🇨🇰","group":"flags","keywords":["flag"]},{"id":":flag_chile:","symbol":"🇨🇱","group":"flags","keywords":["flag"]},{"id":":flag_cameroon:","symbol":"🇨🇲","group":"flags","keywords":["flag"]},{"id":":flag_china:","symbol":"🇨🇳","group":"flags","keywords":["flag"]},{"id":":flag_colombia:","symbol":"🇨🇴","group":"flags","keywords":["flag"]},{"id":":flag_clipperton_island:","symbol":"🇨🇵","group":"flags","keywords":["flag"]},{"id":":flag_costa_rica:","symbol":"🇨🇷","group":"flags","keywords":["flag"]},{"id":":flag_cuba:","symbol":"🇨🇺","group":"flags","keywords":["flag"]},{"id":":flag_cape_verde:","symbol":"🇨🇻","group":"flags","keywords":["flag"]},{"id":":flag_curaçao:","symbol":"🇨🇼","group":"flags","keywords":["flag"]},{"id":":flag_christmas_island:","symbol":"🇨🇽","group":"flags","keywords":["flag"]},{"id":":flag_cyprus:","symbol":"🇨🇾","group":"flags","keywords":["flag"]},{"id":":flag_czechia:","symbol":"🇨🇿","group":"flags","keywords":["flag"]},{"id":":flag_germany:","symbol":"🇩🇪","group":"flags","keywords":["flag"]},{"id":":flag_diego_garcia:","symbol":"🇩🇬","group":"flags","keywords":["flag"]},{"id":":flag_djibouti:","symbol":"🇩🇯","group":"flags","keywords":["flag"]},{"id":":flag_denmark:","symbol":"🇩🇰","group":"flags","keywords":["flag"]},{"id":":flag_dominica:","symbol":"🇩🇲","group":"flags","keywords":["flag"]},{"id":":flag_dominican_republic:","symbol":"🇩🇴","group":"flags","keywords":["flag"]},{"id":":flag_algeria:","symbol":"🇩🇿","group":"flags","keywords":["flag"]},{"id":":flag_ceuta_&_melilla:","symbol":"🇪🇦","group":"flags","keywords":["flag"]},{"id":":flag_ecuador:","symbol":"🇪🇨","group":"flags","keywords":["flag"]},{"id":":flag_estonia:","symbol":"🇪🇪","group":"flags","keywords":["flag"]},{"id":":flag_egypt:","symbol":"🇪🇬","group":"flags","keywords":["flag"]},{"id":":flag_western_sahara:","symbol":"🇪🇭","group":"flags","keywords":["flag"]},{"id":":flag_eritrea:","symbol":"🇪🇷","group":"flags","keywords":["flag"]},{"id":":flag_spain:","symbol":"🇪🇸","group":"flags","keywords":["flag"]},{"id":":flag_ethiopia:","symbol":"🇪🇹","group":"flags","keywords":["flag"]},{"id":":flag_european_union:","symbol":"🇪🇺","group":"flags","keywords":["flag"]},{"id":":flag_finland:","symbol":"🇫🇮","group":"flags","keywords":["flag"]},{"id":":flag_fiji:","symbol":"🇫🇯","group":"flags","keywords":["flag"]},{"id":":flag_falkland_islands:","symbol":"🇫🇰","group":"flags","keywords":["flag"]},{"id":":flag_micronesia:","symbol":"🇫🇲","group":"flags","keywords":["flag"]},{"id":":flag_faroe_islands:","symbol":"🇫🇴","group":"flags","keywords":["flag"]},{"id":":flag_france:","symbol":"🇫🇷","group":"flags","keywords":["flag"]},{"id":":flag_gabon:","symbol":"🇬🇦","group":"flags","keywords":["flag"]},{"id":":flag_united_kingdom:","symbol":"🇬🇧","group":"flags","keywords":["flag"]},{"id":":flag_grenada:","symbol":"🇬🇩","group":"flags","keywords":["flag"]},{"id":":flag_georgia:","symbol":"🇬🇪","group":"flags","keywords":["flag"]},{"id":":flag_french_guiana:","symbol":"🇬🇫","group":"flags","keywords":["flag"]},{"id":":flag_guernsey:","symbol":"🇬🇬","group":"flags","keywords":["flag"]},{"id":":flag_ghana:","symbol":"🇬🇭","group":"flags","keywords":["flag"]},{"id":":flag_gibraltar:","symbol":"🇬🇮","group":"flags","keywords":["flag"]},{"id":":flag_greenland:","symbol":"🇬🇱","group":"flags","keywords":["flag"]},{"id":":flag_gambia:","symbol":"🇬🇲","group":"flags","keywords":["flag"]},{"id":":flag_guinea:","symbol":"🇬🇳","group":"flags","keywords":["flag"]},{"id":":flag_guadeloupe:","symbol":"🇬🇵","group":"flags","keywords":["flag"]},{"id":":flag_equatorial_guinea:","symbol":"🇬🇶","group":"flags","keywords":["flag"]},{"id":":flag_greece:","symbol":"🇬🇷","group":"flags","keywords":["flag"]},{"id":":flag_south_georgia_&_south_sandwich_islands:","symbol":"🇬🇸","group":"flags","keywords":["flag"]},{"id":":flag_guatemala:","symbol":"🇬🇹","group":"flags","keywords":["flag"]},{"id":":flag_guam:","symbol":"🇬🇺","group":"flags","keywords":["flag"]},{"id":":flag_guinea-bissau:","symbol":"🇬🇼","group":"flags","keywords":["flag"]},{"id":":flag_guyana:","symbol":"🇬🇾","group":"flags","keywords":["flag"]},{"id":":flag_hong_kong_sar_china:","symbol":"🇭🇰","group":"flags","keywords":["flag"]},{"id":":flag_heard_&_mcdonald_islands:","symbol":"🇭🇲","group":"flags","keywords":["flag"]},{"id":":flag_honduras:","symbol":"🇭🇳","group":"flags","keywords":["flag"]},{"id":":flag_croatia:","symbol":"🇭🇷","group":"flags","keywords":["flag"]},{"id":":flag_haiti:","symbol":"🇭🇹","group":"flags","keywords":["flag"]},{"id":":flag_hungary:","symbol":"🇭🇺","group":"flags","keywords":["flag"]},{"id":":flag_canary_islands:","symbol":"🇮🇨","group":"flags","keywords":["flag"]},{"id":":flag_indonesia:","symbol":"🇮🇩","group":"flags","keywords":["flag"]},{"id":":flag_ireland:","symbol":"🇮🇪","group":"flags","keywords":["flag"]},{"id":":flag_israel:","symbol":"🇮🇱","group":"flags","keywords":["flag"]},{"id":":flag_isle_of_man:","symbol":"🇮🇲","group":"flags","keywords":["flag"]},{"id":":flag_india:","symbol":"🇮🇳","group":"flags","keywords":["flag"]},{"id":":flag_british_indian_ocean_territory:","symbol":"🇮🇴","group":"flags","keywords":["flag"]},{"id":":flag_iraq:","symbol":"🇮🇶","group":"flags","keywords":["flag"]},{"id":":flag_iran:","symbol":"🇮🇷","group":"flags","keywords":["flag"]},{"id":":flag_iceland:","symbol":"🇮🇸","group":"flags","keywords":["flag"]},{"id":":flag_italy:","symbol":"🇮🇹","group":"flags","keywords":["flag"]},{"id":":flag_jersey:","symbol":"🇯🇪","group":"flags","keywords":["flag"]},{"id":":flag_jamaica:","symbol":"🇯🇲","group":"flags","keywords":["flag"]},{"id":":flag_jordan:","symbol":"🇯🇴","group":"flags","keywords":["flag"]},{"id":":flag_japan:","symbol":"🇯🇵","group":"flags","keywords":["flag"]},{"id":":flag_kenya:","symbol":"🇰🇪","group":"flags","keywords":["flag"]},{"id":":flag_kyrgyzstan:","symbol":"🇰🇬","group":"flags","keywords":["flag"]},{"id":":flag_cambodia:","symbol":"🇰🇭","group":"flags","keywords":["flag"]},{"id":":flag_kiribati:","symbol":"🇰🇮","group":"flags","keywords":["flag"]},{"id":":flag_comoros:","symbol":"🇰🇲","group":"flags","keywords":["flag"]},{"id":":flag_st._kitts_&_nevis:","symbol":"🇰🇳","group":"flags","keywords":["flag"]},{"id":":flag_north_korea:","symbol":"🇰🇵","group":"flags","keywords":["flag"]},{"id":":flag_south_korea:","symbol":"🇰🇷","group":"flags","keywords":["flag"]},{"id":":flag_kuwait:","symbol":"🇰🇼","group":"flags","keywords":["flag"]},{"id":":flag_cayman_islands:","symbol":"🇰🇾","group":"flags","keywords":["flag"]},{"id":":flag_kazakhstan:","symbol":"🇰🇿","group":"flags","keywords":["flag"]},{"id":":flag_laos:","symbol":"🇱🇦","group":"flags","keywords":["flag"]},{"id":":flag_lebanon:","symbol":"🇱🇧","group":"flags","keywords":["flag"]},{"id":":flag_st._lucia:","symbol":"🇱🇨","group":"flags","keywords":["flag"]},{"id":":flag_liechtenstein:","symbol":"🇱🇮","group":"flags","keywords":["flag"]},{"id":":flag_sri_lanka:","symbol":"🇱🇰","group":"flags","keywords":["flag"]},{"id":":flag_liberia:","symbol":"🇱🇷","group":"flags","keywords":["flag"]},{"id":":flag_lesotho:","symbol":"🇱🇸","group":"flags","keywords":["flag"]},{"id":":flag_lithuania:","symbol":"🇱🇹","group":"flags","keywords":["flag"]},{"id":":flag_luxembourg:","symbol":"🇱🇺","group":"flags","keywords":["flag"]},{"id":":flag_latvia:","symbol":"🇱🇻","group":"flags","keywords":["flag"]},{"id":":flag_libya:","symbol":"🇱🇾","group":"flags","keywords":["flag"]},{"id":":flag_morocco:","symbol":"🇲🇦","group":"flags","keywords":["flag"]},{"id":":flag_monaco:","symbol":"🇲🇨","group":"flags","keywords":["flag"]},{"id":":flag_moldova:","symbol":"🇲🇩","group":"flags","keywords":["flag"]},{"id":":flag_montenegro:","symbol":"🇲🇪","group":"flags","keywords":["flag"]},{"id":":flag_st._martin:","symbol":"🇲🇫","group":"flags","keywords":["flag"]},{"id":":flag_madagascar:","symbol":"🇲🇬","group":"flags","keywords":["flag"]},{"id":":flag_marshall_islands:","symbol":"🇲🇭","group":"flags","keywords":["flag"]},{"id":":flag_macedonia:","symbol":"🇲🇰","group":"flags","keywords":["flag"]},{"id":":flag_mali:","symbol":"🇲🇱","group":"flags","keywords":["flag"]},{"id":":flag_myanmar_(burma):","symbol":"🇲🇲","group":"flags","keywords":["flag"]},{"id":":flag_mongolia:","symbol":"🇲🇳","group":"flags","keywords":["flag"]},{"id":":flag_macau_sar_china:","symbol":"🇲🇴","group":"flags","keywords":["flag"]},{"id":":flag_northern_mariana_islands:","symbol":"🇲🇵","group":"flags","keywords":["flag"]},{"id":":flag_martinique:","symbol":"🇲🇶","group":"flags","keywords":["flag"]},{"id":":flag_mauritania:","symbol":"🇲🇷","group":"flags","keywords":["flag"]},{"id":":flag_montserrat:","symbol":"🇲🇸","group":"flags","keywords":["flag"]},{"id":":flag_malta:","symbol":"🇲🇹","group":"flags","keywords":["flag"]},{"id":":flag_mauritius:","symbol":"🇲🇺","group":"flags","keywords":["flag"]},{"id":":flag_maldives:","symbol":"🇲🇻","group":"flags","keywords":["flag"]},{"id":":flag_malawi:","symbol":"🇲🇼","group":"flags","keywords":["flag"]},{"id":":flag_mexico:","symbol":"🇲🇽","group":"flags","keywords":["flag"]},{"id":":flag_malaysia:","symbol":"🇲🇾","group":"flags","keywords":["flag"]},{"id":":flag_mozambique:","symbol":"🇲🇿","group":"flags","keywords":["flag"]},{"id":":flag_namibia:","symbol":"🇳🇦","group":"flags","keywords":["flag"]},{"id":":flag_new_caledonia:","symbol":"🇳🇨","group":"flags","keywords":["flag"]},{"id":":flag_niger:","symbol":"🇳🇪","group":"flags","keywords":["flag"]},{"id":":flag_norfolk_island:","symbol":"🇳🇫","group":"flags","keywords":["flag"]},{"id":":flag_nigeria:","symbol":"🇳🇬","group":"flags","keywords":["flag"]},{"id":":flag_nicaragua:","symbol":"🇳🇮","group":"flags","keywords":["flag"]},{"id":":flag_netherlands:","symbol":"🇳🇱","group":"flags","keywords":["flag"]},{"id":":flag_norway:","symbol":"🇳🇴","group":"flags","keywords":["flag"]},{"id":":flag_nepal:","symbol":"🇳🇵","group":"flags","keywords":["flag"]},{"id":":flag_nauru:","symbol":"🇳🇷","group":"flags","keywords":["flag"]},{"id":":flag_niue:","symbol":"🇳🇺","group":"flags","keywords":["flag"]},{"id":":flag_new_zealand:","symbol":"🇳🇿","group":"flags","keywords":["flag"]},{"id":":flag_oman:","symbol":"🇴🇲","group":"flags","keywords":["flag"]},{"id":":flag_panama:","symbol":"🇵🇦","group":"flags","keywords":["flag"]},{"id":":flag_peru:","symbol":"🇵🇪","group":"flags","keywords":["flag"]},{"id":":flag_french_polynesia:","symbol":"🇵🇫","group":"flags","keywords":["flag"]},{"id":":flag_papua_new_guinea:","symbol":"🇵🇬","group":"flags","keywords":["flag"]},{"id":":flag_philippines:","symbol":"🇵🇭","group":"flags","keywords":["flag"]},{"id":":flag_pakistan:","symbol":"🇵🇰","group":"flags","keywords":["flag"]},{"id":":flag_poland:","symbol":"🇵🇱","group":"flags","keywords":["flag"]},{"id":":flag_st._pierre_&_miquelon:","symbol":"🇵🇲","group":"flags","keywords":["flag"]},{"id":":flag_pitcairn_islands:","symbol":"🇵🇳","group":"flags","keywords":["flag"]},{"id":":flag_puerto_rico:","symbol":"🇵🇷","group":"flags","keywords":["flag"]},{"id":":flag_palestinian_territories:","symbol":"🇵🇸","group":"flags","keywords":["flag"]},{"id":":flag_portugal:","symbol":"🇵🇹","group":"flags","keywords":["flag"]},{"id":":flag_palau:","symbol":"🇵🇼","group":"flags","keywords":["flag"]},{"id":":flag_paraguay:","symbol":"🇵🇾","group":"flags","keywords":["flag"]},{"id":":flag_qatar:","symbol":"🇶🇦","group":"flags","keywords":["flag"]},{"id":":flag_réunion:","symbol":"🇷🇪","group":"flags","keywords":["flag"]},{"id":":flag_romania:","symbol":"🇷🇴","group":"flags","keywords":["flag"]},{"id":":flag_serbia:","symbol":"🇷🇸","group":"flags","keywords":["flag"]},{"id":":flag_russia:","symbol":"🇷🇺","group":"flags","keywords":["flag"]},{"id":":flag_rwanda:","symbol":"🇷🇼","group":"flags","keywords":["flag"]},{"id":":flag_saudi_arabia:","symbol":"🇸🇦","group":"flags","keywords":["flag"]},{"id":":flag_solomon_islands:","symbol":"🇸🇧","group":"flags","keywords":["flag"]},{"id":":flag_seychelles:","symbol":"🇸🇨","group":"flags","keywords":["flag"]},{"id":":flag_sudan:","symbol":"🇸🇩","group":"flags","keywords":["flag"]},{"id":":flag_sweden:","symbol":"🇸🇪","group":"flags","keywords":["flag"]},{"id":":flag_singapore:","symbol":"🇸🇬","group":"flags","keywords":["flag"]},{"id":":flag_st._helena:","symbol":"🇸🇭","group":"flags","keywords":["flag"]},{"id":":flag_slovenia:","symbol":"🇸🇮","group":"flags","keywords":["flag"]},{"id":":flag_svalbard_&_jan_mayen:","symbol":"🇸🇯","group":"flags","keywords":["flag"]},{"id":":flag_slovakia:","symbol":"🇸🇰","group":"flags","keywords":["flag"]},{"id":":flag_sierra_leone:","symbol":"🇸🇱","group":"flags","keywords":["flag"]},{"id":":flag_san_marino:","symbol":"🇸🇲","group":"flags","keywords":["flag"]},{"id":":flag_senegal:","symbol":"🇸🇳","group":"flags","keywords":["flag"]},{"id":":flag_somalia:","symbol":"🇸🇴","group":"flags","keywords":["flag"]},{"id":":flag_suriname:","symbol":"🇸🇷","group":"flags","keywords":["flag"]},{"id":":flag_south_sudan:","symbol":"🇸🇸","group":"flags","keywords":["flag"]},{"id":":flag_são_tomé_&_príncipe:","symbol":"🇸🇹","group":"flags","keywords":["flag"]},{"id":":flag_el_salvador:","symbol":"🇸🇻","group":"flags","keywords":["flag"]},{"id":":flag_sint_maarten:","symbol":"🇸🇽","group":"flags","keywords":["flag"]},{"id":":flag_syria:","symbol":"🇸🇾","group":"flags","keywords":["flag"]},{"id":":flag_swaziland:","symbol":"🇸🇿","group":"flags","keywords":["flag"]},{"id":":flag_tristan_da_cunha:","symbol":"🇹🇦","group":"flags","keywords":["flag"]},{"id":":flag_turks_&_caicos_islands:","symbol":"🇹🇨","group":"flags","keywords":["flag"]},{"id":":flag_chad:","symbol":"🇹🇩","group":"flags","keywords":["flag"]},{"id":":flag_french_southern_territories:","symbol":"🇹🇫","group":"flags","keywords":["flag"]},{"id":":flag_togo:","symbol":"🇹🇬","group":"flags","keywords":["flag"]},{"id":":flag_thailand:","symbol":"🇹🇭","group":"flags","keywords":["flag"]},{"id":":flag_tajikistan:","symbol":"🇹🇯","group":"flags","keywords":["flag"]},{"id":":flag_tokelau:","symbol":"🇹🇰","group":"flags","keywords":["flag"]},{"id":":flag_timor-leste:","symbol":"🇹🇱","group":"flags","keywords":["flag"]},{"id":":flag_turkmenistan:","symbol":"🇹🇲","group":"flags","keywords":["flag"]},{"id":":flag_tunisia:","symbol":"🇹🇳","group":"flags","keywords":["flag"]},{"id":":flag_tonga:","symbol":"🇹🇴","group":"flags","keywords":["flag"]},{"id":":flag_turkey:","symbol":"🇹🇷","group":"flags","keywords":["flag"]},{"id":":flag_trinidad_&_tobago:","symbol":"🇹🇹","group":"flags","keywords":["flag"]},{"id":":flag_tuvalu:","symbol":"🇹🇻","group":"flags","keywords":["flag"]},{"id":":flag_taiwan:","symbol":"🇹🇼","group":"flags","keywords":["flag"]},{"id":":flag_tanzania:","symbol":"🇹🇿","group":"flags","keywords":["flag"]},{"id":":flag_ukraine:","symbol":"🇺🇦","group":"flags","keywords":["flag"]},{"id":":flag_uganda:","symbol":"🇺🇬","group":"flags","keywords":["flag"]},{"id":":flag_u.s._outlying_islands:","symbol":"🇺🇲","group":"flags","keywords":["flag"]},{"id":":flag_united_nations:","symbol":"🇺🇳","group":"flags","keywords":["flag"]},{"id":":flag_united_states:","symbol":"🇺🇸","group":"flags","keywords":["flag"]},{"id":":flag_uruguay:","symbol":"🇺🇾","group":"flags","keywords":["flag"]},{"id":":flag_uzbekistan:","symbol":"🇺🇿","group":"flags","keywords":["flag"]},{"id":":flag_vatican_city:","symbol":"🇻🇦","group":"flags","keywords":["flag"]},{"id":":flag_st._vincent_&_grenadines:","symbol":"🇻🇨","group":"flags","keywords":["flag"]},{"id":":flag_venezuela:","symbol":"🇻🇪","group":"flags","keywords":["flag"]},{"id":":flag_british_virgin_islands:","symbol":"🇻🇬","group":"flags","keywords":["flag"]},{"id":":flag_u.s._virgin_islands:","symbol":"🇻🇮","group":"flags","keywords":["flag"]},{"id":":flag_vietnam:","symbol":"🇻🇳","group":"flags","keywords":["flag"]},{"id":":flag_vanuatu:","symbol":"🇻🇺","group":"flags","keywords":["flag"]},{"id":":flag_wallis_&_futuna:","symbol":"🇼🇫","group":"flags","keywords":["flag"]},{"id":":flag_samoa:","symbol":"🇼🇸","group":"flags","keywords":["flag"]},{"id":":flag_kosovo:","symbol":"🇽🇰","group":"flags","keywords":["flag"]},{"id":":flag_yemen:","symbol":"🇾🇪","group":"flags","keywords":["flag"]},{"id":":flag_mayotte:","symbol":"🇾🇹","group":"flags","keywords":["flag"]},{"id":":flag_south_africa:","symbol":"🇿🇦","group":"flags","keywords":["flag"]},{"id":":flag_zambia:","symbol":"🇿🇲","group":"flags","keywords":["flag"]},{"id":":flag_zimbabwe:","symbol":"🇿🇼","group":"flags","keywords":["flag"]},{"id":":flag_england:","symbol":"🏴󠁧󠁢󠁥󠁮󠁧󠁿","group":"flags","keywords":["flag"]},{"id":":flag_scotland:","symbol":"🏴󠁧󠁢󠁳󠁣󠁴󠁿","group":"flags","keywords":["flag"]},{"id":":flag_wales:","symbol":"🏴󠁧󠁢󠁷󠁬󠁳󠁿","group":"flags","keywords":["flag"]}]');const qS={autosave:{waitingTime:5e3,save:e=>async function(e){const t=Date.now(),o=e.config.get(VS),i=await e.getData();i||console.warn("Trying to save snapshot but data is not defined.");const n={timestamp:t,hash:SS(i),content:i},s=IS(o),r=s?.items||[];r.find((e=>n.hash===e.hash))||r.push(n);try{const e=TS.compress(JSON.stringify({items:r,updatedAt:t}));localStorage.setItem(o,e)}catch(t){Np(e,"notifications").addError("Failed to save CKEditor data to localStorage: "+t.toString())}return!0}(e)},heading:{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h1",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h2",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h3",title:"Heading 3",class:"ck-heading_heading3"},{model:"heading4",view:"h4",title:"Heading 4",class:"ck-heading_heading4"},{model:"heading5",view:"h5",title:"Heading 5",class:"ck-heading_heading5"}]},toolbar:{},OPMacroEmbeddedTable:{toolbar:["opEditEmbeddedTableQuery"]},OPMacroWpButton:{toolbar:["opEditWpMacroButton"]},OPWikiIncludePage:{toolbar:["opEditWikiIncludeMacroButton"]},OPCodeBlock:{toolbar:["opEditCodeBlock"]},OPChildPages:{toolbar:["opEditChildPagesMacroButton"]},image:{insert:{type:"inline"},resizeUnit:"px",resizeOptions:[{name:"imageResize:original",value:null,icon:"original"},{name:"imageResize:50",value:"50",icon:"medium"},{name:"imageResize:75",value:"75",icon:"large"}],toolbar:["toggleImageCaption","imageTextAlternative","|","imageStyle:inline","imageStyle:block","|","imageResize:original"]},table:{contentToolbar:["tableColumn","tableRow","mergeTableCells","tableProperties","tableCellProperties"]},mention:{feeds:[{marker:"@",feed:function(e){const t=this;let o=Fp(t);if(o&&"Activity::Comment"===o._type){const e=o.$embedded.workPackage;e&&(o=e)}if(!o||"WorkPackage"!==o._type)return[];if(t.config.get("disabledMentions").includes("user"))return[];const i=Bp(t).api.v3.principals(o,e),n=Mp(t),s=window.OpenProject.urlRoot;return new Promise(((e,t)=>{_k(i,{responseKind:"json",query:{select:"elements/_type,elements/id,elements/name"}}).then((e=>e.json)).then((t=>{e(_.uniqBy(t._embedded.elements,(e=>e.id)).map((e=>{const t=e._type.toLowerCase(),o=`@${e.name}`,i=`@${e.id}`,r=e.id,a=n.services.apiV3Service[`${t}s`].segment;return{type:t,id:i,text:o,link:`${s}/${a}/${r}`,idNumber:r,name:e.name}})))})).catch((e=>{console.error("Error fetching user mentions:",e),t(e)}))}))},itemRenderer:zS,minimumCharacters:0},{marker:"###",feed:LS("###"),itemRenderer:zS,minimumCharacters:1},{marker:"##",feed:LS("##"),itemRenderer:zS,minimumCharacters:1},{marker:"#",feed:LS("#"),itemRenderer:zS,minimumCharacters:1},{marker:":",feed:function(e){return new Promise(((t,o)=>{const i=jS.filter((t=>function(e,t,o){if(t.includes(e))return!0;if(0!==o.length)for(let t=0;t({id:e.id,name:e.id.replace(/:/g,""),text:e.symbol,type:"emoji"})));t(i)}))},itemRenderer:function(e){const t=document.createElement("span");return t.classList.add("mention-list-item"),t.textContent=`${e.text} ${e.name}`,t},minimumCharacters:1}]},language:"en",licenseKey:"GPL"};function $S(e){return(t,o)=>{const i=o.openProject.context;o.removePlugins=o.removePlugins||[];const n=i.resource;if(n&&n.canAddAttachments||o.removePlugins.push(...NS.map((e=>e.pluginName))),!1===i.macros&&(o.openProject.disableAllMacros=!0,o.removePlugins.push(...MS.map((e=>e.pluginName)))),Array.isArray(i.macros)){const e=MS.filter((e=>-1===i.macros.indexOf(e.pluginName)));o.removePlugins.push(...e)}o.disabledMentions=[];const s=i.disabledMentions;return Array.isArray(s)&&(o.disabledMentions=s),e.create(t,o).then((e=>e))}}class HS extends dg{}class WS extends dg{}window.OPConstrainedEditor=HS,window.OPClassicEditor=WS,window.OPEditorWatchdog=cc,WS.createCustomized=$S(WS),WS.builtinPlugins=BS,WS.defaultConfig=Object.assign({},qS),WS.defaultConfig.toolbar={items:["heading","|","bold","italic","strikethrough","code","insertCodeBlock","link","bulletedList","numberedList","todoList","imageUpload","blockQuote","|","insertTable","macroList","|","opContentRevisions","undo","redo","openProjectShowFormattingHelp","|","pageBreak","|","preview","opShowSource"]},HS.createCustomized=$S(HS),HS.builtinPlugins=BS,HS.defaultConfig=Object.assign({},qS),HS.defaultConfig.toolbar={items:["bold","italic","strikethrough","code","insertCodeBlock","link","bulletedList","numberedList","todoList","imageUpload","blockQuote","|","opContentRevisions","undo","redo","openProjectShowFormattingHelp","preview","opShowSource"]}})(),i=i.default})())); //# sourceMappingURL=ckeditor.js.map \ No newline at end of file diff --git a/frontend/src/vendor/ckeditor/ckeditor.js.map b/frontend/src/vendor/ckeditor/ckeditor.js.map index 9e2c3c13fc7..daff530753e 100644 --- a/frontend/src/vendor/ckeditor/ckeditor.js.map +++ b/frontend/src/vendor/ckeditor/ckeditor.js.map @@ -1 +1 @@ -{"version":3,"file":"ckeditor.js","mappings":";;;;;AAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAkB,SAAID,IAEtBD,EAAe,SAAIC,GACpB,CATD,CASGK,MAAM,IACT,M,ICTIC,EADAC,E,+ECGAC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,4IAA6I,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2FAA2F,iHAAiH,MAAQ,GAAG,SAAW,0DAA0D,eAAiB,CAAC,6PAA6P,iXAAiX,WAAa,MAE1nC,S,8ECJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,43IAA63I,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uFAAuF,iFAAiF,4GAA4G,qFAAqF,MAAQ,GAAG,SAAW,04BAA04B,eAAiB,CAAC,kyCAAoyC,6WAA6W,urLAAysL,ieAAie,WAAa,MAEpib,S,+ECJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,+pCAAgqC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,8GAA8G,oFAAoF,kFAAkF,oFAAoF,MAAQ,GAAG,SAAW,6PAA6P,eAAiB,CAAC,g4DAAk5D,geAAge,sWAAsW,6eAA6e,WAAa,MAEnkK,S,+ECJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,66HAA86H,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yFAAyF,8GAA8G,qFAAqF,mFAAmF,qFAAqF,MAAQ,GAAG,SAAW,q0BAAq0B,eAAiB,CAAC,w1EAAw1E,miGAA0iG,6UAA6U,4eAA4e,ieAAie,WAAa,MAE58X,S,+ECJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,qYAAsY,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,oEAAoE,MAAQ,GAAG,SAAW,yIAAyI,eAAiB,CAAC,8qBAA8qB,WAAa,MAE13C,S,uBCEAR,EAAOD,QANP,SAA4BU,GAC1B,IAAIC,EAAUC,SAASC,cAAc,SAGrC,OAFAH,EAAQI,cAAcH,EAASD,EAAQK,YACvCL,EAAQM,OAAOL,EAASD,EAAQA,SACzBC,CACT,C,+ECLIJ,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,uwTAAwwT,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,4EAA4E,gFAAgF,+EAA+E,qFAAqF,iGAAiG,mGAAmG,gGAAgG,gGAAgG,gGAAgG,kGAAkG,iGAAiG,mGAAmG,MAAQ,GAAG,SAAW,6mFAA6mF,eAAiB,CAAC,obAAob,qSAAqS,wWAAwW,0sFAA8sF,klEAAslE,0rNAA0rN,2RAA2R,qgCAAqgC,qeAAqe,siFAAojF,yQAAyQ,4oBAA4oB,woBAAwoB,WAAa,MAEz//B,S,gBCPA,MAAMQ,EAAc,EAAQ,MACtBC,EAAQ,EAAQ,MAEhBC,EAAU,CAAC,EAEFC,OAAOC,KAAKJ,GA0DpBK,SAAQC,IACdJ,EAAQI,GAAa,CAAC,EAEtBH,OAAOI,eAAeL,EAAQI,GAAY,WAAY,CAACE,MAAOR,EAAYM,GAAWG,WACrFN,OAAOI,eAAeL,EAAQI,GAAY,SAAU,CAACE,MAAOR,EAAYM,GAAWI,SAEnF,MAAMC,EAASV,EAAMK,GACDH,OAAOC,KAAKO,GAEpBN,SAAQO,IACnB,MAAMC,EAAKF,EAAOC,GAElBV,EAAQI,GAAWM,GA9CrB,SAAqBC,GACpB,MAAMC,EAAY,YAAaC,GAC9B,MAAMC,EAAOD,EAAK,GAElB,GAAIC,QACH,OAAOA,EAGJA,EAAKC,OAAS,IACjBF,EAAOC,GAGR,MAAME,EAASL,EAAGE,GAKlB,GAAsB,iBAAXG,EACV,IAAK,IAAIC,EAAMD,EAAOD,OAAQG,EAAI,EAAGA,EAAID,EAAKC,IAC7CF,EAAOE,GAAKC,KAAKC,MAAMJ,EAAOE,IAIhC,OAAOF,CACR,EAOA,MAJI,eAAgBL,IACnBC,EAAUS,WAAaV,EAAGU,YAGpBT,CACR,CAcgCU,CAAYX,GAC1CX,EAAQI,GAAWM,GAASa,IArE9B,SAAiBZ,GAChB,MAAMC,EAAY,YAAaC,GAC9B,MAAMC,EAAOD,EAAK,GAClB,OAAIC,QACIA,GAGJA,EAAKC,OAAS,IACjBF,EAAOC,GAGDH,EAAGE,GACX,EAOA,MAJI,eAAgBF,IACnBC,EAAUS,WAAaV,EAAGU,YAGpBT,CACR,CAiDoCY,CAAQb,EAAG,GAC5C,IAGH7B,EAAOD,QAAUmB,C,+EC7EbZ,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,qiEAAsiE,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,sGAAsG,wEAAwE,2HAA2H,yEAAyE,MAAQ,GAAG,SAAW,2eAA2e,eAAiB,CAAC,myBAAyyB,8RAA8R,4+DAAg/D,oRAAsR,WAAa,MAEz0M,S,+ECJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0lDAA2lD,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,qFAAqF,0GAA0G,oFAAoF,oFAAoF,MAAQ,GAAG,SAAW,+hBAA+hB,eAAiB,CAAC,y1BAAy1B,g+CAAs+C,geAAge,6eAA6e,WAAa,MAEt2L,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,2EAA4E,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iFAAiF,MAAQ,GAAG,SAAW,mBAAmB,eAAiB,CAAC,yRAAyR,WAAa,MAElkB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,srBAAurB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,sIAAsI,MAAQ,GAAG,SAAW,iHAAiH,eAAiB,CAAC,ohCAAohC,WAAa,MAE3jE,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,otBAAqtB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,gFAAgF,kGAAkG,MAAQ,GAAG,SAAW,0OAA0O,eAAiB,CAAC,w5BAAw5B,8aAA8a,mxCAAqxC,WAAa,MAEj5H,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,2iCAA4iC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iFAAiF,uGAAuG,MAAQ,GAAG,SAAW,sVAAsV,eAAiB,CAAC,oZAAoZ,qlDAAqlD,WAAa,MAE5pH,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,mcAAoc,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,qFAAqF,yEAAyE,MAAQ,GAAG,SAAW,sJAAsJ,eAAiB,CAAC,gpBAAkpB,+RAA+R,WAAa,MAElyD,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,mJAAoJ,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yHAAyH,MAAQ,GAAG,SAAW,mCAAmC,eAAiB,CAAC,gWAAgW,WAAa,MAEzwB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,6gOAA8gO,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uEAAuE,4FAA4F,mFAAmF,gFAAgF,mFAAmF,MAAQ,GAAG,SAAW,wtCAAwtC,eAAiB,CAAC,ouFAAouF,8lOAAumO,4eAA4e,8aAA8a,uWAAuW,WAAa,MAEp0nB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,szDAAuzD,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+EAA+E,qGAAqG,MAAQ,GAAG,SAAW,4uBAA4uB,eAAiB,CAAC,onBAAsnB,2zFAA6zF,WAAa,MAEnwM,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,4dAA6d,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yEAAyE,+FAA+F,MAAQ,GAAG,SAAW,qKAAqK,eAAiB,CAAC,uOAAuO,4qCAA8qC,WAAa,MAExzE,S,wBCLAR,EAAOD,QAAU,SAAU4C,GACzB,IAAIC,EAAUD,EAAK,GACfE,EAAaF,EAAK,GACtB,IAAKE,EACH,OAAOD,EAET,GAAoB,mBAATE,KAAqB,CAC9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDO,EAAO,+DAA+DC,OAAON,GAC7EO,EAAgB,OAAOD,OAAOD,EAAM,OACxC,MAAO,CAACR,GAASS,OAAO,CAACC,IAAgBC,KAAK,KAChD,CACA,MAAO,CAACX,GAASW,KAAK,KACxB,C,gFCZIjD,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,+LAAgM,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+FAA+F,MAAQ,GAAG,SAAW,6DAA6D,eAAiB,CAAC,0aAA0a,WAAa,MAE/3B,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,qOAAsO,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iFAAiF,MAAQ,GAAG,SAAW,qHAAqH,eAAiB,CAAC,ukBAAykB,WAAa,MAE9mC,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,g5CAAi5C,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2EAA2E,gGAAgG,yEAAyE,MAAQ,GAAG,SAAW,0UAA0U,eAAiB,CAAC,oZAAoZ,i8CAAm8C,oRAAsR,WAAa,MAErrI,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0zCAA2zC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wGAAwG,oFAAoF,kFAAkF,oFAAoF,MAAQ,GAAG,SAAW,4aAA4a,eAAiB,CAAC,2+DAAi/D,geAAge,sWAAsW,6eAA6e,WAAa,MAEt+K,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,6HAA8H,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4GAA4G,MAAQ,GAAG,SAAW,0DAA0D,eAAiB,CAAC,oVAAoV,WAAa,MAEjvB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,u0BAAw0B,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+FAA+F,qHAAqH,MAAQ,GAAG,SAAW,gNAAgN,eAAiB,CAAC,qSAAqS,k9BAAk9B,WAAa,MAE5lF,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0WAA2W,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,0FAA0F,MAAQ,GAAG,SAAW,+GAA+G,eAAiB,CAAC,mpBAAmpB,WAAa,MAEh0C,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,kwCAAmwC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mGAAmG,MAAQ,GAAG,SAAW,8OAA8O,eAAiB,CAAC,skDAAskD,WAAa,MAEnxG,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,iKAAkK,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wGAAwG,MAAQ,GAAG,SAAW,uEAAuE,eAAiB,CAAC,qXAAqX,WAAa,MAE/zB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0gDAA2gD,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6EAA6E,mGAAmG,MAAQ,GAAG,SAAW,4ZAA4Z,eAAiB,CAAC,kkCAAkkC,itCAAitC,WAAa,MAEn+I,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,u9CAAw9C,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uEAAuE,wEAAwE,4FAA4F,yEAAyE,MAAQ,GAAG,SAAW,8XAA8X,eAAiB,CAAC,o/BAAs/B,8RAA8R,u4CAAy4C,oRAAsR,WAAa,MAEtrK,S,87BCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,8iCAA+iC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,kHAAkH,qFAAqF,MAAQ,GAAG,SAAW,uLAAuL,eAAiB,CAAC,8+BAAg/B,ieAAie,WAAa,MAEv/F,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,q9BAAs9B,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iGAAiG,sHAAsH,oFAAoF,oFAAoF,MAAQ,GAAG,SAAW,iSAAiS,eAAiB,CAAC,gdAAgd,wiCAA4iC,geAAge,6eAA6e,WAAa,MAExrI,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,8xCAA+xC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,oGAAoG,MAAQ,GAAG,SAAW,yNAAyN,eAAiB,CAAC,qqCAAqqC,WAAa,MAE13F,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,mjFAAojF,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mGAAmG,wEAAwE,yHAAyH,MAAQ,GAAG,SAAW,wWAAwW,eAAiB,CAAC,w3BAA03B,mRAAqR,uuDAAyuD,WAAa,MAEjrM,S,iBCPA,MASIgD,EAAW,WAGf,IAAIC,EAAIC,OAAOC,aACXC,EAAe,oEACfC,EAAgB,oEAChBC,EAAiB,CAAC,EAEtB,SAASC,EAAaC,EAAUC,GAC9B,IAAKH,EAAeE,GAAW,CAC7BF,EAAeE,GAAY,CAAC,EAC5B,IAAK,IAAI5B,EAAE,EAAIA,EAAE4B,EAAS/B,OAASG,IACjC0B,EAAeE,GAAUA,EAASE,OAAO9B,IAAMA,CAEnD,CACA,OAAO0B,EAAeE,GAAUC,EAClC,CAEA,IAAIT,EAAW,CACbW,iBAAmB,SAAUC,GAC3B,GAAa,MAATA,EAAe,MAAO,GAC1B,IAAIC,EAAMb,EAASc,UAAUF,EAAO,GAAG,SAASG,GAAG,OAAOX,EAAaM,OAAOK,EAAG,IACjF,OAAQF,EAAIpC,OAAS,GACrB,QACA,KAAK,EAAI,OAAOoC,EAChB,KAAK,EAAI,OAAOA,EAAI,MACpB,KAAK,EAAI,OAAOA,EAAI,KACpB,KAAK,EAAI,OAAOA,EAAI,IAEtB,EAEAG,qBAAuB,SAAUJ,GAC/B,OAAa,MAATA,EAAsB,GACb,IAATA,EAAoB,KACjBZ,EAASiB,YAAYL,EAAMnC,OAAQ,IAAI,SAASyC,GAAS,OAAOX,EAAaH,EAAcQ,EAAMF,OAAOQ,GAAS,GAC1H,EAEAC,gBAAkB,SAAUP,GAC1B,OAAa,MAATA,EAAsB,GACnBZ,EAASc,UAAUF,EAAO,IAAI,SAASG,GAAG,OAAOd,EAAEc,EAAE,GAAI,IAAK,GACvE,EAEAK,oBAAqB,SAAUC,GAC7B,OAAkB,MAAdA,EAA2B,GACb,IAAdA,EAAyB,KACtBrB,EAASiB,YAAYI,EAAW5C,OAAQ,OAAO,SAASyC,GAAS,OAAOG,EAAWC,WAAWJ,GAAS,EAAI,GACpH,EAGAK,qBAAsB,SAAUC,GAI9B,IAHA,IAAIH,EAAarB,EAASyB,SAASD,GAC/BE,EAAI,IAAIC,WAA6B,EAAlBN,EAAW5C,QAEzBG,EAAE,EAAGgD,EAASP,EAAW5C,OAAQG,EAAEgD,EAAUhD,IAAK,CACzD,IAAIiD,EAAgBR,EAAWC,WAAW1C,GAC1C8C,EAAM,EAAF9C,GAAOiD,IAAkB,EAC7BH,EAAM,EAAF9C,EAAI,GAAKiD,EAAgB,GAC/B,CACA,OAAOH,CACT,EAGAI,yBAAyB,SAAUT,GACjC,GAAIA,QACA,OAAOrB,EAAS+B,WAAWV,GAG3B,IADA,IAAIK,EAAI,IAAIM,MAAMX,EAAW5C,OAAO,GAC3BG,EAAE,EAAGgD,EAASF,EAAIjD,OAAQG,EAAEgD,EAAUhD,IAC7C8C,EAAI9C,GAAmB,IAAhByC,EAAa,EAAFzC,GAASyC,EAAa,EAAFzC,EAAI,GAG5C,IAAIF,EAAS,GAIb,OAHAgD,EAAI7D,SAAQ,SAAUoE,GACpBvD,EAAO3B,KAAKkD,EAAEgC,GAChB,IACOjC,EAAS+B,WAAWrD,EAAOqB,KAAK,IAI7C,EAIAmC,8BAA+B,SAAUtB,GACvC,OAAa,MAATA,EAAsB,GACnBZ,EAASc,UAAUF,EAAO,GAAG,SAASG,GAAG,OAAOV,EAAcK,OAAOK,EAAG,GACjF,EAGAoB,kCAAkC,SAAUvB,GAC1C,OAAa,MAATA,EAAsB,GACb,IAATA,EAAoB,MACxBA,EAAQA,EAAMwB,QAAQ,KAAM,KACrBpC,EAASiB,YAAYL,EAAMnC,OAAQ,IAAI,SAASyC,GAAS,OAAOX,EAAaF,EAAeO,EAAMF,OAAOQ,GAAS,IAC3H,EAEAO,SAAU,SAAUD,GAClB,OAAOxB,EAASc,UAAUU,EAAc,IAAI,SAAST,GAAG,OAAOd,EAAEc,EAAG,GACtE,EACAD,UAAW,SAAUU,EAAca,EAAaC,GAC9C,GAAoB,MAAhBd,EAAsB,MAAO,GACjC,IAAI5C,EAAGZ,EAYHuE,EAXAC,EAAoB,CAAC,EACrBC,EAA4B,CAAC,EAC7BC,EAAU,GACVC,EAAW,GACXC,EAAU,GACVC,EAAmB,EACnBC,EAAkB,EAClBC,EAAiB,EACjBC,EAAa,GACbC,EAAiB,EACjBC,EAAsB,EAG1B,IAAKX,EAAK,EAAGA,EAAKf,EAAa/C,OAAQ8D,GAAM,EAQ3C,GAPAG,EAAYlB,EAAad,OAAO6B,GAC3B5E,OAAOwF,UAAUC,eAAeC,KAAKb,EAAmBE,KAC3DF,EAAmBE,GAAaI,IAChCL,EAA2BC,IAAa,GAG1CC,EAAaC,EAAYF,EACrB/E,OAAOwF,UAAUC,eAAeC,KAAKb,EAAmBG,GAC1DC,EAAYD,MACP,CACL,GAAIhF,OAAOwF,UAAUC,eAAeC,KAAKZ,EAA2BG,GAAY,CAC9E,GAAIA,EAAUtB,WAAW,GAAG,IAAK,CAC/B,IAAK1C,EAAE,EAAIA,EAAEmE,EAAkBnE,IAC7BqE,IAAwC,EACpCC,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAIJ,IADAlF,EAAQ4E,EAAUtB,WAAW,GACxB1C,EAAE,EAAIA,EAAE,EAAIA,IACfqE,EAAoBA,GAAoB,EAAY,EAANjF,EAC1CkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,IAAiB,CAErB,KAAO,CAEL,IADAA,EAAQ,EACHY,EAAE,EAAIA,EAAEmE,EAAkBnE,IAC7BqE,EAAoBA,GAAoB,EAAKjF,EACzCkF,GAAwBb,EAAY,GACtCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,EAAQ,EAGV,IADAA,EAAQ4E,EAAUtB,WAAW,GACxB1C,EAAE,EAAIA,EAAE,GAAKA,IAChBqE,EAAoBA,GAAoB,EAAY,EAANjF,EAC1CkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,IAAiB,CAErB,CAEyB,KADzB6E,IAEEA,EAAoBhE,KAAKyE,IAAI,EAAGP,GAChCA,YAEKN,EAA2BG,EACpC,MAEE,IADA5E,EAAQwE,EAAmBI,GACtBhE,EAAE,EAAIA,EAAEmE,EAAkBnE,IAC7BqE,EAAoBA,GAAoB,EAAY,EAANjF,EAC1CkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,IAAiB,EAMI,KADzB6E,IAEEA,EAAoBhE,KAAKyE,IAAI,EAAGP,GAChCA,KAGFP,EAAmBG,GAAcG,IACjCF,EAAY1C,OAAOwC,EACrB,CAIF,GAAkB,KAAdE,EAAkB,CACpB,GAAIjF,OAAOwF,UAAUC,eAAeC,KAAKZ,EAA2BG,GAAY,CAC9E,GAAIA,EAAUtB,WAAW,GAAG,IAAK,CAC/B,IAAK1C,EAAE,EAAIA,EAAEmE,EAAkBnE,IAC7BqE,IAAwC,EACpCC,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAIJ,IADAlF,EAAQ4E,EAAUtB,WAAW,GACxB1C,EAAE,EAAIA,EAAE,EAAIA,IACfqE,EAAoBA,GAAoB,EAAY,EAANjF,EAC1CkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,IAAiB,CAErB,KAAO,CAEL,IADAA,EAAQ,EACHY,EAAE,EAAIA,EAAEmE,EAAkBnE,IAC7BqE,EAAoBA,GAAoB,EAAKjF,EACzCkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,EAAQ,EAGV,IADAA,EAAQ4E,EAAUtB,WAAW,GACxB1C,EAAE,EAAIA,EAAE,GAAKA,IAChBqE,EAAoBA,GAAoB,EAAY,EAANjF,EAC1CkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,IAAiB,CAErB,CAEyB,KADzB6E,IAEEA,EAAoBhE,KAAKyE,IAAI,EAAGP,GAChCA,YAEKN,EAA2BG,EACpC,MAEE,IADA5E,EAAQwE,EAAmBI,GACtBhE,EAAE,EAAIA,EAAEmE,EAAkBnE,IAC7BqE,EAAoBA,GAAoB,EAAY,EAANjF,EAC1CkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,IAAiB,EAMI,KADzB6E,IAEEA,EAAoBhE,KAAKyE,IAAI,EAAGP,GAChCA,IAEJ,CAIA,IADA/E,EAAQ,EACHY,EAAE,EAAIA,EAAEmE,EAAkBnE,IAC7BqE,EAAoBA,GAAoB,EAAY,EAANjF,EAC1CkF,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAajG,KAAKuF,EAAeW,IACjCA,EAAmB,GAEnBC,IAEFlF,IAAiB,EAInB,OAAa,CAEX,GADAiF,IAAwC,EACpCC,GAAyBb,EAAY,EAAG,CAC1CW,EAAajG,KAAKuF,EAAeW,IACjC,KACF,CACKC,GACP,CACA,OAAOF,EAAajD,KAAK,GAC3B,EAEAgC,WAAY,SAAUV,GACpB,OAAkB,MAAdA,EAA2B,GACb,IAAdA,EAAyB,KACtBrB,EAASiB,YAAYI,EAAW5C,OAAQ,OAAO,SAASyC,GAAS,OAAOG,EAAWC,WAAWJ,EAAQ,GAC/G,EAEAD,YAAa,SAAUxC,EAAQ8E,EAAYC,GACzC,IAOI5E,EACA6E,EACAC,EAAMC,EAAMC,EAAUC,EACtB5B,EAVA6B,EAAa,GAEbC,EAAY,EACZC,EAAW,EACXC,EAAU,EACVC,EAAQ,GACRxF,EAAS,GAKTkB,EAAO,CAACuE,IAAIX,EAAa,GAAIY,SAASb,EAAYrC,MAAM,GAE5D,IAAKtC,EAAI,EAAGA,EAAI,EAAGA,GAAK,EACtBkF,EAAWlF,GAAKA,EAMlB,IAHA8E,EAAO,EACPE,EAAW/E,KAAKyE,IAAI,EAAE,GACtBO,EAAM,EACCA,GAAOD,GACZD,EAAO/D,EAAKuE,IAAMvE,EAAKwE,SACvBxE,EAAKwE,WAAa,EACG,GAAjBxE,EAAKwE,WACPxE,EAAKwE,SAAWb,EAChB3D,EAAKuE,IAAMX,EAAa5D,EAAKsB,UAE/BwC,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAGZ,OAAeH,GACb,KAAK,EAID,IAHAA,EAAO,EACPE,EAAW/E,KAAKyE,IAAI,EAAE,GACtBO,EAAM,EACCA,GAAOD,GACZD,EAAO/D,EAAKuE,IAAMvE,EAAKwE,SACvBxE,EAAKwE,WAAa,EACG,GAAjBxE,EAAKwE,WACPxE,EAAKwE,SAAWb,EAChB3D,EAAKuE,IAAMX,EAAa5D,EAAKsB,UAE/BwC,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAEd5B,EAAIhC,EAAEyD,GACN,MACF,KAAK,EAID,IAHAA,EAAO,EACPE,EAAW/E,KAAKyE,IAAI,EAAE,IACtBO,EAAM,EACCA,GAAOD,GACZD,EAAO/D,EAAKuE,IAAMvE,EAAKwE,SACvBxE,EAAKwE,WAAa,EACG,GAAjBxE,EAAKwE,WACPxE,EAAKwE,SAAWb,EAChB3D,EAAKuE,IAAMX,EAAa5D,EAAKsB,UAE/BwC,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAEd5B,EAAIhC,EAAEyD,GACN,MACF,KAAK,EACH,MAAO,GAKX,IAHAI,EAAW,GAAK7B,EAChBwB,EAAIxB,EACJvD,EAAO3B,KAAKkF,KACC,CACX,GAAIrC,EAAKsB,MAAQzC,EACf,MAAO,GAMT,IAHAiF,EAAO,EACPE,EAAW/E,KAAKyE,IAAI,EAAEW,GACtBJ,EAAM,EACCA,GAAOD,GACZD,EAAO/D,EAAKuE,IAAMvE,EAAKwE,SACvBxE,EAAKwE,WAAa,EACG,GAAjBxE,EAAKwE,WACPxE,EAAKwE,SAAWb,EAChB3D,EAAKuE,IAAMX,EAAa5D,EAAKsB,UAE/BwC,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAGZ,OAAQ5B,EAAIyB,GACV,KAAK,EAIH,IAHAA,EAAO,EACPE,EAAW/E,KAAKyE,IAAI,EAAE,GACtBO,EAAM,EACCA,GAAOD,GACZD,EAAO/D,EAAKuE,IAAMvE,EAAKwE,SACvBxE,EAAKwE,WAAa,EACG,GAAjBxE,EAAKwE,WACPxE,EAAKwE,SAAWb,EAChB3D,EAAKuE,IAAMX,EAAa5D,EAAKsB,UAE/BwC,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAGZC,EAAWE,KAAc/D,EAAEyD,GAC3BzB,EAAI+B,EAAS,EACbD,IACA,MACF,KAAK,EAIH,IAHAL,EAAO,EACPE,EAAW/E,KAAKyE,IAAI,EAAE,IACtBO,EAAM,EACCA,GAAOD,GACZD,EAAO/D,EAAKuE,IAAMvE,EAAKwE,SACvBxE,EAAKwE,WAAa,EACG,GAAjBxE,EAAKwE,WACPxE,EAAKwE,SAAWb,EAChB3D,EAAKuE,IAAMX,EAAa5D,EAAKsB,UAE/BwC,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAEZC,EAAWE,KAAc/D,EAAEyD,GAC3BzB,EAAI+B,EAAS,EACbD,IACA,MACF,KAAK,EACH,OAAOrF,EAAOqB,KAAK,IAQvB,GALiB,GAAbgE,IACFA,EAAYlF,KAAKyE,IAAI,EAAGW,GACxBA,KAGEH,EAAW7B,GACbiC,EAAQJ,EAAW7B,OACd,CACL,GAAIA,IAAM+B,EAGR,OAAO,KAFPE,EAAQT,EAAIA,EAAE/C,OAAO,EAIzB,CACAhC,EAAO3B,KAAKmH,GAGZJ,EAAWE,KAAcP,EAAIS,EAAMxD,OAAO,GAG1C+C,EAAIS,EAEa,KAJjBH,IAKEA,EAAYlF,KAAKyE,IAAI,EAAGW,GACxBA,IAGJ,CACF,GAEA,OAAOjE,CACR,CArec,QAwe0B,KAAvC,aAAqB,OAAOA,CAAW,+B,gFC9erClD,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,45BAA65B,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,iFAAiF,MAAQ,GAAG,SAAW,iSAAiS,eAAiB,CAAC,g7CAAk7C,+aAA+a,WAAa,MAErzG,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,ofAAqf,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gGAAgG,MAAQ,GAAG,SAAW,gLAAgL,eAAiB,CAAC,ktBAAktB,WAAa,MAEhlD,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,m1DAAo1D,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6FAA6F,wEAAwE,mHAAmH,MAAQ,GAAG,SAAW,2UAA2U,eAAiB,CAAC,67BAA+7B,mRAAqR,4qCAA8qC,WAAa,MAEl7J,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,6qCAA8qC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uFAAuF,4GAA4G,oFAAoF,MAAQ,GAAG,SAAW,mTAAmT,eAAiB,CAAC,ogBAAogB,w+CAAy+C,6eAA6e,WAAa,MAE30I,S,4GCHIqH,EAAgC,IAAIC,IAAI,aACxCxH,EAA0B,IAA4B,KACtDyH,EAAqC,IAAgCF,GAEzEvH,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,wYAAwYuH,kZAAob,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wEAAwE,8FAA8F,MAAQ,GAAG,SAAW,yNAAyN,eAAiB,CAAC,uXAAuX,q1EAAy1E,WAAa,MAEpgI,S,gFCPIzH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,msBAAosB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+EAA+E,qGAAqG,MAAQ,GAAG,SAAW,sJAAsJ,eAAiB,CAAC,8cAA8c,kpBAAkpB,WAAa,MAEvuE,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0bAA2b,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iFAAiF,uGAAuG,MAAQ,GAAG,SAAW,4IAA4I,eAAiB,CAAC,oOAAoO,i7BAAq7B,WAAa,MAEjhE,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,+oCAAgpC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,kFAAkF,MAAQ,GAAG,SAAW,kTAAkT,eAAiB,CAAC,0kFAA0kF,WAAa,MAEvtI,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,qrBAAsrB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,MAAQ,GAAG,SAAW,4JAA4J,eAAiB,CAAC,ypDAA6pD,WAAa,MAEprF,S,wBCJA,IACMwH,EADFC,GACED,EAAY,GACT,SAAiBtD,EAAOwD,GAE7B,OADAF,EAAUtD,GAASwD,EACZF,EAAUG,OAAOC,SAAS7E,KAAK,KACxC,GAIF,SAAS8E,EAAMC,EAAc5D,EAAO6D,EAAQC,GAC1C,IAAIC,EACJ,GAAIF,EACFE,EAAM,OACD,CACLA,EAAM,GACFD,EAAIE,WACND,GAAO,cAAcpF,OAAOmF,EAAIE,SAAU,QAExCF,EAAIG,QACNF,GAAO,UAAUpF,OAAOmF,EAAIG,MAAO,OAErC,IAAIC,OAAiC,IAAdJ,EAAIK,MACvBD,IACFH,GAAO,SAASpF,OAAOmF,EAAIK,MAAM5G,OAAS,EAAI,IAAIoB,OAAOmF,EAAIK,OAAS,GAAI,OAE5EJ,GAAOD,EAAIC,IACPG,IACFH,GAAO,KAELD,EAAIG,QACNF,GAAO,KAELD,EAAIE,WACND,GAAO,IAEX,CAIA,GAAIH,EAAaQ,WACfR,EAAaQ,WAAWC,QAAUd,EAAYvD,EAAO+D,OAChD,CACL,IAAIO,EAAUrI,SAASsI,eAAeR,GAClCS,EAAaZ,EAAaY,WAC1BA,EAAWxE,IACb4D,EAAaa,YAAYD,EAAWxE,IAElCwE,EAAWjH,OACbqG,EAAac,aAAaJ,EAASE,EAAWxE,IAE9C4D,EAAae,YAAYL,EAE7B,CACF,CACA,IAAIM,EAAgB,CAClBC,UAAW,KACXC,iBAAkB,GA0BpBxJ,EAAOD,QAtBP,SAAgBU,GACd,GAAwB,oBAAbE,SAA0B,MAAO,CAC1C8I,OAAQ,WAAmB,EAC3BlB,OAAQ,WAAmB,GAI7B,IAAImB,EAAaJ,EAAcE,mBAC3BlB,EAEJgB,EAAcC,YAEdD,EAAcC,UAAY9I,EAAQkJ,mBAAmBlJ,IACrD,MAAO,CACLgJ,OAAQ,SAAgBjB,GACtBH,EAAMC,EAAcoB,GAAY,EAAOlB,EACzC,EACAD,OAAQ,SAAgBC,GACtBH,EAAMC,EAAcoB,GAAY,EAAMlB,EACxC,EAEJ,C,gFCjFIlI,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,+iGAAgjG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,0EAA0E,wEAAwE,+FAA+F,qFAAqF,MAAQ,GAAG,SAAW,6sBAA6sB,eAAiB,CAAC,26BAA26B,mRAAqR,m9EAAu9E,ieAAie,WAAa,MAEpzQ,S,wBCLAR,EAAOD,QAAU,SAAU6J,EAAKnJ,GAI9B,OAHKA,IACHA,EAAU,CAAC,GAERmJ,GAGLA,EAAMlG,OAAOkG,EAAIC,WAAaD,EAAIE,QAAUF,GAGxC,eAAeG,KAAKH,KACtBA,EAAMA,EAAII,MAAM,GAAI,IAElBvJ,EAAQwJ,OACVL,GAAOnJ,EAAQwJ,MAKb,oBAAoBF,KAAKH,IAAQnJ,EAAQyJ,WACpC,IAAK7G,OAAOuG,EAAIhE,QAAQ,KAAM,OAAOA,QAAQ,MAAO,OAAQ,KAE9DgE,GAjBEA,CAkBX,C,gFCtBItJ,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,2FAA4F,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mFAAmF,yGAAyG,MAAQ,GAAG,SAAW,gDAAgD,eAAiB,CAAC,0QAA0Q,iOAAiO,WAAa,MAE56B,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,kwBAAmwB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uFAAuF,iFAAiF,6GAA6G,MAAQ,GAAG,SAAW,8RAA8R,eAAiB,CAAC,qVAAuV,6WAA6W,6/BAA+/B,WAAa,MAElnG,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,wJAAyJ,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gIAAgI,MAAQ,GAAG,SAAW,mCAAmC,eAAiB,CAAC,qWAAqW,WAAa,MAE1xB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,4OAA6O,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6GAA6G,MAAQ,GAAG,SAAW,uGAAuG,eAAiB,CAAC,+cAA+c,WAAa,MAEzgC,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,ipBAAkpB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6FAA6F,kHAAkH,yEAAyE,MAAQ,GAAG,SAAW,+NAA+N,eAAiB,CAAC,uYAAuY,+xBAAiyB,oRAAsR,WAAa,MAEhsF,S,wBCCAR,EAAOD,QALP,SAAwCuI,EAAcxH,GACpDK,OAAOC,KAAKN,GAAYO,SAAQ,SAAU8I,GACxC7B,EAAa8B,aAAaD,EAAKrJ,EAAWqJ,GAC5C,GACF,C,gFCJI7J,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,6mHAA8mH,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gGAAgG,qHAAqH,oFAAoF,mFAAmF,mFAAmF,MAAQ,GAAG,SAAW,ijBAAijB,eAAiB,CAAC,q/CAAq/C,0tDAAguD,geAAge,4eAA4e,uWAAuW,WAAa,MAE/uS,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,yuEAA0uE,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wGAAwG,6HAA6H,qFAAqF,yEAAyE,MAAQ,GAAG,SAAW,wYAAwY,eAAiB,CAAC,2VAA2V,02EAAg3E,6UAA6U,oRAAsR,WAAa,MAE55M,S,wBCLA,IAAI6J,EAAc,GAClB,SAASC,EAAqBC,GAE5B,IADA,IAAIrI,GAAU,EACLE,EAAI,EAAGA,EAAIiI,EAAYpI,OAAQG,IACtC,GAAIiI,EAAYjI,GAAGmI,aAAeA,EAAY,CAC5CrI,EAASE,EACT,KACF,CAEF,OAAOF,CACT,CACA,SAASsI,EAAaC,EAAMhK,GAG1B,IAFA,IAAIiK,EAAa,CAAC,EACdC,EAAc,GACTvI,EAAI,EAAGA,EAAIqI,EAAKxI,OAAQG,IAAK,CACpC,IAAIO,EAAO8H,EAAKrI,GACZ5B,EAAKC,EAAQmK,KAAOjI,EAAK,GAAKlC,EAAQmK,KAAOjI,EAAK,GAClDkI,EAAQH,EAAWlK,IAAO,EAC1B+J,EAAa,GAAGlH,OAAO7C,EAAI,KAAK6C,OAAOwH,GAC3CH,EAAWlK,GAAMqK,EAAQ,EACzB,IAAIC,EAAoBR,EAAqBC,GACzC/B,EAAM,CACRC,IAAK9F,EAAK,GACVgG,MAAOhG,EAAK,GACZoI,UAAWpI,EAAK,GAChB+F,SAAU/F,EAAK,GACfkG,MAAOlG,EAAK,IAEd,IAA2B,IAAvBmI,EACFT,EAAYS,GAAmBE,aAC/BX,EAAYS,GAAmBG,QAAQzC,OAClC,CACL,IAAIyC,EAAUC,EAAgB1C,EAAK/H,GACnCA,EAAQ0K,QAAU/I,EAClBiI,EAAYe,OAAOhJ,EAAG,EAAG,CACvBmI,WAAYA,EACZU,QAASA,EACTD,WAAY,GAEhB,CACAL,EAAYpK,KAAKgK,EACnB,CACA,OAAOI,CACT,CACA,SAASO,EAAgB1C,EAAK/H,GAC5B,IAAI4K,EAAM5K,EAAQ6K,OAAO7K,GACzB4K,EAAI5B,OAAOjB,GAWX,OAVc,SAAiB+C,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAO9C,MAAQD,EAAIC,KAAO8C,EAAO5C,QAAUH,EAAIG,OAAS4C,EAAOR,YAAcvC,EAAIuC,WAAaQ,EAAO7C,WAAaF,EAAIE,UAAY6C,EAAO1C,QAAUL,EAAIK,MACzJ,OAEFwC,EAAI5B,OAAOjB,EAAM+C,EACnB,MACEF,EAAI9C,QAER,CAEF,CACAvI,EAAOD,QAAU,SAAU0K,EAAMhK,GAG/B,IAAI+K,EAAkBhB,EADtBC,EAAOA,GAAQ,GADfhK,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgBgL,GACrBA,EAAUA,GAAW,GACrB,IAAK,IAAIrJ,EAAI,EAAGA,EAAIoJ,EAAgBvJ,OAAQG,IAAK,CAC/C,IACIsC,EAAQ4F,EADKkB,EAAgBpJ,IAEjCiI,EAAY3F,GAAOsG,YACrB,CAEA,IADA,IAAIU,EAAqBlB,EAAaiB,EAAShL,GACtCkL,EAAK,EAAGA,EAAKH,EAAgBvJ,OAAQ0J,IAAM,CAClD,IACIC,EAAStB,EADKkB,EAAgBG,IAEK,IAAnCtB,EAAYuB,GAAQZ,aACtBX,EAAYuB,GAAQX,UACpBZ,EAAYe,OAAOQ,EAAQ,GAE/B,CACAJ,EAAkBE,CACpB,CACF,C,gFChFIpL,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,orBAAqrB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,8HAA8H,yEAAyE,MAAQ,GAAG,SAAW,6FAA6F,eAAiB,CAAC,26BAA66B,oRAAsR,WAAa,MAErxE,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0vBAA2vB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+EAA+E,MAAQ,GAAG,SAAW,oZAAoZ,eAAiB,CAAC,8oDAA8oD,WAAa,MAEr+F,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,kgIAAmgI,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wEAAwE,MAAQ,GAAG,SAAW,+tCAA+tC,eAAiB,CAAC,2kGAA2kG,WAAa,MAE9+Q,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,siGAAuiG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,qFAAqF,wEAAwE,2GAA2G,MAAQ,GAAG,SAAW,kiBAAkiB,eAAiB,CAAC,q9BAAu9B,mRAAqR,8+EAAg/E,WAAa,MAEtqP,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,+5MAAg6M,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,0FAA0F,+GAA+G,oFAAoF,oFAAoF,MAAQ,GAAG,SAAW,opCAAopC,eAAiB,CAAC,8qCAAorC,+qLAA2rL,geAAge,6eAA6e,WAAa,MAE11f,S,iBCLA,MAAMqL,EAAc,EAAQ,MAMtBC,EAAkB,CAAC,EACzB,IAAK,MAAM3B,KAAOhJ,OAAOC,KAAKyK,GAC7BC,EAAgBD,EAAY1B,IAAQA,EAGrC,MAAMjJ,EAAU,CACf6K,IAAK,CAACtK,SAAU,EAAGC,OAAQ,OAC3BsK,IAAK,CAACvK,SAAU,EAAGC,OAAQ,OAC3BuK,IAAK,CAACxK,SAAU,EAAGC,OAAQ,OAC3BwK,IAAK,CAACzK,SAAU,EAAGC,OAAQ,OAC3ByK,KAAM,CAAC1K,SAAU,EAAGC,OAAQ,QAC5B0K,IAAK,CAAC3K,SAAU,EAAGC,OAAQ,OAC3B2K,IAAK,CAAC5K,SAAU,EAAGC,OAAQ,OAC3B4K,IAAK,CAAC7K,SAAU,EAAGC,OAAQ,OAC3B6K,IAAK,CAAC9K,SAAU,EAAGC,OAAQ,CAAC,QAC5B8K,QAAS,CAAC/K,SAAU,EAAGC,OAAQ,CAAC,YAChC+K,OAAQ,CAAChL,SAAU,EAAGC,OAAQ,CAAC,WAC/BgL,QAAS,CAACjL,SAAU,EAAGC,OAAQ,CAAC,YAChCiL,IAAK,CAAClL,SAAU,EAAGC,OAAQ,CAAC,IAAK,IAAK,MACtCkL,MAAO,CAACnL,SAAU,EAAGC,OAAQ,CAAC,MAAO,MAAO,QAC5CmL,KAAM,CAACpL,SAAU,EAAGC,OAAQ,CAAC,UAG9B1B,EAAOD,QAAUmB,EAGjB,IAAK,MAAM4L,KAAS3L,OAAOC,KAAKF,GAAU,CACzC,KAAM,aAAcA,EAAQ4L,IAC3B,MAAM,IAAIC,MAAM,8BAAgCD,GAGjD,KAAM,WAAY5L,EAAQ4L,IACzB,MAAM,IAAIC,MAAM,oCAAsCD,GAGvD,GAAI5L,EAAQ4L,GAAOpL,OAAOO,SAAWf,EAAQ4L,GAAOrL,SACnD,MAAM,IAAIsL,MAAM,sCAAwCD,GAGzD,MAAM,SAACrL,EAAQ,OAAEC,GAAUR,EAAQ4L,UAC5B5L,EAAQ4L,GAAOrL,gBACfP,EAAQ4L,GAAOpL,OACtBP,OAAOI,eAAeL,EAAQ4L,GAAQ,WAAY,CAACtL,MAAOC,IAC1DN,OAAOI,eAAeL,EAAQ4L,GAAQ,SAAU,CAACtL,MAAOE,GACzD,CAEAR,EAAQ6K,IAAIC,IAAM,SAAUD,GAC3B,MAAMiB,EAAIjB,EAAI,GAAK,IACbkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACboB,EAAM9K,KAAK8K,IAAIH,EAAGC,EAAGC,GACrBE,EAAM/K,KAAK+K,IAAIJ,EAAGC,EAAGC,GACrBG,EAAQD,EAAMD,EACpB,IAAIG,EACAC,EAEAH,IAAQD,EACXG,EAAI,EACMN,IAAMI,EAChBE,GAAKL,EAAIC,GAAKG,EACJJ,IAAMG,EAChBE,EAAI,GAAKJ,EAAIF,GAAKK,EACRH,IAAME,IAChBE,EAAI,GAAKN,EAAIC,GAAKI,GAGnBC,EAAIjL,KAAK8K,IAAQ,GAAJG,EAAQ,KAEjBA,EAAI,IACPA,GAAK,KAGN,MAAME,GAAKL,EAAMC,GAAO,EAUxB,OAPCG,EADGH,IAAQD,EACP,EACMK,GAAK,GACXH,GAASD,EAAMD,GAEfE,GAAS,EAAID,EAAMD,GAGjB,CAACG,EAAO,IAAJC,EAAa,IAAJC,EACrB,EAEAtM,EAAQ6K,IAAIE,IAAM,SAAUF,GAC3B,IAAI0B,EACAC,EACAC,EACAL,EACAC,EAEJ,MAAMP,EAAIjB,EAAI,GAAK,IACbkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACb6B,EAAIvL,KAAK+K,IAAIJ,EAAGC,EAAGC,GACnBW,EAAOD,EAAIvL,KAAK8K,IAAIH,EAAGC,EAAGC,GAC1BY,EAAQ,SAAUrI,GACvB,OAAQmI,EAAInI,GAAK,EAAIoI,EAAO,EAC7B,EA0BA,OAxBa,IAATA,GACHP,EAAI,EACJC,EAAI,IAEJA,EAAIM,EAAOD,EACXH,EAAOK,EAAMd,GACbU,EAAOI,EAAMb,GACbU,EAAOG,EAAMZ,GAETF,IAAMY,EACTN,EAAIK,EAAOD,EACDT,IAAMW,EAChBN,EAAK,EAAI,EAAKG,EAAOE,EACXT,IAAMU,IAChBN,EAAK,EAAI,EAAKI,EAAOD,GAGlBH,EAAI,EACPA,GAAK,EACKA,EAAI,IACdA,GAAK,IAIA,CACF,IAAJA,EACI,IAAJC,EACI,IAAJK,EAEF,EAEA1M,EAAQ6K,IAAIG,IAAM,SAAUH,GAC3B,MAAMiB,EAAIjB,EAAI,GACRkB,EAAIlB,EAAI,GACd,IAAImB,EAAInB,EAAI,GACZ,MAAMuB,EAAIpM,EAAQ6K,IAAIC,IAAID,GAAK,GACzB9E,EAAI,EAAI,IAAM5E,KAAK8K,IAAIH,EAAG3K,KAAK8K,IAAIF,EAAGC,IAI5C,OAFAA,EAAI,EAAI,EAAI,IAAM7K,KAAK+K,IAAIJ,EAAG3K,KAAK+K,IAAIH,EAAGC,IAEnC,CAACI,EAAO,IAAJrG,EAAa,IAAJiG,EACrB,EAEAhM,EAAQ6K,IAAII,KAAO,SAAUJ,GAC5B,MAAMiB,EAAIjB,EAAI,GAAK,IACbkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IAEbgC,EAAI1L,KAAK8K,IAAI,EAAIH,EAAG,EAAIC,EAAG,EAAIC,GAKrC,MAAO,CAAK,MAJD,EAAIF,EAAIe,IAAM,EAAIA,IAAM,GAId,MAHV,EAAId,EAAIc,IAAM,EAAIA,IAAM,GAGL,MAFnB,EAAIb,EAAIa,IAAM,EAAIA,IAAM,GAEI,IAAJA,EACpC,EAaA7M,EAAQ6K,IAAIS,QAAU,SAAUT,GAC/B,MAAMiC,EAAWlC,EAAgBC,GACjC,GAAIiC,EACH,OAAOA,EAGR,IACIC,EADAC,EAAyBC,IAG7B,IAAK,MAAM3B,KAAWrL,OAAOC,KAAKyK,GAAc,CAC/C,MAAMrK,EAAQqK,EAAYW,GAGpB4B,GAxBwBC,EAwBY7M,IAxBf8M,EAwBUvC,GAnBjC,GAAKsC,EAAE,KAAO,GAChBC,EAAE,GAAKD,EAAE,KAAO,GAChBC,EAAE,GAAKD,EAAE,KAAO,GAoBdD,EAAWF,IACdA,EAAyBE,EACzBH,EAAwBzB,EAE1B,CA/BD,IAA6B8B,EAAGD,EAiC/B,OAAOJ,CACR,EAEA/M,EAAQsL,QAAQT,IAAM,SAAUS,GAC/B,OAAOX,EAAYW,EACpB,EAEAtL,EAAQ6K,IAAIK,IAAM,SAAUL,GAC3B,IAAIiB,EAAIjB,EAAI,GAAK,IACbkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IAGjBiB,EAAIA,EAAI,SAAaA,EAAI,MAAS,QAAU,IAAQA,EAAI,MACxDC,EAAIA,EAAI,SAAaA,EAAI,MAAS,QAAU,IAAQA,EAAI,MACxDC,EAAIA,EAAI,SAAaA,EAAI,MAAS,QAAU,IAAQA,EAAI,MAMxD,MAAO,CAAK,KAJG,MAAJF,EAAmB,MAAJC,EAAmB,MAAJC,GAIpB,KAHN,MAAJF,EAAmB,MAAJC,EAAmB,MAAJC,GAGX,KAFf,MAAJF,EAAmB,MAAJC,EAAmB,MAAJC,GAG1C,EAEAhM,EAAQ6K,IAAIM,IAAM,SAAUN,GAC3B,MAAMK,EAAMlL,EAAQ6K,IAAIK,IAAIL,GAC5B,IAAIuC,EAAIlC,EAAI,GACRiC,EAAIjC,EAAI,GACRmC,EAAInC,EAAI,GAEZkC,GAAK,OACLD,GAAK,IACLE,GAAK,QAELD,EAAIA,EAAI,QAAYA,IAAM,EAAI,GAAO,MAAQA,EAAM,GAAK,IACxDD,EAAIA,EAAI,QAAYA,IAAM,EAAI,GAAO,MAAQA,EAAM,GAAK,IACxDE,EAAIA,EAAI,QAAYA,IAAM,EAAI,GAAO,MAAQA,EAAM,GAAK,IAMxD,MAAO,CAJI,IAAMF,EAAK,GACZ,KAAOC,EAAID,GACX,KAAOA,EAAIE,GAGtB,EAEArN,EAAQ8K,IAAID,IAAM,SAAUC,GAC3B,MAAMsB,EAAItB,EAAI,GAAK,IACbuB,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACnB,IAAIwC,EACAC,EACA9G,EAEJ,GAAU,IAAN4F,EAEH,OADA5F,EAAU,IAAJ6F,EACC,CAAC7F,EAAKA,EAAKA,GAIlB6G,EADGhB,EAAI,GACFA,GAAK,EAAID,GAETC,EAAID,EAAIC,EAAID,EAGlB,MAAMmB,EAAK,EAAIlB,EAAIgB,EAEbzC,EAAM,CAAC,EAAG,EAAG,GACnB,IAAK,IAAI3J,EAAI,EAAGA,EAAI,EAAGA,IACtBqM,EAAKnB,EAAI,EAAI,IAAMlL,EAAI,GACnBqM,EAAK,GACRA,IAGGA,EAAK,GACRA,IAIA9G,EADG,EAAI8G,EAAK,EACNC,EAAiB,GAAXF,EAAKE,GAAUD,EACjB,EAAIA,EAAK,EACbD,EACI,EAAIC,EAAK,EACbC,GAAMF,EAAKE,IAAO,EAAI,EAAID,GAAM,EAEhCC,EAGP3C,EAAI3J,GAAW,IAANuF,EAGV,OAAOoE,CACR,EAEA7K,EAAQ8K,IAAIC,IAAM,SAAUD,GAC3B,MAAMsB,EAAItB,EAAI,GACd,IAAIuB,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACb2C,EAAOpB,EACX,MAAMqB,EAAOvM,KAAK+K,IAAII,EAAG,KAEzBA,GAAK,EACLD,GAAMC,GAAK,EAAKA,EAAI,EAAIA,EACxBmB,GAAQC,GAAQ,EAAIA,EAAO,EAAIA,EAI/B,MAAO,CAACtB,EAAQ,KAFC,IAANE,EAAW,EAAImB,GAASC,EAAOD,GAAS,EAAIpB,GAAMC,EAAID,IAExC,MAHdC,EAAID,GAAK,GAIrB,EAEArM,EAAQ+K,IAAIF,IAAM,SAAUE,GAC3B,MAAMqB,EAAIrB,EAAI,GAAK,GACbsB,EAAItB,EAAI,GAAK,IACnB,IAAI2B,EAAI3B,EAAI,GAAK,IACjB,MAAM4C,EAAKxM,KAAKyM,MAAMxB,GAAK,EAErB7J,EAAI6J,EAAIjL,KAAKyM,MAAMxB,GACnByB,EAAI,IAAMnB,GAAK,EAAIL,GACnByB,EAAI,IAAMpB,GAAK,EAAKL,EAAI9J,GACxBwL,EAAI,IAAMrB,GAAK,EAAKL,GAAK,EAAI9J,IAGnC,OAFAmK,GAAK,IAEGiB,GACP,KAAK,EACJ,MAAO,CAACjB,EAAGqB,EAAGF,GACf,KAAK,EACJ,MAAO,CAACC,EAAGpB,EAAGmB,GACf,KAAK,EACJ,MAAO,CAACA,EAAGnB,EAAGqB,GACf,KAAK,EACJ,MAAO,CAACF,EAAGC,EAAGpB,GACf,KAAK,EACJ,MAAO,CAACqB,EAAGF,EAAGnB,GACf,KAAK,EACJ,MAAO,CAACA,EAAGmB,EAAGC,GAEjB,EAEA9N,EAAQ+K,IAAID,IAAM,SAAUC,GAC3B,MAAMqB,EAAIrB,EAAI,GACRsB,EAAItB,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IACbiD,EAAO7M,KAAK+K,IAAIQ,EAAG,KACzB,IAAIuB,EACA3B,EAEJA,GAAK,EAAID,GAAKK,EACd,MAAMgB,GAAQ,EAAIrB,GAAK2B,EAMvB,OALAC,EAAK5B,EAAI2B,EACTC,GAAOP,GAAQ,EAAKA,EAAO,EAAIA,EAC/BO,EAAKA,GAAM,EACX3B,GAAK,EAEE,CAACF,EAAQ,IAAL6B,EAAc,IAAJ3B,EACtB,EAGAtM,EAAQgL,IAAIH,IAAM,SAAUG,GAC3B,MAAMoB,EAAIpB,EAAI,GAAK,IACnB,IAAIkD,EAAKlD,EAAI,GAAK,IACdmD,EAAKnD,EAAI,GAAK,IAClB,MAAMoD,EAAQF,EAAKC,EACnB,IAAI5L,EAGA6L,EAAQ,IACXF,GAAME,EACND,GAAMC,GAGP,MAAMlN,EAAIC,KAAKyM,MAAM,EAAIxB,GACnBM,EAAI,EAAIyB,EACd5L,EAAI,EAAI6J,EAAIlL,EAEH,EAAJA,IACJqB,EAAI,EAAIA,GAGT,MAAM8L,EAAIH,EAAK3L,GAAKmK,EAAIwB,GAExB,IAAIpC,EACAC,EACAC,EAEJ,OAAQ9K,GACP,QACA,KAAK,EACL,KAAK,EAAG4K,EAAIY,EAAIX,EAAIsC,EAAIrC,EAAIkC,EAAI,MAChC,KAAK,EAAGpC,EAAIuC,EAAItC,EAAIW,EAAIV,EAAIkC,EAAI,MAChC,KAAK,EAAGpC,EAAIoC,EAAInC,EAAIW,EAAIV,EAAIqC,EAAG,MAC/B,KAAK,EAAGvC,EAAIoC,EAAInC,EAAIsC,EAAIrC,EAAIU,EAAG,MAC/B,KAAK,EAAGZ,EAAIuC,EAAItC,EAAImC,EAAIlC,EAAIU,EAAG,MAC/B,KAAK,EAAGZ,EAAIY,EAAIX,EAAImC,EAAIlC,EAAIqC,EAI7B,MAAO,CAAK,IAAJvC,EAAa,IAAJC,EAAa,IAAJC,EAC3B,EAEAhM,EAAQiL,KAAKJ,IAAM,SAAUI,GAC5B,MAAM1G,EAAI0G,EAAK,GAAK,IACdqD,EAAIrD,EAAK,GAAK,IACdkC,EAAIlC,EAAK,GAAK,IACd4B,EAAI5B,EAAK,GAAK,IAMpB,MAAO,CAAK,KAJF,EAAI9J,KAAK8K,IAAI,EAAG1H,GAAK,EAAIsI,GAAKA,IAInB,KAHX,EAAI1L,KAAK8K,IAAI,EAAGqC,GAAK,EAAIzB,GAAKA,IAGV,KAFpB,EAAI1L,KAAK8K,IAAI,EAAGkB,GAAK,EAAIN,GAAKA,IAGzC,EAEA7M,EAAQkL,IAAIL,IAAM,SAAUK,GAC3B,MAAMkC,EAAIlC,EAAI,GAAK,IACbiC,EAAIjC,EAAI,GAAK,IACbmC,EAAInC,EAAI,GAAK,IACnB,IAAIY,EACAC,EACAC,EAuBJ,OArBAF,EAAS,OAAJsB,GAAoB,OAALD,GAAqB,MAALE,EACpCtB,GAAU,MAALqB,EAAoB,OAAJD,EAAmB,MAAJE,EACpCrB,EAAS,MAAJoB,GAAoB,KAALD,EAAoB,MAAJE,EAGpCvB,EAAIA,EAAI,SACH,MAASA,IAAM,EAAM,KAAS,KAC5B,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAASA,IAAM,EAAM,KAAS,KAC5B,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAASA,IAAM,EAAM,KAAS,KAC5B,MAAJA,EAEHF,EAAI3K,KAAK8K,IAAI9K,KAAK+K,IAAI,EAAGJ,GAAI,GAC7BC,EAAI5K,KAAK8K,IAAI9K,KAAK+K,IAAI,EAAGH,GAAI,GAC7BC,EAAI7K,KAAK8K,IAAI9K,KAAK+K,IAAI,EAAGF,GAAI,GAEtB,CAAK,IAAJF,EAAa,IAAJC,EAAa,IAAJC,EAC3B,EAEAhM,EAAQkL,IAAIC,IAAM,SAAUD,GAC3B,IAAIkC,EAAIlC,EAAI,GACRiC,EAAIjC,EAAI,GACRmC,EAAInC,EAAI,GAEZkC,GAAK,OACLD,GAAK,IACLE,GAAK,QAELD,EAAIA,EAAI,QAAYA,IAAM,EAAI,GAAO,MAAQA,EAAM,GAAK,IACxDD,EAAIA,EAAI,QAAYA,IAAM,EAAI,GAAO,MAAQA,EAAM,GAAK,IACxDE,EAAIA,EAAI,QAAYA,IAAM,EAAI,GAAO,MAAQA,EAAM,GAAK,IAMxD,MAAO,CAJI,IAAMF,EAAK,GACZ,KAAOC,EAAID,GACX,KAAOA,EAAIE,GAGtB,EAEArN,EAAQmL,IAAID,IAAM,SAAUC,GAI3B,IAAIiC,EACAD,EACAE,EAEJF,GAPUhC,EAAI,GAOL,IAAM,IACfiC,EAPUjC,EAAI,GAON,IAAMgC,EACdE,EAAIF,EAPMhC,EAAI,GAOF,IAEZ,MAAMoD,EAAKpB,GAAK,EACVqB,EAAKpB,GAAK,EACVqB,EAAKpB,GAAK,EAShB,OARAF,EAAIoB,EAAK,QAAWA,GAAMpB,EAAI,GAAK,KAAO,MAC1CC,EAAIoB,EAAK,QAAWA,GAAMpB,EAAI,GAAK,KAAO,MAC1CC,EAAIoB,EAAK,QAAWA,GAAMpB,EAAI,GAAK,KAAO,MAE1CD,GAAK,OACLD,GAAK,IACLE,GAAK,QAEE,CAACD,EAAGD,EAAGE,EACf,EAEArN,EAAQmL,IAAIC,IAAM,SAAUD,GAC3B,MAAMmB,EAAInB,EAAI,GACR9H,EAAI8H,EAAI,GACRa,EAAIb,EAAI,GACd,IAAIiB,EAGJA,EAAS,IADEjL,KAAKuN,MAAM1C,EAAG3I,GACV,EAAIlC,KAAKwN,GAEpBvC,EAAI,IACPA,GAAK,KAKN,MAAO,CAACE,EAFEnL,KAAKyN,KAAKvL,EAAIA,EAAI2I,EAAIA,GAElBI,EACf,EAEApM,EAAQoL,IAAID,IAAM,SAAUC,GAC3B,MAAMkB,EAAIlB,EAAI,GACR7G,EAAI6G,EAAI,GAGRyD,EAFIzD,EAAI,GAEC,IAAM,EAAIjK,KAAKwN,GAI9B,MAAO,CAACrC,EAHE/H,EAAIpD,KAAK2N,IAAID,GACbtK,EAAIpD,KAAK4N,IAAIF,GAGxB,EAEA7O,EAAQ6K,IAAIU,OAAS,SAAU1K,EAAMmO,EAAa,MACjD,MAAOlD,EAAGC,EAAGC,GAAKnL,EAClB,IAAIP,EAAuB,OAAf0O,EAAsBhP,EAAQ6K,IAAIE,IAAIlK,GAAM,GAAKmO,EAI7D,GAFA1O,EAAQa,KAAKC,MAAMd,EAAQ,IAEb,IAAVA,EACH,OAAO,GAGR,IAAI2O,EAAO,IACN9N,KAAKC,MAAM4K,EAAI,MAAQ,EACxB7K,KAAKC,MAAM2K,EAAI,MAAQ,EACxB5K,KAAKC,MAAM0K,EAAI,MAMlB,OAJc,IAAVxL,IACH2O,GAAQ,IAGFA,CACR,EAEAjP,EAAQ+K,IAAIQ,OAAS,SAAU1K,GAG9B,OAAOb,EAAQ6K,IAAIU,OAAOvL,EAAQ+K,IAAIF,IAAIhK,GAAOA,EAAK,GACvD,EAEAb,EAAQ6K,IAAIW,QAAU,SAAU3K,GAC/B,MAAMiL,EAAIjL,EAAK,GACTkL,EAAIlL,EAAK,GACTmL,EAAInL,EAAK,GAIf,GAAIiL,IAAMC,GAAKA,IAAMC,EACpB,OAAIF,EAAI,EACA,GAGJA,EAAI,IACA,IAGD3K,KAAKC,OAAQ0K,EAAI,GAAK,IAAO,IAAM,IAQ3C,OALa,GACT,GAAK3K,KAAKC,MAAM0K,EAAI,IAAM,GAC1B,EAAI3K,KAAKC,MAAM2K,EAAI,IAAM,GAC1B5K,KAAKC,MAAM4K,EAAI,IAAM,EAGzB,EAEAhM,EAAQuL,OAAOV,IAAM,SAAUhK,GAC9B,IAAIqO,EAAQrO,EAAO,GAGnB,GAAc,IAAVqO,GAAyB,IAAVA,EAOlB,OANIrO,EAAO,KACVqO,GAAS,KAGVA,EAAQA,EAAQ,KAAO,IAEhB,CAACA,EAAOA,EAAOA,GAGvB,MAAMC,EAA6B,IAAL,KAAbtO,EAAO,KAKxB,MAAO,EAJa,EAARqO,GAAaC,EAAQ,KACpBD,GAAS,EAAK,GAAKC,EAAQ,KAC3BD,GAAS,EAAK,GAAKC,EAAQ,IAGzC,EAEAnP,EAAQwL,QAAQX,IAAM,SAAUhK,GAE/B,GAAIA,GAAQ,IAAK,CAChB,MAAM0D,EAAmB,IAAd1D,EAAO,KAAY,EAC9B,MAAO,CAAC0D,EAAGA,EAAGA,EACf,CAIA,IAAI6K,EAFJvO,GAAQ,GAOR,MAAO,CAJGM,KAAKyM,MAAM/M,EAAO,IAAM,EAAI,IAC5BM,KAAKyM,OAAOwB,EAAMvO,EAAO,IAAM,GAAK,EAAI,IACvCuO,EAAM,EAAK,EAAI,IAG3B,EAEApP,EAAQ6K,IAAIQ,IAAM,SAAUxK,GAC3B,MAIMwO,KAJkC,IAAtBlO,KAAKC,MAAMP,EAAK,MAAe,MACtB,IAAtBM,KAAKC,MAAMP,EAAK,MAAe,IACV,IAAtBM,KAAKC,MAAMP,EAAK,MAEGyO,SAAS,IAAIC,cACpC,MAAO,SAASC,UAAUH,EAAOtO,QAAUsO,CAC5C,EAEArP,EAAQqL,IAAIR,IAAM,SAAUhK,GAC3B,MAAM4O,EAAQ5O,EAAKyO,SAAS,IAAIG,MAAM,4BACtC,IAAKA,EACJ,MAAO,CAAC,EAAG,EAAG,GAGf,IAAIC,EAAcD,EAAM,GAEA,IAApBA,EAAM,GAAG1O,SACZ2O,EAAcA,EAAYC,MAAM,IAAIC,KAAIC,GAChCA,EAAOA,IACZxN,KAAK,KAGT,MAAMyN,EAAUC,SAASL,EAAa,IAKtC,MAAO,CAJII,GAAW,GAAM,IACjBA,GAAW,EAAK,IACP,IAAVA,EAGX,EAEA9P,EAAQ6K,IAAIY,IAAM,SAAUZ,GAC3B,MAAMiB,EAAIjB,EAAI,GAAK,IACbkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACbqB,EAAM/K,KAAK+K,IAAI/K,KAAK+K,IAAIJ,EAAGC,GAAIC,GAC/BC,EAAM9K,KAAK8K,IAAI9K,KAAK8K,IAAIH,EAAGC,GAAIC,GAC/BgE,EAAU9D,EAAMD,EACtB,IAAIgE,EACAC,EAuBJ,OApBCD,EADGD,EAAS,EACA/D,GAAO,EAAI+D,GAEX,EAIZE,EADGF,GAAU,EACP,EAEH9D,IAAQJ,GACHC,EAAIC,GAAKgE,EAAU,EAExB9D,IAAQH,EACL,GAAKC,EAAIF,GAAKkE,EAEd,GAAKlE,EAAIC,GAAKiE,EAGrBE,GAAO,EACPA,GAAO,EAEA,CAAO,IAANA,EAAoB,IAATF,EAA0B,IAAZC,EAClC,EAEAjQ,EAAQ8K,IAAIW,IAAM,SAAUX,GAC3B,MAAMuB,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IAEbvG,EAAI+H,EAAI,GAAO,EAAMD,EAAIC,EAAM,EAAMD,GAAK,EAAMC,GAEtD,IAAI/J,EAAI,EAKR,OAJIgC,EAAI,IACPhC,GAAK+J,EAAI,GAAM/H,IAAM,EAAMA,IAGrB,CAACuG,EAAI,GAAQ,IAAJvG,EAAa,IAAJhC,EAC1B,EAEAvC,EAAQ+K,IAAIU,IAAM,SAAUV,GAC3B,MAAMsB,EAAItB,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IAEbxG,EAAI8H,EAAIK,EACd,IAAInK,EAAI,EAMR,OAJIgC,EAAI,IACPhC,GAAKmK,EAAInI,IAAM,EAAIA,IAGb,CAACwG,EAAI,GAAQ,IAAJxG,EAAa,IAAJhC,EAC1B,EAEAvC,EAAQyL,IAAIZ,IAAM,SAAUY,GAC3B,MAAMW,EAAIX,EAAI,GAAK,IACblH,EAAIkH,EAAI,GAAK,IACbM,EAAIN,EAAI,GAAK,IAEnB,GAAU,IAANlH,EACH,MAAO,CAAK,IAAJwH,EAAa,IAAJA,EAAa,IAAJA,GAG3B,MAAMoE,EAAO,CAAC,EAAG,EAAG,GACdxC,EAAMvB,EAAI,EAAK,EACfM,EAAIiB,EAAK,EACT5H,EAAI,EAAI2G,EACd,IAAI0D,EAAK,EAGT,OAAQjP,KAAKyM,MAAMD,IAClB,KAAK,EACJwC,EAAK,GAAK,EAAGA,EAAK,GAAKzD,EAAGyD,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAKpK,EAAGoK,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAKzD,EAAG,MACxC,KAAK,EACJyD,EAAK,GAAK,EAAGA,EAAK,GAAKpK,EAAGoK,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAKzD,EAAGyD,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,QACCA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAKpK,EAMtC,OAFAqK,GAAM,EAAM7L,GAAKwH,EAEV,CACe,KAApBxH,EAAI4L,EAAK,GAAKC,GACM,KAApB7L,EAAI4L,EAAK,GAAKC,GACM,KAApB7L,EAAI4L,EAAK,GAAKC,GAEjB,EAEApQ,EAAQyL,IAAIV,IAAM,SAAUU,GAC3B,MAAMlH,EAAIkH,EAAI,GAAK,IAGbiB,EAAInI,EAFAkH,EAAI,GAAK,KAEA,EAAMlH,GACzB,IAAIhC,EAAI,EAMR,OAJImK,EAAI,IACPnK,EAAIgC,EAAImI,GAGF,CAACjB,EAAI,GAAQ,IAAJlJ,EAAa,IAAJmK,EAC1B,EAEA1M,EAAQyL,IAAIX,IAAM,SAAUW,GAC3B,MAAMlH,EAAIkH,EAAI,GAAK,IAGba,EAFIb,EAAI,GAAK,KAEJ,EAAMlH,GAAK,GAAMA,EAChC,IAAI8H,EAAI,EASR,OAPIC,EAAI,GAAOA,EAAI,GAClBD,EAAI9H,GAAK,EAAI+H,GAEVA,GAAK,IAAOA,EAAI,IACnBD,EAAI9H,GAAK,GAAK,EAAI+H,KAGZ,CAACb,EAAI,GAAQ,IAAJY,EAAa,IAAJC,EAC1B,EAEAtM,EAAQyL,IAAIT,IAAM,SAAUS,GAC3B,MAAMlH,EAAIkH,EAAI,GAAK,IAEbiB,EAAInI,EADAkH,EAAI,GAAK,KACA,EAAMlH,GACzB,MAAO,CAACkH,EAAI,GAAc,KAATiB,EAAInI,GAAoB,KAAT,EAAImI,GACrC,EAEA1M,EAAQgL,IAAIS,IAAM,SAAUT,GAC3B,MAAMjF,EAAIiF,EAAI,GAAK,IAEb0B,EAAI,EADA1B,EAAI,GAAK,IAEbzG,EAAImI,EAAI3G,EACd,IAAIgG,EAAI,EAMR,OAJIxH,EAAI,IACPwH,GAAKW,EAAInI,IAAM,EAAIA,IAGb,CAACyG,EAAI,GAAQ,IAAJzG,EAAa,IAAJwH,EAC1B,EAEA/L,EAAQ0L,MAAMb,IAAM,SAAUa,GAC7B,MAAO,CAAEA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,IAClF,EAEA1L,EAAQ6K,IAAIa,MAAQ,SAAUb,GAC7B,MAAO,CAAEA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,MAC1E,EAEA7K,EAAQ2L,KAAKd,IAAM,SAAUhK,GAC5B,MAAO,CAACA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,IACnE,EAEAb,EAAQ2L,KAAKb,IAAM,SAAUjK,GAC5B,MAAO,CAAC,EAAG,EAAGA,EAAK,GACpB,EAEAb,EAAQ2L,KAAKZ,IAAM/K,EAAQ2L,KAAKb,IAEhC9K,EAAQ2L,KAAKX,IAAM,SAAUW,GAC5B,MAAO,CAAC,EAAG,IAAKA,EAAK,GACtB,EAEA3L,EAAQ2L,KAAKV,KAAO,SAAUU,GAC7B,MAAO,CAAC,EAAG,EAAG,EAAGA,EAAK,GACvB,EAEA3L,EAAQ2L,KAAKR,IAAM,SAAUQ,GAC5B,MAAO,CAACA,EAAK,GAAI,EAAG,EACrB,EAEA3L,EAAQ2L,KAAKN,IAAM,SAAUM,GAC5B,MAAMlF,EAAwC,IAAlCtF,KAAKC,MAAMuK,EAAK,GAAK,IAAM,KAGjC0D,IAFW5I,GAAO,KAAOA,GAAO,GAAKA,GAEpB6I,SAAS,IAAIC,cACpC,MAAO,SAASC,UAAUH,EAAOtO,QAAUsO,CAC5C,EAEArP,EAAQ6K,IAAIc,KAAO,SAAUd,GAE5B,MAAO,EADMA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAAM,EAC3B,IAAM,IACrB,C,gFCn0BIzL,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,ykEAA0kE,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iGAAiG,sHAAsH,qFAAqF,yEAAyE,MAAQ,GAAG,SAAW,oaAAoa,eAAiB,CAAC,+VAA+V,iiFAAsiF,6UAA6U,oRAAsR,WAAa,MAEp8M,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,q0GAAs0G,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yEAAyE,8FAA8F,qFAAqF,MAAQ,GAAG,SAAW,usBAAusB,eAAiB,CAAC,07CAA47C,o7EAAs7E,ieAAie,WAAa,MAErtR,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,oqBAAqqB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uFAAuF,6GAA6G,MAAQ,GAAG,SAAW,qSAAqS,eAAiB,CAAC,wcAAwc,swBAAswB,WAAa,MAEr9E,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,svBAAuvB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uEAAuE,4FAA4F,yEAAyE,MAAQ,GAAG,SAAW,yMAAyM,eAAiB,CAAC,4hBAA4hB,q0BAAu0B,oRAAsR,WAAa,MAE95F,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,45EAA65E,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iFAAiF,iFAAiF,sGAAsG,oFAAoF,yEAAyE,MAAQ,GAAG,SAAW,yoBAAyoB,eAAiB,CAAC,6qBAA+qB,6WAA6W,gzFAAqzF,geAAge,oRAAsR,WAAa,MAE3oQ,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,wYAAyY,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yEAAyE,+FAA+F,MAAQ,GAAG,SAAW,kGAAkG,eAAiB,CAAC,scAAwc,oZAAoZ,WAAa,MAExmD,S,wBCDAR,EAAOD,QAAU,SAAUwR,GACzB,IAAI9G,EAAO,GA4EX,OAzEAA,EAAK+F,SAAW,WACd,OAAOgB,KAAKV,KAAI,SAAUnO,GACxB,IAAIC,EAAU,GACVgG,OAA+B,IAAZjG,EAAK,GAoB5B,OAnBIA,EAAK,KACPC,GAAW,cAAcS,OAAOV,EAAK,GAAI,QAEvCA,EAAK,KACPC,GAAW,UAAUS,OAAOV,EAAK,GAAI,OAEnCiG,IACFhG,GAAW,SAASS,OAAOV,EAAK,GAAGV,OAAS,EAAI,IAAIoB,OAAOV,EAAK,IAAM,GAAI,OAE5EC,GAAW2O,EAAuB5O,GAC9BiG,IACFhG,GAAW,KAETD,EAAK,KACPC,GAAW,KAETD,EAAK,KACPC,GAAW,KAENA,CACT,IAAGW,KAAK,GACV,EAGAkH,EAAKrI,EAAI,SAAWqP,EAAS9I,EAAO+I,EAAQhJ,EAAUG,GAC7B,iBAAZ4I,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASE,KAE7B,IAAIC,EAAyB,CAAC,EAC9B,GAAIF,EACF,IAAK,IAAI3D,EAAI,EAAGA,EAAIyD,KAAKvP,OAAQ8L,IAAK,CACpC,IAAIvN,EAAKgR,KAAKzD,GAAG,GACP,MAANvN,IACFoR,EAAuBpR,IAAM,EAEjC,CAEF,IAAK,IAAIqR,EAAK,EAAGA,EAAKJ,EAAQxP,OAAQ4P,IAAM,CAC1C,IAAIlP,EAAO,GAAGU,OAAOoO,EAAQI,IACzBH,GAAUE,EAAuBjP,EAAK,WAGrB,IAAVkG,SACc,IAAZlG,EAAK,KAGdA,EAAK,GAAK,SAASU,OAAOV,EAAK,GAAGV,OAAS,EAAI,IAAIoB,OAAOV,EAAK,IAAM,GAAI,MAAMU,OAAOV,EAAK,GAAI,MAF/FA,EAAK,GAAKkG,GAMVF,IACGhG,EAAK,IAGRA,EAAK,GAAK,UAAUU,OAAOV,EAAK,GAAI,MAAMU,OAAOV,EAAK,GAAI,KAC1DA,EAAK,GAAKgG,GAHVhG,EAAK,GAAKgG,GAMVD,IACG/F,EAAK,IAGRA,EAAK,GAAK,cAAcU,OAAOV,EAAK,GAAI,OAAOU,OAAOV,EAAK,GAAI,KAC/DA,EAAK,GAAK+F,GAHV/F,EAAK,GAAK,GAAGU,OAAOqF,IAMxB+B,EAAKlK,KAAKoC,GACZ,CACF,EACO8H,CACT,C,gFCjFInK,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,g+IAAi+I,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,qGAAqG,0HAA0H,oFAAoF,yEAAyE,MAAQ,GAAG,SAAW,uoBAAuoB,eAAiB,CAAC,oYAAoY,y1JAA61J,geAAge,oRAAsR,WAAa,MAEpjX,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,qEAAsE,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,0EAA0E,MAAQ,GAAG,SAAW,kBAAkB,eAAiB,CAAC,yVAAyV,WAAa,MAEpnB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,wDAAyD,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mGAAmG,MAAQ,GAAG,SAAW,kBAAkB,eAAiB,CAAC,wPAAwP,WAAa,MAE/hB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,s1BAAu1B,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mFAAmF,yGAAyG,MAAQ,GAAG,SAAW,yJAAyJ,eAAiB,CAAC,osBAAosB,iqBAAiqB,WAAa,MAE1oF,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,gqQAAiqQ,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iFAAiF,uGAAuG,MAAQ,GAAG,SAAW,8+CAA8+C,eAAiB,CAAC,u2GAAk3G,sgSAAuhS,WAAa,MAEz0sB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,yrFAA0rF,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4FAA4F,iHAAiH,qFAAqF,MAAQ,GAAG,SAAW,gcAAgc,eAAiB,CAAC,wYAAwY,s4GAA+4G,ieAAie,WAAa,MAE7wP,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,oOAAqO,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,MAAQ,GAAG,SAAW,mGAAmG,eAAiB,CAAC,gsBAAgsB,WAAa,MAE7sC,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,45CAA65C,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uGAAuG,4HAA4H,oFAAoF,MAAQ,GAAG,SAAW,8PAA8P,eAAiB,CAAC,maAAma,orCAAwrC,6eAA6e,WAAa,MAEnpI,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,wWAAyW,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yFAAyF,8GAA8G,oFAAoF,MAAQ,GAAG,SAAW,4HAA4H,eAAiB,CAAC,kbAAkb,qaAAua,6eAA6e,WAAa,MAE/rE,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,y+BAA0+B,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,iFAAiF,MAAQ,GAAG,SAAW,0VAA0V,eAAiB,CAAC,uvDAAwvD,+aAA+a,WAAa,MAEjwH,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,obAAqb,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yFAAyF,MAAQ,GAAG,SAAW,0GAA0G,eAAiB,CAAC,qjCAAujC,WAAa,MAExyD,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,2SAA4S,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gGAAgG,sHAAsH,MAAQ,GAAG,SAAW,iFAAiF,eAAiB,CAAC,ugBAAugB,gPAAgP,WAAa,MAEn8C,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,qtBAAstB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mFAAmF,yGAAyG,MAAQ,GAAG,SAAW,+MAA+M,eAAiB,CAAC,kbAAkb,0uBAA0uB,WAAa,MAEt3E,S,wBCLA,IAAIsR,EAAO,CAAC,EA+BZ9R,EAAOD,QAPP,SAA0BgB,EAAQgR,GAChC,IAAIC,EAtBN,SAAmBA,GACjB,QAA4B,IAAjBF,EAAKE,GAAyB,CACvC,IAAIC,EAActR,SAASuR,cAAcF,GAGzC,GAAIG,OAAOC,mBAAqBH,aAAuBE,OAAOC,kBAC5D,IAGEH,EAAcA,EAAYI,gBAAgBC,IAC5C,CAAE,MAAOC,GAEPN,EAAc,IAChB,CAEFH,EAAKE,GAAUC,CACjB,CACA,OAAOH,EAAKE,EACd,CAIeQ,CAAUzR,GACvB,IAAKiR,EACH,MAAM,IAAIjF,MAAM,2GAElBiF,EAAO3I,YAAY0I,EACrB,C,gFC7BIzR,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,+DAAgE,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,MAAQ,GAAG,SAAW,kBAAkB,eAAiB,CAAC,+PAA+P,WAAa,MAEthB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,+uGAAgvG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2EAA2E,MAAQ,GAAG,SAAW,6aAA6a,eAAiB,CAAC,i4GAAi4G,WAAa,MAEluO,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,qiDAAsiD,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2FAA2F,gHAAgH,iFAAiF,MAAQ,GAAG,SAAW,kdAAkd,eAAiB,CAAC,iOAAiO,y2EAA42E,+aAA+a,WAAa,MAEz4K,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,41DAA61D,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,0EAA0E,wEAAwE,+FAA+F,yEAAyE,MAAQ,GAAG,SAAW,4ZAA4Z,eAAiB,CAAC,8pBAAgqB,8RAA8R,g6DAAy6D,oRAAsR,WAAa,MAEzyL,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,2LAA4L,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4FAA4F,kHAAkH,MAAQ,GAAG,SAAW,2DAA2D,eAAiB,CAAC,kSAAkS,6VAA6V,WAAa,MAE7rC,S,wBCLAR,EAAOD,QAAU,CAChB,UAAa,CAAC,IAAK,IAAK,KACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,KAAQ,CAAC,EAAG,IAAK,KACjB,WAAc,CAAC,IAAK,IAAK,KACzB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,EAAG,EAAG,GAChB,eAAkB,CAAC,IAAK,IAAK,KAC7B,KAAQ,CAAC,EAAG,EAAG,KACf,WAAc,CAAC,IAAK,GAAI,KACxB,MAAS,CAAC,IAAK,GAAI,IACnB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,WAAc,CAAC,IAAK,IAAK,GACzB,UAAa,CAAC,IAAK,IAAK,IACxB,MAAS,CAAC,IAAK,IAAK,IACpB,eAAkB,CAAC,IAAK,IAAK,KAC7B,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,GAAI,IACrB,KAAQ,CAAC,EAAG,IAAK,KACjB,SAAY,CAAC,EAAG,EAAG,KACnB,SAAY,CAAC,EAAG,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,IAC5B,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,EAAG,IAAK,GACtB,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,EAAG,KACxB,eAAkB,CAAC,GAAI,IAAK,IAC5B,WAAc,CAAC,IAAK,IAAK,GACzB,WAAc,CAAC,IAAK,GAAI,KACxB,QAAW,CAAC,IAAK,EAAG,GACpB,WAAc,CAAC,IAAK,IAAK,KACzB,aAAgB,CAAC,IAAK,IAAK,KAC3B,cAAiB,CAAC,GAAI,GAAI,KAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,EAAG,IAAK,KAC1B,WAAc,CAAC,IAAK,EAAG,KACvB,SAAY,CAAC,IAAK,GAAI,KACtB,YAAe,CAAC,EAAG,IAAK,KACxB,QAAW,CAAC,IAAK,IAAK,KACtB,QAAW,CAAC,IAAK,IAAK,KACtB,WAAc,CAAC,GAAI,IAAK,KACxB,UAAa,CAAC,IAAK,GAAI,IACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,YAAe,CAAC,GAAI,IAAK,IACzB,QAAW,CAAC,IAAK,EAAG,KACpB,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,KAAQ,CAAC,IAAK,IAAK,GACnB,UAAa,CAAC,IAAK,IAAK,IACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,MAAS,CAAC,EAAG,IAAK,GAClB,YAAe,CAAC,IAAK,IAAK,IAC1B,KAAQ,CAAC,IAAK,IAAK,KACnB,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,IACvB,OAAU,CAAC,GAAI,EAAG,KAClB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,SAAY,CAAC,IAAK,IAAK,KACvB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,GACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,qBAAwB,CAAC,IAAK,IAAK,KACnC,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,IAAK,KAC1B,cAAiB,CAAC,GAAI,IAAK,KAC3B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,IAAK,GACjB,UAAa,CAAC,GAAI,IAAK,IACvB,MAAS,CAAC,IAAK,IAAK,KACpB,QAAW,CAAC,IAAK,EAAG,KACpB,OAAU,CAAC,IAAK,EAAG,GACnB,iBAAoB,CAAC,IAAK,IAAK,KAC/B,WAAc,CAAC,EAAG,EAAG,KACrB,aAAgB,CAAC,IAAK,GAAI,KAC1B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,GAAI,IAAK,KAC5B,gBAAmB,CAAC,IAAK,IAAK,KAC9B,kBAAqB,CAAC,EAAG,IAAK,KAC9B,gBAAmB,CAAC,GAAI,IAAK,KAC7B,gBAAmB,CAAC,IAAK,GAAI,KAC7B,aAAgB,CAAC,GAAI,GAAI,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,SAAY,CAAC,IAAK,IAAK,KACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,EAAG,KACf,QAAW,CAAC,IAAK,IAAK,KACtB,MAAS,CAAC,IAAK,IAAK,GACpB,UAAa,CAAC,IAAK,IAAK,IACxB,OAAU,CAAC,IAAK,IAAK,GACrB,UAAa,CAAC,IAAK,GAAI,GACvB,OAAU,CAAC,IAAK,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,KACxB,cAAiB,CAAC,IAAK,IAAK,KAC5B,cAAiB,CAAC,IAAK,IAAK,KAC5B,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,IACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,EAAG,KACnB,cAAiB,CAAC,IAAK,GAAI,KAC3B,IAAO,CAAC,IAAK,EAAG,GAChB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,YAAe,CAAC,IAAK,GAAI,IACzB,OAAU,CAAC,IAAK,IAAK,KACrB,WAAc,CAAC,IAAK,IAAK,IACzB,SAAY,CAAC,GAAI,IAAK,IACtB,SAAY,CAAC,IAAK,IAAK,KACvB,OAAU,CAAC,IAAK,GAAI,IACpB,OAAU,CAAC,IAAK,IAAK,KACrB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,YAAe,CAAC,EAAG,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,IAAO,CAAC,IAAK,IAAK,KAClB,KAAQ,CAAC,EAAG,IAAK,KACjB,QAAW,CAAC,IAAK,IAAK,KACtB,OAAU,CAAC,IAAK,GAAI,IACpB,UAAa,CAAC,GAAI,IAAK,KACvB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,IAAK,GACrB,YAAe,CAAC,IAAK,IAAK,I,gFCnJvBO,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,kCAAmC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+GAA+G,MAAQ,GAAG,SAAW,kBAAkB,eAAiB,CAAC,2YAA2Y,WAAa,MAExqB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0ZAA2Z,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mFAAmF,yEAAyE,MAAQ,GAAG,SAAW,yIAAyI,eAAiB,CAAC,inBAAmnB,+RAA+R,WAAa,MAE3sD,S,iBCPA,MAAMQ,EAAc,EAAQ,MA+B5B,SAASyR,EAAUnR,GAClB,MAAMoR,EAnBP,WACC,MAAMA,EAAQ,CAAC,EAETC,EAASxR,OAAOC,KAAKJ,GAE3B,IAAK,IAAImB,EAAMwQ,EAAO1Q,OAAQG,EAAI,EAAGA,EAAID,EAAKC,IAC7CsQ,EAAMC,EAAOvQ,IAAM,CAGlBgM,UAAW,EACXwE,OAAQ,MAIV,OAAOF,CACR,CAIeG,GACRC,EAAQ,CAACxR,GAIf,IAFAoR,EAAMpR,GAAW8M,SAAW,EAErB0E,EAAM7Q,QAAQ,CACpB,MAAM8Q,EAAUD,EAAME,MAChBC,EAAY9R,OAAOC,KAAKJ,EAAY+R,IAE1C,IAAK,IAAI5Q,EAAM8Q,EAAUhR,OAAQG,EAAI,EAAGA,EAAID,EAAKC,IAAK,CACrD,MAAM8Q,EAAWD,EAAU7Q,GACrB+Q,EAAOT,EAAMQ,IAEI,IAAnBC,EAAK/E,WACR+E,EAAK/E,SAAWsE,EAAMK,GAAS3E,SAAW,EAC1C+E,EAAKP,OAASG,EACdD,EAAMM,QAAQF,GAEhB,CACD,CAEA,OAAOR,CACR,CAEA,SAASW,EAAKC,EAAMC,GACnB,OAAO,SAAUxR,GAChB,OAAOwR,EAAGD,EAAKvR,GAChB,CACD,CAEA,SAASyR,EAAe5R,EAAS8Q,GAChC,MAAMe,EAAO,CAACf,EAAM9Q,GAASgR,OAAQhR,GACrC,IAAIC,EAAKb,EAAY0R,EAAM9Q,GAASgR,QAAQhR,GAExC8R,EAAMhB,EAAM9Q,GAASgR,OACzB,KAAOF,EAAMgB,GAAKd,QACjBa,EAAKL,QAAQV,EAAMgB,GAAKd,QACxB/Q,EAAKwR,EAAKrS,EAAY0R,EAAMgB,GAAKd,QAAQc,GAAM7R,GAC/C6R,EAAMhB,EAAMgB,GAAKd,OAIlB,OADA/Q,EAAGU,WAAakR,EACT5R,CACR,CAEA7B,EAAOD,QAAU,SAAUuB,GAC1B,MAAMoR,EAAQD,EAAUnR,GAClBiB,EAAa,CAAC,EAEdoQ,EAASxR,OAAOC,KAAKsR,GAC3B,IAAK,IAAIvQ,EAAMwQ,EAAO1Q,OAAQG,EAAI,EAAGA,EAAID,EAAKC,IAAK,CAClD,MAAMR,EAAU+Q,EAAOvQ,GAGH,OAFPsQ,EAAM9Q,GAEVgR,SAKTrQ,EAAWX,GAAW4R,EAAe5R,EAAS8Q,GAC/C,CAEA,OAAOnQ,CACR,C,gFC5FIjC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,whCAAyhC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,sEAAsE,MAAQ,GAAG,SAAW,4YAA4Y,eAAiB,CAAC,irJAAorJ,WAAa,MAExxM,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,2rCAA4rC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2EAA2E,iGAAiG,MAAQ,GAAG,SAAW,mTAAmT,eAAiB,CAAC,+RAA+R,07CAA07C,WAAa,MAE7+G,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,udAAwd,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,kGAAkG,MAAQ,GAAG,SAAW,6DAA6D,eAAiB,CAAC,8gCAA8gC,WAAa,MAE9vD,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,8jKAA+jK,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,qFAAqF,iFAAiF,wEAAwE,0GAA0G,gGAAgG,oFAAoF,kFAAkF,mFAAmF,sFAAsF,MAAQ,GAAG,SAAW,uhCAAuhC,eAAiB,CAAC,kyBAAsyB,6WAA6W,mRAAqR,6pIAA0qI,sxBAAsxB,geAAge,sWAAsW,4eAA4e,8UAA8U,WAAa,MAE97d,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,oKAAqK,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4EAA4E,MAAQ,GAAG,SAAW,6DAA6D,eAAiB,CAAC,oYAAoY,WAAa,MAE3yB,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,whFAAyhF,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6EAA6E,kGAAkG,yEAAyE,MAAQ,GAAG,SAAW,mnBAAmnB,eAAiB,CAAC,mxBAAmxB,00FAA00F,oRAAsR,WAAa,MAEh3O,S,WCFA,IAAImT,GAAoB,EACpBC,GAAkB,EAClBC,GAAgB,EAqBpB,SAASC,EAAQC,EAAOC,EAAMxS,GAC7B,IAAIkD,EAAQqP,EAAME,UAAUD,GACxBE,EAAO,CAACF,EAAMxS,GAEdkD,EAAQ,EACXqP,EAAMI,SAASD,GAEfH,EAAMK,MAAM1P,GAASwP,CAEvB,CAEA,SAASG,EAAYC,EAAQ5P,GAE5B,IADA,IAAI6P,EAAcD,EAAO5P,GAAO8P,MAAQ,EAC/BpS,EAAIsC,EAAQ,EAAGtC,GAAK,EAAGA,IAC/B,GAAIkS,EAAOlS,GAAGoS,QAAUD,EACvB,OAAOnS,EAGT,OAAQ,CACT,CAEA,SAASqS,EAAWH,EAAQ5P,GAC3B,MA0DgD,WA1DhC4P,EAAO5P,GA0DgBgQ,MACxC,SAAqBX,GAAS,MAAsB,mBAAfA,EAAMW,IAA2B,CA1D9DC,CAAYL,EAAO5P,EAAQ,KA2DnC,SAAoBqP,GAAS,MAAsB,mBAAfA,EAAMW,IAA2B,CA1D7DE,CAAWN,EAAO5P,EAAQ,KA4DlC,SAAgCqP,GAE/B,OAAyC,IAAlCA,EAAMnR,QAAQiS,QAAQ,SAAmD,IAAlCd,EAAMnR,QAAQiS,QAAQ,SAAmD,IAAlCd,EAAMnR,QAAQiS,QAAQ,OAC5G,CA9DQC,CAAuBR,EAAO5P,GACtC,CAEA,SAASqQ,EAAQhB,EAAOiB,GAKvB,GAJAjB,EAAMkB,SAAS7B,QAmBhB,SAAsBW,EAAOiB,GAC5B,IAAIE,EAAW,IAAIF,EAAiB,cAAe,GAAI,GACnDG,EAAexB,EAAoB,gBAAkB,GACnB,IAAlCI,EAAMnR,QAAQiS,QAAQ,QACzBK,EAAStS,QAAU,yCAA2CuS,EAAe,mBACjC,IAAlCpB,EAAMnR,QAAQiS,QAAQ,SAAmD,IAAlCd,EAAMnR,QAAQiS,QAAQ,UACvEK,EAAStS,QAAU,oDAAsDuS,EAAe,oBAEzF,OAAOD,CACR,CA5BwBE,CAAarB,EAAOiB,IAC3CjB,EAAMkB,SAAS,GAAGrS,QAAUmR,EAAMkB,SAAS,GAAGrS,QAAQoH,MAAM,GAC5D+J,EAAMnR,QAAUmR,EAAMnR,QAAQoH,MAAM,GAEhC4J,EACH,GAAIC,EAAe,CAClBE,EAAMkB,SAASjC,MAGf,IAAIxS,EAAK,aAAe6B,KAAKgT,KAAqB,IAAhBhT,KAAKiT,SAA4B,KACnEvB,EAAMkB,SAAS,GAAGrS,QAAUmR,EAAMkB,SAAS,GAAGrS,QAAQoH,MAAM,GAAI,GAAK,QAAUxJ,EAAK,KACpFuT,EAAMkB,SAAS1U,KAiClB,SAAoBqC,EAASpC,EAAIwU,GAChC,IAAIjB,EAAQ,IAAIiB,EAAiB,cAAe,GAAI,GAGpD,OAFAjB,EAAMnR,QAAU,4CAA8CpC,EAAK,KAAOoC,EAAU,WACpFmR,EAAMK,MAAQ,CAAC,CAACmB,IAAK/U,IACduT,CACR,CAtCuByB,CAAWzB,EAAMnR,QAASpC,EAAIwU,GACnD,MACCjB,EAAMkB,SAAS7B,QAmBlB,SAAoB4B,GACnB,IAAIjB,EAAQ,IAAIiB,EAAiB,cAAe,GAAI,GAEpD,OADAjB,EAAMnR,QAAU,UACTmR,CACR,CAvB0B0B,CAAWT,IAClCjB,EAAMkB,SAAS1U,KAwBlB,SAAkByU,GACjB,IAAIjB,EAAQ,IAAIiB,EAAiB,cAAe,GAAI,GAEpD,OADAjB,EAAMnR,QAAU,WACTmR,CACR,CA5BuB2B,CAASV,GAGhC,CAjEAhV,EAAOD,QAAU,SAAS4V,EAAIlV,GACzBA,IACHkT,GAAqBlT,EAAQmV,QAC7BhC,IAAoBnT,EAAQoV,MAC5BhC,IAAkBpT,EAAQqV,YAG3BH,EAAGI,KAAKC,MAAMC,MAAM,SAAU,qBAAqB,SAASC,GAE3D,IADA,IAAI5B,EAAS4B,EAAM5B,OACVlS,EAAI,EAAGA,EAAIkS,EAAOrS,OAAQG,IAC9BqS,EAAWH,EAAQlS,KACtB2S,EAAQT,EAAOlS,GAAI8T,EAAMC,OACzBrC,EAAQQ,EAAOlS,EAAE,GAAI,QAAS,kBAAqBuR,EAAiC,GAAb,aACvEG,EAAQQ,EAAOD,EAAYC,EAAQlS,EAAE,IAAK,QAAS,sBAGtD,GACD,C,gFCvBI9B,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,0vFAA2vF,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uHAAuH,kFAAkF,oFAAoF,MAAQ,GAAG,SAAW,slBAAslB,eAAiB,CAAC,2vEAA+vE,sWAAsW,6eAA6e,WAAa,MAEzzN,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,42GAA62G,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2FAA2F,gHAAgH,wEAAwE,oFAAoF,sFAAsF,MAAQ,GAAG,SAAW,kmBAAkmB,eAAiB,CAAC,kVAAkV,0wIAAgxI,mRAAqR,geAAge,8UAA8U,WAAa,MAE1qU,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,yrBAA0rB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4FAA4F,kHAAkH,MAAQ,GAAG,SAAW,gMAAgM,eAAiB,CAAC,qgBAAqgB,qgCAAqgC,WAAa,MAE3sF,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,gTAAiT,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4FAA4F,kHAAkH,MAAQ,GAAG,SAAW,2FAA2F,eAAiB,CAAC,iRAAiR,6bAA6b,WAAa,MAEj6C,S,gFCJIF,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACP,EAAOQ,GAAI,6jBAA8jB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,sEAAsE,MAAQ,GAAG,SAAW,6PAA6P,eAAiB,CAAC,4+FAA8+F,WAAa,MAEx+H,S,GCNI4V,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB3E,IAAjB4E,EACH,OAAOA,EAAaxW,QAGrB,IAAIC,EAASoW,EAAyBE,GAAY,CACjD9V,GAAI8V,EAEJvW,QAAS,CAAC,GAOX,OAHAyW,EAAoBF,GAAUtW,EAAQA,EAAOD,QAASsW,GAG/CrW,EAAOD,OACf,CAGAsW,EAAoB7G,EAAIgH,ECxBxBH,EAAoB9G,EAAKvP,IACxB,IAAIyW,EAASzW,GAAUA,EAAO6J,WAC7B,IAAO7J,EAAiB,QACxB,IAAM,EAEP,OADAqW,EAAoBK,EAAED,EAAQ,CAAElS,EAAGkS,IAC5BA,CAAM,E3GNVpW,EAAWc,OAAOwV,eAAkBnO,GAASrH,OAAOwV,eAAenO,GAASA,GAASA,EAAa,UAQtG6N,EAAoBpH,EAAI,SAASzN,EAAOoV,GAEvC,GADU,EAAPA,IAAUpV,EAAQgQ,KAAKhQ,IAChB,EAAPoV,EAAU,OAAOpV,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPoV,GAAapV,EAAMqI,WAAY,OAAOrI,EAC1C,GAAW,GAAPoV,GAAoC,mBAAfpV,EAAMqV,KAAqB,OAAOrV,CAC5D,CACA,IAAIsV,EAAK3V,OAAO4V,OAAO,MACvBV,EAAoBrJ,EAAE8J,GACtB,IAAIE,EAAM,CAAC,EACX5W,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAI0S,EAAiB,EAAP6D,GAAYpV,EAAyB,iBAAXuR,KAAyB3S,EAAeyU,QAAQ9B,GAAUA,EAAU1S,EAAS0S,GACxH5R,OAAO8V,oBAAoBlE,GAAS1R,SAAS8I,GAAS6M,EAAI7M,GAAO,IAAO3I,EAAM2I,KAI/E,OAFA6M,EAAa,QAAI,IAAM,EACvBX,EAAoBK,EAAEI,EAAIE,GACnBF,CACR,E4GxBAT,EAAoBK,EAAI,CAAC3W,EAASmX,KACjC,IAAI,IAAI/M,KAAO+M,EACXb,EAAoBc,EAAED,EAAY/M,KAASkM,EAAoBc,EAAEpX,EAASoK,IAC5EhJ,OAAOI,eAAexB,EAASoK,EAAK,CAAEiN,YAAY,EAAMC,IAAKH,EAAW/M,IAE1E,ECNDkM,EAAoBc,EAAI,CAAC3O,EAAK8O,IAAUnW,OAAOwF,UAAUC,eAAeC,KAAK2B,EAAK8O,GCClFjB,EAAoBrJ,EAAKjN,IACH,oBAAXwX,QAA0BA,OAAOC,aAC1CrW,OAAOI,eAAexB,EAASwX,OAAOC,YAAa,CAAEhW,MAAO,WAE7DL,OAAOI,eAAexB,EAAS,aAAc,CAAEyB,OAAO,GAAO,ECL9D6U,EAAoBnJ,EAAIvM,SAAS8W,SAAWtX,KAAKuX,SAASC,K,4gBCoB1D,IAAIC,E,wFAEJ,IACIA,EAAY,CAAEzF,OAAQxR,SAC1B,CACA,MAAO4R,GAOHqF,EAAY,CAAEzF,OAAQ,CAAC,EAAGxR,SAAU,CAAC,EACzC,CACA,UCrBO,SAASkX,IAEZ,IACI,OAAOC,UAAUC,UAAUC,aAC/B,CACA,MAAOzF,GACH,MAAO,EACX,CACJ,CACA,MAAMwF,EAA4BF,IAsBlC,EAlBY,CACRI,MAAuBA,EAAMF,GAC7BG,UAA2BA,EAAUH,GACrCI,QAAyBA,EAAQJ,GACjCK,SAA0BA,EAASL,GACnCM,MAAuBA,EAAMN,GAC7BO,UAA2BA,EAAUP,GACrCQ,QAAyBA,EAAQR,GACjC,uBAAIS,GACA,QAoGG,EAAOrG,OAAOsG,YAAa,EAAOtG,OAAOsG,WAAW,2BAA2BC,OAnGtF,EACA,mBAAIC,GACA,QAyGG,EAAOxG,OAAOsG,YAAa,EAAOtG,OAAOsG,WAAW,4BAA4BC,OAxGvF,EACAE,SAAU,CACNC,iCAAkDA,MAUnD,SAASZ,EAAMF,GAClB,OAAOA,EAAUlD,QAAQ,cAAgB,CAC7C,CAOO,SAASqD,EAAUH,GACtB,OAAOA,EAAUlD,QAAQ,YAAc,CAC3C,CAOO,SAASsD,EAAQJ,GACpB,QAASA,EAAUpH,MAAM,aAC7B,CAOO,SAASyH,EAASL,GACrB,OAAOA,EAAUlD,QAAQ,kBAAoB,IAAsC,IAAjCkD,EAAUlD,QAAQ,SACxE,CAOO,SAASwD,EAAMN,GAElB,QAASA,EAAUpH,MAAM,iBAAoBsH,EAAMF,IAAcD,UAAUgB,eAAiB,CAChG,CAOO,SAASR,EAAUP,GACtB,OAAOA,EAAUlD,QAAQ,YAAc,CAC3C,CAOO,SAAS0D,EAAQR,GAGpB,OAAOA,EAAUlD,QAAQ,YAAc,GAAKkD,EAAUlD,QAAQ,SAAW,CAC7E,CAMO,SAASgE,IACZ,IAAIE,GAAc,EAGlB,IAEIA,EAA0D,IAA5C,IAAIC,OAAO,IAAIC,OAAO,WAAY,KACpD,CACA,MAAOC,GAEP,CACA,OAAOH,CACX,CCnBe,SAASI,EAAS5U,EAAG2I,EAAGkM,EAAKC,GAExCD,EAAMA,GAAO,SAAU7U,EAAG2I,GACtB,OAAO3I,IAAM2I,CACjB,EAOA,MAAMoM,EAAS9T,MAAM+T,QAAQhV,GAAKA,EAAIiB,MAAMmB,UAAUqD,MAAMnD,KAAKtC,GAC3DiV,EAAShU,MAAM+T,QAAQrM,GAAKA,EAAI1H,MAAMmB,UAAUqD,MAAMnD,KAAKqG,GAE3DuM,EAmBV,SAAmCC,EAAMC,EAAMP,GAE3C,MAAMQ,EAAaC,EAAyBH,EAAMC,EAAMP,GAExD,IAAoB,IAAhBQ,EACA,MAAO,CAAEA,YAAa,EAAGE,cAAe,EAAGC,cAAe,GAG9D,MAAMC,EAAmBC,EAAcP,EAAME,GACvCM,EAAmBD,EAAcN,EAAMC,GAYvCO,EAAYN,EAAyBG,EAAkBE,EAAkBd,GAEzEU,EAAeJ,EAAKzX,OAASkY,EAC7BJ,EAAeJ,EAAK1X,OAASkY,EACnC,MAAO,CAAEP,aAAYE,eAAcC,eACvC,CA7C0BK,CAA0Bd,EAAQE,EAAQJ,GAE1DlX,EAASmX,EAsGnB,SAAsCI,EAAeY,GACjD,MAAM,WAAET,EAAU,aAAEE,EAAY,aAAEC,GAAiBN,EAEnD,IAAoB,IAAhBG,EACA,OAAOpU,MAAM6U,GAAWC,KAAK,SAEjC,IAAIpY,EAAS,GACT0X,EAAa,IACb1X,EAASA,EAAOmB,OAAOmC,MAAMoU,GAAYU,KAAK,WAE9CP,EAAeH,EAAa,IAC5B1X,EAASA,EAAOmB,OAAOmC,MAAMuU,EAAeH,GAAYU,KAAK,YAE7DR,EAAeF,EAAa,IAC5B1X,EAASA,EAAOmB,OAAOmC,MAAMsU,EAAeF,GAAYU,KAAK,YAE7DP,EAAeM,IACfnY,EAASA,EAAOmB,OAAOmC,MAAM6U,EAAYN,GAAcO,KAAK,WAEhE,OAAOpY,CACX,CAzHQqY,CAA6Bd,EAAeD,EAAOvX,QAwE3D,SAAgCuY,EAAUf,GACtC,MAAMvX,EAAS,IACT,WAAE0X,EAAU,aAAEE,EAAY,aAAEC,GAAiBN,EAI/CM,EAAeH,EAAa,GAC5B1X,EAAO3B,KAAK,CACRmE,MAAOkV,EACPlF,KAAM,SACN+F,OAAQD,EAASxQ,MAAM4P,EAAYG,KAGvCD,EAAeF,EAAa,GAC5B1X,EAAO3B,KAAK,CACRmE,MAAOkV,GAAcG,EAAeH,GACpClF,KAAM,SACNgG,QAASZ,EAAeF,IAGhC,OAAO1X,CACX,CA5FQyY,CAAuBnB,EAAQC,GACnC,OAAOvX,CACX,CA2CA,SAAS2X,EAAyBH,EAAMC,EAAMP,GAC1C,IAAK,IAAIhX,EAAI,EAAGA,EAAIC,KAAK+K,IAAIsM,EAAKzX,OAAQ0X,EAAK1X,QAASG,IACpD,QAAgBuP,IAAZ+H,EAAKtX,SAAgCuP,IAAZgI,EAAKvX,KAAqBgX,EAAIM,EAAKtX,GAAIuX,EAAKvX,IACrE,OAAOA,EAGf,OAAQ,CACZ,CAQA,SAAS6X,EAAcW,EAAKF,GACxB,OAAOE,EAAI5Q,MAAM0Q,GAASG,SAC9B,CCjKe,SAAShN,EAAKtJ,EAAG2I,EAAGkM,GAE/BA,EAAMA,GAAO,SAAU7U,EAAG2I,GACtB,OAAO3I,IAAM2I,CACjB,EACA,MAAM4N,EAAUvW,EAAEtC,OACZ8Y,EAAU7N,EAAEjL,OAElB,GAAI6Y,EAAU,KAAOC,EAAU,KAAOD,EAAUC,EAAU,IACtD,OAAOlN,EAAKsL,SAAS5U,EAAG2I,EAAGkM,GAAK,GAGpC,IAAI4B,EAASC,EAEb,GAAIF,EAAUD,EAAS,CACnB,MAAMI,EAAM3W,EACZA,EAAI2I,EACJA,EAAIgO,EAEJF,EAAU,SACVC,EAAU,QACd,MAEID,EAAU,SACVC,EAAU,SAEd,MAAMzL,EAAIjL,EAAEtC,OACNsN,EAAIrC,EAAEjL,OACNoL,EAAQkC,EAAIC,EAEZ2L,EAAK,CAAC,EAENC,EAAK,CAAC,EACZ,SAASC,EAAMtN,GAGX,MAAMuN,QAAoB3J,IAAdyJ,EAAGrN,EAAI,GAAmBqN,EAAGrN,EAAI,IAAM,GAAK,EAElD0B,OAAmBkC,IAAdyJ,EAAGrN,EAAI,GAAmBqN,EAAGrN,EAAI,IAAM,EAE5CwN,EAAMD,EAAK7L,GAAM,EAAI,EAEvB0L,EAAGpN,EAAIwN,KACPJ,EAAGpN,GAAKoN,EAAGpN,EAAIwN,GAAKvR,MAAM,IAGzBmR,EAAGpN,KACJoN,EAAGpN,GAAK,IAGZoN,EAAGpN,GAAGxN,KAAK+a,EAAK7L,EAAKuL,EAAUC,GAE/B,IAAI5M,EAAIhM,KAAK+K,IAAIkO,EAAI7L,GACjBnB,EAAID,EAAIN,EAEZ,KAAOO,EAAIkB,GAAKnB,EAAIkB,GAAK6J,EAAI7U,EAAE+J,GAAIpB,EAAEmB,KACjCC,IACAD,IAEA8M,EAAGpN,GAAGxN,KAAK,SAEf,OAAO8N,CACX,CACA,IACIN,EADAgB,EAAI,EAGR,EAAG,CAEC,IAAKhB,GAAKgB,EAAGhB,EAAIV,EAAOU,IACpBqN,EAAGrN,GAAKsN,EAAMtN,GAGlB,IAAKA,EAAIV,EAAQ0B,EAAGhB,EAAIV,EAAOU,IAC3BqN,EAAGrN,GAAKsN,EAAMtN,GAIlBqN,EAAG/N,GAASgO,EAAMhO,GAClB0B,GACJ,OAASqM,EAAG/N,KAAWkC,GAGvB,OAAO4L,EAAG9N,GAAOrD,MAAM,EAC3B,CAGA6D,EAAKsL,SAAWA,EC7FhB,QALA,WACI,OAAO,SAASqC,IACZA,EAAIC,QAAS,CACjB,CACJ,ECRe,MAAMC,EAKjB,WAAAC,CAAYC,EAAQ5H,GAChBxC,KAAKoK,OAASA,EACdpK,KAAKwC,KAAOA,EACZxC,KAAKiC,KAAO,GAEZjC,KAAKqK,KAAO,IACZrK,KAAKsK,IAAM,GACf,ECbJ,MAAMC,EAAc,IAAIvW,MAAM,KAAK8U,KAAK,IACnCxJ,KAAI,CAACkL,EAAGtX,KAAW,IAAM,EAAQ8L,SAAS,KAAKxG,OAAO,KAW5C,SAASiS,IAEpB,MAAOC,EAAIC,EAAIC,EAAIC,GAAMC,OAAOC,gBAAgB,IAAIC,YAAY,IAEhE,MAAO,IACHT,EAAsB,IAAVG,GACZH,EAAYG,GAAM,EAAI,KACtBH,EAAYG,GAAM,GAAK,KACvBH,EAAYG,GAAM,GAAK,KACvBH,EAAsB,IAAVI,GACZJ,EAAYI,GAAM,EAAI,KACtBJ,EAAYI,GAAM,GAAK,KACvBJ,EAAYI,GAAM,GAAK,KACvBJ,EAAsB,IAAVK,GACZL,EAAYK,GAAM,EAAI,KACtBL,EAAYK,GAAM,GAAK,KACvBL,EAAYK,GAAM,GAAK,KACvBL,EAAsB,IAAVM,GACZN,EAAYM,GAAM,EAAI,KACtBN,EAAYM,GAAM,GAAK,KACvBN,EAAYM,GAAM,GAAK,IAC/B,CCrCA,MAeA,EAfmB,CACf,GAAAhF,CAAIoF,EAAW,UACX,MAAuB,iBAAZA,EACAjL,KAAKiL,IAAajL,KAAKkL,OAGvBD,CAEf,EACAE,QAAS,IACTC,KAAM,IACNF,OAAQ,EACRG,KAAM,IACNC,QAAS,KCTE,SAASC,EAAsBC,EAASC,GACnD,MAAMR,EAAW,EAAWpF,IAAI4F,EAAeR,UAE/C,IAAIS,EAAO,EACPC,EAAQH,EAAQ/a,OACpB,KAAOib,EAAOC,GAAO,CACjB,MAAMC,EAAOF,EAAOC,GAAU,EACV,EAAW9F,IAAI2F,EAAQI,GAAKX,UAC9BA,EACdU,EAAQC,EAGRF,EAAOE,EAAM,CAErB,CACAJ,EAAQ5R,OAAO8R,EAAM,EAAGD,EAC5B,CCae,MAAM,UAAsBlQ,MAevC,WAAA4O,CAAY0B,EAAWC,EAASla,GAC5Bma,MAkGR,SAAyBF,EAAWja,GAChC,MAAMoa,EAAmB,IAAIC,QACvBC,EAA6B,CAACvT,EAAK3I,KACrC,GAAqB,iBAAVA,GAAgC,OAAVA,EAAgB,CAC7C,GAAIgc,EAAiBG,IAAInc,GACrB,MAAO,WAAWA,EAAMma,YAAY3H,QAExCwJ,EAAiBI,IAAIpc,EACzB,CACA,OAAOA,CAAK,EAEVqc,EAAkBza,EAAO,IAAIF,KAAKC,UAAUC,EAAMsa,KAAgC,GAClFI,EAAoBC,EAA8BV,GACxD,OAAOA,EAAYQ,EAAkBC,CACzC,CAhHcE,CAAgBX,EAAWja,IACjCoO,KAAKwC,KAAO,gBACZxC,KAAK8L,QAAUA,EACf9L,KAAKpO,KAAOA,CAChB,CAIA,EAAA6a,CAAGvJ,GACC,MAAgB,kBAATA,CACX,CAUA,6BAAOwJ,CAAuBC,EAAKb,GAC/B,GAAIa,EAAIF,IAAME,EAAIF,GAAG,iBACjB,MAAME,EAWV,MAAMjF,EAAQ,IAAI,EAAciF,EAAIC,QAASd,GAI7C,MADApE,EAAMmF,MAAQF,EAAIE,MACZnF,CACV,EAuBG,SAAS,EAAWmE,EAAWja,GAClCkb,QAAQC,QAAQC,EAAuBnB,EAAWja,GACtD,CA6BA,SAAS2a,EAA8BV,GACnC,MAAO,0FAA2CA,GACtD,CAsBA,SAASmB,EAAuBnB,EAAWja,GACvC,MAAMqb,EAAuBV,EAA8BV,GAC3D,OAAOja,EAAO,CAACia,EAAWja,EAAMqb,GAAwB,CAACpB,EAAWoB,EACxE,CCvKA,MAAMC,EAAU,SAGHC,EAAc,IAAIC,KAAK,KAAM,EAAG,GAE7C,GAAIC,WAAWC,iBAiKX,MAAM,IAAI,EAAc,8BAA+B,MAGvDD,WAAWC,iBAAmBJ,ECnKlC,MAAMK,EAAexH,OAAO,eACtByH,EAAazH,OAAO,aACpB0H,EAAe1H,OAAO,eACtB2H,EAAsCC,EAAahe,QAC1C,SAASge,EAAavU,GACjC,IAAKA,EACD,OAAOsU,EA6NX,OA3NA,cAAoBtU,EAChB,EAAAwU,CAAGC,EAAOC,EAAU7e,GAChB+Q,KAAK+N,SAAS/N,KAAM6N,EAAOC,EAAU7e,EACzC,CACA,IAAA+e,CAAKH,EAAOC,EAAU7e,GAClB,IAAIgf,GAAW,EAafjO,KAAK+N,SAAS/N,KAAM6N,GAZC,CAACA,KAAUtd,KAGvB0d,IACDA,GAAW,EAEXJ,EAAMvD,MAENwD,EAASzY,KAAK2K,KAAM6N,KAAUtd,GAClC,GAGqCtB,EAC7C,CACA,GAAAqb,CAAIuD,EAAOC,GACP9N,KAAKkO,cAAclO,KAAM6N,EAAOC,EACpC,CACA,QAAAC,CAASI,EAASN,EAAOC,EAAU7e,EAAU,CAAC,GAC1C,IAAImf,EAAaC,EAcZrO,KAAKuN,KACNvN,KAAKuN,GAAgB,CAAC,GAE1B,MAAMe,EAAWtO,KAAKuN,GACjBgB,EAAcJ,IACfK,EAAcL,GAElB,MAAMM,EAAYF,EAAcJ,IAC1BC,EAAcE,EAASG,MACzBL,EAAcE,EAASG,GAAa,CAChCN,UACAO,UAAW,CAAC,KAGdL,EAAiBD,EAAYM,UAAUb,MACzCQ,EAAiBD,EAAYM,UAAUb,GAAS,IAEpDQ,EAAetf,KAAK+e,GA+VhC,SAA0Ba,EAAUR,EAASN,EAAOC,EAAU7e,GACtDkf,EAAQS,kBACRT,EAAQS,kBAAkBf,EAAOC,EAAU7e,GAK1C0f,EAA0B,kBAAEtZ,KAAK8Y,EAASN,EAAOC,EAAU7e,EAEpE,CAtWY4f,CAAiB7O,KAAMmO,EAASN,EAAOC,EAAU7e,EACrD,CACA,aAAAif,CAAcC,EAASN,EAAOC,GAC1B,MAAMQ,EAAWtO,KAAKuN,GACtB,IAAIkB,EAAYN,GAAWI,EAAcJ,GACzC,MAAMC,EAAeE,GAAYG,EAAaH,EAASG,QAAatO,EAC9DkO,EAAkBD,GAAeP,EAASO,EAAYM,UAAUb,QAAS1N,EAE/E,MAAKmO,GAAaH,IAAYC,GAAiBP,IAAUQ,GAIzD,GAAIP,EAAU,CACVgB,EAAoB9O,KAAMmO,EAASN,EAAOC,IAI3B,IADDO,EAAehL,QAAQyK,KAEH,IAA1BO,EAAe5d,cACR2d,EAAYM,UAAUb,GAG7BiB,EAAoB9O,KAAMmO,EAASN,EAAOC,GAGtD,MAEK,GAAIO,EAAgB,CACrB,KAAQP,EAAWO,EAAe7M,OAC9BsN,EAAoB9O,KAAMmO,EAASN,EAAOC,UAEvCM,EAAYM,UAAUb,EACjC,MAEK,GAAIO,EAAa,CAClB,IAAKP,KAASO,EAAYM,UACtB1O,KAAKkO,cAAcC,EAASN,UAEzBS,EAASG,EACpB,KAEK,CACD,IAAKA,KAAaH,EACdtO,KAAKkO,cAAcI,EAASG,GAAWN,gBAEpCnO,KAAKuN,EAChB,CACJ,CACA,IAAAwB,CAAKC,KAAgBze,GACjB,IACI,MAAM0e,EAAYD,aAAuB9E,EAAY8E,EAAc,IAAI9E,EAAUlK,KAAMgP,GACjFnB,EAAQoB,EAAUzM,KACxB,IAAIkM,EAmQpB,SAA8BtE,EAAQ8E,GAClC,IAAK9E,EAAO+E,QACR,OAAO,KAEX,IAAIC,EAAmBF,EACvB,EAAG,CACC,MAAMrB,EAAQzD,EAAO+E,QAAQC,GAC7B,GAAIvB,GAASA,EAAMa,WAAab,EAAMa,UAAUje,OAC5C,OAAOod,EAAMa,UAEjB,MAAMW,EAAaD,EAAiBE,YAAY,KAChDF,EAAmBC,GAAc,EAAID,EAAiBlQ,UAAU,EAAGmQ,GAAc,EACrF,OAASD,GACT,OAAO,IACX,CAjRgCG,CAAqBvP,KAAM6N,GAI3C,GAFAoB,EAAUhN,KAAKlT,KAAKiR,MAEhB0O,EAAW,CAMXA,EAAYA,EAAUlW,QACtB,IAAK,IAAI5H,EAAI,EAAGA,EAAI8d,EAAUje,OAAQG,IAAK,CACvC,MAAMP,EAAKqe,EAAU9d,GAAGkd,SASxB,GARAzd,EAAGgF,KAAK2K,KAAMiP,KAAc1e,GAExB0e,EAAU3E,IAAIL,gBAEPgF,EAAU3E,IAAIL,OACrBjK,KAAKwP,qBAAqB3B,EAAOxd,IAGjC4e,EAAU5E,KAAKJ,OACf,KAER,CACJ,CAEA,MAAMwF,EAAczP,KAAKyN,GACzB,GAAIgC,EAAa,CACb,MAAMC,EAAeD,EAAY5J,IAAIgI,GAC/B8B,EAAsBF,EAAY5J,IAAI,KACxC6J,GACAE,EAAoBF,EAAcT,EAAW1e,GAE7Cof,GACAC,EAAoBD,EAAqBV,EAAW1e,EAE5D,CACA,OAAO0e,EAAUY,MACrB,CACA,MAAOlD,GAGH,EAAcD,uBAAuBC,EAAK3M,KAC9C,CACJ,CACA,QAAA8P,IAAYC,GACR,MAAO,CACHhO,GAAI,CAACoM,EAAS6B,KACLhQ,KAAKyN,KACNzN,KAAKyN,GAAgB,IAAIwC,KAI7BF,EAAOlgB,SAAQqf,IACX,MAAMQ,EAAe1P,KAAKyN,GAAc5H,IAAIqJ,GACvCQ,EAIDA,EAAaQ,IAAI/B,EAAS6B,GAH1BhQ,KAAKyN,GAAcyC,IAAIhB,EAAW,IAAIe,IAAI,CAAC,CAAC9B,EAAS6B,KAIzD,GACF,EAGd,CACA,cAAAG,CAAetC,EAAOM,GAClB,GAAKnO,KAAKyN,GAGV,GAAKI,EAGA,GAAKM,EAGL,CACD,MAAMuB,EAAe1P,KAAKyN,GAAc5H,IAAIgI,GACxC6B,GACAA,EAAaU,OAAOjC,EAE5B,MAPInO,KAAKyN,GAAc2C,OAAOvC,QAH1B7N,KAAKyN,GAAc4C,OAW3B,CACA,iBAAAzB,CAAkBf,EAAOC,EAAU7e,IAwG3C,SAA8Bmb,EAAQ8E,GAClC,MAAMa,EAASO,EAAUlG,GAEzB,GAAI2F,EAAOb,GAEP,OAOJ,IAAI1M,EAAO0M,EAEPqB,EAAiB,KAErB,MAAMC,EAAgB,GAItB,KAAgB,KAAThO,IACCuN,EAAOvN,IAOXuN,EAAOvN,GAxCJ,CACHkM,UAAW,GACX+B,YAAa,IAwCbD,EAAczhB,KAAKghB,EAAOvN,IAEtB+N,GACAR,EAAOvN,GAAMiO,YAAY1hB,KAAKwhB,GAElCA,EAAiB/N,EAEjBA,EAAOA,EAAKkO,OAAO,EAAGlO,EAAK8M,YAAY,MAE3C,GAAa,KAAT9M,EAAa,CAIb,IAAK,MAAMb,KAAQ6O,EACf7O,EAAK+M,UAAYqB,EAAOvN,GAAMkM,UAAUlW,QAG5CuX,EAAOvN,GAAMiO,YAAY1hB,KAAKwhB,EAClC,CACJ,CAxJYI,CAAqB3Q,KAAM6N,GAC3B,MAAM+C,EAAQC,EAA8B7Q,KAAM6N,GAE5CiD,EAAqB,CACvBhD,WACA7C,SAHa,EAAWpF,IAAI5W,EAAQgc,WAMxC,IAAK,MAAMyD,KAAakC,EAEpBrF,EAAsBmD,EAAWoC,EAEzC,CACA,oBAAAtB,CAAqB3B,EAAOC,GACxB,MAAM8C,EAAQC,EAA8B7Q,KAAM6N,GAClD,IAAK,MAAMa,KAAakC,EACpB,IAAK,IAAIhgB,EAAI,EAAGA,EAAI8d,EAAUje,OAAQG,IAC9B8d,EAAU9d,GAAGkd,UAAYA,IAEzBY,EAAU9U,OAAOhJ,EAAG,GACpBA,IAIhB,EAGR,CAiCO,SAAS4d,EAAcL,EAASnf,GAC9Bmf,EAAQX,KACTW,EAAQX,GAAcxe,GAAMyb,IAEpC,CAOO,SAAS8D,EAAcJ,GAC1B,OAAOA,EAAQX,EACnB,CAMA,SAAS8C,EAAUlG,GAMf,OALKA,EAAO+E,SACRxf,OAAOI,eAAeqa,EAAQ,UAAW,CACrCpa,MAAO,CAAC,IAGToa,EAAO+E,OAClB,CAwEA,SAAS0B,EAA8BzG,EAAQ8E,GAC3C,MAAM6B,EAAYT,EAAUlG,GAAQ8E,GACpC,IAAK6B,EACD,MAAO,GAEX,IAAIC,EAAiB,CAACD,EAAUrC,WAChC,IAAK,IAAI9d,EAAI,EAAGA,EAAImgB,EAAUN,YAAYhgB,OAAQG,IAAK,CACnD,MAAMqgB,EAAsBJ,EAA8BzG,EAAQ2G,EAAUN,YAAY7f,IACxFogB,EAAiBA,EAAenf,OAAOof,EAC3C,CACA,OAAOD,CACX,CA4BA,SAASpB,EAAoBF,EAAcT,EAAWiC,GAClD,IAAK,IAAK/C,EAAS3L,KAASkN,EAAc,CACjClN,EAGmB,mBAARA,IACZA,EAAOA,EAAKyM,EAAUzM,OAHtBA,EAAOyM,EAAUzM,KAKrB,MAAM2O,EAAgB,IAAIjH,EAAU+E,EAAU7E,OAAQ5H,GACtD2O,EAAclP,KAAO,IAAIgN,EAAUhN,MACnCkM,EAAQY,KAAKoC,KAAkBD,EACnC,CACJ,CAiBA,SAASpC,EAAoBH,EAAUR,EAASN,EAAOC,GAC/CK,EAAQqB,qBACRrB,EAAQqB,qBAAqB3B,EAAOC,GAKpCa,EAASa,qBAAqBna,KAAK8Y,EAASN,EAAOC,EAE3D,CA9MA,CACI,KAAM,OAAQ,MAAO,WACrB,gBAAiB,OAAQ,WAAY,iBACrC,oBAAqB,wBACtBje,SAAQ8I,IACPgV,EAAahV,GAAO+U,EAAoBvY,UAAUwD,EAAI,IC3N1D,QALA,SAAkB3I,GAChB,IAAIkT,SAAclT,EAClB,OAAgB,MAATA,IAA0B,UAARkT,GAA4B,YAARA,EAC/C,ECjBMkO,EAA6BrL,OAAO,wBACpCsL,EAAyBtL,OAAO,oBAChCuL,EAAwBvL,OAAO,mBAC/BwL,EAAmBxL,OAAO,oBAC1ByL,EAAoBzL,OAAO,qBAC3B0L,EAAyCC,EAAgC/D,KAChE,SAAS+D,EAAgBtY,GACpC,IAAKA,EACD,OAAOqY,EA4LX,OA1LA,cAAoBrY,EAChB,GAAA8W,CAAI1N,EAAMxS,GAEN,GAAI,EAASwS,GAIT,YAHA7S,OAAOC,KAAK4S,GAAM3S,SAAQ8hB,IACtB3R,KAAKkQ,IAAIyB,EAAUnP,EAAKmP,GAAU,GACnC3R,MAGP4R,GAAe5R,MACf,MAAM6R,EAAa7R,KAAKoR,GACxB,GAAK5O,KAAQxC,OAAU6R,EAAW1F,IAAI3J,GAkBlC,MAAM,IAAI,EAAc,iCAAkCxC,MAE9DrQ,OAAOI,eAAeiQ,KAAMwC,EAAM,CAC9BoD,YAAY,EACZkM,cAAc,EACdjM,IAAG,IACQgM,EAAWhM,IAAIrD,GAE1B,GAAA0N,CAAIlgB,GACA,MAAM+hB,EAAWF,EAAWhM,IAAIrD,GAIhC,IAAIwP,EAAWhS,KAAK+O,KAAK,OAAOvM,IAAQA,EAAMxS,EAAO+hB,QACpC5R,IAAb6R,IACAA,EAAWhiB,GAIX+hB,IAAaC,GAAaH,EAAW1F,IAAI3J,KACzCqP,EAAW3B,IAAI1N,EAAMwP,GACrBhS,KAAK+O,KAAK,UAAUvM,IAAQA,EAAMwP,EAAUD,GAEpD,IAEJ/R,KAAKwC,GAAQxS,CACjB,CACA,IAAAiiB,IAAQC,GACJ,IAAKA,EAAezhB,SAAW0hB,GAAcD,GAMzC,MAAM,IAAI,EAAc,mCAAoClS,MAEhE,GAAI,IAAKoS,IAAIF,GAAiBG,OAASH,EAAezhB,OAMlD,MAAM,IAAI,EAAc,uCAAwCuP,MAEpE4R,GAAe5R,MACf,MAAMsS,EAAkBtS,KAAKsR,GAC7BY,EAAeriB,SAAQ0iB,IACnB,GAAID,EAAgBnG,IAAIoG,GAMpB,MAAM,IAAI,EAAc,yBAA0BvS,KACtD,IAEJ,MAAMwS,EAAW,IAAIvC,IAMrB,OALAiC,EAAeriB,SAAQkD,IACnB,MAAM0f,EAAU,CAAEd,SAAU5e,EAAGgP,GAAI,IACnCuQ,EAAgBpC,IAAInd,EAAG0f,GACvBD,EAAStC,IAAInd,EAAG0f,EAAQ,IAErB,CACH1Q,GAAI2Q,GACJC,OAAQC,GACRC,YAAa7S,KACb8S,gBAAiBZ,EACjBa,IAAK,GACLC,UAAWR,EAEnB,CACA,MAAAS,IAAUC,GAEN,IAAMlT,KAAKoR,GACP,OAEJ,MAAMkB,EAAkBtS,KAAKsR,GACvB6B,EAAmBnT,KAAKqR,GAC9B,GAAI6B,EAAiBziB,OAAQ,CACzB,IAAK0hB,GAAce,GAMf,MAAM,IAAI,EAAc,qCAAsClT,MAElEkT,EAAiBrjB,SAAQ0iB,IACrB,MAAME,EAAUH,EAAgBzM,IAAI0M,GAE/BE,IAGLA,EAAQ1Q,GAAGlS,SAAQ,EAAEujB,EAAcC,MAC/B,MAAMC,EAAeH,EAAiBtN,IAAIuN,GACpCG,EAAqBD,EAAaD,GACxCE,EAAmBnD,OAAOqC,GACrBc,EAAmBlB,aACbiB,EAAaD,GAEnB1jB,OAAOC,KAAK0jB,GAAc7iB,SAC3B0iB,EAAiB/C,OAAOgD,GACxBpT,KAAKkO,cAAckF,EAAc,UACrC,IAEJd,EAAgBlC,OAAOmC,GAAa,GAE5C,MAEIY,EAAiBtjB,SAAQ,CAAC2iB,EAAUgB,KAChCxT,KAAKkO,cAAcsF,EAAiB,SAAS,IAEjDL,EAAiB9C,QACjBiC,EAAgBjC,OAExB,CACA,QAAAoD,CAASC,GACL9B,GAAe5R,MACf,MAAM2T,EAAiB3T,KAAK0T,GAC5B,IAAKC,EAQD,MAAM,IAAI,EAAc,4CAA6C3T,KAAM,CAAE4T,OAAQ5T,KAAM0T,eAE/F1T,KAAK4N,GAAG8F,GAAY,CAACG,EAAKtjB,KACtBsjB,EAAIhE,OAAS8D,EAAe9c,MAAMmJ,KAAMzP,EAAK,IAEjDyP,KAAK0T,GAAc,YAAanjB,GAC5B,OAAOyP,KAAK+O,KAAK2E,EAAYnjB,EACjC,EACAyP,KAAK0T,GAAYlC,GAAqBmC,EACjC3T,KAAKuR,KACNvR,KAAKuR,GAAoB,IAE7BvR,KAAKuR,GAAkBxiB,KAAK2kB,EAChC,CAMA,aAAAxF,CAAcC,EAASN,EAAOC,GAE1B,IAAKK,GAAWnO,KAAKuR,GAAmB,CACpC,IAAK,MAAMmC,KAAc1T,KAAKuR,GAC1BvR,KAAK0T,GAAc1T,KAAK0T,GAAYlC,UAEjCxR,KAAKuR,EAChB,CACAxF,MAAMmC,cAAcC,EAASN,EAAOC,EACxC,EAGR,CAWA,SAAS8D,GAAekC,GAEhBA,EAAW1C,KAIfzhB,OAAOI,eAAe+jB,EAAY1C,EAA4B,CAC1DphB,MAAO,IAAIigB,MA6CftgB,OAAOI,eAAe+jB,EAAYzC,EAAwB,CACtDrhB,MAAO,IAAIigB,MA4BftgB,OAAOI,eAAe+jB,EAAYxC,EAAuB,CACrDthB,MAAO,IAAIigB,MAEnB,CAMA,SAASyC,MAAUniB,GACf,MAAMwjB,EAwGV,YAA4BxjB,GAExB,IAAKA,EAAKE,OAMN,MAAM,IAAI,EAAc,iCAAkC,MAE9D,MAAMujB,EAAS,CAAEjS,GAAI,IACrB,IAAIkS,EACgC,mBAAzB1jB,EAAKA,EAAKE,OAAS,KAC1BujB,EAAOlG,SAAWvd,EAAKiR,OAc3B,OAZAjR,EAAKV,SAAQkD,IACT,GAAgB,iBAALA,EACPkhB,EAAepC,WAAW9iB,KAAKgE,OAE9B,IAAgB,iBAALA,EAKZ,MAAM,IAAI,EAAc,iCAAkC,MAJ1DkhB,EAAiB,CAAEH,WAAY/gB,EAAG8e,WAAY,IAC9CmC,EAAOjS,GAAGhT,KAAKklB,EAInB,KAEGD,CACX,CApIuBE,IAAmB3jB,GAChC4jB,EAAengB,MAAM8N,KAAK9B,KAAKgT,UAAUpjB,QACzCwkB,EAAmBD,EAAa1jB,OAEtC,IAAKsjB,EAAWjG,UAAYiG,EAAWhS,GAAGtR,OAAS,EAM/C,MAAM,IAAI,EAAc,iCAAkCuP,MAG9D,GAAIoU,EAAmB,GAAKL,EAAWjG,SAMnC,MAAM,IAAI,EAAc,oCAAqC9N,MAuOrE,IAA+B8T,EArO3BC,EAAWhS,GAAGlS,SAAQkS,IAElB,GAAIA,EAAG8P,WAAWphB,QAAUsR,EAAG8P,WAAWphB,SAAW2jB,EAMjD,MAAM,IAAI,EAAc,uCAAwCpU,MAI/D+B,EAAG8P,WAAWphB,SACfsR,EAAG8P,WAAa7R,KAAK8S,gBACzB,IAEJ9S,KAAK+S,IAAMgB,EAAWhS,GAElBgS,EAAWjG,WACX9N,KAAKgT,UAAUnN,IAAIsO,EAAa,IAAIrG,SAAWiG,EAAWjG,UAkNnCgG,EAhNL9T,KAAK6S,YAAa7S,KAAK+S,IAiNlCljB,SAAQkS,IACf,MAAMoR,EAAmBW,EAAWzC,GACpC,IAAImB,EAGCW,EAAiBtN,IAAI9D,EAAG+R,aACzBA,EAAW/F,SAAShM,EAAG+R,WAAY,UAAU,CAACD,EAAKtB,KAC/CC,EAAWW,EAAiBtN,IAAI9D,EAAG+R,YAAYvB,GAG3CC,GACAA,EAAS3iB,SAAQ4iB,IACb4B,GAA8BP,EAAYrB,EAAQd,SAAS,GAEnE,GAER,IAnER,SAA2B2C,GACvB,IAAIjB,EACJiB,EAAMtB,UAAUnjB,SAAQ,CAAC4iB,EAASF,KAI9B+B,EAAMvB,IAAIljB,SAAQkS,IACdsR,EAAatR,EAAG8P,WAAWY,EAAQ3E,SAAW,EAAIwG,EAAMxB,gBAAgBzP,QAAQkP,IAChFE,EAAQ1Q,GAAGhT,KAAK,CAACgT,EAAG+R,WAAYT,IApE5C,SAAgCS,EAAYrB,EAASW,EAAcmB,GAC/D,MAAMpB,EAAmBW,EAAWzC,GAC9BmD,EAAuBrB,EAAiBtN,IAAIuN,GAC5CZ,EAAWgC,GAAwB,CAAC,EACrChC,EAAS+B,KACV/B,EAAS+B,GAAkB,IAAInC,KAGnCI,EAAS+B,GAAgBnI,IAAIqG,GACxB+B,GACDrB,EAAiBjD,IAAIkD,EAAcZ,EAE3C,CAyDYiC,CAAuBH,EAAMzB,YAAaJ,EAAS1Q,EAAG+R,WAAYT,EAAW,GAC/E,GAEV,CAxKIqB,CAAkB1U,MAElBA,KAAK8S,gBAAgBjjB,SAAQ0iB,IACzB8B,GAA8BrU,KAAK6S,YAAaN,EAAa,GAErE,CAIA,SAASK,GAAW+B,EAAaC,EAAW9G,GACxC,GAAI9N,KAAKgT,UAAUX,KAAO,EAMtB,MAAM,IAAI,EAAc,0CAA2CrS,MAEvEA,KAAK+B,MAUT,SAA2B4S,EAAaC,GACpC,MAAMC,EAA8BF,EAAYrV,KAAIwU,GAAc,CAACA,EAAYc,KAE/E,OAAO5gB,MAAMmB,UAAUtD,OAAOgF,MAAM,GAAIge,EAC5C,CAZOC,CAAkBH,EAAaC,GAElC9G,EACJ,CAaA,SAASqE,GAAc/I,GACnB,OAAOA,EAAI2L,OAAMhiB,GAAiB,iBAALA,GACjC,CA0IA,SAASshB,GAA8BP,EAAYvB,GAC/C,MACME,EADkBqB,EAAWxC,GACHzL,IAAI0M,GACpC,IAAIyC,EAMAvC,EAAQ3E,SACRkH,EAAgBvC,EAAQ3E,SAASjX,MAAMid,EAAYrB,EAAQ1Q,GAAGzC,KAAIyC,GAAMA,EAAG,GAAGA,EAAG,QAGjFiT,EAAgBvC,EAAQ1Q,GAAG,GAC3BiT,EAAgBA,EAAc,GAAGA,EAAc,KAE/CrlB,OAAOwF,UAAUC,eAAeC,KAAKye,EAAYvB,GACjDuB,EAAWvB,GAAgByC,EAG3BlB,EAAW5D,IAAIqC,EAAcyC,EAErC,CCvhBe,SAAS3b,GAAM4b,GAC1B,IAAI5b,EAAQ,EAEZ,IAAK,MAAMmR,KAAKyK,EACZ5b,IAEJ,OAAOA,CACX,CCCe,SAAS6b,GAAcniB,EAAG2I,GACrC,MAAMyZ,EAAStkB,KAAK8K,IAAI5I,EAAEtC,OAAQiL,EAAEjL,QACpC,IAAK,IAAIG,EAAI,EAAGA,EAAIukB,EAAQvkB,IACxB,GAAImC,EAAEnC,IAAM8K,EAAE9K,GAEV,OAAOA,EAIf,OAAImC,EAAEtC,QAAUiL,EAAEjL,OAEP,OAEFsC,EAAEtC,OAASiL,EAAEjL,OAEX,SAIA,WAEf,CCjCe,SAAS2kB,GAAWplB,GAC/B,SAAUA,IAASA,EAAM+V,OAAOsP,UACpC,CHmMA,CACI,MAAO,OAAQ,SAAU,WACzB,KAAM,OAAQ,MAAO,WACrB,gBAAiB,OAAQ,WAAY,iBACrC,oBAAqB,wBACtBxlB,SAAQ8I,IACP+Y,EAAgB/Y,GAAO8Y,EAAuBtc,UAAUwD,EAAI,IIrNhE,SAFkC,iBAAV2c,QAAsBA,QAAUA,OAAO3lB,SAAWA,QAAU2lB,OCEpF,IAAIC,GAA0B,iBAAR5mB,MAAoBA,MAAQA,KAAKgB,SAAWA,QAAUhB,KAK5E,SAFW,IAAc4mB,IAAYC,SAAS,cAATA,GCDrC,SAFa,GAAKzP,OCAlB,IAAI0P,GAAc9lB,OAAOwF,UAGrB,GAAiBsgB,GAAYrgB,eAO7BsgB,GAAuBD,GAAYzW,SAGnC2W,GAAiB,GAAS,GAAO3P,iBAAc7F,EA6BnD,SApBA,SAAmBnQ,GACjB,IAAI4lB,EAAQ,GAAevgB,KAAKrF,EAAO2lB,IACnCE,EAAM7lB,EAAM2lB,IAEhB,IACE3lB,EAAM2lB,SAAkBxV,EACxB,IAAI2V,GAAW,CACjB,CAAE,MAAO/U,GAAI,CAEb,IAAIrQ,EAASglB,GAAqBrgB,KAAKrF,GAQvC,OAPI8lB,IACEF,EACF5lB,EAAM2lB,IAAkBE,SAEjB7lB,EAAM2lB,KAGVjlB,CACT,EC1CA,IAOI,GAPcf,OAAOwF,UAOc6J,SAavC,SAJA,SAAwBhP,GACtB,OAAO,GAAqBqF,KAAKrF,EACnC,ECdA,IAII,GAAiB,GAAS,GAAOgW,iBAAc7F,EAkBnD,SATA,SAAoBnQ,GAClB,OAAa,MAATA,OACemQ,IAAVnQ,EAdQ,qBADL,gBAiBJ,IAAkB,MAAkBL,OAAOK,GAC/C,GAAUA,GACV,GAAeA,EACrB,ECAA,SAFcgE,MAAM+T,QCKpB,SAJA,SAAsB/X,GACpB,OAAgB,MAATA,GAAiC,iBAATA,CACjC,ECGA,SALA,SAAkBA,GAChB,MAAuB,iBAATA,IACV,GAAQA,IAAU,GAAaA,IArBrB,mBAqB+B,GAAWA,EAC1D,ECJe,SAAS,GAAc+lB,EAAKvT,EAAMlT,EAAa,CAAC,EAAGmU,EAAW,IACzE,MAAMuS,EAAY1mB,GAAcA,EAAW2mB,MACrC/mB,EAAU8mB,EAAYD,EAAIG,gBAAgBF,EAAWxT,GAAQuT,EAAI3mB,cAAcoT,GACrF,IAAK,MAAM7J,KAAOrJ,EACdJ,EAAQ0J,aAAaD,EAAKrJ,EAAWqJ,KAErC,GAAS8K,IAAc2R,GAAW3R,KAClCA,EAAW,CAACA,IAEhB,IAAK,IAAI0S,KAAS1S,EACV,GAAS0S,KACTA,EAAQJ,EAAIte,eAAe0e,IAE/BjnB,EAAQ2I,YAAYse,GAExB,OAAOjnB,CACX,CCzBA,SANA,SAAiBknB,EAAMC,GACrB,OAAO,SAASC,GACd,OAAOF,EAAKC,EAAUC,GACxB,CACF,ECPA,SAFmB,GAAQ3mB,OAAOwV,eAAgBxV,QCElD,IAGI4mB,GAAYf,SAASrgB,UACrB,GAAcxF,OAAOwF,UAGrBqhB,GAAeD,GAAUvX,SAGzB,GAAiB,GAAY5J,eAG7BqhB,GAAmBD,GAAanhB,KAAK1F,QA2CzC,SAbA,SAAuBK,GACrB,IAAK,GAAaA,IA5CJ,mBA4Cc,GAAWA,GACrC,OAAO,EAET,IAAI0mB,EAAQ,GAAa1mB,GACzB,GAAc,OAAV0mB,EACF,OAAO,EAET,IAAIC,EAAO,GAAethB,KAAKqhB,EAAO,gBAAkBA,EAAMvM,YAC9D,MAAsB,mBAARwM,GAAsBA,aAAgBA,GAClDH,GAAanhB,KAAKshB,IAASF,EAC/B,EC/CA,SALA,WACEzW,KAAK4W,SAAW,GAChB5W,KAAKqS,KAAO,CACd,EC0BA,SAJA,SAAYriB,EAAO6mB,GACjB,OAAO7mB,IAAU6mB,GAAU7mB,GAAUA,GAAS6mB,GAAUA,CAC1D,ECdA,SAVA,SAAsBC,EAAOne,GAE3B,IADA,IAAIlI,EAASqmB,EAAMrmB,OACZA,KACL,GAAI,GAAGqmB,EAAMrmB,GAAQ,GAAIkI,GACvB,OAAOlI,EAGX,OAAQ,CACV,ECfA,IAGImJ,GAHa5F,MAAMmB,UAGCyE,OA4BxB,SAjBA,SAAyBjB,GACvB,IAAI/G,EAAOoO,KAAK4W,SACZ1jB,EAAQ,GAAatB,EAAM+G,GAE/B,QAAIzF,EAAQ,KAIRA,GADYtB,EAAKnB,OAAS,EAE5BmB,EAAK4P,MAEL5H,GAAOvE,KAAKzD,EAAMsB,EAAO,KAEzB8M,KAAKqS,MACA,EACT,ECdA,SAPA,SAAsB1Z,GACpB,IAAI/G,EAAOoO,KAAK4W,SACZ1jB,EAAQ,GAAatB,EAAM+G,GAE/B,OAAOzF,EAAQ,OAAIiN,EAAYvO,EAAKsB,GAAO,EAC7C,ECDA,SAJA,SAAsByF,GACpB,OAAO,GAAaqH,KAAK4W,SAAUje,IAAQ,CAC7C,ECYA,SAbA,SAAsBA,EAAK3I,GACzB,IAAI4B,EAAOoO,KAAK4W,SACZ1jB,EAAQ,GAAatB,EAAM+G,GAQ/B,OANIzF,EAAQ,KACR8M,KAAKqS,KACPzgB,EAAK7C,KAAK,CAAC4J,EAAK3I,KAEhB4B,EAAKsB,GAAO,GAAKlD,EAEZgQ,IACT,ECVA,SAAS+W,GAAUC,GACjB,IAAI9jB,GAAS,EACTzC,EAAoB,MAAXumB,EAAkB,EAAIA,EAAQvmB,OAG3C,IADAuP,KAAKqQ,UACInd,EAAQzC,GAAQ,CACvB,IAAIyF,EAAQ8gB,EAAQ9jB,GACpB8M,KAAKkQ,IAAIha,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGA6gB,GAAU5hB,UAAUkb,MAAQ,GAC5B0G,GAAU5hB,UAAkB,OAAI,GAChC4hB,GAAU5hB,UAAU0Q,IAAM,GAC1BkR,GAAU5hB,UAAUgX,IAAM,GAC1B4K,GAAU5hB,UAAU+a,IAAM,GAE1B,YCjBA,SALA,WACElQ,KAAK4W,SAAW,IAAI,GACpB5W,KAAKqS,KAAO,CACd,ECKA,SARA,SAAqB1Z,GACnB,IAAI/G,EAAOoO,KAAK4W,SACZlmB,EAASkB,EAAa,OAAE+G,GAG5B,OADAqH,KAAKqS,KAAOzgB,EAAKygB,KACV3hB,CACT,ECFA,SAJA,SAAkBiI,GAChB,OAAOqH,KAAK4W,SAAS/Q,IAAIlN,EAC3B,ECEA,SAJA,SAAkBA,GAChB,OAAOqH,KAAK4W,SAASzK,IAAIxT,EAC3B,ECyBA,SAVA,SAAoB3I,GAClB,IAAK,EAASA,GACZ,OAAO,EAIT,IAAI6lB,EAAM,GAAW7lB,GACrB,MA5BY,qBA4BL6lB,GA3BI,8BA2BcA,GA7BZ,0BA6B6BA,GA1B7B,kBA0BgDA,CAC/D,EC7BA,SAFiB,GAAK,sBCAtB,IAAIoB,GAAc,WAChB,IAAIxM,EAAM,SAASyM,KAAK,IAAc,GAAWtnB,MAAQ,GAAWA,KAAKunB,UAAY,IACrF,OAAO1M,EAAO,iBAAmBA,EAAO,EAC1C,CAHiB,GAgBjB,SAJA,SAAkB2L,GAChB,QAASa,IAAeA,MAAcb,CACxC,EChBA,IAGI,GAHYZ,SAASrgB,UAGI6J,SAqB7B,SAZA,SAAkBoX,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAO,GAAa/gB,KAAK+gB,EAC3B,CAAE,MAAOrV,GAAI,CACb,IACE,OAAQqV,EAAO,EACjB,CAAE,MAAOrV,GAAI,CACf,CACA,MAAO,EACT,ECdA,IAGIqW,GAAe,8BAGf,GAAY5B,SAASrgB,UACrB,GAAcxF,OAAOwF,UAGrB,GAAe,GAAU6J,SAGzB,GAAiB,GAAY5J,eAG7BiiB,GAAa5P,OAAO,IACtB,GAAapS,KAAK,IAAgBjB,QAjBjB,sBAiBuC,QACvDA,QAAQ,yDAA0D,SAAW,KAmBhF,SARA,SAAsBpE,GACpB,SAAK,EAASA,IAAU,GAASA,MAGnB,GAAWA,GAASqnB,GAAaD,IAChC7e,KAAK,GAASvI,GAC/B,EChCA,SAJA,SAAkB4jB,EAAQjb,GACxB,OAAiB,MAAVib,OAAiBzT,EAAYyT,EAAOjb,EAC7C,ECMA,SALA,SAAmBib,EAAQjb,GACzB,IAAI3I,EAAQ,GAAS4jB,EAAQjb,GAC7B,OAAO,GAAa3I,GAASA,OAAQmQ,CACvC,ECRA,SAFU,GAAU,GAAM,OCC1B,SAFmB,GAAUxQ,OAAQ,UCWrC,SALA,WACEqQ,KAAK4W,SAAW,GAAe,GAAa,MAAQ,CAAC,EACrD5W,KAAKqS,KAAO,CACd,ECIA,SANA,SAAoB1Z,GAClB,IAAIjI,EAASsP,KAAKmM,IAAIxT,WAAeqH,KAAK4W,SAASje,GAEnD,OADAqH,KAAKqS,MAAQ3hB,EAAS,EAAI,EACnBA,CACT,ECXA,IAMI,GAHcf,OAAOwF,UAGQC,eAoBjC,SATA,SAAiBuD,GACf,IAAI/G,EAAOoO,KAAK4W,SAChB,GAAI,GAAc,CAChB,IAAIlmB,EAASkB,EAAK+G,GAClB,MArBiB,8BAqBVjI,OAA4ByP,EAAYzP,CACjD,CACA,OAAO,GAAe2E,KAAKzD,EAAM+G,GAAO/G,EAAK+G,QAAOwH,CACtD,ECxBA,IAGI,GAHcxQ,OAAOwF,UAGQC,eAgBjC,SALA,SAAiBuD,GACf,IAAI/G,EAAOoO,KAAK4W,SAChB,OAAO,QAA8BzW,IAAdvO,EAAK+G,GAAsB,GAAetD,KAAKzD,EAAM+G,EAC9E,ECEA,SAPA,SAAiBA,EAAK3I,GACpB,IAAI4B,EAAOoO,KAAK4W,SAGhB,OAFA5W,KAAKqS,MAAQrS,KAAKmM,IAAIxT,GAAO,EAAI,EACjC/G,EAAK+G,GAAQ,SAA0BwH,IAAVnQ,EAfV,4BAekDA,EAC9DgQ,IACT,ECPA,SAASsX,GAAKN,GACZ,IAAI9jB,GAAS,EACTzC,EAAoB,MAAXumB,EAAkB,EAAIA,EAAQvmB,OAG3C,IADAuP,KAAKqQ,UACInd,EAAQzC,GAAQ,CACvB,IAAIyF,EAAQ8gB,EAAQ9jB,GACpB8M,KAAKkQ,IAAIha,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAohB,GAAKniB,UAAUkb,MAAQ,GACvBiH,GAAKniB,UAAkB,OAAI,GAC3BmiB,GAAKniB,UAAU0Q,IAAM,GACrByR,GAAKniB,UAAUgX,IAAM,GACrBmL,GAAKniB,UAAU+a,IAAM,GAErB,YCXA,SATA,WACElQ,KAAKqS,KAAO,EACZrS,KAAK4W,SAAW,CACd,KAAQ,IAAI,GACZ,IAAO,IAAK,IAAO,IACnB,OAAU,IAAI,GAElB,ECJA,SAPA,SAAmB5mB,GACjB,IAAIkT,SAAclT,EAClB,MAAgB,UAARkT,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVlT,EACU,OAAVA,CACP,ECKA,SAPA,SAAoBsP,EAAK3G,GACvB,IAAI/G,EAAO0N,EAAIsX,SACf,OAAO,GAAUje,GACb/G,EAAmB,iBAAP+G,EAAkB,SAAW,QACzC/G,EAAK0N,GACX,ECEA,SANA,SAAwB3G,GACtB,IAAIjI,EAAS,GAAWsP,KAAMrH,GAAa,OAAEA,GAE7C,OADAqH,KAAKqS,MAAQ3hB,EAAS,EAAI,EACnBA,CACT,ECAA,SAJA,SAAqBiI,GACnB,OAAO,GAAWqH,KAAMrH,GAAKkN,IAAIlN,EACnC,ECEA,SAJA,SAAqBA,GACnB,OAAO,GAAWqH,KAAMrH,GAAKwT,IAAIxT,EACnC,ECQA,SATA,SAAqBA,EAAK3I,GACxB,IAAI4B,EAAO,GAAWoO,KAAMrH,GACxB0Z,EAAOzgB,EAAKygB,KAIhB,OAFAzgB,EAAKse,IAAIvX,EAAK3I,GACdgQ,KAAKqS,MAAQzgB,EAAKygB,MAAQA,EAAO,EAAI,EAC9BrS,IACT,ECNA,SAASuX,GAASP,GAChB,IAAI9jB,GAAS,EACTzC,EAAoB,MAAXumB,EAAkB,EAAIA,EAAQvmB,OAG3C,IADAuP,KAAKqQ,UACInd,EAAQzC,GAAQ,CACvB,IAAIyF,EAAQ8gB,EAAQ9jB,GACpB8M,KAAKkQ,IAAIha,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAqhB,GAASpiB,UAAUkb,MAAQ,GAC3BkH,GAASpiB,UAAkB,OAAI,GAC/BoiB,GAASpiB,UAAU0Q,IAAM,GACzB0R,GAASpiB,UAAUgX,IAAM,GACzBoL,GAASpiB,UAAU+a,IAAM,GAEzB,YCEA,SAhBA,SAAkBvX,EAAK3I,GACrB,IAAI4B,EAAOoO,KAAK4W,SAChB,GAAIhlB,aAAgB,GAAW,CAC7B,IAAI4lB,EAAQ5lB,EAAKglB,SACjB,IAAK,IAAQY,EAAM/mB,OAASgnB,IAG1B,OAFAD,EAAMzoB,KAAK,CAAC4J,EAAK3I,IACjBgQ,KAAKqS,OAASzgB,EAAKygB,KACZrS,KAETpO,EAAOoO,KAAK4W,SAAW,IAAI,GAASY,EACtC,CAGA,OAFA5lB,EAAKse,IAAIvX,EAAK3I,GACdgQ,KAAKqS,KAAOzgB,EAAKygB,KACVrS,IACT,ECjBA,SAAS0X,GAAMV,GACb,IAAIplB,EAAOoO,KAAK4W,SAAW,IAAI,GAAUI,GACzChX,KAAKqS,KAAOzgB,EAAKygB,IACnB,CAGAqF,GAAMviB,UAAUkb,MAAQ,GACxBqH,GAAMviB,UAAkB,OAAI,GAC5BuiB,GAAMviB,UAAU0Q,IAAM,GACtB6R,GAAMviB,UAAUgX,IAAM,GACtBuL,GAAMviB,UAAU+a,IAAM,GAEtB,YCLA,SAZA,SAAmB4G,EAAOa,GAIxB,IAHA,IAAIzkB,GAAS,EACTzC,EAAkB,MAATqmB,EAAgB,EAAIA,EAAMrmB,SAE9ByC,EAAQzC,IAC8B,IAAzCknB,EAASb,EAAM5jB,GAAQA,EAAO4jB,KAIpC,OAAOA,CACT,ECTA,SARsB,WACpB,IACE,IAAIV,EAAO,GAAUzmB,OAAQ,kBAE7B,OADAymB,EAAK,CAAC,EAAG,GAAI,CAAC,GACPA,CACT,CAAE,MAAOrV,GAAI,CACf,CANqB,GCsBrB,SAbA,SAAyB6S,EAAQjb,EAAK3I,GACzB,aAAP2I,GAAsB,GACxB,GAAeib,EAAQjb,EAAK,CAC1B,cAAgB,EAChB,YAAc,EACd,MAAS3I,EACT,UAAY,IAGd4jB,EAAOjb,GAAO3I,CAElB,EClBA,IAGI,GAHcL,OAAOwF,UAGQC,eAoBjC,SARA,SAAqBwe,EAAQjb,EAAK3I,GAChC,IAAI4nB,EAAWhE,EAAOjb,GAChB,GAAetD,KAAKue,EAAQjb,IAAQ,GAAGif,EAAU5nB,UACxCmQ,IAAVnQ,GAAyB2I,KAAOib,IACnC,GAAgBA,EAAQjb,EAAK3I,EAEjC,ECcA,SA1BA,SAAoBoa,EAAQyN,EAAOjE,EAAQkE,GACzC,IAAIC,GAASnE,EACbA,IAAWA,EAAS,CAAC,GAKrB,IAHA,IAAI1gB,GAAS,EACTzC,EAASonB,EAAMpnB,SAEVyC,EAAQzC,GAAQ,CACvB,IAAIkI,EAAMkf,EAAM3kB,GAEZ8e,EAAW8F,EACXA,EAAWlE,EAAOjb,GAAMyR,EAAOzR,GAAMA,EAAKib,EAAQxJ,QAClDjK,OAEaA,IAAb6R,IACFA,EAAW5H,EAAOzR,IAEhBof,EACF,GAAgBnE,EAAQjb,EAAKqZ,GAE7B,GAAY4B,EAAQjb,EAAKqZ,EAE7B,CACA,OAAO4B,CACT,EClBA,SAVA,SAAmB7V,EAAG4Z,GAIpB,IAHA,IAAIzkB,GAAS,EACTxC,EAASsD,MAAM+J,KAEV7K,EAAQ6K,GACfrN,EAAOwC,GAASykB,EAASzkB,GAE3B,OAAOxC,CACT,ECAA,SAJA,SAAyBV,GACvB,OAAO,GAAaA,IAVR,sBAUkB,GAAWA,EAC3C,ECXA,IAAI,GAAcL,OAAOwF,UAGrB,GAAiB,GAAYC,eAG7B4iB,GAAuB,GAAYA,qBAyBvC,SALkB,GAAgB,WAAa,OAAOC,SAAW,CAA/B,IAAsC,GAAkB,SAASjoB,GACjG,OAAO,GAAaA,IAAU,GAAeqF,KAAKrF,EAAO,YACtDgoB,GAAqB3iB,KAAKrF,EAAO,SACtC,EChBA,SAJA,WACE,OAAO,CACT,ECXA,IAAIkoB,GAAgC,iBAAX3pB,SAAuBA,UAAYA,QAAQ4pB,UAAY5pB,QAG5E6pB,GAAaF,IAAgC,iBAAV1pB,QAAsBA,SAAWA,OAAO2pB,UAAY3pB,OAMvF6pB,GAHgBD,IAAcA,GAAW7pB,UAAY2pB,GAG5B,GAAKG,YAASlY,EAwB3C,UArBqBkY,GAASA,GAAOC,cAAWnY,IAmBf,GClCjC,IAGIoY,GAAW,mBAoBf,SAVA,SAAiBvoB,EAAOS,GACtB,IAAIyS,SAAclT,EAGlB,SAFAS,EAAmB,MAAVA,EAfY,iBAewBA,KAGlC,UAARyS,GACU,UAARA,GAAoBqV,GAAShgB,KAAKvI,KAChCA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQS,CACjD,ECYA,SALA,SAAkBT,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GA9Bb,gBA+BvB,EC3BA,IA2BIwoB,GAAiB,CAAC,EACtBA,GAZiB,yBAYYA,GAXZ,yBAYjBA,GAXc,sBAWYA,GAVX,uBAWfA,GAVe,uBAUYA,GATZ,uBAUfA,GATsB,8BASYA,GARlB,wBAShBA,GARgB,yBAQY,EAC5BA,GAjCc,sBAiCYA,GAhCX,kBAiCfA,GApBqB,wBAoBYA,GAhCnB,oBAiCdA,GApBkB,qBAoBYA,GAhChB,iBAiCdA,GAhCe,kBAgCYA,GA/Bb,qBAgCdA,GA/Ba,gBA+BYA,GA9BT,mBA+BhBA,GA9BgB,mBA8BYA,GA7BZ,mBA8BhBA,GA7Ba,gBA6BYA,GA5BT,mBA6BhBA,GA5BiB,qBA4BY,EAc7B,SALA,SAA0BxoB,GACxB,OAAO,GAAaA,IAClB,GAASA,EAAMS,WAAa+nB,GAAe,GAAWxoB,GAC1D,EC5CA,SANA,SAAmBomB,GACjB,OAAO,SAASpmB,GACd,OAAOomB,EAAKpmB,EACd,CACF,ECRA,IAAI,GAAgC,iBAAXzB,SAAuBA,UAAYA,QAAQ4pB,UAAY5pB,QAG5E,GAAa,IAAgC,iBAAVC,QAAsBA,SAAWA,OAAO2pB,UAAY3pB,OAMvFiqB,GAHgB,IAAc,GAAWlqB,UAAY,IAGtB,GAAWmqB,QAiB9C,SAdgB,WACd,IAEE,IAAIC,EAAQ,IAAc,GAAWC,SAAW,GAAWA,QAAQ,QAAQD,MAE3E,OAAIA,GAKGF,IAAeA,GAAYhG,SAAWgG,GAAYhG,QAAQ,OACnE,CAAE,MAAO1R,GAAI,CACf,CAZe,GCVf,IAAI8X,GAAmB,IAAY,GAASC,aAqB5C,SAFmBD,GAAmB,GAAUA,IAAoB,GChBpE,IAGI,GAHclpB,OAAOwF,UAGQC,eAqCjC,SA3BA,SAAuBpF,EAAO+oB,GAC5B,IAAIC,EAAQ,GAAQhpB,GAChBipB,GAASD,GAAS,GAAYhpB,GAC9BkpB,GAAUF,IAAUC,GAAS,GAASjpB,GACtCmpB,GAAUH,IAAUC,IAAUC,GAAU,GAAalpB,GACrDopB,EAAcJ,GAASC,GAASC,GAAUC,EAC1CzoB,EAAS0oB,EAAc,GAAUppB,EAAMS,OAAQyB,QAAU,GACzDzB,EAASC,EAAOD,OAEpB,IAAK,IAAIkI,KAAO3I,GACT+oB,IAAa,GAAe1jB,KAAKrF,EAAO2I,IACvCygB,IAEQ,UAAPzgB,GAECugB,IAAkB,UAAPvgB,GAA0B,UAAPA,IAE9BwgB,IAAkB,UAAPxgB,GAA0B,cAAPA,GAA8B,cAAPA,IAEtD,GAAQA,EAAKlI,KAElBC,EAAO3B,KAAK4J,GAGhB,OAAOjI,CACT,EC7CA,IAAI,GAAcf,OAAOwF,UAgBzB,SAPA,SAAqBnF,GACnB,IAAI2mB,EAAO3mB,GAASA,EAAMma,YAG1B,OAAOna,KAFqB,mBAAR2mB,GAAsBA,EAAKxhB,WAAc,GAG/D,ECVA,SAFiB,GAAQxF,OAAOC,KAAMD,QCCtC,IAGI,GAHcA,OAAOwF,UAGQC,eAsBjC,SAbA,SAAkBwe,GAChB,IAAK,GAAYA,GACf,OAAO,GAAWA,GAEpB,IAAIljB,EAAS,GACb,IAAK,IAAIiI,KAAOhJ,OAAOikB,GACjB,GAAeve,KAAKue,EAAQjb,IAAe,eAAPA,GACtCjI,EAAO3B,KAAK4J,GAGhB,OAAOjI,CACT,ECKA,SAJA,SAAqBV,GACnB,OAAgB,MAATA,GAAiB,GAASA,EAAMS,UAAY,GAAWT,EAChE,ECMA,SAJA,SAAc4jB,GACZ,OAAO,GAAYA,GAAU,GAAcA,GAAU,GAASA,EAChE,EClBA,SAJA,SAAoBA,EAAQxJ,GAC1B,OAAOwJ,GAAU,GAAWxJ,EAAQ,GAAKA,GAASwJ,EACpD,ECKA,SAVA,SAAsBA,GACpB,IAAIljB,EAAS,GACb,GAAc,MAAVkjB,EACF,IAAK,IAAIjb,KAAOhJ,OAAOikB,GACrBljB,EAAO3B,KAAK4J,GAGhB,OAAOjI,CACT,ECZA,IAGI,GAHcf,OAAOwF,UAGQC,eAwBjC,SAfA,SAAoBwe,GAClB,IAAK,EAASA,GACZ,OAAO,GAAaA,GAEtB,IAAIyF,EAAU,GAAYzF,GACtBljB,EAAS,GAEb,IAAK,IAAIiI,KAAOib,GACD,eAAPjb,IAAyB0gB,GAAY,GAAehkB,KAAKue,EAAQjb,KACrEjI,EAAO3B,KAAK4J,GAGhB,OAAOjI,CACT,ECCA,SAJA,SAAgBkjB,GACd,OAAO,GAAYA,GAAU,GAAcA,GAAQ,GAAQ,GAAWA,EACxE,ECbA,SAJA,SAAsBA,EAAQxJ,GAC5B,OAAOwJ,GAAU,GAAWxJ,EAAQ,GAAOA,GAASwJ,EACtD,ECXA,IAAI,GAAgC,iBAAXrlB,SAAuBA,UAAYA,QAAQ4pB,UAAY5pB,QAG5E,GAAa,IAAgC,iBAAVC,QAAsBA,SAAWA,OAAO2pB,UAAY3pB,OAMvF,GAHgB,IAAc,GAAWD,UAAY,GAG5B,GAAK8pB,YAASlY,EACvCmZ,GAAc,GAAS,GAAOA,iBAAcnZ,EAqBhD,SAXA,SAAqBoZ,EAAQC,GAC3B,GAAIA,EACF,OAAOD,EAAO/gB,QAEhB,IAAI/H,EAAS8oB,EAAO9oB,OAChBC,EAAS4oB,GAAcA,GAAY7oB,GAAU,IAAI8oB,EAAOpP,YAAY1Z,GAGxE,OADA8oB,EAAOE,KAAK/oB,GACLA,CACT,ECbA,SAXA,SAAmB0Z,EAAQ0M,GACzB,IAAI5jB,GAAS,EACTzC,EAAS2Z,EAAO3Z,OAGpB,IADAqmB,IAAUA,EAAQ9iB,MAAMvD,MACfyC,EAAQzC,GACfqmB,EAAM5jB,GAASkX,EAAOlX,GAExB,OAAO4jB,CACT,ECOA,SAfA,SAAqBA,EAAO4C,GAM1B,IALA,IAAIxmB,GAAS,EACTzC,EAAkB,MAATqmB,EAAgB,EAAIA,EAAMrmB,OACnCkpB,EAAW,EACXjpB,EAAS,KAEJwC,EAAQzC,GAAQ,CACvB,IAAIT,EAAQ8mB,EAAM5jB,GACdwmB,EAAU1pB,EAAOkD,EAAO4jB,KAC1BpmB,EAAOipB,KAAc3pB,EAEzB,CACA,OAAOU,CACT,ECAA,SAJA,WACE,MAAO,EACT,EChBA,IAGI,GAHcf,OAAOwF,UAGc6iB,qBAGnC4B,GAAmBjqB,OAAOkqB,sBAmB9B,SAVkBD,GAA+B,SAAShG,GACxD,OAAc,MAAVA,EACK,IAETA,EAASjkB,OAAOikB,GACT,GAAYgG,GAAiBhG,IAAS,SAASkG,GACpD,OAAO,GAAqBzkB,KAAKue,EAAQkG,EAC3C,IACF,EARqC,GCJrC,SAJA,SAAqB1P,EAAQwJ,GAC3B,OAAO,GAAWxJ,EAAQ,GAAWA,GAASwJ,EAChD,ECMA,SAXA,SAAmBkD,EAAO7N,GAKxB,IAJA,IAAI/V,GAAS,EACTzC,EAASwY,EAAOxY,OAChBspB,EAASjD,EAAMrmB,SAEVyC,EAAQzC,GACfqmB,EAAMiD,EAAS7mB,GAAS+V,EAAO/V,GAEjC,OAAO4jB,CACT,ECOA,SAlBuBnnB,OAAOkqB,sBASqB,SAASjG,GAE1D,IADA,IAAIljB,EAAS,GACNkjB,GACL,GAAUljB,EAAQ,GAAWkjB,IAC7BA,EAAS,GAAaA,GAExB,OAAOljB,CACT,EAPuC,GCAvC,SAJA,SAAuB0Z,EAAQwJ,GAC7B,OAAO,GAAWxJ,EAAQ,GAAaA,GAASwJ,EAClD,ECMA,SALA,SAAwBA,EAAQoG,EAAUC,GACxC,IAAIvpB,EAASspB,EAASpG,GACtB,OAAO,GAAQA,GAAUljB,EAAS,GAAUA,EAAQupB,EAAYrG,GAClE,ECFA,SAJA,SAAoBA,GAClB,OAAO,GAAeA,EAAQ,GAAM,GACtC,ECGA,SAJA,SAAsBA,GACpB,OAAO,GAAeA,EAAQ,GAAQ,GACxC,ECRA,SAFe,GAAU,GAAM,YCE/B,SAFc,GAAU,GAAM,WCE9B,SAFU,GAAU,GAAM,OCE1B,SAFc,GAAU,GAAM,WCK9B,IAAI,GAAS,eAETsG,GAAa,mBACb,GAAS,eACT,GAAa,mBAEb,GAAc,oBAGdC,GAAqB,GAAS,IAC9BC,GAAgB,GAAS,IACzBC,GAAoB,GAAS,IAC7BC,GAAgB,GAAS,IACzBC,GAAoB,GAAS,IAS7BC,GAAS,IAGR,IAAYA,GAAO,IAAI,GAAS,IAAIC,YAAY,MAAQ,IACxD,IAAOD,GAAO,IAAI,KAAQ,IAC1B,IAAWA,GAAO,GAAQE,YAAcR,IACxC,IAAOM,GAAO,IAAI,KAAQ,IAC1B,IAAWA,GAAO,IAAI,KAAY,MACrCA,GAAS,SAASxqB,GAChB,IAAIU,EAAS,GAAWV,GACpB2mB,EA/BQ,mBA+BDjmB,EAAsBV,EAAMma,iBAAchK,EACjDwa,EAAahE,EAAO,GAASA,GAAQ,GAEzC,GAAIgE,EACF,OAAQA,GACN,KAAKR,GAAoB,OAAO,GAChC,KAAKC,GAAe,OAAO,GAC3B,KAAKC,GAAmB,OAAOH,GAC/B,KAAKI,GAAe,OAAO,GAC3B,KAAKC,GAAmB,OAAO,GAGnC,OAAO7pB,CACT,GAGF,YCxDA,IAGI,GAHcf,OAAOwF,UAGQC,eAqBjC,SAZA,SAAwB0hB,GACtB,IAAIrmB,EAASqmB,EAAMrmB,OACfC,EAAS,IAAIomB,EAAM3M,YAAY1Z,GAOnC,OAJIA,GAA6B,iBAAZqmB,EAAM,IAAkB,GAAezhB,KAAKyhB,EAAO,WACtEpmB,EAAOwC,MAAQ4jB,EAAM5jB,MACrBxC,EAAOkC,MAAQkkB,EAAMlkB,OAEhBlC,CACT,EClBA,SAFiB,GAAKiD,WCYtB,SANA,SAA0BinB,GACxB,IAAIlqB,EAAS,IAAIkqB,EAAYzQ,YAAYyQ,EAAYC,YAErD,OADA,IAAI,GAAWnqB,GAAQwf,IAAI,IAAI,GAAW0K,IACnClqB,CACT,ECEA,SALA,SAAuBoqB,EAAUtB,GAC/B,IAAID,EAASC,EAAS,GAAiBsB,EAASvB,QAAUuB,EAASvB,OACnE,OAAO,IAAIuB,EAAS3Q,YAAYoP,EAAQuB,EAASC,WAAYD,EAASD,WACxE,ECZA,IAAIG,GAAU,OAed,SANA,SAAqBC,GACnB,IAAIvqB,EAAS,IAAIuqB,EAAO9Q,YAAY8Q,EAAO7Q,OAAQ4Q,GAAQ9D,KAAK+D,IAEhE,OADAvqB,EAAOiY,UAAYsS,EAAOtS,UACnBjY,CACT,ECXA,IAAIwqB,GAAc,GAAS,GAAO/lB,eAAYgL,EAC1Cgb,GAAgBD,GAAcA,GAAYE,aAAUjb,EAaxD,SAJA,SAAqB2Z,GACnB,OAAOqB,GAAgBxrB,OAAOwrB,GAAc9lB,KAAKykB,IAAW,CAAC,CAC/D,ECAA,SALA,SAAyBuB,EAAY7B,GACnC,IAAID,EAASC,EAAS,GAAiB6B,EAAW9B,QAAU8B,EAAW9B,OACvE,OAAO,IAAI8B,EAAWlR,YAAYoP,EAAQ8B,EAAWN,WAAYM,EAAW5qB,OAC9E,EC+DA,SApCA,SAAwBmjB,EAAQiC,EAAK2D,GACnC,IAAI7C,EAAO/C,EAAOzJ,YAClB,OAAQ0L,GACN,IA3BiB,uBA4Bf,OAAO,GAAiBjC,GAE1B,IAvCU,mBAwCV,IAvCU,gBAwCR,OAAO,IAAI+C,GAAM/C,GAEnB,IAjCc,oBAkCZ,OAAO,GAAcA,EAAQ4F,GAE/B,IAnCa,wBAmCI,IAlCJ,wBAmCb,IAlCU,qBAkCI,IAjCH,sBAiCkB,IAhClB,sBAiCX,IAhCW,sBAgCI,IA/BG,6BA+BmB,IA9BzB,uBA8ByC,IA7BzC,uBA8BV,OAAO,GAAgB5F,EAAQ4F,GAEjC,IAjDS,eA2DT,IAxDS,eAyDP,OAAO,IAAI7C,EARb,IAnDY,kBAoDZ,IAjDY,kBAkDV,OAAO,IAAIA,EAAK/C,GAElB,IAtDY,kBAuDV,OAAO,GAAYA,GAKrB,IAzDY,kBA0DV,OAAO,GAAYA,GAEzB,ECvEA,IAAI0H,GAAe3rB,OAAO4V,OA0B1B,SAhBkB,WAChB,SAASqO,IAAU,CACnB,OAAO,SAAS8C,GACd,IAAK,EAASA,GACZ,MAAO,CAAC,EAEV,GAAI4E,GACF,OAAOA,GAAa5E,GAEtB9C,EAAOze,UAAYuhB,EACnB,IAAIhmB,EAAS,IAAIkjB,EAEjB,OADAA,EAAOze,eAAYgL,EACZzP,CACT,CACF,CAdiB,GCIjB,SANA,SAAyBkjB,GACvB,MAAqC,mBAAtBA,EAAOzJ,aAA8B,GAAYyJ,GAE5D,CAAC,EADD,GAAW,GAAaA,GAE9B,ECEA,SAJA,SAAmB5jB,GACjB,OAAO,GAAaA,IAVT,gBAUmB,GAAOA,EACvC,ECVA,IAAIurB,GAAY,IAAY,GAASC,MAqBrC,SAFYD,GAAY,GAAUA,IAAa,GCP/C,SAJA,SAAmBvrB,GACjB,OAAO,GAAaA,IAVT,gBAUmB,GAAOA,EACvC,ECVA,IAAIyrB,GAAY,IAAY,GAASC,MAqBrC,SAFYD,GAAY,GAAUA,IAAa,GCA/C,IAKI,GAAU,qBAKV,GAAU,oBAIV,GAAY,kBAoBZE,GAAgB,CAAC,EACrBA,GAAc,IAAWA,GA7BV,kBA8BfA,GAfqB,wBAeWA,GAdd,qBAelBA,GA9Bc,oBA8BWA,GA7BX,iBA8BdA,GAfiB,yBAeWA,GAdX,yBAejBA,GAdc,sBAcWA,GAbV,uBAcfA,GAbe,uBAaWA,GA5Bb,gBA6BbA,GA5BgB,mBA4BWA,GAAc,IACzCA,GA3BgB,mBA2BWA,GA1Bd,gBA2BbA,GA1BgB,mBA0BWA,GAzBX,mBA0BhBA,GAhBe,uBAgBWA,GAfJ,8BAgBtBA,GAfgB,wBAeWA,GAdX,yBAcsC,EACtDA,GArCe,kBAqCWA,GAAc,IACxCA,GA5BiB,qBA4BW,EA8F5B,SA5EA,SAASC,EAAU5rB,EAAO6rB,EAAS/D,EAAYnf,EAAKib,EAAQ/G,GAC1D,IAAInc,EACA8oB,EAnEgB,EAmEPqC,EACTC,EAnEgB,EAmEPD,EACTE,EAnEmB,EAmEVF,EAKb,GAHI/D,IACFpnB,EAASkjB,EAASkE,EAAW9nB,EAAO2I,EAAKib,EAAQ/G,GAASiL,EAAW9nB,SAExDmQ,IAAXzP,EACF,OAAOA,EAET,IAAK,EAASV,GACZ,OAAOA,EAET,IAAIgpB,EAAQ,GAAQhpB,GACpB,GAAIgpB,GAEF,GADAtoB,EAAS,GAAeV,IACnBwpB,EACH,OAAO,GAAUxpB,EAAOU,OAErB,CACL,IAAImlB,EAAM,GAAO7lB,GACbgsB,EAASnG,GAAO,IA7EX,8BA6EsBA,EAE/B,GAAI,GAAS7lB,GACX,OAAO,GAAYA,EAAOwpB,GAE5B,GAAI3D,GAAO,IAAaA,GAAO,IAAYmG,IAAWpI,GAEpD,GADAljB,EAAUorB,GAAUE,EAAU,CAAC,EAAI,GAAgBhsB,IAC9CwpB,EACH,OAAOsC,EACH,GAAc9rB,EAAO,GAAaU,EAAQV,IAC1C,GAAYA,EAAO,GAAWU,EAAQV,QAEvC,CACL,IAAK2rB,GAAc9F,GACjB,OAAOjC,EAAS5jB,EAAQ,CAAC,EAE3BU,EAAS,GAAeV,EAAO6lB,EAAK2D,EACtC,CACF,CAEA3M,IAAUA,EAAQ,IAAI,IACtB,IAAIoP,EAAUpP,EAAMhH,IAAI7V,GACxB,GAAIisB,EACF,OAAOA,EAETpP,EAAMqD,IAAIlgB,EAAOU,GAEb,GAAMV,GACRA,EAAMH,SAAQ,SAASqsB,GACrBxrB,EAAO0b,IAAIwP,EAAUM,EAAUL,EAAS/D,EAAYoE,EAAUlsB,EAAO6c,GACvE,IACS,GAAM7c,IACfA,EAAMH,SAAQ,SAASqsB,EAAUvjB,GAC/BjI,EAAOwf,IAAIvX,EAAKijB,EAAUM,EAAUL,EAAS/D,EAAYnf,EAAK3I,EAAO6c,GACvE,IAGF,IAIIgL,EAAQmB,OAAQ7Y,GAJL4b,EACVD,EAAS,GAAe,GACxBA,EAAS,GAAS,IAEkB9rB,GASzC,OARA,GAAU6nB,GAAS7nB,GAAO,SAASksB,EAAUvjB,GACvCkf,IAEFqE,EAAWlsB,EADX2I,EAAMujB,IAIR,GAAYxrB,EAAQiI,EAAKijB,EAAUM,EAAUL,EAAS/D,EAAYnf,EAAK3I,EAAO6c,GAChF,IACOnc,CACT,EC5HA,SALA,SAAuBV,EAAO8nB,GAE5B,OAAO,GAAU9nB,EAAO,EADxB8nB,EAAkC,mBAAdA,EAA2BA,OAAa3X,EAE9D,ECbA,SAJA,SAAmBnQ,GACjB,OAAO,GAAaA,IAA6B,IAAnBA,EAAMmoB,WAAmB,GAAcnoB,EACvE,ECTe,MAAMmsB,GAOjB,WAAAhS,CAAYiS,EAAgBC,GACxBrc,KAAKsc,QAAU3sB,OAAO4V,OAAO,MAEzB8W,GAGArc,KAAKvR,OAAO8tB,GAAYF,IAGxBD,GACApc,KAAKwc,mBAAmBxc,KAAKsc,QAASF,EAE9C,CACA,GAAAlM,CAAI1N,EAAMxS,GACNgQ,KAAKyc,aAAazc,KAAKsc,QAAS9Z,EAAMxS,EAC1C,CACA,MAAAvB,CAAO+T,EAAMxS,GAETgQ,KAAKyc,aAAazc,KAAKsc,QAAS9Z,EAAMxS,GADrB,EAErB,CAiBA,GAAA6V,CAAIrD,GACA,OAAOxC,KAAK0c,eAAe1c,KAAKsc,QAAS9Z,EAC7C,CAIA,MAACma,GACG,IAAK,MAAMna,KAAQ7S,OAAOC,KAAKoQ,KAAKsc,eAC1B9Z,CAEd,CAUA,YAAAia,CAAajc,EAAQgC,EAAMxS,EAAO4sB,GAAW,GAEzC,GAAI,GAAcpa,GAEd,YADAxC,KAAKwc,mBAAmBhc,EAAQgC,EAAMoa,GAI1C,MAAMC,EAAQra,EAAKnD,MAAM,KAEzBmD,EAAOqa,EAAMrb,MAEb,IAAK,MAAMsb,KAAQD,EAEV,GAAcrc,EAAOsc,MACtBtc,EAAOsc,GAAQntB,OAAO4V,OAAO,OAGjC/E,EAASA,EAAOsc,GAGpB,GAAI,GAAc9sB,GAQd,OANK,GAAcwQ,EAAOgC,MACtBhC,EAAOgC,GAAQ7S,OAAO4V,OAAO,OAEjC/E,EAASA,EAAOgC,QAEhBxC,KAAKwc,mBAAmBhc,EAAQxQ,EAAO4sB,GAIvCA,QAAmC,IAAhBpc,EAAOgC,KAG9BhC,EAAOgC,GAAQxS,EACnB,CAQA,cAAA0sB,CAAetS,EAAQ5H,GAEnB,MAAMqa,EAAQra,EAAKnD,MAAM,KAEzBmD,EAAOqa,EAAMrb,MAEb,IAAK,MAAMsb,KAAQD,EAAO,CACtB,IAAK,GAAczS,EAAO0S,IAAQ,CAC9B1S,EAAS,KACT,KACJ,CAEAA,EAASA,EAAO0S,EACpB,CAEA,OAAO1S,EAASmS,GAAYnS,EAAO5H,SAASrC,CAChD,CAQA,kBAAAqc,CAAmBhc,EAAQuc,EAAeH,GACtCjtB,OAAOC,KAAKmtB,GAAeltB,SAAQ8I,IAC/BqH,KAAKyc,aAAajc,EAAQ7H,EAAKokB,EAAcpkB,GAAMikB,EAAS,GAEpE,EAKJ,SAASL,GAAYnS,GACjB,OAAO,GAAcA,EAAQ4S,GACjC,CAMA,SAASA,GAAoBhtB,GACzB,OAAO,GAAUA,IAA2B,mBAAVA,EAAuBA,OAAQmQ,CACrE,CCxJe,SAAS8c,GAAOjmB,GAC3B,GAAIA,EAAK,CACL,GAAIA,EAAIkmB,YACJ,OAAOlmB,aAAeA,EAAIkmB,YAAYC,SAErC,GAAInmB,EAAIomB,eAAiBpmB,EAAIomB,cAAcF,YAC5C,OAAOlmB,aAAeA,EAAIomB,cAAcF,YAAYG,IAE5D,CACA,OAAO,CACX,CCVe,SAASC,GAAStmB,GAC7B,MAAMumB,EAAoB5tB,OAAOwF,UAAU6J,SAASnI,MAAMG,GAE1D,MAAyB,mBAArBumB,GAIqB,mBAArBA,CAIR,CCVA,MAAM,GAAsCC,GAAgC7P,KAC7D,SAAS6P,GAAgBpkB,GACpC,IAAKA,EACD,OAAO,GA2DX,OAzDA,cAAoBA,EAChB,QAAA2U,CAASI,EAASN,EAAOC,EAAU7e,EAAU,CAAC,GAE1C,GAAIguB,GAAO9O,IAAYmP,GAASnP,GAAU,CACtC,MAAMsP,EAAe,CACjBC,UAAWzuB,EAAQ0uB,WACnBC,UAAW3uB,EAAQ4uB,YAEjBC,EAAe9d,KAAK+d,iBAAiB5P,EAASsP,IAAiB,IAAIO,GAAa7P,EAASsP,GAC/Fzd,KAAK+N,SAAS+P,EAAcjQ,EAAOC,EAAU7e,EACjD,MAGI8c,MAAMgC,SAASI,EAASN,EAAOC,EAAU7e,EAEjD,CACA,aAAAif,CAAcC,EAASN,EAAOC,GAE1B,GAAImP,GAAO9O,IAAYmP,GAASnP,GAAU,CACtC,MAAM8P,EAAgBje,KAAKke,qBAAqB/P,GAChD,IAAK,MAAMgQ,KAASF,EAChBje,KAAKkO,cAAciQ,EAAOtQ,EAAOC,EAEzC,MAGI/B,MAAMmC,cAAcC,EAASN,EAAOC,EAE5C,CAYA,gBAAAiQ,CAAiBpc,EAAM1S,GACnB,OxH0ML,SAA+BmvB,EAAkBC,GACpD,MAAMC,EAAcF,EAAiB7Q,GACrC,OAAI+Q,GAAeA,EAAYD,GACpBC,EAAYD,GAAqBlQ,QAErC,IACX,CwHhNmBoQ,CAAsBve,KAAMwe,GAAkB7c,EAAM1S,GAC/D,CAMA,oBAAAivB,CAAqBvc,GACjB,MAAO,CACH,CAAE+b,SAAS,EAAOE,SAAS,GAC3B,CAAEF,SAAS,EAAOE,SAAS,GAC3B,CAAEF,SAAS,EAAME,SAAS,GAC1B,CAAEF,SAAS,EAAME,SAAS,IAC5Bte,KAAIrQ,GAAW+Q,KAAK+d,iBAAiBpc,EAAM1S,KAAU0H,QAAOwnB,KAAWA,GAC7E,EAGR,CAEA,CACI,mBAAoB,uBACpB,KAAM,OAAQ,MAAO,WACrB,gBAAiB,OAAQ,WAAY,iBACrC,oBAAqB,wBACtBtuB,SAAQ8I,IACP6kB,GAAgB7kB,GAAO,GAAoBxD,UAAUwD,EAAI,IA8B7D,MAAMqlB,WAAqCrQ,KASvC,WAAAxD,CAAYxI,EAAM1S,GACd8c,QAEAyC,EAAcxO,KAAMwe,GAAkB7c,EAAM1S,IAE5C+Q,KAAKye,SAAW9c,EAEhB3B,KAAK0e,SAAWzvB,CACpB,CAYA,MAAA0vB,CAAO9Q,GAGH,GAAI7N,KAAK4e,eAAiB5e,KAAK4e,cAAc/Q,GACzC,OAEJ,MAAMgR,EAAc7e,KAAK8e,mBAAmBjR,GAE5C7N,KAAKye,SAAS5P,iBAAiBhB,EAAOgR,EAAa7e,KAAK0e,UACnD1e,KAAK4e,gBACN5e,KAAK4e,cAAgB,CAAC,GAI1B5e,KAAK4e,cAAc/Q,GAASgR,CAChC,CASA,MAAAE,CAAOlR,GACH,IAAIkC,GAIA/P,KAAK4e,cAAc/Q,KAAakC,EAAS/P,KAAKmP,QAAQtB,KAAYkC,EAAOrB,UAAUje,QACnFuP,KAAK4e,cAAc/Q,GAAOmR,gBAElC,CASA,iBAAApQ,CAAkBf,EAAOC,EAAU7e,GAC/B+Q,KAAK2e,OAAO9Q,GACZF,IAAexY,UAAUyZ,kBAAkBvZ,KAAK2K,KAAM6N,EAAOC,EAAU7e,EAC3E,CAQA,oBAAAugB,CAAqB3B,EAAOC,GACxBH,IAAexY,UAAUqa,qBAAqBna,KAAK2K,KAAM6N,EAAOC,GAChE9N,KAAK+e,OAAOlR,EAChB,CASA,kBAAAiR,CAAmBjR,GACf,MAAMgR,EAAeI,IACjBjf,KAAK+O,KAAKlB,EAAOoR,EAAO,EAS5B,OAJAJ,EAAYG,eAAiB,KACzBhf,KAAKye,SAAS3P,oBAAoBjB,EAAOgR,EAAa7e,KAAK0e,iBACpD1e,KAAK4e,cAAc/Q,EAAM,EAE7BgR,CACX,EAaJ,SAASL,GAAkB7c,EAAM1S,GAC7B,IAAID,EAPR,SAAoB2S,GAChB,OAAOA,EAAK,qBAAuBA,EAAK,mBAAqB8I,IACjE,CAKayU,CAAWvd,GACpB,IAAK,MAAMwd,KAAUxvB,OAAOC,KAAKX,GAASmwB,OAClCnwB,EAAQkwB,KACRnwB,GAAM,IAAMmwB,GAGpB,OAAOnwB,CACX,CC7Ne,SAASqwB,GAAa1d,GACjC,MAAM2d,EAAQ,GACd,IAAIC,EAAc5d,EAElB,KAAO4d,GAAeA,EAAYpH,UAAYkF,KAAKmC,eAC/CF,EAAM1d,QAAQ2d,GACdA,EAAcA,EAAYE,WAE9B,OAAOH,CACX,CCZe,SAASI,GAAgBxwB,GAEpC,MAAMqR,EAAQrR,EAAQkuB,cAAcF,YAAYyC,iBAAiBzwB,GACjE,MAAO,CACH0wB,IAAKngB,SAASc,EAAMsf,eAAgB,IACpClU,MAAOlM,SAASc,EAAMuf,iBAAkB,IACxCC,OAAQtgB,SAASc,EAAMyf,kBAAmB,IAC1CtU,KAAMjM,SAASc,EAAM0f,gBAAiB,IAE9C,CCVe,SAASC,GAAuBC,GAC3C,IAAKA,EAAS3f,OACV,OAAO,KAEX,MAAM4f,EAASD,EAAS3f,OAAO4c,cACzBtgB,EAAIqjB,EAASE,QACbxjB,EAAIsjB,EAASG,QACnB,IAAIC,EAAW,KAWf,OATIH,EAAOI,qBAAuBJ,EAAOI,oBAAoB1jB,EAAGD,GAC5D0jB,EAAWH,EAAOI,oBAAoB1jB,EAAGD,GAGpCsjB,EAASM,cACdF,EAAWH,EAAOM,cAClBH,EAASI,SAASR,EAASM,YAAaN,EAASS,aACjDL,EAASM,UAAS,IAEfN,CACX,CCtBe,SAASO,GAAO9pB,GAC3B,MAA8C,iBAAvCrH,OAAOwF,UAAU6J,SAAS3J,KAAK2B,EAC1C,CCFe,SAAS+pB,GAAQ/pB,GAC5B,MAA+C,kBAAxCrH,OAAOwF,UAAU6J,SAASnI,MAAMG,EAC3C,CCCe,SAASgqB,GAAsB9xB,GAC1C,OAAKA,GAAYA,EAAQuwB,WAGrBvwB,EAAQ+xB,eAAiB,EAAO9xB,SAAS+xB,KAClC,KAEJhyB,EAAQ+xB,aALJ,IAMf,CCRA,MAAME,GAAiB,CAAC,MAAO,QAAS,SAAU,OAAQ,QAAS,UAMpD,MAAM,GA8BjB,WAAAhX,CAAYC,GACR,MAAMgX,EAAgBL,GAAQ3W,GAO9B,GANAza,OAAOI,eAAeiQ,KAAM,UAAW,CAEnChQ,MAAOoa,EAAOiX,SAAWjX,EACzBkX,UAAU,EACV1b,YAAY,IAEZ2b,GAAanX,IAAWgX,EAWxB,GAAIA,EAAe,CACf,MAAMI,EAAa,GAAKC,iBAAiBrX,GACzCsX,GAAmB1hB,KAAM,GAAK2hB,gBAAgBH,GAClD,MAEIE,GAAmB1hB,KAAMoK,EAAOwX,8BAGnC,GAAItE,GAASlT,GAAS,CACvB,MAAM,WAAEyX,EAAU,YAAEC,GAAgB1X,EACpCsX,GAAmB1hB,KAAM,CACrB4f,IAAK,EACLjU,MAAOkW,EACP9B,OAAQ+B,EACRpW,KAAM,EACNqW,MAAOF,EACPG,OAAQF,GAEhB,MAEIJ,GAAmB1hB,KAAMoK,EAEjC,CAMA,KAAA6X,GACI,OAAO,IAAI,GAAKjiB,KACpB,CAQA,MAAAkiB,CAAOplB,EAAGD,GAKN,OAJAmD,KAAK4f,IAAM/iB,EACXmD,KAAK2L,MAAQ7O,EAAIkD,KAAK+hB,MACtB/hB,KAAK+f,OAASljB,EAAImD,KAAKgiB,OACvBhiB,KAAK0L,KAAO5O,EACLkD,IACX,CAQA,MAAAmiB,CAAOrlB,EAAGD,GAKN,OAJAmD,KAAK4f,KAAO/iB,EACZmD,KAAK2L,OAAS7O,EACdkD,KAAK0L,MAAQ5O,EACbkD,KAAK+f,QAAUljB,EACRmD,IACX,CAIA,eAAAoiB,CAAgBC,GACZ,MAAMC,EAAO,CACT1C,IAAK/uB,KAAK+K,IAAIoE,KAAK4f,IAAKyC,EAAYzC,KACpCjU,MAAO9a,KAAK8K,IAAIqE,KAAK2L,MAAO0W,EAAY1W,OACxCoU,OAAQlvB,KAAK8K,IAAIqE,KAAK+f,OAAQsC,EAAYtC,QAC1CrU,KAAM7a,KAAK+K,IAAIoE,KAAK0L,KAAM2W,EAAY3W,MACtCqW,MAAO,EACPC,OAAQ,GAIZ,GAFAM,EAAKP,MAAQO,EAAK3W,MAAQ2W,EAAK5W,KAC/B4W,EAAKN,OAASM,EAAKvC,OAASuC,EAAK1C,IAC7B0C,EAAKP,MAAQ,GAAKO,EAAKN,OAAS,EAChC,OAAO,KAEN,CACD,MAAMO,EAAU,IAAI,GAAKD,GAEzB,OADAC,EAAQlB,QAAUrhB,KAAKqhB,QAChBkB,CACX,CACJ,CAMA,mBAAAC,CAAoBH,GAChB,MAAMC,EAAOtiB,KAAKoiB,gBAAgBC,GAClC,OAAIC,EACOA,EAAKG,UAGL,CAEf,CAIA,OAAAA,GACI,OAAOziB,KAAK+hB,MAAQ/hB,KAAKgiB,MAC7B,CAkBA,UAAAU,GACI,MAAMtY,EAASpK,KAAKqhB,QACpB,IAAIsB,EAAc3iB,KAAKiiB,QAEvB,GAAIW,GAAOxY,GACP,OAAOuY,EAEX,IAEIE,EAFA1M,EAAQ/L,EACRhJ,EAASgJ,EAAOqV,YAAcrV,EAAO0Y,wBAGzC,KAAO1hB,IAAWwhB,GAAOxhB,IAAS,CAC9B,MAAM2hB,EAAyD,cA6O/C7zB,EA7OmCkS,aA8OjC4hB,YAAc9zB,EAAQkuB,cAAcF,YAAYyC,iBAAiBzwB,GAAS+zB,SAAW,WA7OnG9M,aAAiB6M,aAA6C,aAA9BE,GAAmB/M,KACnD0M,EAAmC1M,GAEvC,MAAMgN,EAAwBD,GAAmB9hB,GAkCjD,GAAI2hB,GACAF,IAAgE,aAA1BM,GAAwCJ,GAChD,aAA1BI,GAAuC,CAC3ChN,EAAQ/U,EACRA,EAASA,EAAOqe,WAChB,QACJ,CACA,MAAM2D,EAAa,IAAI,GAAKhiB,GACtBiiB,EAAmBV,EAAYP,gBAAgBgB,GACrD,IAAIC,EAQA,OAAO,KAPHA,EAAiBZ,UAAYE,EAAYF,YAEzCE,EAAcU,GAOtBlN,EAAQ/U,EACRA,EAASA,EAAOqe,UACpB,CAkLR,IAA4BvwB,EAjLpB,OAAOyzB,CACX,CASA,OAAAW,CAAQjB,GACJ,IAAK,MAAMvc,KAAQqb,GACf,GAAInhB,KAAK8F,KAAUuc,EAAYvc,GAC3B,OAAO,EAGf,OAAO,CACX,CAOA,QAAAyd,CAASlB,GACL,MAAMmB,EAAgBxjB,KAAKoiB,gBAAgBC,GAC3C,SAAUmB,IAAiBA,EAAcF,QAAQjB,GACrD,CAIA,cAAAoB,GACI,MAAM,QAAEC,EAAO,QAAEC,GAAY,EAAOhjB,OAC9BijB,EAAe5jB,KAAKiiB,QAAQE,OAAOuB,EAASC,GAClD,GAAIpC,GAAaqC,EAAavC,SAAU,CACpC,MAAMwC,EAAqB7C,GAAsB4C,EAAavC,SAC1DwC,GAwJhB,SAAiDvB,EAAMwB,GACnD,MAAMC,EAAmB,IAAI,GAAKD,GAC5BE,EAAuBtE,GAAgBoE,GAC7C,IAAIG,EAAQ,EACRC,EAAQ,EAKZD,GAASF,EAAiBrY,KAC1BwY,GAASH,EAAiBnE,IAM1BqE,GAASH,EAA0BK,WACnCD,GAASJ,EAA0BM,UAMnCH,GAASD,EAAqBtY,KAC9BwY,GAASF,EAAqBpE,IAC9B0C,EAAKH,OAAO8B,EAAOC,EACvB,CAjLgBG,CAAwCT,EAAcC,EAE9D,CACA,OAAOD,CACX,CASA,2BAAAU,GACI,MAAMla,EAASpK,KAAKqhB,QACpB,IAAIkD,EAAgBC,EAAiBC,EACrC,GAAInH,GAASlT,GACTma,EAAiBna,EAAOyX,WAAazX,EAAOjb,SAASu1B,gBAAgBC,YACrEH,EAAkBpa,EAAO0X,YAAc1X,EAAOjb,SAASu1B,gBAAgBE,aACvEH,EAAYra,EAAOuV,iBAAiBvV,EAAOjb,SAASu1B,iBAAiBD,cAEpE,CACD,MAAMI,EAAenF,GAAgBtV,GACrCma,EAAiBna,EAAO0a,YAAc1a,EAAOua,YAAcE,EAAanZ,KAAOmZ,EAAalZ,MAC5F6Y,EAAkBpa,EAAO2a,aAAe3a,EAAOwa,aAAeC,EAAajF,IAAMiF,EAAa9E,OAC9F0E,EAAYra,EAAOgT,cAAcF,YAAYyC,iBAAiBvV,GAAQqa,UACtEzkB,KAAK0L,MAAQmZ,EAAanZ,KAC1B1L,KAAK4f,KAAOiF,EAAajF,IACzB5f,KAAK2L,OAASkZ,EAAalZ,MAC3B3L,KAAK+f,QAAU8E,EAAa9E,OAC5B/f,KAAK+hB,MAAQ/hB,KAAK2L,MAAQ3L,KAAK0L,KAC/B1L,KAAKgiB,OAAShiB,KAAK+f,OAAS/f,KAAK4f,GACrC,CAUA,OATA5f,KAAK+hB,OAASwC,EACI,QAAdE,EACAzkB,KAAK2L,OAAS4Y,EAGdvkB,KAAK0L,MAAQ6Y,EAEjBvkB,KAAKgiB,QAAUwC,EACfxkB,KAAK+f,QAAUyE,EACRxkB,IACX,CAOA,uBAAOyhB,CAAiBuD,GACpB,MAAMC,EAAQ,GAERC,EAAclxB,MAAM8N,KAAKkjB,EAAMG,kBACrC,GAAID,EAAYz0B,OACZ,IAAK,MAAM6xB,KAAQ4C,EACfD,EAAMl2B,KAAK,IAAI,GAAKuzB,QAOvB,CACD,IAAI8C,EAAiBJ,EAAMI,eACvBtE,GAAOsE,KACPA,EAAiBA,EAAe3F,YAEpC,MAAM6C,EAAO,IAAI,GAAK8C,EAAexD,yBACrCU,EAAK3W,MAAQ2W,EAAK5W,KAClB4W,EAAKP,MAAQ,EACbkD,EAAMl2B,KAAKuzB,EACf,CACA,OAAO2C,CACX,CAOA,sBAAOtD,CAAgBsD,GACnB,MAAMI,EAAmB,CACrB3Z,KAAM4Z,OAAOC,kBACb3F,IAAK0F,OAAOC,kBACZ5Z,MAAO2Z,OAAOE,kBACdzF,OAAQuF,OAAOE,kBACfzD,MAAO,EACPC,OAAQ,GAEZ,IAAIyD,EAAiB,EACrB,IAAK,MAAMnD,KAAQ2C,EACfQ,IACAJ,EAAiB3Z,KAAO7a,KAAK8K,IAAI0pB,EAAiB3Z,KAAM4W,EAAK5W,MAC7D2Z,EAAiBzF,IAAM/uB,KAAK8K,IAAI0pB,EAAiBzF,IAAK0C,EAAK1C,KAC3DyF,EAAiB1Z,MAAQ9a,KAAK+K,IAAIypB,EAAiB1Z,MAAO2W,EAAK3W,OAC/D0Z,EAAiBtF,OAASlvB,KAAK+K,IAAIypB,EAAiBtF,OAAQuC,EAAKvC,QAErE,OAAsB,GAAlB0F,EACO,MAEXJ,EAAiBtD,MAAQsD,EAAiB1Z,MAAQ0Z,EAAiB3Z,KACnE2Z,EAAiBrD,OAASqD,EAAiBtF,OAASsF,EAAiBzF,IAC9D,IAAI,GAAKyF,GACpB,EAKJ,SAAS3D,GAAmBY,EAAMlY,GAC9B,IAAK,MAAM7M,KAAK4jB,GACZmB,EAAK/kB,GAAK6M,EAAO7M,EAEzB,CAIA,SAASqlB,GAAO5yB,GACZ,QAAKuxB,GAAavxB,IAGXA,IAAUA,EAAMotB,cAAc8D,IACzC,CAIA,SAASK,GAAavxB,GAGlB,OAAiB,OAAVA,GAAmC,iBAAVA,GAAyC,IAAnBA,EAAMmoB,UAAyD,mBAAhCnoB,EAAM4xB,qBAC/F,CAIA,SAASsB,GAAmBh0B,GACxB,OAAOA,aAAmB8zB,YAAc9zB,EAAQkuB,cAAcF,YAAYyC,iBAAiBzwB,GAASkH,SAAW,QACnH,CCxZA,MAAMsvB,GAUF,WAAAvb,CAAYjb,EAAS4e,GAGZ4X,GAAeC,mBAChBD,GAAeE,kBAEnB5lB,KAAK6lB,SAAW32B,EAChB8Q,KAAK8lB,UAAYhY,EACjB4X,GAAeK,oBAAoB72B,EAAS4e,GAC5C4X,GAAeC,kBAAkBK,QAAQ92B,EAC7C,CAIA,WAAIA,GACA,OAAO8Q,KAAK6lB,QAChB,CAIA,OAAAI,GACIP,GAAeQ,uBAAuBlmB,KAAK6lB,SAAU7lB,KAAK8lB,UAC9D,CAIA,0BAAOC,CAAoB72B,EAAS4e,GAC3B4X,GAAeS,oBAChBT,GAAeS,kBAAoB,IAAIlW,KAE3C,IAAIvB,EAAYgX,GAAeS,kBAAkBtgB,IAAI3W,GAChDwf,IACDA,EAAY,IAAI0D,IAChBsT,GAAeS,kBAAkBjW,IAAIhhB,EAASwf,IAElDA,EAAUtC,IAAI0B,EAClB,CAKA,6BAAOoY,CAAuBh3B,EAAS4e,GACnC,MAAMY,EAAYgX,GAAeU,qBAAqBl3B,GAGlDwf,IACAA,EAAU0B,OAAOtC,GAEZY,EAAU2D,OACXqT,GAAeS,kBAAkB/V,OAAOlhB,GACxCw2B,GAAeC,kBAAkBU,UAAUn3B,KAG/Cw2B,GAAeS,oBAAsBT,GAAeS,kBAAkB9T,OACtEqT,GAAeC,kBAAoB,KACnCD,GAAeS,kBAAoB,KAE3C,CAIA,2BAAOC,CAAqBl3B,GACxB,OAAKw2B,GAAeS,kBAGbT,GAAeS,kBAAkBtgB,IAAI3W,GAFjC,IAGf,CAIA,sBAAO02B,GACHF,GAAeC,kBAAoB,IAAI,EAAOhlB,OAAO+kB,gBAAe1O,IAChE,IAAK,MAAM9gB,KAAS8gB,EAAS,CACzB,MAAMtI,EAAYgX,GAAeU,qBAAqBlwB,EAAMsK,QAC5D,GAAIkO,EACA,IAAK,MAAMZ,KAAYY,EACnBZ,EAAS5X,EAGrB,IAER,EAKJwvB,GAAeC,kBAAoB,KAKnCD,GAAeS,kBAAoB,KACnC,YChHe,SAASG,GAAiBC,EAAI30B,GACrC20B,aAAcC,sBACdD,EAAGv2B,MAAQ4B,GAEf20B,EAAGE,UAAY70B,CACnB,CCNe,SAAS80B,GAAOC,GAC3B,OAAO32B,GAASA,EAAQ22B,CAC5B,CCFe,SAAStjB,GAAQ1B,GAC5B,IAAIzO,EAAQ,EACZ,KAAOyO,EAAKilB,iBACRjlB,EAAOA,EAAKilB,gBACZ1zB,IAEJ,OAAOA,CACX,CCNe,SAAS2zB,GAASC,EAAe5zB,EAAO6zB,GACnDD,EAAclvB,aAAamvB,EAAcD,EAAcpvB,WAAWxE,IAAU,KAChF,CCLe,SAAS8zB,GAAUhwB,GAC9B,OAAOA,GAAOA,EAAImhB,WAAakF,KAAK4J,YACxC,CCKe,SAASC,GAAUh4B,GAC9B,QAAKA,IAGD4xB,GAAO5xB,GACAg4B,GAAUh4B,EAAQ43B,iBAEzB53B,EAAQi2B,kBACEj2B,EAAQi2B,iBAAuB,OAGjD,CCkFO,SAASgC,IAAmB,QAAEj4B,EAAO,OAAEsR,EAAM,UAAE4mB,EAAS,QAAEC,EAAO,cAAEC,EAAa,qBAAEC,IAGjF,GAAW/mB,KACXA,EAASA,KAIT,GAAW6mB,KACXA,EAAUA,KAEd,MAAMvD,EAA4B9C,GAAsB9xB,GAClDs4B,EAqDV,SAAoCD,GAChCA,EAAuB53B,OAAO83B,OAAO,CAAE7H,IAAK,EAAGG,OAAQ,EAAGrU,KAAM,EAAGC,MAAO,GAAK4b,GAC/E,MAAMG,EAAe,IAAI,GAAK,EAAO/mB,QAKrC,OAJA+mB,EAAa9H,KAAO2H,EAAqB3H,IACzC8H,EAAa1F,QAAUuF,EAAqB3H,IAC5C8H,EAAa3H,QAAUwH,EAAqBxH,OAC5C2H,EAAa1F,QAAUuF,EAAqBxH,OACrC2H,CACX,CA7DoCC,CAA2BJ,GACrDK,EAAc,IAAI,GAAK14B,GACvB24B,EAAoBC,GAAmCtnB,EAAQgnB,GACrE,IAAIO,EAQJ,IAAKF,IAAsBL,EAAwBpF,gBAAgByF,GAC/D,OAAO,KAGX,MAAMG,EAAkB,CACpBC,WAAYJ,EACZD,cACA9D,4BACA4D,aAAcF,GAGlB,GAAKH,GAAYC,EAGZ,CACD,GAAID,EAAS,CACT,MAAMa,EAAqBJ,GAAmCT,EAASG,GACnEU,IACAF,EAAgBG,YAAcD,EAGtC,CAGAH,EA+BR,SAAyBX,EAAWn4B,GAChC,MAAM,YAAE24B,GAAgB34B,EAElBm5B,EAAkBR,EAAYnF,UAC9B4F,EAAoBjB,EACrB9nB,KAAIgpB,GAAuB,IAAIC,GAAeD,EAAqBr5B,KAEnE0H,QAAOP,KAAcA,EAASoM,OACnC,IAAIgmB,EAAe,EACfT,EAAe,KACnB,IAAK,MAAM3xB,KAAYiyB,EAAmB,CACtC,MAAM,wBAAEI,EAAuB,yBAAEC,GAA6BtyB,EAG9D,GAAIqyB,IAA4BL,EAK5B,OAAOhyB,EAIX,MAAMuyB,EAAYD,GAA4B,EAAID,GAA2B,EAMzEE,EAAYH,IACZA,EAAeG,EACfZ,EAAe3xB,EAEvB,CAIA,OAAO2xB,CACX,CArEuBa,CAAgBxB,EAAWY,EAC9C,MAbID,EAAe,IAAIQ,GAAenB,EAAU,GAAIY,GAcpD,OAAOD,CACX,CAKA,SAASD,GAAmC1d,EAAQsd,GAChD,MAAMmB,EAAoB,IAAI,GAAKze,GAAQsY,aAC3C,OAAKmG,EAGEA,EAAkBzG,gBAAgBsF,GAF9B,IAGf,CA+DA,MAAMa,GAaF,WAAApe,CAAYme,EAAqBr5B,GAC7B,MAAM65B,EAA4BR,EAAoBr5B,EAAQg5B,WAAYh5B,EAAQ24B,YAAa34B,EAAQy4B,aAAcz4B,EAAQk5B,aAE7H,IAAKW,EACD,OAEJ,MAAM,KAAEpd,EAAI,IAAEkU,EAAG,KAAEpd,EAAI,OAAEumB,GAAWD,EACpC9oB,KAAKwC,KAAOA,EACZxC,KAAK+oB,OAASA,EACd/oB,KAAKgpB,gCAAkC,CAAEtd,OAAMkU,OAC/C5f,KAAK0e,SAAWzvB,CACpB,CAKA,QAAIyc,GACA,OAAO1L,KAAKipB,cAAcvd,IAC9B,CAKA,OAAIkU,GACA,OAAO5f,KAAKipB,cAAcrJ,GAC9B,CAIA,2BAAI6I,GACA,MAAMN,EAAcnoB,KAAK0e,SAASyJ,YAClC,OAAIA,EACOA,EAAY3F,oBAAoBxiB,KAAKkpB,OAEzC,CACX,CAIA,4BAAIR,GAEA,OADqB1oB,KAAK0e,SAASgJ,aACflF,oBAAoBxiB,KAAKkpB,MACjD,CAKA,SAAIA,GACA,OAAIlpB,KAAKmpB,cAGTnpB,KAAKmpB,YAAcnpB,KAAK0e,SAASkJ,YAAY3F,QAAQC,OAAOliB,KAAKgpB,gCAAgCtd,KAAM1L,KAAKgpB,gCAAgCpJ,MAFjI5f,KAAKmpB,WAIpB,CAIA,iBAAIF,GACA,OAAIjpB,KAAKopB,sBAGTppB,KAAKopB,oBAAsBppB,KAAKkpB,MAAMzF,kBAF3BzjB,KAAKopB,mBAIpB,EC3SW,SAASryB,GAAO4K,GAC3B,MAAMP,EAASO,EAAK8d,WAChBre,GACAA,EAAOzJ,YAAYgK,EAE3B,CCkMA,SAAS0nB,IAAuB,OAAE1oB,EAAM,KAAE2hB,EAAI,WAAEgH,EAAU,YAAEC,EAAW,eAAEC,IACrE,MAAMC,EAAwBnH,EAAKL,QAAQE,OAAO,EAAGqH,EAAezJ,QAC9D2J,EAAsBpH,EAAKL,QAAQE,OAAO,GAAIqH,EAAe5J,KAC7D8H,EAAe,IAAI,GAAK/mB,GAAQ2jB,8BAEhCqF,EAAmBL,GAAcC,EACjCK,EAFQ,CAACF,EAAqBD,GAEA1U,OAAMuN,GAAQoF,EAAanE,SAASjB,KACxE,IAAI,QAAEoB,EAAO,QAAEC,GAAYhjB,EAC3B,MAAMkpB,EAAiBnG,EACjBoG,EAAiBnG,EACnBgG,EACAhG,GAAY+D,EAAa9H,IAAM0C,EAAK1C,IAAO4J,EAAe5J,IAEpDgK,IACFG,GAAQL,EAAqBhC,GAC7B/D,GAAW+D,EAAa9H,IAAM0C,EAAK1C,IAAM4J,EAAe5J,IAEnDoK,GAAQP,EAAuB/B,KAEhC/D,GADA2F,EACWhH,EAAK1C,IAAM8H,EAAa9H,IAAM4J,EAAe5J,IAG7C0C,EAAKvC,OAAS2H,EAAa3H,OAASyJ,EAAezJ,SAIrE6J,IAGGK,GAAS3H,EAAMoF,GACfhE,GAAWgE,EAAahc,KAAO4W,EAAK5W,KAAO8d,EAAe9d,KAErDwe,GAAU5H,EAAMoF,KACrBhE,GAAWpB,EAAK3W,MAAQ+b,EAAa/b,MAAQ6d,EAAe7d,QAGhE+X,GAAWmG,GAAkBlG,IAAYmG,GACzCnpB,EAAOwpB,SAASzG,EAASC,EAEjC,CAkBA,SAASyG,IAA0B,OAAEhpB,EAAM,QAAEipB,EAAO,WAAEf,EAAU,YAAEC,EAAW,eAAEe,EAAiB,EAAC,eAAEC,IAC/F,MAAMC,EAAeC,GAAUrpB,GACzBuoB,EAAmBL,GAAcC,EACvC,IAAInG,EAAY6E,EAAYyC,EAC5B,MAAMrD,EAAUkD,GAAkBC,EAAar7B,SAAS+xB,KACxD,KAAO9f,GAAUimB,GACbY,EAAaoC,IACbjH,EAAa,IAAI,GAAKhiB,GAAQkjB,8BAC9BoG,EAAqBtH,EAAWG,SAAS0E,GACrC0B,EACAvoB,EAAOgjB,WAAchB,EAAWxD,IAAMqI,EAAWrI,IAAO0K,EAElDI,IACFX,GAAQ9B,EAAY7E,GACpBhiB,EAAOgjB,WAAahB,EAAWxD,IAAMqI,EAAWrI,IAAM0K,EAEjDN,GAAQ/B,EAAY7E,KAErBhiB,EAAOgjB,WADPkF,EACoBrB,EAAWrI,IAAMwD,EAAWxD,IAAM0K,EAGlCrC,EAAWlI,OAASqD,EAAWrD,OAASuK,IAInEI,IACGT,GAAShC,EAAY7E,GACrBhiB,EAAO+iB,YAAcf,EAAW1X,KAAOuc,EAAWvc,KAAO4e,EAEpDJ,GAAUjC,EAAY7E,KAC3BhiB,EAAO+iB,YAAc8D,EAAWtc,MAAQyX,EAAWzX,MAAQ2e,IAGnElpB,EAASA,EAAOqe,UAExB,CAIA,SAASuK,GAAQW,EAAWC,GACxB,OAAOD,EAAU5K,OAAS6K,EAAW7K,MACzC,CAIA,SAASgK,GAAQY,EAAWC,GACxB,OAAOD,EAAU/K,IAAMgL,EAAWhL,GACtC,CAIA,SAASqK,GAASU,EAAWC,GACzB,OAAOD,EAAUjf,KAAOkf,EAAWlf,IACvC,CAIA,SAASwe,GAAUS,EAAWC,GAC1B,OAAOD,EAAUhf,MAAQif,EAAWjf,KACxC,CAIA,SAAS8e,GAAUI,GACf,OAAI9J,GAAQ8J,GACDA,EAAezF,eAAehI,cAAcF,YAG5C2N,EAAezN,cAAcF,WAE5C,CAIA,SAAS4N,GAAiBD,GACtB,GAAI9J,GAAQ8J,GAAiB,CACzB,IAAIzpB,EAASypB,EAAe/H,wBAK5B,OAHIhC,GAAO1f,KACPA,EAASA,EAAOqe,YAEbre,CACX,CAEI,OAAOypB,EAAepL,UAE9B,CAQA,SAASsL,GAAwBvqB,EAAQwqB,GACrC,MAAMC,EAAeR,GAAUjqB,GACzB8hB,EAAO,IAAI,GAAK9hB,GACtB,GAAIyqB,IAAiBD,EACjB,OAAO1I,EAEN,CACD,IAAI4I,EAAgBD,EACpB,KAAOC,GAAiBF,GAAgB,CACpC,MAAMG,EAAQD,EAAcE,aACtBC,EAAY,IAAI,GAAKF,GAAO7G,8BAClChC,EAAKH,OAAOkJ,EAAU3f,KAAM2f,EAAUzL,KACtCsL,EAAgBA,EAAc9pB,MAClC,CACJ,CACA,OAAOkhB,CACX,CCpXA,MAAMgJ,GAAuB,CACzBC,KAAM,IACNC,IAAK,IACLC,IAAK,IACLC,MAAO,KAELC,GAA0B,CAC5BJ,KAAM,QACNE,IAAK,OACLC,MAAO,UAELE,GAAmB,CACrB,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,EAAG,IACH,GAAI,UACJ,GAAI,aAeKC,GAA2BC,KAClCC,GAA+Bp8B,OAAOq8B,YAC5Br8B,OAAOqnB,QAAQ6U,IAAUvsB,KAAI,EAAEkD,EAAMypB,MACjD,IAAIC,EAOJ,OALIA,EADAD,KAAQL,GACQA,GAAiBK,GAGjBzpB,EAAK9P,OAAO,GAAGuM,cAAgBuD,EAAKhK,MAAM,GAEvD,CAACyzB,EAAMC,EAAc,KAUzB,SAAS,GAAQvzB,GACpB,IAAIwzB,EACJ,GAAkB,iBAAPxzB,GAEP,GADAwzB,EAAUN,GAASlzB,EAAI6N,gBAClB2lB,EAOD,MAAM,IAAI,EAAc,uBAAwB,KAAM,CAAExzB,aAI5DwzB,EAAUxzB,EAAIwzB,SACTxzB,EAAIyzB,OAASP,GAASJ,IAAM,IAC5B9yB,EAAI0zB,QAAUR,GAASN,KAAO,IAC9B5yB,EAAI2zB,SAAWT,GAASH,MAAQ,IAChC/yB,EAAI4zB,QAAUV,GAASL,IAAM,GAEtC,OAAOW,CACX,CAuBO,SAAS,GAAeK,GAI3B,MAHwB,iBAAbA,IACPA,EAmJR,SAA4BA,GACxB,OAAOA,EAAUntB,MAAM,KAAKC,KAAI3G,GAAOA,EAAI8zB,QAC/C,CArJoBC,CAAmBF,IAE5BA,EACFltB,KAAI3G,GAAsB,iBAAPA,EAqE5B,SAAuBA,GAEnB,GAAIA,EAAIg0B,SAAS,KACb,OAAO,GAAQh0B,EAAIH,MAAM,GAAI,IAEjC,MAAMyzB,EAAO,GAAQtzB,GACrB,OAAQ,SAAa,UAAcszB,GAAQJ,GAASN,KAAOM,GAASL,IAAMS,CAC9E,CA5E+CW,CAAcj0B,GAAOA,IAC3Dk0B,QAAO,CAACl0B,EAAKm0B,IAAQA,EAAMn0B,GAAK,EACzC,CASO,SAASo0B,GAAoBP,EAAWQ,GAC3C,IAAIC,EAAgB,GAAeT,GACnC,MAAM/lB,EAAQumB,EAA0B,QAAdA,EAAsB,SAAa,QAU7D,OAT0Br9B,OAAOqnB,QAAQvQ,EAAQ6kB,GAAuBK,IACpCkB,QAAO,CAACK,GAAY1qB,EAAM2qB,MAErDF,EAAgBpB,GAASrpB,KAC1ByqB,IAAkBpB,GAASrpB,GAC3B0qB,GAAaC,GAEVD,IACR,KACiBD,EAAgBlB,GAAakB,GAAiB,GACtE,CAwBO,SAAS,GAAkCd,EAASiB,GACvD,MAAMC,EAA4C,QAA7BD,EACrB,OAAQjB,GACJ,KAAKN,GAASyB,UACV,OAAOD,EAAe,OAAS,QACnC,KAAKxB,GAAS0B,WACV,OAAOF,EAAe,QAAU,OACpC,KAAKxB,GAAS2B,QACV,MAAO,KACX,KAAK3B,GAAS4B,UACV,MAAO,OAEnB,CAgCA,SAAS3B,KACL,MAAMD,EAAW,CACb6B,OAAQ,GACRC,SAAU,GACVC,IAAK,GACLC,KAAM,GACNP,UAAW,GACXE,QAAS,GACTD,WAAY,GACZE,UAAW,GACXK,UAAW,EACX1d,OAAQ,GACR2d,MAAO,GACPC,MAAO,GACPC,IAAK,GACLC,IAAK,EAGL3C,KAAM,QACNG,MAAO,QACPD,IAAK,QACLD,IAAK,SAGT,IAAK,IAAIS,EAAO,GAAIA,GAAQ,GAAIA,IAAQ,CAEpCJ,EADe35B,OAAOC,aAAa85B,GACnBzlB,eAAiBylB,CACrC,CAEA,IAAK,IAAIA,EAAO,GAAIA,GAAQ,GAAIA,IAC5BJ,EAASI,EAAO,IAAMA,EAG1B,IAAK,IAAIA,EAAO,IAAKA,GAAQ,IAAKA,IAC9BJ,EAAS,KAAOI,EAAO,MAAQA,EAgBnC,OAbAt8B,OAAO83B,OAAOoE,EAAU,CACpB,IAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,IAAK,IACL,IAAK,MAEFA,CACX,CCxPe,SAASsC,GAAQv8B,GAC5B,OAAOoC,MAAM+T,QAAQnW,GAAQA,EAAO,CAACA,EACzC,CCaA,SAPA,SAA0BgiB,EAAQjb,EAAK3I,SACtBmQ,IAAVnQ,IAAwB,GAAG4jB,EAAOjb,GAAM3I,SAC9BmQ,IAAVnQ,KAAyB2I,KAAOib,KACnC,GAAgBA,EAAQjb,EAAK3I,EAEjC,ECFA,SCRA,SAAuBo+B,GACrB,OAAO,SAASxa,EAAQ+D,EAAUqC,GAMhC,IALA,IAAI9mB,GAAS,EACT+hB,EAAWtlB,OAAOikB,GAClBiE,EAAQmC,EAASpG,GACjBnjB,EAASonB,EAAMpnB,OAEZA,KAAU,CACf,IAAIkI,EAAMkf,EAAMuW,EAAY39B,IAAWyC,GACvC,IAA+C,IAA3CykB,EAAS1C,EAAStc,GAAMA,EAAKsc,GAC/B,KAEJ,CACA,OAAOrB,CACT,CACF,CDTc,GEmBd,SAJA,SAA2B5jB,GACzB,OAAO,GAAaA,IAAU,GAAYA,EAC5C,ECVA,SAZA,SAAiB4jB,EAAQjb,GACvB,IAAY,gBAARA,GAAgD,mBAAhBib,EAAOjb,KAIhC,aAAPA,EAIJ,OAAOib,EAAOjb,EAChB,ECaA,SAJA,SAAuB3I,GACrB,OAAO,GAAWA,EAAO,GAAOA,GAClC,ECgEA,SA9DA,SAAuB4jB,EAAQxJ,EAAQzR,EAAK01B,EAAUC,EAAWxW,EAAYjL,GAC3E,IAAI+K,EAAW,GAAQhE,EAAQjb,GAC3B41B,EAAW,GAAQnkB,EAAQzR,GAC3BsjB,EAAUpP,EAAMhH,IAAI0oB,GAExB,GAAItS,EACF,GAAiBrI,EAAQjb,EAAKsjB,OADhC,CAIA,IAAIjK,EAAW8F,EACXA,EAAWF,EAAU2W,EAAW51B,EAAM,GAAKib,EAAQxJ,EAAQyC,QAC3D1M,EAEAquB,OAAwBruB,IAAb6R,EAEf,GAAIwc,EAAU,CACZ,IAAIxV,EAAQ,GAAQuV,GAChBrV,GAAUF,GAAS,GAASuV,GAC5BE,GAAWzV,IAAUE,GAAU,GAAaqV,GAEhDvc,EAAWuc,EACPvV,GAASE,GAAUuV,EACjB,GAAQ7W,GACV5F,EAAW4F,EAEJ,GAAkBA,GACzB5F,EAAW,GAAU4F,GAEdsB,GACPsV,GAAW,EACXxc,EAAW,GAAYuc,GAAU,IAE1BE,GACPD,GAAW,EACXxc,EAAW,GAAgBuc,GAAU,IAGrCvc,EAAW,GAGN,GAAcuc,IAAa,GAAYA,IAC9Cvc,EAAW4F,EACP,GAAYA,GACd5F,EAAW,GAAc4F,GAEjB,EAASA,KAAa,GAAWA,KACzC5F,EAAW,GAAgBuc,KAI7BC,GAAW,CAEf,CACIA,IAEF3hB,EAAMqD,IAAIqe,EAAUvc,GACpBsc,EAAUtc,EAAUuc,EAAUF,EAAUvW,EAAYjL,GACpDA,EAAc,OAAE0hB,IAElB,GAAiB3a,EAAQjb,EAAKqZ,EAnD9B,CAoDF,EClDA,SAtBA,SAAS0c,EAAU9a,EAAQxJ,EAAQikB,EAAUvW,EAAYjL,GACnD+G,IAAWxJ,GAGf,GAAQA,GAAQ,SAASmkB,EAAU51B,GAEjC,GADAkU,IAAUA,EAAQ,IAAI,IAClB,EAAS0hB,GACX,GAAc3a,EAAQxJ,EAAQzR,EAAK01B,EAAUK,EAAW5W,EAAYjL,OAEjE,CACH,IAAImF,EAAW8F,EACXA,EAAW,GAAQlE,EAAQjb,GAAM41B,EAAW51B,EAAM,GAAKib,EAAQxJ,EAAQyC,QACvE1M,OAEaA,IAAb6R,IACFA,EAAWuc,GAEb,GAAiB3a,EAAQjb,EAAKqZ,EAChC,CACF,GAAG,GACL,ECnBA,SAJA,SAAkBhiB,GAChB,OAAOA,CACT,ECEA,SAVA,SAAeomB,EAAMuY,EAASp+B,GAC5B,OAAQA,EAAKE,QACX,KAAK,EAAG,OAAO2lB,EAAK/gB,KAAKs5B,GACzB,KAAK,EAAG,OAAOvY,EAAK/gB,KAAKs5B,EAASp+B,EAAK,IACvC,KAAK,EAAG,OAAO6lB,EAAK/gB,KAAKs5B,EAASp+B,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAO6lB,EAAK/gB,KAAKs5B,EAASp+B,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAO6lB,EAAKvf,MAAM83B,EAASp+B,EAC7B,ECfA,IAAIq+B,GAAY/9B,KAAK+K,IAgCrB,SArBA,SAAkBwa,EAAMyY,EAAOxY,GAE7B,OADAwY,EAAQD,QAAoBzuB,IAAV0uB,EAAuBzY,EAAK3lB,OAAS,EAAKo+B,EAAO,GAC5D,WAML,IALA,IAAIt+B,EAAO0nB,UACP/kB,GAAS,EACTzC,EAASm+B,GAAUr+B,EAAKE,OAASo+B,EAAO,GACxC/X,EAAQ9iB,MAAMvD,KAETyC,EAAQzC,GACfqmB,EAAM5jB,GAAS3C,EAAKs+B,EAAQ37B,GAE9BA,GAAS,EAET,IADA,IAAI47B,EAAY96B,MAAM66B,EAAQ,KACrB37B,EAAQ27B,GACfC,EAAU57B,GAAS3C,EAAK2C,GAG1B,OADA47B,EAAUD,GAASxY,EAAUS,GACtB,GAAMV,EAAMpW,KAAM8uB,EAC3B,CACF,ECRA,SANA,SAAkB9+B,GAChB,OAAO,WACL,OAAOA,CACT,CACF,ECFA,SATuB,GAA4B,SAASomB,EAAMrX,GAChE,OAAO,GAAeqX,EAAM,WAAY,CACtC,cAAgB,EAChB,YAAc,EACd,MAAS,GAASrX,GAClB,UAAY,GAEhB,EAPwC,GCXxC,IAIIgwB,GAAY3hB,KAAK4hB,IA+BrB,SApBA,SAAkB5Y,GAChB,IAAI/c,EAAQ,EACR41B,EAAa,EAEjB,OAAO,WACL,IAAIC,EAAQH,KACRI,EApBO,IAoBiBD,EAAQD,GAGpC,GADAA,EAAaC,EACTC,EAAY,GACd,KAAM91B,GAzBI,IA0BR,OAAO4e,UAAU,QAGnB5e,EAAQ,EAEV,OAAO+c,EAAKvf,WAAMsJ,EAAW8X,UAC/B,CACF,ECrBA,SAFkB,GAAS,ICK3B,SAJA,SAAkB7B,EAAMyY,GACtB,OAAO,GAAY,GAASzY,EAAMyY,EAAO,IAAWzY,EAAO,GAC7D,ECeA,SAdA,SAAwBpmB,EAAOkD,EAAO0gB,GACpC,IAAK,EAASA,GACZ,OAAO,EAET,IAAI1Q,SAAchQ,EAClB,SAAY,UAARgQ,EACK,GAAY0Q,IAAW,GAAQ1gB,EAAO0gB,EAAOnjB,QACrC,UAARyS,GAAoBhQ,KAAS0gB,IAE7B,GAAGA,EAAO1gB,GAAQlD,EAG7B,ECSA,SA1BA,SAAwBo/B,GACtB,OAAO,IAAS,SAASxb,EAAQyb,GAC/B,IAAIn8B,GAAS,EACTzC,EAAS4+B,EAAQ5+B,OACjBqnB,EAAarnB,EAAS,EAAI4+B,EAAQ5+B,EAAS,QAAK0P,EAChDmvB,EAAQ7+B,EAAS,EAAI4+B,EAAQ,QAAKlvB,EAWtC,IATA2X,EAAcsX,EAAS3+B,OAAS,GAA0B,mBAAdqnB,GACvCrnB,IAAUqnB,QACX3X,EAEAmvB,GAAS,GAAeD,EAAQ,GAAIA,EAAQ,GAAIC,KAClDxX,EAAarnB,EAAS,OAAI0P,EAAY2X,EACtCrnB,EAAS,GAEXmjB,EAASjkB,OAAOikB,KACP1gB,EAAQzC,GAAQ,CACvB,IAAI2Z,EAASilB,EAAQn8B,GACjBkX,GACFglB,EAASxb,EAAQxJ,EAAQlX,EAAO4kB,EAEpC,CACA,OAAOlE,CACT,GACF,ECAA,IAAI2b,GAAQ,IAAe,SAAS3b,EAAQxJ,EAAQikB,GAClD,GAAUza,EAAQxJ,EAAQikB,EAC5B,IAEA,YCyGO,SAASmB,GAAWC,EAAU7iB,EAAS8iB,EAAW,EAAGC,GACxD,GAAwB,iBAAbD,EAQP,MAAM,IAAI,EAAc,4CAA6C,KAAM,CAAEA,aAEjF,MAAME,EAAyBD,GAAgB,EAAOhvB,OAAOkvB,sBACvDC,EAmDV,SAA8BH,GAC1B,OAAOhgC,OAAOC,KAAK+/B,GAAcl/B,MACrC,CArD8Bs/B,CAAqBH,GACrB,IAAtBE,IAGAL,EAAW9/B,OAAOC,KAAKggC,GAAwB,IAEnD,MAAMI,EAAYpjB,EAAQ5d,IAAM4d,EAAQ7N,OACxC,GAA0B,IAAtB+wB,IAyCR,SAAwBL,EAAUO,EAAWL,GACzC,QAASA,EAAaF,MAAeE,EAAaF,GAAU35B,WAAWk6B,EAC3E,CA3CoCC,CAAeR,EAAUO,EAAWJ,GAChE,OAAiB,IAAbF,EAEO9iB,EAAQsjB,OAEZtjB,EAAQ7N,OAEnB,MAAMjJ,EAAa85B,EAAuBH,GAAU35B,WAC9Cq6B,EAAgBP,EAAuBH,GAAUU,eAAiB,CAACpyB,GAAW,IAANA,EAAU,EAAI,GACtFqyB,EAAct6B,EAAWk6B,GAC/B,GAA2B,iBAAhBI,EACP,OAAOA,EAIX,OAAOA,EAFiB9K,OAAO6K,EAAcT,IAGjD,CA1KK,EAAO/uB,OAAOkvB,wBACf,EAAOlvB,OAAOkvB,sBAAwB,CAAC,GCL3C,MAAMQ,GAAqB,CACvB,KAAM,MACN,KAAM,MACN,KAAM,MAAO,MACb,KAAM,MACN,KAAM,MACN,KAAM,OAOH,SAASC,GAAqBC,GACjC,OAAOF,GAAmBG,SAASD,GAAgB,MAAQ,KAC/D,CCLe,MAAME,GAajB,WAAAtmB,EAAY,WAAEumB,EAAa,KAAI,gBAAEC,EAAe,aAAEhB,GAAiB,CAAC,GAChE3vB,KAAK0wB,WAAaA,EAClB1wB,KAAK2wB,gBAAkBA,GAAmB3wB,KAAK0wB,WAC/C1wB,KAAK4wB,oBAAsBN,GAAqBtwB,KAAK0wB,YACrD1wB,KAAKotB,yBAA2BkD,GAAqBtwB,KAAK2wB,iBAC1D3wB,KAAK2vB,aFmKN,SAA4BA,GAC/B,OAAO37B,MAAM+T,QAAQ4nB,GACjBA,EAAa9C,QAAO,CAACgE,EAAKT,IAAgB,GAAMS,EAAKT,KACrDT,CACR,CEvK4BmB,CAAmBnB,GACvC3vB,KAAKvC,EAAI,CAACmP,EAAS3D,IAAWjJ,KAAK+wB,GAAGnkB,EAAS3D,EACnD,CASA,YAAIwmB,GAWA,OAHA3iB,QAAQC,KAAK,iMAGN/M,KAAK0wB,UAChB,CAIA,EAAAK,CAAGnkB,EAAS3D,EAAS,IACjBA,EAASklB,GAAQllB,GACM,iBAAZ2D,IACPA,EAAU,CAAE7N,OAAQ6N,IAExB,MACM8iB,IADkB9iB,EAAQsjB,OACCjnB,EAAO,GAAK,EAE7C,OAMR,SAA2BlK,EAAQkK,GAC/B,OAAOlK,EAAO3K,QAAQ,WAAW,CAAC+K,EAAOjM,IAC7BA,EAAQ+V,EAAOxY,OAAUwY,EAAO/V,GAASiM,GAEzD,CAVe6xB,CADkBxB,GAAWxvB,KAAK0wB,WAAY9jB,EAAS8iB,EAAU1vB,KAAK2vB,cAClC1mB,EAC/C,EC7CW,MAAMgoB,WAAmCtjB,KACpD,WAAAxD,CAAY+mB,EAAwB,CAAC,EAAGjiC,EAAU,CAAC,GAC/C8c,QACA,MAAMolB,EAAkB/b,GAAW8b,GAWnC,GAVKC,IACDliC,EAAUiiC,GAEdlxB,KAAKoxB,OAAS,GACdpxB,KAAKqxB,SAAW,IAAIphB,IACpBjQ,KAAKsxB,YAAcriC,EAAQsiC,YAAc,KACzCvxB,KAAKwxB,6BAA+B,IAAIC,QACxCzxB,KAAK0xB,6BAA+B,IAAID,QACxCzxB,KAAK2xB,4BAA8B,GAE/BR,EACA,IAAK,MAAMhgC,KAAQ+/B,EACflxB,KAAKoxB,OAAOriC,KAAKoC,GACjB6O,KAAKqxB,SAASnhB,IAAIlQ,KAAK4xB,uBAAuBzgC,GAAOA,EAGjE,CAIA,UAAIV,GACA,OAAOuP,KAAKoxB,OAAO3gC,MACvB,CAIA,SAAIohC,GACA,OAAO7xB,KAAKoxB,OAAO,IAAM,IAC7B,CAIA,QAAIU,GACA,OAAO9xB,KAAKoxB,OAAOpxB,KAAKvP,OAAS,IAAM,IAC3C,CAYA,GAAA2b,CAAIjb,EAAM+B,GACN,OAAO8M,KAAK+xB,QAAQ,CAAC5gC,GAAO+B,EAChC,CAWA,OAAA6+B,CAAQC,EAAO9+B,GACX,QAAciN,IAAVjN,EACAA,EAAQ8M,KAAKoxB,OAAO3gC,YAEnB,GAAIyC,EAAQ8M,KAAKoxB,OAAO3gC,QAAUyC,EAAQ,EAO3C,MAAM,IAAI,EAAc,oCAAqC8M,MAEjE,IAAI+Z,EAAS,EACb,IAAK,MAAM5oB,KAAQ6gC,EAAO,CACtB,MAAMC,EAASjyB,KAAK4xB,uBAAuBzgC,GACrC+gC,EAAmBh/B,EAAQ6mB,EACjC/Z,KAAKoxB,OAAOx3B,OAAOs4B,EAAkB,EAAG/gC,GACxC6O,KAAKqxB,SAASnhB,IAAI+hB,EAAQ9gC,GAC1B6O,KAAK+O,KAAK,MAAO5d,EAAM+gC,GACvBnY,GACJ,CAMA,OALA/Z,KAAK+O,KAAK,SAAU,CAChBojB,MAAOH,EACPI,QAAS,GACTl/B,UAEG8M,IACX,CAOA,GAAA6F,CAAIwsB,GACA,IAAIlhC,EACJ,GAAwB,iBAAbkhC,EACPlhC,EAAO6O,KAAKqxB,SAASxrB,IAAIwsB,OAExB,IAAwB,iBAAbA,EASZ,MAAM,IAAI,EAAc,6BAA8BryB,MARtD7O,EAAO6O,KAAKoxB,OAAOiB,EASvB,CACA,OAAOlhC,GAAQ,IACnB,CAOA,GAAAgb,CAAImmB,GACA,GAAuB,iBAAZA,EACP,OAAOtyB,KAAKqxB,SAASllB,IAAImmB,GAExB,CACD,MACMtjC,EAAKsjC,EADQtyB,KAAKsxB,aAExB,OAAOtiC,GAAMgR,KAAKqxB,SAASllB,IAAInd,EACnC,CACJ,CAQA,QAAAujC,CAASD,GACL,IAAInhC,EAOJ,OALIA,EADmB,iBAAZmhC,EACAtyB,KAAKqxB,SAASxrB,IAAIysB,GAGlBA,EAEJnhC,EAAO6O,KAAKoxB,OAAO/tB,QAAQlS,IAAS,CAC/C,CASA,MAAA4F,CAAOy7B,GACH,MAAOrhC,EAAM+B,GAAS8M,KAAKyyB,QAAQD,GAMnC,OALAxyB,KAAK+O,KAAK,SAAU,CAChBojB,MAAO,GACPC,QAAS,CAACjhC,GACV+B,UAEG/B,CACX,CASA,GAAAmO,CAAIwO,EAAU4kB,GACV,OAAO1yB,KAAKoxB,OAAO9xB,IAAIwO,EAAU4kB,EACrC,CAMA,OAAA7iC,CAAQie,EAAU4kB,GACd1yB,KAAKoxB,OAAOvhC,QAAQie,EAAU4kB,EAClC,CAQA,IAAAC,CAAK7kB,EAAU4kB,GACX,OAAO1yB,KAAKoxB,OAAOuB,KAAK7kB,EAAU4kB,EACtC,CAQA,MAAA/7B,CAAOmX,EAAU4kB,GACb,OAAO1yB,KAAKoxB,OAAOz6B,OAAOmX,EAAU4kB,EACxC,CAQA,KAAAriB,GACQrQ,KAAK4yB,oBACL5yB,KAAKkO,cAAclO,KAAK4yB,mBACxB5yB,KAAK4yB,kBAAoB,MAE7B,MAAMC,EAAe7+B,MAAM8N,KAAK9B,KAAKoxB,QACrC,KAAOpxB,KAAKvP,QACRuP,KAAKyyB,QAAQ,GAEjBzyB,KAAK+O,KAAK,SAAU,CAChBojB,MAAO,GACPC,QAASS,EACT3/B,MAAO,GAEf,CAgHA,MAAAwf,CAAOogB,GACH,GAAI9yB,KAAK4yB,kBAML,MAAM,IAAI,EAAc,4BAA6B5yB,MAGzD,OADAA,KAAK4yB,kBAAoBE,EAClB,CACHC,GAAIC,IACAhzB,KAAKizB,qBAAoB9hC,GAAQ,IAAI6hC,EAAM7hC,IAAM,EAErD+hC,MAAOC,IAC8B,mBAAtBA,EACPnzB,KAAKizB,oBAAoBE,GAGzBnzB,KAAKizB,qBAAoB9hC,GAAQA,EAAKgiC,IAC1C,EAGZ,CAMA,mBAAAF,CAAoB3kC,GAChB,MAAMwkC,EAAqB9yB,KAAK4yB,kBAE1BQ,EAAU,CAACvf,EAAKwf,EAAcngC,KAChC,MAAMogC,EAAwBR,EAAmBF,mBAAqB5yB,KAChEuzB,EAAoBT,EAAmBpB,6BAA6B7rB,IAAIwtB,GAK9E,GAAIC,GAAyBC,EACzBvzB,KAAKwxB,6BAA6BthB,IAAImjB,EAAcE,GACpDvzB,KAAK0xB,6BAA6BxhB,IAAIqjB,EAAmBF,OAExD,CACD,MAAMliC,EAAO7C,EAAQ+kC,GAErB,IAAKliC,EAED,YADA6O,KAAK2xB,4BAA4B5iC,KAAKmE,GAK1C,IAAIsgC,EAAatgC,EAkBjB,IAAK,MAAMugC,KAAWzzB,KAAK2xB,4BACnBz+B,EAAQugC,GACRD,IAgBR,IAAK,MAAMC,KAAWX,EAAmBnB,4BACjC6B,GAAcC,GACdD,IAGRxzB,KAAKwxB,6BAA6BthB,IAAImjB,EAAcliC,GACpD6O,KAAK0xB,6BAA6BxhB,IAAI/e,EAAMkiC,GAC5CrzB,KAAKoM,IAAIjb,EAAMqiC,GAGf,IAAK,IAAI5iC,EAAI,EAAGA,EAAIkiC,EAAmBnB,4BAA4BlhC,OAAQG,IACnE4iC,GAAcV,EAAmBnB,4BAA4B/gC,IAC7DkiC,EAAmBnB,4BAA4B/gC,IAG3D,GAGJ,IAAK,MAAMyiC,KAAgBP,EACvBM,EAAQ,EAAMC,EAAcP,EAAmBP,SAASc,IAG5DrzB,KAAK+N,SAAS+kB,EAAoB,MAAOM,GAEzCpzB,KAAK+N,SAAS+kB,EAAoB,UAAU,CAACjf,EAAKwf,EAAcngC,KAC5D,MAAM/B,EAAO6O,KAAKwxB,6BAA6B3rB,IAAIwtB,GAC/CliC,GACA6O,KAAKjJ,OAAO5F,GAIhB6O,KAAK2xB,4BAA8B3xB,KAAK2xB,4BAA4B9E,QAAO,CAACn8B,EAAQ+iC,KAC5EvgC,EAAQugC,GACR/iC,EAAO3B,KAAK0kC,EAAU,GAEtBvgC,EAAQugC,GACR/iC,EAAO3B,KAAK0kC,GAET/iC,IACR,GAAG,GAEd,CAQA,sBAAAkhC,CAAuBzgC,GACnB,MAAMogC,EAAavxB,KAAKsxB,YACxB,IAAIW,EACJ,GAAKV,KAAcpgC,EAAO,CAEtB,GADA8gC,EAAS9gC,EAAKogC,GACO,iBAAVU,EAMP,MAAM,IAAI,EAAc,4BAA6BjyB,MAEzD,GAAIA,KAAK6F,IAAIosB,GAMT,MAAM,IAAI,EAAc,qCAAsCjyB,KAEtE,MAEI7O,EAAKogC,GAAcU,EAASxnB,IAEhC,OAAOwnB,CACX,CAUA,OAAAQ,CAAQD,GACJ,IAAIt/B,EAAOlE,EAAImC,EACXuiC,GAAmB,EACvB,MAAMnC,EAAavxB,KAAKsxB,YAuBxB,GAtBsB,iBAAXkB,GACPxjC,EAAKwjC,EACLrhC,EAAO6O,KAAKqxB,SAASxrB,IAAI7W,GACzB0kC,GAAoBviC,EAChBA,IACA+B,EAAQ8M,KAAKoxB,OAAO/tB,QAAQlS,KAGT,iBAAXqhC,GACZt/B,EAAQs/B,EACRrhC,EAAO6O,KAAKoxB,OAAOl+B,GACnBwgC,GAAoBviC,EAChBA,IACAnC,EAAKmC,EAAKogC,MAIdpgC,EAAOqhC,EACPxjC,EAAKmC,EAAKogC,GACVr+B,EAAQ8M,KAAKoxB,OAAO/tB,QAAQlS,GAC5BuiC,GAA8B,GAAVxgC,IAAgB8M,KAAKqxB,SAASxrB,IAAI7W,IAEtD0kC,EAMA,MAAM,IAAI,EAAc,wBAAyB1zB,MAErDA,KAAKoxB,OAAOx3B,OAAO1G,EAAO,GAC1B8M,KAAKqxB,SAASjhB,OAAOphB,GACrB,MAAMqkC,EAAerzB,KAAK0xB,6BAA6B7rB,IAAI1U,GAI3D,OAHA6O,KAAK0xB,6BAA6BthB,OAAOjf,GACzC6O,KAAKwxB,6BAA6BphB,OAAOijB,GACzCrzB,KAAK+O,KAAK,SAAU5d,EAAM+B,GACnB,CAAC/B,EAAM+B,EAClB,CAIA,CAAC6S,OAAOsP,YACJ,OAAOrV,KAAKoxB,OAAOrrB,OAAOsP,WAC9B,EC3jBW,SAAS,GAAMA,GAC1B,MAAMse,EAAete,EAASue,OAC9B,OAAID,EAAaE,KACN,KAEJF,EAAa3jC,KACxB,CCSe,MAAM8jC,WAAqCtW,GAAgC9L,MAEtF,WAAAvH,GACI4B,QAMA/L,KAAK+zB,UAAY,IAAI3hB,IAMrBpS,KAAKg0B,eAAiB,IAAI5hB,IAI1BpS,KAAKi0B,aAAe,KACpBj0B,KAAKkQ,IAAI,aAAa,GACtBlQ,KAAKkQ,IAAI,iBAAkB,KAE/B,CAMA,YAAIgkB,GACA,OAAOlgC,MAAM8N,KAAK9B,KAAK+zB,UAAU9qB,SACrC,CAIA,iBAAIkrB,GACA,OAAOngC,MAAM8N,KAAK9B,KAAKg0B,eAAe/qB,SAC1C,CAaA,GAAAmD,CAAIgoB,GACA,GAAI,GAAUA,GACVp0B,KAAKq0B,YAAYD,QAGjB,GAAIE,GAAuBF,GACvBp0B,KAAKu0B,SAASH,OAEb,CACD,IAAKA,EAAcllC,QAQf,MAAM,IAAI,EAAc,wCAAyC,CAC7DslC,aAAcx0B,KACdy0B,KAAML,IAGdp0B,KAAKq0B,YAAYD,EAAcllC,QACnC,CAER,CAIA,MAAA6H,CAAOq9B,GACC,GAAUA,GACVp0B,KAAK00B,eAAeN,GAGhBE,GAAuBF,GACvBp0B,KAAK20B,YAAYP,GAIjBp0B,KAAK00B,eAAeN,EAAcllC,QAG9C,CAIA,WAAAmlC,CAAYnlC,GACR,GAAI8Q,KAAK+zB,UAAU5nB,IAAIjd,GAMnB,MAAM,IAAI,EAAc,yCAA0C8Q,MAEtEA,KAAK+N,SAAS7e,EAAS,SAAS,KAE5B,MAAM0lC,EAA+B50B,KAAKm0B,cAAcxB,MAAK8B,GA+HzE,SAAsCI,EAAaJ,GAC/C,GAAIK,GAAcD,EAAaJ,GAC3B,OAAO,EAEX,QAASA,EAAKD,aAAaL,cAAcxB,MAAK8B,GAAQK,GAAcD,EAAaJ,IACrF,CApIiFM,CAA6B7lC,EAASulC,KACvGG,EACA50B,KAAKg1B,OAAOJ,EAA6B1lC,SAGzC8Q,KAAKg1B,OAAO9lC,EAChB,GACD,CAAEyuB,YAAY,IACjB3d,KAAK+N,SAAS7e,EAAS,QAAQ,KAE3B8Q,KAAKi1B,OAAO,GACb,CAAEtX,YAAY,IACjB3d,KAAK+zB,UAAU3nB,IAAIld,EACvB,CAIA,cAAAwlC,CAAexlC,GACP8Q,KAAK+zB,UAAU5nB,IAAIjd,KACnB8Q,KAAKkO,cAAchf,GACnB8Q,KAAK+zB,UAAU3jB,OAAOlhB,IAEtBA,IAAY8Q,KAAKk1B,gBACjBl1B,KAAKi1B,OAEb,CAKA,QAAAV,CAASE,GACDA,EAAKvlC,SACL8Q,KAAKq0B,YAAYI,EAAKvlC,SAE1B8Q,KAAK+N,SAAS0mB,EAAKD,aAAc,yBAAyB,KAKlDC,EAAKD,aAAaU,eACdT,EAAKvlC,SACL8Q,KAAKg1B,OAAOP,EAAKvlC,SAIrB8Q,KAAKi1B,OACT,IAEJj1B,KAAKg0B,eAAe5nB,IAAIqoB,EAC5B,CAIA,WAAAE,CAAYF,GACJA,EAAKvlC,SACL8Q,KAAK00B,eAAeD,EAAKvlC,SAE7B8Q,KAAKkO,cAAcumB,EAAKD,cACxBx0B,KAAKg0B,eAAe5jB,OAAOqkB,EAC/B,CAMA,OAAAxO,GACIjmB,KAAKkO,gBACLlO,KAAK+zB,UAAU1jB,QACfrQ,KAAKg0B,eAAe3jB,QACpBrQ,KAAKm1B,WAAY,EACjBn1B,KAAKk1B,eAAiB,IAC1B,CAIA,MAAAF,CAAO9lC,GAEH8Q,KAAKo1B,oBACLp1B,KAAKk1B,eAAiBhmC,EACtB8Q,KAAKm1B,WAAY,CACrB,CASA,KAAAF,GAGI,GAF4Bj1B,KAAKk0B,SAASvB,MAAKzjC,GAAWA,EAAQq0B,SAASp0B,SAASkmC,iBAGhF,OAE6Br1B,KAAKm0B,cAAcxB,MAAK8B,GAE9CA,EAAKD,aAAaW,YAAcV,EAAKD,aAAaP,iBAM7Dj0B,KAAKo1B,oBACLp1B,KAAKi0B,aAAeqB,YAAW,KAE3Bt1B,KAAKk1B,eAAiB,KACtBl1B,KAAKm1B,WAAY,CAAK,GACvB,GACP,CAIA,iBAAAC,GACIG,aAAav1B,KAAKi0B,cAClBj0B,KAAKi0B,aAAe,IACxB,EAKG,SAASK,GAAuBG,GACnC,MAAO,iBAAkBA,GAAQA,EAAKD,wBAAwBV,EAClE,CACA,SAAS,GAAU9jC,GACf,OAAO,GAAWA,EACtB,CAOA,SAAS8kC,GAAcD,EAAaJ,GAGhC,QAASA,EAAKvlC,SAAWulC,EAAKvlC,QAAQq0B,SAASp0B,SAASkmC,gBAAkBR,EAAYtR,SAASkR,EAAKvlC,QACxG,CCjOe,MAAMsmC,GAIjB,WAAArrB,GACInK,KAAKy1B,UAAY,IAAKjY,KAC1B,CAIA,QAAAzP,CAASI,GAULnO,KAAKy1B,UAAU1nB,SAASI,EAAS,WAAW,CAAC0F,EAAK6hB,KAC9C11B,KAAKy1B,UAAU1mB,KAAK,YAAc,GAAQ2mB,GAAaA,EAAW,GAE1E,CAWA,GAAAxlB,CAAIsc,EAAW1e,EAAU7e,EAAU,CAAC,GAChC,MAAMk9B,EAAU,GAAeK,GACzBvhB,EAAWhc,EAAQgc,SAGzBjL,KAAKy1B,UAAU1nB,SAAS/N,KAAKy1B,UAAW,YAActJ,GAAS,CAACtY,EAAK6hB,KAC7DzmC,EAAQ0H,SAAW1H,EAAQ0H,OAAO++B,KAGtC5nB,EAAS4nB,GAAY,KAGjBA,EAAWC,iBACXD,EAAWE,kBAGX/hB,EAAIxJ,MAAM,IAGdwJ,EAAIhE,QAAS,EAAI,GAClB,CAAE5E,YACT,CAOA,KAAA4qB,CAAMH,GACF,QAAS11B,KAAKy1B,UAAU1mB,KAAK,YAAc,GAAQ2mB,GAAaA,EACpE,CAIA,aAAAxnB,CAAcC,GACVnO,KAAKy1B,UAAUvnB,cAAcC,EACjC,CAIA,OAAA8X,GACIjmB,KAAKkO,eACT,ECnGW,SAAS,GAAMtc,GAC1B,OAAIwjB,GAAWxjB,GACJ,IAAIqe,IAAIre,GCHR,SAAqBoF,GAChC,MAAMsI,EAAM,IAAI2Q,IAChB,IAAK,MAAMtX,KAAO3B,EACdsI,EAAI4Q,IAAIvX,EAAK3B,EAAI2B,IAErB,OAAO2G,CACX,CDAew2B,CAAYlkC,EAE3B,CEFe,SAASmkC,GAAYC,EAAaC,EAAa/iC,GAC1D,MAAMgjC,EAAiBF,EAAYvlC,OAC7B0lC,EAAeF,EAAYxlC,OAEjC,IAAK,IAAIG,EAAIslC,EAAiB,EAAGtlC,GAAKsC,EAAOtC,IACzColC,EAAYplC,EAAIulC,GAAgBH,EAAYplC,GAGhD,IAAK,IAAIA,EAAI,EAAGA,EAAIulC,EAAcvlC,IAC9BolC,EAAY9iC,EAAQtC,GAAKqlC,EAAYrlC,EAE7C,CCtBe,SAASwlC,GAAMhgB,EAAMigB,GAChC,IAAIC,EACJ,SAASC,KAAWhmC,GAChBgmC,EAAQC,SACRF,EAAQhB,YAAW,IAAMlf,KAAQ7lB,IAAO8lC,EAC5C,CAIA,OAHAE,EAAQC,OAAS,KACbjB,aAAae,EAAM,EAEhBC,CACX,CCfe,SAASE,GAAyBC,GAC7C,IACI,IAAKA,EAAQC,WAAW,MACpB,OAAO,KAEX,MAAMC,EAAUC,KAAKH,EAAQtiC,QAAQ,KAAM,KAAKA,QAAQ,KAAM,MAC9D,OAAO1C,KAAKolC,MAAMF,EACtB,CACA,MAAO71B,GACH,OAAO,IACX,CACJ,CCyBO,SAASg2B,GAAsBh4B,EAAQgb,GAC1C,SArBgCtnB,EAqBLsM,EAAOrM,OAAOqnB,EAAS,KApBR,GAApBtnB,EAAUhC,QAAe,kBAAkB8H,KAAK9F,IAUnE,SAA4BA,GAC/B,QAASA,GAAiC,GAApBA,EAAUhC,QAAe,kBAAkB8H,KAAK9F,EAC1E,CAQ6DukC,CAAmBj4B,EAAOrM,OAAOqnB,IArBvF,IAA6BtnB,CAsBpC,CAOO,SAASwkC,GAAuBl4B,EAAQgb,GAC3C,SA1C4BtnB,EA0CLsM,EAAOrM,OAAOqnB,KAxCK,GAApBtnB,EAAUhC,QAAe,sEAAsE8H,KAAK9F,GAFvH,IAAyBA,CA2ChC,CACA,MAAMykC,GAAgCC,KAO/B,SAASC,GAAsBr4B,EAAQgb,GAC1C,MAAM7S,EAAUhV,OAAO6M,GAAQs4B,SAASH,IACxC,OAAOljC,MAAM8N,KAAKoF,GAASowB,MAAKn4B,GAASA,EAAMjM,MAAQ6mB,GAAUA,EAAS5a,EAAMjM,MAAQiM,EAAM,GAAG1O,QACrG,CACA,SAAS0mC,KACL,MAUMI,EAAe,6BAA6BntB,OAC5CotB,EAAQ,MAXA,CAEV,4CAEA,8BAEA,qBAEA,sEAGwBl4B,KAAIwd,GAAQA,EAAK1S,SAAQrY,KAAK,KAAO,IAEjE,OAAO,IAAI0V,OADM,GAAG8vB,KAAgBC,QAAmBA,MAC3B,KAChC,CCxEe,MAAM,WAA+B9lB,KAIhD,WAAAvH,CAAYstB,GACR1rB,QAIA/L,KAAK03B,cAAgB,IAAItlB,IACzBpS,KAAKy3B,OAASA,EACdz3B,KAAKkQ,IAAI,aAAa,EAC1B,CA2CA,aAAAynB,CAAc3oC,GACVgR,KAAK03B,cAActrB,IAAIpd,GACQ,GAA3BgR,KAAK03B,cAAcrlB,OACnBrS,KAAK4N,GAAG,gBAAiBgqB,GAAc,CAAE3sB,SAAU,YACnDjL,KAAK63B,WAAY,EAEzB,CAMA,kBAAAC,CAAmB9oC,GACfgR,KAAK03B,cAActnB,OAAOphB,GACK,GAA3BgR,KAAK03B,cAAcrlB,OACnBrS,KAAKsK,IAAI,gBAAiBstB,IAC1B53B,KAAK63B,WAAY,EAEzB,CAIA,OAAA5R,GACIjmB,KAAKkO,eACT,CAIA,0BAAW6pB,GACP,OAAO,CACX,CAKA,2BAAWC,GACP,OAAO,CACX,CAKA,0BAAWC,GACP,OAAO,CACX,EAKJ,SAASL,GAAa/jB,GAClBA,EAAIhE,QAAS,EACbgE,EAAIxJ,MACR,CClGe,MAAM6tB,WAAgCxmB,KAMjD,WAAAvH,CAAYstB,GACR1rB,QACA/L,KAAKy3B,OAASA,EACdz3B,KAAKkQ,IAAI,aAAS/P,GAClBH,KAAKkQ,IAAI,aAAa,GACtBlQ,KAAKm4B,cAAe,EACpBn4B,KAAKo4B,4BAA6B,EAClCp4B,KAAK03B,cAAgB,IAAItlB,IACzBpS,KAAKyT,SAAS,WAEdzT,KAAK+N,SAAS/N,KAAKy3B,OAAOn8B,MAAMnM,SAAU,UAAU,KAChD6Q,KAAKq4B,SAAS,IAElBr4B,KAAK+N,SAAS0pB,EAAQ,qBAAqB,KACvCz3B,KAAKq4B,SAAS,IAGlBr4B,KAAK4N,GAAG,iBAAiBiG,IACrB,IAAK7T,KAAKs4B,YACN,OAEJ,MAAMC,EAAYd,EAAOn8B,MAAMnM,SAASopC,UAElCC,IADqE,cAA9CD,EAAUE,mBAAmBpqC,KAAKqqC,WACXjB,EAAOn8B,MAAMq9B,UAAUJ,IAKvEd,EAAOmB,YAAc54B,KAAKo4B,6BAA+BI,KACzD3kB,EAAIhE,QAAS,EACbgE,EAAIxJ,OACR,GACD,CAAEY,SAAU,YACfjL,KAAK4N,GAAG,WAAWiG,IACV7T,KAAK63B,WACNhkB,EAAIxJ,MACR,GACD,CAAEY,SAAU,QACnB,CAYA,eAAIqtB,GACA,OAAOt4B,KAAKm4B,YAChB,CACA,eAAIG,CAAYA,GACZt4B,KAAKm4B,aAAeG,CACxB,CAQA,OAAAD,GACIr4B,KAAK63B,WAAY,CACrB,CA2CA,aAAAF,CAAc3oC,GACVgR,KAAK03B,cAActrB,IAAIpd,GACQ,GAA3BgR,KAAK03B,cAAcrlB,OACnBrS,KAAK4N,GAAG,gBAAiB,GAAc,CAAE3C,SAAU,YACnDjL,KAAK63B,WAAY,EAEzB,CAMA,kBAAAC,CAAmB9oC,GACfgR,KAAK03B,cAActnB,OAAOphB,GACK,GAA3BgR,KAAK03B,cAAcrlB,OACnBrS,KAAKsK,IAAI,gBAAiB,IAC1BtK,KAAKq4B,UAEb,CAiBA,OAAAQ,IAAWtoC,GAA0B,CAIrC,OAAA01B,GACIjmB,KAAKkO,eACT,EAKJ,SAAS,GAAa2F,GAClBA,EAAIhE,QAAS,EACbgE,EAAIxJ,MACR,CC7Ke,MAAMyuB,WAAyCnrB,KAY1D,WAAAxD,CAAY2B,EAASitB,EAAmB,GAAIC,EAAiB,IACzDjtB,QACA/L,KAAKi5B,SAAW,IAAIhpB,IACpBjQ,KAAKk5B,SAAWptB,EAChB9L,KAAKm5B,kBAAoB,IAAIlpB,IAC7B,IAAK,MAAMmpB,KAAqBL,EACxBK,EAAkBC,YAClBr5B,KAAKm5B,kBAAkBjpB,IAAIkpB,EAAkBC,WAAYD,GAGjEp5B,KAAKs5B,gBAAkB,IAAIrpB,IAC3B,IAAK,MAAOmpB,EAAmBG,KAAmBP,EAC9Ch5B,KAAKs5B,gBAAgBppB,IAAIkpB,EAAmBG,GAC5Cv5B,KAAKs5B,gBAAgBppB,IAAIqpB,EAAgBH,GAErCA,EAAkBC,YAClBr5B,KAAKm5B,kBAAkBjpB,IAAIkpB,EAAkBC,WAAYD,EAGrE,CAMA,EAAErzB,OAAOsP,YACL,IAAK,MAAMnf,KAAS8J,KAAKi5B,SACE,mBAAZ/iC,EAAM,WACPA,EAGlB,CAqBA,GAAA2P,CAAIlN,GACA,MAAM6gC,EAASx5B,KAAKi5B,SAASpzB,IAAIlN,GACjC,IAAK6gC,EAAQ,CACT,IAAIH,EAAa1gC,EAgBjB,KAfkB,mBAAPA,IACP0gC,EAAa1gC,EAAI0gC,YAAc1gC,EAAI6J,MAcjC,IAAI,EAAc,qCAAsCxC,KAAKk5B,SAAU,CAAEM,OAAQH,GAC3F,CACA,OAAOG,CACX,CAgBA,GAAArtB,CAAIxT,GACA,OAAOqH,KAAKi5B,SAAS9sB,IAAIxT,EAC7B,CAiBA,IAAA8gC,CAAKC,EAASC,EAAkB,GAAIC,EAAuB,IAgBvD,MAAMC,EAAO75B,KACP8L,EAAU9L,KAAKk5B,UAmCrB,SAASY,EAAgCJ,EAASK,EAAY,IAAI3nB,KAC9DsnB,EAAQ7pC,SAAQ2pC,IACPQ,EAAoBR,KAGrBO,EAAU5tB,IAAIqtB,KAGlBO,EAAU3tB,IAAIotB,GACVA,EAAOH,aAAeQ,EAAKV,kBAAkBhtB,IAAIqtB,EAAOH,aACxDQ,EAAKV,kBAAkBjpB,IAAIspB,EAAOH,WAAYG,GAE9CA,EAAOS,UACPH,EAAgCN,EAAOS,SAAUF,IACrD,GAER,CAlDAD,CAAgCJ,GAChCQ,EAAgBR,GAChB,MACMS,EAAqB,IAgD3B,SAASC,EAAsBV,EAASK,EAAY,IAAI3nB,KACpD,OAAOsnB,EACFp6B,KAAIk6B,GACEQ,EAAoBR,GACvBA,EACAK,EAAKV,kBAAkBtzB,IAAI2zB,KAE9B3M,QAAO,CAACn8B,EAAQ8oC,IACbO,EAAU5tB,IAAIqtB,GACP9oC,GAEXqpC,EAAU3tB,IAAIotB,GACVA,EAAOS,WACPC,EAAgBV,EAAOS,SAAUT,GACjCY,EAAsBZ,EAAOS,SAAUF,GAAWlqC,SAAQ2pC,GAAU9oC,EAAO0b,IAAIotB,MAE5E9oC,EAAO0b,IAAIotB,KACnB,IAAIpnB,IACX,CAlE+BgoB,CADTV,EAAQ/iC,QAAO6iC,IAAWa,EAAgBb,EAAQG,QAmMxE,SAA2BQ,EAAoBP,GAC3C,IAAK,MAAMU,KAAcV,EAAsB,CAC3C,GAAyB,mBAAdU,EAMP,MAAM,IAAI,EAAc,+CAAgD,KAAM,CAAEA,eAEpF,MAAMjB,EAAaiB,EAAWjB,WAC9B,IAAKA,EAMD,MAAM,IAAI,EAAc,+CAAgD,KAAM,CAAEiB,eAEpF,GAAIA,EAAWL,UAAYK,EAAWL,SAASxpC,OAM3C,MAAM,IAAI,EAAc,iEAAkE,KAAM,CAAE4oC,eAEtG,MAAMkB,EAAkBV,EAAKV,kBAAkBtzB,IAAIwzB,GACnD,IAAKkB,EAOD,MAAM,IAAI,EAAc,kDAAmD,KAAM,CAAElB,eAEvF,MAAMmB,EAA4BL,EAAmB92B,QAAQk3B,GAC7D,IAAmC,IAA/BC,EAAkC,CAIlC,GAAIX,EAAKP,gBAAgBntB,IAAIouB,GACzB,OAOJ,MAAM,IAAI,EAAc,mDAAoD,KAAM,CAAElB,cACxF,CACA,GAAIkB,EAAgBN,UAAYM,EAAgBN,SAASxpC,OAMrD,MAAM,IAAI,EAAc,4DAA6D,KAAM,CAAE4oC,eAEjGc,EAAmBvgC,OAAO4gC,EAA2B,EAAGF,GACxDT,EAAKV,kBAAkBjpB,IAAImpB,EAAYiB,EAC3C,CACJ,CAhQAG,CAAkBN,EAAoBP,GACtC,MAAMc,EA0KN,SAAqBP,GACjB,OAAOA,EAAmB76B,KAAI85B,IAC1B,IAAIG,EAAiBM,EAAKP,gBAAgBzzB,IAAIuzB,GAG9C,OAFAG,EAAiBA,GAAkB,IAAIH,EAAkBttB,GACzD+tB,EAAKc,KAAKvB,EAAmBG,GACtBA,CAAc,GAE7B,CAjLwBqB,CAAYT,GACpC,OAAOU,EAAYH,EAAiB,QAC/Br1B,MAAK,IAAMw1B,EAAYH,EAAiB,eACxCr1B,MAAK,IAAMq1B,IAChB,SAASV,EAAoBR,GACzB,MAAyB,mBAAXA,CAClB,CACA,SAASzB,EAAgByB,GACrB,OAAOQ,EAAoBR,MAAaA,EAAOzB,eACnD,CACA,SAASsC,EAAgBb,EAAQG,GAC7B,OAAOA,EAAgBrC,MAAKwD,GACpBA,IAAkBtB,IAGlBuB,EAAcvB,KAAYsB,GAG1BC,EAAcD,KAAmBtB,IAK7C,CACA,SAASuB,EAAcvB,GACnB,OAAOQ,EAAoBR,GACvBA,EAAOH,YAAcG,EAAOh3B,KAC5Bg3B,CACR,CAqCA,SAASU,EAAgBR,EAASsB,EAA0B,MACxDtB,EACKp6B,KAAIk6B,GACEQ,EAAoBR,GACvBA,EACAK,EAAKV,kBAAkBtzB,IAAI2zB,IAAWA,IAEzC3pC,SAAQ2pC,KAMjB,SAA4BA,EAAQwB,GAChC,GAAIhB,EAAoBR,GACpB,OAEJ,GAAIwB,EAwBA,MAAM,IAAI,EAAc,iCAAkClvB,EAAS,CAAEmvB,cAAezB,EAAQ0B,WAAYH,EAAcC,KAyB1H,MAAM,IAAI,EAAc,oCAAqClvB,EAAS,CAAE0tB,UAC5E,CA3DQ2B,CAAmB3B,EAAQwB,GA4DnC,SAA4BxB,EAAQwB,GAChC,IAAKjD,EAAgBiD,GACjB,OAEJ,GAAIjD,EAAgByB,GAChB,OAcJ,MAAM,IAAI,EAAc,oCAAqC1tB,EAAS,CAAE0tB,OAAQuB,EAAcvB,GAAS0B,WAAYH,EAAcC,IACrI,CA/EQI,CAAmB5B,EAAQwB,GAgFnC,SAA4BxB,EAAQwB,GAChC,IAAKA,EACD,OAEJ,IAAKX,EAAgBb,EAAQG,GACzB,OASJ,MAAM,IAAI,EAAc,4BAA6B7tB,EAAS,CAAE0tB,OAAQuB,EAAcvB,GAAS0B,WAAYH,EAAcC,IAC7H,CA9FQK,CAAmB7B,EAAQwB,EAAwB,GAE3D,CAqGA,SAASH,EAAYH,EAAiBY,GAClC,OAAOZ,EAAgB7N,QAAO,CAAC0O,EAAS/B,IAC/BA,EAAO8B,GAGRzB,EAAKP,gBAAgBntB,IAAIqtB,GAClB+B,EAEJA,EAAQl2B,KAAKm0B,EAAO8B,GAAQrpB,KAAKunB,IAL7B+B,GAMZC,QAAQ9gB,UACf,CAoEJ,CAIA,OAAAuL,GACI,MAAMwV,EAAW,GACjB,IAAK,MAAO,CAAElC,KAAmBv5B,KACQ,mBAA1Bu5B,EAAetT,SAA0BjmB,KAAKs5B,gBAAgBntB,IAAIotB,IACzEkC,EAAS1sC,KAAKwqC,EAAetT,WAGrC,OAAOuV,QAAQE,IAAID,EACvB,CAOA,IAAAd,CAAKvB,EAAmBI,GACpBx5B,KAAKi5B,SAAS/oB,IAAIkpB,EAAmBI,GACrC,MAAMH,EAAaD,EAAkBC,WACrC,GAAKA,EAAL,CAGA,GAAIr5B,KAAKi5B,SAAS9sB,IAAIktB,GAgClB,MAAM,IAAI,EAAc,wCAAyC,KAAM,CAAEA,aAAYsC,QAAS37B,KAAKi5B,SAASpzB,IAAIwzB,GAAYlvB,YAAayxB,QAASxC,IAEtJp5B,KAAKi5B,SAAS/oB,IAAImpB,EAAYG,EAnC9B,CAoCJ,ECnbW,MAAMqC,GAQjB,WAAA1xB,CAAY4e,GAOR/oB,KAAK87B,cAAgB,KAGrB,MAAM,aAAEnM,KAAiBoM,GAAShT,GAAU,CAAC,EAC7C/oB,KAAK+oB,OAAS,IAAI5M,GAAO4f,EAAM/7B,KAAKmK,YAAY6xB,eAChD,MAAMjD,EAAmB/4B,KAAKmK,YAAY8xB,eAC1Cj8B,KAAK+oB,OAAOt6B,OAAO,UAAWsqC,GAC9B/4B,KAAK05B,QAAU,IAAIZ,GAAiB94B,KAAM+4B,GAC1C,MAAMmD,EAAiBl8B,KAAK+oB,OAAOljB,IAAI,aAAe,CAAC,EACvD7F,KAAKm8B,OAAS,IAAI1L,GAAO,CACrBC,WAAsC,iBAAnBwL,EAA8BA,EAAiBA,EAAeE,GACjFzL,gBAAiB3wB,KAAK+oB,OAAOljB,IAAI,oBACjC8pB,iBAEJ3vB,KAAKvC,EAAIuC,KAAKm8B,OAAO1+B,EACrBuC,KAAKq8B,QAAU,IAAIpL,EACvB,CAMA,WAAA4J,GACI,MAAMnB,EAAU15B,KAAK+oB,OAAOljB,IAAI,YAAc,GACxC40B,EAAoBz6B,KAAK+oB,OAAOljB,IAAI,sBAAwB,GAElE,IAAK,MAAMy2B,KAAU5C,EAAQ7nC,OAAO4oC,GAAoB,CACpD,GAAqB,mBAAV6B,EAMP,MAAM,IAAI,EAAc,uCAAwC,KAAM,CAAEA,WAE5E,IAA+B,IAA3BA,EAAOvE,gBAOP,MAAM,IAAI,EAAc,qCAAsC,KAAM,CAAEuE,UAE9E,CACA,OAAOt8B,KAAK05B,QAAQD,KAAKC,EAAS,GAAIe,EAC1C,CAOA,OAAAxU,GACI,OAAOuV,QAAQE,IAAI1nC,MAAM8N,KAAK9B,KAAKq8B,SAAS5E,GAAUA,EAAOxR,aACxD5gB,MAAK,IAAMrF,KAAK05B,QAAQzT,WACjC,CAYA,UAAAsW,CAAW9E,EAAQ+E,GACf,GAAIx8B,KAAK87B,cAML,MAAM,IAAI,EAAc,qCAE5B97B,KAAKq8B,QAAQjwB,IAAIqrB,GACb+E,IACAx8B,KAAK87B,cAAgBrE,EAE7B,CAUA,aAAAgF,CAAchF,GAIV,OAHIz3B,KAAKq8B,QAAQlwB,IAAIsrB,IACjBz3B,KAAKq8B,QAAQtlC,OAAO0gC,GAEpBz3B,KAAK87B,gBAAkBrE,EAChBz3B,KAAKimB,UAETuV,QAAQ9gB,SACnB,CAYA,gBAAAgiB,GACI,MAAMhsC,EAAS,CAAC,EAChB,IAAK,MAAM8R,KAAQxC,KAAK+oB,OAAOpM,QACtB,CAAC,UAAW,gBAAiB,gBAAgB6T,SAAShuB,KACvD9R,EAAO8R,GAAQxC,KAAK+oB,OAAOljB,IAAIrD,IAGvC,OAAO9R,CACX,CAoDA,aAAO6U,CAAOwjB,GACV,OAAO,IAAIyS,SAAQ9gB,IACf,MAAM5O,EAAU,IAAI9L,KAAK+oB,GACzBrO,EAAQ5O,EAAQ+uB,cAAcx1B,MAAK,IAAMyG,IAAS,GAE1D,EC7MW,MAAM6wB,WAAsCjrB,KAIvD,WAAAvH,CAAY2B,GACRC,QACA/L,KAAK8L,QAAUA,CACnB,CAIA,OAAAma,GACIjmB,KAAKkO,eACT,CAIA,0BAAW6pB,GACP,OAAO,CACX,CAIA,2BAAWC,GACP,OAAO,CACX,CAIA,0BAAWC,GACP,OAAO,CACX,ECzBJ,SALA,SAAkBjoC,GAChB,MAAuB,iBAATA,GACX,GAAaA,IArBF,mBAqBY,GAAWA,EACvC,ECtBA,IAAI4sC,GAAe,mDACfC,GAAgB,QAuBpB,SAbA,SAAe7sC,EAAO4jB,GACpB,GAAI,GAAQ5jB,GACV,OAAO,EAET,IAAIkT,SAAclT,EAClB,QAAY,UAARkT,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAATlT,IAAiB,GAASA,MAGvB6sC,GAActkC,KAAKvI,KAAW4sC,GAAarkC,KAAKvI,IAC1C,MAAV4jB,GAAkB5jB,KAASL,OAAOikB,GACvC,ECuBA,SAASkpB,GAAQ1mB,EAAM2mB,GACrB,GAAmB,mBAAR3mB,GAAmC,MAAZ2mB,GAAuC,mBAAZA,EAC3D,MAAM,IAAIC,UAhDQ,uBAkDpB,IAAIC,EAAW,WACb,IAAI1sC,EAAO0nB,UACPtf,EAAMokC,EAAWA,EAASlmC,MAAMmJ,KAAMzP,GAAQA,EAAK,GACnD2sC,EAAQD,EAASC,MAErB,GAAIA,EAAM/wB,IAAIxT,GACZ,OAAOukC,EAAMr3B,IAAIlN,GAEnB,IAAIjI,EAAS0lB,EAAKvf,MAAMmJ,KAAMzP,GAE9B,OADA0sC,EAASC,MAAQA,EAAMhtB,IAAIvX,EAAKjI,IAAWwsC,EACpCxsC,CACT,EAEA,OADAusC,EAASC,MAAQ,IAAKJ,GAAQK,OAAS,IAChCF,CACT,CAGAH,GAAQK,MAAQ,GAEhB,YC/CA,SAZA,SAAuB/mB,GACrB,IAAI1lB,EAAS,GAAQ0lB,GAAM,SAASzd,GAIlC,OAfmB,MAYfukC,EAAM7qB,MACR6qB,EAAM7sB,QAED1X,CACT,IAEIukC,EAAQxsC,EAAOwsC,MACnB,OAAOxsC,CACT,ECpBA,IAAI0sC,GAAa,mGAGbC,GAAe,WASfC,GAAe,IAAc,SAASv+B,GACxC,IAAIrO,EAAS,GAOb,OAN6B,KAAzBqO,EAAOzL,WAAW,IACpB5C,EAAO3B,KAAK,IAEdgQ,EAAO3K,QAAQgpC,IAAY,SAASj+B,EAAOo+B,EAAQC,EAAOC,GACxD/sC,EAAO3B,KAAKyuC,EAAQC,EAAUrpC,QAAQipC,GAAc,MAASE,GAAUp+B,EACzE,IACOzO,CACT,IAEA,YCNA,SAXA,SAAkBomB,EAAOa,GAKvB,IAJA,IAAIzkB,GAAS,EACTzC,EAAkB,MAATqmB,EAAgB,EAAIA,EAAMrmB,OACnCC,EAASsD,MAAMvD,KAEVyC,EAAQzC,GACfC,EAAOwC,GAASykB,EAASb,EAAM5jB,GAAQA,EAAO4jB,GAEhD,OAAOpmB,CACT,ECZA,IAGI,GAAc,GAAS,GAAOyE,eAAYgL,EAC1Cu9B,GAAiB,GAAc,GAAY1+B,cAAWmB,EA0B1D,SAhBA,SAASw9B,EAAa3tC,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI,GAAQA,GAEV,OAAO,GAASA,EAAO2tC,GAAgB,GAEzC,GAAI,GAAS3tC,GACX,OAAO0tC,GAAiBA,GAAeroC,KAAKrF,GAAS,GAEvD,IAAIU,EAAUV,EAAQ,GACtB,MAAkB,KAAVU,GAAkB,EAAIV,IAAU,IAAa,KAAOU,CAC9D,ECPA,SAJA,SAAkBV,GAChB,OAAgB,MAATA,EAAgB,GAAK,GAAaA,EAC3C,ECLA,SAPA,SAAkBA,EAAO4jB,GACvB,OAAI,GAAQ5jB,GACHA,EAEF,GAAMA,EAAO4jB,GAAU,CAAC5jB,GAAS,GAAa,GAASA,GAChE,ECEA,SARA,SAAeA,GACb,GAAoB,iBAATA,GAAqB,GAASA,GACvC,OAAOA,EAET,IAAIU,EAAUV,EAAQ,GACtB,MAAkB,KAAVU,GAAkB,EAAIV,IAAU,IAAa,KAAOU,CAC9D,ECKA,SAZA,SAAiBkjB,EAAQ3R,GAMvB,IAHA,IAAI/O,EAAQ,EACRzC,GAHJwR,EAAO,GAASA,EAAM2R,IAGJnjB,OAED,MAAVmjB,GAAkB1gB,EAAQzC,GAC/BmjB,EAASA,EAAO,GAAM3R,EAAK/O,OAE7B,OAAQA,GAASA,GAASzC,EAAUmjB,OAASzT,CAC/C,ECWA,SALA,SAAayT,EAAQ3R,EAAM27B,GACzB,IAAIltC,EAAmB,MAAVkjB,OAAiBzT,EAAY,GAAQyT,EAAQ3R,GAC1D,YAAkB9B,IAAXzP,EAAuBktC,EAAeltC,CAC/C,ECoBA,SAlCA,SAAiBkjB,EAAQ3R,EAAMjS,EAAO8nB,GACpC,IAAK,EAASlE,GACZ,OAAOA,EAST,IALA,IAAI1gB,GAAS,EACTzC,GAHJwR,EAAO,GAASA,EAAM2R,IAGJnjB,OACdkY,EAAYlY,EAAS,EACrBotC,EAASjqB,EAEI,MAAViqB,KAAoB3qC,EAAQzC,GAAQ,CACzC,IAAIkI,EAAM,GAAMsJ,EAAK/O,IACjB8e,EAAWhiB,EAEf,GAAY,cAAR2I,GAA+B,gBAARA,GAAiC,cAARA,EAClD,OAAOib,EAGT,GAAI1gB,GAASyV,EAAW,CACtB,IAAIiP,EAAWimB,EAAOllC,QAELwH,KADjB6R,EAAW8F,EAAaA,EAAWF,EAAUjf,EAAKklC,QAAU19B,KAE1D6R,EAAW,EAAS4F,GAChBA,EACC,GAAQ3V,EAAK/O,EAAQ,IAAM,GAAK,CAAC,EAE1C,CACA,GAAY2qC,EAAQllC,EAAKqZ,GACzB6rB,EAASA,EAAOllC,EAClB,CACA,OAAOib,CACT,ECdA,SAJA,SAAaA,EAAQ3R,EAAMjS,GACzB,OAAiB,MAAV4jB,EAAiBA,EAAS,GAAQA,EAAQ3R,EAAMjS,EACzD,E,4HCrBIf,GAAU,CAAC,WAAa,CAAC,YAAW,IAGxCA,GAAQI,cAAgB,KACxBJ,GAAQM,OAAS,UAAc,KAAM,QACrCN,GAAQ6K,OAAS,KACjB7K,GAAQkJ,mBAAqB,KAEhB,KAAI,KAASlJ,IAKJ,MAAW,KAAQ6uC,QAAS,KAAQA,OAAnD,MCdDC,GAAuB,IAAItM,QACjC,IAAIuM,IAA4C,EAoBzC,SAASC,IAAkB,KAAExJ,EAAI,QAAEvlC,EAAO,KAAEgvC,EAAI,aAAEC,GAAe,EAAI,YAAEC,GAAc,IACxF,MAAMroB,EAAM0e,EAAKtlC,SAwBjB,SAASkvC,EAAeH,GACpB,MAAMnV,EAAS,CACXmV,OACAC,eACAC,cACAE,YAAaH,EAAejvC,EAAU,MAG1C6uC,GAAqBl4B,IAAIkQ,GAAK7F,IAAIhhB,EAAS65B,GAE3C0L,EAAK8J,QAAOC,GAAUC,GAA2B,CAAC,CAACvvC,EAAS65B,IAAUyV,IAC1E,CAjCKT,GAAqB5xB,IAAI4J,KAC1BgoB,GAAqB7tB,IAAI6F,EAAK,IAAI9F,KAGlC8F,EAAI2oB,mBAAkBF,GAAUC,GAA2BV,GAAqBl4B,IAAIkQ,GAAMyoB,KAE1FzoB,EAAInI,GAAG,sBAAsB,KACzB6mB,EAAK8J,QAAOC,GAAUC,GAA2BV,GAAqBl4B,IAAIkQ,GAAMyoB,IAAQ,GACzF,CAAEvzB,SAAU,UAEf/b,EAAQud,GAAG,oBACXvd,EAAQ0e,GAAG,sBAAsB,CAAC+wB,EAAS9qB,EAAKqqB,IAASG,EAAeH,KAExEhvC,EAAQ0vC,YACRP,EAAenvC,EAAQ0vC,aAElBV,GACLG,EAAeH,GAEfA,GA6MR,WACSF,IAUD,EAAW,4CAEfA,IAA4C,CAChD,CA1NQa,EAcR,CAmCO,SAASC,GAAgBN,EAAQtvC,GACpC,OAAKA,EAAQ6vC,SAAS,oBAClBP,EAAOQ,SAAS,iBAAkB9vC,IAC3B,EAGf,CAYO,SAAS+vC,GAAgBT,EAAQtvC,GACpC,QAAIA,EAAQ6vC,SAAS,oBACjBP,EAAOU,YAAY,iBAAkBhwC,IAC9B,EAGf,CAcO,SAASiwC,GAAiBjwC,EAASkvC,GACtC,IAAKlvC,EAAQkwC,aACT,OAAO,EAEX,GAuBJ,SAAoBlwC,GAChB,IAAK,MAAMinB,KAASjnB,EAAQmwC,cACxB,IAAKlpB,EAAM1J,GAAG,aACV,OAAO,EAGf,OAAO,CACX,CA9BQ6yB,CAAWpwC,GACX,OAAO,EAEX,MAAM6mB,EAAM7mB,EAAQC,SAEdowC,EADgBxpB,EAAIwiB,UACYiH,OACtC,QAAIzpB,EAAI0pB,cAAeF,GAAmBA,EAAgBn+B,SAAWlS,OAIjEkvC,KAICroB,EAAIof,aAIAoK,GAAmBA,EAAgBn+B,SAAWlS,GAC3D,CAiBA,SAASuvC,GAA2BiB,EAAclB,GAC9C,MAAMmB,EAAqB,GAC3B,IAAIC,GAAkB,EAEtB,IAAK,MAAO1wC,EAAS65B,KAAW2W,EACxB3W,EAAOoV,eACPwB,EAAmB5wC,KAAKG,GACpB2wC,GAAkBrB,EAAQtvC,EAAS65B,KACnC6W,GAAkB,IAK9B,IAAK,MAAO1wC,EAAS65B,KAAW2W,EAAc,CAC1C,GAAI3W,EAAOoV,aACP,SAEJ,MAAMG,EAAcwB,GAAkC5wC,GAGjDovC,IAIDqB,EAAmBnP,SAAS8N,KAIhCvV,EAAOuV,YAAcA,EACjBuB,GAAkBrB,EAAQtvC,EAAS65B,KACnC6W,GAAkB,IAE1B,CACA,OAAOA,CACX,CAMA,SAASC,GAAkBrB,EAAQtvC,EAAS65B,GACxC,MAAM,KAAEmV,EAAI,aAAEC,EAAY,YAAEG,GAAgBvV,EAC5C,IAAI6W,GAAkB,EAElBtB,EAAYyB,aAAa,sBAAwB7B,IACjDM,EAAO5lC,aAAa,mBAAoBslC,EAAMI,GAC9CsB,GAAkB,GAYtB,OAToBzB,GAAsC,GAAtBjvC,EAAQ8wC,aACzBb,GAAiBb,EAAavV,EAAOqV,aAChDU,GAAgBN,EAAQF,KACxBsB,GAAkB,GAGjBX,GAAgBT,EAAQF,KAC7BsB,GAAkB,GAEfA,CACX,CAMA,SAASE,GAAkC1+B,GACvC,GAAIA,EAAO4+B,WAAY,CACnB,MAAMC,EAAa7+B,EAAO8+B,SAAS,GACnC,GAAID,EAAWxzB,GAAG,aAAewzB,EAAWxzB,GAAG,eAAiBwzB,EAAWxzB,GAAG,oBAC1E,OAAOwzB,CAEf,CACA,OAAO,IACX,CCvPe,MAAME,GAEjB,EAAA1zB,GAOI,MAAM,IAAIlR,MAAM,0BACpB,ECkBJ,SAJA,SAAevL,GACb,OAAO,GAAUA,EA7BM,EA8BzB,EChBe,MAAM,WAA6B2d,EAAawyB,KAM3D,WAAAh2B,CAAYhb,GACR4c,QACA/L,KAAK7Q,SAAWA,EAChB6Q,KAAKoB,OAAS,IAClB,CAOA,SAAIlO,GACA,IAAIktC,EACJ,IAAKpgC,KAAKoB,OACN,OAAO,KAGX,IAAgD,IAA3Cg/B,EAAMpgC,KAAKoB,OAAOi/B,cAAcrgC,OAMjC,MAAM,IAAI,EAAc,gCAAiCA,MAE7D,OAAOogC,CACX,CAIA,eAAIE,GACA,MAAMptC,EAAQ8M,KAAK9M,MACnB,OAAkB,OAAVA,GAAkB8M,KAAKoB,OAAO8+B,SAAShtC,EAAQ,IAAO,IAClE,CAIA,mBAAI0zB,GACA,MAAM1zB,EAAQ8M,KAAK9M,MACnB,OAAkB,OAAVA,GAAkB8M,KAAKoB,OAAO8+B,SAAShtC,EAAQ,IAAO,IAClE,CAIA,QAAI7E,GAEA,IAAIA,EAAO2R,KACX,KAAO3R,EAAK+S,QACR/S,EAAOA,EAAK+S,OAEhB,OAAO/S,CACX,CAIA,UAAA+wC,GACI,OAAOp/B,KAAK3R,KAAKoe,GAAG,cACxB,CAkBA,OAAA8zB,GACI,MAAMt+B,EAAO,GAEb,IAAIN,EAAO3B,KACX,KAAO2B,EAAKP,QACRa,EAAKL,QAAQD,EAAKzO,OAClByO,EAAOA,EAAKP,OAEhB,OAAOa,CACX,CAUA,YAAAod,CAAapwB,EAAU,CAAC,GACpB,MAAMuxC,EAAY,GAClB,IAAIp/B,EAASnS,EAAQwxC,YAAczgC,KAAOA,KAAKoB,OAC/C,KAAOA,GACHo/B,EAAUvxC,EAAQyxC,YAAc,OAAS,WAAWt/B,GACpDA,EAASA,EAAOA,OAEpB,OAAOo/B,CACX,CAUA,iBAAAG,CAAkBh/B,EAAM1S,EAAU,CAAC,GAC/B,MAAM2xC,EAAa5gC,KAAKqf,aAAapwB,GAC/B4xC,EAAal/B,EAAK0d,aAAapwB,GACrC,IAAI2B,EAAI,EACR,KAAOgwC,EAAWhwC,IAAMiwC,EAAWjwC,IAAMgwC,EAAWhwC,IAChDA,IAEJ,OAAa,IAANA,EAAU,KAAOgwC,EAAWhwC,EAAI,EAC3C,CAOA,QAAAkwC,CAASn/B,GAEL,GAAI3B,MAAQ2B,EACR,OAAO,EAGX,GAAI3B,KAAK3R,OAASsT,EAAKtT,KACnB,OAAO,EAEX,MAAM0yC,EAAW/gC,KAAKugC,UAChBS,EAAWr/B,EAAK4+B,UAChB7vC,EAASwkB,GAAc6rB,EAAUC,GACvC,OAAQtwC,GACJ,IAAK,SACD,OAAO,EACX,IAAK,YACD,OAAO,EACX,QACI,OAAOqwC,EAASrwC,GAAUswC,EAAStwC,GAE/C,CAOA,OAAAuwC,CAAQt/B,GAEJ,OAAI3B,MAAQ2B,IAIR3B,KAAK3R,OAASsT,EAAKtT,OAIf2R,KAAK8gC,SAASn/B,GAC1B,CAMA,OAAA8wB,GACIzyB,KAAKoB,OAAO8/B,gBAAgBlhC,KAAK9M,MACrC,CAQA,WAAAiuC,CAAYj+B,EAAMvB,EAAM/P,GACpBoO,KAAK+O,KAAK,UAAU7L,IAAQvB,EAAM/P,GAC9BoO,KAAKoB,QACLpB,KAAKoB,OAAO+/B,YAAYj+B,EAAMvB,EAAM/P,EAE5C,CAMA,MAAAwvC,GACI,MAAMC,EAAO,GAAMrhC,MAGnB,cADOqhC,EAAKjgC,OACLigC,CACX,EAIJ,GAAKlsC,UAAUsX,GAAK,SAAUvJ,GAC1B,MAAgB,SAATA,GAA4B,cAATA,CAC9B,ECjNe,MAAMo+B,WAAa,GAS9B,WAAAn3B,CAAYhb,EAAUyC,GAClBma,MAAM5c,GACN6Q,KAAKuhC,UAAY3vC,CACrB,CAIA,QAAIA,GACA,OAAOoO,KAAKuhC,SAChB,CAoBA,SAAIC,GACA,OAAOxhC,KAAKpO,IAChB,CACA,SAAI4vC,CAAM5vC,GACNoO,KAAKmhC,YAAY,OAAQnhC,MACzBA,KAAKuhC,UAAY3vC,CACrB,CAOA,SAAA6vC,CAAUC,GACN,OAAMA,aAAqBJ,KAGpBthC,OAAS0hC,GAAa1hC,KAAKpO,OAAS8vC,EAAU9vC,KACzD,CAOA,MAAA+vC,GACI,OAAO,IAAIL,GAAKthC,KAAK7Q,SAAU6Q,KAAKpO,KACxC,EAIJ0vC,GAAKnsC,UAAUsX,GAAK,SAAUvJ,GAC1B,MAAgB,UAATA,GAA6B,eAATA,GAEd,SAATA,GAA4B,cAATA,GAEV,SAATA,GAA4B,cAATA,CAC3B,EC/De,MAAM0+B,WAAkBzB,GAWnC,WAAAh2B,CAAY03B,EAAUC,EAAcrxC,GAGhC,GAFAsb,QACA/L,KAAK6hC,SAAWA,EACZC,EAAe,GAAKA,EAAeD,EAASjwC,KAAKnB,OAMjD,MAAM,IAAI,EAAc,oCAAqCuP,MAEjE,GAAIvP,EAAS,GAAKqxC,EAAerxC,EAASoxC,EAASjwC,KAAKnB,OAMpD,MAAM,IAAI,EAAc,8BAA+BuP,MAE3DA,KAAKpO,KAAOiwC,EAASjwC,KAAKsN,UAAU4iC,EAAcA,EAAerxC,GACjEuP,KAAK8hC,aAAeA,CACxB,CAIA,cAAIC,GACA,OAAO/hC,KAAKpO,KAAKnB,MACrB,CASA,aAAIuxC,GACA,OAAOhiC,KAAKpO,KAAKnB,SAAWuP,KAAK6hC,SAASjwC,KAAKnB,MACnD,CAIA,UAAI2Q,GACA,OAAOpB,KAAK6hC,SAASzgC,MACzB,CAIA,QAAI/S,GACA,OAAO2R,KAAK6hC,SAASxzC,IACzB,CAKA,YAAIc,GACA,OAAO6Q,KAAK6hC,SAAS1yC,QACzB,CAUA,YAAAkwB,CAAapwB,EAAU,CAAC,GACpB,MAAMuxC,EAAY,GAClB,IAAIp/B,EAASnS,EAAQwxC,YAAczgC,KAAK6hC,SAAW7hC,KAAKoB,OACxD,KAAkB,OAAXA,GACHo/B,EAAUvxC,EAAQyxC,YAAc,OAAS,WAAWt/B,GACpDA,EAASA,EAAOA,OAEpB,OAAOo/B,CACX,EAIJoB,GAAUzsC,UAAUsX,GAAK,SAAUvJ,GAC/B,MAAgB,eAATA,GAAkC,oBAATA,GAEnB,cAATA,GAAiC,mBAATA,CAChC,EC1Fe,MAAM++B,GACjB,WAAA93B,GAOInK,KAAKkiC,aAAe,IAAIjyB,GAC5B,CA8BA,GAAA7D,CAAIld,EAASizC,GACT,IAAIC,EAEAlzC,EAAQud,GAAG,UAAYvd,EAAQud,GAAG,oBAClCzM,KAAKkiC,aAAahyB,IAAIhhB,GAAS,IAI9B8Q,KAAKkiC,aAAa/1B,IAAIjd,GAKvBkzC,EAAqBpiC,KAAKkiC,aAAar8B,IAAI3W,IAJ3CkzC,EAAqB,IAAIC,GAAuBnzC,GAChD8Q,KAAKkiC,aAAahyB,IAAIhhB,EAASkzC,IAKnCA,EAAmBh2B,IAAI+1B,EAAcG,GAAqBH,GAAejzC,EAAQqzC,mBACrF,CAiCA,IAAAhqC,CAAKrJ,EAASizC,GACV,MAAMC,EAAqBpiC,KAAKkiC,aAAar8B,IAAI3W,GACjD,YAA2BiR,IAAvBiiC,EACO,KAGPlzC,EAAQud,GAAG,UAAYvd,EAAQud,GAAG,oBAC3B21B,EAGJA,EAAmB7pC,KAAK+pC,GAAqBH,GACxD,CAgCA,OAAAK,CAAQtzC,EAASizC,GACb,GAAIjzC,EAAQud,GAAG,UAAYvd,EAAQud,GAAG,oBAClC,QAAKzM,KAAKzH,KAAKrJ,EAASizC,KAIxBniC,KAAKkiC,aAAahyB,IAAIhhB,GAAS,IACxB,GAGX,MAAMkzC,EAAqBpiC,KAAKkiC,aAAar8B,IAAI3W,GACjD,YAA2BiR,IAAvBiiC,GAGGA,EAAmBI,QAAQF,GAAqBH,GAC3D,CAgCA,MAAAM,CAAOvzC,EAASizC,GACZ,MAAMC,EAAqBpiC,KAAKkiC,aAAar8B,IAAI3W,QACtBiR,IAAvBiiC,IACIlzC,EAAQud,GAAG,UAAYvd,EAAQud,GAAG,oBAElCzM,KAAKkiC,aAAahyB,IAAIhhB,GAAS,GAI/BkzC,EAAmBK,OAAOH,GAAqBH,IAG3D,CAUA,iBAAOO,CAAW5gC,EAAM6gC,GAIpB,GAHKA,IACDA,EAAW,IAAIV,IAEfngC,EAAK2K,GAAG,SACRk2B,EAASv2B,IAAItK,QAEZ,GAAIA,EAAK2K,GAAG,YAAc3K,EAAK2K,GAAG,oBAAqB,CACxDk2B,EAASv2B,IAAItK,GACb,IAAK,MAAMqU,KAASrU,EAAKu9B,cACrB4C,GAAeS,WAAWvsB,EAAOwsB,EAEzC,CACA,OAAOA,CACX,EAMG,MAAMN,GAMT,WAAAl4B,CAAYrI,GAIR9B,KAAK4iC,gBAAkB,KAOvB5iC,KAAK6iC,YAAc,IAAI5yB,IACvBjQ,KAAK9Q,QAAU4S,CACnB,CA0BA,GAAAsK,CAAI+1B,GACIA,EAAY3/B,OACZxC,KAAK4iC,iBAAkB,GAE3B,IAAK,MAAOpgC,EAAMD,KAAU4/B,EAAY7yC,WACpC,GAAIiT,EAAO,CACP,IAAIugC,EAAkB9iC,KAAK6iC,YAAYh9B,IAAIrD,GACtCsgC,GAA6C,kBAAnBA,IAC3BA,EAAkB,IAAI7yB,IACtBjQ,KAAK6iC,YAAY3yB,IAAI1N,EAAMsgC,IAE/BA,EAAgB5yB,IAAI3N,GAAO,EAC/B,KACK,IAAY,SAARC,GAA2B,SAARA,EAmBxB,MAAM,IAAI,EAAc,mCAAoCxC,MAG5DA,KAAK6iC,YAAY3yB,IAAI1N,GAAM,EAC/B,CAER,CAqBA,IAAAjK,CAAK4pC,GAED,GAAIA,EAAY3/B,OAASxC,KAAK4iC,gBAC1B,OAAO5iC,KAAK4iC,gBAEhB,IAAK,MAAOpgC,EAAMD,KAAU4/B,EAAY7yC,WAAY,CAChD,MAAMU,EAAQgQ,KAAK6iC,YAAYh9B,IAAIrD,GAEnC,QAAcrC,IAAVnQ,EACA,OAAO,KAGX,IAAc,IAAVA,EACA,OAAO,EAGX,IAAc,IAAVA,EAGJ,GAAKuS,EASA,CACD,MAAMwgC,EAAa/yC,EAAM6V,IAAItD,GAE7B,QAAmBpC,IAAf4iC,EACA,OAAO,KAGX,IAAKA,EACD,OAAO,CAEf,MAjBI,IAAK,MAAMA,KAAc/yC,EAAMiZ,SAE3B,IAAK85B,EACD,OAAO,CAevB,CAEA,OAAO,CACX,CAqBA,OAAAP,CAAQL,GACJ,IAAKniC,KAAKzH,KAAK4pC,GACX,OAAO,EAEPA,EAAY3/B,OACZxC,KAAK4iC,iBAAkB,GAE3B,IAAK,MAAOpgC,EAAMD,KAAU4/B,EAAY7yC,WAAY,CAEhD,MAAMU,EAAQgQ,KAAK6iC,YAAYh9B,IAAIrD,GAEnC,GAAoB,kBAATxS,EAEP,IAAK,MAAOgzC,KAAchjC,KAAK9Q,QAAQqzC,gBAAgB//B,EAAMD,GAAOjT,WAChE0Q,KAAK6iC,YAAY3yB,IAAI8yB,GAAW,QAGnC,GAAKzgC,EAQN,IAAK,MAAO,CAAEygC,KAAchjC,KAAK9Q,QAAQqzC,gBAAgB//B,EAAMD,GAAOjT,WAClEU,EAAMkgB,IAAI8yB,GAAW,QAPzB,IAAK,MAAMzgC,KAASvS,EAAMJ,OACtBI,EAAMkgB,IAAI3N,GAAO,EAS7B,CACA,OAAO,CACX,CAkBA,MAAAkgC,CAAON,GACCA,EAAY3/B,OACZxC,KAAK4iC,iBAAkB,GAE3B,IAAK,MAAOpgC,EAAMD,KAAU4/B,EAAY7yC,WAAY,CAChD,MAAMU,EAAQgQ,KAAK6iC,YAAYh9B,IAAIrD,GAEnC,IAAc,IAAVxS,GAKJ,QAAcmQ,IAAVnQ,IAAiC,IAAVA,EAG3B,GAAKuS,EAMA,EAEkB,IADAvS,EAAM6V,IAAItD,IAEzBvS,EAAMkgB,IAAI3N,GAAO,EAGzB,MAVI,IAAK,MAAMA,KAASvS,EAAMJ,OACtBI,EAAMkgB,IAAI3N,GAAO,QAVrBvC,KAAK6iC,YAAY3yB,IAAI1N,GAAM,EAoBnC,CACJ,EAMG,SAAS8/B,GAAqBH,GACjC,MAAM7yC,EAAa,GAUnB,MATI,eAAgB6yC,GAAeA,EAAY7yC,YAC3C2zC,GAAwB3zC,EAAY6yC,EAAY7yC,YAEhD,YAAa6yC,GAAeA,EAAYe,SACxCD,GAAwB3zC,EAAY6yC,EAAYe,QAAS,SAEzD,WAAYf,GAAeA,EAAYgB,QACvCF,GAAwB3zC,EAAY6yC,EAAYgB,OAAQ,SAErD,CACH3gC,KAAM2/B,EAAY3/B,OAAQ,EAC1BlT,aAER,CAIA,SAAS2zC,GAAwB3zC,EAAY0iC,EAAOoR,GAChD,GAAoB,iBAATpR,EAIX,IAAK,MAAM7gC,KAAQ6gC,EACXh+B,MAAM+T,QAAQ5W,GACd7B,EAAWP,KAAKoC,GAGhB7B,EAAWP,KAAKq0C,EAAS,CAACA,EAAQjyC,GAAQ,CAACA,SAR/C7B,EAAWP,KAAKq0C,EAAS,CAACA,EAAQpR,GAAS,CAACA,GAWpD,CC9gBe,MAAM,GAMjB,WAAA7nB,IAAek5B,GACXrjC,KAAKsjC,UAAY,GACjBtjC,KAAKoM,OAAOi3B,EAChB,CA+BA,GAAAj3B,IAAOi3B,GACH,IAAK,IAAIlyC,KAAQkyC,GAEM,iBAARlyC,GAAoBA,aAAgBsW,UAC3CtW,EAAO,CAAEqR,KAAMrR,IAEnB6O,KAAKsjC,UAAUv0C,KAAKoC,EAE5B,CAiCA,KAAAgO,IAASjQ,GACL,IAAK,MAAMq0C,KAAiBr0C,EACxB,IAAK,MAAMm0C,KAAWrjC,KAAKsjC,UAAW,CAClC,MAAMnkC,EAAQa,KAAKwjC,mBAAmBD,EAAeF,GACrD,GAAIlkC,EACA,MAAO,CACHjQ,QAASq0C,EACTF,UACAlkC,QAGZ,CAEJ,OAAO,IACX,CAWA,QAAAk4B,IAAYnoC,GACR,MAAMu0C,EAAU,GAChB,IAAK,MAAMF,KAAiBr0C,EACxB,IAAK,MAAMm0C,KAAWrjC,KAAKsjC,UAAW,CAClC,MAAMnkC,EAAQa,KAAKwjC,mBAAmBD,EAAeF,GACjDlkC,GACAskC,EAAQ10C,KAAK,CACTG,QAASq0C,EACTF,UACAlkC,SAGZ,CAEJ,OAAOskC,EAAQhzC,OAAS,EAAIgzC,EAAU,IAC1C,CAOA,cAAAC,GACI,GAA8B,IAA1B1jC,KAAKsjC,UAAU7yC,OACf,OAAO,KAEX,MAAM4yC,EAAUrjC,KAAKsjC,UAAU,GACzB9gC,EAAO6gC,EAAQ7gC,KACrB,MAA0B,mBAAX6gC,IAAyB7gC,GAAUA,aAAgBiF,OAAkB,KAAPjF,CACjF,CAOA,kBAAAghC,CAAmBt0C,EAASm0C,GAExB,GAAsB,mBAAXA,EAAuB,CAC9B,MAAMlkC,EAAQkkC,EAAQn0C,GAEtB,OAAKiQ,GAAyB,iBAATA,EAGdmjC,GAAqBnjC,GAFjBA,CAGf,CACA,MAAMA,EAAQ,CAAC,EAEf,GAAIkkC,EAAQ7gC,OACRrD,EAAMqD,KA0ClB,SAAmB6gC,EAAS7gC,GAExB,GAAI6gC,aAAmB57B,OACnB,QAASjF,EAAKrD,MAAMkkC,GAExB,OAAOA,IAAY7gC,CACvB,CAhDyBmhC,CAAUN,EAAQ7gC,KAAMtT,EAAQsT,OACxCrD,EAAMqD,MACP,OAAO,KAGf,MAAMohC,EAAkB,GAExB,OAAIP,EAAQ/zC,aA0JpB,SAAyBu0C,EAAU30C,EAASiQ,GACxC,IAAI2kC,EAGoB,iBAAbD,GAA2BA,aAAoBp8B,QAAYzT,MAAM+T,QAAQ87B,GAWhFC,EAAoB,CAAC,QAAS,eAVP3jC,IAAnB0jC,EAAStjC,OAET,EAAW,kDAAmDsjC,QAE3C1jC,IAAnB0jC,EAASE,OAET,EAAW,kDAAmDF,IAMtE,OAAO30C,EAAQ80C,wBAAwBC,GAAkBJ,GAAW1kC,EAAO2kC,EAC/E,CA5KmCI,CAAgBb,EAAQ/zC,WAAYJ,EAAS00C,IAIpEP,EAAQH,UAiLpB,SAAsBW,EAAU30C,EAASiQ,GACrC,OAAOjQ,EAAQ80C,wBAAwBC,GAAkBJ,EAAU,SAAU1kC,EACjF,CAnLgCglC,CAAad,EAAQH,QAASh0C,EAAS00C,IAI3DP,EAAQF,SAyLpB,SAAqBU,EAAU30C,EAASiQ,GACpC,OAAOjQ,EAAQ80C,wBAAwBC,GAAkBJ,EAAU,SAAU1kC,EACjF,CA3L+BilC,CAAYf,EAAQF,OAAQj0C,EAAS00C,GAPjD,MAWPA,EAAgBnzC,SAChB0O,EAAM7P,WAAas0C,GAEhBzkC,EACX,EASG,SAASklC,GAAiBhB,EAASlyC,GACtC,OAAmB,IAAZkyC,GACHA,IAAYlyC,GACZkyC,aAAmB57B,UAAYvV,OAAOf,GAAMgO,MAAMkkC,EAC1D,CAgFA,SAASY,GAAkBJ,EAAUT,GACjC,GAAIpvC,MAAM+T,QAAQ87B,GACd,OAAOA,EAASvkC,KAAI+jC,GACO,iBAAZA,GAAwBA,aAAmB57B,OAC3C27B,EACH,CAACA,EAAQC,GAAS,GAClB,CAACA,GAAS,SAEEljC,IAAhBkjC,EAAQ1qC,UAAuCwH,IAAlBkjC,EAAQrzC,OAErC,EAAW,uCAAwCqzC,GAEhDD,EACH,CAACA,EAAQC,EAAQ1qC,IAAK0qC,EAAQrzC,OAC9B,CAACqzC,EAAQ1qC,IAAK0qC,EAAQrzC,UAGlC,GAAwB,iBAAb6zC,GAAyBA,aAAoBp8B,OACpD,MAAO,CACH27B,EACI,CAACA,EAAQS,GAAU,GACnB,CAACA,GAAU,IAIvB,MAAMS,EAAqB,GAC3B,IAAK,MAAM3rC,KAAOkrC,EAEVl0C,OAAOwF,UAAUC,eAAeC,KAAKwuC,EAAUlrC,IAC/C2rC,EAAmBv1C,KAAKq0C,EACpB,CAACA,EAAQzqC,EAAKkrC,EAASlrC,IACvB,CAACA,EAAKkrC,EAASlrC,KAG3B,OAAO2rC,CACX,CCzSA,SALA,SAAcxtB,GACZ,IAAIrmB,EAAkB,MAATqmB,EAAgB,EAAIA,EAAMrmB,OACvC,OAAOA,EAASqmB,EAAMrmB,EAAS,QAAK0P,CACtC,ECaA,SArBA,SAAmB2W,EAAO+X,EAAOjB,GAC/B,IAAI16B,GAAS,EACTzC,EAASqmB,EAAMrmB,OAEfo+B,EAAQ,IACVA,GAASA,EAAQp+B,EAAS,EAAKA,EAASo+B,IAE1CjB,EAAMA,EAAMn9B,EAASA,EAASm9B,GACpB,IACRA,GAAOn9B,GAETA,EAASo+B,EAAQjB,EAAM,EAAMA,EAAMiB,IAAW,EAC9CA,KAAW,EAGX,IADA,IAAIn+B,EAASsD,MAAMvD,KACVyC,EAAQzC,GACfC,EAAOwC,GAAS4jB,EAAM5jB,EAAQ27B,GAEhC,OAAOn+B,CACT,ECbA,SAJA,SAAgBkjB,EAAQ3R,GACtB,OAAOA,EAAKxR,OAAS,EAAImjB,EAAS,GAAQA,EAAQ,GAAU3R,EAAM,GAAI,GACxE,ECMA,SANA,SAAmB2R,EAAQ3R,GAGzB,OAFAA,EAAO,GAASA,EAAM2R,GAEL,OADjBA,EAAS,GAAOA,EAAQ3R,YACQ2R,EAAO,GAAM,GAAK3R,IACpD,ECgBA,SAJA,SAAe2R,EAAQ3R,GACrB,OAAiB,MAAV2R,GAAwB,GAAUA,EAAQ3R,EACnD,EClBe,MAAMsiC,GAIjB,WAAAp6B,CAAYq6B,GAIRxkC,KAAKykC,kBAAoB,KAIzBzkC,KAAK0kC,0BAA4B,KACjC1kC,KAAK2kC,QAAU,CAAC,EAChB3kC,KAAK4kC,gBAAkBJ,CAC3B,CAIA,WAAIK,GAEA,OADgBl1C,OAAOqnB,QAAQhX,KAAK2kC,SACpBl0C,MACpB,CAIA,QAAI4hB,GACA,OAAIrS,KAAK6kC,QACE,EAEJ7kC,KAAK8kC,gBAAgBr0C,MAChC,CAQA,KAAAs0C,CAAMC,GACFhlC,KAAKqQ,QACL,MAAM40B,EAgxBd,SAA2BC,GAEvB,IAAIC,EAAY,KACZC,EAAoB,EACpBC,EAAqB,EACrB9yB,EAAe,KACnB,MAAM+yB,EAAY,IAAIr1B,IAEtB,GAAqB,KAAjBi1B,EACA,OAAOI,EAGyC,KAAhDJ,EAAaxyC,OAAOwyC,EAAaz0C,OAAS,KAC1Cy0C,GAA8B,KAGlC,IAAK,IAAIt0C,EAAI,EAAGA,EAAIs0C,EAAaz0C,OAAQG,IAAK,CAC1C,MAAM2O,EAAO2lC,EAAaxyC,OAAO9B,GACjC,GAAkB,OAAdu0C,EAEA,OAAQ5lC,GACJ,IAAK,IAGIgT,IAGDA,EAAe2yB,EAAax0B,OAAO00B,EAAmBx0C,EAAIw0C,GAE1DC,EAAqBz0C,EAAI,GAE7B,MACJ,IAAK,IACL,IAAK,IAEDu0C,EAAY5lC,EACZ,MACJ,IAAK,IAAK,CAGN,MAAMyV,EAAgBkwB,EAAax0B,OAAO20B,EAAoBz0C,EAAIy0C,GAC9D9yB,GAEA+yB,EAAUp1B,IAAIqC,EAAaka,OAAQzX,EAAcyX,QAErDla,EAAe,KAEf6yB,EAAoBx0C,EAAI,EACxB,KACJ,OAGC2O,IAAS4lC,IAEdA,EAAY,KAEpB,CACA,OAAOG,CACX,CA10B6BC,CAAkBP,GACvC,IAAK,MAAOrsC,EAAK3I,KAAUi1C,EACvBjlC,KAAK4kC,gBAAgBY,iBAAiB7sC,EAAK3I,EAAOgQ,KAAK2kC,SAE3D,OAAO3kC,IACX,CAgCA,GAAAmM,CAAI3J,GACA,GAAIxC,KAAK6kC,QACL,OAAO,EAEX,MACMY,EADSzlC,KAAK4kC,gBAAgBc,eAAeljC,EAAMxC,KAAK2kC,SAC5BhS,MAAK,EAAEhhB,KAAcA,IAAanP,IAEpE,OAAOxO,MAAM+T,QAAQ09B,EACzB,CACA,GAAAv1B,CAAIy1B,EAAcC,GAGd,GAFA5lC,KAAKykC,kBAAoB,KACzBzkC,KAAK0kC,0BAA4B,KAC7B,EAASiB,GACT,IAAK,MAAOhtC,EAAK3I,KAAUL,OAAOqnB,QAAQ2uB,GACtC3lC,KAAK4kC,gBAAgBY,iBAAiB7sC,EAAK3I,EAAOgQ,KAAK2kC,cAI3D3kC,KAAK4kC,gBAAgBY,iBAAiBG,EAAcC,EAAe5lC,KAAK2kC,QAEhF,CA6BA,MAAA5tC,CAAO4lB,GACH,IAAK,MAAMna,KAAQ2rB,GAAQxR,GAAQ,CAC/B3c,KAAKykC,kBAAoB,KACzBzkC,KAAK0kC,0BAA4B,KACjC,MAAMziC,EAAO4jC,GAAOrjC,GACpB,GAAMxC,KAAK2kC,QAAS1iC,UACbjC,KAAK2kC,QAAQniC,GACpBxC,KAAK8lC,yBAAyB7jC,EAClC,CACJ,CA2BA,aAAA8jC,CAAcvjC,GACV,OAAOxC,KAAK4kC,gBAAgBmB,cAAcvjC,EAAMxC,KAAK2kC,QACzD,CAyBA,QAAA3lC,GACI,OAAIgB,KAAK6kC,QACE,GAEJ7kC,KAAKgmC,mBACP1mC,KAAI8J,GAAOA,EAAIrX,KAAK,OACpBqtB,OACArtB,KAAK,KAAO,GACrB,CAyDA,WAAAk0C,CAAY1zB,GACR,GAAIvS,KAAK6kC,QACL,OAEJ,GAAI7kC,KAAK2kC,QAAQpyB,KAAkB,EAASvS,KAAK2kC,QAAQpyB,IAErD,OAAOvS,KAAK2kC,QAAQpyB,GAExB,MACMkzB,EADSzlC,KAAK4kC,gBAAgBc,eAAenzB,EAAcvS,KAAK2kC,SACpChS,MAAK,EAAEhhB,KAAcA,IAAaY,IAEpE,OAAIve,MAAM+T,QAAQ09B,GACPA,EAAmB,QAD9B,CAGJ,CAkBA,aAAAX,CAAcoB,GAAS,GACnB,OAAIlmC,KAAK6kC,QACE,GAEPqB,GACAlmC,KAAK0kC,0BAA4B1kC,KAAK0kC,2BAA6B1kC,KAAK4kC,gBAAgBE,cAAc9kC,KAAK2kC,SACpG3kC,KAAK0kC,4BAEhB1kC,KAAKykC,kBAAoBzkC,KAAKykC,mBAAqBzkC,KAAKgmC,mBAAmB1mC,KAAI,EAAE3G,KAASA,IACnFqH,KAAKykC,kBAChB,CAIA,IAAA70C,GACI,OAAOoQ,KAAK8kC,eAChB,CAIA,KAAAz0B,GACIrQ,KAAK2kC,QAAU,CAAC,EAChB3kC,KAAKykC,kBAAoB,KACzBzkC,KAAK0kC,0BAA4B,IACrC,CAIA,SAAAjD,CAAU5qB,GACN,GAAI7W,KAAKqS,OAASwE,EAAMxE,KACpB,OAAO,EAEX,IAAK,MAAMV,KAAY3R,KAAK8kC,gBACxB,IAAKjuB,EAAM1K,IAAIwF,IAAakF,EAAMovB,YAAYt0B,KAAc3R,KAAKimC,YAAYt0B,GACzE,OAAO,EAGf,OAAO,CACX,CAIA,gBAAAq0B,GACI,MAAMhyB,EAAS,GACTpkB,EAAOD,OAAOC,KAAKoQ,KAAK2kC,SAC9B,IAAK,MAAMhsC,KAAO/I,EACdokB,EAAOjlB,QAAQiR,KAAK4kC,gBAAgBc,eAAe/sC,EAAKqH,KAAK2kC,UAEjE,OAAO3wB,CACX,CAMA,MAAA2tB,GACI,MAAM1f,EAAQ,IAAIjiB,KAAKmK,YAAYnK,KAAK4kC,iBAExC,OADA3iB,EAAM/R,IAAIlQ,KAAK+lC,iBACR9jB,CACX,CASA,eAAAkkB,CAAgBC,EAAcC,GAC1B,MAAMlnC,EAAQ,GACd,IAAK,MAAMmnC,KAAatmC,KAAK8kC,eAAc,GACvC,GAAIT,GAAiB+B,EAAcE,GAAY,CAC3C,IAAqB,IAAjBD,EAAuB,CACvBlnC,EAAMpQ,KAAKu3C,GACX,QACJ,CAKIjC,GAAiBgC,EADPrmC,KAAKimC,YAAYK,KAE3BnnC,EAAMpQ,KAAKu3C,EAEnB,CAEJ,OAAOnnC,EAAM1O,OAAS0O,OAAQgB,CAClC,CAQA,eAAAoiC,CAAgB//B,GACZ,MAAM9R,EAAS,GACf,GAAI8R,EAAM,CACN9R,EAAO3B,KAAKyT,GACZ,IAAK,MAAM+jC,KAAevmC,KAAK4kC,gBAAgB4B,iBAAiBhkC,GAC5D9R,EAAO3B,KAAKw3C,EAEpB,MAEI,IAAK,MAAM/jC,KAAQxC,KAAK8kC,gBAAiB,CACrC,IAAK,MAAMyB,KAAevmC,KAAK4kC,gBAAgB4B,iBAAiBhkC,GAC5D9R,EAAO3B,KAAKw3C,GAEhB71C,EAAO3B,KAAKyT,EAChB,CAEJ,OAAO9R,CACX,CAUA,aAAA+1C,CAAc5vB,GACV,IAAK,MAAMle,KAAOke,EAAMiuB,gBACpB,GAAI9kC,KAAKmM,IAAIxT,IAAQqH,KAAKimC,YAAYttC,KAASke,EAAMovB,YAAYttC,GAC7D,OAAO,EAGf,OAAO,CACX,CASA,UAAA+tC,CAAW7vB,GACP,IAAK,MAAM/Q,KAAQ+Q,EAAMiuB,gBAChB9kC,KAAKmM,IAAIrG,IACV9F,KAAKkQ,IAAIpK,EAAM+Q,EAAMovB,YAAYngC,GAG7C,CAUA,WAAA6gC,CAAY9vB,GACR,IAAK,MAAMle,KAAOke,EAAMiuB,gBACpB,IAAK9kC,KAAKmM,IAAIxT,IAAQqH,KAAKimC,YAAYttC,KAASke,EAAMovB,YAAYttC,GAC9D,OAAO,EAGf,OAAO,CACX,CAIA,wBAAAmtC,CAAyB7jC,GACrB,MAAM2kC,EAAY3kC,EAAK5C,MAAM,KAE7B,KADoBunC,EAAUn2C,OAAS,GAEnC,OAEJ,MAAMo2C,EAAaD,EAAUhtC,OAAO,EAAGgtC,EAAUn2C,OAAS,GAAGsB,KAAK,KAC5D+0C,EAAe,GAAI9mC,KAAK2kC,QAASkC,GACvC,IAAKC,EACD,QAEmBn3C,OAAOC,KAAKk3C,GAAcr2C,QAE7CuP,KAAKjJ,OAAO8vC,EAEpB,EAKG,MAAME,GAMT,WAAA58B,GACInK,KAAKgnC,aAAe,IAAI/2B,IACxBjQ,KAAKinC,YAAc,IAAIh3B,IACvBjQ,KAAKknC,UAAY,IAAIj3B,IACrBjQ,KAAKkiC,aAAe,IAAIjyB,GAC5B,CAkBA,gBAAAu1B,CAAiBhjC,EAAMwS,EAAemuB,GAClC,GAAI,EAASnuB,GACTmyB,GAAiBhE,EAAQ0C,GAAOrjC,GAAOwS,QAG3C,GAAIhV,KAAKgnC,aAAa76B,IAAI3J,GAAO,CAC7B,MAAM4kC,EAAapnC,KAAKgnC,aAAanhC,IAAIrD,IACnC,KAAEP,EAAI,MAAEjS,GAAUo3C,EAAWpyB,GACnCmyB,GAAiBhE,EAAQlhC,EAAMjS,EACnC,MAEIm3C,GAAiBhE,EAAQ3gC,EAAMwS,EAEvC,CAsBA,aAAA+wB,CAAcvjC,EAAM2gC,GAChB,IAAK3gC,EACD,OAAO,GAAM,CAAC,EAAG2gC,GAGrB,QAAqBhjC,IAAjBgjC,EAAO3gC,GACP,OAAO2gC,EAAO3gC,GAElB,GAAIxC,KAAKinC,YAAY96B,IAAI3J,GAAO,CAC5B,MAAM6kC,EAAYrnC,KAAKinC,YAAYphC,IAAIrD,GACvC,GAAyB,iBAAd6kC,EACP,OAAO,GAAIlE,EAAQkE,GAEvB,MAAMr3C,EAAQq3C,EAAU7kC,EAAM2gC,GAC9B,GAAInzC,EACA,OAAOA,CAEf,CACA,OAAO,GAAImzC,EAAQ0C,GAAOrjC,GAC9B,CAmCA,cAAAkjC,CAAeljC,EAAM2gC,GACjB,MAAMmE,EAAkBtnC,KAAK+lC,cAAcvjC,EAAM2gC,GAEjD,QAAwBhjC,IAApBmnC,EACA,MAAO,GAEX,GAAItnC,KAAKknC,UAAU/6B,IAAI3J,GAAO,CAE1B,OADgBxC,KAAKknC,UAAUrhC,IAAIrD,EAC5B+kC,CAAQD,EACnB,CACA,MAAO,CAAC,CAAC9kC,EAAM8kC,GACnB,CAMA,aAAAxC,CAAc3B,GACV,MAAMqE,EAAoB,IAAIp1B,IAE9B,IAAK,MAAM5P,KAAQxC,KAAKkiC,aAAatyC,OAAQ,CACzC,MAAM2Q,EAAQP,KAAK+lC,cAAcvjC,EAAM2gC,GACnC5iC,IAA0B,iBAATA,GAAqB5Q,OAAOC,KAAK2Q,GAAO9P,SACzD+2C,EAAkBp7B,IAAI5J,EAE9B,CAGA,IAAK,MAAMA,KAAQ7S,OAAOC,KAAKuzC,GAC3BqE,EAAkBp7B,IAAI5J,GAE1B,OAAOxO,MAAM8N,KAAK0lC,EACtB,CAeA,gBAAAhB,CAAiBhkC,GACb,OAAOxC,KAAKkiC,aAAar8B,IAAIrD,IAAS,EAC1C,CAuDA,aAAAilC,CAAcjlC,EAAMsL,GAChB9N,KAAKgnC,aAAa92B,IAAI1N,EAAMsL,EAChC,CA6CA,YAAA45B,CAAallC,EAAMmlC,GACf3nC,KAAKinC,YAAY/2B,IAAI1N,EAAMmlC,EAC/B,CAqCA,UAAAC,CAAWplC,EAAMsL,GACb9N,KAAKknC,UAAUh3B,IAAI1N,EAAMsL,EAC7B,CAsBA,gBAAA+5B,CAAiBC,EAAeC,GAC5B/nC,KAAKgoC,eAAeF,EAAeC,GACnC,IAAK,MAAME,KAAYF,EACnB/nC,KAAKgoC,eAAeC,EAAU,CAACH,GAEvC,CAIA,cAAAE,CAAexlC,EAAMulC,GACZ/nC,KAAKkiC,aAAa/1B,IAAI3J,IACvBxC,KAAKkiC,aAAahyB,IAAI1N,EAAM,IAEhCxC,KAAKkiC,aAAar8B,IAAIrD,GAAMzT,QAAQg5C,EACxC,EAsEJ,SAASlC,GAAOrjC,GACZ,OAAOA,EAAKpO,QAAQ,IAAK,IAC7B,CAIA,SAAS+yC,GAAiBe,EAAcC,EAAYvC,GAChD,IAAIwC,EAAaxC,EACb,EAASA,KACTwC,EAAa,GAAM,CAAC,EAAG,GAAIF,EAAcC,GAAavC,IAE1D,GAAIsC,EAAcC,EAAYC,EAClC,CCr4Be,MAAMC,GACjB,WAAAl+B,GAIInK,KAAKsoC,KAAO,IAAIl2B,GACpB,CAIA,WAAIyyB,GACA,OAAyB,GAAlB7kC,KAAKsoC,KAAKj2B,IACrB,CAIA,QAAIA,GACA,OAAOrS,KAAKsoC,KAAKj2B,IACrB,CAIA,GAAAlG,CAAI3J,GACA,OAAOxC,KAAKsoC,KAAKn8B,IAAI3J,EACzB,CAIA,IAAA5S,GACI,OAAOoE,MAAM8N,KAAK9B,KAAKsoC,KAAK14C,OAChC,CAIA,KAAAm1C,CAAM/0C,GACFgQ,KAAKqQ,QACL,IAAK,MAAM9N,KAASvS,EAAMqP,MAAM,OACxBkD,GACAvC,KAAKsoC,KAAKl8B,IAAI7J,GAGtB,OAAOvC,IACX,CAIA,GAAAkQ,CAAIpN,GACA,IAAK,MAAMP,KAAS4rB,GAAQrrB,GACpBP,GACAvC,KAAKsoC,KAAKl8B,IAAI7J,EAG1B,CAIA,MAAAxL,CAAO+L,GACH,IAAK,MAAMP,KAAS4rB,GAAQrrB,GACxB9C,KAAKsoC,KAAKl4B,OAAO7N,EAEzB,CAIA,KAAA8N,GACIrQ,KAAKsoC,KAAKj4B,OACd,CAIA,QAAArR,GACI,OAAOhL,MAAM8N,KAAK9B,KAAKsoC,MAAMv2C,KAAK,IACtC,CAIA,SAAA0vC,CAAU5qB,GACN,GAAI7W,KAAKqS,OAASwE,EAAMxE,KACpB,OAAO,EAEX,IAAK,MAAM9P,KAASvC,KAAKpQ,OACrB,IAAKinB,EAAM1K,IAAI5J,GACX,OAAO,EAGf,OAAO,CACX,CAMA,MAAAo/B,GACI,MAAM1f,EAAQ,IAAIjiB,KAAKmK,YAEvB,OADA8X,EAAMqmB,KAAO,IAAIl2B,IAAIpS,KAAKsoC,MACnBrmB,CACX,CAQA,eAAAkkB,CAAgBC,GACZ,MAAMjnC,EAAQ,GACd,IAAqB,IAAjBinC,EAAuB,CACvB,IAAK,MAAM7jC,KAASvC,KAAKsoC,KAAK14C,OAC1BuP,EAAMpQ,KAAKwT,GAEf,OAAOpD,CACX,CACA,GAA2B,iBAAhBinC,EAA0B,CACjC,IAAK,MAAM7jC,KAAS6jC,EAAa/mC,MAAM,OAAQ,CAC3C,IAAIW,KAAKsoC,KAAKn8B,IAAI5J,GAId,OAHApD,EAAMpQ,KAAKwT,EAKnB,CACA,OAAOpD,CACX,CACA,IAAK,MAAMoD,KAASvC,KAAKsoC,KAAK14C,OACtB2S,EAAMpD,MAAMinC,IACZjnC,EAAMpQ,KAAKwT,GAGnB,OAAOpD,EAAM1O,OAAS0O,OAAQgB,CAClC,CAQA,eAAAoiC,CAAgB//B,GACZ,OAAOA,EAAO,CAACA,GAAQxC,KAAKpQ,MAChC,CAUA,aAAA62C,GACI,OAAO,CACX,CASA,UAAAC,CAAW7vB,GACP,IAAK,MAAMtU,KAASsU,EAAMyxB,KAAK14C,OACtBoQ,KAAKsoC,KAAKn8B,IAAI5J,IACfvC,KAAKsoC,KAAKl8B,IAAI7J,EAG1B,CAUA,WAAAokC,CAAY9vB,GACR,IAAK,MAAMrU,KAAQqU,EAAMyxB,KAAK14C,OAC1B,IAAKoQ,KAAKsoC,KAAKn8B,IAAI3J,GACf,OAAO,EAGf,OAAO,CACX,EC5JW,MAAM+lC,WAAgB,GAMjC,YAAIC,GACA,OAAOxoC,KAAKyoC,OAAO5iC,IAAI,QAC3B,CAMA,WAAI8+B,GACA,OAAO3kC,KAAKyoC,OAAO5iC,IAAI,QAC3B,CAkBA,WAAAsE,CAAYhb,EAAUqT,EAAMI,EAAOa,GAC/BsI,MAAM5c,GAYN6Q,KAAK0oC,0BAA4B,GAKjC1oC,KAAK2oC,kBAAoB,IAAI14B,IAC7BjQ,KAAKwC,KAAOA,EACZxC,KAAKyoC,OAASzoC,KAAK4oC,iBAAiBhmC,GACpC5C,KAAK6oC,UAAY,GACbplC,GACAzD,KAAK8oC,aAAa,EAAGrlC,EAE7B,CAIA,cAAIu8B,GACA,OAAOhgC,KAAK6oC,UAAUp4C,MAC1B,CAIA,WAAIo0C,GACA,OAAiC,IAA1B7kC,KAAK6oC,UAAUp4C,MAC1B,CAOA,QAAAyvC,CAAShtC,GACL,OAAO8M,KAAK6oC,UAAU31C,EAC1B,CAOA,aAAAmtC,CAAc1+B,GACV,OAAO3B,KAAK6oC,UAAUxlC,QAAQ1B,EAClC,CAMA,WAAA09B,GACI,OAAOr/B,KAAK6oC,UAAU9iC,OAAOsP,WACjC,CAMA,iBAAC0zB,GAGO/oC,KAAKwoC,gBACC,SAENxoC,KAAK2kC,eACC,SAEV,IAAK,MAAMhsC,KAAOqH,KAAKyoC,OAAO74C,OACf,SAAP+I,GAAyB,SAAPA,UACZA,EAGlB,CAOA,cAACqwC,GACG,IAAK,MAAOxmC,EAAMxS,KAAUgQ,KAAKyoC,OAAOzxB,eAC9B,CAACxU,EAAMtQ,OAAOlC,GAE5B,CAOA,YAAA+vC,CAAapnC,GACT,OAAOqH,KAAKyoC,OAAOt8B,IAAIxT,GAAOzG,OAAO8N,KAAKyoC,OAAO5iC,IAAIlN,SAAQwH,CACjE,CAOA,YAAA8oC,CAAatwC,EAAK4J,GACd,QAAKvC,KAAKyoC,OAAOt8B,IAAIxT,UAGPwH,IAAVoC,IACI2mC,GAAclpC,KAAKwC,KAAM7J,IAAQwwC,GAAcnpC,KAAKwC,KAAM7J,GACnDqH,KAAKyoC,OAAO5iC,IAAIlN,GAAKwT,IAAI5J,GAGzBvC,KAAKyoC,OAAO5iC,IAAIlN,KAAS4J,GAI5C,CAMA,SAAAk/B,CAAU2H,GACN,KAAMA,aAAwBb,IAC1B,OAAO,EAGX,GAAIvoC,OAASopC,EACT,OAAO,EAGX,GAAIppC,KAAKwC,MAAQ4mC,EAAa5mC,KAC1B,OAAO,EAGX,GAAIxC,KAAKyoC,OAAOp2B,OAAS+2B,EAAaX,OAAOp2B,KACzC,OAAO,EAGX,IAAK,MAAO1Z,EAAK3I,KAAUgQ,KAAKyoC,OAAQ,CACpC,MAAMY,EAAaD,EAAaX,OAAO5iC,IAAIlN,GAC3C,QAAmBwH,IAAfkpC,EACA,OAAO,EAEX,GAAoB,iBAATr5C,GAA0C,iBAAdq5C,GACnC,GAAIA,IAAer5C,EACf,OAAO,OAGV,IAAKA,EAAMyxC,UAAU4H,GACtB,OAAO,CAEf,CACA,OAAO,CACX,CAUA,QAAAtK,IAAYuK,GACR,IAAK,MAAM9mC,KAAQ8mC,EACf,IAAKtpC,KAAKwoC,WAAaxoC,KAAKwoC,SAASr8B,IAAI3J,GACrC,OAAO,EAGf,OAAO,CACX,CAIA,aAAA+mC,GACI,MAAMzyB,EAAQ9W,KAAKwoC,SAAWxoC,KAAKwoC,SAAS54C,OAAS,GAE/CylB,EAAWyB,EAAM/Q,OAAOsP,YAC9B,OAAO1lB,OAAO83B,OAAO3Q,EAAO,CACxB8c,KAAMve,EAASue,KAAK3hB,KAAKoD,IAEjC,CA0BA,QAAAm0B,CAAS73B,GACL,OAAO3R,KAAK2kC,SAAW3kC,KAAK2kC,QAAQsB,YAAYt0B,EACpD,CAmCA,kBAAA83B,CAAmB93B,GACf,OAAO3R,KAAK2kC,SAAW3kC,KAAK2kC,QAAQoB,cAAcp0B,EACtD,CAMA,aAAAmzB,CAAcoB,GACV,OAAOlmC,KAAK2kC,QAAU3kC,KAAK2kC,QAAQG,cAAcoB,GAAU,EAC/D,CAUA,QAAAwD,IAAY/3B,GACR,IAAK,MAAMnP,KAAQmP,EACf,IAAK3R,KAAK2kC,UAAY3kC,KAAK2kC,QAAQx4B,IAAI3J,GACnC,OAAO,EAGf,OAAO,CACX,CASA,YAAAmnC,IAAgB9F,GACZ,MAAM+F,EAAU,IAAI,MAAW/F,GAC/B,IAAIziC,EAASpB,KAAKoB,OAClB,KAAOA,IAAWA,EAAOqL,GAAG,qBAAqB,CAC7C,GAAIm9B,EAAQzqC,MAAMiC,GACd,OAAOA,EAEXA,EAASA,EAAOA,MACpB,CACA,OAAO,IACX,CAIA,iBAAAyoC,CAAkBlxC,GACd,OAAOqH,KAAK2oC,kBAAkB9iC,IAAIlN,EACtC,CAKA,oBAACmxC,SACU9pC,KAAK2oC,kBAAkB3xB,SAClC,CA0BA,WAAA+yB,GACI,MAAM7G,EAAUljC,KAAKwoC,SAAWxoC,KAAKwoC,SAAS54C,OAAOwvB,OAAOrtB,KAAK,KAAO,GAClEoxC,EAASnjC,KAAK2kC,SAAWzyC,OAAO8N,KAAK2kC,SACrCr1C,EAAa0E,MAAM8N,KAAK9B,KAAKyoC,QAC9B9xC,QAAO,EAAEgC,KAAgB,SAAPA,GAAyB,SAAPA,IACpC2G,KAAI1O,GAAK,GAAGA,EAAE,OAAOA,EAAE,QACvBwuB,OAAOrtB,KAAK,KACjB,OAAOiO,KAAKwC,MACI,IAAX0gC,EAAgB,GAAK,WAAWA,OAC/BC,EAAc,WAAWA,KAAhB,KACI,IAAd7zC,EAAmB,GAAK,IAAIA,IACrC,CASA,2BAAA06C,CAA4BC,GACxB,OAAOjqC,KAAK0oC,0BAA0BlY,SAASyZ,EACnD,CASA,MAAAtI,CAAOuI,GAAO,GACV,MAAMC,EAAgB,GACtB,GAAID,EACA,IAAK,MAAM/zB,KAASnW,KAAKq/B,cACrB8K,EAAcp7C,KAAKonB,EAAMwrB,OAAOuI,IAIxC,MAAME,EAAS,IAAIpqC,KAAKmK,YAAYnK,KAAK7Q,SAAU6Q,KAAKwC,KAAMxC,KAAKyoC,OAAQ0B,GAS3E,OAPAC,EAAOzB,kBAAoB,IAAI14B,IAAIjQ,KAAK2oC,mBAIxCyB,EAAOC,gBAAkBrqC,KAAKqqC,gBAE9BD,EAAO1B,0BAA4B1oC,KAAK0oC,0BACjC0B,CACX,CAWA,YAAAE,CAAatY,GACT,OAAOhyB,KAAK8oC,aAAa9oC,KAAKggC,WAAYhO,EAC9C,CAYA,YAAA8W,CAAa51C,EAAO8+B,GAChBhyB,KAAKmhC,YAAY,WAAYnhC,KAAM,CAAE9M,UACrC,IAAImG,EAAQ,EACZ,MAAMimB,EAqfd,SAAmBnwB,EAAUmwB,GAEzB,GAAoB,iBAATA,EACP,MAAO,CAAC,IAAIgiB,GAAKnyC,EAAUmwB,IAE1BlK,GAAWkK,KACZA,EAAQ,CAACA,IAEb,MAAMirB,EAAkB,GACxB,IAAK,MAAM5oC,KAAQ2d,EACI,iBAAR3d,EACP4oC,EAAgBx7C,KAAK,IAAIuyC,GAAKnyC,EAAUwS,IAEnCA,aAAgBigC,GACrB2I,EAAgBx7C,KAAK,IAAIuyC,GAAKnyC,EAAUwS,EAAK/P,OAG7C24C,EAAgBx7C,KAAK4S,GAG7B,OAAO4oC,CACX,CA1gBsBC,CAAUxqC,KAAK7Q,SAAU6iC,GACvC,IAAK,MAAMrwB,KAAQ2d,EAEK,OAAhB3d,EAAKP,QACLO,EAAK8wB,UAET9wB,EAAKP,OAASpB,KACd2B,EAAKxS,SAAW6Q,KAAK7Q,SACrB6Q,KAAK6oC,UAAUjvC,OAAO1G,EAAO,EAAGyO,GAChCzO,IACAmG,IAEJ,OAAOA,CACX,CAWA,eAAA6nC,CAAgBhuC,EAAOgW,EAAU,GAC7BlJ,KAAKmhC,YAAY,WAAYnhC,KAAM,CAAE9M,UACrC,IAAK,IAAItC,EAAIsC,EAAOtC,EAAIsC,EAAQgW,EAAStY,IACrCoP,KAAK6oC,UAAUj4C,GAAGwQ,OAAS,KAE/B,OAAOpB,KAAK6oC,UAAUjvC,OAAO1G,EAAOgW,EACxC,CAWA,aAAAuhC,CAAc9xC,EAAK3I,EAAO06C,GAAY,GAElC,GADA1qC,KAAKmhC,YAAY,aAAcnhC,MAC3BkpC,GAAclpC,KAAKwC,KAAM7J,IAAQwwC,GAAcnpC,KAAKwC,KAAM7J,GAAM,CAChE,IAAIgyC,EAAe3qC,KAAKyoC,OAAO5iC,IAAIlN,GAC9BgyC,IACDA,EAAezB,GAAclpC,KAAKwC,KAAM7J,GACpC,IAAI4rC,GAAUvkC,KAAK7Q,SAASy7C,iBAC5B,IAAIvC,GACRroC,KAAKyoC,OAAOv4B,IAAIvX,EAAKgyC,IAErBD,EAEAC,EAAa5F,MAAM7yC,OAAOlC,IAErBk5C,GAAclpC,KAAKwC,KAAM7J,GAC1B3E,MAAM+T,QAAQ/X,GACd26C,EAAaz6B,IAAIlgB,EAAM,GAAIA,EAAM,IAGjC26C,EAAaz6B,IAAIlgB,GAIrB26C,EAAaz6B,IAAoB,iBAATlgB,EAAoBA,EAAMqP,MAAM,OAASrP,EAEzE,MAEIgQ,KAAKyoC,OAAOv4B,IAAIvX,EAAKzG,OAAOlC,GAEpC,CAWA,gBAAA66C,CAAiBlyC,EAAKmK,GAElB,GADA9C,KAAKmhC,YAAY,aAAcnhC,WAChBG,IAAX2C,IAAyBomC,GAAclpC,KAAKwC,KAAM7J,IAAQwwC,GAAcnpC,KAAKwC,KAAM7J,IAAO,CAC1F,MAAMgyC,EAAe3qC,KAAKyoC,OAAO5iC,IAAIlN,GACrC,QAAKgyC,IAGDxB,GAAcnpC,KAAKwC,KAAM7J,IAAyB,iBAAVmK,IACxCA,EAASA,EAAOzD,MAAM,QAE1BsrC,EAAa5zC,OAAO+L,KAChB6nC,EAAa9F,SACN7kC,KAAKyoC,OAAOr4B,OAAOzX,GAGlC,CACA,OAAOqH,KAAKyoC,OAAOr4B,OAAOzX,EAC9B,CAaA,SAAAmyC,CAAUxB,GACNtpC,KAAKyqC,cAAc,QAASnB,GAAW,EAC3C,CAaA,YAAAyB,CAAazB,GACTtpC,KAAK6qC,iBAAiB,QAASvB,EACnC,CACA,SAAA0B,CAAUr5B,EAAU3hB,GACO,iBAAZ2hB,EACP3R,KAAKyqC,cAAc,QAAS94B,GAAU,GAGtC3R,KAAKyqC,cAAc,QAAS,CAAC94B,EAAU3hB,IAAQ,EAEvD,CAiBA,YAAAi7C,CAAat5B,GACT3R,KAAK6qC,iBAAiB,QAASl5B,EACnC,CAoFA,uBAAAqyB,CAAwBH,EAAU1kC,EAAO+rC,GACrC,IAAK,MAAOC,EAAY/E,EAAcC,KAAiBxC,EAAU,CAC7D,IAAIuH,GAAS,EACTC,GAAW,EACf,IAAK,MAAO1yC,EAAK3I,KAAUgQ,KAAKyoC,OAC5B,KAAIyC,GAAWA,EAAQ1a,SAAS73B,KAAS0rC,GAAiB8G,EAAYxyC,IAItE,GADAyyC,GAAS,EACW,iBAATp7C,GACP,GAAIq0C,GAAiB+B,EAAcp2C,GAC/BmP,EAAMpQ,KAAK,CAAC4J,IACZ0yC,GAAW,OAEV,KAAMF,aAAsB1jC,QAC7B,OAAO,MAGV,CACD,MAAM6jC,EAAat7C,EAAMm2C,gBAAgBC,EAAcC,IAAgB,GACvE,GAAIiF,EAAY,CACZD,GAAW,EACX,IAAK,MAAME,KAAkBD,EACzBnsC,EAAMpQ,KAAK,CAAC4J,EAAK4yC,GAEzB,MACK,KAAMJ,aAAsB1jC,QAC7B,OAAO,CAEf,CAEJ,IAAK2jC,IAAWC,EACZ,OAAO,CAEf,CACA,OAAO,CACX,CAWA,eAAA9I,CAAgB5pC,EAAK4J,GACjB,MAAMjT,EAAa,GACnB,GAAIqJ,EAAK,CACL,MAAM3I,EAAQgQ,KAAKyoC,OAAO5iC,IAAIlN,GAC9B,QAAcwH,IAAVnQ,EACA,GAAoB,iBAATA,EACPV,EAAWP,KAAK,CAAC4J,SAGjB,IAAK,MAAMmN,KAAQ9V,EAAMuyC,gBAAgBhgC,GACrCjT,EAAWP,KAAK,CAAC4J,EAAKmN,GAItC,MAEI,IAAK,MAAOnN,EAAK3I,KAAUgQ,KAAKyoC,OAC5B,GAAoB,iBAATz4C,EACPV,EAAWP,KAAK,CAAC4J,SAGjB,IAAK,MAAMmN,KAAQ9V,EAAMuyC,kBACrBjzC,EAAWP,KAAK,CAAC4J,EAAKmN,IAKtC,MAAO,CACHtD,MAAO7J,EACPrJ,aAER,CAYA,uBAAAk8C,CAAwBpC,GACpB,GAAIppC,KAAKwC,MAAQ4mC,EAAa5mC,KAC1B,OAAO,EAEX,IAAK,MAAO7J,EAAK0wC,KAAeD,EAAaX,OAAQ,CACjD,MAAMz4C,EAAQgQ,KAAKyoC,OAAO5iC,IAAIlN,GAC9B,QAAcwH,IAAVnQ,EAGJ,GAAoB,iBAATA,GAA0C,iBAAdq5C,GACnC,GAAIr5C,IAAUq5C,EACV,OAAO,OAGV,IAAKr5C,EAAMy2C,cAAc4C,GAC1B,OAAO,CAEf,CACA,OAAO,CACX,CAYA,oBAAAoC,CAAqBrC,GACjBppC,KAAKmhC,YAAY,aAAcnhC,MAE/B,IAAK,MAAOrH,EAAK0wC,KAAeD,EAAaX,OAAQ,CACjD,MAAMz4C,EAAQgQ,KAAKyoC,OAAO5iC,IAAIlN,QAChBwH,IAAVnQ,GAAuC,iBAATA,GAA0C,iBAAdq5C,EAC1DrpC,KAAKyqC,cAAc9xC,EAAK0wC,GAGxBr5C,EAAM02C,WAAW2C,EAEzB,CACJ,CAYA,wBAAAqC,CAAyBtC,GACrB,GAAIppC,KAAKwC,MAAQ4mC,EAAa5mC,KAC1B,OAAO,EAEX,IAAK,MAAO7J,EAAK0wC,KAAeD,EAAaX,OAAQ,CACjD,MAAMz4C,EAAQgQ,KAAKyoC,OAAO5iC,IAAIlN,GAC9B,QAAcwH,IAAVnQ,EACA,OAAO,EAEX,GAAoB,iBAATA,GAA0C,iBAAdq5C,GACnC,GAAIr5C,IAAUq5C,EACV,OAAO,OAGV,IAAKr5C,EAAM22C,YAAY0C,GACxB,OAAO,CAEf,CACA,OAAO,CACX,CAaA,qBAAAsC,CAAsBvC,GAClBppC,KAAKmhC,YAAY,aAAcnhC,MAC/B,IAAK,MAAOrH,EAAK0wC,KAAeD,EAAaX,OAAQ,CACjD,MAAMz4C,EAAQgQ,KAAKyoC,OAAO5iC,IAAIlN,GACV,iBAAT3I,GAA0C,iBAAdq5C,EACnCrpC,KAAKyoC,OAAOr4B,OAAOzX,IAGnB3I,EAAM+G,OAAOsyC,EAAWz5C,QACpBI,EAAM60C,SACN7kC,KAAKyoC,OAAOr4B,OAAOzX,GAG/B,CACJ,CAQA,kBAAAizC,CAAmBjzC,EAAK3I,GACpBgQ,KAAK2oC,kBAAkBz4B,IAAIvX,EAAK3I,EACpC,CAQA,qBAAA67C,CAAsBlzC,GAClB,OAAOqH,KAAK2oC,kBAAkBv4B,OAAOzX,EACzC,CASA,gBAAAiwC,CAAiBhmC,GACb,MAAMkpC,EAAW,GAAMlpC,GACvB,IAAK,MAAOjK,EAAK3I,KAAU87C,EACvB,GAAc,OAAV97C,EACA87C,EAAS17B,OAAOzX,QAEf,GAAIuwC,GAAclpC,KAAKwC,KAAM7J,GAAM,CAEpC,MAAMqZ,EAAWhiB,aAAiBu0C,GAC9Bv0C,EAAM2xC,SACN,IAAI4C,GAAUvkC,KAAK7Q,SAASy7C,iBAAiB7F,MAAM7yC,OAAOlC,IAC9D87C,EAAS57B,IAAIvX,EAAKqZ,EACtB,MACK,GAAIm3B,GAAcnpC,KAAKwC,KAAM7J,GAAM,CAEpC,MAAMqZ,EAAWhiB,aAAiBq4C,GAC9Br4C,EAAM2xC,UACN,IAAI0G,IAAYtD,MAAM7yC,OAAOlC,IACjC87C,EAAS57B,IAAIvX,EAAKqZ,EACtB,KACyB,iBAAThiB,GACZ87C,EAAS57B,IAAIvX,EAAKzG,OAAOlC,IAGjC,OAAO87C,CACX,EA0CJ,SAAS3C,GAAc4C,EAAapzC,GAChC,MAAc,SAAPA,GAAiC,KAAfozC,GAA6B,OAAPpzC,CACnD,CAIA,SAASuwC,GAAc6C,EAAapzC,GAChC,MAAc,SAAPA,CACX,CA9CA4vC,GAAQpzC,UAAUsX,GAAK,SAAUvJ,EAAMV,GACnC,OAAKA,EAMMA,IAASxC,KAAKwC,OAAkB,YAATU,GAA+B,iBAATA,GALpC,YAATA,GAA+B,iBAATA,GAEhB,SAATA,GAA4B,cAATA,CAK/B,EC57Be,MAAM8oC,WAAyBzD,GAY1C,WAAAp+B,CAAYhb,EAAUqT,EAAMI,EAAOa,GAC/BsI,MAAM5c,EAAUqT,EAAMI,EAAOa,GAC7BzD,KAAKqqC,gBAAkBA,EAC3B,EAsBG,SAASA,KACZ,MAAM5mC,EAAW,IAAIzD,KAAKq/B,eACpB4M,EAAYxoC,EAASzD,KAAKggC,WAAa,GAE7C,GAAIiM,GAAaA,EAAUx/B,GAAG,UAAW,MACrC,OAAOzM,KAAKggC,WAEhB,IAAK,MAAM7pB,KAAS1S,EAEhB,IAAK0S,EAAM1J,GAAG,aACV,OAAO,KAIf,OAAOzM,KAAKggC,UAChB,CAjCAgM,GAAiB72C,UAAUsX,GAAK,SAAUvJ,EAAMV,GAC5C,OAAKA,EAOMA,IAASxC,KAAKwC,OAAkB,qBAATU,GAAwC,0BAATA,GAEhD,YAATA,GAA+B,iBAATA,GARV,qBAATA,GAAwC,0BAATA,GAEzB,YAATA,GAA+B,iBAATA,GACb,SAATA,GAA4B,cAATA,CAO/B,ECxCe,MAAMgpC,WAAwCx6B,EAAgBs6B,KAWzE,WAAA7hC,CAAYhb,EAAUqT,EAAMlT,EAAYmU,GACpCsI,MAAM5c,EAAUqT,EAAMlT,EAAYmU,GAClCzD,KAAKkQ,IAAI,cAAc,GACvBlQ,KAAKkQ,IAAI,aAAa,GACtBlQ,KAAKkQ,IAAI,mBAAe/P,GACxBH,KAAKiS,KAAK,cAAclQ,GAAG5S,GAC3B6Q,KAAKiS,KAAK,aAAalQ,GAAG5S,EAAU,aAAagmC,GAAaA,GAAahmC,EAASopC,UAAU4T,iBAAmBnsC,OAEjHA,KAAK+N,SAAS5e,EAASopC,UAAW,UAAU,KACxCv4B,KAAKm1B,UAAYhmC,EAASgmC,WAAahmC,EAASopC,UAAU4T,iBAAmBnsC,IAAI,GAEzF,CACA,OAAAimB,GACIjmB,KAAKkO,eACT,EAIJg+B,GAAgB/2C,UAAUsX,GAAK,SAAUvJ,EAAMV,GAC3C,OAAKA,EAQMA,IAASxC,KAAKwC,OAAkB,oBAATU,GAAuC,yBAATA,GAE/C,qBAATA,GAAwC,0BAATA,GACtB,YAATA,GAA+B,iBAATA,GAVV,oBAATA,GAAuC,yBAATA,GAExB,qBAATA,GAAwC,0BAATA,GACtB,YAATA,GAA+B,iBAATA,GACb,SAATA,GAA4B,cAATA,CAQ/B,ECrDA,MAAMkpC,GAAiBrmC,OAAO,YAMf,MAAMsmC,WAA4BH,GAO7C,WAAA/hC,CAAYhb,EAAUqT,GAClBuJ,MAAM5c,EAAUqT,GAChBxC,KAAK04B,SAAW,MACpB,CAOA,YAAIA,GACA,OAAO14B,KAAK6pC,kBAAkBuC,GAClC,CACA,YAAI1T,CAASA,GACT14B,KAAK4rC,mBAAmBQ,GAAgB1T,EAC5C,CAUA,SAAI4T,CAAM9pC,GACNxC,KAAKwC,KAAOA,CAChB,EAIJ6pC,GAAoBl3C,UAAUsX,GAAK,SAAUvJ,EAAMV,GAC/C,OAAKA,EASMA,IAASxC,KAAKwC,OAAkB,gBAATU,GAAmC,qBAATA,GAE3C,oBAATA,GAAuC,yBAATA,GACrB,qBAATA,GAAwC,0BAATA,GACtB,YAATA,GAA+B,iBAATA,GAZV,gBAATA,GAAmC,qBAATA,GAEpB,oBAATA,GAAuC,yBAATA,GACrB,qBAATA,GAAwC,0BAATA,GACtB,YAATA,GAA+B,iBAATA,GACb,SAATA,GAA4B,cAATA,CAS/B,EC1De,MAAMqpC,GAMjB,WAAApiC,CAAYlb,EAAU,CAAC,GACnB,IAAKA,EAAQu9C,aAAev9C,EAAQw9C,cAMhC,MAAM,IAAI,EAAc,qCAAsC,MAElE,GAAIx9C,EAAQw1B,WAAkC,WAArBx1B,EAAQw1B,WAA+C,YAArBx1B,EAAQw1B,UAM/D,MAAM,IAAI,EAAc,qCAAsCx1B,EAAQw9C,cAAe,CAAEhoB,UAAWx1B,EAAQw1B,YAE9GzkB,KAAKwsC,WAAav9C,EAAQu9C,YAAc,KACpCv9C,EAAQw9C,cACRzsC,KAAK0sC,UAAYC,GAASC,UAAU39C,EAAQw9C,eAG5CzsC,KAAK0sC,UAAYC,GAASC,UAAU39C,EAAQu9C,WAAgC,YAArBv9C,EAAQw1B,UAA0B,MAAQ,UAErGzkB,KAAKykB,UAAYx1B,EAAQw1B,WAAa,UACtCzkB,KAAK6sC,mBAAqB59C,EAAQ49C,iBAClC7sC,KAAK8sC,UAAY79C,EAAQ69C,QACzB9sC,KAAK+sC,mBAAqB99C,EAAQ89C,iBAClC/sC,KAAKgtC,qBAAuBhtC,KAAKwsC,WAAaxsC,KAAKwsC,WAAW3d,MAAMztB,OAAS,KAC7EpB,KAAKitC,mBAAqBjtC,KAAKwsC,WAAaxsC,KAAKwsC,WAAW5e,IAAIxsB,OAAS,IAC7E,CAIA,CAAC2E,OAAOsP,YACJ,OAAOrV,IACX,CAKA,YAAI5J,GACA,OAAO4J,KAAK0sC,SAChB,CAeA,IAAAQ,CAAKA,GACD,IAAIC,EACAC,EACJ,GACIA,EAAeptC,KAAK5J,SACpB+2C,EAAantC,KAAK4zB,cACZuZ,EAAWtZ,MAAQqZ,EAAKC,EAAWn9C,QACxCm9C,EAAWtZ,OACZ7zB,KAAK0sC,UAAYU,EAEzB,CAgBA,MAAAC,CAAOj3C,GACC4J,KAAKgtC,sBAAwB52C,EAAS0qC,SAAS9gC,KAAKwsC,WAAW3d,OAC/Dz4B,EAAW4J,KAAKwsC,WAAW3d,MAEtB7uB,KAAKitC,oBAAsB72C,EAAS6qC,QAAQjhC,KAAKwsC,WAAW5e,OACjEx3B,EAAW4J,KAAKwsC,WAAW5e,KAE/B5tB,KAAK0sC,UAAYt2C,EAAS6rB,OAC9B,CAOA,IAAA2R,GACI,MAAsB,WAAlB5zB,KAAKykB,UACEzkB,KAAKstC,QAGLttC,KAAKutC,WAEpB,CAIA,KAAAD,GACI,IAAIl3C,EAAW4J,KAAK5J,SAAS6rB,QAC7B,MAAMurB,EAAmBxtC,KAAK5J,SACxBgL,EAAShL,EAASgL,OAExB,GAAsB,OAAlBA,EAAOA,QAAmBhL,EAAS2jB,SAAW3Y,EAAO4+B,WACrD,MAAO,CAAEnM,MAAM,EAAM7jC,WAAOmQ,GAGhC,GAAIiB,IAAWpB,KAAKitC,oBAAsB72C,EAAS2jB,QAAU/Z,KAAKwsC,WAAW5e,IAAI7T,OAC7E,MAAO,CAAE8Z,MAAM,EAAM7jC,WAAOmQ,GAGhC,IAAIwB,EAEJ,GAAIP,GAAUA,EAAOqL,GAAG,cAAe,CACnC,GAAIrW,EAASq3C,QAGT,OADAztC,KAAK0sC,UAAYC,GAASe,aAAatsC,GAChCpB,KAAKstC,QAEhB3rC,EAAOP,EAAOxP,KAAKwE,EAAS2jB,OAChC,MAEIpY,EAAOP,EAAO8+B,SAAS9pC,EAAS2jB,QAEpC,GAAmB,iBAARpY,EAAkB,CACzB,IAAIgsC,EACJ,GAAI3tC,KAAK6sC,iBACLc,EAAa,MAEZ,CAGDA,GADkBvsC,IAAWpB,KAAKitC,mBAAqBjtC,KAAKwsC,WAAW5e,IAAI7T,OAAS3Y,EAAOxP,KAAKnB,QACvE2F,EAAS2jB,MACtC,CACA,MAAM6zB,EAAY,IAAIhM,GAAUxgC,EAAQhL,EAAS2jB,OAAQ4zB,GAGzD,OAFAv3C,EAAS2jB,QAAU4zB,EACnB3tC,KAAK0sC,UAAYt2C,EACV4J,KAAK6tC,mBAAmB,OAAQD,EAAWJ,EAAkBp3C,EAAUu3C,EAClF,CACA,GAAIhsC,GAAQA,EAAK8K,GAAG,gBAAiB,CACjC,GAAKzM,KAAK8sC,QAGL,CAED,GAAI9sC,KAAKwsC,YAAcxsC,KAAKwsC,WAAW5e,IAAIkT,SAAS1qC,GAChD,MAAO,CAAEy9B,MAAM,EAAM7jC,WAAOmQ,GAEhC/J,EAAS2jB,QACb,MARI3jB,EAAW,IAAIu2C,GAAShrC,EAAM,GAUlC,OADA3B,KAAK0sC,UAAYt2C,EACV4J,KAAK6tC,mBAAmB,eAAgBlsC,EAAM6rC,EAAkBp3C,EAAU,EACrF,CACA,GAAIuL,GAAQA,EAAK8K,GAAG,cAAe,CAC/B,GAAIzM,KAAK6sC,iBAGL,OAFAz2C,EAAW,IAAIu2C,GAAShrC,EAAM,GAC9B3B,KAAK0sC,UAAYt2C,EACV4J,KAAKstC,QAEhB,IACIn8C,EADA28C,EAAkBnsC,EAAK/P,KAAKnB,OAchC,OAXIkR,GAAQ3B,KAAKitC,oBACba,EAAkB9tC,KAAKwsC,WAAW5e,IAAI7T,OACtC5oB,EAAO,IAAIywC,GAAUjgC,EAAM,EAAGmsC,GAC9B13C,EAAWu2C,GAASe,aAAav8C,KAGjCA,EAAO,IAAIywC,GAAUjgC,EAAM,EAAGA,EAAK/P,KAAKnB,QAExC2F,EAAS2jB,UAEb/Z,KAAK0sC,UAAYt2C,EACV4J,KAAK6tC,mBAAmB,OAAQ18C,EAAMq8C,EAAkBp3C,EAAU03C,EAC7E,CAIA,OAFA13C,EAAWu2C,GAASe,aAAatsC,GACjCpB,KAAK0sC,UAAYt2C,EACb4J,KAAK+sC,iBACE/sC,KAAKstC,QAETttC,KAAK6tC,mBAAmB,aAAczsC,EAAQosC,EAAkBp3C,EAC3E,CAIA,SAAAm3C,GACI,IAAIn3C,EAAW4J,KAAK5J,SAAS6rB,QAC7B,MAAMurB,EAAmBxtC,KAAK5J,SACxBgL,EAAShL,EAASgL,OAExB,GAAsB,OAAlBA,EAAOA,QAAuC,IAApBhL,EAAS2jB,OACnC,MAAO,CAAE8Z,MAAM,EAAM7jC,WAAOmQ,GAGhC,GAAIiB,GAAUpB,KAAKgtC,sBAAwB52C,EAAS2jB,QAAU/Z,KAAKwsC,WAAW3d,MAAM9U,OAChF,MAAO,CAAE8Z,MAAM,EAAM7jC,WAAOmQ,GAGhC,IAAIwB,EAEJ,GAAIP,EAAOqL,GAAG,cAAe,CACzB,GAAIrW,EAAS23C,UAGT,OADA/tC,KAAK0sC,UAAYC,GAASqB,cAAc5sC,GACjCpB,KAAKutC,YAEhB5rC,EAAOP,EAAOxP,KAAKwE,EAAS2jB,OAAS,EACzC,MAEIpY,EAAOP,EAAO8+B,SAAS9pC,EAAS2jB,OAAS,GAE7C,GAAmB,iBAARpY,EAAkB,CACzB,IAAIgsC,EACJ,GAAK3tC,KAAK6sC,iBAMNc,EAAa,MANW,CAExB,MAAMM,EAAc7sC,IAAWpB,KAAKgtC,qBAAuBhtC,KAAKwsC,WAAW3d,MAAM9U,OAAS,EAC1F4zB,EAAav3C,EAAS2jB,OAASk0B,CACnC,CAIA73C,EAAS2jB,QAAU4zB,EACnB,MAAMC,EAAY,IAAIhM,GAAUxgC,EAAQhL,EAAS2jB,OAAQ4zB,GAEzD,OADA3tC,KAAK0sC,UAAYt2C,EACV4J,KAAK6tC,mBAAmB,OAAQD,EAAWJ,EAAkBp3C,EAAUu3C,EAClF,CACA,GAAIhsC,GAAQA,EAAK8K,GAAG,gBAChB,OAAIzM,KAAK8sC,SACL12C,EAAS2jB,SACT/Z,KAAK0sC,UAAYt2C,EACV4J,KAAK6tC,mBAAmB,eAAgBlsC,EAAM6rC,EAAkBp3C,EAAU,KAErFA,EAAW,IAAIu2C,GAAShrC,EAAMA,EAAKq+B,YACnChgC,KAAK0sC,UAAYt2C,EACb4J,KAAK+sC,iBACE/sC,KAAKutC,YAETvtC,KAAK6tC,mBAAmB,aAAclsC,EAAM6rC,EAAkBp3C,IAEzE,GAAIuL,GAAQA,EAAK8K,GAAG,cAAe,CAC/B,GAAIzM,KAAK6sC,iBAGL,OAFAz2C,EAAW,IAAIu2C,GAAShrC,EAAMA,EAAK/P,KAAKnB,QACxCuP,KAAK0sC,UAAYt2C,EACV4J,KAAKutC,YAEhB,IACIp8C,EADA28C,EAAkBnsC,EAAK/P,KAAKnB,OAGhC,GAAIkR,GAAQ3B,KAAKgtC,qBAAsB,CACnC,MAAMjzB,EAAS/Z,KAAKwsC,WAAW3d,MAAM9U,OACrC5oB,EAAO,IAAIywC,GAAUjgC,EAAMoY,EAAQpY,EAAK/P,KAAKnB,OAASspB,GACtD+zB,EAAkB38C,EAAKS,KAAKnB,OAC5B2F,EAAWu2C,GAASqB,cAAc78C,EACtC,MAEIA,EAAO,IAAIywC,GAAUjgC,EAAM,EAAGA,EAAK/P,KAAKnB,QAExC2F,EAAS2jB,SAGb,OADA/Z,KAAK0sC,UAAYt2C,EACV4J,KAAK6tC,mBAAmB,OAAQ18C,EAAMq8C,EAAkBp3C,EAAU03C,EAC7E,CAIA,OAFA13C,EAAWu2C,GAASqB,cAAc5sC,GAClCpB,KAAK0sC,UAAYt2C,EACV4J,KAAK6tC,mBAAmB,eAAgBzsC,EAAQosC,EAAkBp3C,EAAU,EACvF,CAUA,kBAAAy3C,CAAmB3qC,EAAM/R,EAAMq8C,EAAkBU,EAAcz9C,GA6B3D,OAxBIU,EAAKsb,GAAG,qBAEJtb,EAAK2wC,aAAe3wC,EAAKS,KAAKnB,QAAUU,EAAK0wC,SAASjwC,KAAKnB,SACrC,WAAlBuP,KAAKykB,WAA4BzkB,KAAKwsC,YAAcxsC,KAAKwsC,WAAW5e,IAAItK,QAAQtjB,KAAK5J,UAMrFo3C,EAAmBb,GAASe,aAAav8C,EAAK0wC,WAL9CqM,EAAevB,GAASe,aAAav8C,EAAK0wC,UAE1C7hC,KAAK0sC,UAAYwB,IAOC,IAAtB/8C,EAAK2wC,eACiB,YAAlB9hC,KAAKykB,WAA6BzkB,KAAKwsC,YAAcxsC,KAAKwsC,WAAW3d,MAAMvL,QAAQtjB,KAAK5J,UAMxFo3C,EAAmBb,GAASqB,cAAc78C,EAAK0wC,WAL/CqM,EAAevB,GAASqB,cAAc78C,EAAK0wC,UAE3C7hC,KAAK0sC,UAAYwB,KAOtB,CACHra,MAAM,EACN7jC,MAAO,CACHkT,OACA/R,OACAq8C,mBACAU,eACAz9C,UAGZ,ECpUW,MAAMk8C,WAAiBxM,GAOlC,WAAAh2B,CAAY/I,EAAQ2Y,GAChBhO,QACA/L,KAAKoB,OAASA,EACdpB,KAAK+Z,OAASA,CAClB,CAKA,aAAIo0B,GACA,OAAInuC,KAAKoB,OAAOqL,GAAG,SACR,KAEJzM,KAAKoB,OAAO8+B,SAASlgC,KAAK+Z,SAAW,IAChD,CAKA,cAAIq0B,GACA,OAAIpuC,KAAKoB,OAAOqL,GAAG,SACR,KAEJzM,KAAKoB,OAAO8+B,SAASlgC,KAAK+Z,OAAS,IAAM,IACpD,CAIA,aAAIg0B,GACA,OAAuB,IAAhB/tC,KAAK+Z,MAChB,CAIA,WAAI0zB,GACA,MAAMY,EAAYruC,KAAKoB,OAAOqL,GAAG,SAAWzM,KAAKoB,OAAOxP,KAAKnB,OAASuP,KAAKoB,OAAO4+B,WAClF,OAAOhgC,KAAK+Z,SAAWs0B,CAC3B,CAIA,QAAIhgD,GACA,OAAO2R,KAAKoB,OAAO/S,IACvB,CAKA,mBAAI89C,GACA,IAAImC,EAAWtuC,KAAKoB,OACpB,OAASktC,aAAoBpC,KAAkB,CAC3C,IAAIoC,EAASltC,OAIT,OAAO,KAHPktC,EAAWA,EAASltC,MAK5B,CACA,OAAOktC,CACX,CAOA,YAAAC,CAAa7iB,GACT,MAAM8iB,EAAU7B,GAASC,UAAU5sC,MAC7B+Z,EAASy0B,EAAQz0B,OAAS2R,EAEhC,OADA8iB,EAAQz0B,OAASA,EAAS,EAAI,EAAIA,EAC3By0B,CACX,CAkBA,uBAAAC,CAAwBvB,EAAMj+C,EAAU,CAAC,GACrCA,EAAQw9C,cAAgBzsC,KACxB,MAAM0uC,EAAa,IAAInC,GAAWt9C,GAElC,OADAy/C,EAAWxB,KAAKA,GACTwB,EAAWt4C,QACtB,CAMA,YAAAipB,GACI,OAAIrf,KAAKoB,OAAOqL,GAAG,oBACR,CAACzM,KAAKoB,QAGNpB,KAAKoB,OAAOie,aAAa,CAAEohB,aAAa,GAEvD,CAKA,iBAAAE,CAAkBvqC,GACd,MAAMwqC,EAAa5gC,KAAKqf,eAClBwhB,EAAazqC,EAASipB,eAC5B,IAAIzuB,EAAI,EACR,KAAOgwC,EAAWhwC,IAAMiwC,EAAWjwC,IAAMgwC,EAAWhwC,IAChDA,IAEJ,OAAa,IAANA,EAAU,KAAOgwC,EAAWhwC,EAAI,EAC3C,CAOA,OAAA0yB,CAAQqrB,GACJ,OAAQ3uC,KAAKoB,QAAUutC,EAAcvtC,QAAUpB,KAAK+Z,QAAU40B,EAAc50B,MAChF,CAWA,QAAA+mB,CAAS6N,GACL,MAA0C,UAAnC3uC,KAAK4uC,YAAYD,EAC5B,CAWA,OAAA1N,CAAQ0N,GACJ,MAA0C,SAAnC3uC,KAAK4uC,YAAYD,EAC5B,CAOA,WAAAC,CAAYD,GACR,GAAI3uC,KAAK3R,OAASsgD,EAActgD,KAC5B,MAAO,YAEX,GAAI2R,KAAKsjB,QAAQqrB,GACb,MAAO,OAGX,MAAM5N,EAAW/gC,KAAKoB,OAAOqL,GAAG,QAAUzM,KAAKoB,OAAOm/B,UAAY,GAC5DsO,EAAYF,EAAcvtC,OAAOqL,GAAG,QAAUkiC,EAAcvtC,OAAOm/B,UAAY,GAErFQ,EAAShyC,KAAKiR,KAAK+Z,QACnB80B,EAAU9/C,KAAK4/C,EAAc50B,QAE7B,MAAMrpB,EAASwkB,GAAc6rB,EAAU8N,GACvC,OAAQn+C,GACJ,IAAK,SACD,MAAO,SACX,IAAK,YACD,MAAO,QACX,QAEI,OAAOqwC,EAASrwC,GAAUm+C,EAAUn+C,GAAU,SAAW,QAErE,CAMA,SAAAo+C,CAAU7/C,EAAU,CAAC,GAEjB,OADAA,EAAQw9C,cAAgBzsC,KACjB,IAAIusC,GAAWt9C,EAC1B,CAIA,KAAAgzB,GACI,OAAO,IAAI0qB,GAAS3sC,KAAKoB,OAAQpB,KAAK+Z,OAC1C,CAiBA,gBAAO6yB,CAAUmC,EAAgBh1B,GAC7B,GAAIg1B,aAA0BpC,GAC1B,OAAO,IAAI3sC,KAAK+uC,EAAe3tC,OAAQ2tC,EAAeh1B,QAErD,CACD,MAAMpY,EAAOotC,EACb,GAAc,OAAVh1B,EACAA,EAASpY,EAAK8K,GAAG,SAAW9K,EAAK/P,KAAKnB,OAASkR,EAAKq+B,eAEnD,IAAc,UAAVjmB,EACL,OAAO/Z,KAAKguC,cAAcrsC,GAEzB,GAAc,SAAVoY,EACL,OAAO/Z,KAAK0tC,aAAa/rC,GAExB,GAAe,IAAXoY,IAAiBA,EAOtB,MAAM,IAAI,EAAc,wCAAyCpY,EACrE,CACA,OAAO,IAAIgrC,GAAShrC,EAAMoY,EAC9B,CACJ,CAOA,mBAAO2zB,CAAav8C,GAEhB,GAAIA,EAAKsb,GAAG,cACR,OAAO,IAAIkgC,GAASx7C,EAAK0wC,SAAU1wC,EAAK2wC,aAAe3wC,EAAKS,KAAKnB,QAErE,IAAKU,EAAKiQ,OAON,MAAM,IAAI,EAAc,2BAA4BjQ,EAAM,CAAE9C,KAAM8C,IAEtE,OAAO,IAAIw7C,GAASx7C,EAAKiQ,OAAQjQ,EAAK+B,MAAQ,EAClD,CAOA,oBAAO86C,CAAc78C,GAEjB,GAAIA,EAAKsb,GAAG,cACR,OAAO,IAAIkgC,GAASx7C,EAAK0wC,SAAU1wC,EAAK2wC,cAE5C,IAAK3wC,EAAKiQ,OAON,MAAM,IAAI,EAAc,4BAA6BjQ,EAAM,CAAE9C,KAAM8C,IAEvE,OAAO,IAAIw7C,GAASx7C,EAAKiQ,OAAQjQ,EAAK+B,MAC1C,EAIJy5C,GAASx3C,UAAUsX,GAAK,SAAUvJ,GAC9B,MAAgB,aAATA,GAAgC,kBAATA,CAClC,EC9Se,MAAM8rC,WAAc7O,GAS/B,WAAAh2B,CAAY0kB,EAAOjB,EAAM,MACrB7hB,QACA/L,KAAK6uB,MAAQA,EAAM5M,QACnBjiB,KAAK4tB,IAAMA,EAAMA,EAAI3L,QAAU4M,EAAM5M,OACzC,CAYA,EAAElc,OAAOsP,kBACE,IAAIk3B,GAAW,CAAEC,WAAYxsC,KAAM+sC,kBAAkB,GAChE,CAIA,eAAIkC,GACA,OAAOjvC,KAAK6uB,MAAMvL,QAAQtjB,KAAK4tB,IACnC,CAKA,UAAI9R,GACA,OAAO9b,KAAK6uB,MAAMztB,SAAWpB,KAAK4tB,IAAIxsB,MAC1C,CAIA,QAAI/S,GACA,OAAO2R,KAAK6uB,MAAMxgC,IACtB,CAoBA,WAAA6gD,GACI,IAAIrgB,EAAQ7uB,KAAK6uB,MAAM4f,wBAAwBU,GAAiB,CAAE1qB,UAAW,aACzEmJ,EAAM5tB,KAAK4tB,IAAI6gB,wBAAwBU,IAQ3C,OANItgB,EAAMztB,OAAOqL,GAAG,UAAYoiB,EAAMkf,YAClClf,EAAQ8d,GAASqB,cAAcnf,EAAMztB,SAErCwsB,EAAIxsB,OAAOqL,GAAG,UAAYmhB,EAAI6f,UAC9B7f,EAAM+e,GAASe,aAAa9f,EAAIxsB,SAE7B,IAAI4tC,GAAMngB,EAAOjB,EAC5B,CAoBA,UAAAwhB,GACI,IAAIvgB,EAAQ7uB,KAAK6uB,MAAM4f,wBAAwBU,IAC/C,GAAItgB,EAAMoS,QAAQjhC,KAAK4tB,MAAQiB,EAAMvL,QAAQtjB,KAAK4tB,KAC9C,OAAO,IAAIohB,GAAMngB,EAAOA,GAE5B,IAAIjB,EAAM5tB,KAAK4tB,IAAI6gB,wBAAwBU,GAAiB,CAAE1qB,UAAW,aACzE,MAAM4qB,EAAiBxgB,EAAMsf,UACvBmB,EAAgB1hB,EAAIwgB,WAQ1B,OANIiB,GAAkBA,EAAe5iC,GAAG,WACpCoiB,EAAQ,IAAI8d,GAAS0C,EAAgB,IAErCC,GAAiBA,EAAc7iC,GAAG,WAClCmhB,EAAM,IAAI+e,GAAS2C,EAAeA,EAAc19C,KAAKnB,SAElD,IAAIu+C,GAAMngB,EAAOjB,EAC5B,CAOA,OAAAtK,CAAQisB,GACJ,OAAOvvC,MAAQuvC,GAAevvC,KAAK6uB,MAAMvL,QAAQisB,EAAW1gB,QAAU7uB,KAAK4tB,IAAItK,QAAQisB,EAAW3hB,IACtG,CAOA,gBAAA4hB,CAAiBp5C,GACb,OAAOA,EAAS6qC,QAAQjhC,KAAK6uB,QAAUz4B,EAAS0qC,SAAS9gC,KAAK4tB,IAClE,CAWA,aAAA6hB,CAAcF,EAAYG,GAAQ,GAC1BH,EAAWN,cACXS,GAAQ,GAEZ,MAAMC,EAAgB3vC,KAAKwvC,iBAAiBD,EAAW1gB,QAAW6gB,GAAS1vC,KAAK6uB,MAAMvL,QAAQisB,EAAW1gB,OACnG+gB,EAAc5vC,KAAKwvC,iBAAiBD,EAAW3hB,MAAS8hB,GAAS1vC,KAAK4tB,IAAItK,QAAQisB,EAAW3hB,KACnG,OAAO+hB,GAAiBC,CAC5B,CAkCA,aAAAC,CAAcN,GACV,MAAMO,EAAS,GAkBf,OAjBI9vC,KAAK+vC,eAAeR,IAEhBvvC,KAAKwvC,iBAAiBD,EAAW1gB,QAGjCihB,EAAO/gD,KAAK,IAAIigD,GAAMhvC,KAAK6uB,MAAO0gB,EAAW1gB,QAE7C7uB,KAAKwvC,iBAAiBD,EAAW3hB,MAGjCkiB,EAAO/gD,KAAK,IAAIigD,GAAMO,EAAW3hB,IAAK5tB,KAAK4tB,OAK/CkiB,EAAO/gD,KAAKiR,KAAKiiB,SAEd6tB,CACX,CAwBA,eAAA1tB,CAAgBmtB,GACZ,GAAIvvC,KAAK+vC,eAAeR,GAAa,CAGjC,IAAIS,EAAmBhwC,KAAK6uB,MACxBohB,EAAiBjwC,KAAK4tB,IAW1B,OAVI5tB,KAAKwvC,iBAAiBD,EAAW1gB,SAGjCmhB,EAAmBT,EAAW1gB,OAE9B7uB,KAAKwvC,iBAAiBD,EAAW3hB,OAGjCqiB,EAAiBV,EAAW3hB,KAEzB,IAAIohB,GAAMgB,EAAkBC,EACvC,CAEA,OAAO,IACX,CAMA,SAAAnB,CAAU7/C,EAAU,CAAC,GAEjB,OADAA,EAAQu9C,WAAaxsC,KACd,IAAIusC,GAAWt9C,EAC1B,CAKA,iBAAA0xC,GACI,OAAO3gC,KAAK6uB,MAAM8R,kBAAkB3gC,KAAK4tB,IAC7C,CAMA,mBAAAsiB,GACI,GAAIlwC,KAAKivC,YACL,OAAO,KAEX,IAAII,EAAiBrvC,KAAK6uB,MAAMsf,UAC5BmB,EAAgBtvC,KAAK4tB,IAAIwgB,WAgB7B,OANIpuC,KAAK6uB,MAAMztB,OAAOqL,GAAG,UAAYzM,KAAK6uB,MAAM4e,SAAWztC,KAAK6uB,MAAMztB,OAAOk/B,cACzE+O,EAAiBrvC,KAAK6uB,MAAMztB,OAAOk/B,aAEnCtgC,KAAK4tB,IAAIxsB,OAAOqL,GAAG,UAAYzM,KAAK4tB,IAAImgB,WAAa/tC,KAAK4tB,IAAIxsB,OAAOwlB,kBACrE0oB,EAAgBtvC,KAAK4tB,IAAIxsB,OAAOwlB,iBAEhCyoB,GAAkBA,EAAe5iC,GAAG,YAAc4iC,IAAmBC,EAC9DD,EAEJ,IACX,CAIA,KAAAptB,GACI,OAAO,IAAI+sB,GAAMhvC,KAAK6uB,MAAO7uB,KAAK4tB,IACtC,CAcA,SAACuiB,CAASlhD,EAAU,CAAC,GACjBA,EAAQu9C,WAAaxsC,KACrB/Q,EAAQ89C,kBAAmB,EAC3B,MAAM2B,EAAa,IAAInC,GAAWt9C,GAClC,IAAK,MAAMe,KAAS0+C,QACV1+C,EAAMmB,IAEpB,CAaA,aAACi/C,CAAanhD,EAAU,CAAC,GACrBA,EAAQu9C,WAAaxsC,KACrB,MAAM0uC,EAAa,IAAInC,GAAWt9C,SAC5By/C,EAAWt4C,SACjB,IAAK,MAAMpG,KAAS0+C,QACV1+C,EAAMk+C,YAEpB,CAOA,cAAA6B,CAAeR,GACX,OAAOvvC,KAAK6uB,MAAMiS,SAASyO,EAAW3hB,MAAQ5tB,KAAK4tB,IAAIqT,QAAQsO,EAAW1gB,MAC9E,CAWA,mCAAOwhB,CAA6BC,EAAcrC,EAAasC,EAAYlC,GACvE,OAAO,IAAIruC,KAAK,IAAI2sC,GAAS2D,EAAcrC,GAAc,IAAItB,GAAS4D,EAAYlC,GACtF,CASA,kCAAOmC,CAA4Bp6C,EAAUs1B,GACzC,MAAMmD,EAAQz4B,EACRw3B,EAAMx3B,EAASm4C,aAAa7iB,GAClC,OAAOA,EAAQ,EAAI,IAAI1rB,KAAK6uB,EAAOjB,GAAO,IAAI5tB,KAAK4tB,EAAKiB,EAC5D,CAQA,gBAAO4hB,CAAUvhD,GACb,OAAO8Q,KAAKqwC,6BAA6BnhD,EAAS,EAAGA,EAASA,EAAQ8wC,WAC1E,CAMA,gBAAO0Q,CAAUv/C,GACb,MAAMkhB,EAAOlhB,EAAKsb,GAAG,cAAgBtb,EAAK4wC,WAAa,EACvD,OAAO/hC,KAAKwwC,4BAA4B7D,GAASqB,cAAc78C,GAAOkhB,EAC1E,EAUJ,SAAS88B,GAAgBn/C,GACrB,SAAIA,EAAMmB,KAAKsb,GAAG,sBAAuBzc,EAAMmB,KAAKsb,GAAG,aAI3D,CAXAuiC,GAAM75C,UAAUsX,GAAK,SAAUvJ,GAC3B,MAAgB,UAATA,GAA6B,eAATA,CAC/B,EC3Ye,MAAMytC,WAAkChjC,EAAawyB,KAkEhE,WAAAh2B,IAAe5Z,GACXwb,QACA/L,KAAK4wC,QAAU,GACf5wC,KAAK6wC,oBAAqB,EAC1B7wC,KAAK8wC,SAAU,EACf9wC,KAAK+wC,oBAAsB,GACvBxgD,EAAKE,QACLuP,KAAK+kC,SAASx0C,EAEtB,CAMA,UAAIygD,GACA,OAAOhxC,KAAK8wC,OAChB,CAMA,sBAAIG,GACA,OAAOjxC,KAAK+wC,mBAChB,CASA,UAAIvR,GACA,IAAKx/B,KAAK4wC,QAAQngD,OACd,OAAO,KAEX,MAAMu0B,EAAQhlB,KAAK4wC,QAAQ5wC,KAAK4wC,QAAQngD,OAAS,GAEjD,OADeuP,KAAK6wC,mBAAqB7rB,EAAM4I,IAAM5I,EAAM6J,OAC7C5M,OAClB,CAMA,SAAIivB,GACA,IAAKlxC,KAAK4wC,QAAQngD,OACd,OAAO,KAEX,MAAMu0B,EAAQhlB,KAAK4wC,QAAQ5wC,KAAK4wC,QAAQngD,OAAS,GAEjD,OADcuP,KAAK6wC,mBAAqB7rB,EAAM6J,MAAQ7J,EAAM4I,KAC/C3L,OACjB,CAKA,eAAIgtB,GACA,OAA2B,IAApBjvC,KAAKmxC,YAAoBnxC,KAAK4wC,QAAQ,GAAG3B,WACpD,CAIA,cAAIkC,GACA,OAAOnxC,KAAK4wC,QAAQngD,MACxB,CAIA,cAAI2gD,GACA,OAAQpxC,KAAKivC,aAAejvC,KAAK6wC,kBACrC,CAKA,mBAAI1E,GACA,OAAInsC,KAAKw/B,OACEx/B,KAAKw/B,OAAO2M,gBAEhB,IACX,CAIA,UAACkF,GACG,IAAK,MAAMrsB,KAAShlB,KAAK4wC,cACf5rB,EAAM/C,OAEpB,CAOA,aAAAqvB,GACI,IAAIzf,EAAQ,KACZ,IAAK,MAAM7M,KAAShlB,KAAK4wC,QAChB/e,IAAS7M,EAAM6J,MAAMiS,SAASjP,EAAMhD,SACrCgD,EAAQ7M,GAGhB,OAAO6M,EAAQA,EAAM5P,QAAU,IACnC,CAMA,YAAAsvB,GACI,IAAIzf,EAAO,KACX,IAAK,MAAM9M,KAAShlB,KAAK4wC,QAChB9e,IAAQ9M,EAAM4I,IAAIqT,QAAQnP,EAAKlE,OAChCkE,EAAO9M,GAGf,OAAO8M,EAAOA,EAAK7P,QAAU,IACjC,CAMA,gBAAAwW,GACI,MAAM+Y,EAAaxxC,KAAKsxC,gBACxB,OAAOE,EAAaA,EAAW3iB,MAAM5M,QAAU,IACnD,CAMA,eAAAwvB,GACI,MAAMC,EAAY1xC,KAAKuxC,eACvB,OAAOG,EAAYA,EAAU9jB,IAAI3L,QAAU,IAC/C,CAQA,OAAAqB,CAAQquB,GACJ,GAAI3xC,KAAKgxC,QAAUW,EAAeX,OAC9B,OAAO,EAEX,GAAIhxC,KAAKgxC,QAAUhxC,KAAKixC,oBAAsBU,EAAeV,mBACzD,OAAO,EAEX,GAAIjxC,KAAKmxC,YAAcQ,EAAeR,WAClC,OAAO,EAEN,GAAwB,IAApBnxC,KAAKmxC,WACV,OAAO,EAEX,IAAKnxC,KAAKw/B,OAAOlc,QAAQquB,EAAenS,UAAYx/B,KAAKkxC,MAAM5tB,QAAQquB,EAAeT,OAClF,OAAO,EAEX,IAAK,MAAMU,KAAa5xC,KAAK4wC,QAAS,CAClC,IAAIiB,GAAQ,EACZ,IAAK,MAAMtC,KAAcoC,EAAef,QACpC,GAAIgB,EAAUtuB,QAAQisB,GAAa,CAC/BsC,GAAQ,EACR,KACJ,CAEJ,IAAKA,EACD,OAAO,CAEf,CACA,OAAO,CACX,CASA,SAAApQ,CAAUkQ,GACN,GAAI3xC,KAAKoxC,YAAcO,EAAeP,WAClC,OAAO,EAEX,MAAMU,EAAez4C,GAAM2G,KAAKqxC,aAGhC,GAAIS,GAFiBz4C,GAAMs4C,EAAeN,aAGtC,OAAO,EAGX,GAAoB,GAAhBS,EACA,OAAO,EAGX,IAAK,IAAIC,KAAU/xC,KAAKqxC,YAAa,CACjCU,EAASA,EAAO3C,aAChB,IAAIyC,GAAQ,EACZ,IAAK,IAAIG,KAAUL,EAAeN,YAE9B,GADAW,EAASA,EAAO5C,aACZ2C,EAAOljB,MAAMvL,QAAQ0uB,EAAOnjB,QAAUkjB,EAAOnkB,IAAItK,QAAQ0uB,EAAOpkB,KAAM,CACtEikB,GAAQ,EACR,KACJ,CAGJ,IAAKA,EACD,OAAO,CAEf,CAEA,OAAO,CACX,CAMA,kBAAAI,GACI,OAAwB,IAApBjyC,KAAKmxC,WACE,KAEJnxC,KAAKsxC,gBAAgBpB,qBAChC,CAkEA,KAAAnL,IAASx0C,GACL,IAAK2hD,EAAYC,EAAeljD,GAAWsB,EAK3C,GAJ4B,iBAAjB4hD,IACPljD,EAAUkjD,EACVA,OAAgBhyC,GAED,OAAf+xC,EACAlyC,KAAKoyC,WAAW,IAChBpyC,KAAKqyC,gBAAgBpjD,QAEpB,GAAIijD,aAAsBvB,IAAauB,aAAsBI,GAC9DtyC,KAAKoyC,WAAWF,EAAWb,YAAaa,EAAWd,YACnDpxC,KAAKqyC,gBAAgB,CAAEE,KAAML,EAAWlB,OAAQ3sC,MAAO6tC,EAAWjB,0BAEjE,GAAIiB,aAAsBlD,GAC3BhvC,KAAKoyC,WAAW,CAACF,GAAajjD,GAAWA,EAAQujD,UACjDxyC,KAAKqyC,gBAAgBpjD,QAEpB,GAAIijD,aAAsBvF,GAC3B3sC,KAAKoyC,WAAW,CAAC,IAAIpD,GAAMkD,KAC3BlyC,KAAKqyC,gBAAgBpjD,QAEpB,GAAIijD,aAAsB,GAAM,CACjC,MAAMM,IAAavjD,KAAaA,EAAQujD,SACxC,IAAIxtB,EACJ,QAAsB7kB,IAAlBgyC,EAMA,MAAM,IAAI,EAAc,iDAAkDnyC,MAG1EglB,EADsB,MAAjBmtB,EACGnD,GAAMyB,UAAUyB,GAEF,MAAjBC,EACGnD,GAAM0B,UAAUwB,GAGhB,IAAIlD,GAAMrC,GAASC,UAAUsF,EAAYC,IAErDnyC,KAAKoyC,WAAW,CAACptB,GAAQwtB,GACzBxyC,KAAKqyC,gBAAgBpjD,EACzB,KACK,KAAImmB,GAAW88B,GAYhB,MAAM,IAAI,EAAc,sCAAuClyC,MAT/DA,KAAKoyC,WAAWF,EAAYjjD,GAAWA,EAAQujD,UAC/CxyC,KAAKqyC,gBAAgBpjD,EASzB,CACA+Q,KAAK+O,KAAK,SACd,CAUA,QAAA0jC,CAAS1D,EAAgBh1B,GACrB,GAAoB,OAAhB/Z,KAAKw/B,OAML,MAAM,IAAI,EAAc,oCAAqCx/B,MAEjE,MAAM0yC,EAAW/F,GAASC,UAAUmC,EAAgBh1B,GACpD,GAAwC,QAApC24B,EAAS9D,YAAY5uC,KAAKkxC,OAC1B,OAEJ,MAAM1R,EAASx/B,KAAKw/B,OACpBx/B,KAAK4wC,QAAQpvC,MACuB,UAAhCkxC,EAAS9D,YAAYpP,GACrBx/B,KAAK2yC,UAAU,IAAI3D,GAAM0D,EAAUlT,IAAS,GAG5Cx/B,KAAK2yC,UAAU,IAAI3D,GAAMxP,EAAQkT,IAErC1yC,KAAK+O,KAAK,SACd,CAUA,UAAAqjC,CAAWQ,EAAWC,GAAiB,GAGnCD,EAAY5+C,MAAM8N,KAAK8wC,GACvB5yC,KAAK4wC,QAAU,GACf,IAAK,MAAM5rB,KAAS4tB,EAChB5yC,KAAK2yC,UAAU3tB,GAEnBhlB,KAAK6wC,qBAAuBgC,CAChC,CASA,eAAAR,CAAgBpjD,EAAU,CAAC,GACvB+Q,KAAK8wC,UAAY7hD,EAAQsjD,KACzBvyC,KAAK+wC,oBAAsB9hD,EAAQsjD,MAAOtjD,EAAQoV,OAAc,EACpE,CAaA,SAAAsuC,CAAU3tB,EAAOosB,GAAa,GAC1B,KAAMpsB,aAAiBgqB,IAMnB,MAAM,IAAI,EAAc,qCAAsChvC,MAElEA,KAAK8yC,WAAW9tB,GAChBhlB,KAAK6wC,qBAAuBO,CAChC,CAOA,UAAA0B,CAAW9tB,GACP,IAAK,MAAM+tB,KAAe/yC,KAAK4wC,QAC3B,GAAI5rB,EAAM+qB,eAAegD,GAQrB,MAAM,IAAI,EAAc,kCAAmC/yC,KAAM,CAAEgzC,WAAYhuB,EAAOiuB,kBAAmBF,IAGjH/yC,KAAK4wC,QAAQ7hD,KAAK,IAAIigD,GAAMhqB,EAAM6J,MAAO7J,EAAM4I,KACnD,EAIJ+iB,GAAUx7C,UAAUsX,GAAK,SAAUvJ,GAC/B,MAAgB,cAATA,GAAiC,mBAATA,CACnC,EC1hBe,MAAMovC,WAA0C3kC,EAAawyB,KACxE,WAAAh2B,IAAe5Z,GACXwb,QACA/L,KAAKkzC,WAAa,IAAIvC,GAEtB3wC,KAAKkzC,WAAWpjC,SAAS,UAAU/N,GAAG/B,MAElCzP,EAAKE,QACLuP,KAAKkzC,WAAWnO,SAASx0C,EAEjC,CAMA,UAAIygD,GACA,OAAOhxC,KAAKkzC,WAAWlC,MAC3B,CAMA,sBAAIC,GACA,OAAOjxC,KAAKkzC,WAAWjC,kBAC3B,CASA,UAAIzR,GACA,OAAOx/B,KAAKkzC,WAAW1T,MAC3B,CAMA,SAAI0R,GACA,OAAOlxC,KAAKkzC,WAAWhC,KAC3B,CAKA,eAAIjC,GACA,OAAOjvC,KAAKkzC,WAAWjE,WAC3B,CAIA,cAAIkC,GACA,OAAOnxC,KAAKkzC,WAAW/B,UAC3B,CAIA,cAAIC,GACA,OAAOpxC,KAAKkzC,WAAW9B,UAC3B,CAKA,mBAAIjF,GACA,OAAOnsC,KAAKkzC,WAAW/G,eAC3B,CAMA,WAAIyE,GACA,OAAO5wC,KAAKkzC,WAAWtC,OAC3B,CAIA,UAACS,SACUrxC,KAAKkzC,WAAW7B,WAC3B,CAOA,aAAAC,GACI,OAAOtxC,KAAKkzC,WAAW5B,eAC3B,CAMA,YAAAC,GACI,OAAOvxC,KAAKkzC,WAAW3B,cAC3B,CAMA,gBAAA9Y,GACI,OAAOz4B,KAAKkzC,WAAWza,kBAC3B,CAMA,eAAAgZ,GACI,OAAOzxC,KAAKkzC,WAAWzB,iBAC3B,CAMA,kBAAAQ,GACI,OAAOjyC,KAAKkzC,WAAWjB,oBAC3B,CAQA,OAAA3uB,CAAQquB,GACJ,OAAO3xC,KAAKkzC,WAAW5vB,QAAQquB,EACnC,CASA,SAAAlQ,CAAUkQ,GACN,OAAO3xC,KAAKkzC,WAAWzR,UAAUkQ,EACrC,CAgEA,MAAAwB,IAAU5iD,GACNyP,KAAKkzC,WAAWnO,SAASx0C,EAC7B,CAWA,SAAA6iD,CAAUrE,EAAgBh1B,GACtB/Z,KAAKkzC,WAAWT,SAAS1D,EAAgBh1B,EAC7C,EAIJu4B,GAAkBn9C,UAAUsX,GAAK,SAAUvJ,GACvC,MAAgB,cAATA,GACK,qBAARA,GACQ,kBAARA,GACQ,0BAARA,CACR,ECnPe,MAAMmwC,WAA0BnpC,EAM3C,WAAAC,CAAYC,EAAQ5H,EAAM8wC,GACtBvnC,MAAM3B,EAAQ5H,GACdxC,KAAKszC,WAAaA,EAClBtzC,KAAKuzC,YAAc,OACnBvzC,KAAKwzC,eAAiB,IAC1B,CAIA,cAAIC,GACA,OAAOzzC,KAAKuzC,WAChB,CAIA,iBAAIG,GACA,OAAO1zC,KAAKwzC,cAChB,EC1BJ,MAAMG,GAAiB5tC,OAAO,qBAiBf,SAAS6tC,GAAqBx6C,GA4EzC,OA3EA,cAAoBA,EAChB,IAAA2V,CAAKC,KAAgB6kC,GACjB,IACI,MAAM5kC,EAAYD,aAAuB9E,EAAY8E,EAAc,IAAI9E,EAAUlK,KAAMgP,GACjF8kC,EAAgBC,GAAoB/zC,MAC1C,IAAK8zC,EAAczhC,KACf,OAIJ,GAFA2hC,GAAgB/kC,EAAW,YAAajP,MAEpCi0C,GAAgBH,EAAe,WAAY7kC,KAAc4kC,GACzD,OAAO5kC,EAAUY,OAErB,MAAMyjC,EAAarkC,EAAUqkC,YAActzC,KAAKu4B,UAAU+Y,gBACpD4C,EAAkBZ,EAAaA,EAAWpD,sBAAwB,KAClEiE,IAAkBD,GAAkBt9C,QAAQw9C,GAAiBN,EAAeI,IAClF,IAAIvyC,EAAOuyC,GAuH3B,SAA8BlvB,GAC1B,IAAKA,EACD,OAAO,KAEX,MAAMqvB,EAAcrvB,EAAM6J,MAAMztB,OAC1BkzC,EAAYtvB,EAAM4I,IAAIxsB,OACtBmzC,EAAYF,EAAY9T,UACxBiU,EAAUF,EAAU/T,UAC1B,OAAOgU,EAAU9jD,OAAS+jD,EAAQ/jD,OAAS4jD,EAAcC,CAC7D,CAhI8CG,CAAqBnB,GAGnD,GAFAU,GAAgB/kC,EAAW,WAAYtN,IAElCwyC,EAAiB,CAClB,GAAIF,GAAgBH,EAAe,QAAS7kC,KAAc4kC,GACtD,OAAO5kC,EAAUY,OAErBmkC,GAAgB/kC,EAAW,WAAYtN,EAC3C,CACA,KAAOA,GAAM,CAET,GAAIA,EAAK8K,GAAG,gBACR,GAAIwnC,GAAgBH,EAAe,QAAS7kC,KAAc4kC,GACtD,OAAO5kC,EAAUY,YAIpB,GAAIlO,EAAK8K,GAAG,YACTwnC,GAAgBH,EAAenyC,EAAKa,KAAMyM,KAAc4kC,GACxD,OAAO5kC,EAAUY,OAIzB,GAAIokC,GAAgBH,EAAenyC,EAAMsN,KAAc4kC,GACnD,OAAO5kC,EAAUY,OAErBlO,EAAOA,EAAKP,OACZ4yC,GAAgB/kC,EAAW,WAAYtN,EAC3C,CAIA,OAHAqyC,GAAgB/kC,EAAW,WAAYjP,MAEvCi0C,GAAgBH,EAAe,YAAa7kC,KAAc4kC,GACnD5kC,EAAUY,MACrB,CACA,MAAOlD,GAGH,EAAcD,uBAAuBC,EAAK3M,KAC9C,CACJ,CACA,iBAAA4O,CAAkBf,EAAOC,EAAU7e,GAC/B,MAAMylD,EAAWvmB,GAAQl/B,EAAQ6c,SAAW,aACtCgoC,EAAgBC,GAAoB/zC,MAC1C,IAAK,MAAM8L,KAAW4oC,EAAU,CAC5B,IAAIvmC,EAAU2lC,EAAcjuC,IAAIiG,GAC3BqC,IACDA,EAAU,IAAKR,KACfmmC,EAAc5jC,IAAIpE,EAASqC,IAE/BnO,KAAK+N,SAASI,EAASN,EAAOC,EAAU7e,EAC5C,CACJ,CACA,oBAAAugB,CAAqB3B,EAAOC,GACxB,MAAMgmC,EAAgBC,GAAoB/zC,MAC1C,IAAK,MAAMmO,KAAW2lC,EAAc7qC,SAChCjJ,KAAKkO,cAAcC,EAASN,EAAOC,EAE3C,EAGR,CAEA,CACI,MAAM6mC,EAAQf,GAAqBjkD,QACnC,CAAC,OAAQ,oBAAqB,wBAAwBE,SAAQ8I,IAC1Di7C,GAAqBj7C,GAAOg8C,EAAMx/C,UAAUwD,EAAI,GAExD,CAQA,SAASq7C,GAAgB/kC,EAAWwkC,EAAYC,GACxCzkC,aAAqBokC,KACrBpkC,EAAUskC,YAAcE,EACxBxkC,EAAUukC,eAAiBE,EAEnC,CAQA,SAASO,GAAgBH,EAAehoC,EAASmD,KAAc4kC,GAC3D,MAAM1lC,EAA4B,iBAAXrC,EAAsBgoC,EAAcjuC,IAAIiG,GAAWsoC,GAAiBN,EAAehoC,GAC1G,QAAKqC,IAGLA,EAAQY,KAAKE,KAAc4kC,GACpB5kC,EAAU5E,KAAKJ,OAC1B,CAIA,SAASmqC,GAAiBN,EAAenyC,GACrC,IAAK,MAAOmK,EAASqC,KAAY2lC,EAC7B,GAAsB,mBAAXhoC,GAAyBA,EAAQnK,GACxC,OAAOwM,EAGf,OAAO,IACX,CAIA,SAAS4lC,GAAoB3pC,GAIzB,OAHKA,EAAOupC,MACRvpC,EAAOupC,IAAkB,IAAI1jC,KAE1B7F,EAAOupC,GAClB,CC/Ie,MAAMx2B,WAAiCy2B,GAAqCliC,MAMvF,WAAAvH,CAAYygC,GACR7+B,QAIA/L,KAAK40C,YAAc,IAAIxiC,IACvBpS,KAAKu4B,UAAY,IAAI+Z,GACrBtyC,KAAK60C,MAAQ,IAAI5jB,GAAW,CAAEM,WAAY,aAC1CvxB,KAAK4qC,gBAAkBA,EACvB5qC,KAAKkQ,IAAI,cAAc,GACvBlQ,KAAKkQ,IAAI,aAAa,GACtBlQ,KAAKkQ,IAAI,eAAe,GACxBlQ,KAAKkQ,IAAI,eAAe,EAC5B,CAQA,OAAA4kC,CAAQtyC,EAAO,QACX,OAAOxC,KAAK60C,MAAMhvC,IAAIrD,EAC1B,CAmDA,iBAAAk8B,CAAkBqW,GACd/0C,KAAK40C,YAAYxoC,IAAI2oC,EACzB,CAIA,OAAA9uB,GACIjmB,KAAK60C,MAAMhlD,SAAQxB,GAAQA,EAAK43B,YAChCjmB,KAAKkO,eACT,CAMA,eAAA8mC,CAAgBxW,GACZ,IAAIyW,GAAW,EACf,GACI,IAAK,MAAMnnC,KAAY9N,KAAK40C,YAExB,GADAK,EAAWnnC,EAAS0wB,GAChByW,EACA,YAGHA,EACb,EClGJ,MAAMC,WAAyB3M,GAY3B,WAAAp+B,CAAYhb,EAAUqT,EAAMI,EAAOa,GAC/BsI,MAAM5c,EAAUqT,EAAMI,EAAOa,GAO7BzD,KAAKm1C,UAhCY,GAwCjBn1C,KAAKo1C,IAAM,KAOXp1C,KAAKq1C,aAAe,KACpBr1C,KAAKqqC,gBAAkB,EAC3B,CAIA,YAAIp/B,GACA,OAAOjL,KAAKm1C,SAChB,CAKA,MAAInmD,GACA,OAAOgR,KAAKo1C,GAChB,CAaA,qBAAAE,GACI,GAAgB,OAAZt1C,KAAKhR,GAML,MAAM,IAAI,EAAc,oDAAqDgR,MAEjF,OAAO,IAAIoS,IAAIpS,KAAKq1C,aACxB,CAmBA,SAAA5T,CAAU2H,GAEN,OAAgB,OAAZppC,KAAKhR,IAAmC,OAApBo6C,EAAap6C,GAC1BgR,KAAKhR,KAAOo6C,EAAap6C,GAE7B+c,MAAM01B,UAAU2H,IAAiBppC,KAAKiL,UAAYm+B,EAAan+B,QAC1E,CASA,MAAA02B,CAAOuI,GAAO,GACV,MAAME,EAASr+B,MAAM41B,OAAOuI,GAK5B,OAHAE,EAAO+K,UAAYn1C,KAAKm1C,UAExB/K,EAAOgL,IAAMp1C,KAAKo1C,IACXhL,CACX,CAOA,uBAAAoB,CAAwBpC,GAEpB,OAAgB,OAAZppC,KAAKhR,IAAmC,OAApBo6C,EAAap6C,IAAegR,KAAKiL,WAAam+B,EAAan+B,UAG5Ec,MAAMy/B,wBAAwBpC,EACzC,CAOA,wBAAAsC,CAAyBtC,GAErB,OAAgB,OAAZppC,KAAKhR,IAAmC,OAApBo6C,EAAap6C,IAAegR,KAAKiL,WAAam+B,EAAan+B,UAG5Ec,MAAM2/B,yBAAyBtC,EAC1C,EAEJ8L,GAAiBK,iBA1JQ,GA2JzB,YAqBA,SAAS,KAEL,GAAIC,GAAmBx1C,MACnB,OAAO,KAEX,IAAI9Q,EAAU8Q,KAAKoB,OAEnB,KAAOlS,GAAWA,EAAQud,GAAG,qBAAqB,CAC9C,GAAI+oC,GAAmBtmD,GAAW,EAC9B,OAAO,KAEXA,EAAUA,EAAQkS,MACtB,CACA,OAAKlS,GAAWsmD,GAAmBtmD,GAAW,EACnC,KAGJ8Q,KAAKggC,UAChB,CAIA,SAASwV,GAAmBtmD,GACxB,OAAO8E,MAAM8N,KAAK5S,EAAQmwC,eAAe1oC,QAAOzH,IAAYA,EAAQud,GAAG,eAAchc,MACzF,CA1CAykD,GAAiB//C,UAAUsX,GAAK,SAAUvJ,EAAMV,GAC5C,OAAKA,EAOMA,IAASxC,KAAKwC,OAAkB,qBAATU,GAAwC,0BAATA,GAEhD,YAATA,GAA+B,iBAATA,GARV,qBAATA,GAAwC,0BAATA,GAEzB,YAATA,GAA+B,iBAATA,GACb,SAATA,GAA4B,cAATA,CAO/B,ECpKe,MAAMuyC,WAAqBlN,GActC,WAAAp+B,CAAYhb,EAAUqT,EAAMlT,EAAYmU,GACpCsI,MAAM5c,EAAUqT,EAAMlT,EAAYmU,GAClCzD,KAAKqqC,gBAAkB,EAC3B,CAQA,YAAAvB,CAAa51C,EAAO8+B,GAChB,GAAIA,IAAUA,aAAiB,IAAQh+B,MAAM8N,KAAKkwB,GAAOvhC,OAAS,GAM9D,MAAM,IAAI,EAAc,+BAAgC,CAACuP,KAAMgyB,IAEnE,OAAO,CACX,EAmBJ,SAAS,KACL,OAAO,IACX,CAjBAyjB,GAAatgD,UAAUsX,GAAK,SAAUvJ,EAAMV,GACxC,OAAKA,EAOMA,IAASxC,KAAKwC,OAAkB,iBAATU,GAAoC,sBAATA,GAC5C,YAATA,GAA+B,iBAATA,GAPV,iBAATA,GAAoC,sBAATA,GAErB,YAATA,GAA+B,iBAATA,GACb,SAATA,GAA4B,cAATA,CAM/B,ECtCe,MAAMwyC,WAAkBnN,GAcnC,WAAAp+B,CAAYhb,EAAUqT,EAAMI,EAAOa,GAC/BsI,MAAM5c,EAAUqT,EAAMI,EAAOa,GAC7BzD,KAAKqqC,gBAAkB,EAC3B,CAQA,YAAAvB,CAAa51C,EAAO8+B,GAChB,GAAIA,IAAUA,aAAiB,IAAQh+B,MAAM8N,KAAKkwB,GAAOvhC,OAAS,GAM9D,MAAM,IAAI,EAAc,4BAA6B,CAACuP,KAAMgyB,IAEhE,OAAO,CACX,CAuBA,MAAA2jB,CAAOC,EAAaC,GAGhB,OAAO71C,KAAK81C,aAAaF,EAC7B,CAKA,YAAAE,CAAaF,GACT,MAAMG,EAAaH,EAAYxmD,cAAc4Q,KAAKwC,MAClD,IAAK,MAAM7J,KAAOqH,KAAK+oC,mBACnBgN,EAAWn9C,aAAaD,EAAKqH,KAAK+/B,aAAapnC,IAEnD,OAAOo9C,CACX,EAyBG,SAASC,GAAwBvhB,GACpCA,EAAKtlC,SAASye,GAAG,YAAY,CAACiG,EAAKjiB,IAavC,SAA2BiiB,EAAKjiB,EAAMikD,GAClC,GAAIjkD,EAAKu6B,SAAWN,GAAS0B,WAAY,CACrC,MAAM0oB,EAAerkD,EAAKskD,UAAU94B,cAAcF,YAAYi5B,eACxDC,EAAmD,GAA3BH,EAAa9E,YAAmB8E,EAAaI,WAAW,GAAGC,UAEzF,GAAIF,GAAyBxkD,EAAK06B,SAAU,CACxC,MAAMiqB,EAAYN,EAAaO,UACzBC,EAAYR,EAAaS,YACzBC,EAAed,EAAae,kBAAkBL,EAAWE,GAE/D,GAAqB,OAAjBE,EACA,OAGJ,IAAIE,GAAyB,EAC7B,MAAMC,EAAmBH,EAAalI,yBAAwBz+C,IACtDA,EAAMmB,KAAKsb,GAAG,eAEdoqC,GAAyB,MAGzB7mD,EAAMmB,KAAKsb,GAAG,eAAgBzc,EAAMmB,KAAKsb,GAAG,wBAQpD,GAAIoqC,EAAwB,CACxB,MAAME,EAAiBlB,EAAamB,kBAAkBF,GAClDV,EAEAH,EAAap1B,SAASk2B,EAAe31C,OAAQ21C,EAAeh9B,QAI5Dk8B,EAAagB,OAAOF,EAAe31C,OAAQ21C,EAAeh9B,OAElE,CACJ,CACJ,CACJ,CAvDgDm9B,CAAkBrjC,EAAKjiB,EAAM6iC,EAAKohB,eAAe,CAAE5qC,SAAU,OAC7G,CAIA,SAAS,KACL,OAAO,IACX,CA7BAyqC,GAAUvgD,UAAUsX,GAAK,SAAUvJ,EAAMV,GACrC,OAAKA,EAOMA,IAASxC,KAAKwC,OAAkB,cAATU,GAAiC,mBAATA,GACzC,YAATA,GAA+B,iBAATA,GAPV,cAATA,GAAiC,mBAATA,GAElB,YAATA,GAA+B,iBAATA,GACb,SAATA,GAA4B,cAATA,CAM/B,ECzFe,MAAMi0C,WAAmB5O,GAcpC,WAAAp+B,CAAYhb,EAAUqT,EAAMI,EAAOa,GAC/BsI,MAAM5c,EAAUqT,EAAMI,EAAOa,GAE7BzD,KAAKqqC,gBAAkB,EAC3B,CAQA,YAAAvB,CAAa51C,EAAO8+B,GAChB,GAAIA,IAAUA,aAAiB,IAAQh+B,MAAM8N,KAAKkwB,GAAOvhC,OAAS,GAM9D,MAAM,IAAI,EAAc,6BAA8B,CAACuP,KAAMgyB,IAEjE,OAAO,CACX,CAmBA,MAAA2jB,CAAOI,EAAYF,GAAgB,EAoBvC,SAAS,KACL,OAAO,IACX,CAlBAsB,GAAWhiD,UAAUsX,GAAK,SAAUvJ,EAAMV,GACtC,OAAKA,EAQMA,IAASxC,KAAKwC,OAAkB,eAATU,GAAkC,oBAATA,GAC1C,YAATA,GAA+B,iBAATA,GARV,eAATA,GAAkC,oBAATA,GAE5BA,IAASlD,KAAKwC,MAAQU,IAAS,QAAUlD,KAAKwC,MACrC,YAATU,GAA+B,iBAATA,GACb,SAATA,GAA4B,cAATA,CAM/B,EChFe,MAAMk0C,WAAyCzpC,EAAawyB,KAQvE,WAAAh2B,CAAYhb,EAAUsU,GAClBsI,QAIA/L,KAAK6oC,UAAY,GAKjB7oC,KAAK2oC,kBAAoB,IAAI14B,IAC7BjQ,KAAK7Q,SAAWA,EACZsU,GACAzD,KAAK8oC,aAAa,EAAGrlC,EAE7B,CAMA,CAACsC,OAAOsP,YACJ,OAAOrV,KAAK6oC,UAAU9iC,OAAOsP,WACjC,CAIA,cAAI2qB,GACA,OAAOhgC,KAAK6oC,UAAUp4C,MAC1B,CAIA,WAAIo0C,GACA,OAA2B,IAApB7kC,KAAKggC,UAChB,CAIA,QAAI3xC,GACA,OAAO2R,IACX,CAIA,UAAIoB,GACA,OAAO,IACX,CAIA,QAAIoB,GAEJ,CAIA,mBAAI6nC,GAEJ,CAIA,iBAAAR,CAAkBlxC,GACd,OAAOqH,KAAK2oC,kBAAkB9iC,IAAIlN,EACtC,CAKA,oBAACmxC,SACU9pC,KAAK2oC,kBAAkB3xB,SAClC,CASA,YAAAszB,CAAatY,GACT,OAAOhyB,KAAK8oC,aAAa9oC,KAAKggC,WAAYhO,EAC9C,CAOA,QAAAkO,CAAShtC,GACL,OAAO8M,KAAK6oC,UAAU31C,EAC1B,CAOA,aAAAmtC,CAAc1+B,GACV,OAAO3B,KAAK6oC,UAAUxlC,QAAQ1B,EAClC,CAMA,WAAA09B,GACI,OAAOr/B,KAAK6oC,UAAU9iC,OAAOsP,WACjC,CAUA,YAAAyzB,CAAa51C,EAAO8+B,GAChBhyB,KAAKmhC,YAAY,WAAYnhC,KAAM,CAAE9M,UACrC,IAAImG,EAAQ,EACZ,MAAMimB,EAkEd,SAAmBnwB,EAAUmwB,GAEzB,GAAoB,iBAATA,EACP,MAAO,CAAC,IAAIgiB,GAAKnyC,EAAUmwB,IAE1BlK,GAAWkK,KACZA,EAAQ,CAACA,IAGb,OAAOtrB,MAAM8N,KAAKwd,GACbhgB,KAAIqC,GACc,iBAARA,EACA,IAAI2/B,GAAKnyC,EAAUwS,GAE1BA,aAAgBigC,GACT,IAAIN,GAAKnyC,EAAUwS,EAAK/P,MAE5B+P,GAEf,CArFsB,CAAU3B,KAAK7Q,SAAU6iC,GACvC,IAAK,MAAMrwB,KAAQ2d,EAEK,OAAhB3d,EAAKP,QACLO,EAAK8wB,UAET9wB,EAAKP,OAASpB,KACdA,KAAK6oC,UAAUjvC,OAAO1G,EAAO,EAAGyO,GAChCzO,IACAmG,IAEJ,OAAOA,CACX,CASA,eAAA6nC,CAAgBhuC,EAAOgW,EAAU,GAC7BlJ,KAAKmhC,YAAY,WAAYnhC,KAAM,CAAE9M,UACrC,IAAK,IAAItC,EAAIsC,EAAOtC,EAAIsC,EAAQgW,EAAStY,IACrCoP,KAAK6oC,UAAUj4C,GAAGwQ,OAAS,KAE/B,OAAOpB,KAAK6oC,UAAUjvC,OAAO1G,EAAOgW,EACxC,CAQA,WAAAi4B,CAAYj+B,EAAMvB,EAAM/P,GACpBoO,KAAK+O,KAAK,UAAU7L,IAAQvB,EAAM/P,EACtC,CAOA,kBAAAg6C,CAAmBjzC,EAAK3I,GACpBgQ,KAAK2oC,kBAAkBz4B,IAAIvX,EAAK3I,EACpC,CAQA,qBAAA67C,CAAsBlzC,GAClB,OAAOqH,KAAK2oC,kBAAkBv4B,OAAOzX,EACzC,EAIJy+C,GAAiBjiD,UAAUsX,GAAK,SAAUvJ,GACtC,MAAgB,qBAATA,GAAwC,0BAATA,CAC1C,EC/Ke,MAAMm0C,GAIjB,WAAAltC,CAAYhb,GAKR6Q,KAAKs3C,aAAe,IAAIrnC,IAIxBjQ,KAAKu3C,aAAe,KACpBv3C,KAAK7Q,SAAWA,CACpB,CACA,YAAAqoD,IAAgBjnD,GACZyP,KAAK7Q,SAASopC,UAAU4a,UAAU5iD,EACtC,CASA,iBAAAknD,CAAkB1I,EAAgBh1B,GAC9B/Z,KAAK7Q,SAASopC,UAAU6a,UAAUrE,EAAgBh1B,EACtD,CAOA,sBAAA29B,CAAuBj0C,GACnB,OAAO,IAAI2zC,GAAiBp3C,KAAK7Q,SAAUsU,EAC/C,CAWA,UAAAk0C,CAAW/lD,GACP,OAAO,IAAI0vC,GAAKthC,KAAK7Q,SAAUyC,EACnC,CAwBA,sBAAAgmD,CAAuBp1C,EAAMlT,EAAYL,EAAU,CAAC,GAChD,MAAM4oD,EAAmB,IAAI,GAAiB73C,KAAK7Q,SAAUqT,EAAMlT,GAUnE,MATgC,iBAArBL,EAAQgc,WACf4sC,EAAiB1C,UAAYlmD,EAAQgc,UAErChc,EAAQD,KACR6oD,EAAiBzC,IAAMnmD,EAAQD,IAE/BC,EAAQ6oD,wBACRD,EAAiBnP,0BAA0B35C,QAAQE,EAAQ6oD,wBAExDD,CACX,CACA,sBAAAE,CAAuBv1C,EAAMlT,EAAY0oD,EAAoB,CAAC,EAAG/oD,EAAU,CAAC,GACxE,IAAIwU,EAAW,KACX,GAAcu0C,GACd/oD,EAAU+oD,EAGVv0C,EAAWu0C,EAEf,MAAMC,EAAmB,IAAIjM,GAAiBhsC,KAAK7Q,SAAUqT,EAAMlT,EAAYmU,GAI/E,OAHIxU,EAAQ6oD,wBACRG,EAAiBvP,0BAA0B35C,QAAQE,EAAQ6oD,wBAExDG,CACX,CAmBA,qBAAAC,CAAsB11C,EAAMlT,EAAYL,EAAU,CAAC,GAC/C,MAAMk9C,EAAkB,IAAID,GAAgBlsC,KAAK7Q,SAAUqT,EAAMlT,GAIjE,OAHIL,EAAQ6oD,wBACR3L,EAAgBzD,0BAA0B35C,QAAQE,EAAQ6oD,wBAEvD3L,CACX,CAgBA,kBAAAgM,CAAmB31C,EAAMlT,EAAYL,EAAU,CAAC,GAC5C,MAAMmpD,EAAe,IAAI3C,GAAaz1C,KAAK7Q,SAAUqT,EAAMlT,GAI3D,OAHIL,EAAQ6oD,wBACRM,EAAa1P,0BAA0B35C,QAAQE,EAAQ6oD,wBAEpDM,CACX,CA8BA,eAAAC,CAAgB71C,EAAMlT,EAAYgpD,GAC9B,MAAMC,EAAY,IAAI7C,GAAU11C,KAAK7Q,SAAUqT,EAAMlT,GAIrD,OAHIgpD,IACAC,EAAU5C,OAAS2C,GAEhBC,CACX,CA8BA,gBAAAC,CAAiBh2C,EAAMlT,EAAYgpD,EAAgBrpD,EAAU,CAAC,GAC1D,MAAMwpD,EAAa,IAAItB,GAAWn3C,KAAK7Q,SAAUqT,EAAMlT,GAOvD,OANIgpD,IACAG,EAAW9C,OAAS2C,GAEpBrpD,EAAQ6oD,wBACRW,EAAW/P,0BAA0B35C,QAAQE,EAAQ6oD,wBAElDW,CACX,CACA,YAAA7/C,CAAaD,EAAK3I,EAAO0oD,EAAoBxpD,QACzBiR,IAAZjR,EACAA,EAAQu7C,cAAc9xC,EAAK3I,EAAO0oD,GAGlCA,EAAmBjO,cAAc9xC,EAAK3I,EAE9C,CACA,eAAA2oD,CAAgBhgD,EAAKigD,EAAiB1pD,QAClBiR,IAAZjR,EACAA,EAAQ27C,iBAAiBlyC,EAAKigD,GAG9BA,EAAgB/N,iBAAiBlyC,EAEzC,CASA,QAAAqmC,CAASsK,EAAWp6C,GAChBA,EAAQ47C,UAAUxB,EACtB,CASA,WAAApK,CAAYoK,EAAWp6C,GACnBA,EAAQ67C,aAAazB,EACzB,CACA,QAAAuP,CAASlnC,EAAU3hB,EAAOd,GAClB,GAAcyiB,SAAyBxR,IAAZjR,EAC3Bc,EAAMg7C,UAAUr5B,GAGhBziB,EAAQ87C,UAAUr5B,EAAU3hB,EAEpC,CAaA,WAAA8oD,CAAYnnC,EAAUziB,GAClBA,EAAQ+7C,aAAat5B,EACzB,CAKA,iBAAAonC,CAAkBpgD,EAAK3I,EAAOd,GAC1BA,EAAQ08C,mBAAmBjzC,EAAK3I,EACpC,CAMA,oBAAAgpD,CAAqBrgD,EAAKzJ,GACtB,OAAOA,EAAQ28C,sBAAsBlzC,EACzC,CAsCA,eAAAsgD,CAAgBC,GACZ,OAAIA,aAA2BvM,GACpB3sC,KAAKm5C,iBAAiBD,GAGtBl5C,KAAKo5C,sBAAsBF,EAE1C,CA0BA,cAAAG,CAAejjD,GACX,MAAMlH,EAAUkH,EAASgL,OACzB,IAAMlS,EAAQud,GAAG,oBAMb,MAAM,IAAI,EAAc,0CAA2CzM,KAAK7Q,UAE5E,IAAKD,EAAQkS,OAMT,MAAM,IAAI,EAAc,yBAA0BpB,KAAK7Q,UAE3D,GAAIiH,EAAS23C,UACT,OAAOpB,GAASqB,cAAc9+C,GAE7B,IAAKkH,EAASq3C,QAAS,CACxB,MAAM6L,EAAapqD,EAAQyyC,QAAO,GAClC3hC,KAAKzQ,OAAOo9C,GAASe,aAAax+C,GAAUoqD,GAC5C,MAAMC,EAAc,IAAIvK,GAAM54C,EAAUu2C,GAASC,UAAU19C,EAAS,QAC9DsqD,EAAiB,IAAI7M,GAAS2M,EAAY,GAChDt5C,KAAKy5C,KAAKF,EAAaC,EAC3B,CACA,OAAO7M,GAASe,aAAax+C,EACjC,CA+BA,eAAAwqD,CAAgBtjD,GACZ,MAAMujD,EAAiBvjD,EAAS2jB,OAC1B6/B,EAAiBxjD,EAASgL,OAEhC,GAAIw4C,EAAentC,GAAG,SAClB,OAAOrW,EAGX,GAAIwjD,EAAentC,GAAG,qBAAqD,IAA9BmtC,EAAe5Z,WAAkB,CAC1E,MAAM5+B,EAASw4C,EAAex4C,OACxB2Y,EAAS6/B,EAAe1mD,MAG9B,OAFA0mD,EAAennB,UACfzyB,KAAK65C,+BAA+BD,GAC7B55C,KAAK05C,gBAAgB,IAAI/M,GAASvrC,EAAQ2Y,GACrD,CACA,MAAMq0B,EAAawL,EAAe1Z,SAASyZ,EAAiB,GACtDxL,EAAYyL,EAAe1Z,SAASyZ,GAE1C,IAAKvL,IAAeD,EAChB,OAAO/3C,EAGX,GAAIg4C,EAAW3hC,GAAG,UAAY0hC,EAAU1hC,GAAG,SACvC,OAAOqtC,GAAe1L,EAAYD,GAGjC,GAAIC,EAAW3hC,GAAG,qBAAuB0hC,EAAU1hC,GAAG,qBAAuB2hC,EAAW3M,UAAU0M,GAAY,CAE/G,MAAM90C,EAAQ+0C,EAAWpO,WAMzB,OALAoO,EAAW9D,aAAa6D,EAAU9O,eAClC8O,EAAU1b,UACVzyB,KAAK65C,+BAA+B1L,GAG7BnuC,KAAK05C,gBAAgB,IAAI/M,GAASyB,EAAY/0C,GACzD,CACA,OAAOjD,CACX,CAqBA,eAAA2jD,CAAgB3jD,GACZ,MAAM4jD,EAAO5jD,EAASg4C,WAChBxa,EAAOx9B,EAAS+3C,UACtB,KAAK6L,GAASpmB,GAASomB,EAAKvtC,GAAG,qBAAwBmnB,EAAKnnB,GAAG,qBAM3D,MAAM,IAAI,EAAc,gDAAiDzM,KAAK7Q,UAElF,MAAM88C,EAAY+N,EAAK9Z,SAAS8Z,EAAKha,WAAa,GAC5Cia,EAAchO,aAAqB3K,GAAOqL,GAASC,UAAUX,EAAW,OAASU,GAASC,UAAUoN,EAAM,OAGhH,OAFAh6C,KAAKy5C,KAAKzK,GAAMyB,UAAU7c,GAAO+Y,GAASC,UAAUoN,EAAM,QAC1Dh6C,KAAKjJ,OAAOi4C,GAAM0B,UAAU9c,IACrBqmB,CACX,CAiBA,MAAA1qD,CAAO6G,EAAUkpB,GAGb46B,GAFA56B,EAAQlK,GAAWkK,GAAS,IAAIA,GAAS,CAACA,GAEbtf,KAAK7Q,UAElC,MAAMgrD,EAAa76B,EAAMuN,QAAO,CAACutB,EAAQz4C,KACrC,MAAM04C,EAAYD,EAAOA,EAAO3pD,OAAS,GAGnCwoD,GAAmBt3C,EAAK8K,GAAG,aAUjC,OATK4tC,GAAaA,EAAUpB,iBAAmBA,EAO3CoB,EAAU/6B,MAAMvwB,KAAK4S,GANrBy4C,EAAOrrD,KAAK,CACRkqD,kBACA35B,MAAO,CAAC3d,KAMTy4C,CAAM,GACd,IAEH,IAAIvrB,EAAQ,KACRjB,EAAMx3B,EACV,IAAK,MAAM,MAAEkpB,EAAK,gBAAE25B,KAAqBkB,EAAY,CACjD,MAAMn1B,EAAQhlB,KAAKs6C,aAAa1sB,EAAKtO,EAAO25B,GACvCpqB,IACDA,EAAQ7J,EAAM6J,OAElBjB,EAAM5I,EAAM4I,GAChB,CAEA,OAAKiB,EAGE,IAAImgB,GAAMngB,EAAOjB,GAFb,IAAIohB,GAAM54C,EAGzB,CAaA,MAAAW,CAAOwjD,GACH,MAAMv1B,EAAQu1B,aAAuBvL,GAAQuL,EAAcvL,GAAM0B,UAAU6J,GAG3E,GAFAC,GAAuBx1B,EAAOhlB,KAAK7Q,UAE/B61B,EAAMiqB,YACN,OAAO,IAAImI,GAAiBp3C,KAAK7Q,UAGrC,MAAQ0/B,MAAO4rB,EAAY7sB,IAAK8sB,GAAa16C,KAAKo5C,sBAAsBp0B,GAAO,GACzE21B,EAAkBF,EAAWr5C,OAC7B/H,EAAQqhD,EAAS3gC,OAAS0gC,EAAW1gC,OAErCqY,EAAUuoB,EAAgBzZ,gBAAgBuZ,EAAW1gC,OAAQ1gB,GACnE,IAAK,MAAMsI,KAAQywB,EACfpyB,KAAK65C,+BAA+Bl4C,GAGxC,MAAMi5C,EAAgB56C,KAAK05C,gBAAgBe,GAI3C,OAHAz1B,EAAM6J,MAAQ+rB,EACd51B,EAAM4I,IAAMgtB,EAAc34B,QAEnB,IAAIm1B,GAAiBp3C,KAAK7Q,SAAUijC,EAC/C,CAWA,KAAA/hB,CAAM2U,EAAO91B,GACTsrD,GAAuBx1B,EAAOhlB,KAAK7Q,UAGnC,MAAM0rD,EAAS71B,EAAM8pB,UAAU,CAC3BrqB,UAAW,WACXsoB,kBAAkB,IAGtB,IAAK,MAAMxrC,KAAWs5C,EAAQ,CAC1B,MAAM1pD,EAAOoQ,EAAQpQ,KACrB,IAAI2pD,EAEJ,GAAI3pD,EAAKsb,GAAG,YAAcvd,EAAQuyC,UAAUtwC,GAExC2pD,EAAgB9L,GAAM0B,UAAUv/C,QAG/B,IAAKoQ,EAAQ2sC,aAAajN,QAAQjc,EAAM6J,QAAU19B,EAAKsb,GAAG,cAAe,CAE1E,MAAMqa,EAAgB31B,EAAKkuB,eAAesT,MAAKooB,GACpCA,EAAStuC,GAAG,YAAcvd,EAAQuyC,UAAUsZ,KAGnDj0B,IACAg0B,EAAgB9L,GAAMyB,UAAU3pB,GAExC,CAEIg0B,IAEIA,EAAcltB,IAAIqT,QAAQjc,EAAM4I,OAChCktB,EAAcltB,IAAM5I,EAAM4I,KAE1BktB,EAAcjsB,MAAMiS,SAAS9b,EAAM6J,SACnCisB,EAAcjsB,MAAQ7J,EAAM6J,OAGhC7uB,KAAKjJ,OAAO+jD,GAEpB,CACJ,CAaA,IAAArB,CAAKF,EAAaC,GACd,IAAIl6B,EACJ,GAAIk6B,EAAevY,QAAQsY,EAAY3rB,KAAM,CAEzC,MAAMxsB,GADNo4C,EAAiBx5C,KAAKm5C,iBAAiBK,GAAgB,IACzBp4C,OACxB45C,EAAc55C,EAAO4+B,WAC3BuZ,EAAcv5C,KAAKo5C,sBAAsBG,GAAa,GACtDj6B,EAAQtf,KAAKjJ,OAAOwiD,GACpBC,EAAez/B,QAAW3Y,EAAO4+B,WAAagb,CAClD,MAEI17B,EAAQtf,KAAKjJ,OAAOwiD,GAExB,OAAOv5C,KAAKzQ,OAAOiqD,EAAgBl6B,EACvC,CAsBA,IAAA27B,CAAKj2B,EAAOpQ,GACR,KAAMA,aAAqB,IACvB,MAAM,IAAI,EAAc,qCAAsC5U,KAAK7Q,UAGvE,GADAqrD,GAAuBx1B,EAAOhlB,KAAK7Q,UAC9B61B,EAAMiqB,YAIN,CAED,IAAI74C,EAAW4uB,EAAM6J,MACjBz4B,EAASgL,OAAOqL,GAAG,aAgpBRrL,EAhpByChL,EAASgL,QAipBlEpN,MAAM8N,KAAKV,EAAOi+B,eAAe/H,MAAKnhB,IAAUA,EAAM1J,GAAG,kBAhpBpDrW,EAAWA,EAASq4C,yBAAwBz+C,GAASA,EAAMmB,KAAKsb,GAAG,gBAEvErW,EAAW4J,KAAKk7C,cAAc9kD,EAAUwe,GACxC,MAAMumC,EAAgBn7C,KAAK7Q,SAASopC,UAKpC,OAHI4iB,EAAclM,aAAekM,EAAc1iB,mBAAmBnV,QAAQ0B,EAAM6J,QAC5E7uB,KAAKw3C,aAAaphD,GAEf,IAAI44C,GAAM54C,EACrB,CAfI,OAAO4J,KAAKo7C,WAAWp2B,EAAOpQ,GAqpB1C,IAA2BxT,CAroBvB,CAQA,MAAAi6C,CAAOr2B,EAAOpQ,GACV,KAAMA,aAAqB,IAOvB,MAAM,IAAI,EAAc,uCAAwC5U,KAAK7Q,UAIzE,GAFAqrD,GAAuBx1B,EAAOhlB,KAAK7Q,UAE/B61B,EAAMiqB,YACN,OAAOjqB,EAGX,MAAQ6J,MAAO4rB,EAAY7sB,IAAK8sB,GAAa16C,KAAKo5C,sBAAsBp0B,GAAO,GACzE21B,EAAkBF,EAAWr5C,OAE7Bk6C,EAAWt7C,KAAKu7C,gBAAgBZ,EAAiBF,EAAW1gC,OAAQ2gC,EAAS3gC,OAAQnF,GAErFia,EAAQ7uB,KAAK05C,gBAAgB4B,EAASzsB,OAEvCA,EAAMvL,QAAQg4B,EAASzsB,QACxBysB,EAAS1tB,IAAI7T,SAEjB,MAAM6T,EAAM5tB,KAAK05C,gBAAgB4B,EAAS1tB,KAC1C,OAAO,IAAIohB,GAAMngB,EAAOjB,EAC5B,CAcA,MAAA4tB,CAAOC,EAASC,GACZ,MAAMpC,EAAa,IAAItN,GAAiBhsC,KAAK7Q,SAAUssD,EAASC,EAAY1S,iBAI5E,OAHAhpC,KAAKzQ,OAAOo9C,GAASe,aAAagO,GAAcpC,GAChDt5C,KAAKy5C,KAAKzK,GAAMyB,UAAUiL,GAAc/O,GAASC,UAAU0M,EAAY,IACvEt5C,KAAKjJ,OAAOi4C,GAAM0B,UAAUgL,IACrBpC,CACX,CAeA,wBAAAqC,CAAyBC,GACrB57C,KAAKs3C,aAAalnC,OAAOwrC,EAC7B,CAgBA,gBAAAC,CAAiB9M,EAAgBh1B,GAC7B,OAAO4yB,GAASC,UAAUmC,EAAgBh1B,EAC9C,CAMA,mBAAA+hC,CAAoB3qD,GAChB,OAAOw7C,GAASe,aAAav8C,EACjC,CAMA,oBAAA4qD,CAAqB5qD,GACjB,OAAOw7C,GAASqB,cAAc78C,EAClC,CASA,WAAAuvB,CAAYmO,EAAOjB,GACf,OAAO,IAAIohB,GAAMngB,EAAOjB,EAC5B,CAIA,aAAAouB,CAAc7qD,GACV,OAAO69C,GAAM0B,UAAUv/C,EAC3B,CAOA,aAAA8qD,CAAc/sD,GACV,OAAO8/C,GAAMyB,UAAUvhD,EAC3B,CACA,eAAAgtD,IAAmB3rD,GACf,OAAO,IAAIogD,MAAapgD,EAC5B,CA8BA,UAAA4rD,CAAWC,EAAe,YACtB,IAAKp8C,KAAKu3C,aAMN,MAAM,IAAI,EAAc,0CAA2Cv3C,KAAK7Q,UAE5E,OAAO6Q,KAAKu3C,aAAav3C,KAAMo8C,EACnC,CAOA,oBAAAC,CAAqBC,GACjBt8C,KAAKu3C,aAAe+E,CACxB,CAMA,iBAAAC,GACIv8C,KAAKu3C,aAAe,IACxB,CAUA,YAAA+C,CAAalkD,EAAUkpB,EAAO25B,GAC1B,IAAInyB,EAiBA01B,EARJ,GALI11B,EADAmyB,EACgBwD,GAAmBrmD,GAGnBA,EAASgL,OAAOqL,GAAG,SAAWrW,EAASgL,OAAOA,OAAShL,EAASgL,QAE/E0lB,EAMD,MAAM,IAAI,EAAc,yCAA0C9mB,KAAK7Q,UAIvEqtD,EADAvD,EACoBj5C,KAAKm5C,iBAAiB/iD,GAAU,GAGhCA,EAASgL,OAAOqL,GAAG,SAAWiwC,GAActmD,GAAYA,EAEhF,MAAM3F,EAASq2B,EAAcgiB,aAAa0T,EAAkBziC,OAAQuF,GACpE,IAAK,MAAM3d,KAAQ2d,EACftf,KAAK28C,0BAA0Bh7C,GAEnC,MAAMi7C,EAAcJ,EAAkBjO,aAAa99C,GAC7Co+B,EAAQ7uB,KAAK05C,gBAAgB8C,GAE9B3tB,EAAMvL,QAAQk5B,IACfI,EAAY7iC,SAEhB,MAAM6T,EAAM5tB,KAAK05C,gBAAgBkD,GACjC,OAAO,IAAI5N,GAAMngB,EAAOjB,EAC5B,CAKA,aAAAivB,CAAcz7C,EAAQ6sC,EAAaI,EAAWyO,GAC1C,IAAIlsD,EAAIq9C,EACR,MAAM8O,EAAgB,GACtB,KAAOnsD,EAAIy9C,GAAW,CAClB,MAAMl4B,EAAQ/U,EAAO8+B,SAAStvC,GACxBkwB,EAAS3K,EAAM1J,GAAG,SAClBuwC,EAAc7mC,EAAM1J,GAAG,oBAS7B,GAAIuwC,GAAe7mC,EAAMq1B,wBAAwBsR,GAC7C3mC,EAAMs1B,qBAAqBqR,GAC3BC,EAAchuD,KAAK,IAAI49C,GAASvrC,EAAQxQ,SAQvC,GAAIkwB,IAAWk8B,GAAeC,GAAkBH,EAAa3mC,GAAQ,CAEtE,MAAM+mC,EAAeJ,EAAYnb,SAEjCxrB,EAAMsc,UACNyqB,EAAa5S,aAAan0B,GAC1B/U,EAAO0nC,aAAal4C,EAAGssD,GACvBl9C,KAAK28C,0BAA0BO,GAC/BH,EAAchuD,KAAK,IAAI49C,GAASvrC,EAAQxQ,GAC5C,MAOIoP,KAAK68C,cAAc1mC,EAAO,EAAGA,EAAM6pB,WAAY8c,GAEnDlsD,GACJ,CAEA,IAAIusD,EAAe,EACnB,IAAK,MAAM/mD,KAAY2mD,EAAe,CAGlC,GAFA3mD,EAAS2jB,QAAUojC,EAEf/mD,EAAS2jB,QAAUk0B,EACnB,SAEgBjuC,KAAK05C,gBAAgBtjD,GAExBktB,QAAQltB,KACrB+mD,IACA9O,IAER,CACA,OAAOW,GAAMqB,6BAA6BjvC,EAAQ6sC,EAAa7sC,EAAQitC,EAC3E,CAKA,eAAAkN,CAAgBn6C,EAAQ6sC,EAAaI,EAAW+O,GAC5C,IAAIxsD,EAAIq9C,EACR,MAAMoP,EAAkB,GAIxB,KAAOzsD,EAAIy9C,GAAW,CAClB,MAAMl4B,EAAQ/U,EAAO8+B,SAAStvC,GAE9B,GAAKulB,EAAM1J,GAAG,oBAWd,GAAI0J,EAAMsrB,UAAU2b,GAApB,CACI,MAAME,EAAYnnC,EAAMkpB,cAClBhmC,EAAQ8c,EAAM6pB,WAEpB7pB,EAAMsc,UACNrxB,EAAO0nC,aAAal4C,EAAG0sD,GACvBt9C,KAAK65C,+BAA+B1jC,GAEpCknC,EAAgBtuD,KAAK,IAAI49C,GAASvrC,EAAQxQ,GAAI,IAAI+7C,GAASvrC,EAAQxQ,EAAIyI,IAEvEzI,GAAKyI,EACLg1C,GAAah1C,EAAQ,CAEzB,MAQI8c,EAAMu1B,yBAAyB0R,IAC/BjnC,EAAMw1B,sBAAsByR,GAC5BC,EAAgBtuD,KAAK,IAAI49C,GAASvrC,EAAQxQ,GAAI,IAAI+7C,GAASvrC,EAAQxQ,EAAI,IACvEA,MAQJoP,KAAKu7C,gBAAgBplC,EAAO,EAAGA,EAAM6pB,WAAYod,GACjDxsD,UA3CIA,GA4CR,CAEA,IAAIusD,EAAe,EACnB,IAAK,MAAM/mD,KAAYinD,EAAiB,CAGpC,GAFAjnD,EAAS2jB,QAAUojC,EAEf/mD,EAAS2jB,QAAUk0B,GAAe73C,EAAS2jB,QAAUs0B,EACrD,SAEgBruC,KAAK05C,gBAAgBtjD,GAExBktB,QAAQltB,KACrB+mD,IACA9O,IAER,CACA,OAAOW,GAAMqB,6BAA6BjvC,EAAQ6sC,EAAa7sC,EAAQitC,EAC3E,CAUA,UAAA+M,CAAWp2B,EAAOpQ,GAEd,MAAQia,MAAO4rB,EAAY7sB,IAAK8sB,GAAa16C,KAAKo5C,sBAAsBp0B,GAAO,GACzE21B,EAAkBF,EAAWr5C,OAE7Bk6C,EAAWt7C,KAAK68C,cAAclC,EAAiBF,EAAW1gC,OAAQ2gC,EAAS3gC,OAAQnF,GAEnFia,EAAQ7uB,KAAK05C,gBAAgB4B,EAASzsB,OAEvCA,EAAMvL,QAAQg4B,EAASzsB,QACxBysB,EAAS1tB,IAAI7T,SAEjB,MAAM6T,EAAM5tB,KAAK05C,gBAAgB4B,EAAS1tB,KAC1C,OAAO,IAAIohB,GAAMngB,EAAOjB,EAC5B,CAUA,aAAAstB,CAAc9kD,EAAUwe,GAEpB,GAAIA,EAAU6sB,UAAUrrC,EAASgL,QAC7B,OAAOm8C,GAAuBnnD,EAAS6rB,SAGvC7rB,EAASgL,OAAOqL,GAAG,WACnBrW,EAAWsmD,GAActmD,IAG7B,MAAMonD,EAAcx9C,KAAK43C,uBAAuB,8BAChD4F,EAAYrI,UAAY7vB,OAAOC,kBAC/Bi4B,EAAY/b,UAAY,KAAM,EAE9BrrC,EAASgL,OAAO0nC,aAAa1yC,EAAS2jB,OAAQyjC,GAE9C,MAAMC,EAAY,IAAIzO,GAAM54C,EAAUA,EAASm4C,aAAa,IAE5DvuC,KAAKi7C,KAAKwC,EAAW7oC,GAErB,MAAMqlC,EAAc,IAAItN,GAAS6Q,EAAYp8C,OAAQo8C,EAAYtqD,OACjEsqD,EAAY/qB,UAEZ,MAAM2b,EAAa6L,EAAY7L,WACzBD,EAAY8L,EAAY9L,UAC9B,OAAIC,GAAcA,EAAW3hC,GAAG,eAAiB0hC,GAAaA,EAAU1hC,GAAG,cAChEqtC,GAAe1L,EAAYD,GAG/BoP,GAAuBtD,EAClC,CASA,qBAAAb,CAAsBp0B,EAAO04B,GAAiB,GAC1C,MAAMC,EAAa34B,EAAM6J,MACnB+uB,EAAW54B,EAAM4I,IAGvB,GAFA4sB,GAAuBx1B,EAAOhlB,KAAK7Q,UAE/B61B,EAAMiqB,YAAa,CACnB,MAAM74C,EAAW4J,KAAKm5C,iBAAiBn0B,EAAM6J,MAAO6uB,GACpD,OAAO,IAAI1O,GAAM54C,EAAUA,EAC/B,CACA,MAAMskD,EAAW16C,KAAKm5C,iBAAiByE,EAAUF,GAC3CrkD,EAAQqhD,EAASt5C,OAAO4+B,WACxBya,EAAaz6C,KAAKm5C,iBAAiBwE,EAAYD,GAGrD,OADAhD,EAAS3gC,QAAU2gC,EAASt5C,OAAO4+B,WAAa3mC,EACzC,IAAI21C,GAAMyL,EAAYC,EACjC,CAeA,gBAAAvB,CAAiB/iD,EAAUsnD,GAAiB,GACxC,MAAM/D,EAAiBvjD,EAAS2jB,OAC1B6/B,EAAiBxjD,EAASgL,OAEhC,GAAIhL,EAASgL,OAAOqL,GAAG,gBAUnB,MAAM,IAAI,EAAc,yCAA0CzM,KAAK7Q,UAG3E,GAAIiH,EAASgL,OAAOqL,GAAG,aAUnB,MAAM,IAAI,EAAc,sCAAuCzM,KAAK7Q,UAGxE,GAAIiH,EAASgL,OAAOqL,GAAG,cAUnB,MAAM,IAAI,EAAc,uCAAwCzM,KAAK7Q,UAGzE,IAAKuuD,GAAkB9D,EAAentC,GAAG,UAAYoxC,GAAsBjE,EAAex4C,QACtF,OAAOhL,EAAS6rB,QAGpB,GAAI47B,GAAsBjE,GACtB,OAAOxjD,EAAS6rB,QAGpB,GAAI23B,EAAentC,GAAG,SAClB,OAAOzM,KAAKm5C,iBAAiBuD,GAActmD,GAAWsnD,GAM1D,GAAI/D,GAJWC,EAAe5Z,WAIA,CAC1B,MAAMia,EAAc,IAAItN,GAASiN,EAAex4C,OAAQw4C,EAAe1mD,MAAQ,GAC/E,OAAO8M,KAAKm5C,iBAAiBc,EAAayD,EAC9C,CAKI,GAAuB,IAAnB/D,EAAsB,CACtB,MAAMM,EAAc,IAAItN,GAASiN,EAAex4C,OAAQw4C,EAAe1mD,OACvE,OAAO8M,KAAKm5C,iBAAiBc,EAAayD,EAC9C,CAKK,CACD,MAAMI,EAAclE,EAAe1mD,MAAQ,EAErC6qD,EAAanE,EAAejY,SAElCiY,EAAex4C,OAAO0nC,aAAagV,EAAaC,GAChD/9C,KAAK28C,0BAA0BoB,GAE/B,MAAM1kD,EAAQugD,EAAe5Z,WAAa2Z,EACpCqE,EAAcpE,EAAe1Y,gBAAgByY,EAAgBtgD,GAEnE0kD,EAAWzT,aAAa0T,GAExB,MAAM/D,EAAc,IAAItN,GAASiN,EAAex4C,OAAQ08C,GACxD,OAAO99C,KAAKm5C,iBAAiBc,EAAayD,EAC9C,CAER,CAYA,yBAAAf,CAA0BztD,GAEtB,IAAKA,EAAQb,KAAKoe,GAAG,eACjB,OAIJ,GAAIvd,EAAQud,GAAG,WACX,IAAK,MAAM0J,KAASjnB,EAAQmwC,cACxBr/B,KAAK28C,0BAA0BxmC,GAGvC,MAAMnnB,EAAKE,EAAQF,GACnB,IAAKA,EACD,OAEJ,IAAIivD,EAAQj+C,KAAKs3C,aAAazxC,IAAI7W,GAC7BivD,IACDA,EAAQ,IAAI7rC,IACZpS,KAAKs3C,aAAapnC,IAAIlhB,EAAIivD,IAE9BA,EAAM7xC,IAAIld,GACVA,EAAQmmD,aAAe4I,CAC3B,CAYA,8BAAApE,CAA+B3qD,GAG3B,GAAIA,EAAQud,GAAG,WACX,IAAK,MAAM0J,KAASjnB,EAAQmwC,cACxBr/B,KAAK65C,+BAA+B1jC,GAG5C,MAAMnnB,EAAKE,EAAQF,GACnB,IAAKA,EACD,OAEJ,MAAMivD,EAAQj+C,KAAKs3C,aAAazxC,IAAI7W,GAC/BivD,GAGLA,EAAM7tC,OAAOlhB,EAGjB,EAoBJ,SAASutD,GAAmBrmD,GACxB,IAAIgL,EAAShL,EAASgL,OACtB,MAAQy8C,GAAsBz8C,IAAS,CACnC,IAAKA,EACD,OAEJA,EAASA,EAAOA,MACpB,CACA,OAAOA,CACX,CAOA,SAAS67C,GAAkBlqD,EAAG2I,GAC1B,OAAI3I,EAAEkY,SAAWvP,EAAEuP,YAGVlY,EAAEkY,SAAWvP,EAAEuP,WAIjBlY,EAAEg3C,cAAgBruC,EAAEquC,aAC/B,CAaA,SAASwT,GAAuBnnD,GAC5B,MAAMg4C,EAAah4C,EAASg4C,WAC5B,GAAIA,GAAcA,EAAW3hC,GAAG,SAC5B,OAAO,IAAIkgC,GAASyB,EAAYA,EAAWx8C,KAAKnB,QAEpD,MAAM09C,EAAY/3C,EAAS+3C,UAC3B,OAAIA,GAAaA,EAAU1hC,GAAG,SACnB,IAAIkgC,GAASwB,EAAW,GAE5B/3C,CACX,CAaA,SAASsmD,GAActmD,GACnB,GAAIA,EAAS2jB,QAAU3jB,EAASgL,OAAOxP,KAAKnB,OACxC,OAAO,IAAIk8C,GAASv2C,EAASgL,OAAOA,OAAQhL,EAASgL,OAAOlO,MAAQ,GAExE,GAAwB,IAApBkD,EAAS2jB,OACT,OAAO,IAAI4yB,GAASv2C,EAASgL,OAAOA,OAAQhL,EAASgL,OAAOlO,OAGhE,MAAMgrD,EAAa9nD,EAASgL,OAAOxP,KAAK4G,MAAMpC,EAAS2jB,QAMvD,OAJA3jB,EAASgL,OAAOogC,MAAQprC,EAASgL,OAAOxP,KAAK4G,MAAM,EAAGpC,EAAS2jB,QAE/D3jB,EAASgL,OAAOA,OAAO0nC,aAAa1yC,EAASgL,OAAOlO,MAAQ,EAAG,IAAIouC,GAAKlrC,EAAS/H,KAAKc,SAAU+uD,IAEzF,IAAIvR,GAASv2C,EAASgL,OAAOA,OAAQhL,EAASgL,OAAOlO,MAAQ,EACxE,CAQA,SAAS4mD,GAAe58C,EAAIF,GAExB,MAAMmhD,EAAmBjhD,EAAGtL,KAAKnB,OAGjC,OAFAyM,EAAGskC,OAASxkC,EAAGpL,KACfoL,EAAGy1B,UACI,IAAIka,GAASzvC,EAAIihD,EAC5B,CACA,MAAMC,GAAqB,CAAC9c,GAAM,GAAkB0K,GAAkByJ,GAAc0B,GAAYzB,IAOhG,SAASwE,GAAsB56B,EAAO++B,GAClC,IAAK,MAAM18C,KAAQ2d,EAAO,CACtB,IAAK8+B,GAAmB9mB,MAAKgnB,GAAa38C,aAAgB28C,IAgBtD,MAAM,IAAI,EAAc,uCAAwCD,GAE/D18C,EAAK8K,GAAG,UACTytC,GAAsBv4C,EAAK09B,cAAegf,EAElD,CACJ,CAMA,SAASR,GAAsBl8C,GAC3B,OAAOA,IAASA,EAAK8K,GAAG,qBAAuB9K,EAAK8K,GAAG,oBAC3D,CAMA,SAAS+tC,GAAuBx1B,EAAOq5B,GACnC,MAAMj5B,EAAiBq3B,GAAmBz3B,EAAM6J,OAC1C0vB,EAAe9B,GAAmBz3B,EAAM4I,KAC9C,IAAKxI,IAAmBm5B,GAAgBn5B,IAAmBm5B,EAiBvD,MAAM,IAAI,EAAc,sCAAuCF,EAEvE,CC3/CO,MAAMG,GAAe5I,GAAgBA,EAAYn+C,eAAe,KAQ1DgnD,GAAsB7I,IAC/B,MAAM8I,EAAO9I,EAAYxmD,cAAc,QAGvC,OAFAsvD,EAAKC,QAAQC,UAAY,OACzBF,EAAKG,UAAY,IACVH,CAAI,EASFI,GAAalJ,IACtB,MAAMmJ,EAAWnJ,EAAYxmD,cAAc,MAE3C,OADA2vD,EAASJ,QAAQC,UAAY,OACtBG,CAAQ,EASNC,GAAgB,IAASC,OAJF,GAkB7B,SAASC,GAAiBC,GAC7B,MAAsB,iBAAXA,EACAA,EAAQzuC,OAAO,EApBM,KAoBuBsuC,GAEhDl+B,GAAOq+B,IAAaA,EAAQvtD,KAAK8e,OAAO,EAtBf,KAsB4CsuC,EAChF,CAYO,SAASI,GAAeC,GAC3B,OApCgC,GAoCzBA,EAAQztD,KAAKnB,QAAkCyuD,GAAiBG,EAC3E,CAaO,SAASC,GAAqBD,GACjC,MAAMztD,EAAyB,iBAAXytD,EAAsBA,EAAUA,EAAQztD,KAC5D,OAAIstD,GAAiBG,GACVztD,EAAK4G,MArDgB,GAuDzB5G,CACX,CAaA,SAAS2tD,GAAqB1rC,EAAKjiB,GAC/B,GAAIA,EAAKu6B,SAAWN,GAASyB,UAAW,CACpC,MAAM2oB,EAAerkD,EAAKskD,UAAU94B,cAAcF,YAAYi5B,eAC9D,GAA+B,GAA3BF,EAAa9E,YAAmB8E,EAAaI,WAAW,GAAGC,UAAW,CACtE,MAAMC,EAAYN,EAAaI,WAAW,GAAGjxB,eACvCqxB,EAAYR,EAAaI,WAAW,GAAGpI,YACzCiR,GAAiB3I,IAAcE,GA3EX,GA4EpBR,EAAap1B,SAAS01B,EAAW,EAEzC,CACJ,CACJ,C,eC1II,GAAU,CAAC,WAAa,CAAC,YAAW,IAGxC,GAAQlnD,cAAgB,KACxB,GAAQE,OAAS,UAAc,KAAM,QACrC,GAAQuK,OAAS,KACjB,GAAQ3B,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,KAAQ2lC,QAAS,KAAQA,OCC3C,MAAM0hB,WAAiC9tC,KAOlD,WAAAvH,CAAY0rC,EAActd,GACtBxsB,QAIA/L,KAAKy/C,aAAe,IAAIrtC,IAIxBpS,KAAK0/C,iBAAmB,IAAIttC,IAI5BpS,KAAK2/C,eAAiB,IAAIvtC,IAI1BpS,KAAK4/C,YAAc,IAAIxtC,IAIvBpS,KAAK6/C,cAAgB,KAIrB7/C,KAAK8/C,wBAA0B,KAC/B9/C,KAAK61C,aAAeA,EACpB71C,KAAKu4B,UAAYA,EACjBv4B,KAAKkQ,IAAI,aAAa,GACtBlQ,KAAKkQ,IAAI,eAAe,GACxBlQ,KAAKkQ,IAAI,eAAe,GAKpB,EAAInJ,UAAY,EAAID,WACpB9G,KAAK4N,GAAG,sBAAsB,KACrB5N,KAAK+/C,aACN//C,KAAK21C,QACT,GAGZ,CAaA,UAAAqK,CAAW98C,EAAMvB,GACb,GAAa,SAATuB,EACIlD,KAAK61C,aAAaoK,aAAat+C,EAAKP,SACpCpB,KAAK4/C,YAAYxzC,IAAIzK,OAGxB,CAGD,IAAK3B,KAAK61C,aAAaoK,aAAat+C,GAChC,OAEJ,GAAa,eAATuB,EACAlD,KAAK0/C,iBAAiBtzC,IAAIzK,OAEzB,IAAa,aAATuB,EAGJ,CAQD,MAAM,IAAI,EAAc,6BAA8BlD,KAC1D,CAXIA,KAAK2/C,eAAevzC,IAAIzK,EAW5B,CACJ,CACJ,CAYA,MAAAg0C,GAKI,GAAI31C,KAAKy/B,cAAgB,EAAI34B,UAMzB,OAOJ,IAAIo5C,EAAuB,KAC3B,MAAMC,IAAkC,EAAIp5C,UAAY,EAAID,aAAa9G,KAAK+/C,YAE9E,IAAK,MAAM7wD,KAAW8Q,KAAK2/C,eACvB3/C,KAAKogD,wBAAwBlxD,GAK7BixD,GAIIngD,KAAK6/C,gBAAkB7/C,KAAKqgD,8BAC5BrgD,KAAKsgD,sBAGLtgD,KAAK6/C,cACLK,EAAuBlgD,KAAKugD,2BAGvBvgD,KAAKwgD,kCACVN,EAAuBlgD,KAAKu4B,UAAUE,mBAEtCz4B,KAAK2/C,eAAevzC,IAAI8zC,EAAqB9+C,UAI5CpB,KAAK6/C,eAAiB7/C,KAAK6/C,cAAcpgC,aAE9CygC,EAAuBlgD,KAAK61C,aAAae,kBAAkB52C,KAAK6/C,eAK5DK,GAAwBA,EAAqB9+C,OAAOqL,GAAG,WAEvDyzC,EAAuB,GAAalS,cAAckS,EAAqB9+C,UAG/E,IAAK,MAAMlS,KAAW8Q,KAAK0/C,iBACvB1/C,KAAKygD,aAAavxD,GAEtB,IAAK,MAAMA,KAAW8Q,KAAK2/C,eACvB3/C,KAAK0gD,gBAAgBxxD,EAAS,CAAEgxD,yBAEpC,IAAK,MAAMv+C,KAAQ3B,KAAK4/C,aACf5/C,KAAK2/C,eAAexzC,IAAIxK,EAAKP,SAAWpB,KAAK61C,aAAaoK,aAAat+C,EAAKP,SAC7EpB,KAAK2gD,YAAYh/C,EAAM,CAAEu+C,yBAWjC,GAAIC,EACA,GAAID,EAAsB,CACtB,MAAMU,EAAoB5gD,KAAK61C,aAAamB,kBAAkBkJ,GACxDtK,EAAcgL,EAAkBx/C,OAAOgc,cACxC8hC,GAAiB0B,EAAkBx/C,QAMpCpB,KAAK6/C,cAAgBe,EAAkBx/C,OAJvCpB,KAAK6/C,cAAgBgB,GAAgBjL,EAAagL,EAAkBx/C,OAAQw/C,EAAkB7mC,OAMtG,MAGI/Z,KAAK6/C,cAAgB,KAK7B7/C,KAAK8gD,eACL9gD,KAAK+gD,mBACL/gD,KAAK61C,aAAamL,kCAClBhhD,KAAK4/C,YAAYvvC,QACjBrQ,KAAK0/C,iBAAiBrvC,QACtBrQ,KAAK2/C,eAAetvC,OAIxB,CAUA,uBAAA+vC,CAAwB1E,GACpB,MAAM3F,EAAa/1C,KAAK61C,aAAaoK,aAAavE,GAClD,IAAK3F,EAED,OAQJ,MAAMkL,EAAoBjtD,MAAM8N,KAAKi0C,EAAWr+C,YAC1CwpD,EAAsBltD,MAAM8N,KAAK9B,KAAK61C,aAAasL,kBAAkBzF,EAAa,CAAE0F,cAAc,KAClG/kD,EAAO2D,KAAKqhD,eAAeJ,EAAmBC,GAC9CI,EAAUthD,KAAKuhD,mBAAmBllD,EAAM4kD,EAAmBC,EAAqBM,IACtF,IAAmC,IAA/BF,EAAQj+C,QAAQ,UAAkB,CAClC,MAAMo+C,EAAU,CAAEC,MAAO,EAAGnyD,OAAQ,EAAG6gB,OAAQ,GAC/C,IAAK,MAAMuxC,KAAUL,EACjB,GAAe,WAAXK,EAAqB,CACrB,MAAMC,EAAcH,EAAQC,MAAQD,EAAQlyD,OACtCsyD,EAAcJ,EAAQC,MAAQD,EAAQrxC,OACtC0xC,EAAYpG,EAAYxb,SAAS0hB,IAInCE,GAAcA,EAAUr1C,GAAG,cAAiBq1C,EAAUr1C,GAAG,eACzDzM,KAAK+hD,uBAAuBD,EAAWb,EAAkBY,IAE7D9qD,GAAOmqD,EAAoBU,IAC3BH,EAAQC,OACZ,MAEID,EAAQE,IAGpB,CACJ,CAOA,sBAAAI,CAAuBrG,EAAa3F,GAEhC/1C,KAAK61C,aAAamM,iBAAiBjM,GACnC/1C,KAAK61C,aAAaoM,aAAalM,EAAY2F,GAE3C17C,KAAK2/C,eAAevzC,IAAIsvC,GAUxB17C,KAAK0/C,iBAAiBtzC,IAAIsvC,EAC9B,CAWA,wBAAA6E,GACI,MAAM2B,EAAWliD,KAAKu4B,UAAUE,mBAChC,OAAIypB,EAAS9gD,OAAOqL,GAAG,SACZ,GAAauhC,cAAckU,EAAS9gD,QAGpC8gD,CAEf,CAQA,0BAAA7B,GACI,GAAiC,GAA7BrgD,KAAKu4B,UAAU4Y,aAAoBnxC,KAAKu4B,UAAU0W,YAClD,OAAO,EAUX,MAAMkT,EAAoBniD,KAAKu4B,UAAUE,mBACnCriC,EAAW4J,KAAK61C,aAAamB,kBAAkBmL,GACrD,SAAI/rD,GAAY0qB,GAAO1qB,EAASgL,SAAW89C,GAAiB9oD,EAASgL,QAIzE,CAIA,mBAAAk/C,GACI,MAAM8B,EAAgBpiD,KAAK6/C,cAE3B,IAAKX,GAAiBkD,GAOlB,MAAM,IAAI,EAAc,gCAAiCpiD,MAEzDo/C,GAAegD,GACfA,EAAcrrD,SAGdqrD,EAAcxwD,KAAOwwD,EAAcxwD,KAAK8e,OF5ShB,GE8S5B1Q,KAAK6/C,cAAgB,IACzB,CAMA,6BAAAW,GACI,GAAiC,GAA7BxgD,KAAKu4B,UAAU4Y,aAAoBnxC,KAAKu4B,UAAU0W,YAClD,OAAO,EAEX,MAAMkT,EAAoBniD,KAAKu4B,UAAUE,mBACnC4pB,EAAkBF,EAAkB/gD,OACpCkhD,EAAkBH,EAAkBpoC,OAE1C,IAAK/Z,KAAK61C,aAAaoK,aAAaoC,EAAgBh0D,MAChD,OAAO,EAEX,IAAMg0D,EAAgB51C,GAAG,WACrB,OAAO,EAIX,IAygBR,SAAoBvd,GAChB,GAA+C,SAA3CA,EAAQ6wC,aAAa,mBACrB,OAAO,EAEX,MAAM3+B,EAASlS,EAAQy6C,cAAaz6C,GAAWA,EAAQ+5C,aAAa,qBACpE,OAAQ7nC,GAAoD,QAA1CA,EAAO2+B,aAAa,kBAC1C,CA/gBawiB,CAAWF,GACZ,OAAO,EAEX,MAAMjU,EAAa+T,EAAkB/T,WAC/BD,EAAYgU,EAAkBhU,UACpC,QAAIC,aAAsB,IAAYD,aAAqB,SAIvDmU,IAAoBD,EAAgBhY,mBAAuB+D,GAAeA,EAAW3hC,GAAG,UAAW,UAKnG,EAAI3F,YAAcsnC,IAAcD,GAIxC,CAOA,WAAAwS,CAAY6B,EAAUvzD,GAClB,MAAMowD,EAAUr/C,KAAK61C,aAAa4M,yBAAyBD,GAE3D,IAAIE,EADe1iD,KAAK61C,aAAa8M,UAAUH,GACjB5wD,KAC9B,MAAMgxD,EAAS3zD,EAAQixD,qBACnB0C,GAAUA,EAAOxhD,QAAUohD,EAASphD,QAAUwhD,EAAO7oC,QAAUyoC,EAAStvD,QACxEwvD,EAAe1D,GAAgB0D,GAOnC1iD,KAAK6iD,gBAAgBxD,EAASqD,EAIlC,CAMA,YAAAjC,CAAa/E,GACT,MAAM3F,EAAa/1C,KAAK61C,aAAaoK,aAAavE,GAClD,GAAK3F,EAAL,CAcA,IAAK,MAAM+M,KAAW9uD,MAAM8N,KAAKi0C,EAAWzmD,YAAa,CACrD,MAAMqJ,EAAMmqD,EAAQtgD,KAEfk5C,EAAYzS,aAAatwC,IAC1BqH,KAAK61C,aAAakN,0BAA0BhN,EAAYp9C,EAEhE,CAEA,IAAK,MAAMA,KAAO+iD,EAAY3S,mBAC1B/oC,KAAK61C,aAAamN,uBAAuBjN,EAAYp9C,EAAK+iD,EAAY3b,aAAapnC,GAAM+iD,EAjB7F,CAmBJ,CAUA,eAAAgF,CAAgBhF,EAAazsD,GACzB,MAAM8mD,EAAa/1C,KAAK61C,aAAaoK,aAAavE,GAClD,IAAK3F,EAGD,OAWJ,GAAI,EAAIjvC,UAAW,CACf,IAAIm8C,EAAkB,KACtB,IAAK,MAAM9D,KAAWnrD,MAAM8N,KAAKi0C,EAAWr+C,YAAa,CACrD,GAAIurD,GAAmBniC,GAAOmiC,IAAoBniC,GAAOq+B,GAAU,CAC/DpJ,EAAWvL,YACX,KACJ,CACAyY,EAAkB9D,CACtB,CACJ,CACA,MAAMe,EAAuBjxD,EAAQixD,qBAC/Be,EAAoBlL,EAAWr+C,WAC/BwpD,EAAsBltD,MAAM8N,KAAK9B,KAAK61C,aAAasL,kBAAkBzF,EAAa,CAAEzpC,MAAM,KAI5FiuC,GAAwBA,EAAqB9+C,SAAWs6C,GACxDmF,GAAgB9K,EAAW34B,cAAe8jC,EAAqBhB,EAAqBnmC,QAExF,MAAM1d,EAAO2D,KAAKqhD,eAAeJ,EAAmBC,GAG9CI,EAAUthD,KAAKuhD,mBAAmBllD,EAAM4kD,EAAmBC,EAAqBgC,IAMtF,IAAItyD,EAAI,EACR,MAAMuyD,EAAgB,IAAI/wC,IAO1B,IAAK,MAAMuvC,KAAUL,EACF,WAAXK,GAmBAwB,EAAc/2C,IAAI60C,EAAkBrwD,IACpCmG,GAAOkqD,EAAkBrwD,KAET,UAAX+wD,GAAiC,WAAXA,GAC3B/wD,IAGRA,EAAI,EACJ,IAAK,MAAM+wD,KAAUL,EACF,WAAXK,GAkBA96B,GAASkvB,EAAYnlD,EAAGswD,EAAoBtwD,IAC5CA,KAGgB,WAAX+wD,GACL3hD,KAAK6iD,gBAAgB5B,EAAkBrwD,GAAIswD,EAAoBtwD,GAAGgB,MAClEhB,KAEgB,UAAX+wD,IAGL3hD,KAAKojD,0BAA0BpjD,KAAK61C,aAAawN,UAAUnC,EAAoBtwD,KAC/EA,KAMR,IAAK,MAAM+Q,KAAQwhD,EACVxhD,EAAK8d,YACNzf,KAAK61C,aAAamM,iBAAiBrgD,EAM/C,CAQA,cAAA0/C,CAAeJ,EAAmBC,GAE9B,OADAD,EAyZR,SAAyCqC,EAAcC,GACnD,MAAMC,EAAYxvD,MAAM8N,KAAKwhD,GAC7B,GAAwB,GAApBE,EAAU/yD,SAAgB8yD,EAC1B,OAAOC,EAEX,MAAM1xB,EAAO0xB,EAAUA,EAAU/yD,OAAS,GACtCqhC,GAAQyxB,GACRC,EAAUhiD,MAEd,OAAOgiD,CACX,CAna4BC,CAAgCxC,EAAmBjhD,KAAK8/C,yBACrEzjD,EAAK4kD,EAAmBC,EAAqBwC,GAAUzxC,KAAK,KAAMjS,KAAK61C,cAClF,CAmBA,kBAAA0L,CAAmBD,EAASqC,EAAWC,EAAaC,GAEhD,IAAmC,IAA/BvC,EAAQj+C,QAAQ,YAAmD,IAA/Bi+C,EAAQj+C,QAAQ,UACpD,OAAOi+C,EAEX,IAAIwC,EAAa,GACbC,EAAc,GACdC,EAAgB,GACpB,MAAMvC,EAAU,CAAEC,MAAO,EAAGnyD,OAAQ,EAAG6gB,OAAQ,GAC/C,IAAK,MAAMuxC,KAAUL,EACF,WAAXK,EACAqC,EAAcj1D,KAAK60D,EAAYnC,EAAQC,MAAQD,EAAQlyD,SAEvC,WAAXoyD,EACLoC,EAAYh1D,KAAK40D,EAAUlC,EAAQC,MAAQD,EAAQrxC,UAGnD0zC,EAAaA,EAAWjyD,OAAOwK,EAAK0nD,EAAaC,EAAeH,GAC3DvkD,KAAIqiD,GAAqB,UAAXA,EAAqB,SAAWA,KACnDmC,EAAW/0D,KAAK,SAEhBg1D,EAAc,GACdC,EAAgB,IAEpBvC,EAAQE,KAEZ,OAAOmC,EAAWjyD,OAAOwK,EAAK0nD,EAAaC,EAAeH,GACrDvkD,KAAIqiD,GAAqB,UAAXA,EAAqB,SAAWA,IACvD,CAQA,eAAAkB,CAAgBxD,EAASqD,GACrB,MAAMuB,EAAa5E,EAAQztD,KACvBqyD,GAAcvB,IAad,EAAI57C,WAAa9G,KAAKy/B,aAAewkB,EAAW7vD,QAAQ,UAAW,MAAQsuD,EAAatuD,QAAQ,UAAW,MAmB/G4L,KAAKkkD,wBAAwB7E,EAASqD,GAC1C,CAIA,uBAAAwB,CAAwB7E,EAASqD,GAC7B,MAAMpB,EAAU35C,EAAS03C,EAAQztD,KAAM8wD,GACvC,IAAK,MAAMf,KAAUL,EACG,WAAhBK,EAAOz+C,KACPm8C,EAAQ8E,WAAWxC,EAAOzuD,MAAOyuD,EAAO14C,OAAOlX,KAAK,KAGpDstD,EAAQ+E,WAAWzC,EAAOzuD,MAAOyuD,EAAOz4C,QAGpD,CAQA,yBAAAk6C,CAA0BiB,GACtB,GAAKA,EAGL,GAAIA,EAAS53C,GAAG,SACZzM,KAAK4/C,YAAYxzC,IAAIi4C,QAEpB,GAAIA,EAAS53C,GAAG,WACjB,IAAK,MAAM0J,KAASkuC,EAAShlB,cACzBr/B,KAAKojD,0BAA0BjtC,EAG3C,CAIA,gBAAA4qC,GAKI,GAAI,EAAIh6C,UAAY,EAAID,WAAa9G,KAAK+/C,cAAgB//C,KAAK2/C,eAAettC,KAC1E,OAGJ,GAAkC,IAA9BrS,KAAKu4B,UAAU4Y,WAGf,OAFAnxC,KAAKskD,2BACLtkD,KAAKukD,uBAGT,MAAMC,EAAUxkD,KAAK61C,aAAaoK,aAAajgD,KAAKu4B,UAAU4T,iBAEzDnsC,KAAKm1B,WAAcqvB,IAIpBxkD,KAAKu4B,UAAUyY,OACfhxC,KAAKykD,qBAAqBD,GAIrBxkD,KAAK8/C,yBAA2B9/C,KAAK8/C,wBAAwB4E,aAClE1kD,KAAKukD,uBACLvkD,KAAK2kD,oBAAoBH,IAMlBxkD,KAAKy/B,aAAe,EAAI34B,WAC/B9G,KAAK2kD,oBAAoBH,GAEjC,CAMA,oBAAAC,CAAqBD,GACjB,MAAM5O,EAAc4O,EAAQpnC,cACvBpd,KAAK8/C,0BACN9/C,KAAK8/C,wBAwPjB,SAAsClK,GAClC,MAAMgP,EAAYhP,EAAYxmD,cAAc,OAW5C,OAVAw1D,EAAUtb,UAAY,8BACtB35C,OAAO83B,OAAOm9B,EAAUrkD,MAAO,CAC3BnK,SAAU,QACVwpB,IAAK,EACLlU,KAAM,UAENqW,MAAO,SAGX6iC,EAAUC,YAAc,IACjBD,CACX,CArQ2CE,CAA6BlP,IAEhE,MAAMgP,EAAY5kD,KAAK8/C,wBAGvB,GADA9/C,KAAK61C,aAAakP,kBAAkBH,EAAW5kD,KAAKu4B,YAC/Cv4B,KAAKglD,0BAA0BR,GAChC,OAECI,EAAU99B,eAAiB89B,EAAU99B,eAAiB09B,GACvDA,EAAQ3sD,YAAY+sD,GAExBA,EAAUC,YAAc7kD,KAAKu4B,UAAU0Y,oBAAsB,IAC7D,MAAMgF,EAAeL,EAAYO,eAC3B51B,EAAWq1B,EAAYl1B,cAC7Bu1B,EAAagP,kBACb1kC,EAAS2kC,mBAAmBN,GAC5B3O,EAAakP,SAAS5kC,EAC1B,CAMA,mBAAAokC,CAAoBH,GAChB,MAAMvO,EAAeuO,EAAQpnC,cAAcF,YAAYi5B,eAEvD,IAAKn2C,KAAKolD,yBAAyBnP,GAC/B,OAOJ,MAAMzW,EAASx/B,KAAK61C,aAAamB,kBAAkBh3C,KAAKu4B,UAAUiH,QAC5D0R,EAAQlxC,KAAK61C,aAAamB,kBAAkBh3C,KAAKu4B,UAAU2Y,OAMjE+E,EAAaoP,iBAAiB7lB,EAAOp+B,OAAQo+B,EAAOzlB,OAAQm3B,EAAM9vC,OAAQ8vC,EAAMn3B,QAE5E,EAAIpT,SA4KhB,SAAkCuqC,EAAO+E,GACrC,IAAI70C,EAAS8vC,EAAM9vC,OACf2Y,EAASm3B,EAAMn3B,OACf+G,GAAO1f,IAAWg+C,GAAeh+C,KACjC2Y,EAAS1W,GAAQjC,GAAU,EAC3BA,EAASA,EAAOqe,YAIpB,GAAIre,EAAO+W,UAAYkF,KAAKioC,cAAgBvrC,GAAU3Y,EAAO1J,WAAWjH,OAAS,EAC7E,OAEJ,MAAM80D,EAAgBnkD,EAAO1J,WAAWqiB,GAGpCwrC,GAA0C,MAAzBA,EAAcC,SAC/BvP,EAAakP,SAASlP,EAAaI,WAAW,GAEtD,CA7LYoP,CAAyBvU,EAAO+E,EAExC,CAMA,wBAAAmP,CAAyBnP,GACrB,IAAKj2C,KAAK61C,aAAa6P,sBAAsBzP,GAEzC,OAAO,EAEX,MAAM0P,EAAmB1P,GAAgBj2C,KAAK61C,aAAa+P,mBAAmB3P,GAC9E,QAAI0P,IAAoB3lD,KAAKu4B,UAAUjV,QAAQqiC,QAI1C3lD,KAAKu4B,UAAU0W,aAAejvC,KAAKu4B,UAAUkJ,UAAUkkB,GAMhE,CAMA,yBAAAX,CAA0BR,GACtB,MAAMI,EAAY5kD,KAAK8/C,wBACjB7J,EAAeuO,EAAQpnC,cAAc+4B,eAG3C,OAAKyO,GAAaA,EAAU99B,gBAAkB09B,IAI1CvO,EAAa4P,aAAejB,IAAcA,EAAUrhC,SAAS0yB,EAAa4P,aAGvEjB,EAAUC,cAAgB7kD,KAAKu4B,UAAU0Y,mBACpD,CAIA,mBAAAqT,GACI,IAAK,MAAMvuC,KAAO/V,KAAKy/C,aAAc,CACjC,MAAMxJ,EAAelgC,EAAIogC,eACzB,GAAIF,EAAa9E,WAAY,CACzB,MAAM2U,EAAmB/vC,EAAIsf,cACvBqmB,EAAc17C,KAAK61C,aAAakQ,aAAaD,GAC/CA,GAAoBpK,GACpBzF,EAAagP,iBAErB,CACJ,CACJ,CAIA,oBAAAV,GACI,MAAMK,EAAY5kD,KAAK8/C,wBACnB8E,GACAA,EAAU7tD,QAElB,CAIA,YAAA+pD,GACI,GAAI9gD,KAAKm1B,UAAW,CAChB,MAAMmZ,EAAWtuC,KAAKu4B,UAAU4T,gBAC5BmC,GACAtuC,KAAK61C,aAAa3E,MAAM5C,EAEhC,CACJ,EAoBJ,SAASuS,GAAgBjL,EAAaoQ,EAAkBjsC,GACpD,MAAMriB,EAAasuD,aAA4BhyD,MAAQgyD,EAAmBA,EAAiBtuD,WACrFuuD,EAAkBvuD,EAAWqiB,GACnC,GAAI+G,GAAOmlC,GAEP,OADAA,EAAgBr0D,KAAOotD,GAAgBiH,EAAgBr0D,KAChDq0D,EAEN,CACD,MAAMC,EAAatQ,EAAYn+C,eAAeunD,IAO9C,OANIhrD,MAAM+T,QAAQi+C,GACdtuD,EAAWkC,OAAOmgB,EAAQ,EAAGmsC,GAG7Br/B,GAASm/B,EAAkBjsC,EAAQmsC,GAEhCA,CACX,CACJ,CAKA,SAAS1E,GAAmB2E,EAAOC,GAC/B,OAAOnpC,GAAOkpC,IAAUlpC,GAAOmpC,KAC1BtlC,GAAOqlC,KAAWrlC,GAAOslC,KACzBp/B,GAAUm/B,KAAWn/B,GAAUo/B,IAChCD,EAAMX,QAAQh/C,gBAAkB4/C,EAAMZ,QAAQh/C,aACtD,CAIA,SAAS08C,GAAaiD,EAAOC,GACzB,OAAOnpC,GAAOkpC,IAAUlpC,GAAOmpC,IAC3BtlC,GAAOqlC,IAAUrlC,GAAOslC,EAChC,CAWA,SAAS1C,GAAU7N,EAAcwQ,EAAgBC,GAE7C,OAAID,IAAmBC,IAIdxlC,GAAOulC,IAAmBvlC,GAAOwlC,GAC/BD,EAAez0D,OAAS00D,EAAiB10D,QAG3CikD,EAAa0Q,cAAcF,KAChCxQ,EAAa0Q,cAAcD,IAKnC,CC58BA,MAAME,GAAgB1H,GAAU,EAAO3vD,UACjCs3D,GAAkBjI,GAAY,EAAOrvD,UACrCu3D,GAAyBjI,GAAmB,EAAOtvD,UACnDw3D,GAA+B,4BAC/BC,GAAuC,yBAc9B,MAAMC,GAajB,WAAA18C,CAAYhb,GAAU,gBAAE23D,EAAe,cAAEC,EAAgB,WAAc,CAAC,GAIpE/mD,KAAKgnD,kBAAoB,IAAIv1B,QAI7BzxB,KAAKinD,kBAAoB,IAAIx1B,QAI7BzxB,KAAKknD,sBAAwB,IAAIz1B,QAKjCzxB,KAAKmnD,0BAA4B,IAAI,GAIrCnnD,KAAKonD,4BAA8B,IAAI,GAIvCpnD,KAAKqnD,uCAAyC,IAAIj1C,IAClDpS,KAAK7Q,SAAWA,EAChB6Q,KAAK+mD,cAAgBA,EACrB/mD,KAAK8mD,gBAAkBA,IAAsC,YAAlBC,EAA8B,KAAO,QAChF/mD,KAAKsnD,YAAc,CAAC,MAAO,YAC3BtnD,KAAKunD,cAAgB,CACjB,UAAW,UAAW,QAAS,aAAc,UAAW,SAAU,KAAM,UAAW,MAAO,MAC1F,KAAM,KAAM,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SACtG,SAAU,SAAU,KAAM,OAAQ,OAAQ,MAAO,KAAM,IAAK,MAAO,UAAW,UAAW,QAAS,QAClG,KAAM,QAAS,KAAM,QAAS,KAAM,MAExCvnD,KAAKwnD,qBAAuB,CACxB,SAAU,SAAU,QAAS,SAAU,WAAY,SAAU,SAAU,QAAS,QAAS,QAAS,MAAO,UAE7GxnD,KAAKynD,eAAiB,CAAC,SAAU,SACjCznD,KAAK0nD,aAAsC,YAAvB1nD,KAAK+mD,cAA8B,EAAO53D,SAAW,EAAOA,SAASw4D,eAAeC,mBAAmB,GAC/H,CAOA,iBAAA7C,CAAkBhP,EAAY8R,GAC1B7nD,KAAKknD,sBAAsBh3C,IAAI6lC,EAAY,IAAI,GAAc8R,GACjE,CAKA,mBAAAC,CAAoB/R,GAChB,OAAO/1C,KAAKknD,sBAAsBrhD,IAAIkwC,EAC1C,CASA,YAAAkM,CAAalM,EAAY2F,GACrB17C,KAAKgnD,kBAAkB92C,IAAI6lC,EAAY2F,GACvC17C,KAAKinD,kBAAkB/2C,IAAIwrC,EAAa3F,EAC5C,CAOA,gBAAAiM,CAAiBjM,GACb,MAAM2F,EAAc17C,KAAKgnD,kBAAkBnhD,IAAIkwC,GAC/C,GAAI2F,EAAa,CACb17C,KAAKgnD,kBAAkB52C,OAAO2lC,GAC9B/1C,KAAKinD,kBAAkB72C,OAAOsrC,GAC9B,IAAK,MAAMvlC,KAAS4/B,EAAWtyC,SAC3BzD,KAAKgiD,iBAAiB7rC,EAE9B,CACJ,CASA,qBAAA4xC,CAAsBC,EAAaC,GAC/BjoD,KAAKgnD,kBAAkB92C,IAAI83C,EAAaC,GACxCjoD,KAAKinD,kBAAkB/2C,IAAI+3C,EAAcD,EAC7C,CAMA,qBAAAE,CAAsBC,EAAcC,EAAgBrc,GAChD,MAA2B,SAAvB/rC,KAAK+mD,iBAGToB,EAAeA,EAAa3hD,eACXmwB,WAAW,SAGP,WAAjBwxB,IACAC,EAAejpD,MAAM,6CAGL,QAAhB4sC,IACkB,QAAjBoc,GAA2C,WAAjBA,KAGX,WAAhBpc,GAA6C,WAAjBoc,IAG5BC,EAAejpD,MAAM,uDAI7B,CAOA,YAAAkpD,CAAatS,EAAYuS,GAErB,GAA2B,SAAvBtoD,KAAK+mD,cAEL,YADAhR,EAAWtvB,UAAY6hC,GAG3B,MAAMn5D,GAAW,IAAIo5D,WAAYC,gBAAgBF,EAAM,aACjDG,EAAWt5D,EAASuoD,yBACpBgR,EAAiBv5D,EAAS+xB,KAAKxpB,WACrC,KAAOgxD,EAAej4D,OAAS,GAC3Bg4D,EAAS5wD,YAAY6wD,EAAe,IAExC,MAAMha,EAAav/C,EAASw5D,iBAAiBF,EAAUG,WAAWC,cAC5DvpC,EAAQ,GACd,IAAIC,EAEJ,KAAOA,EAAcmvB,EAAWoa,YAC5BxpC,EAAMvwB,KAAKwwB,GAEf,IAAK,MAAMA,KAAeD,EAAO,CAE7B,IAAK,MAAM2qB,KAAiB1qB,EAAYwpC,oBACpC/oD,KAAKgjD,uBAAuBzjC,EAAa0qB,EAAe1qB,EAAYwgB,aAAakK,IAErF,MAAM8B,EAAcxsB,EAAYimC,QAAQh/C,cAEpCxG,KAAKgpD,qBAAqBjd,KAC1Bkd,GAAkBld,GAClBxsB,EAAY2pC,YAAYlpD,KAAKmpD,6BAA6Bpd,EAAaxsB,IAE/E,CAEA,KAAOw2B,EAAW9V,YACd8V,EAAW9V,WAAWlpC,SAE1Bg/C,EAAWqT,OAAOX,EACtB,CAWA,SAAA9F,CAAU0B,EAAUp1D,EAAU,CAAC,GAC3B,GAAIo1D,EAAS53C,GAAG,SAAU,CACtB,MAAM48C,EAAWrpD,KAAKspD,yBAAyBjF,GAC/C,OAAOrkD,KAAK0nD,aAAajwD,eAAe4xD,EAC5C,CACK,CACD,MAAME,EAAwBlF,EAC9B,GAAIrkD,KAAKigD,aAAasJ,GAAwB,CAG1C,IAAIA,EAAsB1f,kBAAkB,kCAIxC,OAAO7pC,KAAKigD,aAAasJ,GAHzBvpD,KAAKqnD,uCAAuCj7C,IAAIm9C,EAKxD,CACA,IAAIxT,EACJ,GAAIwT,EAAsB98C,GAAG,oBAEzBspC,EAAa/1C,KAAK0nD,aAAahQ,yBAC3BzoD,EAAQgjB,MACRjS,KAAK+nD,sBAAsBhS,EAAYwT,OAG1C,IAAIA,EAAsB98C,GAAG,aAW9B,OATIspC,EAD+B,aAA/BwT,EAAsB/mD,KACTxC,KAAK0nD,aAAa8B,cAAcD,EAAsB1f,kBAAkB,gBAIxE0f,EAAsB5T,OAAO31C,KAAK0nD,aAAc1nD,MAE7D/Q,EAAQgjB,MACRjS,KAAKiiD,aAAalM,EAAYwT,GAE3BxT,EAIH/1C,KAAKgpD,qBAAqBO,EAAsB/mD,OAChDymD,GAAkBM,EAAsB/mD,MACxCuzC,EAAa/1C,KAAKmpD,6BAA6BI,EAAsB/mD,OAGrEuzC,EADKwT,EAAsBtgB,aAAa,SAC3BjpC,KAAK0nD,aAAaxxC,gBAAgBqzC,EAAsBxpB,aAAa,SAAUwpB,EAAsB/mD,MAGrGxC,KAAK0nD,aAAat4D,cAAcm6D,EAAsB/mD,MAInE+mD,EAAsB98C,GAAG,eACzB88C,EAAsB5T,OAAOI,EAAY/1C,MAEzC/Q,EAAQgjB,MACRjS,KAAKiiD,aAAalM,EAAYwT,GAGlC,IAAK,MAAM5wD,KAAO4wD,EAAsBxgB,mBACpC/oC,KAAKgjD,uBAAuBjN,EAAYp9C,EAAK4wD,EAAsBxpB,aAAapnC,GAAM4wD,EAE9F,CACA,IAA6B,IAAzBt6D,EAAQmyD,aACR,IAAK,MAAMjrC,KAASnW,KAAKmhD,kBAAkBoI,EAAuBt6D,GAC1D8mD,aAAsB0T,oBACtB1T,EAAW3kD,QAAQyG,YAAYse,GAG/B4/B,EAAWl+C,YAAYse,GAInC,OAAO4/B,CACX,CACJ,CAaA,sBAAAiN,CAAuBjN,EAAYp9C,EAAK3I,EAAO05D,GAC3C,MAAMxB,EAAwBloD,KAAKkoD,sBAAsBvvD,EAAK3I,EAAO+lD,EAAWyP,QAAQh/C,gBACpFkjD,GAAsBA,EAAmB1f,4BAA4BrxC,GACpEuvD,GACD,EAAW,yCAA0C,CAAEnS,aAAYp9C,MAAK3I,UCrTrE,SAA8BwS,GACzC,IACI,EAAOrT,SAASw6D,gBAAgBnnD,EACpC,CACA,MAAOkF,GACH,OAAO,CACX,CACA,OAAO,CACX,CD+SakiD,CAAqBjxD,IAUtBo9C,EAAW9M,aAAatwC,KAASuvD,EACjCnS,EAAW4C,gBAAgBhgD,GAGtBo9C,EAAW9M,aAAa0d,GAA+BhuD,IAAQuvD,GACpEnS,EAAW4C,gBAAgBgO,GAA+BhuD,GAI9Do9C,EAAWn9C,aAAasvD,EAAwBvvD,EAAMguD,GAA+BhuD,EAAK3I,IAbtF,EAAW,0CAA2C,CAAE+lD,aAAYp9C,MAAK3I,SAcjF,CASA,yBAAA+yD,CAA0BhN,EAAYp9C,GAE9BA,GAAOiuD,KAGX7Q,EAAW4C,gBAAgBhgD,GAE3Bo9C,EAAW4C,gBAAgBgO,GAA+BhuD,GAC9D,CAUA,kBAACwoD,CAAkBzF,EAAazsD,EAAU,CAAC,GACvC,MAAM46D,EAAuBnO,EAAYrR,iBAAmBqR,EAAYrR,kBACxE,IAAItwB,EAAS,EACb,IAAK,MAAM+vC,KAAapO,EAAYrc,cAAe,CAC3CwqB,IAAyB9vC,UACnB/Z,KAAK+pD,mBAEf,MAAMC,EAAuBF,EAAUr9C,GAAG,cACpCq9C,EAAUjgB,kBAAkB,uCAC7B,GAAMigB,EAAU9gB,iBACrB,GAAIghB,GAA8C,QAAtBhqD,KAAK+mD,cAG7B,GAAI+C,EAAUr9C,GAAG,cAAe,CAC5B,MAAMw9C,EAAcjqD,KAAK0nD,aAAat4D,cAAc06D,EAAUtnD,MAC9DsnD,EAAUnU,OAAOsU,EAAajqD,YACvB,IAAIiqD,EAAYvyD,WAC3B,YAEWsI,KAAKmhD,kBAAkB2I,EAAW76D,QAIzC+6D,GAMA,EAAW,qEAAsE,CAAEtO,YAAaoO,UAE9F9pD,KAAK2iD,UAAUmH,EAAW76D,GAEpC8qB,GACJ,CACI8vC,IAAyB9vC,UACnB/Z,KAAK+pD,kBAEnB,CAQA,cAAAG,CAAeC,GACX,MAAMC,EAAWpqD,KAAKg3C,kBAAkBmT,EAAUt7B,OAC5Cw7B,EAASrqD,KAAKg3C,kBAAkBmT,EAAUv8B,KAC1CrN,EAAWvgB,KAAK0nD,aAAahnC,cAGnC,OAFAH,EAASI,SAASypC,EAAShpD,OAAQgpD,EAASrwC,QAC5CwG,EAAS+pC,OAAOD,EAAOjpD,OAAQipD,EAAOtwC,QAC/BwG,CACX,CAaA,iBAAAy2B,CAAkBL,GACd,MAAM4T,EAAa5T,EAAav1C,OAChC,GAAImpD,EAAW99C,GAAG,SAAU,CACxB,MAAM8pC,EAAYv2C,KAAKyiD,yBAAyB8H,GAChD,IAAKhU,EAED,OAAO,KAEX,IAAIx8B,EAAS48B,EAAa58B,OAI1B,OAHImlC,GAAiB3I,KACjBx8B,GH1XoB,GG4XjB,CAAE3Y,OAAQm1C,EAAWx8B,SAChC,CACK,CAED,IAAIw8B,EAAWiU,EAAWC,EAC1B,GAA4B,IAAxB9T,EAAa58B,OAAc,CAE3B,GADAw8B,EAAYv2C,KAAKigD,aAAasK,IACzBhU,EAED,OAAO,KAEXkU,EAAWlU,EAAU7+C,WAAW,EACpC,KACK,CACD,MAAM02C,EAAauI,EAAavI,WAIhC,GAHAoc,EAAYpc,EAAW3hC,GAAG,SACtBzM,KAAKyiD,yBAAyBrU,GAC9BpuC,KAAKigD,aAAa7R,IACjBoc,EAED,OAAO,KAEXjU,EAAYiU,EAAU/qC,WACtBgrC,EAAWD,EAAUlqB,WACzB,CAGA,GAAIxf,GAAO2pC,IAAavL,GAAiBuL,GACrC,MAAO,CAAErpD,OAAQqpD,EAAU1wC,OHxZP,GG2ZxB,MAAO,CAAE3Y,OAAQm1C,EAAWx8B,OADbywC,EAAYnnD,GAAQmnD,GAAa,EAAI,EAExD,CACJ,CAiBA,SAAAnH,CAAUlE,EAASlwD,EAAU,CAAC,GAC1B,MAAMy7D,EAAc,GACdC,EAAY3qD,KAAK4qD,WAAWzL,EAASlwD,EAASy7D,GAE9C/oD,EAAOgpD,EAAU/2B,OAAO5jC,MAC9B,OAAK2R,GAILgpD,EAAU/2B,OAEV5zB,KAAK6qD,uBAAuB,KAAMH,EAAaz7D,GAEnB,MAAxB+Q,KAAK8mD,iBAA2BgE,GAAenpD,IAI/CA,EAAK8K,GAAG,UAAgC,GAApB9K,EAAK/P,KAAKnB,OAHvB,KAMJkR,GAdI,IAef,CAWA,kBAACopD,CAAkBhV,EAAY9mD,EAAU,CAAC,EAAGy7D,EAAc,IAEvD,IAAIhzD,EAAa,GAEbA,EADAq+C,aAAsB0T,oBACT,IAAI1T,EAAW3kD,QAAQsG,YAGvB,IAAIq+C,EAAWr+C,YAEhC,IAAK,IAAI9G,EAAI,EAAGA,EAAI8G,EAAWjH,OAAQG,IAAK,CACxC,MAAMo6D,EAAWtzD,EAAW9G,GACtB+5D,EAAY3qD,KAAK4qD,WAAWI,EAAU/7D,EAASy7D,GAE/C5I,EAAY6I,EAAU/2B,OAAO5jC,MACjB,OAAd8xD,IAEI9hD,KAAKirD,oBAAoBnJ,IACzB9hD,KAAK6qD,uBAAuB9U,EAAY2U,EAAaz7D,GAG3B,MAAxB+Q,KAAK8mD,iBAA2BgE,GAAehJ,WAC3CA,GAGV6I,EAAU/2B,OAElB,CAEA5zB,KAAK6qD,uBAAuB9U,EAAY2U,EAAaz7D,EACzD,CAQA,kBAAA22D,CAAmB3P,GAEf,GA87BR,SAAuCA,GACnC,IAAK,EAAItvC,QACL,OAAO,EAEX,IAAKsvC,EAAa9E,WACd,OAAO,EAEX,MAAMyT,EAAY3O,EAAaI,WAAW,GAAGjxB,eAC7C,IACIz1B,OAAOwF,UAAU6J,SAAS3J,KAAKuvD,EACnC,CACA,MAAOl9C,GACH,OAAO,CACX,CACA,OAAO,CACX,CA78BYwjD,CAA8BjV,GAC9B,OAAO,IAAI,GAAc,IAI7B,GAAgC,IAA5BA,EAAa9E,WAAkB,CAC/B,IAAIyT,EAAY3O,EAAaI,WAAW,GAAGjxB,eAEvCtE,GAAO8jC,KACPA,EAAYA,EAAUnlC,YAE1B,MAAM07B,EAAgBn7C,KAAK8nD,oBAAoBlD,GAC/C,GAAIzJ,EACA,OAAOA,CAEf,CACA,MAAM/J,EAAapxC,KAAKmrD,uBAAuBlV,GACzCmV,EAAa,GACnB,IAAK,IAAIx6D,EAAI,EAAGA,EAAIqlD,EAAa9E,WAAYvgD,IAAK,CAE9C,MAAM2vB,EAAW01B,EAAaI,WAAWzlD,GACnCu5D,EAAYnqD,KAAKqrD,eAAe9qC,GAClC4pC,GACAiB,EAAWr8D,KAAKo7D,EAExB,CACA,OAAO,IAAI,GAAciB,EAAY,CAAE5Y,SAAUpB,GACrD,CAQA,cAAAia,CAAe9qC,GACX,MAAM+qC,EAAYtrD,KAAK42C,kBAAkBr2B,EAAS6E,eAAgB7E,EAAS0tB,aACrEsd,EAAUvrD,KAAK42C,kBAAkBr2B,EAASg+B,aAAch+B,EAAS8tB,WACvE,OAAIid,GAAaC,EACN,IAAI,GAAUD,EAAWC,GAE7B,IACX,CAgBA,iBAAA3U,CAAkBL,EAAWE,EAAY,GACrC,GAAIz2C,KAAKumD,cAAchQ,GACnB,OAAOv2C,KAAK42C,kBAAkBL,EAAU92B,WAAYpc,GAAQkzC,IAGhE,MAAMmF,EAAc17C,KAAK+lD,aAAaxP,GACtC,GAAImF,IAAgBA,EAAYjvC,GAAG,cAAgBivC,EAAYjvC,GAAG,eAC9D,OAAO,GAAauhC,cAAc0N,GAEtC,GAAI56B,GAAOy1B,GAAY,CACnB,GAAI6I,GAAe7I,GACf,OAAOv2C,KAAK42C,kBAAkBL,EAAU92B,WAAYpc,GAAQkzC,IAEhE,MAAMgU,EAAavqD,KAAKwrD,0BAA0BjV,GAClD,IAAIx8B,EAAS08B,EACb,OAAK8T,GAGDrL,GAAiB3I,KACjBx8B,GHlkBoB,EGmkBpBA,EAASA,EAAS,EAAI,EAAIA,GAEvB,IAAI,GAAawwC,EAAYxwC,IANzB,IAOf,CAGI,GAAkB,IAAd08B,EAAiB,CACjB,MAAM8T,EAAavqD,KAAK+lD,aAAaxP,GACrC,GAAIgU,EACA,OAAO,IAAI,GAAaA,EAAY,EAE5C,KACK,CACD,MAAMC,EAAYjU,EAAU7+C,WAAW++C,EAAY,GAEnD,GAAI31B,GAAO0pC,IAAcpL,GAAeoL,IAAcA,GAAaxqD,KAAKumD,cAAciE,GAClF,OAAOxqD,KAAK42C,kBAAkB4T,EAAU/qC,WAAYpc,GAAQmnD,IAEhE,MAAMiB,EAAa3qC,GAAO0pC,GACtBxqD,KAAKwrD,0BAA0BhB,GAC/BxqD,KAAK+lD,aAAayE,GAEtB,GAAIiB,GAAcA,EAAWrqD,OACzB,OAAO,IAAI,GAAaqqD,EAAWrqD,OAAQqqD,EAAWv4D,MAAQ,EAEtE,CACA,OAAO,IAEf,CAaA,YAAA6yD,CAAa2F,GAET,OADoB1rD,KAAK2rD,mBAAmBD,IACtB1rD,KAAKgnD,kBAAkBnhD,IAAI6lD,EACrD,CAqBA,yBAAAF,CAA0BnM,GACtB,GAAID,GAAeC,GACf,OAAO,KAGX,MAAM/gB,EAAct+B,KAAK2rD,mBAAmBtM,GAC5C,GAAI/gB,EACA,OAAOA,EAEX,MAAM1X,EAAkBy4B,EAAQz4B,gBAEhC,GAAIA,EAAiB,CACjB,IAAM5mB,KAAK4rD,UAAUhlC,GAEjB,OAAO,KAEX,MAAM80B,EAAc17C,KAAK+lD,aAAan/B,GACtC,GAAI80B,EAAa,CACb,MAAMpb,EAAcob,EAAYpb,YAEhC,OAAIA,aAAuB,GAChBA,EAGA,IAEf,CACJ,KAEK,CACD,MAAMob,EAAc17C,KAAK+lD,aAAa1G,EAAQ5/B,YAC9C,GAAIi8B,EAAa,CACb,MAAMzb,EAAayb,EAAYxb,SAAS,GAExC,OAAID,aAAsB,GACfA,EAGA,IAEf,CACJ,CACA,OAAO,IACX,CACA,YAAAggB,CAAa4L,GACT,OAAO7rD,KAAKinD,kBAAkBphD,IAAIgmD,EACtC,CAgBA,wBAAApJ,CAAyBD,GACrB,MAAM57B,EAAkB47B,EAAS57B,gBAEjC,OAAIA,GAAmB5mB,KAAKigD,aAAar5B,GAC9B5mB,KAAKigD,aAAar5B,GAAiB0Z,aAGzC1Z,GAAmB47B,EAASphD,QAAUpB,KAAKigD,aAAauC,EAASphD,QAC3DpB,KAAKigD,aAAauC,EAASphD,QAAQ1J,WAAW,GAElD,IACX,CAIA,KAAAw5C,CAAM4a,GACF,MAAMC,EAAc/rD,KAAKigD,aAAa6L,GACtC,GAAIC,GAAeA,EAAY3uC,cAAciY,gBAAkB02B,EAAa,CAExE,MAAM,QAAEroC,EAAO,QAAEC,GAAY,EAAOhjB,OAC9BqrD,EAAkB,GAGxBC,GAA0BF,GAAapqD,IACnC,MAAM,WAAEwiB,EAAU,UAAEC,GAAcziB,EAClCqqD,EAAgBj9D,KAAK,CAACo1B,EAAYC,GAAW,IAEjD2nC,EAAY7a,QAKZ+a,GAA0BF,GAAapqD,IACnC,MAAOwiB,EAAYC,GAAa4nC,EAAgBtgC,QAChD/pB,EAAKwiB,WAAaA,EAClBxiB,EAAKyiB,UAAYA,CAAS,IAI9B,EAAOzjB,OAAOwpB,SAASzG,EAASC,EACpC,CACJ,CAMA,kBAAAuoC,GACI,MAAMH,EAAc/rD,KAAKigD,aAAajgD,KAAK7Q,SAASopC,UAAU4T,iBAC9D,IAAK4f,EACD,OAGJ,MAAM9V,EAAe8V,EAAY3uC,cAAcF,YAAYi5B,eACrDgW,EAAmBnsD,KAAK4lD,mBAAmB3P,GACrBkW,GAAoBA,EAAiBhb,WAAa,GAE1E8E,EAAagP,iBAErB,CAMA,SAAA2G,CAAUjqD,GACN,OAAOA,GAAQA,EAAKwW,UAAYkF,KAAKioC,YACzC,CAMA,kBAAA8G,CAAmBzqD,GACf,OAAOA,GAAQA,EAAKwW,UAAYkF,KAAKgvC,sBACzC,CAkBA,aAAA9F,CAAcpH,GACV,MAA4B,MAAxBn/C,KAAK8mD,gBACE3H,EAAQmN,YAAY9F,MAI3B+F,GAAgBpN,EAASn/C,KAAKunD,iBAI3BpI,EAAQmN,YAAY5F,KAgkBnC,SAA2BvH,EAASoI,GAChC,MAAMiF,EAASrN,EAAQmN,YAAY7F,IACnC,OAAO+F,GAAUC,GAAetN,EAASoI,IAA2D,IAAzCpI,EAAQ1/B,WAAW/nB,WAAWjH,MAC7F,CAnkB8Di8D,CAAkBvN,EAASn/C,KAAKunD,eAC1F,CAMA,sBAAA4D,CAAuB5yB,GACnB,GAAIA,EAAU0W,YACV,OAAO,EAIX,MAAMjqB,EAAQhlB,KAAK0nD,aAAahnC,cAChC,IACIsE,EAAMrE,SAAS4X,EAAUstB,WAAYttB,EAAUo0B,cAC/C3nC,EAAMslC,OAAO/xB,EAAUie,UAAWje,EAAUme,YAChD,CACA,MAAO31C,GAGH,OAAO,CACX,CACA,MAAMyxC,EAAWxtB,EAAMsxB,UAEvB,OADAtxB,EAAMjG,SACCyzB,CACX,CAKA,kBAAAmZ,CAAmBxM,GACf,MAAM3e,EAAYnhB,GAAa8/B,GAG/B,IADA3e,EAAUh/B,MACHg/B,EAAU/vC,QAAQ,CACrB,MAAM0uD,EAAU3e,EAAUh/B,MACpB6iD,EAAWrkD,KAAKgnD,kBAAkBnhD,IAAIs5C,GAC5C,GAAIkF,IAAaA,EAAS53C,GAAG,cAAgB43C,EAAS53C,GAAG,eACrD,OAAO43C,CAEf,CACA,OAAO,IACX,CAaA,qBAAAqB,CAAsBzP,GAClB,OAAOj2C,KAAK4sD,+BAA+B3W,EAAa4P,WAAY5P,EAAa0W,eAC7E3sD,KAAK4sD,+BAA+B3W,EAAaO,UAAWP,EAAaS,YACjF,CAcA,yBAAAmW,CAA0BxpB,GACtBrjC,KAAKmnD,0BAA0B/6C,IAAIi3B,EACvC,CAWA,2BAAAypB,CAA4BzpB,GACxBrjC,KAAKonD,4BAA4Bh7C,IAAIi3B,EACzC,CAMA,+BAAA2d,GACI,IAAK,MAAM9xD,KAAW8Q,KAAKqnD,uCACvBn4D,EAAQ28C,sBAAsB,kCAElC7rC,KAAKqnD,uCAAuCh3C,OAChD,CAIA,eAAA05C,GACI,OAAQ/pD,KAAK8mD,iBACT,IAAK,OACD,OAAOtI,GAAYx+C,KAAK0nD,cAC5B,IAAK,aACD,OAAOjJ,GAAmBz+C,KAAK0nD,cACnC,IAAK,KACD,OAAO5I,GAAU9+C,KAAK0nD,cAElC,CAQA,8BAAAkF,CAA+BrW,EAAWx8B,GAEtC,GAAI+G,GAAOy1B,IAAc2I,GAAiB3I,IAAcx8B,EHn6B5B,EGq6BxB,OAAO,EAEX,GAAI/Z,KAAK4rD,UAAUrV,IAAc2I,GAAiB3I,EAAU7+C,WAAWqiB,IAEnE,OAAO,EAEX,MAAMwwC,EAAavqD,KAAK+lD,aAAaxP,GAIrC,OAAIgU,IAAeA,EAAW99C,GAAG,eAAgB89C,EAAW99C,GAAG,aAInE,CASA,WAACm+C,CAAWzL,EAASlwD,EAASy7D,GAG1B,GAA4B,MAAxB1qD,KAAK8mD,iBAA2ByF,GAAgBpN,EAASn/C,KAAKunD,eAC9D,OAAO,KAGX,MAAMjpB,EAAct+B,KAAK2rD,mBAAmBxM,GAC5C,GAAI7gB,EACA,OAAOA,EAEX,GAAItX,GAAUm4B,IAAYlwD,EAAQ89D,aAC9B,OAAO,KAEX,GAAIjsC,GAAOq+B,GAAU,CACjB,GAAIC,GAAeD,GACf,OAAO,KAEN,CACD,MAAMkK,EAAWlK,EAAQvtD,KACzB,GAAiB,KAAby3D,EACA,OAAO,KAEX,MAAMxnB,EAAW,IAAI,GAAS7hC,KAAK7Q,SAAUk6D,GAE7C,OADAqB,EAAY37D,KAAK8yC,GACVA,CACX,CACJ,CACK,CACD,IAAI6Z,EAAc17C,KAAK+lD,aAAa5G,GACpC,GAAIzD,EAIA,OAHI17C,KAAKgtD,uBAAuBtR,IAC5BgP,EAAY37D,KAAK2sD,GAEdA,EAEX,GAAI17C,KAAKosD,mBAAmBjN,GAExBzD,EAAc,IAAI,GAAqB17C,KAAK7Q,UACxCF,EAAQgjB,MACRjS,KAAK+nD,sBAAsB5I,EAASzD,OAGvC,CAEDA,EAAc17C,KAAKitD,mBAAmB9N,EAASlwD,GAC3CA,EAAQgjB,MACRjS,KAAKiiD,aAAa9C,EAASzD,GAG/B,MAAM94C,EAAQu8C,EAAQ7vD,WACtB,GAAIsT,EACA,IAAK,IAAI5G,EAAI4G,EAAMnS,OAAQG,EAAI,EAAGA,EAAIoL,EAAGpL,IACrC8qD,EAAYjR,cAAc7nC,EAAMhS,GAAG4R,KAAMI,EAAMhS,GAAGZ,OAI1D,GAAIgQ,KAAKktD,6BAA6BxR,EAAazsD,GAK/C,OAJAysD,EAAY9P,mBAAmB,cAAeuT,EAAQ14B,WACjDzmB,KAAKirD,oBAAoBvP,IAC1BgP,EAAY37D,KAAK2sD,GAEdA,EAGX,GAAI10B,GAAUm4B,GAEV,OADAzD,EAAY9P,mBAAmB,cAAeuT,EAAQvtD,MAC/C8pD,CAEf,OAEMA,EACN,MAAMyR,EAAoB,GAC1B,IAA6B,IAAzBl+D,EAAQmyD,aACR,IAAK,MAAMjrC,KAASnW,KAAK+qD,kBAAkB5L,EAASlwD,EAASk+D,GACzDzR,EAAYpR,aAAan0B,GAKjC,GAAInW,KAAKgtD,uBAAuBtR,GAC5BgP,EAAY37D,KAAK2sD,GAEjB17C,KAAK6qD,uBAAuB,KAAMsC,EAAmBl+D,QAIrD,IAAK,MAAMm+D,KAAcD,EACrBzC,EAAY37D,KAAKq+D,EAG7B,CACJ,CASA,sBAAAvC,CAAuBtU,EAAWmU,EAAaz7D,GAC3C,IAAKy7D,EAAYj6D,OACb,OAIJ,GAAI8lD,IAAcv2C,KAAKosD,mBAAmB7V,KAAev2C,KAAKqtD,mBAAmB9W,GAC7E,OAEJ,IAAI+W,GAAwB,EAC5B,IAAK,IAAI18D,EAAI,EAAGA,EAAI85D,EAAYj6D,OAAQG,IAAK,CACzC,MAAM+Q,EAAO+oD,EAAY95D,GACzB,IAAK+Q,EAAK8K,GAAG,SAAU,CACnB6gD,GAAwB,EACxB,QACJ,CACA,IAAI17D,EACA27D,GAAoB,EACxB,GAAIvtD,KAAKwtD,gBAAgB7rD,GACrB/P,EAAO0tD,GAAqB39C,EAAK/P,UAEhC,CAKDA,EAAO+P,EAAK/P,KAAKwC,QAAQ,iBAAkB,KAC3Cm5D,EAAoB,cAAch1D,KAAK3G,EAAKc,OAAOd,EAAKnB,OAAS,IACjE,MAAMg9D,EAAW78D,EAAI,EAAI85D,EAAY95D,EAAI,GAAK,KACxCk4D,EAAWl4D,EAAI,EAAI85D,EAAYj6D,OAASi6D,EAAY95D,EAAI,GAAK,KAC7D88D,GAAkBD,GAAYA,EAAShhD,GAAG,YAA+B,MAAjBghD,EAASjrD,MAAgB8qD,EACjFK,GAAkB7E,IAAoB5J,GAAiBv9C,EAAK/P,OAErC,IAAzB3C,EAAQmyD,eAGJsM,IACA97D,EAAOA,EAAKwC,QAAQ,KAAM,KAG1Bu5D,IACA/7D,EAAOA,EAAKwC,QAAQ,KAAM,MAOlCxC,EAAO0tD,GAAqB1tD,GAEA,MAAxBoO,KAAK8mD,iBAA2BnlD,EAAKP,SACjCwsD,GAAuBjsD,EAAKP,OAAQxP,IACpCA,EAAO,GAEH+P,EAAKP,OAAOA,SACZO,EAAKP,OAAOA,OAAOwqC,mBAAmB,mBAAmB,GACzDjqC,EAAKP,OAAOqxB,YAGXo7B,GAAiBlsD,EAAKP,OAAQxP,EAAMoO,KAAKunD,iBAC9C31D,EAAO,GACP+P,EAAKP,OAAOwqC,mBAAmB,mBAAmB,KAU1Dh6C,EAAOA,EAAKwC,QAAQ,WAAY,MAChC,MAAM05D,EAAgChF,GAAYA,EAASr8C,GAAG,YAA+B,MAAjBq8C,EAAStmD,KAC/EurD,EAA8BjF,GAAYA,EAASr8C,GAAG,UAAuC,KAA3Bq8C,EAASl3D,KAAKc,OAAO,IAEzF,mBAAmB6F,KAAK3G,KAAUk3D,GAAYgF,GAAiCC,KAC/En8D,EAAOA,EAAKwC,QAAQ,UAAW,OAI/Bs5D,GAAkBD,GAAYA,EAAShhD,GAAG,YAA+B,MAAjBghD,EAASjrD,QACjE5Q,EAAOA,EAAKwC,QAAQ,UAAW,KAEvC,CAGmB,GAAfxC,EAAKnB,QAAekR,EAAKP,QACzBO,EAAK8wB,UACLi4B,EAAY9wD,OAAOhJ,EAAG,GACtBA,MAGA+Q,EAAK6/B,MAAQ5vC,EACb07D,EAAwBC,EAEhC,CACA7C,EAAYj6D,OAAS,CACzB,CAkBA,wBAAA64D,CAAyB3nD,GACrB,IAAI/P,EAAO+P,EAAK/P,KAEhB,GAAIoO,KAAKwtD,gBAAgB7rD,GACrB,OAAO/P,EAIX,GAAsB,KAAlBA,EAAKc,OAAO,GAAW,CACvB,MAAM+6D,EAAWztD,KAAKguD,2BAA2BrsD,GAAM,KAC7B8rD,GAAYA,EAAShhD,GAAG,eAAiBzM,KAAKiuD,mBAAmBR,KACjEA,IACtB77D,EAAO,IAAWA,EAAK8e,OAAO,GAEtC,CAUA,GAAoC,KAAhC9e,EAAKc,OAAOd,EAAKnB,OAAS,GAAW,CACrC,MAAMq4D,EAAW9oD,KAAKguD,2BAA2BrsD,GAAM,GACjDusD,EAAsBpF,GAAYA,EAASr8C,GAAG,eAA4C,KAA3Bq8C,EAASl3D,KAAKc,OAAO,GACtD,KAAhCd,EAAKc,OAAOd,EAAKnB,OAAS,IAAcq4D,IAAYoF,IACpDt8D,EAAOA,EAAK8e,OAAO,EAAG9e,EAAKnB,OAAS,GAAK,IAEjD,CAEA,OAAOmB,EAAKwC,QAAQ,QAAS,KACjC,CAOA,kBAAA65D,CAAmBtsD,GACf,GAAI3B,KAAKwtD,gBAAgB7rD,GACrB,OAAO,EAEX,MAAM/P,EAAOoO,KAAKspD,yBAAyB3nD,GAC3C,MAAuC,KAAhC/P,EAAKc,OAAOd,EAAKnB,OAAS,EACrC,CASA,eAAA+8D,CAAgB7rD,GACZ,GAsIR,SAA8BA,EAAMgX,GAChC,OAAOhX,EAAK0d,eAAeiY,MAAKl2B,GAAUA,EAAOqL,GAAG,YAAckM,EAAM6X,SAASpvB,EAAOoB,OAC5F,CAxIY2rD,CAAqBxsD,EAAM3B,KAAKsnD,aAChC,OAAO,EAEX,IAAK,MAAMvM,KAAYp5C,EAAK0d,aAAa,CAAEqhB,aAAa,IACpD,GAAKqa,EAAStuC,GAAG,YAAesuC,EAASrR,SAAS,gBAAuD,YAArCqR,EAASvR,SAAS,eAMtF,MAAO,CAAC,MAAO,WAAY,gBAAgBhZ,SAASuqB,EAASvR,SAAS,gBAE1E,OAAO,CACX,CASA,0BAAAwkB,CAA2BrsD,EAAMysD,GAC7B,MAAM1f,EAAa,IAAI,GAAe,CAClCjC,cAAe2hB,EAAU,GAAa1gB,aAAa/rC,GAAQ,GAAaqsC,cAAcrsC,GACtF8iB,UAAW2pC,EAAU,UAAY,aAErC,IAAK,MAAM,KAAEj9D,KAAUu9C,EAAY,CAE/B,GAAIv9C,EAAKsb,GAAG,cACR,OAAOtb,EAGN,IAAIA,EAAKsb,GAAG,aAActb,EAAK04C,kBAAkB,qCAAjD,CAIA,GAAI14C,EAAKsb,GAAG,UAAW,MACxB,OAAO,KAGN,GAAIzM,KAAKgtD,uBAAuB77D,GACjC,OAAOA,EAIN,GAAIA,EAAKsb,GAAG,oBACb,OAAO,IACX,CACJ,CACA,OAAO,IACX,CAIA,kBAAA4gD,CAAmB1rD,GACf,OAAO3B,KAAK4rD,UAAUjqD,IAAS3B,KAAKunD,cAAc/2B,SAAS7uB,EAAK6jD,QAAQh/C,cAC5E,CAIA,mBAAAykD,CAAoBtpD,GAChB,OAAOA,EAAK8K,GAAG,YAAczM,KAAKunD,cAAc/2B,SAAS7uB,EAAKa,KAClE,CAIA,sBAAAwqD,CAAuBrrD,GACnB,QAAKA,EAAK8K,GAAG,aAGO,MAAb9K,EAAKa,MACRxC,KAAKwnD,qBAAqBh3B,SAAS7uB,EAAKa,SACtCxC,KAAKonD,4BAA4BjoD,MAAMwC,GACjD,CAOA,kBAAAsrD,CAAmBtrD,EAAM1S,GACrB,GAAI+3B,GAAUrlB,GACV,OAAO,IAAI,GAAc3B,KAAK7Q,SAAU,YAE5C,MAAMk/D,EAAWp/D,EAAQq/D,iBAAmB3sD,EAAK6jD,QAAU7jD,EAAK6jD,QAAQh/C,cACxE,OAAO,IAAI,GAAYxG,KAAK7Q,SAAUk/D,EAC1C,CAOA,4BAAAnB,CAA6BxR,EAAazsD,GACtC,OAAgC,IAAzBA,EAAQmyD,cAA0B1F,EAAYjvC,GAAG,cAAgBzM,KAAKmnD,0BAA0BhoD,MAAMu8C,EACjH,CAMA,oBAAAsN,CAAqBjd,GACjB,MAAMvpC,EAAOupC,EAAYvlC,cACzB,MAA8B,YAAvBxG,KAAK+mD,eAA+B/mD,KAAKynD,eAAej3B,SAAShuB,EAC5E,CAQA,4BAAA2mD,CAA6Bpd,EAAawiB,GACtC,MAAMC,EAAgBxuD,KAAK0nD,aAAat4D,cAAc,QAGtD,GADAo/D,EAAc51D,aAAaguD,GAAsC7a,GAC7DwiB,EAAoB,CACpB,KAAOA,EAAmBtuB,YACtBuuB,EAAc32D,YAAY02D,EAAmBtuB,YAEjD,IAAK,MAAMgK,KAAiBskB,EAAmBxF,oBAC3CyF,EAAc51D,aAAaqxC,EAAeskB,EAAmBxuB,aAAakK,GAElF,CACA,OAAOukB,CACX,EAiBJ,SAASvC,GAA0B/8D,EAAS4e,GACxC,IAAInM,EAAOzS,EACX,KAAOyS,GACHmM,EAASnM,GACTA,EAAOA,EAAKmlB,aAEpB,CAiBA,SAAS2lC,GAAetN,EAASoI,GAC7B,MAAMnmD,EAAS+9C,EAAQ1/B,WACvB,QAASre,KAAYA,EAAOokD,SAAW+B,EAAc/2B,SAASpvB,EAAOokD,QAAQh/C,cACjF,CAMA,SAASqnD,GAAiBzsD,EAAQxP,EAAM21D,GACpC,MAAgB,KAAR31D,GACJwP,GACAA,EAAOqL,GAAG,YACW,GAArBrL,EAAO4+B,YACPunB,EAAc/2B,SAASpvB,EAAOoB,KACtC,CAMA,SAASorD,GAAuBxsD,EAAQxP,GACpC,MAAgB,KAARA,GACJwP,GACAA,EAAOqL,GAAG,UAAW,SACA,GAArBrL,EAAO4+B,YACP5+B,EAAO6nC,aAAa,kBAC5B,CAMA,SAAS6hB,GAAenpD,GACpB,OAAQA,EAAK8K,GAAG,UAAW,OACvB9K,EAAKsnC,aAAa,kBAC1B,CAIA,SAASsjB,GAAgBpN,EAASoI,GAE9B,MAA4B,OAApBpI,EAAQqG,SACZiH,GAAetN,EAASoI,IACiB,IAAzCpI,EAAQ1/B,WAAW/nB,WAAWjH,MACtC,CAOA,SAASw4D,GAAkBld,GACH,WAAhBA,GACA,EAAW,+CAEK,UAAhBA,GACA,EAAW,6CAEnB,CEp+Ce,MAAM0iB,WAAiCjxC,MAIlD,WAAArT,CAAYsqB,GACR1oB,QAIA/L,KAAK0uD,YAAa,EAClB1uD,KAAKy0B,KAAOA,EACZz0B,KAAK7Q,SAAWslC,EAAKtlC,QACzB,CAIA,aAAI0oC,GACA,OAAO73B,KAAK0uD,UAChB,CAWA,MAAAC,GACI3uD,KAAK0uD,YAAa,CACtB,CAOA,OAAAE,GACI5uD,KAAK0uD,YAAa,CACtB,CAIA,OAAAzoC,GACIjmB,KAAK4uD,UACL5uD,KAAKkO,eACT,CAaA,gCAAA2gD,CAAiC3Y,GAI7B,OAHIA,GAAoC,IAAvBA,EAAU/9B,WACvB+9B,EAAYA,EAAUz2B,eAErBy2B,GAAoC,IAAvBA,EAAU/9B,WAGrB+9B,EAAUhvC,QAAQ,uDAC7B,EC/CJ,IAAI4nD,GAAW,IAAe,SAASl7C,EAAQxJ,GAC7C,GAAWA,EAAQ,GAAOA,GAASwJ,EACrC,IAEA,YCxBe,MAAMm7C,GAMjB,WAAA5kD,CAAYsqB,EAAMtU,EAAU6uC,GACxBhvD,KAAKy0B,KAAOA,EACZz0B,KAAK7Q,SAAWslC,EAAKtlC,SACrB6Q,KAAKmgB,SAAWA,EAChBngB,KAAKk2C,UAAY/1B,EAAS3f,OAC1B,GAAOR,KAAMgvD,EACjB,CAIA,UAAIxuD,GACA,OAAOR,KAAKy0B,KAAKohB,aAAakQ,aAAa/lD,KAAKk2C,UACpD,CAIA,cAAAvgB,GACI31B,KAAKmgB,SAASwV,gBAClB,CAIA,eAAAC,GACI51B,KAAKmgB,SAASyV,iBAClB,ECTW,MAAMq5B,WAAyBR,GAC1C,WAAAtkD,GACI4B,SAASkM,WAKTjY,KAAK2d,YAAa,EAKlB3d,KAAK6d,YAAa,CACtB,CAIA,OAAAmI,CAAQ+vB,IACsC,iBAArB/1C,KAAKkvD,aAA2B,CAAClvD,KAAKkvD,cAAgBlvD,KAAKkvD,cAC1Er/D,SAAQqT,IACVlD,KAAK+N,SAASgoC,EAAY7yC,GAAM,CAAC+L,EAAWkR,KACpCngB,KAAK63B,YAAc73B,KAAK6uD,iCAAiC1uC,EAAS3f,SAClER,KAAKmvD,WAAWhvC,EACpB,GACD,CAAExC,WAAY3d,KAAK2d,WAAYE,WAAY7d,KAAK6d,YAAa,GAExE,CAIA,aAAAuxC,CAAcrZ,GACV/1C,KAAKkO,cAAc6nC,EACvB,CAUA,IAAAhnC,CAAKsgD,EAAWlvC,EAAU6uC,GAClBhvD,KAAK63B,WACL73B,KAAK7Q,SAAS4f,KAAKsgD,EAAW,IAAIN,GAAa/uD,KAAKy0B,KAAMtU,EAAU6uC,GAE5E,ECpEW,MAAMM,WAAoBL,GACrC,WAAA9kD,GACI4B,SAASkM,WAITjY,KAAKkvD,aAAe,CAAC,UAAW,QACpC,CAIA,UAAAC,CAAWlwC,GACP,MAAMrtB,EAAO,CACTu6B,QAASlN,EAAOkN,QAChBC,OAAQnN,EAAOmN,OACfC,QAASpN,EAAOoN,QAChBC,SAAUrN,EAAOqN,SACjBC,QAAStN,EAAOsN,QAChB,aAAIC,GACA,OAAO,GAAQxsB,KACnB,GAEJA,KAAK+O,KAAKkQ,EAAO/b,KAAM+b,EAAQrtB,EACnC,ECfJ,SAJU,WACR,OAAO,GAAKwb,KAAK4hB,KACnB,ECnBA,IAAIugC,GAAe,KAiBnB,SAPA,SAAyBxwD,GAGvB,IAFA,IAAI7L,EAAQ6L,EAAOtO,OAEZyC,KAAWq8D,GAAah3D,KAAKwG,EAAOrM,OAAOQ,MAClD,OAAOA,CACT,ECbA,IAAIs8D,GAAc,OAelB,SANA,SAAkBzwD,GAChB,OAAOA,EACHA,EAAOvG,MAAM,EAAG,GAAgBuG,GAAU,GAAG3K,QAAQo7D,GAAa,IAClEzwD,CACN,ECXA,IAGI0wD,GAAa,qBAGbC,GAAa,aAGbC,GAAY,cAGZC,GAAenwD,SA8CnB,SArBA,SAAkBzP,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI,GAASA,GACX,OA1CM,IA4CR,GAAI,EAASA,GAAQ,CACnB,IAAI6mB,EAAgC,mBAAjB7mB,EAAMorB,QAAwBprB,EAAMorB,UAAYprB,EACnEA,EAAQ,EAAS6mB,GAAUA,EAAQ,GAAMA,CAC3C,CACA,GAAoB,iBAAT7mB,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQ,GAASA,GACjB,IAAI6/D,EAAWH,GAAWn3D,KAAKvI,GAC/B,OAAQ6/D,GAAYF,GAAUp3D,KAAKvI,GAC/B4/D,GAAa5/D,EAAMwI,MAAM,GAAIq3D,EAAW,EAAI,GAC3CJ,GAAWl3D,KAAKvI,GAvDb,KAuD6BA,CACvC,ECxDA,IAGI,GAAYa,KAAK+K,IACjBk0D,GAAYj/D,KAAK8K,IAqLrB,SA7HA,SAAkBya,EAAMigB,EAAMpnC,GAC5B,IAAI8gE,EACAC,EACAC,EACAv/D,EACAw/D,EACAC,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARn6C,EACT,MAAM,IAAI4mB,UAzEQ,uBAmFpB,SAASwzB,EAAWC,GAClB,IAAIlgE,EAAOw/D,EACPphC,EAAUqhC,EAKd,OAHAD,EAAWC,OAAW7vD,EACtBiwD,EAAiBK,EACjB//D,EAAS0lB,EAAKvf,MAAM83B,EAASp+B,EAE/B,CAqBA,SAASmgE,EAAaD,GACpB,IAAIE,EAAoBF,EAAON,EAM/B,YAAyBhwD,IAAjBgwD,GAA+BQ,GAAqBt6B,GACzDs6B,EAAoB,GAAOL,GANJG,EAAOL,GAM8BH,CACjE,CAEA,SAASW,IACP,IAAIH,EAAO,KACX,GAAIC,EAAaD,GACf,OAAOI,EAAaJ,GAGtBP,EAAU56B,WAAWs7B,EA3BvB,SAAuBH,GACrB,IAEIK,EAAcz6B,GAFMo6B,EAAON,GAI/B,OAAOG,EACHR,GAAUgB,EAAab,GAJDQ,EAAOL,IAK7BU,CACN,CAmBqCC,CAAcN,GACnD,CAEA,SAASI,EAAaJ,GAKpB,OAJAP,OAAU/vD,EAINowD,GAAYR,EACPS,EAAWC,IAEpBV,EAAWC,OAAW7vD,EACfzP,EACT,CAcA,SAASsgE,IACP,IAAIP,EAAO,KACPQ,EAAaP,EAAaD,GAM9B,GAJAV,EAAW93C,UACX+3C,EAAWhwD,KACXmwD,EAAeM,EAEXQ,EAAY,CACd,QAAgB9wD,IAAZ+vD,EACF,OAzEN,SAAqBO,GAMnB,OAJAL,EAAiBK,EAEjBP,EAAU56B,WAAWs7B,EAAcv6B,GAE5Bg6B,EAAUG,EAAWC,GAAQ//D,CACtC,CAkEawgE,CAAYf,GAErB,GAAIG,EAIF,OAFA/6B,aAAa26B,GACbA,EAAU56B,WAAWs7B,EAAcv6B,GAC5Bm6B,EAAWL,EAEtB,CAIA,YAHgBhwD,IAAZ+vD,IACFA,EAAU56B,WAAWs7B,EAAcv6B,IAE9B3lC,CACT,CAGA,OA3GA2lC,EAAO,GAASA,IAAS,EACrB,EAASpnC,KACXohE,IAAYphE,EAAQohE,QAEpBJ,GADAK,EAAS,YAAarhE,GACH,GAAU,GAASA,EAAQghE,UAAY,EAAG55B,GAAQ45B,EACrEM,EAAW,aAActhE,IAAYA,EAAQshE,SAAWA,GAoG1DS,EAAUx6B,OApCV,gBACkBr2B,IAAZ+vD,GACF36B,aAAa26B,GAEfE,EAAiB,EACjBL,EAAWI,EAAeH,EAAWE,OAAU/vD,CACjD,EA+BA6wD,EAAUG,MA7BV,WACE,YAAmBhxD,IAAZ+vD,EAAwBx/D,EAASmgE,EAAa,KACvD,EA4BOG,CACT,EC1Ke,MAAMI,WAA8B3C,GAI/C,WAAAtkD,CAAYsqB,GACR1oB,MAAM0oB,GACNz0B,KAAKqxD,kCAAoC,IAASz/D,IAC9CoO,KAAK7Q,SAAS4f,KAAK,sBAAuBnd,EAAK,GAChD,IACP,CAIA,OAAAo0B,GACI,MAAM72B,EAAW6Q,KAAK7Q,SACtBA,EAASye,GAAG,YAAY,CAACqB,EAAWrd,KACdzC,EAASopC,UACbyY,QAAUhxC,KAAK63B,WAEzBjmC,EAAK+jC,gBACT,GACD,CAAE7pB,QAAS,aACd3c,EAASye,GAAG,YAAY,CAACqB,EAAWrd,KACdzC,EAASopC,UACbyY,QAAUhxC,KAAK63B,WACzB73B,KAAKsxD,qBAAqB1/D,EAAKu6B,QACnC,GACD,CAAElhB,SAAU,UACnB,CAIA,aAAAmkD,GAAkB,CAIlB,OAAAnpC,GACIla,MAAMka,UACNjmB,KAAKqxD,kCAAkC76B,QAC3C,CASA,oBAAA86B,CAAqBnlC,GACjB,MAAMoM,EAAYv4B,KAAK7Q,SAASopC,UAC1Bg5B,EAAe,IAAI,GAAch5B,EAAU8Y,YAAa,CAAEmB,SAAUja,EAAU6Y,WAAYmB,MAAM,IAElGpmB,GAAWN,GAASyB,WAAanB,GAAWN,GAAS2B,SACrD+jC,EAAaxsB,MAAMwsB,EAAa94B,oBAGhCtM,GAAWN,GAAS0B,YAAcpB,GAAWN,GAAS4B,WACtD8jC,EAAaxsB,MAAMwsB,EAAa9f,mBAEpC,MAAM7/C,EAAO,CACT4/D,aAAcj5B,EACdg5B,eACAtb,aAAc,MAGlBj2C,KAAK7Q,SAAS4f,KAAK,kBAAmBnd,GAKtCoO,KAAKqxD,kCAAkCz/D,EAC3C,ECvEJ,SALA,SAAqB5B,GAEnB,OADAgQ,KAAK4W,SAAS1G,IAAIlgB,EAbC,6BAcZgQ,IACT,ECHA,SAJA,SAAqBhQ,GACnB,OAAOgQ,KAAK4W,SAASzK,IAAInc,EAC3B,ECCA,SAASyhE,GAASxoD,GAChB,IAAI/V,GAAS,EACTzC,EAAmB,MAAVwY,EAAiB,EAAIA,EAAOxY,OAGzC,IADAuP,KAAK4W,SAAW,IAAI,KACX1jB,EAAQzC,GACfuP,KAAKoM,IAAInD,EAAO/V,GAEpB,CAGAu+D,GAASt8D,UAAUiX,IAAMqlD,GAASt8D,UAAUpG,KAAO,GACnD0iE,GAASt8D,UAAUgX,IAAM,GAEzB,YCJA,SAZA,SAAmB2K,EAAO4C,GAIxB,IAHA,IAAIxmB,GAAS,EACTzC,EAAkB,MAATqmB,EAAgB,EAAIA,EAAMrmB,SAE9ByC,EAAQzC,GACf,GAAIipB,EAAU5C,EAAM5jB,GAAQA,EAAO4jB,GACjC,OAAO,EAGX,OAAO,CACT,ECRA,SAJA,SAAkBomB,EAAOvkC,GACvB,OAAOukC,EAAM/wB,IAAIxT,EACnB,ECyEA,SA9DA,SAAqBme,EAAOD,EAAOgF,EAAS/D,EAAY45C,EAAW7kD,GACjE,IAAIm1B,EAjBqB,EAiBTnmB,EACZ81C,EAAY76C,EAAMrmB,OAClBmhE,EAAY/6C,EAAMpmB,OAEtB,GAAIkhE,GAAaC,KAAe5vB,GAAa4vB,EAAYD,GACvD,OAAO,EAGT,IAAIE,EAAahlD,EAAMhH,IAAIiR,GACvBg7C,EAAajlD,EAAMhH,IAAIgR,GAC3B,GAAIg7C,GAAcC,EAChB,OAAOD,GAAch7C,GAASi7C,GAAch7C,EAE9C,IAAI5jB,GAAS,EACTxC,GAAS,EACTqhE,EA/BuB,EA+Bfl2C,EAAoC,IAAI,QAAW1b,EAM/D,IAJA0M,EAAMqD,IAAI4G,EAAOD,GACjBhK,EAAMqD,IAAI2G,EAAOC,KAGR5jB,EAAQy+D,GAAW,CAC1B,IAAIK,EAAWl7C,EAAM5jB,GACjB++D,EAAWp7C,EAAM3jB,GAErB,GAAI4kB,EACF,IAAIo6C,EAAWlwB,EACXlqB,EAAWm6C,EAAUD,EAAU9+D,EAAO2jB,EAAOC,EAAOjK,GACpDiL,EAAWk6C,EAAUC,EAAU/+D,EAAO4jB,EAAOD,EAAOhK,GAE1D,QAAiB1M,IAAb+xD,EAAwB,CAC1B,GAAIA,EACF,SAEFxhE,GAAS,EACT,KACF,CAEA,GAAIqhE,GACF,IAAK,GAAUl7C,GAAO,SAASo7C,EAAUE,GACnC,IAAK,GAASJ,EAAMI,KACfH,IAAaC,GAAYP,EAAUM,EAAUC,EAAUp2C,EAAS/D,EAAYjL,IAC/E,OAAOklD,EAAKhjE,KAAKojE,EAErB,IAAI,CACNzhE,GAAS,EACT,KACF,OACK,GACDshE,IAAaC,IACXP,EAAUM,EAAUC,EAAUp2C,EAAS/D,EAAYjL,GACpD,CACLnc,GAAS,EACT,KACF,CACF,CAGA,OAFAmc,EAAc,OAAEiK,GAChBjK,EAAc,OAAEgK,GACTnmB,CACT,EChEA,SAVA,SAAoB4O,GAClB,IAAIpM,GAAS,EACTxC,EAASsD,MAAMsL,EAAI+S,MAKvB,OAHA/S,EAAIzP,SAAQ,SAASG,EAAO2I,GAC1BjI,IAASwC,GAAS,CAACyF,EAAK3I,EAC1B,IACOU,CACT,ECEA,SAVA,SAAoBwf,GAClB,IAAIhd,GAAS,EACTxC,EAASsD,MAAMkc,EAAImC,MAKvB,OAHAnC,EAAIrgB,SAAQ,SAASG,GACnBU,IAASwC,GAASlD,CACpB,IACOU,CACT,ECPA,IAkBI,GAAc,GAAS,GAAOyE,eAAYgL,EAC1C,GAAgB,GAAc,GAAYib,aAAUjb,EAoFxD,SAjEA,SAAoByT,EAAQiD,EAAOhB,EAAKgG,EAAS/D,EAAY45C,EAAW7kD,GACtE,OAAQgJ,GACN,IAzBc,oBA0BZ,GAAKjC,EAAOiH,YAAchE,EAAMgE,YAC3BjH,EAAOmH,YAAclE,EAAMkE,WAC9B,OAAO,EAETnH,EAASA,EAAO2F,OAChB1C,EAAQA,EAAM0C,OAEhB,IAlCiB,uBAmCf,QAAK3F,EAAOiH,YAAchE,EAAMgE,aAC3B62C,EAAU,IAAI,GAAW99C,GAAS,IAAI,GAAWiD,KAKxD,IAnDU,mBAoDV,IAnDU,gBAoDV,IAjDY,kBAoDV,OAAO,IAAIjD,GAASiD,GAEtB,IAxDW,iBAyDT,OAAOjD,EAAOpR,MAAQqU,EAAMrU,MAAQoR,EAAOhH,SAAWiK,EAAMjK,QAE9D,IAxDY,kBAyDZ,IAvDY,kBA2DV,OAAOgH,GAAWiD,EAAQ,GAE5B,IAjES,eAkEP,IAAInnB,EAAU,GAEhB,IAjES,eAkEP,IAAIsyC,EA5EiB,EA4ELnmB,EAGhB,GAFAnsB,IAAYA,EAAU,IAElBkkB,EAAOvB,MAAQwE,EAAMxE,OAAS2vB,EAChC,OAAO,EAGT,IAAI/lB,EAAUpP,EAAMhH,IAAI+N,GACxB,GAAIqI,EACF,OAAOA,GAAWpF,EAEpBgF,GAtFuB,EAyFvBhP,EAAMqD,IAAI0D,EAAQiD,GAClB,IAAInmB,EAAS,GAAYhB,EAAQkkB,GAASlkB,EAAQmnB,GAAQgF,EAAS/D,EAAY45C,EAAW7kD,GAE1F,OADAA,EAAc,OAAE+G,GACTljB,EAET,IAnFY,kBAoFV,GAAI,GACF,OAAO,GAAc2E,KAAKue,IAAW,GAAcve,KAAKwhB,GAG9D,OAAO,CACT,EC1GA,IAMI,GAHclnB,OAAOwF,UAGQC,eAgFjC,SAjEA,SAAsBwe,EAAQiD,EAAOgF,EAAS/D,EAAY45C,EAAW7kD,GACnE,IAAIm1B,EAtBqB,EAsBTnmB,EACZu2C,EAAW,GAAWx+C,GACtBy+C,EAAYD,EAAS3hE,OAIzB,GAAI4hE,GAHW,GAAWx7C,GACDpmB,SAEMuxC,EAC7B,OAAO,EAGT,IADA,IAAI9uC,EAAQm/D,EACLn/D,KAAS,CACd,IAAIyF,EAAMy5D,EAASl/D,GACnB,KAAM8uC,EAAYrpC,KAAOke,EAAQ,GAAexhB,KAAKwhB,EAAOle,IAC1D,OAAO,CAEX,CAEA,IAAI25D,EAAazlD,EAAMhH,IAAI+N,GACvBk+C,EAAajlD,EAAMhH,IAAIgR,GAC3B,GAAIy7C,GAAcR,EAChB,OAAOQ,GAAcz7C,GAASi7C,GAAcl+C,EAE9C,IAAIljB,GAAS,EACbmc,EAAMqD,IAAI0D,EAAQiD,GAClBhK,EAAMqD,IAAI2G,EAAOjD,GAGjB,IADA,IAAI2+C,EAAWvwB,IACN9uC,EAAQm/D,GAAW,CAE1B,IAAIz6C,EAAWhE,EADfjb,EAAMy5D,EAASl/D,IAEX++D,EAAWp7C,EAAMle,GAErB,GAAImf,EACF,IAAIo6C,EAAWlwB,EACXlqB,EAAWm6C,EAAUr6C,EAAUjf,EAAKke,EAAOjD,EAAQ/G,GACnDiL,EAAWF,EAAUq6C,EAAUt5D,EAAKib,EAAQiD,EAAOhK,GAGzD,UAAmB1M,IAAb+xD,EACGt6C,IAAaq6C,GAAYP,EAAU95C,EAAUq6C,EAAUp2C,EAAS/D,EAAYjL,GAC7EqlD,GACD,CACLxhE,GAAS,EACT,KACF,CACA6hE,IAAaA,EAAkB,eAAP55D,EAC1B,CACA,GAAIjI,IAAW6hE,EAAU,CACvB,IAAIC,EAAU5+C,EAAOzJ,YACjBsoD,EAAU57C,EAAM1M,YAGhBqoD,GAAWC,KACV,gBAAiB7+C,MAAU,gBAAiBiD,IACzB,mBAAX27C,GAAyBA,aAAmBA,GACjC,mBAAXC,GAAyBA,aAAmBA,IACvD/hE,GAAS,EAEb,CAGA,OAFAmc,EAAc,OAAE+G,GAChB/G,EAAc,OAAEgK,GACTnmB,CACT,EC7EA,IAGI,GAAU,qBACV,GAAW,iBACX,GAAY,kBAMZ,GAHcf,OAAOwF,UAGQC,eA6DjC,SA7CA,SAAyBwe,EAAQiD,EAAOgF,EAAS/D,EAAY45C,EAAW7kD,GACtE,IAAI6lD,EAAW,GAAQ9+C,GACnB++C,EAAW,GAAQ97C,GACnB+7C,EAASF,EAAW,GAAW,GAAO9+C,GACtCi/C,EAASF,EAAW,GAAW,GAAO97C,GAKtCi8C,GAHJF,EAASA,GAAU,GAAU,GAAYA,IAGhB,GACrBG,GAHJF,EAASA,GAAU,GAAU,GAAYA,IAGhB,GACrBG,EAAYJ,GAAUC,EAE1B,GAAIG,GAAa,GAASp/C,GAAS,CACjC,IAAK,GAASiD,GACZ,OAAO,EAET67C,GAAW,EACXI,GAAW,CACb,CACA,GAAIE,IAAcF,EAEhB,OADAjmD,IAAUA,EAAQ,IAAI,IACd6lD,GAAY,GAAa9+C,GAC7B,GAAYA,EAAQiD,EAAOgF,EAAS/D,EAAY45C,EAAW7kD,GAC3D,GAAW+G,EAAQiD,EAAO+7C,EAAQ/2C,EAAS/D,EAAY45C,EAAW7kD,GAExE,KArDyB,EAqDnBgP,GAAiC,CACrC,IAAIo3C,EAAeH,GAAY,GAAez9D,KAAKue,EAAQ,eACvDs/C,EAAeH,GAAY,GAAe19D,KAAKwhB,EAAO,eAE1D,GAAIo8C,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAer/C,EAAO5jB,QAAU4jB,EAC/Cw/C,EAAeF,EAAer8C,EAAM7mB,QAAU6mB,EAGlD,OADAhK,IAAUA,EAAQ,IAAI,IACf6kD,EAAUyB,EAAcC,EAAcv3C,EAAS/D,EAAYjL,EACpE,CACF,CACA,QAAKmmD,IAGLnmD,IAAUA,EAAQ,IAAI,IACf,GAAa+G,EAAQiD,EAAOgF,EAAS/D,EAAY45C,EAAW7kD,GACrE,ECrDA,SAVA,SAASwmD,EAAYrjE,EAAO6mB,EAAOgF,EAAS/D,EAAYjL,GACtD,OAAI7c,IAAU6mB,IAGD,MAAT7mB,GAA0B,MAAT6mB,IAAmB,GAAa7mB,KAAW,GAAa6mB,GACpE7mB,GAAUA,GAAS6mB,GAAUA,EAE/B,GAAgB7mB,EAAO6mB,EAAOgF,EAAS/D,EAAYu7C,EAAaxmD,GACzE,ECeA,SANA,SAAqB7c,EAAO6mB,EAAOiB,GAEjC,IAAIpnB,GADJonB,EAAkC,mBAAdA,EAA2BA,OAAa3X,GAClC2X,EAAW9nB,EAAO6mB,QAAS1W,EACrD,YAAkBA,IAAXzP,EAAuB,GAAYV,EAAO6mB,OAAO1W,EAAW2X,KAAgBpnB,CACrF,ECfe,MAAM,WAAyB+9D,GAI1C,WAAAtkD,CAAYsqB,GACR1oB,MAAM0oB,GACNz0B,KAAKsc,QAAU,CACXknC,WAAW,EACX8P,eAAe,EACfC,SAAS,GAEbvzD,KAAK61C,aAAephB,EAAKohB,aACzB71C,KAAKwzD,aAAe,IAAIphD,IACxBpS,KAAKyzD,kBAAoB,IAAI9yD,OAAO+yD,iBAAiB1zD,KAAK2zD,aAAa1hD,KAAKjS,MAChF,CAIA,KAAAmxD,GACInxD,KAAK2zD,aAAa3zD,KAAKyzD,kBAAkBG,cAC7C,CAIA,OAAA5tC,CAAQ+vB,GACJ/1C,KAAKwzD,aAAapnD,IAAI2pC,GAClB/1C,KAAK63B,WACL73B,KAAKyzD,kBAAkBztC,QAAQ+vB,EAAY/1C,KAAKsc,QAExD,CAIA,aAAA8yC,CAAcrZ,GAEV,GADA/1C,KAAKwzD,aAAapjD,OAAO2lC,GACrB/1C,KAAK63B,UAAW,CAGhB73B,KAAKyzD,kBAAkBI,aACvB,IAAK,MAAM9d,KAAc/1C,KAAKwzD,aAC1BxzD,KAAKyzD,kBAAkBztC,QAAQ+vB,EAAY/1C,KAAKsc,QAExD,CACJ,CAIA,MAAAqyC,GACI5iD,MAAM4iD,SACN,IAAK,MAAM5Y,KAAc/1C,KAAKwzD,aAC1BxzD,KAAKyzD,kBAAkBztC,QAAQ+vB,EAAY/1C,KAAKsc,QAExD,CAIA,OAAAsyC,GACI7iD,MAAM6iD,UACN5uD,KAAKyzD,kBAAkBI,YAC3B,CAIA,OAAA5tC,GACIla,MAAMka,UACNjmB,KAAKyzD,kBAAkBI,YAC3B,CAMA,YAAAF,CAAaG,GAET,GAA4B,IAAxBA,EAAarjE,OACb,OAEJ,MAAMolD,EAAe71C,KAAK61C,aAEpBke,EAAmB,IAAI3hD,IACvB4hD,EAA8B,IAAI5hD,IAGxC,IAAK,MAAM6hD,KAAYH,EAAc,CACjC,MAAM5kE,EAAU2mD,EAAakQ,aAAakO,EAASzzD,QAC9CtR,IAIDA,EAAQud,GAAG,cAAgBvd,EAAQud,GAAG,eAGpB,cAAlBwnD,EAAS/wD,MAAyBlD,KAAKk0D,mBAAmBD,IAC1DD,EAA4B5nD,IAAIld,GAExC,CAEA,IAAK,MAAM+kE,KAAYH,EAAc,CACjC,MAAM5kE,EAAU2mD,EAAakQ,aAAakO,EAASzzD,QAEnD,KAAItR,IAAYA,EAAQud,GAAG,eAAgBvd,EAAQud,GAAG,gBAGhC,kBAAlBwnD,EAAS/wD,KAA0B,CACnC,MAAMg7B,EAAO2X,EAAa2V,0BAA0ByI,EAASzzD,QACzD09B,IAAS81B,EAA4B7nD,IAAI+xB,EAAK98B,QAC9C2yD,EAAiB3nD,IAAI8xB,IAKfA,GAAQghB,GAAiB+U,EAASzzD,SACxCwzD,EAA4B5nD,IAAIypC,EAAakQ,aAAakO,EAASzzD,OAAOif,YAElF,CACJ,CAGA,MAAM00C,EAAY,GAClB,IAAK,MAAMtyB,KAAYkyB,EACnBI,EAAUplE,KAAK,CAAEmU,KAAM,OAAQvB,KAAMkgC,IAEzC,IAAK,MAAM6Z,KAAesY,EAA6B,CACnD,MAAMje,EAAaF,EAAaoK,aAAavE,GACvC0Y,EAAepgE,MAAM8N,KAAK45C,EAAYrc,eACtCg1B,EAAkBrgE,MAAM8N,KAAK+zC,EAAakV,kBAAkBhV,EAAY,CAAEqL,cAAc,KAGzF,GAAYgT,EAAcC,EAAiB,KAC5CF,EAAUplE,KAAK,CAAEmU,KAAM,WAAYvB,KAAM+5C,GAEjD,CAEIyY,EAAU1jE,QAOVuP,KAAK7Q,SAAS4f,KAAK,YAAa,CAAEolD,aAK1C,CAQA,kBAAAD,CAAmBD,GACf,IAAIK,EAAY,KAOhB,OAL6B,OAAzBL,EAAS3zB,aAAyD,IAAjC2zB,EAASM,aAAa9jE,QAA8C,GAA9BwjE,EAASO,WAAW/jE,SAC3F6jE,EAAYt0D,KAAK61C,aAAawN,UAAU4Q,EAASO,WAAW,GAAI,CAC5DpT,cAAc,KAGfkT,GAAaA,EAAU7nD,GAAG,UAAW,KAChD,EAEJ,SAAS,GAAUgoD,EAAQC,GAEvB,IAAI1gE,MAAM+T,QAAQ0sD,GAIlB,OAAIA,IAAWC,MAIND,EAAOhoD,GAAG,WAAYioD,EAAOjoD,GAAG,WAC9BgoD,EAAO7iE,OAAS8iE,EAAO9iE,IAItC,CCzLe,MAAM+iE,WAAsB1F,GAIvC,WAAA9kD,CAAYsqB,GACR1oB,MAAM0oB,GAINz0B,KAAK40D,iBAAmB,KAMxB50D,KAAK60D,kBAAmB,EAIxB70D,KAAKkvD,aAAe,CAAC,QAAS,QAC9BlvD,KAAK2d,YAAa,EAClB,MAAMxuB,EAAW6Q,KAAK7Q,SACtBA,EAASye,GAAG,SAAS,IAAM5N,KAAK80D,iBAChC3lE,EAASye,GAAG,QAAQ,CAACiG,EAAKjiB,IAASoO,KAAK+0D,YAAYnjE,KAKpDzC,EAASye,GAAG,eAAe,KAClBze,EAASgmC,WACVn1B,KAAK80D,cACT,GACD,CAAE7pD,SAAU,WACnB,CAIA,KAAAkmD,GACQnxD,KAAK60D,mBACL70D,KAAK60D,kBAAmB,EACxB70D,KAAK7Q,SAASgmC,WAAY,EAElC,CAIA,UAAAg6B,CAAWhvC,GACPngB,KAAK+O,KAAKoR,EAASjd,KAAMid,EAC7B,CAIA,OAAA8F,GACIjmB,KAAKg1D,gBACLjpD,MAAMka,SACV,CAIA,YAAA6uC,GACI90D,KAAKg1D,gBACLh1D,KAAK60D,kBAAmB,EASxB70D,KAAK40D,iBAAmBt/B,YAAW,KAC/Bt1B,KAAK40D,iBAAmB,KACxB50D,KAAKmxD,QACLnxD,KAAKy0B,KAAK8J,QAAO,QAAU,GAC5B,GACP,CAIA,WAAAw2B,CAAYnjE,GACR,MAAMqjE,EAAmBj1D,KAAK7Q,SAASopC,UAAU4T,gBACxB,OAArB8oB,GAA6BA,IAAqBrjE,EAAK4O,SACvDR,KAAK7Q,SAASgmC,WAAY,EAC1Bn1B,KAAK60D,kBAAmB,EAGxB70D,KAAKy0B,KAAK8J,QAAO,SAEzB,CAIA,aAAAy2B,GACQh1D,KAAK40D,mBACLr/B,aAAav1B,KAAK40D,kBAClB50D,KAAK40D,iBAAmB,KAEhC,EC3FW,MAAMM,WAA0BzG,GAC3C,WAAAtkD,CAAYsqB,GACR1oB,MAAM0oB,GACNz0B,KAAKm1D,iBAAmB1gC,EAAK2gC,YAAY,IACzCp1D,KAAKq1D,cAAgB5gC,EAAK2gC,YAAYT,IACtC30D,KAAKu4B,UAAYv4B,KAAK7Q,SAASopC,UAC/Bv4B,KAAK61C,aAAephB,EAAKohB,aACzB71C,KAAKs1D,WAAa,IAAIrpD,QACtBjM,KAAKqxD,kCAAoC,IAASz/D,IAC9CoO,KAAK7Q,SAAS4f,KAAK,sBAAuBnd,EAAK,GAChD,KACHoO,KAAKu1D,2BAA6BC,aAAY,IAAMx1D,KAAKy1D,sBAAsB,KAC/Ez1D,KAAK01D,+CAAiD,IAAS,IAAO11D,KAAK7Q,SAAS4wD,aAAc,GAAQ,KAC1G//C,KAAK21D,iBAAmB,CAC5B,CAIA,OAAA3vC,CAAQ+vB,GACJ,MAAMH,EAAcG,EAAW34B,cAMzBw4C,EAAyB,KACtB51D,KAAK7Q,SAAS4wD,cAKnB//C,KAAK61D,uBAAuBjgB,GAC5B51C,KAAK7Q,SAAS4wD,aAAc,EAE5B//C,KAAK01D,+CAA+Cl/B,SAAQ,EAKhEx2B,KAAK+N,SAASgoC,EAAY,eAnBO,KAC7B/1C,KAAK7Q,SAAS4wD,aAAc,EAE5B//C,KAAK01D,gDAAgD,GAgBU,CAAEzqD,SAAU,YAC/EjL,KAAK+N,SAASgoC,EAAY,UAAW6f,EAAwB,CAAE3qD,SAAU,UAAW0S,YAAY,IAChG3d,KAAK+N,SAASgoC,EAAY,QAAS6f,EAAwB,CAAE3qD,SAAU,UAAW0S,YAAY,IAE1F3d,KAAKs1D,WAAWnpD,IAAIypC,KAKxB51C,KAAK+N,SAAS6nC,EAAa,UAAWggB,EAAwB,CAAE3qD,SAAU,UAAW0S,YAAY,IACjG3d,KAAK+N,SAAS6nC,EAAa,mBAAmB,KAatC51C,KAAK7Q,SAASswC,cAAgB,EAAI34B,YAStC9G,KAAK61D,uBAAuBjgB,GAM5B51C,KAAK01D,iDAAgD,IAKzD11D,KAAK+N,SAAS/N,KAAKy0B,KAAKtlC,SAAU,oBAAoB,KAUlD6Q,KAAK61D,uBAAuBjgB,EAAY,GAIzC,CAAE3qC,SAAU,WACfjL,KAAKs1D,WAAWlpD,IAAIwpC,GACxB,CAIA,aAAAwZ,CAAcrZ,GACV/1C,KAAKkO,cAAc6nC,EACvB,CAIA,OAAA9vB,GACIla,MAAMka,UACN6vC,cAAc91D,KAAKu1D,4BACnBv1D,KAAKqxD,kCAAkC76B,SACvCx2B,KAAK01D,+CAA+Cl/B,QACxD,CAEA,mBAAAu/B,GAKA,CAQA,sBAAAF,CAAuBjgB,GACnB,IAAK51C,KAAK63B,UACN,OAEJ,MAAMoe,EAAeL,EAAY14B,YAAYi5B,eAC7C,GAAIn2C,KAAK6uD,iCAAiC5Y,EAAa4P,YACnD,OAGJ7lD,KAAKm1D,iBAAiBhE,QACtB,MAAMhF,EAAmBnsD,KAAK61C,aAAa+P,mBAAmB3P,GAK9D,GAAmC,GAA/BkW,EAAiBhb,YAOrB,GAHAnxC,KAAKy0B,KAAKuhC,iBAAkB,EAE5Bh2D,KAAKq1D,cAAclE,SACfnxD,KAAKu4B,UAAUjV,QAAQ6oC,KAAqBnsD,KAAK61C,aAAa6P,sBAAsBzP,GAMxF,KAAMj2C,KAAK21D,iBAAmB,GAK1B31D,KAAK+1D,2BAGT,GAAI/1D,KAAKu4B,UAAUkJ,UAAU0qB,GAGzBnsD,KAAKy0B,KAAKwhC,kBAET,CACD,MAAMrkE,EAAO,CACT4/D,aAAcxxD,KAAKu4B,UACnBg5B,aAAcpF,EACdlW,gBASJj2C,KAAK7Q,SAAS4f,KAAK,kBAAmBnd,GAKtCoO,KAAKqxD,kCAAkCz/D,EAC3C,OA5CIoO,KAAKy0B,KAAKuhC,iBAAkB,CA6CpC,CAIA,kBAAAP,GACIz1D,KAAK21D,iBAAmB,CAC5B,EC1MW,MAAMO,WAA4BjH,GAI7C,WAAA9kD,CAAYsqB,GACR1oB,MAAM0oB,GAINz0B,KAAKkvD,aAAe,CAAC,mBAAoB,oBAAqB,kBAC9D,MAAM//D,EAAW6Q,KAAK7Q,SACtBA,EAASye,GAAG,oBAAoB,KAO5Bze,EAASswC,aAAc,CAAI,GAC5B,CAAEx0B,SAAU,QACf9b,EAASye,GAAG,kBAAkB,KAO1Bze,EAASswC,aAAc,CAAK,GAC7B,CAAEx0B,SAAU,OACnB,CAIA,UAAAkkD,CAAWhvC,GAKPngB,KAAK+O,KAAKoR,EAASjd,KAAMid,EAAU,CAC/BvuB,KAAMuuB,EAASvuB,MAKvB,ECrDW,MAAMukE,GAKjB,WAAAhsD,CAAYisD,EAAoBnnE,EAAU,CAAC,GAKvC+Q,KAAKq2D,OAASpnE,EAAQqnE,WAAaC,GAASH,GAAsB,KAClEp2D,KAAKw2D,QAAUJ,CACnB,CAIA,SAAIK,GAIA,OAHKz2D,KAAKq2D,SACNr2D,KAAKq2D,OAASE,GAASv2D,KAAKw2D,UAEzBx2D,KAAKq2D,MAChB,CAIA,SAAI19C,GACA,OAAO3Y,KAAKw2D,QAAQ79C,KACxB,CAUA,OAAA+9C,CAAQxzD,GACJ,OAAOlD,KAAKw2D,QAAQE,QAAQxzD,EAChC,CAMA,OAAAyzD,CAAQzzD,EAAMtR,GACVoO,KAAKw2D,QAAQG,QAAQzzD,EAAMtR,EAC/B,CAIA,iBAAIglE,CAAc5mE,GACdgQ,KAAKw2D,QAAQI,cAAgB5mE,CACjC,CACA,iBAAI4mE,GACA,OAAO52D,KAAKw2D,QAAQI,aACxB,CAIA,cAAIC,CAAW7mE,GACXgQ,KAAKw2D,QAAQK,WAAa7mE,CAC9B,CACA,cAAI6mE,GACA,OAAO72D,KAAKw2D,QAAQK,UACxB,CAIA,YAAAC,CAAaC,EAAOj6D,EAAGD,GACnBmD,KAAKw2D,QAAQM,aAAaC,EAAOj6D,EAAGD,EACxC,CAIA,cAAIm6D,GACA,MAAkC,QAA3Bh3D,KAAKw2D,QAAQK,cAA0B72D,KAAKw2D,QAAQS,gBAC/D,EAEJ,SAASV,GAASH,GAEd,MAAMK,EAAQziE,MAAM8N,KAAKs0D,EAAmBK,OAAS,IAC/CzkC,EAAQh+B,MAAM8N,KAAKs0D,EAAmBpkC,OAAS,IACrD,OAAIykC,EAAMhmE,OACCgmE,EAGJzkC,EACFr7B,QAAOxF,GAAsB,SAAdA,EAAK+lE,OACpB53D,KAAInO,GAAQA,EAAKgmE,aAC1B,CChFe,MAAMC,WAAsBnI,GACvC,WAAA9kD,GACI4B,SAASkM,WAITjY,KAAKkvD,aAAe,aACxB,CAIA,UAAAC,CAAWhvC,GAOP,MAAMk3C,EAAkBl3C,EAASm3C,kBAC3B7iC,EAAOz0B,KAAKy0B,KACZ8iC,EAAe9iC,EAAKtlC,SAC1B,IAAIqoE,EAAe,KACf5lE,EAAO,KACP6lE,EAAe,GAsBnB,GArBIt3C,EAASq3C,eACTA,EAAe,IAAIrB,GAAah2C,EAASq3C,eAEvB,OAAlBr3C,EAASvuB,KACTA,EAAOuuB,EAASvuB,KAOX4lE,IACL5lE,EAAO4lE,EAAad,QAAQ,eAS5Ba,EAAah/B,UAAUyY,OAEvBymB,EAAezjE,MAAM8N,KAAKy1D,EAAah/B,UAAU8Y,kBAQhD,GAAIgmB,EAAgB5mE,OACrBgnE,EAAeJ,EAAgB/3D,KAAIihB,IAK/B,MAAM+qC,EAAY72B,EAAKohB,aAAae,kBAAkBr2B,EAAS6E,eAAgB7E,EAAS0tB,aAClFsd,EAAU92B,EAAKohB,aAAae,kBAAkBr2B,EAASg+B,aAAch+B,EAAS8tB,WACpF,OAAIid,EACO72B,EAAK/T,YAAY4qC,EAAWC,GAE9BA,EACE92B,EAAK/T,YAAY6qC,QADvB,CAEL,IACD50D,QAAQquB,KAAYA,SAStB,GAAI,EAAIle,UAAW,CACpB,MAAMmvC,EAAe91B,EAAS3f,OAAO4c,cAAcF,YAAYi5B,eAC/DshB,EAAezjE,MAAM8N,KAAK2yB,EAAKohB,aAAa+P,mBAAmB3P,GAAc5E,YAMjF,CAMA,GAAI,EAAIvqC,WAAmC,yBAAtBqZ,EAASu3C,WAAwC9lE,GAAQA,EAAK+6B,SAAS,MACxF3sB,KAAK+O,KAAKoR,EAASjd,KAAMid,EAAU,CAC/Bu3C,UAAW,kBACXD,aAAc,CAAChjC,EAAK/T,YAAY+2C,EAAa,GAAG7pC,aASxD,GAA0B,cAAtBzN,EAASu3C,WAA6B9lE,GAAQA,EAAK4+B,SAAS,MAAhE,CAGI,MAAM3T,EAAQjrB,EAAKyN,MAAM,YACzB,IAAIs4D,EAAmBF,EACvB,IAAK,IAAI7mE,EAAI,EAAGA,EAAIisB,EAAMpsB,OAAQG,IAAK,CACnC,MAAMgnE,EAAW/6C,EAAMjsB,GACP,IAAZgnE,IACA53D,KAAK+O,KAAKoR,EAASjd,KAAMid,EAAU,CAC/BvuB,KAAMgmE,EACNJ,eACAC,aAAcE,EACdD,UAAWv3C,EAASu3C,UACpBj4B,YAAatf,EAASsf,cAG1Bk4B,EAAmB,CAACJ,EAAah/B,UAAU+Y,kBAE3C1gD,EAAI,EAAIisB,EAAMpsB,SACduP,KAAK+O,KAAKoR,EAASjd,KAAMid,EAAU,CAC/Bu3C,UAAW,kBACXD,aAAcE,IAGlBA,EAAmB,CAACJ,EAAah/B,UAAU+Y,iBAEnD,CAKJ,MAEAtxC,KAAK+O,KAAKoR,EAASjd,KAAMid,EAAU,CAC/BvuB,OACA4lE,eACAC,eACAC,UAAWv3C,EAASu3C,UACpBj4B,YAAatf,EAASsf,aAK9B,ECrJW,MAAMo4B,WAA0BpJ,GAI3C,WAAAtkD,CAAYsqB,GACR1oB,MAAM0oB,GACNz0B,KAAK7Q,SAASye,GAAG,WAAW,CAACC,EAAOjc,KAChC,GAAIoO,KAAK63B,a1HqHU1L,E0HrHkBv6B,EAAKu6B,U1HsHhCN,GAAS0B,YACvBpB,GAAWN,GAASyB,WACpBnB,GAAWN,GAAS2B,SACpBrB,GAAWN,GAAS4B,W0HzHoC,CAChD,MAAMxe,EAAY,IAAIokC,GAAkBrzC,KAAK7Q,SAAU,WAAY6Q,KAAK7Q,SAASopC,UAAU+Y,iBAC3FtxC,KAAK7Q,SAAS4f,KAAKE,EAAWrd,GAC1Bqd,EAAU5E,KAAKJ,QACf4D,EAAMxD,MAEd,C1H+GL,IAAwB8hB,C0H/GnB,GAER,CAIA,OAAAnG,GAAY,CAIZ,aAAAopC,GAAkB,ECzBP,MAAM0I,WAAoBrJ,GAIrC,WAAAtkD,CAAYsqB,GACR1oB,MAAM0oB,GACN,MAAM1e,EAAM/V,KAAK7Q,SACjB4mB,EAAInI,GAAG,WAAW,CAACiG,EAAKjiB,KACpB,IAAKoO,KAAK63B,WACNjmC,EAAKu6B,SAAWN,GAASqC,KACzBt8B,EAAKy6B,QACL,OAEJ,MAAMxe,EAAQ,IAAIwlC,GAAkBt9B,EAAK,MAAOA,EAAIwiB,UAAU+Y,iBAC9Dv7B,EAAIhH,KAAKlB,EAAOjc,GACZic,EAAMxD,KAAKJ,QACX4J,EAAIxJ,MACR,GAER,CAIA,OAAA2b,GAAY,CAIZ,aAAAopC,GAAkB,ECZtB,SAJA,SAAmBp/D,GACjB,OAAO,GAAUA,EAAO,EAC1B,ECiCe,MAAM+nE,WAA6BrmD,KAI9C,WAAAvH,CAAYygC,GACR7+B,QAIA/L,KAAKg4D,SAAW,IAAI/nD,IAOpBjQ,KAAKi4D,0BAA4B,IAAIxmC,QAIrCzxB,KAAKk4D,WAAa,IAAIjoD,IAItBjQ,KAAKm4D,gBAAiB,EAItBn4D,KAAKo4D,uBAAwB,EAI7Bp4D,KAAKq4D,oBAAqB,EAK1Br4D,KAAKs4D,kCAAmC,EACxCt4D,KAAK7Q,SAAW,IAAIguB,GAASytB,GAC7B5qC,KAAK61C,aAAe,IAAIgR,GAAa7mD,KAAK7Q,UAC1C6Q,KAAKkQ,IAAI,yBAAyB,GAClClQ,KAAKkQ,IAAI,mBAAmB,GAC5BlQ,KAAKu4D,UAAY,IAAI/Y,GAASx/C,KAAK61C,aAAc71C,KAAK7Q,SAASopC,WAC/Dv4B,KAAKu4D,UAAUtmD,KAAK,YAAa,cAAe,eAC3ClQ,GAAG/B,KAAK7Q,SAAU,YAAa,cAAe,eACnD6Q,KAAKw4D,QAAU,IAAInhB,GAAer3C,KAAK7Q,UAGvC6Q,KAAKy4D,YAAY,IACjBz4D,KAAKy4D,YAAY9D,IACjB30D,KAAKy4D,YAAYvD,IACjBl1D,KAAKy4D,YAAYnJ,IACjBtvD,KAAKy4D,YAAYrH,IACjBpxD,KAAKy4D,YAAYvC,IACjBl2D,KAAKy4D,YAAYZ,IACjB73D,KAAKy4D,YAAYrB,IACjBp3D,KAAKy4D,YAAYX,IAEI93D,KtCgBpB7Q,SAASye,GAAG,WAAY2xC,GAAsB,CAAEt0C,SAAU,QsCf3D+qC,GAAwBh2C,MAExBA,KAAK4N,GAAG,UAAU,KACd5N,KAAK04D,UAEL14D,KAAK7Q,SAAS4f,KAAK,iBAEnB/O,KAAKs4D,kCAAmC,CAAK,IAGjDt4D,KAAK+N,SAAS/N,KAAK7Q,SAASopC,UAAW,UAAU,KAC7Cv4B,KAAKs4D,kCAAmC,CAAI,IAGhDt4D,KAAK+N,SAAS/N,KAAK7Q,SAAU,oBAAoB,KAC7C6Q,KAAKs4D,kCAAmC,CAAI,IAI5C,EAAIzxD,OACJ7G,KAAK+N,SAAS/N,KAAK7Q,SAAU,QAAQ,CAAC0kB,EAAKjiB,KACZoO,KAAK61C,aAAakQ,aAAan0D,EAAKuuB,SAASw4C,gBAGpE34D,KAAK61C,aAAaqW,oBACtB,IAIRlsD,KAAK+N,SAAS/N,KAAK7Q,SAAU,aAAa,CAAC0kB,GAAOsgD,gBAC9CA,EAAUtkE,SAAQokE,GAAYj0D,KAAKu4D,UAAUvY,WAAWiU,EAAS/wD,KAAM+wD,EAAStyD,OAAM,GACvF,CAAEsJ,SAAU,QAGfjL,KAAK+N,SAAS/N,KAAK7Q,SAAU,aAAa,KACtC6Q,KAAKi2D,aAAa,GACnB,CAAEhrD,SAAU,UACnB,CAcA,aAAA2tD,CAAcpU,EAAShiD,EAAO,QAC1B,MAAMq2D,EAAW74D,KAAK7Q,SAAS2lD,QAAQtyC,GAEvCq2D,EAASvsB,MAAQkY,EAAQgB,QAAQh/C,cACjC,MAAMsyD,EAA2B,CAAC,EAQlC,IAAK,MAAM,KAAEt2D,EAAI,MAAExS,KAAWgE,MAAM8N,KAAK0iD,EAAQl1D,YAC7CwpE,EAAyBt2D,GAAQxS,EAKpB,UAATwS,EACAxC,KAAKw4D,QAAQx5B,SAAShvC,EAAMqP,MAAM,KAAMw5D,GAMnCA,EAAS5vB,aAAazmC,IACvBxC,KAAKw4D,QAAQ5/D,aAAa4J,EAAMxS,EAAO6oE,GAInD74D,KAAKi4D,0BAA0B/nD,IAAIs0C,EAASsU,GAC5C,MAAMC,EAAiC,KACnC/4D,KAAKw4D,QAAQ5/D,aAAa,oBAAqBigE,EAASjgC,YAAY55B,WAAY65D,GAC5EA,EAASjgC,WACT54B,KAAKw4D,QAAQx5B,SAAS,eAAgB65B,GAGtC74D,KAAKw4D,QAAQt5B,YAAY,eAAgB25B,EAC7C,EAGJE,IACA/4D,KAAKg4D,SAAS9nD,IAAI1N,EAAMgiD,GACxBxkD,KAAK61C,aAAaoM,aAAauC,EAASqU,GACxC74D,KAAKu4D,UAAUvY,WAAW,WAAY6Y,GACtC74D,KAAKu4D,UAAUvY,WAAW,aAAc6Y,GACxC74D,KAAKu4D,UAAU9Y,aAAarzC,IAAIo4C,EAAQpnC,eACxCy7C,EAASjrD,GAAG,mBAAmB,CAACiG,EAAKlS,IAAS3B,KAAKu4D,UAAUvY,WAAW,WAAYr+C,KACpFk3D,EAASjrD,GAAG,qBAAqB,CAACiG,EAAKlS,IAAS3B,KAAKu4D,UAAUvY,WAAW,aAAcr+C,KACxFk3D,EAASjrD,GAAG,eAAe,CAACiG,EAAKlS,IAAS3B,KAAKu4D,UAAUvY,WAAW,OAAQr+C,KAC5Ek3D,EAASjrD,GAAG,qBAAqB,IAAM5N,KAAKu+B,OAAOw6B,KACnDF,EAASjrD,GAAG,UAAU,KAClB5N,KAAKs4D,kCAAmC,CAAI,IAEhD,IAAK,MAAMU,KAAYh5D,KAAKk4D,WAAWjvD,SACnC+vD,EAAShzC,QAAQw+B,EAAShiD,EAElC,CAOA,aAAAy2D,CAAcz2D,GACV,MAAMgiD,EAAUxkD,KAAKg4D,SAASnyD,IAAIrD,GAElCxO,MAAM8N,KAAK0iD,EAAQl1D,YAAYO,SAAQ,EAAG2S,UAAWgiD,EAAQ7L,gBAAgBn2C,KAC7E,MAAMs2D,EAA2B94D,KAAKi4D,0BAA0BpyD,IAAI2+C,GAEpE,IAAK,MAAM5vC,KAAakkD,EACpBtU,EAAQ5rD,aAAagc,EAAWkkD,EAAyBlkD,IAE7D5U,KAAKg4D,SAAS5nD,OAAO5N,GACrBxC,KAAK61C,aAAamM,iBAAiBwC,GACnC,IAAK,MAAMwU,KAAYh5D,KAAKk4D,WAAWjvD,SACnC+vD,EAAS5J,cAAc5K,EAE/B,CAOA,UAAA0U,CAAW12D,EAAO,QACd,OAAOxC,KAAKg4D,SAASnyD,IAAIrD,EAC7B,CAcA,WAAAi2D,CAAYU,GACR,IAAIH,EAAWh5D,KAAKk4D,WAAWryD,IAAIszD,GACnC,GAAIH,EACA,OAAOA,EAEXA,EAAW,IAAIG,EAAoBn5D,MACnCA,KAAKk4D,WAAWhoD,IAAIipD,EAAqBH,GACzC,IAAK,MAAOx2D,EAAMuzC,KAAe/1C,KAAKg4D,SAClCgB,EAAShzC,QAAQ+vB,EAAYvzC,GAGjC,OADAw2D,EAASrK,SACFqK,CACX,CAOA,WAAA5D,CAAY+D,GACR,OAAOn5D,KAAKk4D,WAAWryD,IAAIszD,EAC/B,CAIA,gBAAAC,GACI,IAAK,MAAMJ,KAAYh5D,KAAKk4D,WAAWjvD,SACnC+vD,EAASpK,SAEjB,CAIA,eAAAyK,GACI,IAAK,MAAML,KAAYh5D,KAAKk4D,WAAWjvD,SACnC+vD,EAASrK,QAEjB,CAoBA,oBAAA2K,EAAqB,WAAEhwC,EAAU,YAAEC,EAAW,eAAEC,EAAiB,GAAE,eAAEc,EAAiB,IAAO,CAAC,GAC1F,MAAMtF,EAAQhlB,KAAK7Q,SAASopC,UAAU+Y,gBACtC,IAAKtsB,EACD,OAGJ,MAAMu0C,EAAe,GAAU,CAAEjwC,aAAYC,cAAaC,iBAAgBc,mBAC5C,iBAAnBd,IACPA,EAAiB,CACb5J,IAAK4J,EACLzJ,OAAQyJ,EACR9d,KAAM8d,EACN7d,MAAO6d,IAGf,MAAMv6B,EAAU,CACZuR,OAAQR,KAAK61C,aAAaqU,eAAellC,GACzCwE,iBACAc,iBACAhB,aACAC,eAEJvpB,KAAK+O,KAAK,uBAAwB9f,EAASsqE,G9HvS5C,UAAoC,OAAE/4D,EAAM,eAAEgpB,EAAiB,EAAC,eAAEc,EAAiB,EAAC,WAAEhB,EAAU,YAAEC,IACrG,MAAM0B,EAAeR,GAAUjqB,GAC/B,IAAI0qB,EAAgBD,EAChBuuC,EAAe,KAGnB,IAFAhwC,EAyUJ,SAAiCA,GAC7B,MAA8B,iBAAnBA,EACA,CACH5J,IAAK4J,EACLzJ,OAAQyJ,EACR9d,KAAM8d,EACN7d,MAAO6d,GAGRA,CACX,CAnVqBiwC,CAAwBjwC,GAElC0B,GAAe,CAClB,IAAIwuC,EAQAA,EAAwB5uC,GADxBI,GAAiBD,EACwBzqB,EAGAg5D,GAG7CpvC,GAA0B,CACtBhpB,OAAQs4D,EACRrvC,QAAS,IAMEU,GAAwBvqB,EAAQ0qB,GAE3C5B,aACAgB,iBACAf,gBAIJ,IAAItB,EAAa8C,GAAwBvqB,EAAQ0qB,GASjD,MAAMyuC,EAA6B5uC,GAAwB2uC,EAAuBxuC,GAClF,GAAIjD,EAAWjG,OAAS23C,EAA2B33C,OAAQ,CACvD,MAAM43C,EAA6B3xC,EAAW7F,gBAAgBu3C,GAC1DC,IACA3xC,EAAa2xC,EAErB,CAQA,GAPAvwC,GAAuB,CACnB1oB,OAAQuqB,EACR5I,KAAM2F,EACNuB,iBACAF,aACAC,gBAEA2B,EAAc9pB,QAAU8pB,GAWxB,GANAsuC,EAAetuC,EAAcE,aAC7BF,EAAgBA,EAAc9pB,QAKzBo4D,EACD,YAIJtuC,EAAgB,IAExB,CACJ,C8HyNQ2uC,CAA2B5qE,EAC/B,CAKA,KAAAiiD,GACI,IAAKlxC,KAAK7Q,SAASgmC,UAAW,CAC1B,MAAMmZ,EAAWtuC,KAAK7Q,SAASopC,UAAU4T,gBACrCmC,IACAtuC,KAAK61C,aAAa3E,MAAM5C,GACxBtuC,KAAKi2D,cASb,CACJ,CAgCA,MAAA13B,CAAOzwB,GACH,GAAI9N,KAAK85D,uBAAyB95D,KAAKo4D,sBAanC,MAAM,IAAI,EAAc,0BAA2Bp4D,MAEvD,IAEI,GAAIA,KAAKm4D,eACL,OAAOrqD,EAAS9N,KAAKw4D,SAIzBx4D,KAAKm4D,gBAAiB,EACtB,MAAM4B,EAAiBjsD,EAAS9N,KAAKw4D,SAWrC,OAVAx4D,KAAKm4D,gBAAiB,GAIjBn4D,KAAKq4D,oBAAsBr4D,KAAKs4D,mCACjCt4D,KAAKo4D,uBAAwB,EAC7Bp4D,KAAK7Q,SAAS6lD,gBAAgBh1C,KAAKw4D,SACnCx4D,KAAKo4D,uBAAwB,EAC7Bp4D,KAAK+O,KAAK,WAEPgrD,CACX,CACA,MAAOptD,GAGH,EAAcD,uBAAuBC,EAAK3M,KAC9C,CACJ,CAWA,WAAAi2D,GACIj2D,KAAKs4D,kCAAmC,EACxCt4D,KAAKo1D,YAAYT,IAAexD,QAChCnxD,KAAKu+B,QAAO,QAChB,CAIA,OAAAtY,GACI,IAAK,MAAM+yC,KAAYh5D,KAAKk4D,WAAWjvD,SACnC+vD,EAAS/yC,UAEbjmB,KAAK7Q,SAAS82B,UACdjmB,KAAKkO,eACT,CAgBA,gBAAA2tC,CAAiB9M,EAAgBh1B,GAC7B,OAAO4yB,GAASC,UAAUmC,EAAgBh1B,EAC9C,CAMA,mBAAA+hC,CAAoB3qD,GAChB,OAAOw7C,GAASe,aAAav8C,EACjC,CAMA,oBAAA4qD,CAAqB5qD,GACjB,OAAOw7C,GAASqB,cAAc78C,EAClC,CASA,WAAAuvB,CAAYmO,EAAOjB,GACf,OAAO,IAAIohB,GAAMngB,EAAOjB,EAC5B,CAIA,aAAAouB,CAAc7qD,GACV,OAAO69C,GAAM0B,UAAUv/C,EAC3B,CAOA,aAAA8qD,CAAc/sD,GACV,OAAO8/C,GAAMyB,UAAUvhD,EAC3B,CACA,eAAAgtD,IAAmB3rD,GACf,OAAO,IAAIogD,MAAapgD,EAC5B,CAQA,iBAAAypE,CAAkBC,GACdj6D,KAAKq4D,mBAAqB4B,EACd,GAARA,GAEAj6D,KAAKu+B,QAAO,QAEpB,CAKA,OAAAm6B,GACI14D,KAAK85D,uBAAwB,EAC7B95D,KAAKo5D,mBACLp5D,KAAKu4D,UAAU5iB,SACf31C,KAAKq5D,kBACLr5D,KAAK85D,uBAAwB,CACjC,EC1iBW,MAAM,GAEjB,EAAArtD,GAOI,MAAM,IAAIlR,MAAM,0BACpB,ECyBW,MAAM,WAAkB,GAUnC,WAAA4O,CAAY03B,EAAUC,EAAcrxC,GAGhC,GAFAsb,QACA/L,KAAK6hC,SAAWA,EACZC,EAAe,GAAKA,EAAeD,EAASE,WAM5C,MAAM,IAAI,EAAc,qCAAsC/hC,MAElE,GAAIvP,EAAS,GAAKqxC,EAAerxC,EAASoxC,EAASE,WAM/C,MAAM,IAAI,EAAc,+BAAgC/hC,MAE5DA,KAAKpO,KAAOiwC,EAASjwC,KAAKsN,UAAU4iC,EAAcA,EAAerxC,GACjEuP,KAAK8hC,aAAeA,CACxB,CAMA,eAAImM,GACA,OAAqC,OAA9BjuC,KAAK6hC,SAASoM,YAAuBjuC,KAAK6hC,SAASoM,YAAcjuC,KAAK8hC,aAAe,IAChG,CAMA,cAAIC,GACA,OAAO/hC,KAAKpO,KAAKnB,MACrB,CAMA,aAAI49C,GACA,OAA4B,OAArBruC,KAAKiuC,YAAuBjuC,KAAKiuC,YAAcjuC,KAAK+hC,WAAa,IAC5E,CASA,aAAIC,GACA,OAAOhiC,KAAK+hC,aAAe/hC,KAAK6hC,SAASE,UAC7C,CAIA,UAAI3gC,GACA,OAAOpB,KAAK6hC,SAASzgC,MACzB,CAIA,QAAI/S,GACA,OAAO2R,KAAK6hC,SAASxzC,IACzB,CAMA,OAAAkyC,GACI,MAAMt+B,EAAOjC,KAAK6hC,SAAStB,UAI3B,OAHIt+B,EAAKxR,OAAS,IACdwR,EAAKA,EAAKxR,OAAS,IAAMuP,KAAK8hC,cAE3B7/B,CACX,CAUA,YAAAod,CAAapwB,EAAU,CAAC,GACpB,MAAMuxC,EAAY,GAClB,IAAIp/B,EAASnS,EAAQwxC,YAAczgC,KAAOA,KAAKoB,OAC/C,KAAOA,GACHo/B,EAAUvxC,EAAQyxC,YAAc,OAAS,WAAWt/B,GACpDA,EAASA,EAAOA,OAEpB,OAAOo/B,CACX,CAOA,YAAAyI,CAAatwC,GACT,OAAOqH,KAAK6hC,SAASoH,aAAatwC,EACtC,CAOA,YAAAonC,CAAapnC,GACT,OAAOqH,KAAK6hC,SAAS9B,aAAapnC,EACtC,CAOA,aAAAqwC,GACI,OAAOhpC,KAAK6hC,SAASmH,eACzB,CAIA,gBAAAD,GACI,OAAO/oC,KAAK6hC,SAASkH,kBACzB,EAIJ,GAAU5zC,UAAUsX,GAAK,SAAUvJ,GAC/B,MAAgB,eAATA,GAAkC,qBAATA,GAEnB,cAATA,GAAiC,oBAATA,CAChC,EClLe,MAAM,GAMjB,WAAAiH,CAAYlb,GACR,IAAKA,IAAaA,EAAQu9C,aAAev9C,EAAQw9C,cAM7C,MAAM,IAAI,EAAc,sCAAuC,MAEnE,MAAMhoB,EAAYx1B,EAAQw1B,WAAa,UACvC,GAAiB,WAAbA,GAAuC,YAAbA,EAM1B,MAAM,IAAI,EAAc,sCAAuCx1B,EAAS,CAAEw1B,cAE9EzkB,KAAKykB,UAAYA,EACjBzkB,KAAKwsC,WAAav9C,EAAQu9C,YAAc,KACpCv9C,EAAQw9C,cACRzsC,KAAK0sC,UAAYz9C,EAAQw9C,cAAcxqB,QAGvCjiB,KAAK0sC,UAAY,GAASE,UAAU5sC,KAAKwsC,WAA6B,YAAlBxsC,KAAKykB,UAA0B,MAAQ,UAG/FzkB,KAAK5J,SAAS8jE,WAAa,SAC3Bl6D,KAAK6sC,mBAAqB59C,EAAQ49C,iBAClC7sC,KAAK8sC,UAAY79C,EAAQ69C,QACzB9sC,KAAK+sC,mBAAqB99C,EAAQ89C,iBAClC/sC,KAAKgtC,qBAAuBhtC,KAAKwsC,WAAaxsC,KAAKwsC,WAAW3d,MAAMztB,OAAS,KAC7EpB,KAAKitC,mBAAqBjtC,KAAKwsC,WAAaxsC,KAAKwsC,WAAW5e,IAAIxsB,OAAS,KACzEpB,KAAKm6D,eAAiBn6D,KAAK5J,SAASgL,MACxC,CAMA,CAAC2E,OAAOsP,YACJ,OAAOrV,IACX,CAOA,YAAI5J,GACA,OAAO4J,KAAK0sC,SAChB,CAeA,IAAAQ,CAAKA,GACD,IAAIrZ,EAAM7jC,EAAOo9C,EAAcgtB,EAC/B,GACIhtB,EAAeptC,KAAK5J,SACpBgkE,EAAoBp6D,KAAKm6D,iBACtBtmC,OAAM7jC,SAAUgQ,KAAK4zB,eAClBC,GAAQqZ,EAAKl9C,IAClB6jC,IACD7zB,KAAK0sC,UAAYU,EACjBptC,KAAKm6D,eAAiBC,EAE9B,CAgBA,MAAA/sB,CAAOj3C,GACC4J,KAAKgtC,sBAAwB52C,EAAS0qC,SAAS9gC,KAAKwsC,WAAW3d,OAC/Dz4B,EAAW4J,KAAKwsC,WAAW3d,MAEtB7uB,KAAKitC,oBAAsB72C,EAAS6qC,QAAQjhC,KAAKwsC,WAAW5e,OACjEx3B,EAAW4J,KAAKwsC,WAAW5e,KAE/B5tB,KAAK0sC,UAAYt2C,EAAS6rB,QAC1BjiB,KAAKm6D,eAAiB/jE,EAASgL,MACnC,CAIA,IAAAwyB,GACI,MAAsB,WAAlB5zB,KAAKykB,UACEzkB,KAAKstC,QAGLttC,KAAKutC,WAEpB,CAIA,KAAAD,GACI,MAAME,EAAmBxtC,KAAK5J,SACxBA,EAAW4J,KAAK5J,SAAS6rB,QACzB7gB,EAASpB,KAAKm6D,eAEpB,GAAsB,OAAlB/4D,EAAOA,QAAmBhL,EAAS2jB,SAAW3Y,EAAOi5D,UACrD,MAAO,CAAExmC,MAAM,EAAM7jC,WAAOmQ,GAGhC,GAAIiB,IAAWpB,KAAKitC,oBAAsB72C,EAAS2jB,QAAU/Z,KAAKwsC,WAAW5e,IAAI7T,OAC7E,MAAO,CAAE8Z,MAAM,EAAM7jC,WAAOmQ,GAIhC,MAAMm6D,EAAqBC,GAAsBnkE,EAAUgL,GACrDO,EAAO24D,GAAsBE,GAAqBpkE,EAAUgL,EAAQk5D,GAC1E,GAAI34D,GAAQA,EAAK8K,GAAG,iBAAkB,CAClC,GAAKzM,KAAK8sC,QAKL,CAED,GAAI9sC,KAAKwsC,YAAcxsC,KAAKwsC,WAAW5e,IAAIkT,SAAS1qC,GAChD,MAAO,CAAEy9B,MAAM,EAAM7jC,WAAOmQ,GAEhC/J,EAAS2jB,QACb,MATI3jB,EAAS6L,KAAKlT,KAAK,GACnBiR,KAAKm6D,eAAiBx4D,EAU1B,OADA3B,KAAK0sC,UAAYt2C,EACVqkE,GAAkB,eAAgB94D,EAAM6rC,EAAkBp3C,EAAU,EAC/E,CACA,GAAIuL,GAAQA,EAAK8K,GAAG,eAAgB,CAChC,IAAIqhC,EACJ,GAAI9tC,KAAK6sC,iBACLiB,EAAkB,MAEjB,CACD,IAAI/zB,EAASpY,EAAK0sC,UACdruC,KAAKitC,oBAAsB7rC,GAAUpB,KAAKwsC,WAAW5e,IAAI7T,OAASA,IAClEA,EAAS/Z,KAAKwsC,WAAW5e,IAAI7T,QAEjC+zB,EAAkB/zB,EAAS3jB,EAAS2jB,MACxC,CACA,MAAM2gD,EAAmBtkE,EAAS2jB,OAASpY,EAAKssC,YAC1C98C,EAAO,IAAI,GAAUwQ,EAAM+4D,EAAkB5sB,GAGnD,OAFA13C,EAAS2jB,QAAU+zB,EACnB9tC,KAAK0sC,UAAYt2C,EACVqkE,GAAkB,OAAQtpE,EAAMq8C,EAAkBp3C,EAAU03C,EACvE,CAMA,OAJA13C,EAAS6L,KAAKT,MACdpL,EAAS2jB,SACT/Z,KAAK0sC,UAAYt2C,EACjB4J,KAAKm6D,eAAiB/4D,EAAOA,OACzBpB,KAAK+sC,iBACE/sC,KAAKstC,QAETmtB,GAAkB,aAAcr5D,EAAQosC,EAAkBp3C,EACrE,CAIA,SAAAm3C,GACI,MAAMC,EAAmBxtC,KAAK5J,SACxBA,EAAW4J,KAAK5J,SAAS6rB,QACzB7gB,EAASpB,KAAKm6D,eAEpB,GAAsB,OAAlB/4D,EAAOA,QAAuC,IAApBhL,EAAS2jB,OACnC,MAAO,CAAE8Z,MAAM,EAAM7jC,WAAOmQ,GAGhC,GAAIiB,GAAUpB,KAAKgtC,sBAAwB52C,EAAS2jB,QAAU/Z,KAAKwsC,WAAW3d,MAAM9U,OAChF,MAAO,CAAE8Z,MAAM,EAAM7jC,WAAOmQ,GAIhC,MAAMy5C,EAAiBxjD,EAASgL,OAC1Bk5D,EAAqBC,GAAsBnkE,EAAUwjD,GACrDj4C,EAAO24D,GAAsBK,GAAsBvkE,EAAUwjD,EAAgB0gB,GACnF,GAAI34D,GAAQA,EAAK8K,GAAG,iBAEhB,OADArW,EAAS2jB,SACL/Z,KAAK8sC,SACL9sC,KAAK0sC,UAAYt2C,EACVqkE,GAAkB,eAAgB94D,EAAM6rC,EAAkBp3C,EAAU,KAE/EA,EAAS6L,KAAKlT,KAAK4S,EAAK04D,WACxBr6D,KAAK0sC,UAAYt2C,EACjB4J,KAAKm6D,eAAiBx4D,EAClB3B,KAAK+sC,iBACE/sC,KAAKutC,YAETktB,GAAkB,aAAc94D,EAAM6rC,EAAkBp3C,IAEnE,GAAIuL,GAAQA,EAAK8K,GAAG,eAAgB,CAChC,IAAIqhC,EACJ,GAAI9tC,KAAK6sC,iBACLiB,EAAkB,MAEjB,CACD,IAAI/zB,EAASpY,EAAKssC,YACdjuC,KAAKgtC,sBAAwB5rC,GAAUpB,KAAKwsC,WAAW3d,MAAM9U,OAASA,IACtEA,EAAS/Z,KAAKwsC,WAAW3d,MAAM9U,QAEnC+zB,EAAkB13C,EAAS2jB,OAASA,CACxC,CACA,MAAM2gD,EAAmBtkE,EAAS2jB,OAASpY,EAAKssC,YAC1C98C,EAAO,IAAI,GAAUwQ,EAAM+4D,EAAmB5sB,EAAiBA,GAGrE,OAFA13C,EAAS2jB,QAAU+zB,EACnB9tC,KAAK0sC,UAAYt2C,EACVqkE,GAAkB,OAAQtpE,EAAMq8C,EAAkBp3C,EAAU03C,EACvE,CAKA,OAHA13C,EAAS6L,KAAKT,MACdxB,KAAK0sC,UAAYt2C,EACjB4J,KAAKm6D,eAAiB/4D,EAAOA,OACtBq5D,GAAkB,eAAgBr5D,EAAQosC,EAAkBp3C,EAAU,EACjF,EAEJ,SAASqkE,GAAkBv3D,EAAM/R,EAAMq8C,EAAkBU,EAAcz9C,GACnE,MAAO,CACHojC,MAAM,EACN7jC,MAAO,CACHkT,OACA/R,OACAq8C,mBACAU,eACAz9C,UAGZ,CClOe,MAAM,WAAiB,GAQlC,WAAA0Z,CAAY9b,EAAM4T,EAAMi4D,EAAa,UAEjC,GADAnuD,SACK1d,EAAKoe,GAAG,aAAepe,EAAKoe,GAAG,oBAQhC,MAAM,IAAI,EAAc,8BAA+Bpe,GAE3D,IAAK2F,MAAM+T,QAAQ9F,IAAyB,IAAhBA,EAAKxR,OAO7B,MAAM,IAAI,EAAc,uCAAwCpC,EAAM,CAAE4T,SAGxE5T,EAAKoe,GAAG,eACRxK,EAAOA,EAAKzJ,SAGZyJ,EAAO,IAAI5T,EAAKkyC,aAAct+B,GAC9B5T,EAAOA,EAAKA,MAEhB2R,KAAK3R,KAAOA,EACZ2R,KAAKiC,KAAOA,EACZjC,KAAKk6D,WAAaA,CACtB,CAOA,UAAIngD,GACA,OAAO/Z,KAAKiC,KAAKjC,KAAKiC,KAAKxR,OAAS,EACxC,CACA,UAAIspB,CAAO6gD,GACP56D,KAAKiC,KAAKjC,KAAKiC,KAAKxR,OAAS,GAAKmqE,CACtC,CAUA,UAAIx5D,GACA,IAAIA,EAASpB,KAAK3R,KAClB,IAAK,IAAIuC,EAAI,EAAGA,EAAIoP,KAAKiC,KAAKxR,OAAS,EAAGG,IAEtC,GADAwQ,EAASA,EAAOy5D,iBAAiB76D,KAAKiC,KAAKrR,KACtCwQ,EAgBD,MAAM,IAAI,EAAc,gCAAiCpB,KAAM,CAAE5J,SAAU4J,OAGnF,GAAIoB,EAAOqL,GAAG,SACV,MAAM,IAAI,EAAc,gCAAiCzM,KAAM,CAAE5J,SAAU4J,OAE/E,OAAOoB,CACX,CAMA,SAAIlO,GACA,OAAO8M,KAAKoB,OAAO05D,cAAc96D,KAAK+Z,OAC1C,CAKA,YAAI8nB,GACA,OAAO04B,GAAsBv6D,KAAMA,KAAKoB,OAC5C,CAIA,aAAI+sC,GAEA,MAAM/sC,EAASpB,KAAKoB,OACpB,OAAOo5D,GAAqBx6D,KAAMoB,EAAQm5D,GAAsBv6D,KAAMoB,GAC1E,CAIA,cAAIgtC,GAEA,MAAMhtC,EAASpB,KAAKoB,OACpB,OAAOu5D,GAAsB36D,KAAMoB,EAAQm5D,GAAsBv6D,KAAMoB,GAC3E,CAIA,aAAI2sC,GACA,OAAuB,IAAhB/tC,KAAK+Z,MAChB,CAIA,WAAI0zB,GACA,OAAOztC,KAAK+Z,QAAU/Z,KAAKoB,OAAOi5D,SACtC,CAIA,OAAAU,GACI,GAAI/6D,KAAK+Z,OAAS,EACd,OAAO,EAEX,IAAI3Y,EAASpB,KAAK3R,KAClB,IAAK,IAAIuC,EAAI,EAAGA,EAAIoP,KAAKiC,KAAKxR,OAAS,EAAGG,IAEtC,GADAwQ,EAASA,EAAOy5D,iBAAiB76D,KAAKiC,KAAKrR,KACtCwQ,EACD,OAAO,EAGf,OAAOpB,KAAK+Z,QAAU3Y,EAAOi5D,SACjC,CAMA,WAAAzrB,CAAYD,GACR,GAAI3uC,KAAK3R,MAAQsgD,EAActgD,KAC3B,MAAO,YAEX,MAAMqC,EAASwkB,GAAclV,KAAKiC,KAAM0sC,EAAc1sC,MACtD,OAAQvR,GACJ,IAAK,OACD,MAAO,OACX,IAAK,SACD,MAAO,SACX,IAAK,YACD,MAAO,QACX,QACI,OAAOsP,KAAKiC,KAAKvR,GAAUi+C,EAAc1sC,KAAKvR,GAAU,SAAW,QAE/E,CAwBA,uBAAA+9C,CAAwBvB,EAAMj+C,EAAU,CAAC,GACrCA,EAAQw9C,cAAgBzsC,KACxB,MAAM0uC,EAAa,IAAI,GAAWz/C,GAElC,OADAy/C,EAAWxB,KAAKA,GACTwB,EAAWt4C,QACtB,CASA,aAAA4kE,GACI,OAAOh7D,KAAKiC,KAAKzJ,MAAM,GAAI,EAC/B,CAMA,YAAA6mB,GACI,MAAMje,EAASpB,KAAKoB,OACpB,OAAIA,EAAOqL,GAAG,oBACH,CAACrL,GAGDA,EAAOie,aAAa,CAAEohB,aAAa,GAElD,CAMA,YAAAkJ,CAAasxB,GACT,MAAM75D,EAASpB,KAAKoB,OACpB,OAAIA,EAAOqL,GAAG,WACHrL,EAAOuoC,aAAasxB,EAAY,CAAEx6B,aAAa,IAEnD,IACX,CAUA,aAAAy6B,CAAc9kE,GACV,GAAI4J,KAAK3R,MAAQ+H,EAAS/H,KACtB,MAAO,GAGX,MAAMuZ,EAAMsN,GAAclV,KAAKiC,KAAM7L,EAAS6L,MAExCk5D,EAAwB,iBAAPvzD,EAAmB/W,KAAK8K,IAAIqE,KAAKiC,KAAKxR,OAAQ2F,EAAS6L,KAAKxR,QAAUmX,EAC7F,OAAO5H,KAAKiC,KAAKzJ,MAAM,EAAG2iE,EAC9B,CAOA,iBAAAx6B,CAAkBvqC,GACd,MAAMwqC,EAAa5gC,KAAKqf,eAClBwhB,EAAazqC,EAASipB,eAC5B,IAAIzuB,EAAI,EACR,KAAOgwC,EAAWhwC,IAAMiwC,EAAWjwC,IAAMgwC,EAAWhwC,IAChDA,IAEJ,OAAa,IAANA,EAAU,KAAOgwC,EAAWhwC,EAAI,EAC3C,CAUA,YAAA29C,CAAa7iB,GACT,MAAM8iB,EAAUxuC,KAAKiiB,QACflI,EAASy0B,EAAQz0B,OAAS2R,EAEhC,OADA8iB,EAAQz0B,OAASA,EAAS,EAAI,EAAIA,EAC3By0B,CACX,CAUA,OAAAvN,CAAQ0N,GACJ,MAA0C,SAAnC3uC,KAAK4uC,YAAYD,EAC5B,CAwCA,QAAA7N,CAAS6N,GACL,MAA0C,UAAnC3uC,KAAK4uC,YAAYD,EAC5B,CASA,OAAArrB,CAAQqrB,GACJ,MAA0C,QAAnC3uC,KAAK4uC,YAAYD,EAC5B,CASA,UAAAysB,CAAWzsB,GACP,GAAI3uC,KAAK3R,OAASsgD,EAActgD,KAC5B,OAAO,EAEX,MAAMgtE,EAAcxqE,KAAK8K,IAAIqE,KAAKiC,KAAKxR,OAAQk+C,EAAc1sC,KAAKxR,QAClE,IAAK,IAAIuS,EAAQ,EAAGA,EAAQq4D,EAAar4D,IAAS,CAC9C,MAAM3G,EAAO2D,KAAKiC,KAAKe,GAAS2rC,EAAc1sC,KAAKe,GAEnD,GAAI3G,GAAQ,GAAKA,EAAO,EACpB,OAAO,EAEN,GAAa,IAATA,EAGL,OAAOi/D,GAAoB3sB,EAAe3uC,KAAMgD,GAE/C,IAAc,IAAV3G,EAGL,OAAOi/D,GAAoBt7D,KAAM2uC,EAAe3rC,EAIxD,CAGA,OAAIhD,KAAKiC,KAAKxR,SAAWk+C,EAAc1sC,KAAKxR,SASnCuP,KAAKiC,KAAKxR,OAASk+C,EAAc1sC,KAAKxR,OACpC8qE,GAAgBv7D,KAAKiC,KAAMo5D,GAG3BE,GAAgB5sB,EAAc1sC,KAAMo5D,GAEnD,CASA,eAAAG,CAAgBplE,GACZ,GAAI4J,KAAK3R,OAAS+H,EAAS/H,KACvB,OAAO,EAIX,MAAuD,QAAhD6mB,GAFgBlV,KAAKg7D,gBACN5kE,EAAS4kE,gBAEnC,CAcA,yBAAAS,CAA0BC,GACtB,IAAIhrE,EACJ,OAAQgrE,EAAUx4D,MACd,IAAK,SACDxS,EAASsP,KAAK27D,iCAAiCD,GAC/C,MACJ,IAAK,OACL,IAAK,SACL,IAAK,WACDhrE,EAASsP,KAAK47D,+BAA+BF,GAC7C,MACJ,IAAK,QACDhrE,EAASsP,KAAK67D,gCAAgCH,GAC9C,MACJ,IAAK,QACDhrE,EAASsP,KAAK87D,gCAAgCJ,GAC9C,MACJ,QACIhrE,EAAS,GAASk8C,UAAU5sC,MAGpC,OAAOtP,CACX,CAMA,gCAAAirE,CAAiCD,GAC7B,OAAO17D,KAAK+7D,2BAA2BL,EAAUtlE,SAAUslE,EAAUxyD,QACzE,CAMA,8BAAA0yD,CAA+BF,GAC3B,OAAO17D,KAAKg8D,sBAAsBN,EAAUO,eAAgBP,EAAUliB,eAAgBkiB,EAAUxyD,QACpG,CAMA,+BAAA2yD,CAAgCH,GAC5B,MAAMQ,EAAaR,EAAUQ,WAG7B,OAFoBA,EAAW1sB,iBAAiBxvC,OAC3Ck8D,EAAWrtC,MAAMvL,QAAQtjB,OAA4B,UAAnBA,KAAKk6D,WAEjCl6D,KAAKm8D,aAAaT,EAAUU,cAAeV,EAAUW,oBAGxDX,EAAUY,kBACHt8D,KAAKg8D,sBAAsBN,EAAUY,kBAAmBZ,EAAUlf,kBAAmB,GAGrFx8C,KAAK+7D,2BAA2BL,EAAUlf,kBAAmB,EAGhF,CAMA,+BAAAsf,CAAgCJ,GAC5B,MAAMQ,EAAaR,EAAUQ,WAE7B,IAAI97B,EAcJ,OAfoB87B,EAAW1sB,iBAAiBxvC,OAASk8D,EAAWrtC,MAAMvL,QAAQtjB,OAG9EogC,EAAMpgC,KAAKm8D,aAAaT,EAAUO,eAAgBP,EAAUliB,gBACxDkiB,EAAUO,eAAen7B,SAAS46B,EAAUliB,kBAE5CpZ,EAAMA,EAAIm8B,0BAA0Bb,EAAUc,iBAAkB,KAIpEp8B,EADKpgC,KAAKsjB,QAAQo4C,EAAUc,kBACtB,GAAS5vB,UAAU8uB,EAAUc,kBAG7Bx8D,KAAKg8D,sBAAsBN,EAAUc,iBAAkBd,EAAUY,kBAAmB,GAEvFl8B,CACX,CAUA,yBAAAm8B,CAA0BE,EAAgBvzD,GACtC,MAAMwzD,EAAc,GAAS9vB,UAAU5sC,MAEvC,GAAIA,KAAK3R,MAAQouE,EAAepuE,KAC5B,OAAOquE,EAEX,GAA2E,QAAvExnD,GAAcunD,EAAezB,gBAAiBh7D,KAAKg7D,kBAEnD,GAAIyB,EAAe1iD,OAAS/Z,KAAK+Z,OAAQ,CAErC,GAAI0iD,EAAe1iD,OAAS7Q,EAAUlJ,KAAK+Z,OAEvC,OAAO,KAIP2iD,EAAY3iD,QAAU7Q,CAE9B,OAEC,GAA2E,UAAvEgM,GAAcunD,EAAezB,gBAAiBh7D,KAAKg7D,iBAA8B,CAEtF,MAAMpqE,EAAI6rE,EAAex6D,KAAKxR,OAAS,EACvC,GAAIgsE,EAAe1iD,QAAU/Z,KAAKiC,KAAKrR,GAAI,CAEvC,GAAI6rE,EAAe1iD,OAAS7Q,EAAUlJ,KAAKiC,KAAKrR,GAG5C,OAAO,KAIP8rE,EAAYz6D,KAAKrR,IAAMsY,CAE/B,CACJ,CACA,OAAOwzD,CACX,CASA,0BAAAX,CAA2BY,EAAgBzzD,GACvC,MAAMwzD,EAAc,GAAS9vB,UAAU5sC,MAEvC,GAAIA,KAAK3R,MAAQsuE,EAAetuE,KAC5B,OAAOquE,EAEX,GAA2E,QAAvExnD,GAAcynD,EAAe3B,gBAAiBh7D,KAAKg7D,kBAE/C2B,EAAe5iD,OAAS/Z,KAAK+Z,QAAW4iD,EAAe5iD,QAAU/Z,KAAK+Z,QAA6B,cAAnB/Z,KAAKk6D,cAGrFwC,EAAY3iD,QAAU7Q,QAGzB,GAA2E,UAAvEgM,GAAcynD,EAAe3B,gBAAiBh7D,KAAKg7D,iBAA8B,CAEtF,MAAMpqE,EAAI+rE,EAAe16D,KAAKxR,OAAS,EACnCksE,EAAe5iD,QAAU/Z,KAAKiC,KAAKrR,KAGnC8rE,EAAYz6D,KAAKrR,IAAMsY,EAE/B,CACA,OAAOwzD,CACX,CAUA,qBAAAV,CAAsBC,EAAgBziB,EAAgBtwC,GAGlD,GADAswC,EAAiBA,EAAe+iB,0BAA0BN,EAAgB/yD,GACtE+yD,EAAe34C,QAAQk2B,GAEvB,OAAO,GAAS5M,UAAU5sC,MAG9B,MAAM08D,EAAc18D,KAAKu8D,0BAA0BN,EAAgB/yD,GAInE,OAHgC,OAAhBwzD,GACXT,EAAe34C,QAAQtjB,OAA4B,UAAnBA,KAAKk6D,YACrC+B,EAAe1tB,aAAarlC,GAASoa,QAAQtjB,OAA4B,cAAnBA,KAAKk6D,WAIrDl6D,KAAKm8D,aAAaF,EAAgBziB,GAMlCkjB,EAAYX,2BAA2BviB,EAAgBtwC,EAEtE,CA8BA,YAAAizD,CAAa/xD,EAAQ5J,GACjB,MAAM5P,EAAIwZ,EAAOnI,KAAKxR,OAAS,EAEzBmsE,EAAW,GAAShwB,UAAUpsC,GAQpC,OAPAo8D,EAAS1C,WAAal6D,KAAKk6D,WAG3B0C,EAAS7iD,OAAS6iD,EAAS7iD,OAAS/Z,KAAKiC,KAAKrR,GAAKwZ,EAAO2P,OAG1D6iD,EAAS36D,KAAO,IAAI26D,EAAS36D,QAASjC,KAAKiC,KAAKzJ,MAAM5H,EAAI,IACnDgsE,CACX,CAIA,MAAAx7B,GACI,MAAO,CACH/yC,KAAM2R,KAAK3R,KAAK+yC,SAChBn/B,KAAMjO,MAAM8N,KAAK9B,KAAKiC,MACtBi4D,WAAYl6D,KAAKk6D,WAEzB,CAIA,KAAAj4C,GACI,OAAO,IAAIjiB,KAAKmK,YAAYnK,KAAK3R,KAAM2R,KAAKiC,KAAMjC,KAAKk6D,WAC3D,CAkBA,gBAAOttB,CAAUmC,EAAgBh1B,EAAQmgD,EAAa,UAClD,GAAInrB,EAAetiC,GAAG,kBAClB,OAAO,IAAI,GAASsiC,EAAe1gD,KAAM0gD,EAAe9sC,KAAM8sC,EAAemrB,YAE5E,CACD,MAAMv4D,EAAOotC,EACb,GAAc,OAAVh1B,EACAA,EAASpY,EAAK04D,cAEb,IAAc,UAAVtgD,EACL,OAAO/Z,KAAKguC,cAAcrsC,EAAMu4D,GAE/B,GAAc,SAAVngD,EACL,OAAO/Z,KAAK0tC,aAAa/rC,EAAMu4D,GAE9B,GAAe,IAAXngD,IAAiBA,EAOtB,MAAM,IAAI,EAAc,yCAA0C,CAAC/Z,KAAM+uC,GAC7E,CACA,IAAKptC,EAAK8K,GAAG,aAAe9K,EAAK8K,GAAG,oBAMhC,MAAM,IAAI,EAAc,kCAAmC,CAACzM,KAAM+uC,IAEtE,MAAM9sC,EAAON,EAAK4+B,UAElB,OADAt+B,EAAKlT,KAAKgrB,GACH,IAAI/Z,KAAK2B,EAAKtT,KAAM4T,EAAMi4D,EACrC,CACJ,CAQA,mBAAOxsB,CAAav8C,EAAM+oE,GACtB,IAAK/oE,EAAKiQ,OAON,MAAM,IAAI,EAAc,4BAA6B,CAACpB,KAAM7O,GAAO,CAAE9C,KAAM8C,IAE/E,OAAO6O,KAAK4sC,UAAUz7C,EAAKiQ,OAAQjQ,EAAKk9C,UAAW6rB,EACvD,CAQA,oBAAOlsB,CAAc78C,EAAM+oE,GACvB,IAAK/oE,EAAKiQ,OAON,MAAM,IAAI,EAAc,6BAA8BjQ,EAAM,CAAE9C,KAAM8C,IAExE,OAAO6O,KAAK4sC,UAAUz7C,EAAKiQ,OAAQjQ,EAAK88C,YAAaisB,EACzD,CAQA,eAAO2C,CAASx7B,EAAMtrB,GAClB,GAAkB,eAAdsrB,EAAKhzC,KAAuB,CAC5B,MAAM+xC,EAAM,IAAI,GAASrqB,EAAI+mD,UAAWz7B,EAAKp/B,MAE7C,OADAm+B,EAAI85B,WAAa74B,EAAK64B,WACf95B,CACX,CACA,IAAKrqB,EAAI++B,QAAQzT,EAAKhzC,MAOlB,MAAM,IAAI,EAAc,kCAAmC0nB,EAAK,CAAE2iB,SAAU2I,EAAKhzC,OAErF,OAAO,IAAI,GAAS0nB,EAAI++B,QAAQzT,EAAKhzC,MAAOgzC,EAAKp/B,KAAMo/B,EAAK64B,WAChE,EA0BG,SAASK,GAAsBnkE,EAAUwjD,GAC5C,MAAMj4C,EAAOi4C,EAAeihB,iBAAiBzkE,EAAS2jB,QACtD,OAAIpY,GAAQA,EAAK8K,GAAG,UAAY9K,EAAKssC,YAAc73C,EAAS2jB,OACjDpY,EAEJ,IACX,CAwBO,SAAS64D,GAAqBpkE,EAAUwjD,EAAgB/X,GAC3D,OAAiB,OAAbA,EACO,KAEJ+X,EAAeihB,iBAAiBzkE,EAAS2jB,OACpD,CAeO,SAAS4gD,GAAsBvkE,EAAUwjD,EAAgB/X,GAC5D,OAAiB,OAAbA,EACO,KAEJ+X,EAAe1Z,SAAS0Z,EAAekhB,cAAc1kE,EAAS2jB,QAAU,EACnF,CAcA,SAASuhD,GAAoB5vD,EAAMC,EAAO3I,GACtC,OAAIA,EAAQ,IAAM0I,EAAKzJ,KAAKxR,WAOvB8qE,GAAgB5vD,EAAM1J,KAAMe,EAAQ,MAwC7C,SAA4Bo9B,EAAKp9B,GAC7B,IAAI5B,EAASg/B,EAAIh/B,OACb27D,EAAM38B,EAAIn+B,KAAKxR,OAAS,EACxB2b,EAAM,EACV,KAAO2wD,GAAO/5D,GAAO,CACjB,GAAIo9B,EAAIn+B,KAAK86D,GAAO3wD,IAAQhL,EAAOi5D,UAC/B,OAAO,EAKXjuD,EAAM,EACN2wD,IACA37D,EAASA,EAAOA,MACpB,CACA,OAAO,CACX,CAjDS47D,CAAmBtxD,EAAM1I,EAAQ,GAY1C,CAMA,SAASu4D,GAAgBnyD,EAAK2zD,GAC1B,KAAOA,EAAM3zD,EAAI3Y,QAAQ,CACrB,GAAiB,IAAb2Y,EAAI2zD,GACJ,OAAO,EAEXA,GACJ,CACA,OAAO,CACX,CApIA,GAAS5nE,UAAUsX,GAAK,SAAUvJ,GAC9B,MAAgB,aAATA,GAAgC,mBAATA,CAClC,ECtzBe,MAAM,WAAc,GAO/B,WAAAiH,CAAY0kB,EAAOjB,GACf7hB,QACA/L,KAAK6uB,MAAQ,GAAS+d,UAAU/d,GAChC7uB,KAAK4tB,IAAMA,EAAM,GAASgf,UAAUhf,GAAO,GAASgf,UAAU/d,GAG9D7uB,KAAK6uB,MAAMqrC,WAAal6D,KAAKivC,YAAc,SAAW,SACtDjvC,KAAK4tB,IAAIssC,WAAal6D,KAAKivC,YAAc,SAAW,YACxD,CAaA,EAAElpC,OAAOsP,kBACE,IAAI,GAAW,CAAEm3B,WAAYxsC,KAAM+sC,kBAAkB,GAChE,CAKA,eAAIkC,GACA,OAAOjvC,KAAK6uB,MAAMvL,QAAQtjB,KAAK4tB,IACnC,CAKA,UAAI9R,GAGA,MAAwD,QAAjD5G,GAFiBlV,KAAK6uB,MAAMmsC,gBACbh7D,KAAK4tB,IAAIotC,gBAEnC,CAIA,QAAI3sE,GACA,OAAO2R,KAAK6uB,MAAMxgC,IACtB,CAQA,gBAAAmhD,CAAiBp5C,GACb,OAAOA,EAAS6qC,QAAQjhC,KAAK6uB,QAAUz4B,EAAS0qC,SAAS9gC,KAAK4tB,IAClE,CAUA,aAAA6hB,CAAcF,EAAYG,GAAQ,GAC1BH,EAAWN,cACXS,GAAQ,GAEZ,MAAMC,EAAgB3vC,KAAKwvC,iBAAiBD,EAAW1gB,QAAW6gB,GAAS1vC,KAAK6uB,MAAMvL,QAAQisB,EAAW1gB,OACnG+gB,EAAc5vC,KAAKwvC,iBAAiBD,EAAW3hB,MAAS8hB,GAAS1vC,KAAK4tB,IAAItK,QAAQisB,EAAW3hB,KACnG,OAAO+hB,GAAiBC,CAC5B,CAIA,YAAAqtB,CAAa9rE,GACT,MAAMivC,EAAM,GAAS4N,cAAc78C,GACnC,OAAO6O,KAAKwvC,iBAAiBpP,IAAQpgC,KAAK6uB,MAAMvL,QAAQ8c,EAC5D,CAOA,OAAA9c,CAAQisB,GACJ,OAAOvvC,KAAK6uB,MAAMvL,QAAQisB,EAAW1gB,QAAU7uB,KAAK4tB,IAAItK,QAAQisB,EAAW3hB,IAC/E,CAOA,cAAAmiB,CAAeR,GACX,OAAOvvC,KAAK6uB,MAAMiS,SAASyO,EAAW3hB,MAAQ5tB,KAAK4tB,IAAIqT,QAAQsO,EAAW1gB,MAC9E,CA4BA,aAAAghB,CAAcN,GACV,MAAMO,EAAS,GAkBf,OAjBI9vC,KAAK+vC,eAAeR,IAEhBvvC,KAAKwvC,iBAAiBD,EAAW1gB,QAGjCihB,EAAO/gD,KAAK,IAAI,GAAMiR,KAAK6uB,MAAO0gB,EAAW1gB,QAE7C7uB,KAAKwvC,iBAAiBD,EAAW3hB,MAGjCkiB,EAAO/gD,KAAK,IAAI,GAAMwgD,EAAW3hB,IAAK5tB,KAAK4tB,OAK/CkiB,EAAO/gD,KAAK,IAAI,GAAMiR,KAAK6uB,MAAO7uB,KAAK4tB,MAEpCkiB,CACX,CAsBA,eAAA1tB,CAAgBmtB,GACZ,GAAIvvC,KAAK+vC,eAAeR,GAAa,CAGjC,IAAIS,EAAmBhwC,KAAK6uB,MACxBohB,EAAiBjwC,KAAK4tB,IAW1B,OAVI5tB,KAAKwvC,iBAAiBD,EAAW1gB,SAGjCmhB,EAAmBT,EAAW1gB,OAE9B7uB,KAAKwvC,iBAAiBD,EAAW3hB,OAGjCqiB,EAAiBV,EAAW3hB,KAEzB,IAAI,GAAMoiB,EAAkBC,EACvC,CAEA,OAAO,IACX,CA+BA,SAAAitB,CAAU3tB,EAAYG,GAAQ,GAC1B,IAAIytB,EAAan9D,KAAK+vC,eAAeR,GASrC,GARK4tB,IAEGA,EADAn9D,KAAK6uB,MAAMiS,SAASyO,EAAW1gB,OAClB6gB,EAAQ1vC,KAAK4tB,IAAIwtC,WAAW7rB,EAAW1gB,OAAS7uB,KAAK4tB,IAAItK,QAAQisB,EAAW1gB,OAG5E6gB,EAAQH,EAAW3hB,IAAIwtC,WAAWp7D,KAAK6uB,OAAS0gB,EAAW3hB,IAAItK,QAAQtjB,KAAK6uB,SAG5FsuC,EACD,OAAO,KAEX,IAAI1wB,EAAgBzsC,KAAK6uB,MACrB+tB,EAAc58C,KAAK4tB,IAOvB,OANI2hB,EAAW1gB,MAAMiS,SAAS2L,KAC1BA,EAAgB8C,EAAW1gB,OAE3B0gB,EAAW3hB,IAAIqT,QAAQ2b,KACvBA,EAAcrN,EAAW3hB,KAEtB,IAAI,GAAM6e,EAAemQ,EACpC,CA4CA,oBAAAwgB,GACI,MAAMttB,EAAS,GACTqrB,EAASn7D,KAAK6uB,MAAMqsC,cAAcl7D,KAAK4tB,KAAKn9B,OAC5C2vC,EAAM,GAASwM,UAAU5sC,KAAK6uB,OACpC,IAAIwuC,EAAYj9B,EAAIh/B,OAEpB,KAAOg/B,EAAIn+B,KAAKxR,OAAS0qE,EAAS,GAAG,CACjC,MAAMjyD,EAAUm0D,EAAUhD,UAAYj6B,EAAIrmB,OAC1B,IAAZ7Q,GACA4mC,EAAO/gD,KAAK,IAAI,GAAMqxC,EAAKA,EAAImO,aAAarlC,KAEhDk3B,EAAIn+B,KAAOm+B,EAAIn+B,KAAKzJ,MAAM,GAAI,GAC9B4nC,EAAIrmB,SACJsjD,EAAYA,EAAUj8D,MAC1B,CAEA,KAAOg/B,EAAIn+B,KAAKxR,QAAUuP,KAAK4tB,IAAI3rB,KAAKxR,QAAQ,CAC5C,MAAMspB,EAAS/Z,KAAK4tB,IAAI3rB,KAAKm+B,EAAIn+B,KAAKxR,OAAS,GACzCyY,EAAU6Q,EAASqmB,EAAIrmB,OACb,IAAZ7Q,GACA4mC,EAAO/gD,KAAK,IAAI,GAAMqxC,EAAKA,EAAImO,aAAarlC,KAEhDk3B,EAAIrmB,OAASA,EACbqmB,EAAIn+B,KAAKlT,KAAK,EAClB,CACA,OAAO+gD,CACX,CAkBA,SAAAhB,CAAU7/C,EAAU,CAAC,GAEjB,OADAA,EAAQu9C,WAAaxsC,KACd,IAAI,GAAW/Q,EAC1B,CAcA,SAACkhD,CAASlhD,EAAU,CAAC,GACjBA,EAAQu9C,WAAaxsC,KACrB/Q,EAAQ89C,kBAAmB,EAC3B,MAAM2B,EAAa,IAAI,GAAWz/C,GAClC,IAAK,MAAMe,KAAS0+C,QACV1+C,EAAMmB,IAEpB,CAaA,aAACi/C,CAAanhD,EAAU,CAAC,GACrBA,EAAQu9C,WAAaxsC,KACrB,MAAM0uC,EAAa,IAAI,GAAWz/C,SAC5By/C,EAAWt4C,SACjB,IAAK,MAAMpG,KAAS0+C,QACV1+C,EAAMk+C,YAEpB,CAWA,yBAAAutB,CAA0BC,GACtB,OAAQA,EAAUx4D,MACd,IAAK,SACD,OAAOlD,KAAK27D,iCAAiCD,GACjD,IAAK,OACL,IAAK,SACL,IAAK,WACD,OAAO17D,KAAK47D,+BAA+BF,GAC/C,IAAK,QACD,MAAO,CAAC17D,KAAK67D,gCAAgCH,IACjD,IAAK,QACD,MAAO,CAAC17D,KAAK87D,gCAAgCJ,IAErD,MAAO,CAAC,IAAI,GAAM17D,KAAK6uB,MAAO7uB,KAAK4tB,KACvC,CAQA,0BAAA0vC,CAA2BC,GACvB,MAAMztB,EAAS,CAAC,IAAI,GAAM9vC,KAAK6uB,MAAO7uB,KAAK4tB,MAC3C,IAAK,MAAM8tC,KAAa6B,EACpB,IAAK,IAAI3sE,EAAI,EAAGA,EAAIk/C,EAAOr/C,OAAQG,IAAK,CACpC,MAAMF,EAASo/C,EAAOl/C,GAAG6qE,0BAA0BC,GACnD5rB,EAAOl2C,OAAOhJ,EAAG,KAAMF,GACvBE,GAAKF,EAAOD,OAAS,CACzB,CAMJ,IAAK,IAAIG,EAAI,EAAGA,EAAIk/C,EAAOr/C,OAAQG,IAAK,CACpC,MAAMo0B,EAAQ8qB,EAAOl/C,GACrB,IAAK,IAAI4sE,EAAI5sE,EAAI,EAAG4sE,EAAI1tB,EAAOr/C,OAAQ+sE,IAAK,CACxC,MAAM5pC,EAAOkc,EAAO0tB,IAChBx4C,EAAMyqB,cAAc7b,IAASA,EAAK6b,cAAczqB,IAAUA,EAAM1B,QAAQsQ,KACxEkc,EAAOl2C,OAAO4jE,EAAG,EAEzB,CACJ,CACA,OAAO1tB,CACX,CAKA,iBAAAnP,GACI,OAAO3gC,KAAK6uB,MAAM8R,kBAAkB3gC,KAAK4tB,IAC7C,CAMA,mBAAAsiB,GACI,GAAIlwC,KAAKivC,YACL,OAAO,KAEX,MAAMI,EAAiBrvC,KAAK6uB,MAAMsf,UAC5BmB,EAAgBtvC,KAAK4tB,IAAIwgB,WAC/B,OAAIiB,GAAkBA,EAAe5iC,GAAG,YAAc4iC,IAAmBC,EAC9DD,EAEJ,IACX,CAMA,MAAAjO,GACI,MAAO,CACHvS,MAAO7uB,KAAK6uB,MAAMuS,SAClBxT,IAAK5tB,KAAK4tB,IAAIwT,SAEtB,CAIA,KAAAnf,GACI,OAAO,IAAIjiB,KAAKmK,YAAYnK,KAAK6uB,MAAO7uB,KAAK4tB,IACjD,CAQA,gCAAA+tC,CAAiCD,EAAW+B,GAAS,GACjD,OAAOz9D,KAAK+7D,2BAA2BL,EAAUtlE,SAAUslE,EAAUxyD,QAASu0D,EAClF,CAQA,8BAAA7B,CAA+BF,EAAW+B,GAAS,GAC/C,MAAMxB,EAAiBP,EAAUO,eAC3B/yD,EAAUwyD,EAAUxyD,QACpBswC,EAAiBkiB,EAAUliB,eACjC,OAAOx5C,KAAKg8D,sBAAsBC,EAAgBziB,EAAgBtwC,EAASu0D,EAC/E,CAQA,+BAAA5B,CAAgCH,GAC5B,MAAM7sC,EAAQ7uB,KAAK6uB,MAAMgtC,gCAAgCH,GACzD,IAAI9tC,EAAM5tB,KAAK4tB,IAAIiuC,gCAAgCH,GAUnD,OATI17D,KAAK4tB,IAAItK,QAAQo4C,EAAUlf,qBAC3B5uB,EAAM5tB,KAAK4tB,IAAI2gB,aAAa,IAG5B1f,EAAMxgC,MAAQu/B,EAAIv/B,OAGlBu/B,EAAM5tB,KAAK4tB,IAAI2gB,cAAc,IAE1B,IAAI,GAAM1f,EAAOjB,EAC5B,CAQA,+BAAAkuC,CAAgCJ,GAY5B,GAAI17D,KAAK6uB,MAAMvL,QAAQo4C,EAAUliB,iBAAmBx5C,KAAK4tB,IAAItK,QAAQo4C,EAAUc,kBAC3E,OAAO,IAAI,GAAMx8D,KAAK6uB,OAE1B,IAAIA,EAAQ7uB,KAAK6uB,MAAMitC,gCAAgCJ,GACnD9tC,EAAM5tB,KAAK4tB,IAAIkuC,gCAAgCJ,GAOnD,OANI7sC,EAAMxgC,MAAQu/B,EAAIv/B,OAIlBu/B,EAAM5tB,KAAK4tB,IAAI2gB,cAAc,IAE7B1f,EAAMoS,QAAQrT,IA0BV8tC,EAAUO,eAAen7B,SAAS46B,EAAUliB,iBAE5C3qB,EAAQ,GAAS+d,UAAUhf,GAC3BiB,EAAM9U,OAAS,IAGV2hD,EAAUc,iBAAiBl5C,QAAQuL,KAEpCjB,EAAM8tC,EAAUc,kBAGpB3tC,EAAQ6sC,EAAUliB,gBAEf,IAAI,GAAM3qB,EAAOjB,IAErB,IAAI,GAAMiB,EAAOjB,EAC5B,CAiCA,0BAAAmuC,CAA2BY,EAAgBzzD,EAASu0D,GAAS,GACzD,GAAIA,GAAUz9D,KAAKwvC,iBAAiBmtB,GAIhC,MAAO,CACH,IAAI,GAAM38D,KAAK6uB,MAAO8tC,GACtB,IAAI,GAAMA,EAAepuB,aAAarlC,GAAUlJ,KAAK4tB,IAAImuC,2BAA2BY,EAAgBzzD,KAGvG,CACD,MAAM8b,EAAQ,IAAI,GAAMhlB,KAAK6uB,MAAO7uB,KAAK4tB,KAGzC,OAFA5I,EAAM6J,MAAQ7J,EAAM6J,MAAMktC,2BAA2BY,EAAgBzzD,GACrE8b,EAAM4I,IAAM5I,EAAM4I,IAAImuC,2BAA2BY,EAAgBzzD,GAC1D,CAAC8b,EACZ,CACJ,CAYA,qBAAAg3C,CAAsBC,EAAgBziB,EAAgBtwC,EAASu0D,GAAS,GAEpE,GAAIz9D,KAAKivC,YAAa,CAClB,MAAMyuB,EAAS19D,KAAK6uB,MAAMmtC,sBAAsBC,EAAgBziB,EAAgBtwC,GAChF,MAAO,CAAC,IAAI,GAAMw0D,GACtB,CAaA,MAAMC,EAAY,GAAMntB,4BAA4ByrB,EAAgB/yD,GAC9DyzD,EAAiBnjB,EAAe+iB,0BAA0BN,EAAgB/yD,GAChF,GAAIlJ,KAAKwvC,iBAAiBgK,KAAoBikB,IACtCE,EAAUnuB,iBAAiBxvC,KAAK6uB,QAAU8uC,EAAUnuB,iBAAiBxvC,KAAK4tB,MAAM,CAChF,MAAMiB,EAAQ7uB,KAAK6uB,MAAMmtC,sBAAsBC,EAAgBziB,EAAgBtwC,GACzE0kB,EAAM5tB,KAAK4tB,IAAIouC,sBAAsBC,EAAgBziB,EAAgBtwC,GAC3E,MAAO,CAAC,IAAI,GAAM2lB,EAAOjB,GAC7B,CAGJ,IAAIl9B,EACJ,MAAMktE,EAAgB59D,KAAK6vC,cAAc8tB,GACzC,IAAIE,EAAa,KACjB,MAAMC,EAAS99D,KAAKoiB,gBAAgBu7C,GAepC,GAd4B,GAAxBC,EAAcntE,OAEdotE,EAAa,IAAI,GAAMD,EAAc,GAAG/uC,MAAM0tC,0BAA0BN,EAAgB/yD,GAAU00D,EAAc,GAAGhwC,IAAI2uC,0BAA0BN,EAAgB/yD,IAEpI,GAAxB00D,EAAcntE,SAEnBotE,EAAa,IAAI,GAAM79D,KAAK6uB,MAAO7uB,KAAK4tB,IAAI2uC,0BAA0BN,EAAgB/yD,KAGtFxY,EADAmtE,EACSA,EAAW9B,2BAA2BY,EAAgBzzD,EAAoB,OAAX40D,GAAmBL,GAGlF,GAETK,EAAQ,CACR,MAAMC,EAAoB,IAAI,GAAMD,EAAOjvC,MAAMstC,aAAawB,EAAU9uC,MAAO8tC,GAAiBmB,EAAOlwC,IAAIuuC,aAAawB,EAAU9uC,MAAO8tC,IACpH,GAAjBjsE,EAAOD,OACPC,EAAOkJ,OAAO,EAAG,EAAGmkE,GAGpBrtE,EAAO3B,KAAKgvE,EAEpB,CACA,OAAOrtE,CACX,CAaA,yBAAA6rE,CAA0BE,EAAgBvzD,GACtC,IAAI80D,EAAWh+D,KAAK6uB,MAAM0tC,0BAA0BE,EAAgBvzD,GAChE+0D,EAASj+D,KAAK4tB,IAAI2uC,0BAA0BE,EAAgBvzD,GAChE,OAAgB,MAAZ80D,GAA8B,MAAVC,EACb,MAEK,MAAZD,IACAA,EAAWvB,GAED,MAAVwB,IACAA,EAASxB,GAEN,IAAI,GAAMuB,EAAUC,GAC/B,CASA,kCAAOztB,CAA4Bp6C,EAAUs1B,GACzC,MAAMmD,EAAQz4B,EACRw3B,EAAMx3B,EAASm4C,aAAa7iB,GAClC,OAAOA,EAAQ,EAAI,IAAI1rB,KAAK6uB,EAAOjB,GAAO,IAAI5tB,KAAK4tB,EAAKiB,EAC5D,CAQA,gBAAO4hB,CAAUvhD,GACb,OAAO,IAAI8Q,KAAK,GAAS4sC,UAAU19C,EAAS,GAAI,GAAS09C,UAAU19C,EAASA,EAAQmrE,WACxF,CAMA,gBAAO3pB,CAAUv/C,GACb,OAAO6O,KAAKwwC,4BAA4B,GAASxC,cAAc78C,GAAOA,EAAK4wC,WAC/E,CAmBA,wBAAOm8B,CAAkBpuB,GACrB,GAAsB,IAAlBA,EAAOr/C,OAOP,MAAM,IAAI,EAAc,uCAAwC,MAE/D,GAAqB,GAAjBq/C,EAAOr/C,OACZ,OAAOq/C,EAAO,GAAG7tB,QAKrB,MAAMk8C,EAAMruB,EAAO,GAEnBA,EAAO1wB,MAAK,CAACrsB,EAAG2I,IACL3I,EAAE87B,MAAMoS,QAAQvlC,EAAEmzB,OAAS,GAAK,IAG3C,MAAMuvC,EAAWtuB,EAAOzsC,QAAQ86D,GAI1BztE,EAAS,IAAIsP,KAAKm+D,EAAItvC,MAAOsvC,EAAIvwC,KAGvC,IAAK,IAAIh9B,EAAIwtE,EAAW,EAAGxtE,GAAK,GACxBk/C,EAAOl/C,GAAGg9B,IAAItK,QAAQ5yB,EAAOm+B,OADFj+B,IAE3BF,EAAOm+B,MAAQ,GAAS+d,UAAUkD,EAAOl/C,GAAGi+B,OASpD,IAAK,IAAIj+B,EAAIwtE,EAAW,EAAGxtE,EAAIk/C,EAAOr/C,QAC9Bq/C,EAAOl/C,GAAGi+B,MAAMvL,QAAQ5yB,EAAOk9B,KADOh9B,IAEtCF,EAAOk9B,IAAM,GAASgf,UAAUkD,EAAOl/C,GAAGg9B,KAOlD,OAAOl9B,CACX,CAQA,eAAOmsE,CAASx7B,EAAMtrB,GAClB,OAAO,IAAI/V,KAAK,GAAS68D,SAASx7B,EAAKxS,MAAO9Y,GAAM,GAAS8mD,SAASx7B,EAAKzT,IAAK7X,GACpF,EAIJ,GAAM5gB,UAAUsX,GAAK,SAAUvJ,GAC3B,MAAgB,UAATA,GAA6B,gBAATA,CAC/B,ECx0Be,MAAMm7D,WAA+B1wD,KAIhD,WAAAxD,GACI4B,QAIA/L,KAAKs+D,oBAAsB,IAAI7sC,QAI/BzxB,KAAKu+D,oBAAsB,IAAI9sC,QAK/BzxB,KAAKw+D,4BAA8B,IAAIvuD,IAOvCjQ,KAAKy+D,sBAAwB,IAAIxuD,IAMjCjQ,KAAK0+D,sBAAwB,IAAIzuD,IAIjCjQ,KAAK2+D,yBAA2B,IAAI1uD,IAKpCjQ,KAAK4+D,oBAAsB,IAAIxsD,IAI/BpS,KAAK6+D,OAAS,IAAIC,GAElB9+D,KAAK4N,GAAG,uBAAuB,CAACiG,EAAKjiB,KACjC,GAAIA,EAAK+kD,aACL,OAEJ,MAAMooB,EAAgB/+D,KAAKs+D,oBAAoBz4D,IAAIjU,EAAKotE,cAAc59D,QACtE,IAAK29D,EASD,MAAM,IAAI,EAAc,+CAAgD/+D,KAAM,CAAEg/D,cAAeptE,EAAKotE,gBAExGptE,EAAK+kD,aAAe32C,KAAKi/D,eAAeF,EAAentE,EAAKotE,cAAcjlD,OAAO,GAClF,CAAE9O,SAAU,QAEfjL,KAAK4N,GAAG,uBAAuB,CAACiG,EAAKjiB,KACjC,GAAIA,EAAKotE,cACL,OAEJ,MAAME,EAAYl/D,KAAKm/D,uBAAuBvtE,EAAK+kD,cAC7CyoB,EAAcp/D,KAAKu+D,oBAAoB14D,IAAIq5D,GAC3CG,EAAcr/D,KAAKs/D,eAAe1tE,EAAK+kD,aAAav1C,OAAQxP,EAAK+kD,aAAa58B,OAAQmlD,GAC5FttE,EAAKotE,cAAgB,GAAcpyB,UAAUwyB,EAAaC,EAAY,GACvE,CAAEp0D,SAAU,OACnB,CAUA,YAAAg3C,CAAasd,EAAc7jB,GACvB17C,KAAKs+D,oBAAoBpuD,IAAIqvD,EAAc7jB,GAC3C17C,KAAKu+D,oBAAoBruD,IAAIwrC,EAAa6jB,EAC9C,CAeA,iBAAAC,CAAkB9jB,EAAazsD,EAAU,CAAC,GACtC,MAAMswE,EAAev/D,KAAKy/D,eAAe/jB,GACzC,GAAI17C,KAAK0+D,sBAAsBvyD,IAAIuvC,GAC/B,IAAK,MAAMgkB,KAAc1/D,KAAK0+D,sBAAsB74D,IAAI61C,GACpD17C,KAAK4+D,oBAAoBxyD,IAAIszD,GAGrC,GAAIzwE,EAAQ0wE,MACR3/D,KAAK2+D,yBAAyBzuD,IAAIwrC,EAAaA,EAAYrtD,UAE1D,CACgB2R,KAAKu+D,oBAAoBnuD,OAAOsrC,IAG7C17C,KAAK6+D,OAAOe,aAAalkB,GAEzB17C,KAAKs+D,oBAAoBz4D,IAAI05D,IAAiB7jB,GAC9C17C,KAAKs+D,oBAAoBluD,OAAOmvD,EAExC,CACJ,CAYA,kBAAAM,CAAmBN,GACf,MAAM7jB,EAAc17C,KAAK8/D,cAAcP,GAEvC,GADAv/D,KAAKs+D,oBAAoBluD,OAAOmvD,GAC5Bv/D,KAAKu+D,oBAAoB14D,IAAI61C,IAAgB6jB,EAAc,CAC1Cv/D,KAAKu+D,oBAAoBnuD,OAAOsrC,IAG7C17C,KAAK6+D,OAAOe,aAAalkB,EAEjC,CACJ,CAQA,mBAAAqkB,CAAoB7wE,EAASsT,GACzB,MAAM0xB,EAAWl0B,KAAKy+D,sBAAsB54D,IAAIrD,IAAS,IAAI4P,IAC7D8hB,EAAS9nB,IAAIld,GACb,MAAMytB,EAAQ3c,KAAK0+D,sBAAsB74D,IAAI3W,IAAY,IAAIkjB,IAC7DuK,EAAMvQ,IAAI5J,GACVxC,KAAKy+D,sBAAsBvuD,IAAI1N,EAAM0xB,GACrCl0B,KAAK0+D,sBAAsBxuD,IAAIhhB,EAASytB,EAC5C,CAOA,2BAAAqjD,CAA4B9wE,EAASsT,GACjC,MAAMy9D,EAAiBjgE,KAAKy+D,sBAAsB54D,IAAIrD,GAClDy9D,IACAA,EAAe7vD,OAAOlhB,GACK,GAAvB+wE,EAAe5tD,MACfrS,KAAKy+D,sBAAsBruD,OAAO5N,IAG1C,MAAM09D,EAAiBlgE,KAAK0+D,sBAAsB74D,IAAI3W,GAClDgxE,IACAA,EAAe9vD,OAAO5N,GACK,GAAvB09D,EAAe7tD,MACfrS,KAAK0+D,sBAAsBtuD,OAAOlhB,GAG9C,CAKA,uBAAAixE,GACI,MAAMC,EAAcpsE,MAAM8N,KAAK9B,KAAK4+D,qBAEpC,OADA5+D,KAAK4+D,oBAAoBvuD,QAClB+vD,CACX,CAMA,qBAAAC,GACI,IAAK,MAAO3kB,EAAartD,KAAS2R,KAAK2+D,yBAE/BjjB,EAAYrtD,MAAQA,GACpB2R,KAAKw/D,kBAAkB9jB,GAG/B17C,KAAK2+D,yBAA2B,IAAI1uD,GACxC,CAIA,aAAAqwD,GACItgE,KAAKs+D,oBAAsB,IAAI7sC,QAC/BzxB,KAAKu+D,oBAAsB,IAAI9sC,QAC/BzxB,KAAKy+D,sBAAwB,IAAIxuD,IACjCjQ,KAAK0+D,sBAAwB,IAAIzuD,IACjCjQ,KAAK4+D,oBAAsB,IAAIxsD,IAC/BpS,KAAK2+D,yBAA2B,IAAI1uD,GACxC,CACA,cAAAwvD,CAAe/jB,GACX,OAAO17C,KAAKu+D,oBAAoB14D,IAAI61C,EACxC,CACA,aAAAokB,CAAcP,GACV,OAAOv/D,KAAKs+D,oBAAoBz4D,IAAI05D,EACxC,CAOA,YAAAgB,CAAapW,GACT,OAAO,IAAI,GAAWnqD,KAAKwgE,gBAAgBrW,EAAUt7B,OAAQ7uB,KAAKwgE,gBAAgBrW,EAAUv8B,KAChG,CAOA,WAAA6yC,CAAYC,GACR,OAAO,IAAI,GAAU1gE,KAAK2gE,eAAeD,EAAW7xC,OAAQ7uB,KAAK2gE,eAAeD,EAAW9yC,KAC/F,CAQA,eAAA4yC,CAAgB7pB,GACZ,MAAM/kD,EAAO,CACT+kD,eACAiqB,OAAQ5gE,MAGZ,OADAA,KAAK+O,KAAK,sBAAuBnd,GAC1BA,EAAKotE,aAChB,CAWA,cAAA2B,CAAe3B,EAAe/vE,EAAU,CAAC,GACrC,MAAM2C,EAAO,CACTotE,gBACA4B,OAAQ5gE,KACR6gE,UAAW5xE,EAAQ4xE,WAGvB,OADA7gE,KAAK+O,KAAK,sBAAuBnd,GAC1BA,EAAK+kD,YAChB,CAQA,oBAAAmqB,CAAqBt+D,GACjB,MAAMu+D,EAAgB/gE,KAAKy+D,sBAAsB54D,IAAIrD,GACrD,IAAKu+D,EACD,OAAO,KAEX,MAAM7sC,EAAW,IAAI9hB,IACrB,IAAK,MAAMljB,KAAW6xE,EAClB,GAAI7xE,EAAQud,GAAG,oBACX,IAAK,MAAMwV,KAAS/yB,EAAQomD,wBACxBphB,EAAS9nB,IAAI6V,QAIjBiS,EAAS9nB,IAAIld,GAGrB,OAAOglC,CACX,CAqCA,yBAAA8sC,CAA0BC,EAAiBC,GACvClhE,KAAKw+D,4BAA4BtuD,IAAI+wD,EAAiBC,EAC1D,CAOA,sBAAA/B,CAAuBxoB,GACnB,IAAIv1C,EAASu1C,EAAav1C,OAC1B,MAAQpB,KAAKu+D,oBAAoBpyD,IAAI/K,IACjCA,EAASA,EAAOA,OAEpB,OAAOA,CACX,CAsBA,cAAAk+D,CAAe/U,EAAY4W,EAAYjC,GACnC,GAAIA,GAAa3U,EAAY,CAIzB,OAF4BvqD,KAAKs/D,eAAe/U,EAAWnpD,OAAQmpD,EAAWr3D,MAAOgsE,GAC9Dl/D,KAAKs/D,eAAe/U,EAAY4W,EAAY5W,EAEvE,CAGA,GAAIA,EAAW99C,GAAG,SACd,OAAO00D,EAGX,IAAI9B,EAAc,EAClB,IAAK,IAAIzuE,EAAI,EAAGA,EAAIuwE,EAAYvwE,IAC5ByuE,GAAer/D,KAAKohE,eAAe7W,EAAWrqB,SAAStvC,IAE3D,OAAOyuE,CACX,CAyBA,cAAA+B,CAAe/c,GACX,MAAMx3C,EAAQ,CAACw3C,GACf,IAAI1zD,EAAM,EACV,KAAOkc,EAAMpc,OAAS,GAAG,CACrB,MAAMkR,EAAOkL,EAAMrL,MACbsM,EAAWnM,EAAKa,MAClBxC,KAAKw+D,4BAA4BnsD,KAAO,GACxCrS,KAAKw+D,4BAA4B34D,IAAIlE,EAAKa,MAC9C,GAAIsL,EACAnd,GAAOmd,EAASnM,QAEf,GAAI3B,KAAKu+D,oBAAoBpyD,IAAIxK,GAClChR,GAAO,OAEN,GAAIgR,EAAK8K,GAAG,SACb9b,GAAOgR,EAAK/P,KAAKnB,WAEhB,IAAIkR,EAAK8K,GAAG,aACb,SAGA,IAAK,MAAM0J,KAASxU,EAAK09B,cACrBxyB,EAAM9d,KAAKonB,EAEnB,CACJ,CACA,OAAOxlB,CACX,CAUA,cAAAsuE,CAAeF,EAAeM,GAC1B,GAAoB,IAAhBA,EAEA,OAAOr/D,KAAKqhE,4BAA4B,IAAI,GAAatC,EAAe,IAO5E,GAD0D,GAAzC/+D,KAAKw+D,4BAA4BnsD,MAAarS,KAAKu+D,oBAAoBpyD,IAAI4yD,GAC9E,CACV,MAAMuC,EAAYthE,KAAK6+D,OAAO0C,WAAWxC,EAAeM,GACxD,OAAOr/D,KAAKwhE,0BAA0BF,EAAU3qB,aAAc2qB,EAAUjC,YAAaA,EAAaN,GAAe,EACrH,CAEI,OAAO/+D,KAAKwhE,0BAA0B,IAAI,GAAazC,EAAe,GAAI,EAAGM,EAAaN,GAAe,EAEjH,CA6BA,yBAAAyC,CAA0BC,EAAmBC,EAAkBC,EAAmB5C,EAAe6C,GAC7F,IAOIvd,EAPAkG,EAAakX,EAAkBrgE,OAC/B+/D,EAAaM,EAAkB1nD,OAEnC,GAAIwwC,EAAW99C,GAAG,SACd,OAAO,IAAI,GAAa89C,EAAYoX,EAAoBD,GAK5D,IAAIG,EAAuBH,EAEvBI,EAAa,EACjB,KAAOD,EAAuBF,GAE1B,GADAtd,EAAWkG,EAAWrqB,SAASihC,GAC1B9c,EAyBLyd,EAAa9hE,KAAKohE,eAAe/c,GACjCwd,GAAwBC,EACxBX,IACIS,GAQA5hE,KAAK6+D,OAAOkD,KAAKxX,EAAY4W,EAAYpC,EAAe8C,OApC5D,CAUI,GAAItX,GAAcwU,EAOd,MAAM,IAAI,EAAc,iCAAkC/+D,KAAM,CAAEq/D,YAAasC,EAAmB5C,kBAGlGoC,EAAa5W,EAAWnpD,OAAOi/B,cAAckqB,GAAc,EAC3DA,EAAaA,EAAWnpD,MAGhC,CAeJ,OAAIygE,GAAwBF,EAEjB3hE,KAAKqhE,4BAA4B,IAAI,GAAa9W,EAAY4W,IAK9DnhE,KAAKwhE,0BAA0B,IAAI,GAAand,EAAU,GAAIwd,EAAuBC,EAAYH,EAAmB5C,EAAe6C,EAElJ,CAcA,2BAAAP,CAA4B1qB,GAGxB,MAAMvI,EAAauI,EAAavI,WAC1BD,EAAYwI,EAAaxI,UAC/B,OAAIC,GAAcA,EAAW3hC,GAAG,cACrB,IAAI,GAAa2hC,EAAYA,EAAWx8C,KAAKnB,QAE/C09C,GAAaA,EAAU1hC,GAAG,cACxB,IAAI,GAAa0hC,EAAW,GAGhCwI,CACX,EAgCG,MAAMmoB,WAAoCnxD,KAC7C,WAAAxD,GACI4B,SAASkM,WAoBTjY,KAAKgiE,eAAiB,IAAIvwC,QAc1BzxB,KAAKiiE,sBAAwB,IAAIxwC,QAMjCzxB,KAAKkiE,oCAAsC,CAACruD,EAAKwwC,EAAUzyD,KAEvDoO,KAAKmiE,wBAAwB9d,EAAUzyD,EAAKsB,MAAM,EAQtD8M,KAAKoiE,gCAAkC,CAACvuD,EAAKwwC,KAEzCrkD,KAAKqiE,0BAA0Bhe,EAAS,CAEhD,CAUA,IAAA0d,CAAKxX,EAAY4W,EAAYpC,EAAeM,GAExC,MAAMniC,EAAQl9B,KAAKgiE,eAAen8D,IAAIk5D,GAEhCuC,EAAYpkC,EAAMolC,SAASz8D,IAAIw5D,GACrC,GAAIiC,EAAW,CASX,MAAMxf,EAAYyI,EAAWrqB,SAASihC,EAAa,GAU7CjuE,EAAQouE,EAAU3qB,aAAavI,WAAapuC,KAAKiiE,sBAAsBp8D,IAAIy7D,EAAU3qB,aAAavI,YAAc,EAEtH,YADApuC,KAAKiiE,sBAAsB/xD,IAAI4xC,EAAW5uD,EAE9C,CACA,MACMqvE,EAAe,CAAE5rB,aADF,IAAI,GAAa4T,EAAY4W,GACb9B,eAErCniC,EAAMslC,eAAiBnD,EAAcniC,EAAMslC,eAAiBnD,EAAcniC,EAAMslC,eAEhFtlC,EAAMolC,SAASpyD,IAAImvD,EAAakD,GAEhC,IAAI3xE,EAAIssC,EAAMulC,UAAUhyE,OAAS,EAIjC,KAAOG,GAAK,GAAKssC,EAAMulC,UAAU7xE,GAAGyuE,YAAcA,GAC9CzuE,IAGJ,GADAssC,EAAMulC,UAAU7oE,OAAOhJ,EAAI,EAAG,EAAG2xE,GAC7BpB,EAAa,EAAG,CAChB,MAAMrf,EAAYyI,EAAWrqB,SAASihC,EAAa,GAInDnhE,KAAKiiE,sBAAsB/xD,IAAI4xC,EAAWlxD,EAAI,EAClD,CACJ,CA8BA,UAAA2wE,CAAWxC,EAAeM,GACtB,MAAMniC,EAAQl9B,KAAKgiE,eAAen8D,IAAIk5D,GACtC,IAAIruE,EACJ,GAAIwsC,EACA,GAAImiC,EAAcniC,EAAMslC,eACpB9xE,EAASwsC,EAAMulC,UAAUvlC,EAAMulC,UAAUhyE,OAAS,OAEjD,CACD,MAAM6wE,EAAYpkC,EAAMolC,SAASz8D,IAAIw5D,GAEjC3uE,EADA4wE,GAISthE,KAAK0iE,iBAAiBxlC,EAAMulC,UAAWpD,EAExD,MAGA3uE,EAASsP,KAAK2iE,cAAc5D,GAEhC,MAAMpoB,EAAe32C,KAAK4iE,mBAAmBlyE,EAAOimD,cACpD,MAAO,CACH0oB,YAAa3uE,EAAO2uE,YACpB1oB,eAER,CA2BA,kBAAAisB,CAAmBjsB,GACf,KAAOA,EAAav1C,OAAOA,SAAWpB,KAAKgiE,eAAe71D,IAAIwqC,EAAav1C,SAAWu1C,EAAalJ,SAAS,CACxG,MAAMrsC,EAASu1C,EAAav1C,OAAOA,OAC7B2Y,EAAS3Y,EAAOi/B,cAAcsW,EAAav1C,QAAU,EAC3Du1C,EAAe,IAAI,GAAav1C,EAAQ2Y,EAC5C,CACA,OAAO48B,CACX,CAWA,aAAAgsB,CAAc5D,GACV,MACM8D,EAAmB,CAAElsB,aADN,IAAI,GAAaooB,EAAe,GACZM,YAAa,GAChDyD,EAAe,CACjBN,eAAgB,EAChBC,UAAW,CAACI,GACZP,SAAU,IAAIryD,IAAI,CAAC,CAAC,EAAG4yD,MAS3B,OAPA7iE,KAAKgiE,eAAe9xD,IAAI6uD,EAAe+D,GAKvC/D,EAAcnxD,GAAG,kBAAmB5N,KAAKkiE,qCACzCnD,EAAcnxD,GAAG,cAAe5N,KAAKoiE,iCAC9BS,CACX,CAOA,YAAAjD,CAAab,GACTA,EAAcz0D,IAAI,kBAAmBtK,KAAKkiE,qCAC1CnD,EAAcz0D,IAAI,cAAetK,KAAKoiE,iCACtCpiE,KAAKgiE,eAAe5xD,OAAO2uD,EAC/B,CAIA,uBAAAoD,CAAwB5X,EAAYr3D,GAChC,GAAa,GAATA,EAEI8M,KAAKgiE,eAAe71D,IAAIo+C,GAExBvqD,KAAK+iE,eAAexY,GAIpBvqD,KAAKqiE,0BAA0B9X,OAGlC,CAED,MAAMyY,EAAgBzY,EAAWrqB,SAAShtC,EAAQ,GAWlD8M,KAAKqiE,0BAA0BW,EACnC,CACJ,CAIA,cAAAD,CAAehE,GACX,MAAM7hC,EAAQl9B,KAAKgiE,eAAen8D,IAAIk5D,GAClC7hC,EAAMslC,eAAiB,IACvBtlC,EAAMslC,eAAiB,EACvBtlC,EAAMulC,UAAUhyE,OAAS,EACzBysC,EAAMolC,SAASjyD,QACf6sB,EAAMolC,SAASpyD,IAAI,EAAGgtB,EAAMulC,UAAU,IAE9C,CAKA,yBAAAJ,CAA0Bhe,GAEtB,MAAM4e,EAAiBjjE,KAAKiiE,sBAAsBp8D,IAAIw+C,GAEtD,QAAuBlkD,IAAnB8iE,EAA8B,CAG9B,MAAM1Y,EAAalG,EAASjjD,OAa5B,YAHKpB,KAAKgiE,eAAe71D,IAAIo+C,IACzBvqD,KAAKqiE,0BAA0B9X,GAGvC,CAMA,IAAIwU,EAAgB1a,EAASjjD,OAC7B,MAAQpB,KAAKgiE,eAAe71D,IAAI4yD,IAC5BA,EAAgBA,EAAc39D,OAElCpB,KAAKkjE,qBAAqBnE,EAAekE,EAC7C,CAIA,oBAAAC,CAAqBnE,EAAe7rE,GAClB,IAAVA,IAOAA,EAAQ,GAGZ,MAAMgqC,EAAQl9B,KAAKgiE,eAAen8D,IAAIk5D,GAChCuC,EAAYpkC,EAAMulC,UAAUvvE,EAAQ,GAC1C,IAAKouE,EACD,OAEJpkC,EAAMslC,eAAiBlB,EAAUjC,YAEjC,MAAM8D,EAAejmC,EAAMulC,UAAU7oE,OAAO1G,GAE5C,IAAK,MAAM/B,KAAQgyE,EAAc,CAC7BjmC,EAAMolC,SAASlyD,OAAOjf,EAAKkuE,aAC3B,MAAMhb,EAAWlzD,EAAKwlD,aAAavI,WACnCpuC,KAAKiiE,sBAAsB7xD,OAAOi0C,EACtC,CACJ,CAMA,gBAAAqe,CAAiBD,EAAW1oD,GACxB,IAAI8U,EAAQ,EACRjB,EAAM60C,EAAUhyE,OAAS,EACzByC,EAAS06B,EAAMiB,GAAU,EACzB19B,EAAOsxE,EAAUvvE,GACrB,KAAO27B,EAAQjB,GACPz8B,EAAKkuE,YAActlD,EACnB8U,EAAQ37B,EAAQ,EAGhB06B,EAAM16B,EAAQ,EAElBA,EAAQ27B,GAAUjB,EAAMiB,GAAU,GAClC19B,EAAOsxE,EAAUvvE,GAErB,OAAO/B,EAAKkuE,aAAetlD,EAAS5oB,EAAOsxE,EAAUvvE,EAAQ,EACjE,ECx6BW,MAAMkwE,GACjB,WAAAj5D,GAIInK,KAAKqjE,YAAc,IAAIpzD,IASvBjQ,KAAKsjE,mBAAqB,IAAIrzD,GAClC,CAgBA,GAAA7D,CAAIjb,EAAM+R,GACNA,EAAOqgE,GAAyBrgE,GAC5B/R,aAAgB,KAChBA,EAAO6O,KAAKwjE,uBAAuBryE,IAElC6O,KAAKqjE,YAAYl3D,IAAIhb,IACtB6O,KAAKqjE,YAAYnzD,IAAI/e,EAAM,IAAI8e,KAEnCjQ,KAAKqjE,YAAYx9D,IAAI1U,GAAM+e,IAAIhN,GAAM,EACzC,CAiBA,OAAAs/B,CAAQrxC,EAAM+R,GAKV,OAJAA,EAAOqgE,GAAyBrgE,GAC5B/R,aAAgB,KAChBA,EAAO6O,KAAKwjE,uBAAuBryE,MAEnC6O,KAAKzH,KAAKpH,EAAM+R,KAChBlD,KAAKqjE,YAAYx9D,IAAI1U,GAAM+e,IAAIhN,GAAM,IAC9B,EAKf,CAkBA,IAAA3K,CAAKpH,EAAM+R,GACPA,EAAOqgE,GAAyBrgE,GAC5B/R,aAAgB,KAChBA,EAAO6O,KAAKwjE,uBAAuBryE,IAEvC,MAAMsyE,EAAkBzjE,KAAKqjE,YAAYx9D,IAAI1U,GAC7C,QAAwBgP,IAApBsjE,EACA,OAAO,KAEX,MAAMzzE,EAAQyzE,EAAgB59D,IAAI3C,GAClC,YAAc/C,IAAVnQ,EACO,KAEJA,CACX,CAiBA,MAAAyyC,CAAOtxC,EAAM+R,GACTA,EAAOqgE,GAAyBrgE,GAC5B/R,aAAgB,KAChBA,EAAO6O,KAAKwjE,uBAAuBryE,IAEvC,MAAMoH,EAAOyH,KAAKzH,KAAKpH,EAAM+R,GAC7B,OAAa,IAAT3K,GACAyH,KAAKqjE,YAAYx9D,IAAI1U,GAAM+e,IAAIhN,GAAM,IAC9B,IAEO,IAAT3K,GAGF,IACX,CAMA,iBAAAmrE,CAAkBC,GACd,MAAM3xC,EAAQ,GACd,IAAK,MAAO7gC,EAAMgxC,KAAgBniC,KAAKqjE,YACnC,IAAK,MAAOx1D,EAAO+1D,KAAezhC,EAAa,CAC3C,MAAM0hC,EAAch2D,EAAMxO,MAAM,KAAK,GACjCukE,GAAcD,GAAcE,GAC5B7xC,EAAMjjC,KAAK,CACP8e,QACA1c,KAAMA,EAAKqR,MAAQrR,EAAK2yE,aAGpC,CAEJ,GAAI9xC,EAAMvhC,OAiBN,MAAM,IAAI,EAAc,2CAA4C,KAAM,CAAEuhC,SAEpF,CAWA,sBAAAwxC,CAAuB51B,GACnB,IAAI9zB,EAAS,KACb,MAAMiqD,EAAW/jE,KAAKsjE,mBAAmBz9D,IAAI+nC,EAAUK,aACvD,GAAI81B,EAAU,CACV,MAAMC,EAASD,EAASl+D,IAAI+nC,EAAUS,WAClC21B,IACAlqD,EAASkqD,EAAOn+D,IAAI+nC,EAAUxsC,QAEtC,CAIA,OAHK0Y,IACDA,EAAS9Z,KAAKikE,uBAAuBr2B,IAElC9zB,CACX,CASA,sBAAAmqD,CAAuBr2B,GACnB,MAAM/e,EAAQ+e,EAAUK,YAClBrgB,EAAMggB,EAAUS,UAChBjtC,EAASwsC,EAAUxsC,OACnB0Y,EAAS/T,OAAO,cAAgB6nC,EAAUh8C,MAChD,IAAImyE,EACAC,EAYJ,OAXAD,EAAW/jE,KAAKsjE,mBAAmBz9D,IAAIgpB,GAClCk1C,IACDA,EAAW,IAAI9zD,IACfjQ,KAAKsjE,mBAAmBpzD,IAAI2e,EAAOk1C,IAEvCC,EAASD,EAASl+D,IAAI+nB,GACjBo2C,IACDA,EAAS,IAAI/zD,IACb8zD,EAAS7zD,IAAI0d,EAAKo2C,IAEtBA,EAAO9zD,IAAI9O,EAAQ0Y,GACZA,CACX,EAUJ,SAASypD,GAAyBrgE,GAC9B,MAAM2Z,EAAQ3Z,EAAK7D,MAAM,KAEzB,MAAgB,UAAZwd,EAAM,GACCA,EAAM,GAGD,aAAZA,EAAM,IAAiC,gBAAZA,EAAM,GAC1B3Z,EAEJ2Z,EAAMpsB,OAAS,EAAIosB,EAAM,GAAK,IAAMA,EAAM,GAAKA,EAAM,EAChE,CCvOe,MAAMqnD,WAA2Cv2D,KAS5D,WAAAxD,CAAYg6D,GACRp4D,QACA/L,KAAKokE,eAAiB,CAAEC,WAAYrkE,QAASmkE,GAC7CnkE,KAAKskE,gBAAkB,IAAI7yC,OAC/B,CAeA,cAAA8yC,CAAeC,EAAQC,EAASjmC,GAC5B,MAAM2lC,EAAgBnkE,KAAK0kE,qBAAqBlmC,EAAQgmC,EAAOG,qBAE/D,IAAK,MAAMpmC,KAAUimC,EAAOI,qBACxB5kE,KAAK6kE,qBAAqBtmC,EAAO/7B,KAAM+7B,EAAOvZ,MAAOm/C,GAGzD,MAAMW,EAAU9kE,KAAK+kE,eAAeP,EAAOQ,cAE3C,IAAK,MAAM9uE,KAAS4uE,EACG,WAAf5uE,EAAMgN,KACNlD,KAAKilE,eAAe,GAAMz0B,4BAA4Bt6C,EAAME,SAAUF,EAAMzF,QAAS0zE,GAEjE,aAAfjuE,EAAMgN,KACXlD,KAAKklE,iBAAiB,GAAM10B,4BAA4Bt6C,EAAME,SAAUF,EAAMzF,QAAS0zE,GAEnE,WAAfjuE,EAAMgN,KACXlD,KAAKmlE,eAAejvE,EAAME,SAAUF,EAAMzF,OAAQyF,EAAMsM,KAAM2hE,GAI9DnkE,KAAKolE,kBAAkBlvE,EAAM8uB,MAAO9uB,EAAMiyD,aAAcjyD,EAAMmvE,kBAAmBnvE,EAAMovE,kBAAmBnB,GAKlHA,EAAcvD,OAAOP,wBACrB,IAAK,MAAMX,KAAcyE,EAAcvD,OAAOT,0BAA2B,CACrE,MAAMoF,EAAcd,EAAQ5+D,IAAI65D,GAAY8F,WAC5CxlE,KAAK6kE,qBAAqBnF,EAAY6F,EAAapB,GACnDnkE,KAAKylE,kBAAkB/F,EAAY6F,EAAapB,EACpD,CAEA,IAAK,MAAM5lC,KAAUimC,EAAOkB,kBACxB1lE,KAAKylE,kBAAkBlnC,EAAO/7B,KAAM+7B,EAAOvZ,MAAOm/C,GAGtDA,EAAcwB,WAAWjC,kBAAkB,SAC/C,CAYA,OAAAh0E,CAAQs1B,EAAOy/C,EAASjmC,EAAQvvC,EAAU,CAAC,GACvC,MAAMk1E,EAAgBnkE,KAAK0kE,qBAAqBlmC,OAAQr+B,EAAWlR,GACnE+Q,KAAKilE,eAAejgD,EAAOm/C,GAC3B,IAAK,MAAO3hE,EAAMwiB,KAAUy/C,EACxBzkE,KAAKylE,kBAAkBjjE,EAAMwiB,EAAOm/C,GAGxCA,EAAcwB,WAAWjC,kBAAkB,SAC/C,CAaA,gBAAAkC,CAAiBrtC,EAAWksC,EAASjmC,GACjC,MAAM2lC,EAAgBnkE,KAAK0kE,qBAAqBlmC,GAEhDx+B,KAAK+O,KAAK,iBAAkB,CAAEwpB,aAAa4rC,GAE3C,MAAM0B,EAAYttC,EAAUE,mBAAmBpqC,KAC/C,IAAK81E,EAAcvD,OAAOd,cAAc+F,GACpC,OAGJ,MAAMC,EAAqB9xE,MAAM8N,KAAK2iE,EAAQsB,qBAAqBxtC,EAAUE,qBAG7E,GAFAz4B,KAAKgmE,4BAA4B7B,EAAcwB,WAAYptC,EAAWutC,GACtE9lE,KAAK+O,KAAK,YAAa,CAAEwpB,aAAa4rC,GACjC5rC,EAAU0W,YAAf,CAGA,IAAK,MAAMg3B,KAAUH,EAEjB,GAAI3B,EAAcwB,WAAWptE,KAAKggC,EAAW,aAAe0tC,EAAOzjE,MAAO,CACtE,MAAM+iE,EAAcU,EAAOT,WAC3B,IAAKU,GAA8B3tC,EAAUE,mBAAoBwtC,EAAQ9B,EAAcvD,QACnF,SAEJ,MAAMhvE,EAAO,CACTT,KAAMonC,EACNmnC,WAAYuG,EAAOzjE,KACnB+iE,eAEJvlE,KAAK+O,KAAK,aAAak3D,EAAOzjE,OAAQ5Q,EAAMuyE,EAChD,CAEJ,IAAK,MAAMxrE,KAAO4/B,EAAUwQ,mBAExB,GAAIo7B,EAAcwB,WAAWptE,KAAKggC,EAAW,aAAe5/B,GAAM,CAC9D,MAAM/G,EAAO,CACTT,KAAMonC,EACNvT,MAAOuT,EAAU+Y,gBACjB6W,aAAcxvD,EACd0sE,kBAAmB,KACnBC,kBAAmB/sC,EAAUwH,aAAapnC,IAE9CqH,KAAK+O,KAAK,aAAapW,UAAa/G,EAAMuyE,EAC9C,CA3BJ,CA6BJ,CAcA,cAAAc,CAAejgD,EAAOm/C,EAAel1E,EAAU,CAAC,GACvCA,EAAQk3E,qBAETnmE,KAAKomE,yBAAyBjC,EAAcwB,WAAY3gD,GAG5D,IAAK,MAAMpzB,KAAQozB,EAAM8pB,UAAU,CAAEhC,SAAS,IAC1C9sC,KAAKqmE,aAAa,SAAUC,GAAuB10E,GAAOuyE,EAElE,CASA,cAAAgB,CAAe/uE,EAAU3F,EAAQ+R,EAAM2hE,GACnCnkE,KAAK+O,KAAK,UAAUvM,IAAQ,CAAEpM,WAAU3F,UAAU0zE,EACtD,CAaA,iBAAAiB,CAAkBpgD,EAAOrsB,EAAKoZ,EAAUC,EAAUmyD,GAE9CnkE,KAAKumE,wBAAwBpC,EAAcwB,WAAY3gD,EAAO,aAAarsB,KAE3E,IAAK,MAAM3I,KAASg1B,EAAO,CACvB,MAAMpzB,EAAO,CACTT,KAAMnB,EAAMmB,KACZ6zB,MAAO,GAAMwrB,4BAA4BxgD,EAAMw9C,iBAAkBx9C,EAAMS,QACvE03D,aAAcxvD,EACd0sE,kBAAmBtzD,EACnBuzD,kBAAmBtzD,GAEvBhS,KAAKqmE,aAAa,aAAa1tE,IAAO/G,EAAMuyE,EAChD,CACJ,CAaA,gBAAAe,CAAiBlgD,EAAOm/C,GAEpB,MAAMqC,EAAexyE,MAAM8N,KAAKkjB,EAAM8pB,UAAU,CAAEhC,SAAS,KAE3D9sC,KAAKomE,yBAAyBjC,EAAcwB,WAAYa,GAExD,IAAK,MAAM50E,KAAQ40E,EAAalnE,IAAIgnE,IAChCtmE,KAAKqmE,aAAa,SAAU,IAAKz0E,EAAM60E,cAAc,GAAQtC,EAErE,CAUA,iBAAAsB,CAAkB/F,EAAY6F,EAAapB,GAEvC,GAAiC,cAA7BoB,EAAYl3E,KAAKqqC,SACjB,OAGJ,MAAMxpB,EAAY,aAAawwD,IAU/B,GANAyE,EAAcwB,WAAWv5D,IAAIm5D,EAAar2D,GAC1ClP,KAAK+O,KAAKG,EAAW,CAAEwwD,aAAY6F,eAAepB,GAK7CA,EAAcwB,WAAWnjC,QAAQ+iC,EAAar2D,GAAnD,CAMAlP,KAAKumE,wBAAwBpC,EAAcwB,WAAYJ,EAAar2D,GACpE,IAAK,MAAM/d,KAAQo0E,EAAYp1B,WAAY,CAEvC,IAAKg0B,EAAcwB,WAAWptE,KAAKpH,EAAM+d,GACrC,SAEJ,MAAMtd,EAAO,CAAET,OAAM6zB,MAAO,GAAM0rB,UAAUv/C,GAAOuuE,aAAY6F,eAC/DvlE,KAAK+O,KAAKG,EAAWtd,EAAMuyE,EAC/B,CAZA,CAaJ,CASA,oBAAAU,CAAqBnF,EAAY6F,EAAapB,GAET,cAA7BoB,EAAYl3E,KAAKqqC,UAGrB14B,KAAK+O,KAAK,gBAAgB2wD,IAAc,CAAEA,aAAY6F,eAAepB,EACzE,CAUA,cAAAY,CAAeD,GACX,MAAMlzE,EAAO,CAAEkzE,WAEf,OADA9kE,KAAK+O,KAAK,gBAAiBnd,GACpBA,EAAKkzE,OAChB,CASA,wBAAAsB,CAAyBT,EAAYa,GACjC,IAAK,MAAMx2E,KAASw2E,EAAc,CAC9B,MAAMr1E,EAAOnB,EAAMmB,KAEnB,GAAwC,OAApCw0E,EAAWptE,KAAKpH,EAAM,UAAoB,CAC1Cw0E,EAAWv5D,IAAIjb,EAAM,UACrB,IAAK,MAAMwH,KAAOxH,EAAK43C,mBACnB48B,EAAWv5D,IAAIjb,EAAM,aAAewH,EAE5C,CACJ,CACA,OAAOgtE,CACX,CASA,uBAAAY,CAAwBZ,EAAY3gD,EAAO9hB,GACvC,IAAK,MAAM/R,KAAQ6zB,EAAMmrB,WACrBw1B,EAAWv5D,IAAIjb,EAAM+R,GAEzB,OAAOyiE,CACX,CASA,2BAAAK,CAA4BL,EAAYptC,EAAWksC,GAC/CkB,EAAWv5D,IAAImsB,EAAW,aAC1B,IAAK,MAAM0tC,KAAUxB,EACjBkB,EAAWv5D,IAAImsB,EAAW,aAAe0tC,EAAOzjE,MAEpD,IAAK,MAAM7J,KAAO4/B,EAAUwQ,mBACxB48B,EAAWv5D,IAAImsB,EAAW,aAAe5/B,GAE7C,OAAOgtE,CACX,CAUA,YAAAU,CAAanjE,EAAMtR,EAAMuyE,GACrB,MAAMj1D,EA2Ed,SAAsBhM,EAAMtR,GACxB,MAAM4Q,EAAO5Q,EAAKT,KAAKsb,GAAG,WAAa7a,EAAKT,KAAKqR,KAAO,QACxD,MAAO,GAAGU,KAAQV,GACtB,CA9E0BkkE,CAAaxjE,EAAMtR,GAC/B+0E,EAAU/0E,EAAKT,KAAKsb,GAAG,cAAgB03D,EAAcwB,WAAWnC,uBAAuB5xE,EAAKT,MAAQS,EAAKT,KACzGy1E,EAA2B5mE,KAAKskE,gBAAgBz+D,IAAIs+D,GACpD0C,EAAqBD,EAAyB/gE,IAAI8gE,GACxD,GAAKE,EAGA,IAAKA,EAAmB16D,IAAI+C,GAI7B,OAHA23D,EAAmBz6D,IAAI8C,EAI3B,MAPI03D,EAAyB12D,IAAIy2D,EAAS,IAAIv0D,IAAI,CAAClD,KAQnDlP,KAAK+O,KAAKG,EAAWtd,EAAMuyE,EAC/B,CAOA,yBAAA2C,CAA0B31E,EAAMgzE,GAC5B,MAAMvyE,EAAO,CACTT,OACA6zB,MAAO,GAAM0rB,UAAUv/C,IAE3B,IAAK,MAAMwH,KAAO/G,EAAKT,KAAK43C,mBACxBn3C,EAAKu2D,aAAexvD,EACpB/G,EAAKyzE,kBAAoB,KACzBzzE,EAAK0zE,kBAAoB1zE,EAAKT,KAAK4uC,aAAapnC,GAChDqH,KAAKqmE,aAAa,aAAa1tE,IAAO/G,EAAMuyE,EAEpD,CAWA,oBAAAO,CAAqBlmC,EAAQuoC,EAAiB,IAAI30D,IAAOnjB,EAAU,CAAC,GAChE,MAAMk1E,EAAgB,IACfnkE,KAAKokE,eACRuB,WAAY,IAAI,GAChBnnC,SACAvvC,UACA+3E,YAAa71E,GAAQ6O,KAAKilE,eAAe,GAAMv0B,UAAUv/C,GAAOgzE,GAChE8C,gBAAiB/3E,GAAW8Q,KAAKilE,eAAe,GAAMx0B,UAAUvhD,GAAUi1E,EAAe,CAAEgC,qBAAqB,IAChHe,kBAAmB/1E,GAAQ6O,KAAK8mE,0BAA0B31E,EAAMgzE,GAChEgD,aAAczrB,IAAgBqrB,EAAe56D,IAAIg4D,EAAcvD,OAAOnB,eAAe/jB,KAGzF,OADA17C,KAAKskE,gBAAgBp0D,IAAIi0D,EAAe,IAAIl0D,KACrCk0D,CACX,EAMJ,SAAS+B,GAA8BlH,EAAeiH,EAAQrF,GAC1D,MAAM57C,EAAQihD,EAAOT,WACfhlC,EAAYxsC,MAAM8N,KAAKk9D,EAAc3/C,gBAC3CmhB,EAAU9U,QACV8U,EAAUn3B,UAOV,OAN0Bm3B,EAAUlJ,MAAKpoC,IACrC,GAAI81B,EAAMi4C,aAAa/tE,GAAU,CAE7B,QADoB0xE,EAAOd,cAAc5wE,GACpB26C,kBAAkB,eAC3C,IAGR,CAKA,SAASy8B,GAAuBt2E,GAC5B,MAAO,CACHmB,KAAMnB,EAAMmB,KACZ6zB,MAAO,GAAMwrB,4BAA4BxgD,EAAMw9C,iBAAkBx9C,EAAMS,QAE/E,CC3fe,MAAM,WAAa,GAQ9B,WAAA0Z,CAAYvH,GACRmJ,QAMA/L,KAAKoB,OAAS,KAMdpB,KAAK5F,OAAS,KAMd4F,KAAKonE,aAAe,KACpBpnE,KAAKyoC,OAAS,GAAM7lC,EACxB,CAIA,YAAIzT,GACA,OAAO,IACX,CAIA,SAAI+D,GACA,OAAO8M,KAAK5F,MAChB,CAKA,eAAI6zC,GACA,OAAOjuC,KAAKonE,YAChB,CASA,cAAIrlC,GACA,OAAO,CACX,CAMA,aAAIsM,GACA,OAAyB,OAArBruC,KAAKiuC,YACE,KAEJjuC,KAAKiuC,YAAcjuC,KAAK+hC,UACnC,CAIA,eAAIzB,GACA,MAAMptC,EAAQ8M,KAAK9M,MACnB,OAAkB,OAAVA,GAAkB8M,KAAKoB,OAAO8+B,SAAShtC,EAAQ,IAAO,IAClE,CAIA,mBAAI0zB,GACA,MAAM1zB,EAAQ8M,KAAK9M,MACnB,OAAkB,OAAVA,GAAkB8M,KAAKoB,OAAO8+B,SAAShtC,EAAQ,IAAO,IAClE,CAKA,QAAI7E,GAEA,IAAIA,EAAO2R,KACX,KAAO3R,EAAK+S,QACR/S,EAAOA,EAAK+S,OAEhB,OAAO/S,CACX,CAIA,UAAA+wC,GAKI,OAAuB,OAAhBp/B,KAAKoB,QAA0BpB,KAAK3R,KAAK+wC,YACpD,CAiBA,OAAAmB,GACI,MAAMt+B,EAAO,GAEb,IAAIN,EAAO3B,KACX,KAAO2B,EAAKP,QACRa,EAAKL,QAAQD,EAAKssC,aAClBtsC,EAAOA,EAAKP,OAEhB,OAAOa,CACX,CAUA,YAAAod,CAAapwB,EAAU,CAAC,GACpB,MAAMuxC,EAAY,GAClB,IAAIp/B,EAASnS,EAAQwxC,YAAczgC,KAAOA,KAAKoB,OAC/C,KAAOA,GACHo/B,EAAUvxC,EAAQyxC,YAAc,OAAS,WAAWt/B,GACpDA,EAASA,EAAOA,OAEpB,OAAOo/B,CACX,CAUA,iBAAAG,CAAkBh/B,EAAM1S,EAAU,CAAC,GAC/B,MAAM2xC,EAAa5gC,KAAKqf,aAAapwB,GAC/B4xC,EAAal/B,EAAK0d,aAAapwB,GACrC,IAAI2B,EAAI,EACR,KAAOgwC,EAAWhwC,IAAMiwC,EAAWjwC,IAAMgwC,EAAWhwC,IAChDA,IAEJ,OAAa,IAANA,EAAU,KAAOgwC,EAAWhwC,EAAI,EAC3C,CAOA,QAAAkwC,CAASn/B,GAEL,GAAI3B,MAAQ2B,EACR,OAAO,EAGX,GAAI3B,KAAK3R,OAASsT,EAAKtT,KACnB,OAAO,EAEX,MAAM0yC,EAAW/gC,KAAKugC,UAChBS,EAAWr/B,EAAK4+B,UAChB7vC,EAASwkB,GAAc6rB,EAAUC,GACvC,OAAQtwC,GACJ,IAAK,SACD,OAAO,EACX,IAAK,YACD,OAAO,EACX,QACI,OAAOqwC,EAASrwC,GAAUswC,EAAStwC,GAE/C,CAOA,OAAAuwC,CAAQt/B,GAEJ,OAAI3B,MAAQ2B,IAIR3B,KAAK3R,OAASsT,EAAKtT,OAIf2R,KAAK8gC,SAASn/B,GAC1B,CAOA,YAAAsnC,CAAatwC,GACT,OAAOqH,KAAKyoC,OAAOt8B,IAAIxT,EAC3B,CAOA,YAAAonC,CAAapnC,GACT,OAAOqH,KAAKyoC,OAAO5iC,IAAIlN,EAC3B,CAOA,aAAAqwC,GACI,OAAOhpC,KAAKyoC,OAAOzxB,SACvB,CAIA,gBAAA+xB,GACI,OAAO/oC,KAAKyoC,OAAO74C,MACvB,CAMA,MAAAwxC,GACI,MAAMC,EAAO,CAAC,EASd,OANIrhC,KAAKyoC,OAAOp2B,OACZgvB,EAAK/xC,WAAa0E,MAAM8N,KAAK9B,KAAKyoC,QAAQ5b,QAAO,CAACn8B,EAAQgS,KACtDhS,EAAOgS,EAAK,IAAMA,EAAK,GAChBhS,IACR,CAAC,IAED2wC,CACX,CAOA,MAAAM,CAAO0lC,GACH,OAAO,IAAIrnE,KAAKmK,YAAYnK,KAAKyoC,OACrC,CAOA,OAAAhW,GACIzyB,KAAKoB,OAAO8/B,gBAAgBlhC,KAAK9M,MACrC,CASA,aAAAu3C,CAAc9xC,EAAK3I,GACfgQ,KAAKyoC,OAAOv4B,IAAIvX,EAAK3I,EACzB,CAQA,gBAAAs3E,CAAiB1kE,GACb5C,KAAKyoC,OAAS,GAAM7lC,EACxB,CASA,gBAAAioC,CAAiBlyC,GACb,OAAOqH,KAAKyoC,OAAOr4B,OAAOzX,EAC9B,CAOA,gBAAA4uE,GACIvnE,KAAKyoC,OAAOp4B,OAChB,EAIJ,GAAKlb,UAAUsX,GAAK,SAAUvJ,GAC1B,MAAgB,SAATA,GAA4B,eAATA,CAC9B,EC3Ve,MAAM,WAAkCyK,EAAa,KAqDhE,WAAAxD,IAAe5Z,GACXwb,QAIA/L,KAAK6wC,oBAAqB,EAI1B7wC,KAAKyoC,OAAS,IAAIx4B,IAElBjQ,KAAK4wC,QAAU,GACXrgD,EAAKE,QACLuP,KAAK+kC,SAASx0C,EAEtB,CAgBA,UAAIivC,GACA,GAAIx/B,KAAK4wC,QAAQngD,OAAS,EAAG,CACzB,MAAMu0B,EAAQhlB,KAAK4wC,QAAQ5wC,KAAK4wC,QAAQngD,OAAS,GACjD,OAAOuP,KAAK6wC,mBAAqB7rB,EAAM4I,IAAM5I,EAAM6J,KACvD,CACA,OAAO,IACX,CASA,SAAIqiB,GACA,GAAIlxC,KAAK4wC,QAAQngD,OAAS,EAAG,CACzB,MAAMu0B,EAAQhlB,KAAK4wC,QAAQ5wC,KAAK4wC,QAAQngD,OAAS,GACjD,OAAOuP,KAAK6wC,mBAAqB7rB,EAAM6J,MAAQ7J,EAAM4I,GACzD,CACA,OAAO,IACX,CAKA,eAAIqhB,GAEA,OAAe,IADAjvC,KAAK4wC,QAAQngD,QAEjBuP,KAAK4wC,QAAQ,GAAG3B,WAK/B,CAIA,cAAIkC,GACA,OAAOnxC,KAAK4wC,QAAQngD,MACxB,CAIA,cAAI2gD,GACA,OAAQpxC,KAAKivC,aAAejvC,KAAK6wC,kBACrC,CAQA,OAAAvtB,CAAQquB,GACJ,GAAI3xC,KAAKmxC,YAAcQ,EAAeR,WAClC,OAAO,EAEN,GAAwB,IAApBnxC,KAAKmxC,WACV,OAAO,EAEX,IAAKnxC,KAAKw/B,OAAOlc,QAAQquB,EAAenS,UAAYx/B,KAAKkxC,MAAM5tB,QAAQquB,EAAeT,OAClF,OAAO,EAEX,IAAK,MAAMU,KAAa5xC,KAAK4wC,QAAS,CAClC,IAAIiB,GAAQ,EACZ,IAAK,MAAMtC,KAAcoC,EAAef,QACpC,GAAIgB,EAAUtuB,QAAQisB,GAAa,CAC/BsC,GAAQ,EACR,KACJ,CAEJ,IAAKA,EACD,OAAO,CAEf,CACA,OAAO,CACX,CAIA,UAACR,GACG,IAAK,MAAMrsB,KAAShlB,KAAK4wC,cACf,IAAI,GAAM5rB,EAAM6J,MAAO7J,EAAM4I,IAE3C,CASA,aAAA0jB,GACI,IAAIzf,EAAQ,KACZ,IAAK,MAAM7M,KAAShlB,KAAK4wC,QAChB/e,IAAS7M,EAAM6J,MAAMiS,SAASjP,EAAMhD,SACrCgD,EAAQ7M,GAGhB,OAAO6M,EAAQ,IAAI,GAAMA,EAAMhD,MAAOgD,EAAMjE,KAAO,IACvD,CASA,YAAA2jB,GACI,IAAIzf,EAAO,KACX,IAAK,MAAM9M,KAAShlB,KAAK4wC,QAChB9e,IAAQ9M,EAAM4I,IAAIqT,QAAQnP,EAAKlE,OAChCkE,EAAO9M,GAGf,OAAO8M,EAAO,IAAI,GAAMA,EAAKjD,MAAOiD,EAAKlE,KAAO,IACpD,CAQA,gBAAA6K,GACI,MAAM5G,EAAQ7xB,KAAKsxC,gBACnB,OAAOzf,EAAQA,EAAMhD,MAAM5M,QAAU,IACzC,CAQA,eAAAwvB,GACI,MAAMC,EAAY1xC,KAAKuxC,eACvB,OAAOG,EAAYA,EAAU9jB,IAAI3L,QAAU,IAC/C,CAuDA,KAAA8iB,IAASx0C,GACL,IAAK2hD,EAAYC,EAAeljD,GAAWsB,EAK3C,GAJ4B,iBAAjB4hD,IACPljD,EAAUkjD,EACVA,OAAgBhyC,GAED,OAAf+xC,EACAlyC,KAAKoyC,WAAW,SAEf,GAAIF,aAAsB,GAC3BlyC,KAAKoyC,WAAWF,EAAWb,YAAaa,EAAWd,iBAElD,GAAIc,GAA6C,mBAAxBA,EAAWb,UAGrCrxC,KAAKoyC,WAAWF,EAAWb,YAAaa,EAAWd,iBAElD,GAAIc,aAAsB,GAC3BlyC,KAAKoyC,WAAW,CAACF,KAAejjD,KAAaA,EAAQujD,eAEpD,GAAIN,aAAsB,GAC3BlyC,KAAKoyC,WAAW,CAAC,IAAI,GAAMF,UAE1B,GAAIA,aAAsB,GAAM,CACjC,MAAMM,IAAavjD,KAAaA,EAAQujD,SACxC,IAAIxtB,EACJ,GAAqB,MAAjBmtB,EACAntB,EAAQ,GAAMyrB,UAAUyB,QAEvB,GAAqB,MAAjBC,EACLntB,EAAQ,GAAM0rB,UAAUwB,OAEvB,SAAsB/xC,IAAlBgyC,EASL,MAAM,IAAI,EAAc,kDAAmD,CAACnyC,KAAMkyC,IARlFltB,EAAQ,IAAI,GAAM,GAAS4nB,UAAUsF,EAAYC,GASrD,CACAnyC,KAAKoyC,WAAW,CAACptB,GAAQwtB,EAC7B,KACK,KAAIp9B,GAAW88B,GAiBhB,MAAM,IAAI,EAAc,uCAAwC,CAAClyC,KAAMkyC,IAfvElyC,KAAKoyC,WAAWF,EAAYjjD,KAAaA,EAAQujD,SAgBrD,CACJ,CAWA,UAAAJ,CAAWQ,EAAWC,GAAiB,GACnC,MAAM/C,EAAS97C,MAAM8N,KAAK8wC,GAEpB40B,EAAc13B,EAAOxY,MAAKgkB,IAC5B,KAAMA,aAAoB,IAYtB,MAAM,IAAI,EAAc,uCAAwC,CAACt7C,KAAM4yC,IAE3E,OAAO5yC,KAAK4wC,QAAQ77B,OAAM0yD,IACdA,EAASnkD,QAAQg4B,IAC3B,KAGFxL,EAAOr/C,SAAWuP,KAAK4wC,QAAQngD,QAAW+2E,KAG9CxnE,KAAK0nE,kBAAkB53B,GACvB9vC,KAAK6wC,qBAAuBgC,EAC5B7yC,KAAK+O,KAAK,eAAgB,CAAE44D,cAAc,IAC9C,CAUA,QAAAl1B,CAAS1D,EAAgBh1B,GACrB,GAAoB,OAAhB/Z,KAAKw/B,OAML,MAAM,IAAI,EAAc,qCAAsC,CAACx/B,KAAM+uC,IAEzE,MAAM2D,EAAW,GAAS9F,UAAUmC,EAAgBh1B,GACpD,GAAwC,QAApC24B,EAAS9D,YAAY5uC,KAAKkxC,OAC1B,OAEJ,MAAM1R,EAASx/B,KAAKw/B,OAChBx/B,KAAK4wC,QAAQngD,QACbuP,KAAK4nE,YAE2B,UAAhCl1B,EAAS9D,YAAYpP,IACrBx/B,KAAK8yC,WAAW,IAAI,GAAMJ,EAAUlT,IACpCx/B,KAAK6wC,oBAAqB,IAG1B7wC,KAAK8yC,WAAW,IAAI,GAAMtT,EAAQkT,IAClC1yC,KAAK6wC,oBAAqB,GAE9B7wC,KAAK+O,KAAK,eAAgB,CAAE44D,cAAc,GAC9C,CAOA,YAAA5nC,CAAapnC,GACT,OAAOqH,KAAKyoC,OAAO5iC,IAAIlN,EAC3B,CAOA,aAAAqwC,GACI,OAAOhpC,KAAKyoC,OAAOzxB,SACvB,CAIA,gBAAA+xB,GACI,OAAO/oC,KAAKyoC,OAAO74C,MACvB,CAOA,YAAAq5C,CAAatwC,GACT,OAAOqH,KAAKyoC,OAAOt8B,IAAIxT,EAC3B,CAUA,eAAAggD,CAAgBhgD,GACRqH,KAAKipC,aAAatwC,KAClBqH,KAAKyoC,OAAOr4B,OAAOzX,GACnBqH,KAAK+O,KAAK,mBAAoB,CAAE84D,cAAe,CAAClvE,GAAMgvE,cAAc,IAE5E,CAWA,YAAA/uE,CAAaD,EAAK3I,GACVgQ,KAAK+/B,aAAapnC,KAAS3I,IAC3BgQ,KAAKyoC,OAAOv4B,IAAIvX,EAAK3I,GACrBgQ,KAAK+O,KAAK,mBAAoB,CAAE84D,cAAe,CAAClvE,GAAMgvE,cAAc,IAE5E,CAMA,kBAAA11B,GACI,OAAwB,IAApBjyC,KAAKmxC,WACE,KAEJnxC,KAAKsxC,gBAAgBpB,qBAChC,CAgEA,kBAAC43B,GACG,MAAMC,EAAU,IAAI97D,QACpB,IAAK,MAAM+Y,KAAShlB,KAAKqxC,YAAa,CAElC,MAAM22B,EAAaC,GAAejjD,EAAM6J,MAAOk5C,GAC3CG,GAAqBF,EAAYhjD,WAC3BgjD,GAEV,MAAMG,EAAanjD,EAAM8pB,YACzB,IAAK,MAAM9+C,KAASm4E,EAAY,CAC5B,MAAMC,EAAQp4E,EAAMmB,KACF,cAAdnB,EAAMkT,MAAwBmlE,GAAoBD,EAAOL,EAAS/iD,SAC5DojD,EAGa,gBAAdp4E,EAAMkT,MACXklE,EAAM37D,GAAG,kBACT27D,EAAM/5E,KAAKc,SAASmM,MAAMgtE,OAAOC,QAAQH,IACzCD,EAAW96B,OAAO,GAAST,UAAUw7B,EAAO,OAEpD,CACA,MAAMI,EAAWP,GAAejjD,EAAM4I,IAAKm6C,GACvCU,GAAmBD,EAAUxjD,WACvBwjD,EAEd,CACJ,CASA,qBAAAE,CAAsBx5E,EAAU8Q,KAAKw/B,OAAOnxC,MACxC,MAAMs6E,EAAqB,GAAS/7B,UAAU19C,EAAS,GACjD05E,EAAmB,GAASh8B,UAAU19C,EAAS,OACrD,OAAOy5E,EAAmBvN,WAAWp7D,KAAKy4B,qBACtCmwC,EAAiBxN,WAAWp7D,KAAKyxC,kBACzC,CAKA,UAAAqB,CAAW9tB,GACPhlB,KAAK6oE,YAAY7jD,GACjBhlB,KAAK4wC,QAAQ7hD,KAAK,IAAI,GAAMi2B,EAAM6J,MAAO7J,EAAM4I,KACnD,CAIA,WAAAi7C,CAAY7jD,GACR,IAAK,IAAIp0B,EAAI,EAAGA,EAAIoP,KAAK4wC,QAAQngD,OAAQG,IACrC,GAAIo0B,EAAM+qB,eAAe/vC,KAAK4wC,QAAQhgD,IAQlC,MAAM,IAAI,EAAc,mCAAoC,CAACoP,KAAMglB,GAAQ,CAAEguB,WAAYhuB,EAAOiuB,kBAAmBjzC,KAAK4wC,QAAQhgD,IAG5I,CAKA,iBAAA82E,CAAkB53B,GACd9vC,KAAK8oE,mBACL,IAAK,MAAM9jD,KAAS8qB,EAChB9vC,KAAK8yC,WAAW9tB,EAExB,CAKA,gBAAA8jD,GACI,KAAO9oE,KAAK4wC,QAAQngD,OAAS,GACzBuP,KAAK4nE,WAEb,CAIA,SAAAA,GACI5nE,KAAK4wC,QAAQpvC,KACjB,EAWJ,SAASunE,GAAiB75E,EAAS64E,GAC/B,OAAIA,EAAQ57D,IAAIjd,KAGhB64E,EAAQ37D,IAAIld,GACLA,EAAQb,KAAKc,SAASmM,MAAMgtE,OAAOC,QAAQr5E,MAAcA,EAAQkS,OAC5E,CAIA,SAASinE,GAAoBn5E,EAAS64E,EAAS/iD,GAC3C,OAAO+jD,GAAiB75E,EAAS64E,IAAYiB,GAAkB95E,EAAS81B,EAC5E,CAMA,SAASijD,GAAe7xE,EAAU2xE,GAC9B,MACMO,EADUlyE,EAASgL,OACF/S,KAAKc,SAASmM,MAAMgtE,OACrC9nC,EAAYpqC,EAASgL,OAAOie,aAAa,CAAEqhB,aAAa,EAAMD,aAAa,IACjF,IAAIwoC,GAAiB,EACrB,MAAMb,EAAQ5nC,EAAU7N,MAAMzjC,IAEtB+5E,IAGJA,EAAiBX,EAAOY,QAAQh6E,IACxB+5E,GAAkBF,GAAiB75E,EAAS64E,MAKxD,OADAvnC,EAAU3wC,SAAQX,GAAW64E,EAAQ37D,IAAIld,KAClCk5E,CACX,CAIA,SAASY,GAAkBZ,EAAOpjD,GAC9B,MAAMmkD,EAmEV,SAA2BxnE,GACvB,MAAM2mE,EAAS3mE,EAAKtT,KAAKc,SAASmM,MAAMgtE,OACxC,IAAIlnE,EAASO,EAAKP,OAClB,KAAOA,GAAQ,CACX,GAAIknE,EAAOC,QAAQnnE,GACf,OAAOA,EAEXA,EAASA,EAAOA,MACpB,CACJ,CA5EwBgoE,CAAkBhB,GACtC,IAAKe,EACD,OAAO,EAIX,OADwBnkD,EAAMyqB,cAAc,GAAMiB,UAAUy4B,IAAc,EAE9E,CAiBA,SAASjB,GAAqBF,EAAYhjD,GACtC,QAAKgjD,OAGDhjD,EAAMiqB,cAAe+4B,EAAWnjC,WAGhC7f,EAAM6J,MAAMusC,WAAW,GAASxuB,UAAUo7B,EAAYA,EAAW3N,aAG9D2O,GAAkBhB,EAAYhjD,GACzC,CAiBA,SAASyjD,GAAmBD,EAAUxjD,GAClC,QAAKwjD,OAGDxjD,EAAMiqB,cAAeu5B,EAAS3jC,WAG9B7f,EAAM4I,IAAIwtC,WAAW,GAASxuB,UAAU47B,EAAU,KAG/CQ,GAAkBR,EAAUxjD,GACvC,CA9GA,GAAU7vB,UAAUsX,GAAK,SAAUvJ,GAC/B,MAAgB,cAATA,GAAiC,oBAATA,CACnC,ECjpBe,MAAMmmE,WAAkC17D,EAAa,KAMhE,WAAAxD,CAAY0kB,EAAOjB,GACf7hB,MAAM8iB,EAAOjB,GACb07C,GAAiBj0E,KAAK2K,KAC1B,CAMA,MAAA+e,GACI/e,KAAKkO,eACT,CAIA,OAAAq7D,GACI,OAAO,IAAI,GAAMvpE,KAAK6uB,MAAO7uB,KAAK4tB,IACtC,CAIA,gBAAO47C,CAAUxkD,GACb,OAAO,IAAIqkD,GAAUrkD,EAAM6J,MAAO7J,EAAM4I,IAC5C,EAaJ,SAAS07C,KACLtpE,KAAK+N,SAAS/N,KAAK3R,KAAKc,SAASmM,MAAO,kBAAkB,CAACuS,EAAOtd,KAC9D,MAAMmrE,EAAYnrE,EAAK,GAClBmrE,EAAU+N,qBAGfpzD,GAAUhhB,KAAK2K,KAAM07D,EAAU,GAChC,CAAEzwD,SAAU,OACnB,CAIA,SAASoL,GAAUqlD,GAEf,MAAM5rB,EAAS9vC,KAAKy7D,0BAA0BC,GACxChrE,EAAS,GAAMwtE,kBAAkBpuB,GACjC45B,GAAqBh5E,EAAO4yB,QAAQtjB,MACpC2pE,EA4BV,SAAyC3kD,EAAO02C,GAC5C,OAAQA,EAAUx4D,MACd,IAAK,SACD,OAAO8hB,EAAMwqB,iBAAiBksB,EAAUtlE,UAC5C,IAAK,OACL,IAAK,SACL,IAAK,WACL,IAAK,QACD,OAAO4uB,EAAMwqB,iBAAiBksB,EAAUO,iBACpCj3C,EAAM6J,MAAMvL,QAAQo4C,EAAUO,iBAC9Bj3C,EAAMwqB,iBAAiBksB,EAAUliB,gBACzC,IAAK,QACD,OAAOx0B,EAAMwqB,iBAAiBksB,EAAUU,gBAAkBp3C,EAAMwqB,iBAAiBksB,EAAUlf,mBAEnG,OAAO,CACX,CA3C2BotB,CAAgC5pE,KAAM07D,GAC7D,IAAIc,EAAmB,KACvB,GAAIkN,EAAmB,CAGS,cAAxBh5E,EAAOrC,KAAKqqC,WAGR8jC,EADkB,UAAlBd,EAAUx4D,KACSw4D,EAAUO,eAIVP,EAAUc,kBAGrC,MAAMiL,EAAWznE,KAAKupE,UACtBvpE,KAAK6uB,MAAQn+B,EAAOm+B,MACpB7uB,KAAK4tB,IAAMl9B,EAAOk9B,IAClB5tB,KAAK+O,KAAK,eAAgB04D,EAAU,CAAEjL,oBAC1C,MACSmN,GAEL3pE,KAAK+O,KAAK,iBAAkB/O,KAAKupE,UAAW,CAAE/M,oBAEtD,CAlDA6M,GAAUl0E,UAAUsX,GAAK,SAAUvJ,GAC/B,MAAgB,cAATA,GAAiC,oBAATA,GAEnB,SAARA,GAA4B,gBAATA,CAC3B,EClCe,MAAM,WAAa,GAW9B,WAAAiH,CAAYvY,EAAMgR,GACdmJ,MAAMnJ,GACN5C,KAAKwhC,MAAQ5vC,GAAQ,EACzB,CAIA,cAAImwC,GACA,OAAO/hC,KAAKpO,KAAKnB,MACrB,CAIA,QAAImB,GACA,OAAOoO,KAAKwhC,KAChB,CAMA,MAAAJ,GACI,MAAMC,EAAOt1B,MAAMq1B,SAEnB,OADAC,EAAKzvC,KAAOoO,KAAKpO,KACVyvC,CACX,CAOA,MAAAM,GACI,OAAO,IAAI,GAAK3hC,KAAKpO,KAAMoO,KAAKgpC,gBACpC,CAOA,eAAO6zB,CAASx7B,GACZ,OAAO,IAAI,GAAKA,EAAKzvC,KAAMyvC,EAAK/xC,WACpC,EAIJ,GAAK6F,UAAUsX,GAAK,SAAUvJ,GAC1B,MAAgB,UAATA,GAA6B,gBAATA,GAEd,SAATA,GAA4B,eAATA,GAEV,SAATA,GAA4B,eAATA,CAC3B,ECvEA,MAAM2mE,GAAc,aAyBL,MAAM,WAA0Cl8D,EAAa,KAMxE,WAAAxD,CAAY4L,GACRhK,QACA/L,KAAKkzC,WAAa,IAAI42B,GAAc/zD,GACpC/V,KAAKkzC,WAAWpjC,SAAS,gBAAgB/N,GAAG/B,MAC5CA,KAAKkzC,WAAWpjC,SAAS,oBAAoB/N,GAAG/B,MAChDA,KAAKkzC,WAAWpjC,SAAS,iBAAiB/N,GAAG/B,KACjD,CAKA,eAAIivC,GACA,OAAOjvC,KAAKkzC,WAAWjE,WAC3B,CAWA,UAAIzP,GACA,OAAOx/B,KAAKkzC,WAAW1T,MAC3B,CAQA,SAAI0R,GACA,OAAOlxC,KAAKkzC,WAAWhC,KAC3B,CAIA,cAAIC,GACA,OAAOnxC,KAAKkzC,WAAW/B,UAC3B,CAKA,eAAI44B,GACA,OAAO/pE,KAAKkzC,WAAW62B,WAC3B,CAQA,cAAI34B,GACA,OAAOpxC,KAAKkzC,WAAW9B,UAC3B,CAMA,uBAAI44B,GACA,OAAOhqE,KAAKkzC,WAAW82B,mBAC3B,CAOA,WAAIvF,GACA,OAAOzkE,KAAKkzC,WAAWuxB,OAC3B,CAMA,WAAI7zB,GACA,OAAO5wC,KAAKkzC,WAAWtC,OAC3B,CAIA,SAAAS,GACI,OAAOrxC,KAAKkzC,WAAW7B,WAC3B,CAQA,gBAAA5Y,GACI,OAAOz4B,KAAKkzC,WAAWza,kBAC3B,CAQA,eAAAgZ,GACI,OAAOzxC,KAAKkzC,WAAWzB,iBAC3B,CASA,aAAAH,GACI,OAAOtxC,KAAKkzC,WAAW5B,eAC3B,CASA,YAAAC,GACI,OAAOvxC,KAAKkzC,WAAW3B,cAC3B,CAsDA,iBAAAu2B,GACI,OAAO9nE,KAAKkzC,WAAW40B,mBAC3B,CAMA,kBAAA71B,GACI,OAAOjyC,KAAKkzC,WAAWjB,oBAC3B,CASA,qBAAAy2B,CAAsBx5E,GAClB,OAAO8Q,KAAKkzC,WAAWw1B,sBAAsBx5E,EACjD,CAIA,OAAA+2B,GACIjmB,KAAKkzC,WAAWjtB,SACpB,CAIA,gBAAA8iB,GACI,OAAO/oC,KAAKkzC,WAAWnK,kBAC3B,CAOA,aAAAC,GACI,OAAOhpC,KAAKkzC,WAAWlK,eAC3B,CAOA,YAAAjJ,CAAapnC,GACT,OAAOqH,KAAKkzC,WAAWnT,aAAapnC,EACxC,CAOA,YAAAswC,CAAatwC,GACT,OAAOqH,KAAKkzC,WAAWjK,aAAatwC,EACxC,CAIA,OAAA0/B,GACIr4B,KAAKkzC,WAAW+2B,gBAChBjqE,KAAKkzC,WAAWg3B,mBAAkB,EACtC,CASA,cAAAC,CAAeC,GACXpqE,KAAKkzC,WAAWi3B,eAAeC,EACnC,CAaA,SAAAh3B,CAAUrE,EAAgBh1B,GACtB/Z,KAAKkzC,WAAWT,SAAS1D,EAAgBh1B,EAC7C,CASA,MAAAo5B,IAAU5iD,GACNyP,KAAKkzC,WAAWnO,SAASx0C,EAC7B,CAUA,aAAAk6C,CAAc9xC,EAAK3I,GACfgQ,KAAKkzC,WAAWt6C,aAAaD,EAAK3I,EACtC,CAWA,gBAAA66C,CAAiBlyC,GACbqH,KAAKkzC,WAAWyF,gBAAgBhgD,EACpC,CAMA,oBAAA0xE,GACI,OAAOrqE,KAAKkzC,WAAWo3B,qBAC3B,CAeA,gBAAAC,GACI,OAAOvqE,KAAKkzC,WAAWs3B,iBAC3B,CAYA,eAAAC,CAAgBhgE,GACZzK,KAAKkzC,WAAWw3B,eAAejgE,EACnC,CAQA,4BAAOkgE,CAAsBhyE,GACzB,OAAOkxE,GAAclxE,CACzB,CAMA,2BAAOiyE,CAAqBjyE,GACxB,OAAOA,EAAIg+B,WAAWkzC,GAC1B,EAIJ,GAAkB10E,UAAUsX,GAAK,SAAUvJ,GACvC,MAAgB,cAATA,GACK,mBAARA,GACQ,qBAARA,GACQ,2BAARA,CACR,EAaA,MAAM4mE,WAAsB,GAMxB,WAAA3/D,CAAY4L,GACRhK,QAKA/L,KAAKykE,QAAU,IAAIxzC,GAAW,CAAEM,WAAY,SAQ5CvxB,KAAK6qE,mBAAqB,IAAI56D,IAI9BjQ,KAAK8qE,0BAA4B,KAIjC9qE,KAAK+qE,kBAAmB,EAOxB/qE,KAAKgrE,2BAA6B,IAAI54D,IAItCpS,KAAKirE,iBAAmB,IAAI74D,IAC5BpS,KAAKkrE,OAASn1D,EAAIza,MAClB0E,KAAKmrE,UAAYp1D,EAEjB/V,KAAK+N,SAAS/N,KAAKkrE,OAAQ,kBAAkB,CAACr3D,EAAKtjB,KAC/C,MAAMmrE,EAAYnrE,EAAK,GAClBmrE,EAAU+N,qBAAyC,UAAlB/N,EAAUx4D,MAAsC,UAAlBw4D,EAAUx4D,MAAsC,QAAlBw4D,EAAUx4D,OAIjF,GAAvBlD,KAAK4wC,QAAQngD,QAAeuP,KAAK8qE,2BACjC9qE,KAAKorE,uBAAuBprE,KAAK8qE,2BAGrC9qE,KAAK8qE,0BAA4B,KAC7B9qE,KAAK+qE,mBACL/qE,KAAK+qE,kBAAmB,EACxB/qE,KAAK+O,KAAK,eAAgB,CAAE44D,cAAc,KAC9C,GACD,CAAE18D,SAAU,WAEfjL,KAAK4N,GAAG,gBAAgB,KACpB5N,KAAKqrE,yBAAyBrrE,KAAKqxC,YAAY,IAInDrxC,KAAK+N,SAAS/N,KAAKkrE,OAAOzG,QAAS,UAAU,CAAC5wD,EAAKoyD,EAAQwB,EAAUnsB,KACjEt7C,KAAKsrE,cAAcrF,EAAQ3qB,EAAS,IAGxCt7C,KAAK+N,SAAS/N,KAAKmrE,UAAW,UAAU,CAACt3D,EAAK03D,MAmdtD,SAAwCjwE,EAAOiwE,GAC3C,MAAM/G,EAASlpE,EAAMnM,SAASq1E,OAC9B,IAAK,MAAMtuE,KAASsuE,EAAOQ,aAAc,CACrC,GAAkB,UAAd9uE,EAAMgN,KACN,SAEJ,MAAMsoE,EAAet1E,EAAME,SAASgL,OACZlL,EAAMzF,SAAW+6E,EAAanR,WAElD/+D,EAAMmwE,cAAcF,GAAO/sC,IACvB,MAAMktC,EAAmB13E,MAAM8N,KAAK0pE,EAAaziC,oBAC5CpyC,QAAOgC,GAAOA,EAAIg+B,WAAWkzC,MAClC,IAAK,MAAMlxE,KAAO+yE,EACdltC,EAAOma,gBAAgBhgD,EAAK6yE,EAChC,GAGZ,CACJ,CApeYG,CAA+B3rE,KAAKkrE,OAAQK,EAAM,GAE1D,CACA,eAAIt8B,GAEA,OAAkB,IADHjvC,KAAK4wC,QAAQngD,OACNuP,KAAKmrE,UAAUS,mBAAmB38B,YAAcljC,MAAMkjC,WAChF,CACA,UAAIzP,GACA,OAAOzzB,MAAMyzB,QAAUx/B,KAAKmrE,UAAUS,mBAAmB/8C,KAC7D,CACA,SAAIqiB,GACA,OAAOnlC,MAAMmlC,OAASlxC,KAAKmrE,UAAUS,mBAAmBh+C,GAC5D,CACA,cAAIujB,GACA,OAAOnxC,KAAK4wC,QAAQngD,OAASuP,KAAK4wC,QAAQngD,OAAS,CACvD,CAKA,eAAIs5E,GACA,OAAO/pE,KAAK4wC,QAAQngD,OAAS,CACjC,CAKA,uBAAIu5E,GACA,QAAShqE,KAAKgrE,2BAA2B34D,IAC7C,CAIA,OAAA4T,GACI,IAAK,IAAIr1B,EAAI,EAAGA,EAAIoP,KAAK4wC,QAAQngD,OAAQG,IACrCoP,KAAK4wC,QAAQhgD,GAAGmuB,SAEpB/e,KAAKkO,eACT,CACA,UAACmjC,GACOrxC,KAAK4wC,QAAQngD,aACNsb,MAAMslC,kBAGPrxC,KAAKmrE,UAAUS,kBAE7B,CACA,aAAAt6B,GACI,OAAOvlC,MAAMulC,iBAAmBtxC,KAAKmrE,UAAUS,kBACnD,CACA,YAAAr6B,GACI,OAAOxlC,MAAMwlC,gBAAkBvxC,KAAKmrE,UAAUS,kBAClD,CACA,KAAA7mC,IAASx0C,GACLwb,MAAMg5B,SAASx0C,GACfyP,KAAKkqE,mBAAkB,GACvBlqE,KAAKiqE,eACT,CACA,QAAAx3B,CAAS1D,EAAgBh1B,GACrBhO,MAAM0mC,SAAS1D,EAAgBh1B,GAC/B/Z,KAAKkqE,mBAAkB,GACvBlqE,KAAKiqE,eACT,CACA,YAAArxE,CAAaD,EAAK3I,GACd,GAAIgQ,KAAKyqC,cAAc9xC,EAAK3I,GAAQ,CAEhC,MAAM63E,EAAgB,CAAClvE,GACvBqH,KAAK+O,KAAK,mBAAoB,CAAE84D,gBAAeF,cAAc,GACjE,CACJ,CACA,eAAAhvB,CAAgBhgD,GACZ,GAAIqH,KAAK6qC,iBAAiBlyC,GAAM,CAE5B,MAAMkvE,EAAgB,CAAClvE,GACvBqH,KAAK+O,KAAK,mBAAoB,CAAE84D,gBAAeF,cAAc,GACjE,CACJ,CACA,eAAA6C,GACI,MAAMqB,EAAcphE,IAOpB,OAJAzK,KAAKgrE,2BAA2B5+D,IAAIy/D,GACS,IAAzC7rE,KAAKgrE,2BAA2B34D,MAChCrS,KAAKkqE,mBAAkB,GAEpB2B,CACX,CACA,cAAAnB,CAAejgE,GACX,IAAKzK,KAAKgrE,2BAA2B7+D,IAAI1B,GASrC,MAAM,IAAI,EAAc,2CAA4CzK,KAAM,CAAEyK,QAEhFzK,KAAKgrE,2BAA2B56D,OAAO3F,GAElCzK,KAAKgqE,qBACNhqE,KAAKkqE,mBAAkB,EAE/B,CACA,cAAAC,CAAeC,GACXpqE,KAAKirE,iBAAiB7+D,IAAIg+D,GAC1BpqE,KAAKiqE,eACT,CACA,iBAAAvC,CAAkB53B,GACd9vC,KAAKqrE,yBAAyBv7B,GAC9B/jC,MAAM27D,kBAAkB53B,EAC5B,CACA,SAAA83B,GACI5nE,KAAK4wC,QAAQpvC,MAAMud,QACvB,CACA,UAAA+zB,CAAW9tB,GACP,MAAM8mD,EAAY9rE,KAAK+rE,cAAc/mD,GAEjC8mD,GACA9rE,KAAK4wC,QAAQ7hD,KAAK+8E,EAE1B,CACA,wBAAAT,CAAyBv7B,GACrB,IAAK,MAAM9qB,KAAS8qB,EAChB,IAAK9vC,KAAKmrE,UAAUa,wBAAwBhnD,GAQxC,MAAM,IAAI,EAAc,oCAAqChlB,KAAM,CAAEglB,SAGjF,CAMA,aAAA+mD,CAAc/mD,GAEV,GADAhlB,KAAK6oE,YAAY7jD,GACbA,EAAM32B,MAAQ2R,KAAKmrE,UAAUrO,UAE7B,OAEJ,MAAMgP,EAAYzC,GAAUG,UAAUxkD,GAYtC,OATA8mD,EAAUl+D,GAAG,gBAAgB,CAACiG,EAAK4zD,EAAU71E,KAEzC,GADAoO,KAAK+qE,kBAAmB,EACpBe,EAAUz9E,MAAQ2R,KAAKmrE,UAAUrO,UAAW,CAC5C98D,KAAK8qE,0BAA4Bl5E,EAAK4qE,iBACtC,MAAMtpE,EAAQ8M,KAAK4wC,QAAQvtC,QAAQyoE,GACnC9rE,KAAK4wC,QAAQh3C,OAAO1G,EAAO,GAC3B44E,EAAU/sD,QACd,KAEG+sD,CACX,CACA,aAAA7B,GACI,IAAKjqE,KAAKirE,iBAAiB54D,KACvB,OAEJ,MAAMoyD,EAAU,GAChB,IAAIwH,GAAU,EACd,IAAK,MAAMhG,KAAUjmE,KAAKkrE,OAAOzG,QAAS,CACtC,MAAMyH,EAAcjG,EAAOzjE,KAAKnD,MAAM,IAAK,GAAG,GAC9C,IAAKW,KAAKirE,iBAAiB9+D,IAAI+/D,GAC3B,SAEJ,MAAM3G,EAAcU,EAAOT,WAC3B,IAAK,MAAM2G,KAAkBnsE,KAAKqxC,YAC1Bk0B,EAAY91B,cAAc08B,GAAiBA,EAAel9B,cAC1Dw1B,EAAQ11E,KAAKk3E,EAGzB,CACA,MAAMmG,EAAap4E,MAAM8N,KAAK9B,KAAKykE,SACnC,IAAK,MAAMwB,KAAUxB,EACZzkE,KAAKykE,QAAQt4D,IAAI85D,KAClBjmE,KAAKykE,QAAQr4D,IAAI65D,GACjBgG,GAAU,GAGlB,IAAK,MAAMhG,KAAUjyE,MAAM8N,KAAK9B,KAAKykE,SAC5BA,EAAQj0C,SAASy1C,KAClBjmE,KAAKykE,QAAQ1tE,OAAOkvE,GACpBgG,GAAU,GAGdA,GACAjsE,KAAK+O,KAAK,gBAAiB,CAAEq9D,aAAYzE,cAAc,GAE/D,CACA,aAAA2D,CAAcrF,EAAQV,GAClB,MAAM2G,EAAcjG,EAAOzjE,KAAKnD,MAAM,IAAK,GAAG,GAC9C,IAAKW,KAAKirE,iBAAiB9+D,IAAI+/D,GAC3B,OAEJ,IAAID,GAAU,EACd,MAAMG,EAAap4E,MAAM8N,KAAK9B,KAAKykE,SAC7B4H,EAAYrsE,KAAKykE,QAAQt4D,IAAI85D,GACnC,GAAKV,EAMA,CACD,IAAI+G,GAAY,EAChB,IAAK,MAAMH,KAAkBnsE,KAAKqxC,YAC9B,GAAIk0B,EAAY91B,cAAc08B,GAAiBA,EAAel9B,aAAc,CACxEq9B,GAAY,EACZ,KACJ,CAEAA,IAAcD,GACdrsE,KAAKykE,QAAQr4D,IAAI65D,GACjBgG,GAAU,IAEJK,GAAaD,IACnBrsE,KAAKykE,QAAQ1tE,OAAOkvE,GACpBgG,GAAU,EAElB,MArBQI,IACArsE,KAAKykE,QAAQ1tE,OAAOkvE,GACpBgG,GAAU,GAoBdA,GACAjsE,KAAK+O,KAAK,gBAAiB,CAAEq9D,aAAYzE,cAAc,GAE/D,CAIA,iBAAAuC,CAAkBqC,GACd,MAAMC,EAAgB,GAAMxsE,KAAKysE,6BAC3BC,EAAgB,GAAM1sE,KAAKgpC,iBACjC,GAAIujC,EAEAvsE,KAAK6qE,mBAAqB,IAAI56D,IAC9BjQ,KAAKyoC,OAAS,IAAIx4B,SAIlB,IAAK,MAAOtX,EAAKsS,KAAajL,KAAK6qE,mBACf,OAAZ5/D,IACAjL,KAAKyoC,OAAOr4B,OAAOzX,GACnBqH,KAAK6qE,mBAAmBz6D,OAAOzX,IAI3CqH,KAAKsnE,iBAAiBkF,GAEtB,MAAMP,EAAU,GAGhB,IAAK,MAAOU,EAAQ36D,KAAahS,KAAKgpC,gBAC7B0jC,EAAcvgE,IAAIwgE,IAAWD,EAAc7mE,IAAI8mE,KAAY36D,GAC5Di6D,EAAQl9E,KAAK49E,GAIrB,IAAK,MAAOC,KAAWF,EACd1sE,KAAKipC,aAAa2jC,IACnBX,EAAQl9E,KAAK69E,GAIjBX,EAAQx7E,OAAS,GACjBuP,KAAK+O,KAAK,mBAAoB,CAAE84D,cAAeoE,EAAStE,cAAc,GAE9E,CAKA,aAAAl9B,CAAc9xC,EAAK3I,EAAO23E,GAAe,GACrC,MAAM18D,EAAW08D,EAAe,SAAW,MAC3C,GAAgB,OAAZ18D,GAAyD,UAApCjL,KAAK6qE,mBAAmBhlE,IAAIlN,GAEjD,OAAO,EAIX,OAFiBoT,MAAMg0B,aAAapnC,KAEnB3I,IAGjBgQ,KAAKyoC,OAAOv4B,IAAIvX,EAAK3I,GAErBgQ,KAAK6qE,mBAAmB36D,IAAIvX,EAAKsS,IAC1B,EACX,CAQA,gBAAA4/B,CAAiBlyC,EAAKgvE,GAAe,GACjC,MAAM18D,EAAW08D,EAAe,SAAW,MAC3C,OAAgB,OAAZ18D,GAAyD,UAApCjL,KAAK6qE,mBAAmBhlE,IAAIlN,MAKrDqH,KAAK6qE,mBAAmB36D,IAAIvX,EAAKsS,KAE5Bc,MAAMk9B,aAAatwC,KAGxBqH,KAAKyoC,OAAOr4B,OAAOzX,IACZ,GACX,CAKA,gBAAA2uE,CAAiB1kE,GACb,MAAMqpE,EAAU,IAAI75D,IACpB,IAAK,MAAOw6D,EAAQ76D,KAAa/R,KAAKgpC,gBAE9BpmC,EAAMiD,IAAI+mE,KAAY76D,GAI1B/R,KAAK6qC,iBAAiB+hC,GAAQ,GAElC,IAAK,MAAOj0E,EAAK3I,KAAU4S,EAAO,CAEb5C,KAAKyqC,cAAc9xC,EAAK3I,GAAO,IAE5Ci8E,EAAQ7/D,IAAIzT,EAEpB,CACA,OAAOszE,CACX,CAIA,oBAAC3B,GACG,MAAMjoB,EAAkBriD,KAAKy4B,mBAAmBr3B,OAChD,GAAIpB,KAAKivC,aAAeoT,EAAgBxd,QACpC,IAAK,MAAMlsC,KAAO0pD,EAAgBtZ,mBAC9B,GAAIpwC,EAAIg+B,WAAWkzC,IAAc,CAC7B,MAAMgD,EAAUl0E,EAAI+X,OAAOm5D,SACrB,CAACgD,EAASxqB,EAAgBtiB,aAAapnC,GACjD,CAGZ,CAMA,yBAAA8zE,GACI,MAAMr2E,EAAW4J,KAAKy4B,mBAChB6vC,EAAStoE,KAAKkrE,OAAO5C,OAC3B,GAA8B,cAA1BlyE,EAAS/H,KAAKqqC,SACd,OAAO,KAEX,IAAI91B,EAAQ,KACZ,GAAK5C,KAAKivC,YAiBL,CAED,MAAMb,EAAah4C,EAASyrC,SAAWzrC,EAASyrC,SAAWzrC,EAASg4C,WAC9DD,EAAY/3C,EAASyrC,SAAWzrC,EAASyrC,SAAWzrC,EAAS+3C,UAYnE,GAVKnuC,KAAKgqE,sBAENpnE,EAAQkqE,GAAkB1+B,EAAYk6B,IAGrC1lE,IACDA,EAAQkqE,GAAkB3+B,EAAWm6B,KAIpCtoE,KAAKgqE,sBAAwBpnE,EAAO,CACrC,IAAIjB,EAAOysC,EACX,KAAOzsC,IAASiB,GACZjB,EAAOA,EAAKilB,gBACZhkB,EAAQkqE,GAAkBnrE,EAAM2mE,EAExC,CAEA,IAAK1lE,EAAO,CACR,IAAIjB,EAAOwsC,EACX,KAAOxsC,IAASiB,GACZjB,EAAOA,EAAK2+B,YACZ19B,EAAQkqE,GAAkBnrE,EAAM2mE,EAExC,CAEK1lE,IACDA,EAAQ5C,KAAKsqE,sBAErB,KAnDuB,CAEnB,MAAMtlD,EAAQhlB,KAAKsxC,gBAEnB,IAAK,MAAMthD,KAASg1B,EAAO,CAEvB,GAAIh1B,EAAMmB,KAAKsb,GAAG,YAAc67D,EAAOyE,SAAS/8E,EAAMmB,MAAO,CAEzDyR,EAAQkqE,GAAkB98E,EAAMmB,KAAMm3E,GACtC,KACJ,CACA,GAAkB,QAAdt4E,EAAMkT,KAAgB,CACtBN,EAAQ5S,EAAMmB,KAAK63C,gBACnB,KACJ,CACJ,CACJ,CAoCA,OAAOpmC,CACX,CAKA,sBAAAwoE,CAAuB5O,GAEnB,MAAM2P,EAAiBnsE,KAAKkrE,OAAO5C,OAAO0E,yBAAyBxQ,GAE/D2P,GAEAnsE,KAAK8yC,WAAWq5B,EAGxB,EAQJ,SAASW,GAAkBnrE,EAAM2mE,GAC7B,IAAK3mE,EACD,OAAO,KAEX,GAAIA,aAAgB,IAAaA,aAAgB,GAC7C,OAAOA,EAAKqnC,gBAEhB,IAAKs/B,EAAO2E,SAAStrE,GACjB,OAAO,KAGX,IAAK2mE,EAAOyE,SAASprE,GACjB,MAAO,GAEX,MAAMrS,EAAa,GAEnB,IAAK,MAAOqJ,EAAK3I,KAAU2R,EAAKqnC,gBACxBs/B,EAAO4E,eAAe,QAASv0E,KACuB,IAAtD2vE,EAAO6E,uBAAuBx0E,GAAKy0E,gBACnC99E,EAAWP,KAAK,CAAC4J,EAAK3I,IAG9B,OAAOV,CACX,CC57Be,MAAM+9E,GAOjB,WAAAljE,CAAYmV,GAIRtf,KAAKstE,OAAS,GAQdttE,KAAKutE,cAAgB,GACjBjuD,GACAtf,KAAKs6C,aAAa,EAAGh7B,EAE7B,CAMA,CAACvZ,OAAOsP,YACJ,OAAOrV,KAAKstE,OAAOvnE,OAAOsP,WAC9B,CAIA,UAAI5kB,GACA,OAAOuP,KAAKstE,OAAO78E,MACvB,CAIA,aAAI4pE,GACA,OAAOr6D,KAAKutE,cAAc98E,MAC9B,CAIA,OAAA+8E,CAAQt6E,GACJ,OAAO8M,KAAKstE,OAAOp6E,IAAU,IACjC,CAIA,eAAAu6E,CAAgB1zD,GACZ,OAAO/Z,KAAKutE,cAAcxzD,IAAW,IACzC,CAMA,YAAA2zD,CAAa/rE,GACT,OAAOA,EAAKzO,KAChB,CAMA,kBAAAy6E,CAAmBhsE,GACf,OAAOA,EAAKssC,WAChB,CAOA,aAAA2/B,CAAc16E,GACV,GAAIA,GAAS8M,KAAKstE,OAAO78E,OACrB,OAAOuP,KAAKq6D,UAEhB,MAAM14D,EAAO3B,KAAKstE,OAAOp6E,GACzB,IAAKyO,EAMD,MAAM,IAAI,EAAc,qCAAsC3B,MAElE,OAAOA,KAAK2tE,mBAAmBhsE,EACnC,CAOA,aAAAm5D,CAAc/gD,GACV,GAAIA,GAAU/Z,KAAKutE,cAAc98E,OAC7B,OAAOuP,KAAKstE,OAAO78E,OAEvB,MAAMkR,EAAO3B,KAAKutE,cAAcxzD,GAChC,IAAKpY,EAQD,MAAM,IAAI,EAAc,sCAAuC3B,KAAM,CACjE+Z,SACA8zD,SAAU7tE,OAGlB,OAAOA,KAAK0tE,aAAa/rE,EAC7B,CAQA,YAAA24C,CAAapnD,EAAOosB,GAChB,MAAMwuD,EAAa,GAEnB,IAAK,MAAMnsE,KAAQ2d,EAAO,CACtB,KAAM3d,aAAgB,IAMlB,MAAM,IAAI,EAAc,sCAAuC3B,MAEnE8tE,EAAW/+E,KAAK4S,EACpB,CACA,IAAIoY,EAAS/Z,KAAK4tE,cAAc16E,GAEhC6iC,GAAY/1B,KAAKstE,OAAQQ,EAAY56E,GACrC6iC,GAAY/1B,KAAKutE,cA6EzB,SAA0BjuD,GACtB,MAAMyuD,EAAU,GAChB,IAAI76E,EAAQ,EACZ,IAAK,MAAMyO,KAAQ2d,EACf,IAAK,IAAI1uB,EAAI,EAAGA,EAAI+Q,EAAKogC,WAAYnxC,IACjCm9E,EAAQ76E,KAAWyO,EAG3B,OAAOosE,CACX,CAtFwCC,CAAiBF,GAAa/zD,GAE9D,IAAK,IAAInpB,EAAIsC,EAAOtC,EAAIoP,KAAKstE,OAAO78E,OAAQG,IACxCoP,KAAKstE,OAAO18E,GAAGwJ,OAASxJ,EACxBoP,KAAKstE,OAAO18E,GAAGw2E,aAAertD,EAC9BA,GAAU/Z,KAAKstE,OAAO18E,GAAGmxC,UAEjC,CASA,YAAAksC,CAAaC,EAAYhlE,EAAU,GAC/B,GAAe,GAAXA,EACA,MAAO,GAGX,IAAI6Q,EAAS/Z,KAAK4tE,cAAcM,GAChC,MAAM5uD,EAAQtf,KAAKstE,OAAO1zE,OAAOs0E,EAAYhlE,GACvCilE,EAAW7uD,EAAMA,EAAM7uB,OAAS,GAChC29E,EAAmBD,EAASlgC,YAAckgC,EAASpsC,WAAahoB,EACtE/Z,KAAKutE,cAAc3zE,OAAOmgB,EAAQq0D,GAElC,IAAK,MAAMzsE,KAAQ2d,EACf3d,EAAKvH,OAAS,KACduH,EAAKylE,aAAe,KAExB,IAAK,IAAIx2E,EAAIs9E,EAAYt9E,EAAIoP,KAAKstE,OAAO78E,OAAQG,IAC7CoP,KAAKstE,OAAO18E,GAAGwJ,OAASxJ,EACxBoP,KAAKstE,OAAO18E,GAAGw2E,aAAertD,EAC9BA,GAAU/Z,KAAKstE,OAAO18E,GAAGmxC,WAE7B,OAAOziB,CACX,CASA,iBAAA+uD,CAAkB/uD,GACd,GAAoB,GAAhBA,EAAM7uB,OACN,OAEJ,IAAK,MAAMkR,KAAQ2d,EACf3d,EAAKvH,OAAS,KACduH,EAAKylE,aAAe,KAExBpnE,KAAKstE,OAASttE,KAAKstE,OAAO32E,QAAOgL,GAAuB,OAAfA,EAAKzO,QAC9C8M,KAAKutE,cAAgBvtE,KAAKutE,cAAc52E,QAAOgL,GAAuB,OAAfA,EAAKzO,QAC5D,IAAI6mB,EAAS,EACb,IAAK,IAAInpB,EAAI,EAAGA,EAAIoP,KAAKstE,OAAO78E,OAAQG,IACpCoP,KAAKstE,OAAO18E,GAAGwJ,OAASxJ,EACxBoP,KAAKstE,OAAO18E,GAAGw2E,aAAertD,EAC9BA,GAAU/Z,KAAKstE,OAAO18E,GAAGmxC,UAEjC,CAOA,MAAAX,GACI,OAAOphC,KAAKstE,OAAOhuE,KAAIqC,GAAQA,EAAKy/B,UACxC,ECjNW,MAAM,WAAgB,GAYjC,WAAAj3B,CAAY3H,EAAMI,EAAOa,GACrBsI,MAAMnJ,GAIN5C,KAAK6oC,UAAY,IAAIwkC,GACrBrtE,KAAKwC,KAAOA,EACRiB,GACAzD,KAAK8oC,aAAa,EAAGrlC,EAE7B,CAIA,cAAIu8B,GACA,OAAOhgC,KAAK6oC,UAAUp4C,MAC1B,CAIA,aAAI4pE,GACA,OAAOr6D,KAAK6oC,UAAUwxB,SAC1B,CAIA,WAAIx1B,GACA,OAA2B,IAApB7kC,KAAKggC,UAChB,CAOA,QAAAE,CAAShtC,GACL,OAAO8M,KAAK6oC,UAAU2kC,QAAQt6E,EAClC,CAOA,gBAAA2nE,CAAiB9gD,GACb,OAAO/Z,KAAK6oC,UAAU4kC,gBAAgB1zD,EAC1C,CAIA,WAAAslB,GACI,OAAOr/B,KAAK6oC,UAAU9iC,OAAOsP,WACjC,CAOA,aAAAgrB,CAAc1+B,GACV,OAAO3B,KAAK6oC,UAAU6kC,aAAa/rE,EACvC,CASA,mBAAA2sE,CAAoB3sE,GAChB,OAAO3B,KAAK6oC,UAAU8kC,mBAAmBhsE,EAC7C,CAiBA,aAAAm5D,CAAc/gD,GACV,OAAO/Z,KAAK6oC,UAAUiyB,cAAc/gD,EACxC,CAaA,aAAAw0D,CAAcC,GAEV,IAAI7sE,EAAO3B,KACX,IAAK,MAAM+Z,KAAUy0D,EACjB7sE,EAAOA,EAAKk5D,iBAAiB9gD,GAEjC,OAAOpY,CACX,CAQA,YAAAgoC,CAAasxB,EAAYhsE,EAAU,CAAC,GAChC,IAAImS,EAASnS,EAAQwxC,YAAczgC,KAAOA,KAAKoB,OAC/C,KAAOA,GAAQ,CACX,GAAIA,EAAOoB,OAASy4D,EAChB,OAAO75D,EAEXA,EAASA,EAAOA,MACpB,CACA,OAAO,IACX,CAMA,MAAAggC,GACI,MAAMC,EAAOt1B,MAAMq1B,SAEnB,GADAC,EAAK7+B,KAAOxC,KAAKwC,KACbxC,KAAK6oC,UAAUp4C,OAAS,EAAG,CAC3B4wC,EAAK59B,SAAW,GAChB,IAAK,MAAM9B,KAAQ3B,KAAK6oC,UACpBxH,EAAK59B,SAAS1U,KAAK4S,EAAKy/B,SAEhC,CACA,OAAOC,CACX,CASA,MAAAM,CAAOuI,GAAO,GACV,MAAMzmC,EAAWymC,EA+HzB,SAAoB5qB,GAChB,MAAMmvD,EAAc,GACpB,IAAK,MAAM9sE,KAAQ2d,EACfmvD,EAAY1/E,KAAK4S,EAAKggC,QAAO,IAEjC,OAAO8sC,CACX,CArIgCC,CAAW1uE,KAAK6oC,gBAAa1oC,EACrD,OAAO,IAAI,GAAQH,KAAKwC,KAAMxC,KAAKgpC,gBAAiBvlC,EACxD,CAQA,YAAA6mC,CAAahrB,GACTtf,KAAK8oC,aAAa9oC,KAAKggC,WAAY1gB,EACvC,CAUA,YAAAwpB,CAAa51C,EAAO8+B,GAChB,MAAM1S,EAkFd,SAAmBA,GAEf,GAAoB,iBAATA,EACP,MAAO,CAAC,IAAI,GAAKA,IAEhBlK,GAAWkK,KACZA,EAAQ,CAACA,IAEb,MAAMirB,EAAkB,GACxB,IAAK,MAAM5oC,KAAQ2d,EACI,iBAAR3d,EACP4oC,EAAgBx7C,KAAK,IAAI,GAAK4S,IAEzBA,aAAgB,GACrB4oC,EAAgBx7C,KAAK,IAAI,GAAK4S,EAAK/P,KAAM+P,EAAKqnC,kBAG9CuB,EAAgBx7C,KAAK4S,GAG7B,OAAO4oC,CACX,CAvGsB,CAAUvY,GACxB,IAAK,MAAMrwB,KAAQ2d,EAEK,OAAhB3d,EAAKP,QACLO,EAAK8wB,UAET9wB,EAAKP,OAASpB,KAElBA,KAAK6oC,UAAUyR,aAAapnD,EAAOosB,EACvC,CAWA,eAAA4hB,CAAgBhuC,EAAOgW,EAAU,GAC7B,MAAMoW,EAAQtf,KAAK6oC,UAAUolC,aAAa/6E,EAAOgW,GACjD,IAAK,MAAMvH,KAAQ2d,EACf3d,EAAKP,OAAS,KAElB,OAAOke,CACX,CAYA,oBAAAqvD,CAAqBrvD,GACjBtf,KAAK6oC,UAAUwlC,kBAAkB/uD,GACjC,IAAK,MAAM3d,KAAQ2d,EACf3d,EAAKP,OAAS,IAEtB,CAQA,eAAOy7D,CAASx7B,GACZ,IAAI59B,EACJ,GAAI49B,EAAK59B,SAAU,CACfA,EAAW,GACX,IAAK,MAAM0S,KAASkrB,EAAK59B,SACjB0S,EAAM3T,KAENiB,EAAS1U,KAAK,GAAQ8tE,SAAS1mD,IAI/B1S,EAAS1U,KAAK,GAAK8tE,SAAS1mD,GAGxC,CACA,OAAO,IAAI,GAAQkrB,EAAK7+B,KAAM6+B,EAAK/xC,WAAYmU,EACnD,EAIJ,GAAQtO,UAAUsX,GAAK,SAAUvJ,EAAMV,GACnC,OAAKA,EAKEA,IAASxC,KAAKwC,OAAkB,YAATU,GAA+B,kBAATA,GAJhC,YAATA,GAA+B,kBAATA,GAEhB,SAATA,GAA4B,eAATA,CAG/B,ECpRe,MAAM0rE,GAIjB,WAAAzkE,CAAY0kE,GACR7uE,KAAK8uE,aAAeD,CACxB,CASA,GAAAziE,CAAI2iE,GACA,IAAK,MAAM1K,KAAcrkE,KAAK8uE,aAC1BC,EAAiB1K,GAErB,OAAOrkE,IACX,ECJW,MAAMgvE,WAAwBJ,GAiJzC,gBAAAK,CAAiBlmD,GACb,OAAO/oB,KAAKoM,IAy1CpB,SAAkC2c,GAC9B,MAAMztB,EAAQ4zE,GAA4BnmD,EAAOztB,OAC3Cm5B,EAAO06C,GAAyBpmD,EAAO0L,KAAM,aAG/Cn5B,EAAMhM,WAAWmB,SACjB6K,EAAMmI,UAAW,GAErB,OAAQ4gE,IACJA,EAAWz2D,GAAG,UAAUtS,EAAMkH,OAAQ4sE,GAAc36C,EAAM46C,GAAe/zE,IAAS,CAAE2P,SAAU8d,EAAOumD,mBAAqB,YACtHh0E,EAAMmI,UAAYnI,EAAMhM,WAAWmB,SACnC4zE,EAAWz2D,GAAG,gBAAiB2hE,GAAoBj0E,GAAQ,CAAE2P,SAAU,OAC3E,CAER,CAv2CwBukE,CAAyBzmD,GAC7C,CAgHA,kBAAA0mD,CAAmB1mD,GACf,OAAO/oB,KAAKoM,IA8vCpB,SAAoC2c,GAChC,MAAMztB,EAAQ4zE,GAA4BnmD,EAAOztB,OAC3Cm5B,EAAO06C,GAAyBpmD,EAAO0L,KAAM,aAInD,OADAn5B,EAAMmI,UAAW,EACT4gE,IACJ,GAAIA,EAAWD,eAAekE,OAAOoH,WAAWp0E,EAAMkH,KAAM,SA2CxD,MAAM,IAAI,EAAc,kDAAmD6hE,EAAY,CAAEt4B,YAAazwC,EAAMkH,OA/jBjH,IAAyBmtE,EAAgBC,EAikBxCvL,EAAWz2D,GAAG,UAAUtS,EAAMkH,QAjkBNmtE,EAikB8Bl7C,EAjkBdm7C,EAikBoBP,GAAe/zE,GAhkBxE,CAACuY,EAAKjiB,EAAMuyE,KACf,IAAKyL,EAASh+E,EAAKT,KAAMgzE,EAAcwB,WAAY,CAAEkK,WAAW,IAC5D,OAEJ,MAAMC,EAAW,IAAI7/D,IACrBk0D,EAAc3lC,OAAO6d,qBAg8B7B,SAA2BntD,EAAS4gF,EAAU3L,GAC1C,MAAO,CAAC3lC,EAAQ4d,KACZ,MAAM2zB,EAAOvxC,EAAOuZ,uBAAuB,SAC3C,IAAIt0C,EAAW,KACf,GAAqB,aAAjB24C,EACA34C,EAAWzP,MAAM8N,KAAK5S,EAAQmwC,mBAE7B,IAA2B,mBAAhB+c,EASZ,MAAM,IAAI,EAAc,+BAAgC+nB,EAAcE,WAAY,CAAEjoB,iBARpF34C,EAAWzP,MAAM8N,KAAK5S,EAAQmwC,eAAe1oC,QAAOzH,GAAWktD,EAAaltD,IAShF,CAEA,OADA4gF,EAAS5/D,IAAI6/D,EAAMtsE,GACZssE,CAAI,CAEnB,CAr9BkDC,CAAkBp+E,EAAKT,KAAM2+E,EAAU3L,IAEjF,MAAMzoB,EAAci0B,EAAe/9E,EAAKT,KAAMgzE,EAAevyE,GAE7D,GADAuyE,EAAc3lC,OAAO+d,qBAChBb,EACD,QAo9BZ,SAA+BxsD,EAAS4gF,EAAU3L,GAC9C,MAAM8L,EAAkBj8E,MAAM8N,KAAKguE,EAAS7mE,UAAUinE,OAChDC,EAAwB,IAAI/9D,IAAI69D,GACtC,GAAIE,EAAsB99D,MAAQ49D,EAAgBx/E,OAQ9C,MAAM,IAAI,EAAc,iCAAkC0zE,EAAcE,WAAY,CAAEn1E,YAE1F,GAAIihF,EAAsB99D,MAAQnjB,EAAQ8wC,WAStC,MAAM,IAAI,EAAc,oCAAqCmkC,EAAcE,WAAY,CAAEn1E,WAEjG,CAz+BQkhF,CAAsBx+E,EAAKT,KAAM2+E,EAAU3L,GAE3CyL,EAASh+E,EAAKT,KAAMgzE,EAAcwB,YAClC,MAAMhvB,EAAewtB,EAAcvD,OAAOD,eAAe/uE,EAAKozB,MAAM6J,OACpEs1C,EAAcvD,OAAO3e,aAAarwD,EAAKT,KAAMuqD,GAC7CyoB,EAAc3lC,OAAOjvC,OAAOonD,EAAc+E,GAE1CyoB,EAAc+C,kBAAkBt1E,EAAKT,MAs+B7C,SAAmBuqD,EAAao0B,EAAU3L,EAAel1E,GAErDk1E,EAAcvD,OAAOhzD,GAAG,sBAAuByiE,EAAuB,CAAEplE,SAAU,YAClF,IAAIqlE,EAAc,KACdC,EAAmB,KAEvB,KAAMD,EAAaC,KAAqBT,EACpCU,GAAuB90B,EAAa60B,EAAkBpM,EAAel1E,GACrEk1E,EAAc3lC,OAAOib,KAAK0qB,EAAc3lC,OAAOyd,cAAcq0B,GAAcnM,EAAc3lC,OAAOud,qBAAqBu0B,IACrHnM,EAAc3lC,OAAOznC,OAAOu5E,GAGhC,SAASD,EAAsBx8D,EAAKjiB,GAChC,MAAM1C,EAAU0C,EAAKotE,cAAc7wB,UAE7Bj7C,EAAQq9E,EAAiBltE,QAAQnU,GACnCgE,EAAQ,IAGZtB,EAAK+kD,aAAe/kD,EAAKgvE,OAAO3B,eAAeqR,EAAap9E,GAChE,CATAixE,EAAcvD,OAAOt2D,IAAI,sBAAuB+lE,EAUpD,CAz/BQI,CAAU/0B,EAAao0B,EAAU3L,EAAe,CAAEsC,aAAc70E,EAAK60E,cAAe,GA0iBA,CAAEx7D,SAAU8d,EAAOumD,mBAAqB,WAC5HjL,EAAWz2D,GAAG,gBAAiB2hE,GAAoBj0E,GAAQ,CAAE2P,SAAU,OAAQ,CAEvF,CArzCwBylE,CAA2B3nD,GAC/C,CAuFA,kBAAA4nD,CAAmB5nD,GACf,OAAO/oB,KAAKoM,IA4uCpB,SAAoC2c,GAChCA,EAAS,GAAUA,GACnB,IAAIztB,EAAQytB,EAAOztB,MACC,iBAATA,IACPA,EAAQ,CAAE3C,IAAK2C,IAEnB,IAAI4T,EAAY,aAAa5T,EAAM3C,MAC/B2C,EAAMkH,OACN0M,GAAa,IAAM5T,EAAMkH,MAE7B,GAAIlH,EAAM2N,OACN,IAAK,MAAM2nE,KAAct1E,EAAM2N,OAC3B8f,EAAO0L,KAAKm8C,GAAczB,GAAyBpmD,EAAO0L,KAAKm8C,GAAa,kBAIhF7nD,EAAO0L,KAAO06C,GAAyBpmD,EAAO0L,KAAM,aAExD,MAAMk7C,EAAiBkB,GAAwB9nD,GAC/C,OAAQs7C,IACJA,EAAWz2D,GAAGsB,EAAW+rC,GAAK00B,GAAiB,CAAE1kE,SAAU8d,EAAOumD,mBAAqB,UAAW,CAE1G,CAlwCwBwB,CAA2B/nD,GAC/C,CAkFA,oBAAAgoD,CAAqBhoD,GACjB,OAAO/oB,KAAKoM,IAgsCpB,SAAsC2c,GAClCA,EAAS,GAAUA,GACnB,IAAIztB,EAAQytB,EAAOztB,MACC,iBAATA,IACPA,EAAQ,CAAE3C,IAAK2C,IAEnB,IAAI4T,EAAY,aAAa5T,EAAM3C,MAC/B2C,EAAMkH,OACN0M,GAAa,IAAM5T,EAAMkH,MAE7B,GAAIlH,EAAM2N,OACN,IAAK,MAAM2nE,KAAct1E,EAAM2N,OAC3B8f,EAAO0L,KAAKm8C,GAAcI,GAA2BjoD,EAAO0L,KAAKm8C,SAIrE7nD,EAAO0L,KAAOu8C,GAA2BjoD,EAAO0L,MAEpD,MAAMk7C,EAAiBkB,GAAwB9nD,GAC/C,OAAQs7C,IA/YZ,IAAyB4M,EAgZjB5M,EAAWz2D,GAAGsB,GAhZG+hE,EAgZwBtB,EA/YtC,CAAC97D,EAAKjiB,EAAMuyE,KACf,IAAKA,EAAcwB,WAAWptE,KAAK3G,EAAKT,KAAM0iB,EAAIrR,MAC9C,OAEJ,MAAM0uE,EAAeD,EAAiBr/E,EAAKyzE,kBAAmBlB,EAAevyE,GACvEsrD,EAAe+zB,EAAiBr/E,EAAK0zE,kBAAmBnB,EAAevyE,GAC7E,IAAKs/E,IAAiBh0B,EAClB,OAEJinB,EAAcwB,WAAWnjC,QAAQ5wC,EAAKT,KAAM0iB,EAAIrR,MAChD,MAAMk5C,EAAcyoB,EAAcvD,OAAOd,cAAcluE,EAAKT,MACtDggF,EAAahN,EAAc3lC,OAGjC,IAAKkd,EAyCD,MAAM,IAAI,EAAc,4CAA6CyoB,EAAcE,WAAYzyE,GAGnG,GAA+B,OAA3BA,EAAKyzE,mBAA8B6L,EAAc,CACjD,IAAIlhF,EAAQkhF,EAAalhF,MACD,SAApBkhF,EAAav4E,MAET3I,EAD6B,iBAAtBkhF,EAAalhF,MACZ,IAAIu0C,GAAU4sC,EAAWhiF,SAASy7C,iBACrC7F,MAAMmsC,EAAalhF,OACnBg2C,mBACA1mC,KAAI,EAAE3G,KAASA,IAGZhJ,OAAOC,KAAKshF,EAAalhF,QAGzCmhF,EAAWx4B,gBAAgBu4B,EAAav4E,IAAK3I,EAAO0rD,EACxD,CAEA,GAA+B,OAA3B9pD,EAAK0zE,mBAA8BpoB,EAAc,CACjD,IAAIltD,EAAQktD,EAAaltD,MACD,SAApBktD,EAAavkD,KAA+C,iBAAtBukD,EAAaltD,QACnDA,EAAQL,OAAOq8B,YAAY,IAAIuY,GAAU4sC,EAAWhiF,SAASy7C,iBACxD7F,MAAMmY,EAAaltD,OACnBg2C,qBAETmrC,EAAWv4E,aAAaskD,EAAavkD,IAAK3I,GAAO,EAAO0rD,EAC5D,IA6T0D,CAAEzwC,SAAU8d,EAAOumD,mBAAqB,UAAW,CAErH,CAttCwB8B,CAA6BroD,GACjD,CAoEA,eAAAsoD,CAAgBtoD,GACZ,OAAO/oB,KAAKoM,IA4pCpB,SAAiC2c,GAC7B,MAAM0L,EAAO06C,GAAyBpmD,EAAO0L,KAAM,MACnD,OAAQ4vC,IACJA,EAAWz2D,GAAG,aAAamb,EAAOztB,QAASg2E,GAAgB78C,GAAO,CAAExpB,SAAU8d,EAAOumD,mBAAqB,WAC1GjL,EAAWz2D,GAAG,gBAAgBmb,EAAOztB,SA5kBlC,CAACuY,EAAKjiB,EAAMuyE,KACf,MAAMjwC,EAAWiwC,EAAcvD,OAAOE,qBAAqBlvE,EAAK8tE,YAChE,GAAKxrC,EAAL,CAGA,IAAK,MAAMhlC,KAAWglC,EAClBiwC,EAAcvD,OAAOZ,4BAA4B9wE,EAAS0C,EAAK8tE,YAC/DyE,EAAc3lC,OAAOnuB,MAAM8zD,EAAc3lC,OAAOwd,cAAc9sD,GAAUA,GAE5Ei1E,EAAc3lC,OAAOmd,yBAAyB/pD,EAAK8tE,YACnD7rD,EAAIxJ,MANJ,CAMU,GAkkBuD,CAAEY,SAAU8d,EAAOumD,mBAAqB,UAAW,CAE5H,CAlqCwBiC,CAAwBxoD,GAC5C,CA2DA,iBAAAyoD,CAAkBzoD,GACd,OAAO/oB,KAAKoM,IAyoCpB,SAAmC2c,GAC/B,OAAQs7C,IApWZ,IAAuBoN,EAqWfpN,EAAWz2D,GAAG,aAAamb,EAAOztB,SArWnBm2E,EAqW0C1oD,EAAO0L,KApW7D,CAAC5gB,EAAKjiB,EAAMuyE,KACf,IAAKvyE,EAAKT,KACN,OAEJ,KAAMS,EAAKT,gBAAgB,IAAkBS,EAAKT,gBAAgB,IAA4BS,EAAKT,KAAKsb,GAAG,eACvG,OAEJ,MAAMilE,EAAaC,GAAkBF,EAAqB7/E,EAAMuyE,GAChE,IAAKuN,EACD,OAEJ,IAAKvN,EAAcwB,WAAWnjC,QAAQ5wC,EAAKT,KAAM0iB,EAAIrR,MACjD,OAEJ,MAAM2uE,EAAahN,EAAc3lC,OAC3Bkd,EAAck2B,GAAyCT,EAAYO,GACnEv2B,EAAgBg2B,EAAWhiF,SAASopC,UAC1C,GAAI3mC,EAAKT,gBAAgB,IAAkBS,EAAKT,gBAAgB,GAC5DggF,EAAWl2B,KAAKE,EAAc7J,gBAAiBoK,OAE9C,CACD,MAAMyO,EAAYga,EAAcvD,OAAOH,YAAY7uE,EAAKozB,OAClD6sD,EAAiBV,EAAWl2B,KAAKkP,EAAWzO,GAClD,IAAK,MAAMxsD,KAAW2iF,EAAe1hC,WACjC,GAAIjhD,EAAQud,GAAG,qBAAuBvd,EAAQuyC,UAAUia,GAAc,CAClEyoB,EAAcvD,OAAOb,oBAAoB7wE,EAAS0C,EAAK8tE,YAGvD,KACJ,CAER,IAqUuE,CAAEz0D,SAAU8d,EAAOumD,mBAAqB,WAC/GjL,EAAWz2D,GAAG,aAAamb,EAAOztB,QAlT1C,SAA0Bm2E,GACtB,MAAO,CAAC59D,EAAKjiB,EAAMuyE,KACf,IAAKvyE,EAAKT,KACN,OAEJ,KAAMS,EAAKT,gBAAgB,IACvB,OAEJ,MAAMugF,EAAaC,GAAkBF,EAAqB7/E,EAAMuyE,GAChE,IAAKuN,EACD,OAEJ,IAAKvN,EAAcwB,WAAWptE,KAAK3G,EAAKT,KAAM0iB,EAAIrR,MAC9C,OAEJ,MAAMk5C,EAAcyoB,EAAcvD,OAAOd,cAAcluE,EAAKT,MAC5D,GAAIuqD,GAAeA,EAAY7R,kBAAkB,gBAAiB,CAE9Ds6B,EAAcwB,WAAWnjC,QAAQ5wC,EAAKT,KAAM0iB,EAAIrR,MAEhD,IAAK,MAAMxS,KAAS,GAAWygD,UAAU7+C,EAAKT,MAC1CgzE,EAAcwB,WAAWnjC,QAAQxyC,EAAMmB,KAAM0iB,EAAIrR,MAExBk5C,EAAY7R,kBAAkB,eAC3DioC,CAAqBp2B,EAAag2B,EAAYvN,EAAc3lC,QAC5D2lC,EAAcvD,OAAOb,oBAAoBrkB,EAAa9pD,EAAK8tE,WAC/D,EAER,CAsRmDqS,CAAiBhpD,EAAO0L,MAAO,CAAExpB,SAAU8d,EAAOumD,mBAAqB,WAClHjL,EAAWz2D,GAAG,gBAAgBmb,EAAOztB,QAjQ7C,SAAyBm2E,GACrB,MAAO,CAAC59D,EAAKjiB,EAAMuyE,KAEf,GAAIvyE,EAAK2zE,YAAYt2B,YACjB,OAEJ,MAAMyiC,EAAaC,GAAkBF,EAAqB7/E,EAAMuyE,GAChE,IAAKuN,EACD,OAGJ,MAAMM,EAAuBJ,GAAyCzN,EAAc3lC,OAAQkzC,GAEtFx9C,EAAWiwC,EAAcvD,OAAOE,qBAAqBlvE,EAAK8tE,YAChE,GAAKxrC,EAAL,CAGA,IAAK,MAAMhlC,KAAWglC,EAElB,GADAiwC,EAAcvD,OAAOZ,4BAA4B9wE,EAAS0C,EAAK8tE,YAC3DxwE,EAAQud,GAAG,oBACX03D,EAAc3lC,OAAO6c,OAAO8oB,EAAc3lC,OAAOwd,cAAc9sD,GAAU8iF,OAExE,CAE+B9iF,EAAQ26C,kBAAkB,kBAC1DooC,CAAwB/iF,EAASwiF,EAAW1iF,GAAIm1E,EAAc3lC,OAClE,CAEJ2lC,EAAc3lC,OAAOmd,yBAAyB/pD,EAAK8tE,YACnD7rD,EAAIxJ,MAbJ,CAaU,CAElB,CAkOsD6nE,CAAgBnpD,EAAO0L,MAAO,CAAExpB,SAAU8d,EAAOumD,mBAAqB,UAAW,CAEvI,CA/oCwB6C,CAA0BppD,GAC9C,CAyHA,YAAAqpD,CAAarpD,GACT,OAAO/oB,KAAKoM,IAk/BpB,SAA8B2c,GAC1BA,EAAS,GAAUA,GACnB,MAAMk1B,EAAQl1B,EAAOztB,MACrB,IAAIm5B,EAAO1L,EAAO0L,KAEbA,IACDA,EAAOirC,IAAc,CACjBzhB,QACAz7C,KAAMk9D,EAAWhvD,OAAOqY,EAAOztB,MAAM7K,OAAS,MAGtD,OAAQ4zE,IA1kBZ,IAA0BgO,EA2kBlBhO,EAAWz2D,GAAG,aAAaqwC,KA3kBTo0B,EA2kBmC59C,EA1kBlD,CAAC5gB,EAAKjiB,EAAMuyE,KACf,MAAMmO,EAAiBD,EAAYzgF,EAAK8tE,WAAYyE,GACpD,IAAKmO,EACD,OAEJ,MAAM/M,EAAc3zE,EAAK2zE,YACpBpB,EAAcwB,WAAWnjC,QAAQ+iC,EAAa1xD,EAAIrR,QAIvD+vE,GAAqBhN,GAAa,EAAOpB,EAAevyE,EAAM0gF,GAC9DC,GAAqBhN,GAAa,EAAMpB,EAAevyE,EAAM0gF,GAC7Dz+D,EAAIxJ,OAAM,GA8jBkD,CAAEY,SAAU8d,EAAOumD,mBAAqB,WACpGjL,EAAWz2D,GAAG,gBAAgBqwC,IAhgBtC,SAA0Bo0B,GACtB,MAAO,CAACx+D,EAAKjiB,EAAMuyE,KACf,MAAMqO,EAAWH,EAAYzgF,EAAK8tE,WAAYyE,GAC9C,IAAKqO,EACD,OAEJ,MAAMt+C,EAAWiwC,EAAcvD,OAAOE,qBAAqBlvE,EAAK8tE,YAChE,GAAKxrC,EAAL,CAGA,IAAK,MAAMhlC,KAAWglC,EAClBiwC,EAAcvD,OAAOZ,4BAA4B9wE,EAAS0C,EAAK8tE,YAC3DxwE,EAAQud,GAAG,qBACXgmE,EAA0B,QAAQD,EAASv0B,qBAAsB/uD,GACjEujF,EAA0B,QAAQD,EAASv0B,oBAAqB/uD,GAChEujF,EAA0B,QAAQD,EAASv0B,mBAAoB/uD,GAC/DujF,EAA0B,QAAQD,EAASv0B,kBAAmB/uD,IAG9Di1E,EAAc3lC,OAAOnuB,MAAM8zD,EAAc3lC,OAAOwd,cAAc9sD,GAAUA,GAGhFi1E,EAAc3lC,OAAOmd,yBAAyB/pD,EAAK8tE,YACnD7rD,EAAIxJ,MAdJ,CAeA,SAASooE,EAA0BxoC,EAAe/6C,GAC9C,GAAIA,EAAQ+5C,aAAagB,GAAgB,CACrC,MAAMm2B,EAAc,IAAIhuD,IAAIljB,EAAQ6wC,aAAakK,GAAe5qC,MAAM,MACtE+gE,EAAYhwD,OAAOoiE,EAAShwE,MACJ,GAApB49D,EAAY/tD,KACZ8xD,EAAc3lC,OAAOma,gBAAgB1O,EAAe/6C,GAGpDi1E,EAAc3lC,OAAO5lC,aAAaqxC,EAAej2C,MAAM8N,KAAKs+D,GAAaruE,KAAK,KAAM7C,EAE5F,CACJ,EAER,CA2d+CwjF,CAAiBj+C,GAAO,CAAExpB,SAAU8d,EAAOumD,mBAAqB,UAAW,CAE1H,CAjgCwBqD,CAAqB5pD,GACzC,EAsEG,SAAS6oD,GAAyCpzC,EAAQkzC,GAC7D,MAAMh2B,EAAcld,EAAOoZ,uBAAuB,OAAQ85B,EAAWpiF,YAQrE,OAPIoiF,EAAWxuC,SACXwY,EAAY5Q,UAAU4mC,EAAWxuC,SAEF,iBAAxBwuC,EAAWzmE,WAClBywC,EAAYvG,UAAYu8B,EAAWzmE,UAEvCywC,EAAYtG,IAAMs8B,EAAW1iF,GACtB0sD,CACX,CAqJO,SAAST,GAAK00B,GACjB,MAAO,CAAC97D,EAAKjiB,EAAMuyE,KACf,IAAKA,EAAcwB,WAAWptE,KAAK3G,EAAKT,KAAM0iB,EAAIrR,MAC9C,OAIJ,MAAMowE,EAAiBjD,EAAe/9E,EAAKyzE,kBAAmBlB,EAAevyE,GAEvEihF,EAAiBlD,EAAe/9E,EAAK0zE,kBAAmBnB,EAAevyE,GAC7E,IAAKghF,IAAmBC,EACpB,OAEJ1O,EAAcwB,WAAWnjC,QAAQ5wC,EAAKT,KAAM0iB,EAAIrR,MAChD,MAAM2uE,EAAahN,EAAc3lC,OAC3B2c,EAAgBg2B,EAAWhiF,SAASopC,UAC1C,GAAI3mC,EAAKT,gBAAgB,IAAkBS,EAAKT,gBAAgB,GAE5DggF,EAAWl2B,KAAKE,EAAc7J,gBAAiBuhC,OAE9C,CAED,IAAI1oB,EAAYga,EAAcvD,OAAOH,YAAY7uE,EAAKozB,OAEvB,OAA3BpzB,EAAKyzE,mBAA8BuN,IACnCzoB,EAAYgnB,EAAW91B,OAAO8O,EAAWyoB,IAEd,OAA3BhhF,EAAK0zE,mBAA8BuN,GACnC1B,EAAWl2B,KAAKkP,EAAW0oB,EAEnC,EAER,CA8BO,SAASzD,GAAcO,EAAgBC,EAAWkD,IACrD,MAAO,CAACj/D,EAAKjiB,EAAMuyE,KACf,IAAKyL,EAASh+E,EAAKT,KAAMgzE,EAAcwB,WAAY,CAAEkK,WAAW,IAC5D,OAEJ,MAAMn0B,EAAci0B,EAAe/9E,EAAKT,KAAMgzE,EAAevyE,GAC7D,IAAK8pD,EACD,OAGJk0B,EAASh+E,EAAKT,KAAMgzE,EAAcwB,YAClC,MAAMhvB,EAAewtB,EAAcvD,OAAOD,eAAe/uE,EAAKozB,MAAM6J,OACpEs1C,EAAcvD,OAAO3e,aAAarwD,EAAKT,KAAMuqD,GAC7CyoB,EAAc3lC,OAAOjvC,OAAOonD,EAAc+E,GAE1CyoB,EAAc+C,kBAAkBt1E,EAAKT,MAErCq/E,GAAuB90B,EAAa9pD,EAAKT,KAAKkuC,cAAe8kC,EAAe,CAAEsC,aAAc70E,EAAK60E,cAAe,CAExH,CAuDO,SAAS6K,GAAgB3B,GAC5B,MAAO,CAAC97D,EAAKjiB,EAAMuyE,KAGfvyE,EAAKmhF,WAAY,EACjB,MAAMC,EAAmBrD,EAAe/9E,EAAMuyE,GAC9CvyE,EAAKmhF,WAAY,EACjB,MAAME,EAAiBtD,EAAe/9E,EAAMuyE,GAC5C,IAAK6O,IAAqBC,EACtB,OAEJ,MAAM1N,EAAc3zE,EAAK2zE,YAIzB,GAAIA,EAAYt2B,cAAgBk1B,EAAcwB,WAAWnjC,QAAQ+iC,EAAa1xD,EAAIrR,MAC9E,OAGJ,IAAK,MAAMxS,KAASu1E,EAChB,IAAKpB,EAAcwB,WAAWnjC,QAAQxyC,EAAMmB,KAAM0iB,EAAIrR,MAClD,OAGR,MAAMo+D,EAASuD,EAAcvD,OACvBuQ,EAAahN,EAAc3lC,OAEjC2yC,EAAW5hF,OAAOqxE,EAAOD,eAAe4E,EAAY12C,OAAQmkD,GAC5D7O,EAAcvD,OAAOb,oBAAoBiT,EAAkBphF,EAAK8tE,YAE3D6F,EAAYt2B,cACbkiC,EAAW5hF,OAAOqxE,EAAOD,eAAe4E,EAAY33C,KAAMqlD,GAC1D9O,EAAcvD,OAAOb,oBAAoBkT,EAAgBrhF,EAAK8tE,aAElE7rD,EAAIxJ,MAAM,CAElB,CAoDA,SAASkoE,GAAqBvtD,EAAOkuD,EAAS/O,EAAevyE,EAAM0gF,GAC/D,MAAMtT,EAAgBkU,EAAUluD,EAAM6J,MAAQ7J,EAAM4I,IAC9CulD,EAAenU,EAAc7wB,WAAa6wB,EAAc7wB,UAAU1hC,GAAG,WAAauyD,EAAc7wB,UAAY,KAC5GilC,EAAgBpU,EAAc5wB,YAAc4wB,EAAc5wB,WAAW3hC,GAAG,WAAauyD,EAAc5wB,WAAa,KACtH,GAAI+kC,GAAgBC,EAAe,CAC/B,IAAI7T,EACAz+B,EAEAoyC,GAAWC,IAAiBD,IAAYE,GAGxC7T,EAAe4T,EACfryC,GAAW,IAKXy+B,EAAe6T,EACftyC,GAAW,GAEf,MAAM4a,EAAcyoB,EAAcvD,OAAOd,cAAcP,GAGvD,GAAI7jB,EAEA,YASZ,SAAiCA,EAAaw3B,EAASpyC,EAAUqjC,EAAevyE,EAAM0gF,GAClF,MAAMroC,EAAgB,QAAQqoC,EAAer0B,SAASi1B,EAAU,QAAU,SAASpyC,EAAW,SAAW,UACnGs/B,EAAc1kB,EAAYzS,aAAagB,GAAiByR,EAAY3b,aAAakK,GAAe5qC,MAAM,KAAO,GAEnH+gE,EAAYx+D,QAAQ0wE,EAAe9vE,MACnC2hE,EAAc3lC,OAAO5lC,aAAaqxC,EAAem2B,EAAYruE,KAAK,KAAM2pD,GACxEyoB,EAAcvD,OAAOb,oBAAoBrkB,EAAa9pD,EAAK8tE,WAC/D,CAjBY2T,CAAwB33B,EAAaw3B,EAASpyC,EAAUqjC,EAAevyE,EAAM0gF,EAGrF,EAkBJ,SAA+Bl8E,EAAU88E,EAAS/O,EAAevyE,EAAM0gF,GACnE,MAAMrR,EAAkB,GAAGqR,EAAer0B,SAASi1B,EAAU,QAAU,QACjEtwE,EAAQ0vE,EAAe9vE,KAAO,CAAE,KAAQ8vE,EAAe9vE,MAAS,KAChEk5C,EAAcyoB,EAAc3lC,OAAO6Z,gBAAgB4oB,EAAiBr+D,GAC1EuhE,EAAc3lC,OAAOjvC,OAAO6G,EAAUslD,GACtCyoB,EAAcvD,OAAOb,oBAAoBrkB,EAAa9pD,EAAK8tE,WAC/D,CAtBI4T,CADqBnP,EAAcvD,OAAOD,eAAe3B,GACrBkU,EAAS/O,EAAevyE,EAAM0gF,EACtE,CAsjBA,SAASpD,GAA4B5zE,GAIjC,MAHoB,iBAATA,IACPA,EAAQ,CAAEkH,KAAMlH,IAEb,CACHkH,KAAMlH,EAAMkH,KACZlT,WAAYgM,EAAMhM,WAAa6+B,GAAQ7yB,EAAMhM,YAAc,GAC3DmU,WAAYnI,EAAMmI,SAE1B,CASA,SAAS0rE,GAAyB16C,EAAM8+C,GACpC,MAAmB,mBAAR9+C,EAEAA,EAEJ,CAAE++C,EAAWrP,IAKxB,SAAyCsP,EAAuBtP,EAAeoP,GACvC,iBAAzBE,IAEPA,EAAwB,CAAEjxE,KAAMixE,IAEpC,IAAIvkF,EACJ,MAAMiiF,EAAahN,EAAc3lC,OAC3BlvC,EAAaK,OAAO83B,OAAO,CAAC,EAAGgsD,EAAsBnkF,YAC3D,GAAuB,aAAnBikF,EACArkF,EAAUiiF,EAAWp5B,uBAAuB07B,EAAsBjxE,KAAMlT,QAEvE,GAAuB,aAAnBikF,EAAgC,CACrC,MAAMtkF,EAAU,CACZgc,SAAUwoE,EAAsBxoE,UAAY,GAAqBsqC,kBAErErmD,EAAUiiF,EAAWv5B,uBAAuB67B,EAAsBjxE,KAAMlT,EAAYL,EACxF,MAGIC,EAAUiiF,EAAW94B,gBAAgBo7B,EAAsBjxE,KAAMlT,GAErE,GAAImkF,EAAsBtwC,OAAQ,CAC9B,MAAMvzC,EAAOD,OAAOC,KAAK6jF,EAAsBtwC,QAC/C,IAAK,MAAMxqC,KAAO/I,EACduhF,EAAWt4B,SAASlgD,EAAK86E,EAAsBtwC,OAAOxqC,GAAMzJ,EAEpE,CACA,GAAIukF,EAAsBvwC,QAAS,CAC/B,MAAMA,EAAUuwC,EAAsBvwC,QACtC,GAAsB,iBAAXA,EACPiuC,EAAWnyC,SAASkE,EAASh0C,QAG7B,IAAK,MAAMo6C,KAAapG,EACpBiuC,EAAWnyC,SAASsK,EAAWp6C,EAG3C,CACA,OAAOA,CACX,CA5C0CwkF,CAAgCj/C,EAAM0vC,EAAeoP,EAC/F,CA4CA,SAAS1C,GAAwB9nD,GAC7B,OAAIA,EAAOztB,MAAM2N,OACN,CAAE0qE,EAAqBxP,EAAevyE,KACzC,MAAM6iC,EAAO1L,EAAO0L,KAAKk/C,GACzB,OAAIl/C,EACOA,EAAKk/C,EAAqBxP,EAAevyE,GAE7C,IACV,EAGMm3B,EAAO0L,IAEtB,CAOA,SAASu8C,GAA2Bv8C,GAChC,MAAmB,iBAARA,EACAk/C,IAAuB,CAAGh7E,IAAK87B,EAAMzkC,MAAO2jF,IAE/B,iBAARl/C,EAERA,EAAKzkC,MACE,IAAMykC,EAINk/C,IAAuB,CAAGh7E,IAAK87B,EAAK97B,IAAK3I,MAAO2jF,IAKpDl/C,CAEf,CAIA,SAASk9C,GAAkBF,EAAqB7/E,EAAMuyE,GAElD,MAAMuN,EAA2C,mBAAvBD,EACtBA,EAAoB7/E,EAAMuyE,GAC1BsN,EACJ,OAAKC,GAIAA,EAAWzmE,WACZymE,EAAWzmE,SAAW,IAGrBymE,EAAW1iF,KACZ0iF,EAAW1iF,GAAK4C,EAAK8tE,YAElBgS,GAVI,IAWf,CAoCA,SAASnC,GAAoBj0E,GACzB,MAAMs4E,EA5BV,SAAqCt4E,GACjC,MAAO,CAACqG,EAAM48B,KACV,IAAK58B,EAAK8K,GAAG,UAAWnR,EAAMkH,MAC1B,OAAO,EAEX,GAAmB,aAAf+7B,EAAOr7B,MACP,GAAI5H,EAAMhM,WAAWkhC,SAAS+N,EAAO4pB,cACjC,OAAO,OAKX,GAAI7sD,EAAMmI,SACN,OAAO,EAGf,OAAO,CAAK,CAEpB,CAU0BowE,CAA4Bv4E,GAClD,MAAO,CAACuY,EAAKjiB,KACT,MAAMkiF,EAAiB,GAClBliF,EAAKmiF,sBACNniF,EAAKmiF,oBAAsB,IAAI3hE,KAEnC,IAAK,MAAMmsB,KAAU3sC,EAAKkzE,QAAS,CAG/B,MAAMnjE,EAAsB,aAAf48B,EAAOr7B,KAAsBq7B,EAAOvZ,MAAM6J,MAAMsf,UAAY5P,EAAOnoC,SAASgL,OACzF,GAAKO,GAASiyE,EAAcjyE,EAAM48B,IAKlC,IAAK3sC,EAAKmiF,oBAAoB5nE,IAAIxK,GAAO,CACrC/P,EAAKmiF,oBAAoB3nE,IAAIzK,GAC7B,MAAMvL,EAAW,GAAc43C,cAAcrsC,GAC7C,IAAIqyE,EAAcF,EAAerjF,OAIjC,IAAK,IAAIG,EAAIkjF,EAAerjF,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACjD,MAAM2tC,EAASu1C,EAAeljF,GAExBqjF,GADgC,aAAf11C,EAAOr7B,KAAsBq7B,EAAOvZ,MAAM6J,MAAQ0P,EAAOnoC,UACxCw4C,YAAYx4C,GACpD,GAAwB,UAApB69E,GAA+C,UAAf11C,EAAOr7B,MAAwC,QAApB+wE,EAC3D,MAEJD,EAAcpjF,CAClB,CACAkjF,EAAel6E,OAAOo6E,EAAa,EAAG,CAClC9wE,KAAM,SACNV,KAAMb,EAAKa,KACXpM,WACA3F,OAAQ,GACT,CACCyS,KAAM,WACNV,KAAMb,EAAKa,KACXpM,WACA3F,OAAQ,GAEhB,OA/BIqjF,EAAe/kF,KAAKwvC,EAgC5B,CACA3sC,EAAKkzE,QAAUgP,CAAc,CAErC,CASA,SAASzE,GAAe/zE,GACpB,MAAO,CAACqG,EAAMgkE,EAAY12E,EAAU,CAAC,KACjC,MAAM8gB,EAAS,CAAC,UAEhB,IAAK,MAAMk6B,KAAiB3uC,EAAMhM,WAC1BqS,EAAKsnC,aAAagB,IAClBl6B,EAAOhhB,KAAK,aAAak7C,KAGjC,QAAKl6B,EAAOgF,OAAMlH,GAAS83D,EAAWptE,KAAKoJ,EAAMkM,OAG5C5e,EAAQ4gF,WACT9/D,EAAOlgB,SAAQge,GAAS83D,EAAWnjC,QAAQ7gC,EAAMkM,MAE9C,EAAI,CAEnB,CAqFA,SAAS2iE,GAAuB90B,EAAaw4B,EAAY/P,EAAel1E,GAEpE,IAAK,MAAMklF,KAAkBD,EAEpBE,GAAa14B,EAAYrtD,KAAM8lF,EAAgBhQ,EAAel1E,IAE/Dk1E,EAAc6C,YAAYmN,EAGtC,CAMA,SAASC,GAAavb,EAAUwb,EAAWlQ,EAAel1E,GACtD,MAAM,OAAEuvC,EAAM,OAAEoiC,GAAWuD,EAE3B,IAAKl1E,EAAQw3E,aACT,OAAO,EAEX,MAAM6N,EAAgB1T,EAAOd,cAAcuU,GAE3C,SAAKC,GAAiBA,EAAcjmF,MAAQwqE,OAIvCsL,EAAcgD,aAAamN,KAIhC91C,EAAOib,KAAKjb,EAAOwd,cAAcs4B,GAAgB1T,EAAOD,eAAe,GAAc3yB,cAAcqmC,MAC5F,GACX,CAQA,SAASvB,GAAgB3hF,EAAMw0E,GAAY,UAAEkK,GAAc,CAAC,GACxD,OAAIA,EACOlK,EAAWptE,KAAKpH,EAAM,UAGtBw0E,EAAWnjC,QAAQrxC,EAAM,SAExC,CCtkEO,SAASojF,GAAwB/1C,GACpC,MAAM,OAAE8pC,EAAM,SAAEn5E,GAAaqvC,EAAOljC,MACpC,IAAK,MAAMjN,KAAQc,EAASqlF,WACxB,GAAInmF,EAAKw2C,UAAYyjC,EAAOoH,WAAWrhF,EAAM,UAErCi6E,EAAOoH,WAAWrhF,EAAM,aAKxB,OAJAmwC,EAAO4wC,cAAc,YAAa/gF,IAI3B,EAInB,OAAO,CACX,CASO,SAASomF,GAAgBr+E,EAAUs+E,EAAYpM,GAClD,MAAMx8D,EAAUw8D,EAAOqM,cAAcv+E,GAErC,QAAKkyE,EAAOoH,WAAW5jE,EAAS,gBAI3Bw8D,EAAOoH,WAAW5jE,EAAQ/c,KAAK,aAAc2lF,EAItD,CASO,SAASE,GAAgBx+E,EAAUooC,GACtC,MAAMq2C,EAAYr2C,EAAOpvC,cAAc,aAEvC,OADAovC,EAAOjvC,OAAOslF,EAAWz+E,GAClBooC,EAAOqd,iBAAiBg5B,EAAW,EAC9C,CCxCe,MAAMC,WAAsBlG,GAsDvC,gBAAAK,CAAiBlmD,GACb,OAAO/oB,KAAKoM,IAAI2oE,GAAuBhsD,GAC3C,CAsFA,kBAAAisD,CAAmBjsD,GACf,OAAO/oB,KAAKoM,IA0XpB,SAAkC2c,GAC9BA,EAAS,GAAUA,GACnBksD,GAA8BlsD,GAC9B,MAAMmsD,EAAYC,GAA4BpsD,GAAQ,GAChDgjB,EAAcqpC,GAA6BrsD,EAAO0L,MAClDvlB,EAAY68B,EAAc,WAAWA,IAAgB,UAC3D,OAAQs4B,IACJA,EAAWz2D,GAAGsB,EAAWgmE,EAAW,CAAEjqE,SAAU8d,EAAOumD,mBAAqB,OAAQ,CAE5F,CAnYwB+F,CAAyBtsD,GAC7C,CA6HA,oBAAAgoD,CAAqBhoD,GACjB,OAAO/oB,KAAKoM,IAsRpB,SAAoC2c,GAChCA,EAAS,GAAUA,GACnB,IAAIusD,EAAU,MACY,iBAAfvsD,EAAO0L,MAAoB1L,EAAO0L,KAAK97B,OAC9C28E,EAgMR,SAA8CvsD,GAChB,iBAAfA,EAAO0L,OACd1L,EAAO0L,KAAO,CAAE97B,IAAKowB,EAAO0L,OAEhC,MAAM97B,EAAMowB,EAAO0L,KAAK97B,IAClB3I,OAAoC,IAArB+4B,EAAO0L,KAAKzkC,MAAuB,UAAY+4B,EAAO0L,KAAKzkC,MAChF,IAAIulF,EACJ,GAAW,SAAP58E,GAAyB,SAAPA,EAAgB,CAClC,MAAM68E,EAAiB,SAAP78E,EAAiB,UAAY,SAC7C48E,EAAa,CACT,CAACC,GAAUxlF,EAEnB,MAEIulF,EAAa,CACTjmF,WAAY,CACR,CAACqJ,GAAM3I,IAIf+4B,EAAO0L,KAAKjyB,OACZ+yE,EAAW/yE,KAAOumB,EAAO0L,KAAKjyB,MAGlC,OADAumB,EAAO0L,KAAO8gD,EACP58E,CACX,CAzNkB88E,CAAqC1sD,IAEnDksD,GAA8BlsD,EAAQusD,GACtC,MAAMJ,EAAYC,GAA4BpsD,GAAQ,GACtD,OAAQs7C,IACJA,EAAWz2D,GAAG,UAAWsnE,EAAW,CAAEjqE,SAAU8d,EAAOumD,mBAAqB,OAAQ,CAE5F,CAjSwBoG,CAA2B3sD,GAC/C,CAoDA,eAAA4sD,CAAgB5sD,GACZ,OAAO/oB,KAAKoM,IAwPpB,SAA+B2c,GAC3B,MAAMztB,EAsUV,SAA6CA,GACzC,MAAO,CAACogD,EAAayoB,KACjB,MAAMzE,EAA6B,iBAATpkE,EAAoBA,EAAQA,EAAMogD,EAAayoB,GACzE,OAAOA,EAAc3lC,OAAOpvC,cAAc,UAAW,CAAE,YAAaswE,GAAa,CAEzF,CA3UkBkW,CAAoC7sD,EAAOztB,OACzD,OAAOy5E,GAAuB,IAAKhsD,EAAQztB,SAC/C,CA3PwBu6E,CAAsB9sD,GAC1C,CAwEA,YAAA+sD,CAAa/sD,GACT,OAAO/oB,KAAKoM,IAyLpB,SAA4B2c,GACxBA,EAAS,GAAUA,GAEdA,EAAOztB,QACRytB,EAAOztB,MAAQkH,GACJA,EAAOumB,EAAO0L,KAAO,IAAMjyB,EAAOumB,EAAO0L,MAGxD,MAAMshD,EAAmB,CACrBthD,KAAM1L,EAAO0L,KACbn5B,MAAOytB,EAAOztB,OAEZ06E,EAAiBC,GAA0BC,GAA4BH,EAAkB,UACzFI,EAAeF,GAA0BC,GAA4BH,EAAkB,QAC7F,OAAQ1R,IACJA,EAAWz2D,GAAG,WAAWmb,EAAO0L,aAAcuhD,EAAgB,CAAE/qE,SAAU8d,EAAOumD,mBAAqB,WACtGjL,EAAWz2D,GAAG,WAAWmb,EAAO0L,WAAY0hD,EAAc,CAAElrE,SAAU8d,EAAOumD,mBAAqB,WAalG,MAAM8G,EAAe,EAAW/qE,IAC1BgrE,EAAc,EAAWlrE,QACzBmrE,EAAiB,EAAWzwE,IAAIkjB,EAAOumD,mBAAqB+G,EAClEhS,EAAWz2D,GAAG,UAYtB,SAAiCmb,GAC7B,MAAO,CAAClV,EAAKjiB,EAAMuyE,KACf,MAAMoS,EAAW,QAAQxtD,EAAO0L,OA4BhC,SAAS+hD,EAAkBpgF,EAAUqgF,GACjC,IAAK,MAAMC,KAAkBD,EAAiB,CAC1C,MAAM/W,EAAa32C,EAAOztB,MAAMo7E,EAAgBvS,GAC1Cj1E,EAAUi1E,EAAc3lC,OAAOpvC,cAAc,UAAW,CAAE,YAAaswE,IAC7EyE,EAAc3lC,OAAOjvC,OAAOL,EAASkH,GACjCxE,EAAK+kF,YAAYrzD,QAAQltB,GACzBxE,EAAK+kF,YAAc/kF,EAAK+kF,YAAYpoC,aAAa,GAGjD38C,EAAK+kF,YAAc/kF,EAAK+kF,YAAY5a,2BAA2B3lE,EAAU,GAE7ExE,EAAK8uE,WAAa9uE,EAAK8uE,WAAW3E,2BAA2B3lE,EAAU,GAAG,EAC9E,CACJ,EAtCK+tE,EAAcwB,WAAWptE,KAAK3G,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,gBACtEpS,EAAcwB,WAAWptE,KAAK3G,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,kBACtEpS,EAAcwB,WAAWptE,KAAK3G,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,iBACtEpS,EAAcwB,WAAWptE,KAAK3G,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,qBAOtE3kF,EAAK8uE,YACN/wE,OAAO83B,OAAO71B,EAAMuyE,EAAc8C,gBAAgBr1E,EAAKglF,SAAUhlF,EAAK+kF,cAEtExS,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,gBACzEC,EAAkB5kF,EAAK8uE,WAAW9yC,IAAKh8B,EAAKglF,SAAS72C,aAAaw2C,EAAW,cAAcl3E,MAAM,MAEjG8kE,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,kBACzEC,EAAkB5kF,EAAK8uE,WAAW9yC,IAAKh8B,EAAKglF,SAAS72C,aAAaw2C,EAAW,gBAAgBl3E,MAAM,MAEnG8kE,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,iBACzEC,EAAkB5kF,EAAK8uE,WAAW7xC,MAAOj9B,EAAKglF,SAAS72C,aAAaw2C,EAAW,eAAel3E,MAAM,MAEpG8kE,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAU,CAAEtnF,WAAYinF,EAAW,mBACzEC,EAAkB5kF,EAAK8uE,WAAW7xC,MAAOj9B,EAAKglF,SAAS72C,aAAaw2C,EAAW,iBAAiBl3E,MAAM,MAe1G,CAER,CAzDiCw3E,CAAwBd,GAAmB,CAAE9qE,SAAUmrE,EAAeE,GAAiB,CAExH,CA3NwBQ,CAAmB/tD,GACvC,EAoGJ,SAASgsD,GAAuBhsD,GAE5B,MAAMmsD,EAAYe,GADlBltD,EAAS,GAAUA,IAEbgjB,EAAcqpC,GAA6BrsD,EAAO0L,MAClDvlB,EAAY68B,EAAc,WAAWA,IAAgB,UAC3D,OAAQs4B,IACJA,EAAWz2D,GAAGsB,EAAWgmE,EAAW,CAAEjqE,SAAU8d,EAAOumD,mBAAqB,UAAW,CAE/F,CA6KA,SAAS8F,GAA6B2B,GAClC,MAAyB,iBAAdA,EACAA,EAEc,iBAAdA,GAAoD,iBAAnBA,EAAWv0E,KAC5Cu0E,EAAWv0E,KAEf,IACX,CAOA,SAASyzE,GAA0BltD,GAC/B,MAAM6gB,EAAU,IAAI,GAAQ7gB,EAAO0L,MACnC,MAAO,CAAC5gB,EAAKjiB,EAAMuyE,KACf,MAAM6S,EAAgBptC,EAAQzqC,MAAMvN,EAAKglF,UACzC,IAAKI,EACD,OAEJ,MAAM73E,EAAQ63E,EAAc73E,MAG5B,GADAA,EAAMqD,MAAO,GACR2hE,EAAcwB,WAAWptE,KAAK3G,EAAKglF,SAAUz3E,GAC9C,OAEJ,MAAMogE,EAoBd,SAAyBjkE,EAAO1I,EAAOuxE,GACnC,OAAI7oE,aAAiBka,SACVla,EAAM1I,EAAOuxE,GAGbA,EAAc3lC,OAAOpvC,cAAckM,EAElD,CA3B6B27E,CAAgBluD,EAAOztB,MAAO1J,EAAKglF,SAAUzS,GAC7D5E,GAGA4E,EAAc+S,WAAW3X,EAAc3tE,EAAK+kF,eAGjDxS,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAUz3E,GAChDglE,EAAc8C,gBAAgBr1E,EAAKglF,SAAUrX,GAC7C4E,EAAcgT,uBAAuB5X,EAAc3tE,GAAK,CAEhE,CA4DA,SAASqjF,GAA8BlsD,EAAQquD,EAAyB,MACpE,MAAMC,EAA+C,OAA3BD,GACtB,CAAC17B,GAAgBA,EAAY3b,aAAaq3C,IACxCz+E,EAA6B,iBAAhBowB,EAAOztB,MAAoBytB,EAAOztB,MAAQytB,EAAOztB,MAAM3C,IACpE3I,EAA+B,iBAAhB+4B,EAAOztB,YAAkD,IAAtBytB,EAAOztB,MAAMtL,MAAuBqnF,EAAoBtuD,EAAOztB,MAAMtL,MAC7H+4B,EAAOztB,MAAQ,CAAE3C,MAAK3I,QAC1B,CASA,SAASmlF,GAA4BpsD,EAAQ+jB,GACzC,MAAMlD,EAAU,IAAI,GAAQ7gB,EAAO0L,MACnC,MAAO,CAAC5gB,EAAKjiB,EAAMuyE,KAIf,IAAKvyE,EAAK8uE,YAAc5zB,EACpB,OAEJ,MAAM3tC,EAAQyqC,EAAQzqC,MAAMvN,EAAKglF,UAEjC,IAAKz3E,EACD,OAWJ,IAsCR,SAA+B43E,EAAYH,GAEvC,MAAMU,EAAoC,mBAAdP,EAA2BA,EAAWH,GAAYG,EAC9E,GAA2B,iBAAhBO,IAA6BlC,GAA6BkC,GACjE,OAAO,EAEX,OAAQA,EAAap0C,UAAYo0C,EAAahoF,aAAegoF,EAAan0C,MAC9E,CAtDYo0C,CAAsBxuD,EAAO0L,KAAM7iC,EAAKglF,iBAMjCz3E,EAAMA,MAAMqD,KALnBrD,EAAMA,MAAMqD,MAAO,GAQlB2hE,EAAcwB,WAAWptE,KAAK3G,EAAKglF,SAAUz3E,EAAMA,OACpD,OAEJ,MAAMq4E,EAAWzuD,EAAOztB,MAAM3C,IACxBi4E,EAA0C,mBAAtB7nD,EAAOztB,MAAMtL,MACnC+4B,EAAOztB,MAAMtL,MAAM4B,EAAKglF,SAAUzS,GAAiBp7C,EAAOztB,MAAMtL,MAEpE,GAAmB,OAAf4gF,EACA,OAICh/E,EAAK8uE,YAEN/wE,OAAO83B,OAAO71B,EAAMuyE,EAAc8C,gBAAgBr1E,EAAKglF,SAAUhlF,EAAK+kF,cAG1E,MAAMc,EA0Cd,SAAwB/W,EAAYgX,EAAgB5qC,EAASq3B,GACzD,IAAIzzE,GAAS,EAEb,IAAK,MAAMiR,KAAQ3N,MAAM8N,KAAK4+D,EAAWvwB,SAAS,CAAErD,aAE3Cq3B,EAAcmE,OAAO4E,eAAevrE,EAAM+1E,EAAe/+E,OAK9DjI,GAAS,EAELiR,EAAKsnC,aAAayuC,EAAe/+E,MAGrCwrE,EAAc3lC,OAAO5lC,aAAa8+E,EAAe/+E,IAAK++E,EAAe1nF,MAAO2R,IAEhF,OAAOjR,CACX,CA5DgCinF,CAAe/lF,EAAK8uE,WAAY,CAAE/nE,IAAK6+E,EAAUxnF,MAAO4gF,GAAc9jC,EAASq3B,GAGnGsT,IAMItT,EAAcwB,WAAWptE,KAAK3G,EAAKglF,SAAU,CAAEp0E,MAAM,MACrDrD,EAAMA,MAAMqD,MAAO,GAEvB2hE,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAUz3E,EAAMA,OAC1D,CAER,CA4DA,SAAS+2E,GAA4BntD,EAAQ7lB,GAMzC,MAAO,CAEHuxB,KAAM,GAAG1L,EAAO0L,QAAQvxB,IACxB5H,MAR2B,CAACogD,EAAayoB,KACzC,MAAM9V,EAAW3S,EAAY3b,aAAa,QACpC2/B,EAAa32C,EAAOztB,MAAM+yD,EAAU8V,GAC1C,OAAOA,EAAc3lC,OAAOpvC,cAAc,UAAW,CAAE,YAAaswE,GAAa,EAOzF,CCl3BO,SAASkY,GAAyBt8E,GACrCA,EAAMnM,SAASuvC,mBAAkBF,GAKrC,SAA4BA,EAAQljC,GAChC,MAAMi9B,EAAYj9B,EAAMnM,SAASopC,UAC3B+vC,EAAShtE,EAAMgtE,OACfx4B,EAAS,GACf,IAAImF,GAAW,EACf,IAAK,MAAMyrB,KAAcnoC,EAAU8Y,YAAa,CAG5C,MAAMwmC,EAAiBC,GAAepX,EAAY4H,GAQ9CuP,IAAmBA,EAAev0D,QAAQo9C,IAC1C5wB,EAAO/gD,KAAK8oF,GACZ5iC,GAAW,GAGXnF,EAAO/gD,KAAK2xE,EAEpB,CAEIzrB,GACAzW,EAAOgZ,aAwIR,SAAiC1H,GACpC,MAAMioC,EAAgB,IAAIjoC,GACpBkoC,EAAuB,IAAI5lE,IACjC,IAAI6lE,EAAoB,EACxB,KAAOA,EAAoBF,EAActnF,QAAQ,CAC7C,MAAMynF,EAAeH,EAAcE,GAC7BE,EAAiBJ,EAAcv/E,MAAM,EAAGy/E,GAC9C,IAAK,MAAOG,EAAoBC,KAAkBF,EAAenhE,UAC7D,IAAIghE,EAAqB7rE,IAAIisE,GAG7B,GAAIF,EAAa50D,QAAQ+0D,GACrBL,EAAqB5rE,IAAIgsE,QAExB,GAAIF,EAAanoC,eAAesoC,GAAgB,CACjDL,EAAqB5rE,IAAIgsE,GACzBJ,EAAqB5rE,IAAI6rE,GACzB,MAAMK,EAAcJ,EAAahb,UAAUmb,GAC3CN,EAAchpF,KAAKupF,EACvB,CAEJL,GACJ,CAEA,OAD8BF,EAAcphF,QAAO,CAAC6T,EAAGtX,KAAW8kF,EAAqB7rE,IAAIjZ,IAE/F,CAjK4BqlF,CAAwBzoC,GAAS,CAAE0C,SAAUja,EAAU6Y,aAE/E,OAAO,CACX,CAlC+ConC,CAAmBh6C,EAAQljC,IAC1E,CAyCO,SAASw8E,GAAe9yD,EAAOsjD,GAClC,OAAItjD,EAAMiqB,YAad,SAAiCjqB,EAAOsjD,GACpC,MAAMmQ,EAAmBzzD,EAAM6J,MACzB6pD,EAAwBpQ,EAAO0E,yBAAyByL,GAK9D,IAAKC,EAAuB,CACxB,MAAMC,EAAiBF,EAAiBp5D,eAAehW,UAAUspB,MAAMxhC,GAASm3E,EAAOyE,SAAS57E,KAChG,OAAIwnF,EACO,GAAMjoC,UAAUioC,GAEpB,IACX,CACA,IAAKD,EAAsBzpC,YACvB,OAAOypC,EAEX,MAAME,EAAgBF,EAAsB7pD,MAE5C,GAAI4pD,EAAiBn1D,QAAQs1D,GACzB,OAAO,KAEX,OAAO,IAAI,GAAMA,EACrB,CAnCeC,CAAwB7zD,EAAOsjD,GA0C9C,SAAmCtjD,EAAOsjD,GACtC,MAAM,MAAEz5C,EAAK,IAAEjB,GAAQ5I,EACjB8zD,EAAuBxQ,EAAOoH,WAAW7gD,EAAO,SAChDkqD,EAAqBzQ,EAAOoH,WAAW9hD,EAAK,SAC5CorD,EAAoB1Q,EAAO2Q,gBAAgBpqD,GAC3CqqD,EAAkB5Q,EAAO2Q,gBAAgBrrD,GAE/C,GAAIorD,IAAsBE,EAAiB,CAIvC,GAAIJ,GAAwBC,EACxB,OAAO,KAOX,GAkDR,SAA0ClqD,EAAOjB,EAAK06C,GAClD,MAAM6Q,EAAkBtqD,EAAMsf,YAAcm6B,EAAOY,QAAQr6C,EAAMsf,YAAem6B,EAAOoH,WAAW7gD,EAAO,SACnGuqD,EAAgBxrD,EAAIwgB,aAAek6B,EAAOY,QAAQt7C,EAAIwgB,aAAgBk6B,EAAOoH,WAAW9hD,EAAK,SAEnG,OAAOurD,GAAkBC,CAC7B,CAvDYC,CAAiCxqD,EAAOjB,EAAK06C,GAAS,CACtD,MACMgR,EAD0BzqD,EAAMsf,WAAam6B,EAAOiR,aAAa1qD,EAAMsf,WAChC,KAAOm6B,EAAO0E,yBAAyBn+C,EAAO,WAErF2qD,EADuB5rD,EAAIwgB,YAAck6B,EAAOiR,aAAa3rD,EAAIwgB,YAC/B,KAAOk6B,EAAO0E,yBAAyBp/C,EAAK,YAE9E+vB,EAAa27B,EAAaA,EAAWzqD,MAAQA,EAC7C+uB,EAAW47B,EAAWA,EAAS5rD,IAAMA,EAC3C,OAAO,IAAI,GAAM+vB,EAAYC,EACjC,CACJ,CACA,MAAM67B,EAAiBT,IAAsBA,EAAkBvsE,GAAG,eAC5DitE,EAAeR,IAAoBA,EAAgBzsE,GAAG,eAG5D,GAAIgtE,GAAkBC,EAAc,CAChC,MAAMC,EAAoB9qD,EAAMsf,WAAavgB,EAAIwgB,YAAevf,EAAMsf,UAAU/sC,SAAWwsB,EAAIwgB,WAAWhtC,OACpGw4E,EAAcH,KAAoBE,IAAqBJ,GAAa1qD,EAAMsf,UAAWm6B,IACrFuR,EAAYH,KAAkBC,IAAqBJ,GAAa3rD,EAAIwgB,WAAYk6B,IAGtF,IAAIgR,EAAazqD,EACb2qD,EAAW5rD,EAOf,OANIgsD,IACAN,EAAa,GAAStrC,cAAc8rC,GAA2Bd,EAAmB1Q,KAElFuR,IACAL,EAAW,GAAS9rC,aAAaosC,GAA2BZ,EAAiB5Q,KAE1E,IAAI,GAAMgR,EAAYE,EACjC,CAEA,OAAO,IACX,CA5FWO,CAA0B/0D,EAAOsjD,EAC5C,CA+FA,SAASwR,GAA2BE,EAAc1R,GAC9C,IAAI2R,EAAcD,EACd54E,EAAS64E,EAEb,KAAO3R,EAAOY,QAAQ9nE,IAAWA,EAAOA,QACpC64E,EAAc74E,EACdA,EAASA,EAAOA,OAEpB,OAAO64E,CACX,CA6CA,SAASV,GAAa53E,EAAM2mE,GACxB,OAAO3mE,GAAQ2mE,EAAOiR,aAAa53E,EACvC,CC9Oe,MAAMu4E,WAA0CxoE,KAO3D,WAAAvH,CAAY7O,EAAOsvC,GACf7+B,QACA/L,KAAK1E,MAAQA,EACb0E,KAAKy0B,KAAO,IAAIsjC,GAAKntB,GACrB5qC,KAAK4gE,OAAS,IAAIvC,GAClBr+D,KAAKm6E,mBAAqB,IAAIjW,GAAmB,CAC7CtD,OAAQ5gE,KAAK4gE,OACb0H,OAAQhtE,EAAMgtE,SAElB,MAAMvyD,EAAM/V,KAAK1E,MAAMnM,SACjBopC,EAAYxiB,EAAIwiB,UAChBksC,EAAUzkE,KAAK1E,MAAMmpE,QAsInC,IAAyB7D,EAAQ0H,EAAQ7zC,EAhIjCz0B,KAAK+N,SAAS/N,KAAK1E,MAAO,kBAAkB,KACxC0E,KAAKy0B,KAAKulC,mBAAkB,EAAK,GAClC,CAAE/uD,SAAU,YACfjL,KAAK+N,SAAS/N,KAAK1E,MAAO,iBAAiB,KACvC0E,KAAKy0B,KAAKulC,mBAAkB,EAAM,GACnC,CAAE/uD,SAAU,WAIfjL,KAAK+N,SAASgI,EAAK,UAAU,KACzB/V,KAAKy0B,KAAK8J,QAAOC,IACbx+B,KAAKm6E,mBAAmB5V,eAAexuD,EAAIyuD,OAAQC,EAASjmC,GAC5Dx+B,KAAKm6E,mBAAmBvU,iBAAiBrtC,EAAWksC,EAASjmC,EAAO,GACtE,GACH,CAAEvzB,SAAU,QAEfjL,KAAK+N,SAAS/N,KAAKy0B,KAAKtlC,SAAU,kBFgbnC,SAAgCmM,EAAOslE,GAC1C,MAAO,CAAC/sD,EAAKjiB,KACT,MAAMupD,EAAgBvpD,EAAK2/D,aACrBzhB,EAAS,GACf,IAAK,MAAMqa,KAAahP,EAAc9J,YAClCvB,EAAO/gD,KAAK6xE,EAAOL,aAAapW,IAEpC,MAAMiwB,EAAiB9+E,EAAM4gD,gBAAgBpM,EAAQ,CAAE0C,SAAU2I,EAAc/J,aAC1EgpC,EAAe92D,QAAQhoB,EAAMnM,SAASopC,YACvCj9B,EAAMijC,QAAOC,IACTA,EAAOgZ,aAAa4iC,EAAe,GAE3C,CAER,CE9b6DC,CAAuBr6E,KAAK1E,MAAO0E,KAAK4gE,SAE7F5gE,KAAK+N,SAAS/N,KAAKy0B,KAAKtlC,SAAU,eA8GjByxE,EA9GgD5gE,KAAK4gE,OA8G7C0H,EA9GqDtoE,KAAK1E,MAAMgtE,OA8GxD7zC,EA9GgEz0B,KAAKy0B,KA+GnG,CAAC5gB,EAAKjiB,KAGT,IAAI6iC,EAAKtlC,SAASswC,aAAgB,EAAI34B,UAGtC,IAAK,IAAIlW,EAAI,EAAGA,EAAIgB,EAAK6lE,aAAahnE,OAAQG,IAAK,CAC/C,MAAMu5D,EAAYv4D,EAAK6lE,aAAa7mE,GAC9B8vE,EAAaE,EAAOL,aAAapW,GACjC0tB,EAAiBC,GAAepX,EAAY4H,GAC7CuP,IAAkBA,EAAev0D,QAAQo9C,KAG9C9uE,EAAK6lE,aAAa7mE,GAAKgwE,EAAOH,YAAYoX,GAC9C,IA7H6G,CAAE5sE,SAAU,SAEzHjL,KAAKm6E,mBAAmBvsE,GAAG,gBJwpBxB,CAACiG,EAAKjiB,EAAMuyE,KACf,IAAKA,EAAcwB,WAAWnjC,QAAQ5wC,EAAKT,KAAM0iB,EAAIrR,MACjD,OAEJ,MAAM2uE,EAAahN,EAAc3lC,OAC3BmY,EAAewtB,EAAcvD,OAAOD,eAAe/uE,EAAKozB,MAAM6J,OAC9D2zB,EAAW2uB,EAAWx5B,WAAW/lD,EAAKT,KAAKS,MACjDu/E,EAAW5hF,OAAOonD,EAAc6L,EAAS,GI/pBgB,CAAEv3C,SAAU,WACrEjL,KAAKm6E,mBAAmBvsE,GAAG,UJuqBxB,CAACiG,EAAKjiB,EAAMuyE,KACfA,EAAc+C,kBAAkBt1E,EAAKT,MAGhCS,EAAK60E,eAAgB70E,EAAKT,KAAKsb,GAAG,YAAe7a,EAAKT,KAAK0zC,SAC5Ds/B,EAAc8C,gBAAgBr1E,EAAKT,KACvC,GI7qBoE,CAAE8Z,SAAU,WAChFjL,KAAKm6E,mBAAmBvsE,GAAG,UJyrBxB,CAACiG,EAAKjiB,EAAMuyE,KAEf,MAAM7Y,EAAY6Y,EAAcvD,OAAOD,eAAe/uE,EAAKwE,UACrDkkF,EAAW1oF,EAAKwE,SAASm4C,aAAa38C,EAAKnB,QAC3C86D,EAAU4Y,EAAcvD,OAAOD,eAAe2Z,EAAU,CAAEzZ,WAAW,IACrE1W,EAAYga,EAAc3lC,OAAO9d,YAAY4qC,EAAWC,GAExDn5B,EAAU+xC,EAAc3lC,OAAOznC,OAAOozD,EAAU/a,cAGtD,IAAK,MAAMj5B,KAASguD,EAAc3lC,OAAOyd,cAAc7pB,GAAS+d,WAC5Dg0B,EAAcvD,OAAOpB,kBAAkBrpD,EAAO,CAAEwpD,OAAO,GAC3D,GIrsB+C,CAAE10D,SAAU,QAE3DjL,KAAKm6E,mBAAmBvsE,GAAG,kBJwzBxB,CAACiG,EAAKjiB,EAAMuyE,KACf,MAAMgN,EAAahN,EAAc3lC,OAC3B2c,EAAgBg2B,EAAWhiF,SAASopC,UAC1C,IAAK,MAAMvT,KAASm2B,EAAc9J,YAE1BrsB,EAAMiqB,aAEFjqB,EAAM4I,IAAIxsB,OAAOg+B,cACjB+kC,EAAc3lC,OAAOkb,gBAAgB10B,EAAM6J,OAIvDsiD,EAAW35B,aAAa,KAAK,IIn0B7Bx3C,KAAKm6E,mBAAmBvsE,GAAG,aJiuBxB,CAACiG,EAAKjiB,EAAMuyE,KACf,MAAM5rC,EAAY3mC,EAAK2mC,UACvB,GAAIA,EAAU0W,YACV,OAEJ,IAAKk1B,EAAcwB,WAAWnjC,QAAQjK,EAAW,aAC7C,OAEJ,MAAM6yB,EAAa,GACnB,IAAK,MAAMpmC,KAASuT,EAAU8Y,YAC1B+Z,EAAWr8D,KAAKo1E,EAAcvD,OAAOH,YAAYz7C,IAErDm/C,EAAc3lC,OAAOgZ,aAAa4T,EAAY,CAAE5Y,SAAUja,EAAU6Y,YAAa,GI7uBhB,CAAEnmC,SAAU,QAC7EjL,KAAKm6E,mBAAmBvsE,GAAG,aJ0wBxB,CAACiG,EAAKjiB,EAAMuyE,KACf,MAAM5rC,EAAY3mC,EAAK2mC,UACvB,IAAKA,EAAU0W,YACX,OAEJ,IAAKk1B,EAAcwB,WAAWnjC,QAAQjK,EAAW,aAC7C,OAEJ,MAAM44C,EAAahN,EAAc3lC,OAC3BwgC,EAAgBzmC,EAAUE,mBAC1Bke,EAAewtB,EAAcvD,OAAOD,eAAe3B,GACnDub,EAAiBpJ,EAAWl4B,gBAAgBtC,GAClDw6B,EAAW35B,aAAa+iC,EAAe,GItxB8B,CAAEtvE,SAAU,QAIjFjL,KAAKy0B,KAAKtlC,SAAS0lD,MAAMniC,OAAO1S,KAAK1E,MAAMnM,SAAS0lD,OAAO3hB,OAAM7kC,IAE7D,GAAqB,cAAjBA,EAAKqqC,SACL,OAAO,KAEX,MAAMmgC,EAAW,IAAIxsB,GAAoBrsC,KAAKy0B,KAAKtlC,SAAUd,EAAKmU,MAGlE,OAFAq2D,EAASngC,SAAWrqC,EAAKqqC,SACzB14B,KAAK4gE,OAAO3e,aAAa5zD,EAAMwqE,GACxBA,CAAQ,GASvB,CAKA,OAAA5yC,GACIjmB,KAAKy0B,KAAKxO,UACVjmB,KAAKkO,eACT,CAoCA,eAAAssE,CAAgBC,GACZ,MAAM/a,EAAoC,iBAAhB+a,EAA2BA,EAAeA,EAAaj4E,KAC3Ek4E,EAAgB16E,KAAK1E,MAAMmpE,QAAQ5+D,IAAI65D,GAC7C,IAAKgb,EAOD,MAAM,IAAI,EAAc,qDAAsD16E,KAAM,CAAE0/D,eAE1F1/D,KAAK1E,MAAMijC,QAAO,KACdv+B,KAAK1E,MAAMmpE,QAAQkW,SAASD,EAAc,GAElD,CAWA,aAAAE,CAAczpF,GACV6O,KAAK1E,MAAMijC,QAAO,KACdv+B,KAAK1E,MAAMnM,SAASq1E,OAAOqW,aAAa1pF,EAAK,GAErD,EC5IW,MAAM2pF,WAA+BppE,KAIhD,WAAAvH,GACI4B,QACA/L,KAAK+6E,mBAAqB,CAAC,EAI3B/6E,KAAKg7E,qBAAuBrrF,OAAO4V,OAAO,MAQ1CvF,KAAKi7E,mBAAqB,IAAIhrE,IAS9BjQ,KAAKk7E,uBAAyB,IAAIjrE,IAClCjQ,KAAKm7E,oBAAsBp1E,OAAO,YAClC/F,KAAKyT,SAAS,cACdzT,KAAKyT,SAAS,kBACdzT,KAAK4N,GAAG,kBAAkB,CAACiG,EAAKtjB,KAC5BA,EAAK,GAAK,IAAI6qF,GAAc7qF,EAAK,GAAG,GACrC,CAAE0a,SAAU,YACfjL,KAAK4N,GAAG,cAAc,CAACiG,EAAKtjB,KACxBA,EAAK,GAAK,IAAI6qF,GAAc7qF,EAAK,IACjCA,EAAK,GAAKyP,KAAKq7E,cAAc9qF,EAAK,GAAG,GACtC,CAAE0a,SAAU,WACnB,CAUA,QAAAqwE,CAASC,EAAU71E,GACf,GAAI1F,KAAK+6E,mBAAmBQ,GAoBxB,MAAM,IAAI,EAAc,oCAAqCv7E,KAAM,CAC/Du7E,aAGRv7E,KAAK+6E,mBAAmBQ,GAAY,CAChC5rF,OAAO83B,OAAO,CAAC,EAAG/hB,IAEtB1F,KAAKw7E,aACT,CAwBA,MAAAvkC,CAAOskC,EAAU71E,GACb,IAAK1F,KAAK+6E,mBAAmBQ,GAUzB,MAAM,IAAI,EAAc,oCAAqCv7E,KAAM,CAC/Du7E,aAGRv7E,KAAK+6E,mBAAmBQ,GAAUxsF,KAAKY,OAAO83B,OAAO,CAAC,EAAG/hB,IACzD1F,KAAKw7E,aACT,CASA,cAAAC,GAII,OAHKz7E,KAAK07E,sBACN17E,KAAK27E,WAEF37E,KAAK07E,oBAChB,CASA,aAAAL,CAAclqF,GACV,IAAIoqF,EAWJ,OATIA,EADe,iBAARpqF,EACIA,EAEN,OAAQA,IAASA,EAAKsb,GAAG,UAAYtb,EAAKsb,GAAG,eACvC,QAIAtb,EAAKqR,KAEbxC,KAAKy7E,iBAAiBF,EACjC,CAUA,YAAAK,CAAazqF,GACT,QAAS6O,KAAKq7E,cAAclqF,EAChC,CAgBA,OAAAo3E,CAAQp3E,GACJ,MAAMqU,EAAMxF,KAAKq7E,cAAclqF,GAC/B,SAAUqU,IAAOA,EAAI+iE,QACzB,CAoBA,OAAAW,CAAQ/3E,GACJ,MAAMqU,EAAMxF,KAAKq7E,cAAclqF,GAC/B,QAAKqU,MAGKA,EAAI0jE,UAAW1jE,EAAIunE,SACjC,CAoBA,QAAAA,CAAS57E,GACL,MAAMqU,EAAMxF,KAAKq7E,cAAclqF,GAC/B,QAAKqU,MAKKA,EAAIunE,UAAavnE,EAAI0jE,SAAW1jE,EAAI+zE,cAAgB/zE,EAAIq2E,UACtE,CAgBA,QAAA5O,CAAS97E,GACL,MAAMqU,EAAMxF,KAAKq7E,cAAclqF,GAC/B,SAAUqU,IAAOA,EAAIynE,SACzB,CAkBA,YAAAsM,CAAapoF,GACT,MAAMqU,EAAMxF,KAAKq7E,cAAclqF,GAC/B,QAAKqU,MAGKA,EAAI+zE,eAAgB/zE,EAAIunE,SACtC,CAkBA,SAAA8O,CAAU1qF,GACN,MAAMqU,EAAMxF,KAAKq7E,cAAclqF,GAC/B,QAAKqU,MAGKA,EAAIq2E,YAAar2E,EAAIunE,SACnC,CA6BA,UAAA2C,CAAW5jE,EAAStG,GAEhB,QAAKA,GAGExF,KAAK87E,mBAAmBhwE,EAAStG,EAC5C,CAwBA,cAAA0nE,CAAephE,EAASm+B,GAEpB,MAAMzkC,EAAMxF,KAAKq7E,cAAcvvE,EAAQgmB,MACvC,IAAKtsB,EACD,OAAO,EAIX,MAAMu2E,EAAY/7E,KAAKg8E,yBAAyBlwE,EAASm+B,GAEzD,YAAqB9pC,IAAd47E,EAA0BA,EAAYv2E,EAAIy2E,gBAAgBzrD,SAASyZ,EAC9E,CAgBA,UAAAiyC,CAAWC,EAAuBC,GAC9B,GAAID,aAAiC,GAAU,CAC3C,MAAM/tC,EAAa+tC,EAAsB/tC,WACnCD,EAAYguC,EAAsBhuC,UACxC,KAAMC,aAAsB,IAMxB,MAAM,IAAI,EAAc,uCAAwCpuC,MAEpE,KAAMmuC,aAAqB,IAMvB,MAAM,IAAI,EAAc,sCAAuCnuC,MAEnE,OAAOA,KAAKk8E,WAAW9tC,EAAYD,EACvC,CACA,GAAInuC,KAAKkpE,QAAQiT,IAA0Bn8E,KAAKkpE,QAAQkT,GACpD,OAAO,EAEX,IAAK,MAAMjmE,KAASimE,EAAe/8C,cAC/B,IAAKr/B,KAAK0vE,WAAWyM,EAAuBhmE,GACxC,OAAO,EAGf,OAAO,CACX,CAiEA,aAAAkmE,CAAcvuE,EAAUytE,GACpB,MAAM5iF,OAAmBwH,IAAbo7E,EAAyBA,EAAWv7E,KAAKm7E,oBAC/CmB,EAASt8E,KAAKi7E,mBAAmBp1E,IAAIlN,IAAQ,GACnD2jF,EAAOvtF,KAAK+e,GACZ9N,KAAKi7E,mBAAmB/qE,IAAIvX,EAAK2jF,EACrC,CAgEA,iBAAAC,CAAkBzuE,EAAUm8B,GACxB,MAAMtxC,OAAwBwH,IAAlB8pC,EAA8BA,EAAgBjqC,KAAKm7E,oBACzDmB,EAASt8E,KAAKk7E,uBAAuBr1E,IAAIlN,IAAQ,GACvD2jF,EAAOvtF,KAAK+e,GACZ9N,KAAKk7E,uBAAuBhrE,IAAIvX,EAAK2jF,EACzC,CA6CA,sBAAAE,CAAuBvyC,EAAep4B,GAClC7R,KAAKg7E,qBAAqB/wC,GAAiBt6C,OAAO83B,OAAOznB,KAAKmtE,uBAAuBljC,GAAgBp4B,EACzG,CAMA,sBAAAs7D,CAAuBljC,GACnB,OAAOjqC,KAAKg7E,qBAAqB/wC,IAAkBt6C,OAAO4V,OAAO,KACrE,CAQA,eAAA0zE,CAAgBwD,GACZ,IAAIvtF,EACJ,GAAIutF,aAAsC,GACtCvtF,EAAUutF,EAA2Br7E,WAEpC,CAKDlS,GAJeutF,aAAsC,GACjD,CAACA,GACDzoF,MAAM8N,KAAK26E,EAA2BprC,cAGrCxkB,QAAO,CAAC39B,EAAS81B,KAClB,MAAM03D,EAAsB13D,EAAM2b,oBAClC,OAAKzxC,EAGEA,EAAQyxC,kBAAkB+7C,EAAqB,CAAEj8C,aAAa,IAF1Di8C,CAEiE,GAC7E,KACP,CACA,MAAQ18E,KAAKkpE,QAAQh6E,IACbA,EAAQkS,QACRlS,EAAUA,EAAQkS,OAM1B,OAAOlS,CACX,CAWA,yBAAAytF,CAA0BpkD,EAAW3jB,GACjC,GAAI2jB,EAAU0W,YAAa,CACvB,MACMnjC,EAAU,IADMysB,EAAUE,mBAEXpZ,eACjB,IAAI,GAAK,GAAIkZ,EAAUyQ,kBAG3B,OAAOhpC,KAAKktE,eAAephE,EAAS8I,EACxC,CACK,CACD,MAAMk7B,EAASvX,EAAU8Y,YAEzB,IAAK,MAAMrsB,KAAS8qB,EAChB,IAAK,MAAM9/C,KAASg1B,EAChB,GAAIhlB,KAAKktE,eAAel9E,EAAMmB,KAAMyjB,GAEhC,OAAO,CAIvB,CAEA,OAAO,CACX,CAQA,eAACgoE,CAAe9sC,EAAQl7B,GACpBk7B,EAqxBR,UAAqCA,GACjC,IAAK,MAAM9qB,KAAS8qB,QACT9qB,EAAMo4C,sBAErB,CAzxBiByf,CAA2B/sC,GACpC,IAAK,MAAM9qB,KAAS8qB,QACT9vC,KAAK88E,wBAAwB93D,EAAOpQ,EAEnD,CAqBA,wBAAAo4D,CAAyB52E,EAAUquB,EAAY,QAC3C,GAA8B,cAA1BruB,EAAS/H,KAAKqqC,SAGd,OAAO,KAGX,GAAI14B,KAAK0vE,WAAWt5E,EAAU,SAC1B,OAAO,IAAI,GAAMA,GAErB,IAAI2mF,EAAgBC,EAEpB,MAAMC,EAAe7mF,EAASipB,eAAehW,UAAUspB,MAAKxhC,GAAQ6O,KAAKkpE,QAAQ/3E,MAC7EiF,EAAS/H,KACI,QAAbo2B,GAAoC,YAAbA,IACvBs4D,EAAiB,IAAI,GAAW,CAC5BvwC,WAAY,GAAMiE,UAAUwsC,GAC5BxwC,cAAer2C,EACfquB,UAAW,cAGF,QAAbA,GAAoC,WAAbA,IACvBu4D,EAAgB,IAAI,GAAW,CAC3BxwC,WAAY,GAAMiE,UAAUwsC,GAC5BxwC,cAAer2C,KAGvB,IAAK,MAAMxE,KAgsBnB,UAAyB4gD,EAAU0qC,GAC/B,IAAIrpD,GAAO,EACX,MAAQA,GAAM,CAEV,GADAA,GAAO,EACH2e,EAAU,CACV,MAAM2qC,EAAO3qC,EAAS5e,OACjBupD,EAAKtpD,OACNA,GAAO,OACD,CACFgnB,OAAQrI,EACRxiD,MAAOmtF,EAAKntF,OAGxB,CACA,GAAIktF,EAAS,CACT,MAAMC,EAAOD,EAAQtpD,OAChBupD,EAAKtpD,OACNA,GAAO,OACD,CACFgnB,OAAQqiC,EACRltF,MAAOmtF,EAAKntF,OAGxB,CACJ,CACJ,CAztB2BotF,CAAeL,EAAgBC,GAAgB,CAC9D,MAAM95E,EAAQtR,EAAKipD,QAAUkiC,EAAiB,aAAe,eACvD/sF,EAAQ4B,EAAK5B,MACnB,GAAIA,EAAMkT,MAAQA,GAAQlD,KAAK+sE,SAAS/8E,EAAMmB,MAC1C,OAAO,GAAMu/C,UAAU1gD,EAAMmB,MAEjC,GAAI6O,KAAK0vE,WAAW1/E,EAAMk+C,aAAc,SACpC,OAAO,IAAI,GAAMl+C,EAAMk+C,aAE/B,CACA,OAAO,IACX,CAWA,iBAAAmvC,CAAkBjnF,EAAUuL,GACxB,IAAIP,EAAShL,EAASgL,OACtB,KAAOA,GAAQ,CACX,GAAIpB,KAAK0vE,WAAWtuE,EAAQO,GACxB,OAAOP,EAGX,GAAIpB,KAAKkpE,QAAQ9nE,GACb,OAAO,KAEXA,EAASA,EAAOA,MACpB,CACA,OAAO,IACX,CAQA,oBAAAk8E,CAAqB37E,EAAMrS,EAAYkvC,GACnC,MAAMljC,EAAQkjC,EAAOljC,MACrB,IAAK,MAAO2uC,EAAeme,KAAmBz4D,OAAOqnB,QAAQ1nB,GACrDgM,EAAMgtE,OAAO4E,eAAevrE,EAAMsoC,IAClCzL,EAAO5lC,aAAaqxC,EAAeme,EAAgBzmD,EAG/D,CAMA,0BAAA47E,CAA2Bj+D,EAAOkf,GAC9B,IAAK,MAAM78B,KAAQ2d,EAEf,GAAI3d,EAAK8K,GAAG,SACR+wE,GAAkCx9E,KAAM2B,EAAM68B,OAM7C,CACD,MACMi/C,EADc,GAAMhtC,UAAU9uC,GACCyuC,eACrC,IAAK,MAAMh6C,KAAYqnF,EAAkB,CAErCD,GAAkCx9E,KADrB5J,EAASg4C,YAAch4C,EAASgL,OACCo9B,EAClD,CACJ,CAER,CAWA,yBAAAk/C,CAA0B/7E,EAAM4Q,EAAcyC,GAC1C,MAAM1lB,EAAa,CAAC,EACpB,IAAK,MAAO26C,EAAeme,KAAmBzmD,EAAKqnC,gBAAiB,CAChE,MAAM20C,EAAsB39E,KAAKmtE,uBAAuBljC,QACd9pC,IAAtCw9E,EAAoBprE,UAGFpS,IAAlB6U,GAA+BA,IAAkB2oE,EAAoBprE,KACrEjjB,EAAW26C,GAAiBme,GAEpC,CACA,OAAO94D,CACX,CAIA,aAAAqlF,CAAc7oE,GACV,OAAO,IAAIsvE,GAActvE,EAC7B,CACA,WAAA0vE,GACIx7E,KAAK07E,qBAAuB,IAChC,CACA,QAAAC,GACI,MAAMiC,EAAc,CAAC,EACfC,EAAc79E,KAAK+6E,mBACnB+C,EAAYnuF,OAAOC,KAAKiuF,GAC9B,IAAK,MAAMtC,KAAYuC,EACnBF,EAAYrC,GAAYwC,GAAoBF,EAAYtC,GAAWA,GAEvE,MAAMvpD,EAAQriC,OAAOsZ,OAAO20E,GAM5B,IAAK,MAAMzsF,KAAQ6gC,EACfgsD,GAAiBJ,EAAazsF,GAC9B8sF,GAAuBL,EAAazsF,GACpC+sF,GAAoBN,EAAazsF,GACjCgtF,GAA0BP,EAAazsF,GAI3C,IAAK,MAAMA,KAAQ6gC,EACfosD,GAAiBR,EAAazsF,GAKlC,IAAK,MAAMA,KAAQ6gC,EACfqsD,GAAsBT,EAAazsF,GAKvC,IAAK,MAAMA,KAAQ6gC,EACfssD,GAAkBV,EAAazsF,GAKnC,IAAK,MAAMA,KAAQ6gC,EACfusD,GAAyBX,EAAazsF,GAI1C,IAAK,MAAMA,KAAQ6gC,EACfwsD,GAA6BZ,EAAazsF,GAG9C6O,KAAK07E,qBAubb,SAA4BkC,GACxB,MAAMa,EAAmB,CAAC,EAC1B,IAAK,MAAMttF,KAAQxB,OAAOsZ,OAAO20E,GAC7Ba,EAAiBttF,EAAKqR,MAAQ,CAC1BA,KAAMrR,EAAKqR,KAEX+lE,UAAWp3E,EAAKo3E,QAChBsT,YAAa1qF,EAAK0qF,UAClB5O,WAAY97E,EAAK87E,SACjB/D,UAAW/3E,EAAK+3E,QAChB6D,WAAY57E,EAAK47E,SACjBwM,eAAgBpoF,EAAKooF,aAErBmF,QAAS1qF,MAAM8N,KAAK3Q,EAAKutF,SAAS/nF,QAAO6L,KAAUo7E,EAAYp7E,KAC/Dm8E,cAAe3qF,MAAM8N,KAAK3Q,EAAKwtF,eAAehoF,QAAO6L,KAAUo7E,EAAYp7E,KAC3Ey5E,gBAAiBjoF,MAAM8N,KAAK3Q,EAAK8qF,kBAGzC,OAAOwC,CACX,CA1coCG,CAAmBhB,EACnD,CACA,kBAAA9B,CAAmBhwE,EAAStG,GACxB,MAAMq5E,EAAa/yE,EAAQgmB,KAG3B,IAAIiqD,EAAY/7E,KAAK8+E,qBAAqBhzE,EAAStG,GAInD,GAFAu2E,OAA0B57E,IAAd47E,EAA0BA,EAAYv2E,EAAIk5E,QAAQluD,SAASquD,EAAWr8E,OAE7Eu5E,EACD,OAAO,EAGX,MAAMgD,EAAuB/+E,KAAKq7E,cAAcwD,GAC1CG,EAAgBlzE,EAAQmzE,WAE9B,QAAKF,IAIuB,GAAxBC,EAAcvuF,QAIXuP,KAAK87E,mBAAmBkD,EAAeD,GAClD,CAQA,oBAAAD,CAAqBhzE,EAAStG,GAC1B,MAAM05E,EAAgBl/E,KAAKi7E,mBAAmBp1E,IAAI7F,KAAKm7E,sBAAwB,GACzEgE,EAAcn/E,KAAKi7E,mBAAmBp1E,IAAIL,EAAIhD,OAAS,GAC7D,IAAK,MAAM48E,IAAS,IAAIF,KAAkBC,GAAc,CACpD,MAAMzuF,EAAS0uF,EAAMtzE,EAAStG,GAC9B,QAAerF,IAAXzP,EACA,OAAOA,CAEf,CACJ,CAQA,wBAAAsrF,CAAyBlwE,EAASm+B,GAC9B,MAAMi1C,EAAgBl/E,KAAKk7E,uBAAuBr1E,IAAI7F,KAAKm7E,sBAAwB,GAC7EgE,EAAcn/E,KAAKk7E,uBAAuBr1E,IAAIokC,IAAkB,GACtE,IAAK,MAAMm1C,IAAS,IAAIF,KAAkBC,GAAc,CACpD,MAAMzuF,EAAS0uF,EAAMtzE,EAASm+B,GAC9B,QAAe9pC,IAAXzP,EACA,OAAOA,CAEf,CACJ,CAWA,wBAACosF,CAAwB93D,EAAOpQ,GAC5B,IAAIia,EAAQ7J,EAAM6J,MACdjB,EAAM5I,EAAM6J,MAChB,IAAK,MAAM19B,KAAQ6zB,EAAMmrB,SAAS,CAAErD,SAAS,IACrC37C,EAAKsb,GAAG,mBACDzM,KAAK88E,wBAAwB,GAAMrsC,UAAUt/C,GAAOyjB,IAE1D5U,KAAKktE,eAAe/7E,EAAMyjB,KACtBia,EAAMvL,QAAQsK,WACT,IAAI,GAAMiB,EAAOjB,IAE3BiB,EAAQ,GAAS6e,aAAav8C,IAElCy8B,EAAM,GAAS8f,aAAav8C,GAE3B09B,EAAMvL,QAAQsK,WACT,IAAI,GAAMiB,EAAOjB,GAE/B,CAoBA,yBAAAyxD,CAA0B9mD,EAAW+mD,GACjC,MAAMprC,EAAkB3b,EAAU0Z,qBAClC,GAAIiC,GAAmBl0C,KAAK+sE,SAAS74B,KAAqBl0C,KAAKitE,SAAS/4B,GACpE,MAAa,UAATorC,GAA8B,SAATA,EACd,IAAI,GAAM,GAAS1yC,UAAUsH,EAAiBorC,IAElD,GAAM5uC,UAAUwD,GAE3B,MAAMqrC,EAAa,GAAMhnD,EAAUuvC,qBAEnC,IAAKyX,EACD,OAAO,IAAI,GAAMhnD,EAAU2Y,OAI/B,GAAIquC,EAAW16C,QACX,OAAO,IAAI,GAAM,GAAS+H,UAAU2yC,EAAY,IAEpD,MAAMC,EAAgB,GAAS9xC,aAAa6xC,GAE5C,OAAIhnD,EAAU2Y,MAAMkqB,WAAWokB,GACpB,IAAI,GAAMA,GAGd,IAAI,GAAM,GAASxxC,cAAcuxC,GAC5C,EA4BG,MAAMnE,GAIT,WAAAjxE,CAAY2B,GACR,GAAIA,aAAmBsvE,GACnB,OAAOtvE,EAEX,IAAIkmB,EAEAA,EADkB,iBAAXlmB,EACC,CAACA,GAEH9X,MAAM+T,QAAQ+D,GAMZA,EAHAA,EAAQuT,aAAa,CAAEohB,aAAa,IAKhDzgC,KAAKoxB,OAASY,EAAM1yB,IAAImgF,GAC5B,CAIA,UAAIhvF,GACA,OAAOuP,KAAKoxB,OAAO3gC,MACvB,CAIA,QAAIqhC,GACA,OAAO9xB,KAAKoxB,OAAOpxB,KAAKoxB,OAAO3gC,OAAS,EAC5C,CAMA,CAACsV,OAAOsP,YACJ,OAAOrV,KAAKoxB,OAAOrrB,OAAOsP,WAC9B,CA2BA,IAAAtmB,CAAKoC,GACD,MAAMuhC,EAAM,IAAI0oD,GAAc,CAACjqF,IAE/B,OADAuhC,EAAItB,OAAS,IAAIpxB,KAAKoxB,UAAWsB,EAAItB,QAC9BsB,CACX,CAYA,QAAAusD,GACI,MAAMvsD,EAAM,IAAI0oD,GAAc,IAE9B,OADA1oD,EAAItB,OAASpxB,KAAKoxB,OAAO54B,MAAM,GAAI,GAC5Bk6B,CACX,CAIA,OAAAgtD,CAAQxsF,GACJ,OAAO8M,KAAKoxB,OAAOl+B,EACvB,CAIA,SAACysF,SACU3/E,KAAKoxB,OAAO9xB,KAAInO,GAAQA,EAAKqR,MACxC,CAaA,QAAAmqB,CAASizD,GACL,OAAO5rF,MAAM8N,KAAK9B,KAAK2/E,YAAY5tF,KAAK,KAAK46B,SAASizD,EAC1D,CAaA,UAAAjpD,CAAWipD,GACP,OAAO5rF,MAAM8N,KAAK9B,KAAK2/E,YAAY5tF,KAAK,KAAK4kC,WAAWipD,EAC5D,EAEJ,SAAS7B,GAAoB8B,EAAiBtE,GAC1C,MAAMuE,EAAW,CACbt9E,KAAM+4E,EACNmD,QAAS,IAAItsE,IACbusE,cAAe,IAAIvsE,IACnB2tE,WAAY,IAAI3tE,IAChB4tE,iBAAkB,IAAI5tE,IACtB6tE,eAAgB,IAAI7tE,IACpB8tE,WAAY,IAAI9tE,IAChB6pE,gBAAiB,IAAI7pE,IACrB+tE,mBAAoB,IAAI/tE,IACxBguE,kBAAmB,IAAIhuE,IACvBiuE,iBAAkB,IAAIjuE,KAc1B,OAsKJ,SAAmBytE,EAAiBC,GAChC,IAAK,MAAMQ,KAAkBT,EAAiB,CAC1C,MAAMU,EAAY5wF,OAAOC,KAAK0wF,GAAgB3pF,QAAO6L,GAAQA,EAAKm0B,WAAW,QAC7E,IAAK,MAAMn0B,KAAQ+9E,EACfT,EAASt9E,KAAU89E,EAAe99E,EAE1C,CACJ,CAzLIg+E,CAAUX,EAAiBC,GAC3BW,GAAaZ,EAAiBC,EAAU,WACxCW,GAAaZ,EAAiBC,EAAU,iBACxCW,GAAaZ,EAAiBC,EAAU,cACxCW,GAAaZ,EAAiBC,EAAU,oBACxCW,GAAaZ,EAAiBC,EAAU,kBACxCW,GAAaZ,EAAiBC,EAAU,cACxCW,GAAaZ,EAAiBC,EAAU,mBACxCW,GAAaZ,EAAiBC,EAAU,sBACxCW,GAAaZ,EAAiBC,EAAU,qBACxCW,GAAaZ,EAAiBC,EAAU,oBA6L5C,SAA2BD,EAAiBC,GACxC,IAAK,MAAMQ,KAAkBT,EAAiB,CAC1C,MAAMa,EAAcJ,EAAeK,eAC/BD,IACAZ,EAASG,eAAe7zE,IAAIs0E,GAC5BZ,EAASI,WAAW9zE,IAAIs0E,GACxBZ,EAASM,kBAAkBh0E,IAAIs0E,GAC/BZ,EAASO,iBAAiBj0E,IAAIs0E,GAEtC,CACJ,CAtMIE,CAAkBf,EAAiBC,GAC5BA,CACX,CACA,SAAS9B,GAAiBJ,EAAazsF,GACnC,IAAK,MAAM8pE,KAAc9pE,EAAKutF,QAAS,CACnC,MAAMG,EAAajB,EAAY3iB,GAC3B4jB,EACAA,EAAWF,cAAcvyE,IAAIjb,EAAKqR,MAGlCrR,EAAKutF,QAAQtuE,OAAO6qD,EAE5B,CACJ,CACA,SAASgjB,GAAuBL,EAAazsF,GACzC,IAAK,MAAM0vF,KAAa1vF,EAAKwtF,cAAe,CACxC,MAAMmC,EAAYlD,EAAYiD,GAC1BC,EACAA,EAAUpC,QAAQtyE,IAAIjb,EAAKqR,MAG3BrR,EAAKwtF,cAAcvuE,OAAOywE,EAElC,CACJ,CACA,SAAS3C,GAAoBN,EAAazsF,GACtC,IAAK,MAAM8pE,KAAc9pE,EAAK4uF,WAAY,CACtC,MAAMlB,EAAajB,EAAY3iB,GAC3B4jB,EACAA,EAAWmB,iBAAiB5zE,IAAIjb,EAAKqR,MAGrCrR,EAAK4uF,WAAW3vE,OAAO6qD,EAE/B,CACJ,CACA,SAASkjB,GAA0BP,EAAazsF,GAC5C,IAAK,MAAM0vF,KAAa1vF,EAAK6uF,iBAAkB,CAC3C,MAAMc,EAAYlD,EAAYiD,GAC1BC,EACAA,EAAUf,WAAW3zE,IAAIjb,EAAKqR,MAG9BrR,EAAK6uF,iBAAiB5vE,OAAOywE,EAErC,CACJ,CACA,SAASzC,GAAiBR,EAAazsF,GACnC,IAAK,MAAM0vF,KAAa1vF,EAAK6uF,iBACzB7uF,EAAKwtF,cAAcvuE,OAAOywE,GAE9B,IAAK,MAAM5lB,KAAc9pE,EAAK4uF,WAC1B5uF,EAAKutF,QAAQtuE,OAAO6qD,GAExB,IAAK,MAAMhxB,KAAiB94C,EAAKgvF,mBAC7BhvF,EAAK8qF,gBAAgB7rE,OAAO65B,EAEpC,CACA,SAASo0C,GAAsBT,EAAazsF,GACxC,IAAK,MAAM4vF,KAA0B5vF,EAAK8uF,eAAgB,CACtD,MAAMe,EAAWpD,EAAYmD,GACxBC,IAOLA,EAAShB,iBAAiBnwF,SAAQgxF,IAG1B1vF,EAAKwtF,cAAcxyE,IAAI00E,KAG3B1vF,EAAK6uF,iBAAiB5zE,IAAIy0E,GAC1BjD,EAAYiD,GAAWd,WAAW3zE,IAAIjb,EAAKqR,MAAK,IAGpDw+E,EAASrC,cAAc9uF,SAAQgxF,IAGvB1vF,EAAK6uF,iBAAiB7zE,IAAI00E,KAG9B1vF,EAAKwtF,cAAcvyE,IAAIy0E,GACvBjD,EAAYiD,GAAWnC,QAAQtyE,IAAIjb,EAAKqR,MAAK,IAErD,CACJ,CACA,SAAS87E,GAAkBV,EAAazsF,GACpC,IAAK,MAAM8vF,KAAsB9vF,EAAK+uF,WAAY,CAC9C,MAAMc,EAAWpD,EAAYqD,GACxBD,IAOLA,EAASjB,WAAWlwF,SAAQorE,IAGpB9pE,EAAKutF,QAAQvyE,IAAI8uD,KAGrB9pE,EAAK4uF,WAAW3zE,IAAI6uD,GACpB2iB,EAAY3iB,GAAY+kB,iBAAiB5zE,IAAIjb,EAAKqR,MAAK,IAG3Dw+E,EAAStC,QAAQ7uF,SAAQorE,IAGjB9pE,EAAK4uF,WAAW5zE,IAAI8uD,KAGxB9pE,EAAKutF,QAAQtyE,IAAI6uD,GACjB2iB,EAAY3iB,GAAY0jB,cAAcvyE,IAAIjb,EAAKqR,MAAK,IAE5D,CACJ,CAqBA,SAAS+7E,GAAyBX,EAAazsF,GAC3C,IAAK,MAAM+vF,KAA4B/vF,EAAKivF,kBAAmB,CAC3D,MAAMY,EAAWpD,EAAYsD,GAC7B,IAAKF,EACD,OAEJA,EAAS/E,gBAAgBpsF,SAAQo6C,IACzB94C,EAAKgvF,mBAAmBh0E,IAAI89B,IAGhC94C,EAAK8qF,gBAAgB7vE,IAAI69B,EAAc,GAE/C,CACJ,CACA,SAASu0C,GAA6BZ,EAAazsF,GAC/C,IAAK,MAAMgwF,KAA+BhwF,EAAKkvF,iBAAkB,CAC7D,MAAMK,EAAc9C,EAAYuD,GAChC,GAAIT,EAAa,CACb,MAAMH,EAAY5wF,OAAOC,KAAK8wF,GAAa/pF,QAAO6L,GAAQA,EAAKm0B,WAAW,QAC1E,IAAK,MAAMn0B,KAAQ+9E,EACT/9E,KAAQrR,IACVA,EAAKqR,GAAQk+E,EAAYl+E,GAGrC,CACJ,CACJ,CASA,SAASi+E,GAAaZ,EAAiBC,EAAUvtE,GAC7C,IAAK,MAAM+tE,KAAkBT,EAAiB,CAC1C,IAAI7vF,EAAQswF,EAAe/tE,GAGP,iBAATviB,IACPA,EAAQ,CAACA,IAETgE,MAAM+T,QAAQ/X,IACdA,EAAMH,SAAQuxF,GAAetB,EAASvtE,GAAcnG,IAAIg1E,IAEhE,CACJ,CAYA,SAAS3B,GAAe4B,GACpB,MAAsB,iBAAXA,GAAuBA,EAAQ50E,GAAG,oBAClC,CACHjK,KAAwB,iBAAX6+E,EAAsBA,EAAU,oBAC7C,iBAACt4C,GAAqB,EACtB,YAAAhJ,GAAiB,GAId,CAEHv9B,KAAM6+E,EAAQ50E,GAAG,WAAa40E,EAAQ7+E,KAAO,QAC7C,iBAACumC,SACUs4C,EAAQt4C,kBACnB,EACAhJ,aAAapnC,GACF0oF,EAAQthD,aAAapnC,GAI5C,CAgDA,SAAS6kF,GAAkClV,EAAQ3mE,EAAM68B,GACrD,IAAK,MAAM5pB,KAAajT,EAAKonC,mBACpBu/B,EAAO4E,eAAevrE,EAAMiT,IAC7B4pB,EAAOma,gBAAgB/jC,EAAWjT,EAG9C,CCt4Ce,MAAM2/E,WAAyC3zE,KAQ1D,WAAAxD,CAAYg6D,GACRp4D,QAMA/L,KAAKuhF,YAAc,IAAItxE,IAMvBjQ,KAAKwhF,eAAiB,IAAIvxE,IAM1BjQ,KAAKyhF,aAAe,KAMpBzhF,KAAK0hF,qBAAuB,IAAItvE,IAChCpS,KAAKmkE,cAAgB,IACdA,EACHwB,WAAY,KACZnnC,OAAQ,KACRmjD,MAAO,KACP3a,YAAa,CAAC4P,EAAUD,IAAgB32E,KAAK4hF,aAAahL,EAAUD,GACpE1P,gBAAiB,CAACvrB,EAAammC,IAAsB7hF,KAAK8hF,iBAAiBpmC,EAAammC,GACxF3K,WAAY,CAAC7C,EAAWj+E,IAAa4J,KAAK+hF,YAAY1N,EAAWj+E,GACjE+gF,uBAAwB,CAAC5X,EAAc3tE,IAASoO,KAAKgiF,wBAAwBziB,EAAc3tE,GAE3FqwF,qBAAsB,CAAC5N,EAAWsC,IAAgB32E,KAAKkiF,sBAAsB7N,EAAWsC,GACxFwL,cAAe5iB,GAAgBv/D,KAAKoiF,eAAe7iB,GACnD8iB,iBAAkB9iB,GAAgBv/D,KAAKsiF,kBAAkB/iB,GAEjE,CAcA,OAAA7vE,CAAQgsD,EAAald,EAAQ1yB,EAAU,CAAC,UACpC9L,KAAK+O,KAAK,cAAe2sC,GAGzB17C,KAAKyhF,aAoRb,SAA2Bc,EAAmB/jD,GAC1C,IAAIpoC,EACJ,IAAK,MAAMjF,KAAQ,IAAIiqF,GAAcmH,GAAoB,CACrD,MAAMjzF,EAAa,CAAC,EACpB,IAAK,MAAMqJ,KAAOxH,EAAK43C,mBACnBz5C,EAAWqJ,GAAOxH,EAAK4uC,aAAapnC,GAExC,MAAM4I,EAAUi9B,EAAOpvC,cAAc+B,EAAKqR,KAAMlT,GAC5C8G,GACAooC,EAAOjvC,OAAOgS,EAASnL,GAE3BA,EAAW,GAAcw2C,UAAUrrC,EAAS,EAChD,CACA,OAAOnL,CACX,CAlS4BosF,CAAkB12E,EAAS0yB,GAG/Cx+B,KAAKmkE,cAAc3lC,OAASA,EAE5Bx+B,KAAKmkE,cAAcwB,WAAa1jC,GAAeS,WAAWgZ,GAE1D17C,KAAKmkE,cAAcwd,MAAQ,CAAC,EAE5B,MAAM,WAAEjhB,GAAe1gE,KAAK4hF,aAAalmC,EAAa17C,KAAKyhF,cAErDgB,EAAmBjkD,EAAOkZ,yBAEhC,GAAIgpB,EAAY,CAEZ1gE,KAAK0iF,uBAEL,MAAMthF,EAASpB,KAAKyhF,aAAargF,OAC3BqC,EAAWrC,EAAO8/B,gBAAgB,EAAG9/B,EAAO4+B,YAClDyiD,EAAiB35C,aAAa,EAAGrlC,GAEjCg/E,EAAiBhe,QA+N7B,SAAyCke,EAAWnkD,GAChD,MAAMokD,EAAiB,IAAIxwE,IACrBqyD,EAAU,IAAIx0D,IAEd+U,EAAQ,GAAWyrB,UAAUkyC,GAAWxyC,WAE9C,IAAK,MAAMh/C,KAAQ6zB,EAEX7zB,EAAKsb,GAAG,UAAW,YACnBm2E,EAAex2E,IAAIjb,GAI3B,IAAK,MAAM0xF,KAAiBD,EAAgB,CACxC,MAAMljB,EAAamjB,EAAc9iD,aAAa,aACxC+iD,EAAkBtkD,EAAOud,qBAAqB8mC,GAE/Cpe,EAAQt4D,IAAIuzD,GAKb+E,EAAQ5+D,IAAI65D,GAAY9xC,IAAMk1D,EAAgB7gE,QAJ9CwiD,EAAQv0D,IAAIwvD,EAAY,IAAI,GAAWojB,EAAgB7gE,UAO3Duc,EAAOznC,OAAO8rF,EAClB,CACA,OAAOpe,CACX,CA3PuCse,CAAgCN,EAAkBjkD,EACjF,CAWA,OATAx+B,KAAKyhF,aAAe,KAEpBzhF,KAAKuhF,YAAYlxE,QACjBrQ,KAAKwhF,eAAenxE,QACpBrQ,KAAK0hF,qBAAqBrxE,QAE1BrQ,KAAKmkE,cAAc3lC,OAAS,KAC5Bx+B,KAAKmkE,cAAcwd,MAAQ,KAEpBc,CACX,CAIA,YAAAb,CAAahL,EAAUD,GACnB,MAAM/kF,EAAO,CAAEglF,WAAUD,cAAajW,WAAY,MAWlD,GAVIkW,EAASnqE,GAAG,WACZzM,KAAK+O,KAAK,WAAW6nE,EAASp0E,OAAQ5Q,EAAMoO,KAAKmkE,eAE5CyS,EAASnqE,GAAG,SACjBzM,KAAK+O,KAAK,OAAQnd,EAAMoO,KAAKmkE,eAG7BnkE,KAAK+O,KAAK,mBAAoBnd,EAAMoO,KAAKmkE,eAGzCvyE,EAAK8uE,cAAgB9uE,EAAK8uE,sBAAsB,IAQhD,MAAM,IAAI,EAAc,8CAA+C1gE,MAE3E,MAAO,CAAE0gE,WAAY9uE,EAAK8uE,WAAYiW,YAAa/kF,EAAK+kF,YAC5D,CAIA,gBAAAmL,CAAiBlL,EAAUoM,GACvB,IAAIC,EAAkBD,EAAqBv2E,GAAG,YAC1Cu2E,EAAuB,GAAcp2C,UAAUo2C,EAAsB,GACzE,MAAMtiB,EAAa,IAAI,GAAWuiB,GAClC,IAAK,MAAMnhC,KAAa9tD,MAAM8N,KAAK80E,EAASv3C,eAAgB,CACxD,MAAM3uC,EAASsP,KAAK4hF,aAAa9/B,EAAWmhC,GACxCvyF,EAAOgwE,sBAAsB,KAC7BA,EAAW9yC,IAAMl9B,EAAOgwE,WAAW9yC,IACnCq1D,EAAkBvyF,EAAOimF,YAEjC,CACA,MAAO,CAAEjW,aAAYiW,YAAasM,EACtC,CAIA,WAAAlB,CAAY1N,EAAWj+E,GAInB,MAAM8sF,EAAcljF,KAAKkiF,sBAAsB7N,EAAWj+E,GAE1D,QAAK8sF,IAILljF,KAAKmkE,cAAc3lC,OAAOjvC,OAAO8kF,EAAW6O,EAAY9sF,WACjD,EACX,CAIA,uBAAA4rF,CAAwBziB,EAAc3tE,GAClC,MAAMirB,EAAQ7c,KAAKoiF,eAAe7iB,GAC5B/gC,EAASx+B,KAAKmkE,cAAc3lC,OAE7B5sC,EAAK8uE,aACN9uE,EAAK8uE,WAAaliC,EAAO9d,YAAY8d,EAAOud,qBAAqBwjB,GAAe/gC,EAAOsd,oBAAoBj/B,EAAMA,EAAMpsB,OAAS,MAEpI,MAAM0yF,EAAoBnjF,KAAKwhF,eAAe37E,IAAI05D,GAO9C3tE,EAAK+kF,YALLwM,EAKmB3kD,EAAOqd,iBAAiBsnC,EAAmB,GAI3CvxF,EAAK8uE,WAAW9yC,GAE3C,CAIA,qBAAAs0D,CAAsBvgF,EAAMg1E,GACxB,MAAM,OAAErO,EAAM,OAAE9pC,GAAWx+B,KAAKmkE,cAEhC,IAAIif,EAAgB9a,EAAO+U,kBAAkB1G,EAAah1E,GAC1D,GAAIyhF,EAAe,CAEf,GAAIA,IAAkBzM,EAAYv1E,OAC9B,MAAO,CAAEhL,SAAUugF,GAGnB32E,KAAKyhF,aAAargF,OAAOie,eAAemR,SAAS4yD,KACjDA,EAAgB,KAExB,CACA,IAAKA,EAED,OAAK3O,GAAgBkC,EAAah1E,EAAM2mE,GAGjC,CACHlyE,SAAUw+E,GAAgB+B,EAAan4C,IAHhC,KAOf,MAAM0kD,EAAcljF,KAAKmkE,cAAc3lC,OAAOn/B,MAAMs3E,EAAayM,GAe3Dv2E,EAAQ,GACd,IAAK,MAAMw2E,KAAmBH,EAAYl+D,MAAM8pB,YAC5C,GAA4B,cAAxBu0C,EAAgBngF,KAChB2J,EAAM9d,KAAKs0F,EAAgBlyF,UAE1B,CAED,MAAMmyF,EAAez2E,EAAMrL,MACrB+hF,EAAYF,EAAgBlyF,KAClC6O,KAAKwjF,mBAAmBF,EAAcC,EAC1C,CAEJ,MAAME,EAAeP,EAAYl+D,MAAM4I,IAAIxsB,OAE3C,OADApB,KAAKwhF,eAAetxE,IAAIvO,EAAM8hF,GACvB,CACHrtF,SAAU8sF,EAAY9sF,SACtBqtF,eAER,CAMA,kBAAAD,CAAmBF,EAAcC,GACxBvjF,KAAKuhF,YAAYp1E,IAAIm3E,IACtBtjF,KAAKuhF,YAAYrxE,IAAIozE,EAAc,CAACA,IAExC,MAAMrqF,EAAO+G,KAAKuhF,YAAY17E,IAAIy9E,GAClCtjF,KAAKuhF,YAAYrxE,IAAIqzE,EAAWtqF,GAChCA,EAAKlK,KAAKw0F,EACd,CAIA,cAAAnB,CAAelzF,GACX,IAAI2tB,EAOJ,OAFIA,EAJC7c,KAAKuhF,YAAYp1E,IAAIjd,GAId8Q,KAAKuhF,YAAY17E,IAAI3W,GAHrB,CAACA,GAKN2tB,CACX,CAIA,iBAAAylE,CAAkBpzF,GACd8Q,KAAK0hF,qBAAqBt1E,IAAIld,EAClC,CAOA,oBAAAwzF,GAGI,MAAMgB,EAAW,IAAIzzE,IACrB,IAAK,MAAM/gB,KAAW8Q,KAAKuhF,YAAY3xF,OACnC,GAAIV,EAAQ21C,UAAY7kC,KAAK0hF,qBAAqBv1E,IAAIjd,GAAU,CAC5D,MAAMuU,EAAWigF,EAAS79E,IAAI3W,EAAQkS,SAAW,GACjDqC,EAAS1U,KAAKG,GACd8Q,KAAKuhF,YAAYnxE,OAAOlhB,GACxBw0F,EAASxzE,IAAIhhB,EAAQkS,OAAQqC,EACjC,CAEJ,IAAK,MAAOrC,EAAQqC,KAAaigF,EAC7BtiF,EAAOutE,qBAAqBlrE,GAE5BigF,EAASrxE,MACTrS,KAAK0iF,sBAEb,ECjZW,MAAMiB,GAIjB,OAAAC,CAAQn7B,GACJ,MACM7D,EADM,EAAOz1D,SAASw4D,eAAeC,mBAAmB,IACxCx4D,cAAc,OAEpC,OADAw1D,EAAU/sD,YAAY4wD,GACf7D,EAAUn+B,SACrB,ECJW,MAAMo9D,GAMjB,WAAA15E,CAAYhb,GACR6Q,KAAK+sD,cAAe,EACpB/sD,KAAK8jF,UAAY,IAAIv7B,UACrBvoD,KAAK61C,aAAe,IAAIgR,GAAa13D,EAAU,CAAE43D,cAAe,SAChE/mD,KAAK+jF,WAAa,IAAIJ,EAC1B,CAOA,MAAAK,CAAO/7B,GAEH,MAAMD,EAAchoD,KAAK61C,aAAa8M,UAAUsF,GAEhD,OAAOjoD,KAAK+jF,WAAWH,QAAQ57B,EACnC,CAOA,MAAAi8B,CAAOryF,GAEH,MAAMo2D,EAAchoD,KAAKkkF,OAAOtyF,GAEhC,OAAOoO,KAAK61C,aAAawN,UAAU2E,EAAa,CAAE+E,aAAc/sD,KAAK+sD,cACzE,CAUA,yBAAAF,CAA0BxpB,GACtBrjC,KAAK61C,aAAagX,0BAA0BxpB,EAChD,CAYA,aAAA8gD,CAAcjhF,GACVlD,KAAK61C,aAAaiR,gBAA0B,UAAR5jD,EAAmB,aAAe,MAC1E,CAKA,MAAAghF,CAAOtyF,GAIE,yCAAyC2G,KAAK3G,EAAK66B,OAAOj0B,MAAM,EAAG,QACpE5G,EAAO,SAASA,YAEpB,MAAMzC,EAAW6Q,KAAK8jF,UAAUt7B,gBAAgB52D,EAAM,aAChD62D,EAAWt5D,EAASuoD,yBACpBgR,EAAiBv5D,EAAS+xB,KAAKxpB,WACrC,KAAOgxD,EAAej4D,OAAS,GAC3Bg4D,EAAS5wD,YAAY6wD,EAAe,IAExC,OAAOD,CACX,EC1DW,MAAM27B,WAAuCz2E,KAOxD,WAAAxD,CAAY7O,EAAOsvC,GACf7+B,QACA/L,KAAK1E,MAAQA,EACb0E,KAAK4gE,OAAS,IAAIvC,GAClBr+D,KAAKm6E,mBAAqB,IAAIjW,GAAmB,CAC7CtD,OAAQ5gE,KAAK4gE,OACb0H,OAAQhtE,EAAMgtE,SAElBtoE,KAAKm6E,mBAAmBvsE,GAAG,gBTsqBxB,CAACiG,EAAKjiB,EAAMuyE,KACf,IAAKA,EAAcwB,WAAWnjC,QAAQ5wC,EAAKT,KAAM0iB,EAAIrR,MACjD,OAEJ,MAAM2uE,EAAahN,EAAc3lC,OAC3BmY,EAAewtB,EAAcvD,OAAOD,eAAe/uE,EAAKozB,MAAM6J,OAC9D2zB,EAAW2uB,EAAWx5B,WAAW/lD,EAAKT,KAAKS,MACjDu/E,EAAW5hF,OAAOonD,EAAc6L,EAAS,GS7qBgB,CAAEv3C,SAAU,WACrEjL,KAAKm6E,mBAAmBvsE,GAAG,UTqrBxB,CAACiG,EAAKjiB,EAAMuyE,KACfA,EAAc+C,kBAAkBt1E,EAAKT,MAGhCS,EAAK60E,eAAgB70E,EAAKT,KAAKsb,GAAG,YAAe7a,EAAKT,KAAK0zC,SAC5Ds/B,EAAc8C,gBAAgBr1E,EAAKT,KACvC,GS3rBoE,CAAE8Z,SAAU,WAChFjL,KAAKqkF,iBAAmB,IAAI/C,GAAiB,CACzChZ,OAAQhtE,EAAMgtE,SAElBtoE,KAAKu3D,aAAe,IAAI,GAAa3sB,GACrC5qC,KAAK4qC,gBAAkBA,EACvB5qC,KAAKskF,cAAgB,IAAIT,GAAkB7jF,KAAKu3D,cAChDv3D,KAAKukF,UAAYvkF,KAAKskF,cACtBtkF,KAAKwkF,YAAc,IAAI,GAAmBxkF,KAAKu3D,cAM/Cv3D,KAAKqkF,iBAAiBz2E,GAAG,QPoYtB,CAACiG,EAAKjiB,GAAQ02E,SAAQ3C,aAAYnnC,aACrC,IAAIpoC,EAAWxE,EAAK+kF,YAEpB,IAAKhR,EAAWptE,KAAK3G,EAAKglF,UACtB,OAEJ,IAAKtO,EAAOoH,WAAWt5E,EAAU,SAAU,CACvC,IAAKq+E,GAAgBr+E,EAAU,QAASkyE,GACpC,OAGJ,GAAwC,GAApC12E,EAAKglF,SAAShlF,KAAK66B,OAAOh8B,OAC1B,OAEJ2F,EAAWw+E,GAAgBx+E,EAAUooC,EACzC,CACAmnC,EAAWnjC,QAAQ5wC,EAAKglF,UACxB,MAAM14C,EAAOM,EAAOmZ,WAAW/lD,EAAKglF,SAAShlF,MAC7C4sC,EAAOjvC,OAAO2uC,EAAM9nC,GACpBxE,EAAK8uE,WAAaliC,EAAO9d,YAAYtqB,EAAUA,EAASm4C,aAAarQ,EAAK6D,aAC1EnwC,EAAK+kF,YAAc/kF,EAAK8uE,WAAW9yC,GAAG,GOxZU,CAAE3iB,SAAU,WAC5DjL,KAAKqkF,iBAAiBz2E,GAAG,WPoXtB,CAACiG,EAAKjiB,EAAMuyE,KAEf,IAAKvyE,EAAK8uE,YAAcyD,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAU,CAAEp0E,MAAM,IAAS,CACrF,MAAM,WAAEk+D,EAAU,YAAEiW,GAAgBxS,EAAc8C,gBAAgBr1E,EAAKglF,SAAUhlF,EAAK+kF,aACtF/kF,EAAK8uE,WAAaA,EAClB9uE,EAAK+kF,YAAcA,CACvB,IO1X8D,CAAE1rE,SAAU,WAC1EjL,KAAKqkF,iBAAiBz2E,GAAG,oBPmXtB,CAACiG,EAAKjiB,EAAMuyE,KAEf,IAAKvyE,EAAK8uE,YAAcyD,EAAcwB,WAAWnjC,QAAQ5wC,EAAKglF,SAAU,CAAEp0E,MAAM,IAAS,CACrF,MAAM,WAAEk+D,EAAU,YAAEiW,GAAgBxS,EAAc8C,gBAAgBr1E,EAAKglF,SAAUhlF,EAAK+kF,aACtF/kF,EAAK8uE,WAAaA,EAClB9uE,EAAK+kF,YAAcA,CACvB,IOzXuE,CAAE1rE,SAAU,WACnFyG,IAAkBvc,UAAUse,SAASpe,KAAK2K,KAAM,QAChD0R,IAAkBvc,UAAUse,SAASpe,KAAK2K,KAAM,OAChD0R,IAAkBvc,UAAUse,SAASpe,KAAK2K,KAAM,OAChD0R,IAAkBvc,UAAUse,SAASpe,KAAK2K,KAAM,UAChD0R,IAAkBvc,UAAUse,SAASpe,KAAK2K,KAAM,WAGhDA,KAAK4N,GAAG,QAAQ,KACZ5N,KAAK+O,KAAK,QAAQ,GACnB,CAAE9D,SAAU,WAGfjL,KAAK4N,GAAG,SAAS,KACb5N,KAAK1E,MAAMmwE,cAAc,CAAEgZ,YAAY,GAASlQ,GAAwB,GACzE,CAAEtpE,SAAU,UACnB,CAiBA,GAAApF,CAAI5W,EAAU,CAAC,GACX,MAAM,SAAEypC,EAAW,OAAM,KAAEjM,EAAO,SAAYx9B,EAC9C,IAAK+Q,KAAK0kF,oBAAoB,CAAChsD,IAe3B,MAAM,IAAI,EAAc,uCAAwC14B,MAEpE,MAAM3R,EAAO2R,KAAK1E,MAAMnM,SAAS2lD,QAAQpc,GAYzC,OAXKrqC,EAAK+wC,cASN,EAAW,mCAAoCp/B,MAEtC,UAATysB,GAAqBzsB,KAAK1E,MAAMgkC,WAAWjxC,EAAM,CAAEs2F,mBAAmB,IAGnE3kF,KAAKrO,UAAUtD,EAAMY,GAFjB,EAGf,CAUA,SAAA0C,CAAUizF,EAAwB31F,EAAU,CAAC,GAEzC,MAAM41F,EAAuB7kF,KAAKikF,OAAOW,EAAwB31F,GAEjE,OAAO+Q,KAAKukF,UAAUP,OAAOa,EACjC,CAaA,MAAAZ,CAAOW,EAAwB31F,EAAU,CAAC,GACtC,MAAMsoE,EAAev3D,KAAKu3D,aACpB4Z,EAAanxE,KAAKwkF,YAExBxkF,KAAK4gE,OAAON,gBAEZ,MAAMI,EAAa,GAAWjwB,UAAUm0C,GAClCC,EAAuB,IAAI,GAAqBttB,GACtDv3D,KAAK4gE,OAAO3e,aAAa2iC,EAAwBC,GAMjD,MAAMpgB,EAAUmgB,EAAuBn4E,GAAG,oBACtCm4E,EAAuBngB,QA8OnC,SAAsCv1E,GAClC,MAAMwB,EAAS,GACTqlB,EAAM7mB,EAAQb,KAAKc,SACzB,IAAK4mB,EACD,OAAO,IAAI9F,IAEf,MAAM60E,EAAe,GAAWr0C,UAAUvhD,GAC1C,IAAK,MAAM+2E,KAAUlwD,EAAIza,MAAMmpE,QAAS,CACpC,MAAMc,EAAcU,EAAOT,WACrBuf,EAAoBxf,EAAYt2B,YAChC+1C,EAA4Bzf,EAAY12C,MAAMvL,QAAQwhE,EAAaj2D,QAAU02C,EAAY33C,IAAItK,QAAQwhE,EAAal3D,KACxH,GAAIm3D,GAAqBC,EACrBt0F,EAAO3B,KAAK,CAACk3E,EAAOzjE,KAAM+iE,QAEzB,CACD,MAAM0f,EAAqBH,EAAa1iE,gBAAgBmjD,GACpD0f,GACAv0F,EAAO3B,KAAK,CAACk3E,EAAOzjE,KAAMyiF,GAElC,CACJ,CA0CA,OA7BAv0F,EAAO0uB,MAAK,EAAE8lE,EAAIx6E,IAAMy6E,EAAIx6E,MACxB,GAAqC,UAAjCD,EAAGkjB,IAAIghB,YAAYjkC,EAAGkkB,OAEtB,OAAO,EAEN,GAAqC,WAAjCnkB,EAAGmkB,MAAM+f,YAAYjkC,EAAGijB,KAE7B,OAAQ,EAKR,OAAQljB,EAAGmkB,MAAM+f,YAAYjkC,EAAGkkB,QAC5B,IAAK,SACD,OAAO,EACX,IAAK,QACD,OAAQ,EACZ,QACI,OAAQnkB,EAAGkjB,IAAIghB,YAAYjkC,EAAGijB,MAC1B,IAAK,SACD,OAAO,EACX,IAAK,QACD,OAAQ,EACZ,QACI,OAAOu3D,EAAGC,cAAcF,IAG5C,IAEG,IAAIj1E,IAAIvf,EACnB,CA5SY20F,CAA6BT,GAEjC,OADA5kF,KAAKm6E,mBAAmBzqF,QAAQgxE,EAAY+D,EAAS0M,EAAYliF,GAC1D41F,CACX,CA0BA,IAAAprD,CAAK7nC,GACD,GAAIoO,KAAK1E,MAAMnM,SAAS+d,QAQpB,MAAM,IAAI,EAAc,yCAA0ClN,MAEtE,IAAIslF,EAAc,CAAC,EAOnB,GANoB,iBAAT1zF,EACP0zF,EAAYC,KAAO3zF,EAGnB0zF,EAAc1zF,GAEboO,KAAK0kF,oBAAoB/0F,OAAOC,KAAK01F,IAetC,MAAM,IAAI,EAAc,wCAAyCtlF,MAQrE,OANAA,KAAK1E,MAAMmwE,cAAc,CAAEgZ,YAAY,IAASjmD,IAC5C,IAAK,MAAM9F,KAAY/oC,OAAOC,KAAK01F,GAAc,CAC7C,MAAMzf,EAAY7lE,KAAK1E,MAAMnM,SAAS2lD,QAAQpc,GAC9C8F,EAAOjvC,OAAOyQ,KAAK82B,MAAMwuD,EAAY5sD,GAAWmtC,GAAYA,EAAW,EAC3E,KAEGrqC,QAAQ9gB,SACnB,CAqCA,GAAAxK,CAAIte,EAAM3C,EAAU,CAAC,GACjB,IAAIu2F,EAAU,CAAC,EAOf,GANoB,iBAAT5zF,EACP4zF,EAAQD,KAAO3zF,EAGf4zF,EAAU5zF,GAEToO,KAAK0kF,oBAAoB/0F,OAAOC,KAAK41F,IAetC,MAAM,IAAI,EAAc,uCAAwCxlF,MAEpEA,KAAK1E,MAAMmwE,cAAcx8E,EAAQw2F,WAAa,CAAC,GAAGjnD,IAC9CA,EAAOgZ,aAAa,MACpBhZ,EAAOknD,yBAAyB1lF,KAAK1E,MAAMnM,SAASopC,UAAUwQ,oBAC9D,IAAK,MAAMrQ,KAAY/oC,OAAOC,KAAK41F,GAAU,CAEzC,MAAM3f,EAAY7lE,KAAK1E,MAAMnM,SAAS2lD,QAAQpc,GAC9C8F,EAAOznC,OAAOynC,EAAOyd,cAAc4pB,IACnCrnC,EAAOjvC,OAAOyQ,KAAK82B,MAAM0uD,EAAQ9sD,GAAWmtC,GAAYA,EAAW,EACvE,IAER,CAWA,KAAA/uC,CAAMllC,EAAMka,EAAU,SAElB,MAAM+4E,EAAuB7kF,KAAKukF,UAAUN,OAAOryF,GAEnD,OAAOoO,KAAK5P,QAAQy0F,EAAsB/4E,EAC9C,CAeA,OAAA1b,CAAQm5D,EAAuBz9C,EAAU,SACrC,OAAO9L,KAAK1E,MAAMijC,QAAOC,GACdx+B,KAAKqkF,iBAAiB30F,QAAQ65D,EAAuB/qB,EAAQ1yB,IAE5E,CAWA,sBAAA65E,CAAuB73E,GACnBA,EAAS9N,KAAK4qC,gBAClB,CAWA,yBAAAiiB,CAA0BxpB,GAElBrjC,KAAKukF,WAAavkF,KAAKukF,YAAcvkF,KAAKskF,eAC1CtkF,KAAKukF,UAAU13B,0BAA0BxpB,GAE7CrjC,KAAKskF,cAAcz3B,0BAA0BxpB,EACjD,CAIA,OAAApd,GACIjmB,KAAKkO,eACT,CAOA,mBAAAw2E,CAAoBkB,GAChB,IAAK,MAAMltD,KAAYktD,EACnB,IAAK5lF,KAAK1E,MAAMnM,SAAS2lD,QAAQpc,GAC7B,OAAO,EAGf,OAAO,CACX,EChWW,MAAMmtD,GAIjB,WAAA17E,CAAY27E,EAAqBC,GAI7B/lF,KAAKgmF,SAAW,IAAI/1E,IAEpBjQ,KAAKimF,UAAY93D,GAAQ23D,GACzB9lF,KAAKkmF,yBAAyB,CAAE1jF,KAAM,WAAYqsE,YAAa7uE,KAAKimF,UAAWE,YAAY,IAC3FnmF,KAAKomF,QAAUj4D,GAAQ43D,GACvB/lF,KAAKkmF,yBAAyB,CAAE1jF,KAAM,SAAUqsE,YAAa7uE,KAAKomF,QAASD,YAAY,GAC3F,CAgBA,QAAAE,CAASC,EAAOjiB,GACZ,MAAM8hB,EAAanmF,KAAKimF,UAAUz1D,SAAS6zC,GAE3C,IADiBrkE,KAAKomF,QAAQ51D,SAAS6zC,KACrB8hB,EAMd,MAAM,IAAI,EAAc,iDAAkDnmF,MAE9EA,KAAKkmF,yBAAyB,CAAE1jF,KAAM8jF,EAAOzX,YAAa,CAACxK,GAAa8hB,cAC5E,CAmEA,IAAIvqC,GACA,IAAK57C,KAAKgmF,SAAS75E,IAAIyvC,GAMnB,MAAM,IAAI,EAAc,+BAAgC57C,MAE5D,OAAOA,KAAKgmF,SAASngF,IAAI+1C,EAC7B,CAyEA,gBAAAqzB,CAAiBvpE,GAEb1F,KAAK+D,IAAI,YAAYkrE,iBAAiBvpE,GAEtC,IAAK,MAAM,MAAEpK,EAAK,KAAEm5B,KAAU8xD,GAAyB7gF,GACnD1F,KAAK+D,IAAI,UACJkrE,iBAAiB,CAClB3zE,QACAm5B,OACA66C,kBAAmB5pE,EAAW4pE,mBAG1C,CAgKA,kBAAAqB,CAAmBjrE,GAEf1F,KAAK+D,IAAI,YAAY4sE,mBAAmBjrE,GAExC,IAAK,MAAM,MAAEpK,EAAK,KAAEm5B,KAAU8xD,GAAyB7gF,GACnD1F,KAAK+D,IAAI,UACJixE,mBAAmB,CACpBvgD,OACAn5B,QACAg0E,kBAAmB5pE,EAAW4pE,mBAG1C,CAgHA,oBAAAyB,CAAqBrrE,GAEjB1F,KAAK+D,IAAI,YAAYgtE,qBAAqBrrE,GAE1C,IAAK,MAAM,MAAEpK,EAAK,KAAEm5B,KAAU8xD,GAAyB7gF,GACnD1F,KAAK+D,IAAI,UACJgtE,qBAAqB,CACtBt8C,OACAn5B,SAGZ,CAMA,wBAAA4qF,EAAyB,KAAE1jF,EAAI,YAAEqsE,EAAW,WAAEsX,IAC1C,GAAInmF,KAAKgmF,SAAS75E,IAAI3J,GAMlB,MAAM,IAAI,EAAc,0BAA2BxC,MAEvD,MAAMwmF,EAAUL,EACZ,IAAInX,GAAgBH,GACpB,IAAIiG,GAAcjG,GACtB7uE,KAAKgmF,SAAS91E,IAAI1N,EAAMgkF,EAC5B,EAMJ,SAAUD,GAAyB7gF,GAC/B,GAAIA,EAAWpK,MAAM2N,OACjB,IAAK,MAAMjZ,KAAS0V,EAAWpK,MAAM2N,OAAQ,CACzC,MAAM3N,EAAQ,CAAE3C,IAAK+M,EAAWpK,MAAM3C,IAAK3I,SACrCykC,EAAO/uB,EAAW+uB,KAAKzkC,GACvBy2F,EAAa/gF,EAAW+gF,WAAa/gF,EAAW+gF,WAAWz2F,QAASmQ,QACnEumF,GAAqBprF,EAAOm5B,EAAMgyD,EAC7C,YAGOC,GAAqBhhF,EAAWpK,MAAOoK,EAAW+uB,KAAM/uB,EAAW+gF,WAElF,CACA,SAAUC,GAAqBprF,EAAOm5B,EAAMgyD,GAExC,QADM,CAAEnrF,QAAOm5B,QACXgyD,EACA,IAAK,MAAME,KAAkBx4D,GAAQs4D,QAC3B,CAAEnrF,QAAOm5B,KAAMkyD,EAGjC,CCjlBe,MAAMC,GAOjB,WAAAz8E,CAAY08E,GACR7mF,KAAK6mF,YAAcA,EACnB7mF,KAAKypE,oBAA2C,OAArBzpE,KAAK6mF,YAChC7mF,KAAKurE,MAAQ,IACjB,CAOA,SAAAub,GACA,CAMA,MAAA1lD,GAGI,MAAMC,EAAO1xC,OAAO83B,OAAO,CAAC,EAAGznB,MAM/B,OALAqhC,EAAK0lD,YAAc/mF,KAAKmK,YAAYm/B,iBAE7BjI,EAAKkqC,aAELlqC,EAAKooC,oBACLpoC,CACX,CAIA,oBAAWiI,GACP,MAAO,WACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,OAAO,IAAI6Q,KAAKqhC,EAAKwlD,YACzB,ECrCG,SAASr9E,GAAQpT,EAAUkpB,GAC9B,MAAMirB,EAAkBy8C,GAAgB1nE,GAElCvF,EAASwwB,EAAgB1d,QAAO,CAACC,EAAKnrB,IAASmrB,EAAMnrB,EAAKogC,YAAY,GACtE3gC,EAAShL,EAASgL,OAExB6lF,GAAqB7wF,GACrB,MAAMlD,EAAQkD,EAASlD,MAOvB,OAJAkO,EAAO0nC,aAAa51C,EAAOq3C,GAE3B28C,GAAmB9lF,EAAQlO,EAAQq3C,EAAgB95C,QACnDy2F,GAAmB9lF,EAAQlO,GACpB,IAAI,GAAMkD,EAAUA,EAASm4C,aAAax0B,GACrD,CAOO,SAAS0Y,GAAQzN,GACpB,IAAKA,EAAMlJ,OAMP,MAAM,IAAI,EAAc,wCAAyC9b,MAErE,MAAMoB,EAAS4jB,EAAM6J,MAAMztB,OAE3B6lF,GAAqBjiE,EAAM6J,OAC3Bo4D,GAAqBjiE,EAAM4I,KAE3B,MAAMwE,EAAUhxB,EAAO8/B,gBAAgBlc,EAAM6J,MAAM37B,MAAO8xB,EAAM4I,IAAI16B,MAAQ8xB,EAAM6J,MAAM37B,OAIxF,OADAg0F,GAAmB9lF,EAAQ4jB,EAAM6J,MAAM37B,OAChCk/B,CACX,CASO,SAAS+0D,GAAM5tC,EAAaC,GAC/B,IAAKD,EAAYz9B,OAMb,MAAM,IAAI,EAAc,sCAAuC9b,MAEnE,MAAMsf,EAAQmT,GAAQ8mB,GAItB,OAAO/vC,GADPgwC,EAAiBA,EAAe+iB,0BAA0BhjB,EAAY1qB,MAAO0qB,EAAY3rB,IAAI7T,OAASw/B,EAAY1qB,MAAM9U,QACzFuF,EACnC,CAuCO,SAAS0nE,GAAgB1nE,GAC5B,MAAMi2D,EAAa,IACnB,SAAS7lF,EAAQ4vB,GACb,GAAoB,iBAATA,EACPi2D,EAAWxmF,KAAK,IAAI,GAAKuwB,SAExB,GAAIA,aAAiB,GACtBi2D,EAAWxmF,KAAK,IAAI,GAAKuwB,EAAM1tB,KAAM0tB,EAAM0pB,uBAE1C,GAAI1pB,aAAiB,GACtBi2D,EAAWxmF,KAAKuwB,QAEf,GAAIlK,GAAWkK,GAChB,IAAK,MAAM3d,KAAQ2d,EACf5vB,EAAQiS,OAGX,CAIL,CACJ,CACAjS,CAAQ4vB,GAER,IAAK,IAAI1uB,EAAI,EAAGA,EAAI2kF,EAAW9kF,OAAQG,IAAK,CACxC,MAAM+Q,EAAO4zE,EAAW3kF,GAClBopD,EAAOu7B,EAAW3kF,EAAI,GACxB+Q,aAAgB,IAAQq4C,aAAgB,IAAQotC,GAAoBzlF,EAAMq4C,KAE1Eu7B,EAAW37E,OAAOhJ,EAAI,EAAG,EAAG,IAAI,GAAKopD,EAAKpoD,KAAO+P,EAAK/P,KAAMooD,EAAKhR,kBACjEp4C,IAER,CACA,OAAO2kF,CACX,CAUA,SAAS2R,GAAmBh4F,EAASgE,GACjC,MAAMk7C,EAAal/C,EAAQgxC,SAAShtC,EAAQ,GACtCi7C,EAAYj/C,EAAQgxC,SAAShtC,GAEnC,GAAIk7C,GAAcD,GAAaC,EAAW3hC,GAAG,UAAY0hC,EAAU1hC,GAAG,UAAY26E,GAAoBh5C,EAAYD,GAAY,CAE1H,MAAMk5C,EAAa,IAAI,GAAKj5C,EAAWx8C,KAAOu8C,EAAUv8C,KAAMw8C,EAAWpF,iBAEzE95C,EAAQgyC,gBAAgBhuC,EAAQ,EAAG,GAEnChE,EAAQ45C,aAAa51C,EAAQ,EAAGm0F,EACpC,CACJ,CAOA,SAASJ,GAAqB7wF,GAC1B,MAAMyrC,EAAWzrC,EAASyrC,SACpB3yC,EAAUkH,EAASgL,OACzB,GAAIygC,EAAU,CACV,MAAMylD,EAAalxF,EAAS2jB,OAAS8nB,EAASoM,YACxC/6C,EAAQ2uC,EAAS3uC,MACvBhE,EAAQgyC,gBAAgBhuC,EAAO,GAC/B,MAAMq0F,EAAY,IAAI,GAAK1lD,EAASjwC,KAAK8e,OAAO,EAAG42E,GAAazlD,EAASmH,iBACnEw+C,EAAa,IAAI,GAAK3lD,EAASjwC,KAAK8e,OAAO42E,GAAazlD,EAASmH,iBACvE95C,EAAQ45C,aAAa51C,EAAO,CAACq0F,EAAWC,GAC5C,CACJ,CAQA,SAASJ,GAAoBK,EAAOC,GAChC,MAAMC,EAAYF,EAAMz+C,gBAClB4+C,EAAYF,EAAM1+C,gBACxB,IAAK,MAAMtmC,KAAQilF,EAAW,CAC1B,GAAIjlF,EAAK,KAAOglF,EAAM3nD,aAAar9B,EAAK,IACpC,OAAO,EAEXklF,EAAUh0D,MACd,CACA,OAAOg0D,EAAUh0D,OAAOC,IAC5B,CCvMe,MAAMg0D,WAAsBjB,GAWvC,WAAAz8E,CAAY8xD,EAAgB/yD,EAASswC,EAAgBqtC,GACjD96E,MAAM86E,GACN7mF,KAAKi8D,eAAiBA,EAAeh6C,QAErCjiB,KAAKi8D,eAAe/B,WAAa,SACjCl6D,KAAKkJ,QAAUA,EACflJ,KAAKw5C,eAAiBA,EAAev3B,QACrCjiB,KAAKw5C,eAAe0gB,WAAa,QACrC,CAIA,QAAIh3D,GACA,MAAyC,cAArClD,KAAKw5C,eAAenrD,KAAKqqC,SAClB,SAEmC,cAArC14B,KAAKi8D,eAAe5tE,KAAKqqC,SACvB,WAEJ,MACX,CAIA,sBAAIovD,GACA,MAAO,CACH,GAAMt3C,4BAA4BxwC,KAAKi8D,eAAgBj8D,KAAKkJ,SAC5D,GAAMsnC,4BAA4BxwC,KAAKw5C,eAAgB,GAE/D,CAIA,KAAAv3B,GACI,OAAO,IAAI4lE,GAAc7nF,KAAKi8D,eAAgBj8D,KAAKkJ,QAASlJ,KAAKw5C,eAAgBx5C,KAAK6mF,YAC1F,CAeA,kBAAAkB,GACI,OAAO/nF,KAAKw5C,eAAe+iB,0BAA0Bv8D,KAAKi8D,eAAgBj8D,KAAKkJ,QACnF,CAIA,WAAA8+E,GACI,MAAMC,EAAoBjoF,KAAKi8D,eAAeF,2BAA2B/7D,KAAKw5C,eAAgBx5C,KAAKkJ,SACnG,OAAO,IAAI2+E,GAAc7nF,KAAK+nF,qBAAsB/nF,KAAKkJ,QAAS++E,EAAmBjoF,KAAK6mF,YAAc,EAC5G,CAKA,SAAAC,GACI,MAAMoB,EAAgBloF,KAAKi8D,eAAe76D,OACpC+mF,EAAgBnoF,KAAKw5C,eAAep4C,OACpCgnF,EAAepoF,KAAKi8D,eAAeliD,OACnCsuE,EAAeroF,KAAKw5C,eAAez/B,OAIzC,GAAIquE,EAAepoF,KAAKkJ,QAAUg/E,EAAc7tB,UAM5C,MAAM,IAAI,EAAc,oCAAqCr6D,MAE5D,GAAIkoF,IAAkBC,GAAiBC,EAAeC,GAAgBA,EAAeD,EAAepoF,KAAKkJ,QAM1G,MAAM,IAAI,EAAc,mCAAoClJ,MAE3D,GAAIA,KAAKi8D,eAAe5tE,MAAQ2R,KAAKw5C,eAAenrD,MAC0C,UAA3F6mB,GAAclV,KAAKi8D,eAAejB,gBAAiBh7D,KAAKw5C,eAAewhB,iBAA8B,CACrG,MAAMpqE,EAAIoP,KAAKi8D,eAAeh6D,KAAKxR,OAAS,EAC5C,GAAIuP,KAAKw5C,eAAev3C,KAAKrR,IAAMw3F,GAAgBpoF,KAAKw5C,eAAev3C,KAAKrR,GAAKw3F,EAAepoF,KAAKkJ,QAMjG,MAAM,IAAI,EAAc,kCAAmClJ,KAEnE,CAER,CAKA,QAAAsoF,GACInB,GAAM,GAAM32C,4BAA4BxwC,KAAKi8D,eAAgBj8D,KAAKkJ,SAAUlJ,KAAKw5C,eACrF,CAIA,MAAApY,GACI,MAAMC,EAAOt1B,MAAMq1B,SAGnB,OAFAC,EAAK46B,eAAiBj8D,KAAKi8D,eAAe76B,SAC1CC,EAAKmY,eAAiBx5C,KAAKw5C,eAAepY,SACnCC,CACX,CAIA,oBAAWiI,GACP,MAAO,eACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,MAAM8sE,EAAiB,GAASY,SAASx7B,EAAK46B,eAAgB9sE,GACxDqqD,EAAiB,GAASqjB,SAASx7B,EAAKmY,eAAgBrqD,GAC9D,OAAO,IAAI6Q,KAAKi8D,EAAgB56B,EAAKn4B,QAASswC,EAAgBnY,EAAKwlD,YACvE,EChJW,MAAM0B,WAAwB3B,GASzC,WAAAz8E,CAAY/T,EAAUkpB,EAAOunE,GACzB96E,MAAM86E,GACN7mF,KAAK5J,SAAWA,EAAS6rB,QACzBjiB,KAAK5J,SAAS8jE,WAAa,SAC3Bl6D,KAAKsf,MAAQ,IAAI+tD,GAAS2Z,GAAgB1nE,IAC1Ctf,KAAKwoF,yBAA0B,CACnC,CAIA,QAAItlF,GACA,MAAO,QACX,CAIA,WAAIgG,GACA,OAAOlJ,KAAKsf,MAAM+6C,SACtB,CAIA,sBAAIytB,GACA,OAAO9nF,KAAK5J,SAAS6rB,OACzB,CAIA,KAAAA,GACI,MAAM3C,EAAQ,IAAI+tD,GAAS,IAAIrtE,KAAKsf,OAAOhgB,KAAIqC,GAAQA,EAAKggC,QAAO,MAC7DpyC,EAAS,IAAIg5F,GAAgBvoF,KAAK5J,SAAUkpB,EAAOtf,KAAK6mF,aAE9D,OADAt3F,EAAOi5F,wBAA0BxoF,KAAKwoF,wBAC/Bj5F,CACX,CAIA,WAAAy4F,GACI,MAAMlrB,EAAY98D,KAAK5J,SAAS/H,KAAKc,SAAS2tE,UACxC2rB,EAAa,IAAI,GAAS3rB,EAAW,CAAC,IAC5C,OAAO,IAAI+qB,GAAc7nF,KAAK5J,SAAU4J,KAAKsf,MAAM+6C,UAAWouB,EAAYzoF,KAAK6mF,YAAc,EACjG,CAKA,SAAAC,GACI,MAAMqB,EAAgBnoF,KAAK5J,SAASgL,OACpC,IAAK+mF,GAAiBA,EAAc9tB,UAAYr6D,KAAK5J,SAAS2jB,OAM1D,MAAM,IAAI,EAAc,oCAAqC/Z,KAErE,CAKA,QAAAsoF,GAKI,MAAMI,EAAgB1oF,KAAKsf,MAC3Btf,KAAKsf,MAAQ,IAAI+tD,GAAS,IAAIqb,GAAeppF,KAAIqC,GAAQA,EAAKggC,QAAO,MACrEn4B,GAAQxJ,KAAK5J,SAAUsyF,EAC3B,CAIA,MAAAtnD,GACI,MAAMC,EAAOt1B,MAAMq1B,SAGnB,OAFAC,EAAKjrC,SAAW4J,KAAK5J,SAASgrC,SAC9BC,EAAK/hB,MAAQtf,KAAKsf,MAAM8hB,SACjBC,CACX,CAIA,oBAAWiI,GACP,MAAO,iBACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,MAAMsU,EAAW,GACjB,IAAK,MAAM0S,KAASkrB,EAAK/hB,MACjBnJ,EAAM3T,KAENiB,EAAS1U,KAAK,GAAQ8tE,SAAS1mD,IAI/B1S,EAAS1U,KAAK,GAAK8tE,SAAS1mD,IAGpC,MAAM5mB,EAAS,IAAIg5F,GAAgB,GAAS1rB,SAASx7B,EAAKjrC,SAAUjH,GAAWsU,EAAU49B,EAAKwlD,aAE9F,OADAt3F,EAAOi5F,wBAA0BnnD,EAAKmnD,wBAC/Bj5F,CACX,ECnHW,MAAMo5F,WAAuB/B,GAYxC,WAAAz8E,CAAYiyD,EAAelzD,EAASszC,EAAmB8f,EAAmBuqB,GACtE96E,MAAM86E,GACN7mF,KAAKo8D,cAAgBA,EAAcn6C,QAGnCjiB,KAAKo8D,cAAclC,WAAa,SAChCl6D,KAAKkJ,QAAUA,EACflJ,KAAKw8C,kBAAoBA,EACzBx8C,KAAKs8D,kBAAoBA,EAAoBA,EAAkBr6C,QAAU,KACrEjiB,KAAKs8D,oBACLt8D,KAAKs8D,kBAAkBpC,WAAa,SAE5C,CAIA,QAAIh3D,GACA,MAAO,OACX,CAMA,sBAAIm5D,GACA,MAAMp6D,EAAOjC,KAAKw8C,kBAAkBv6C,KAAKzJ,QAEzC,OADAyJ,EAAKlT,KAAK,GACH,IAAI,GAASiR,KAAKw8C,kBAAkBnuD,KAAM4T,EACrD,CAKA,cAAIi6D,GACA,MAAMtuC,EAAM5tB,KAAKo8D,cAAc7tB,aAAajpB,OAAOC,mBACnD,OAAO,IAAI,GAAMvlB,KAAKo8D,cAAexuC,EACzC,CAIA,sBAAIk6D,GAEA,MAAMh4C,EAAS,CACX,GAAMU,4BAA4BxwC,KAAKo8D,cAAe,GACtD,GAAM5rB,4BAA4BxwC,KAAKw8C,kBAAmB,IAK9D,OAHIx8C,KAAKs8D,mBACLxsB,EAAO/gD,KAAK,GAAMyhD,4BAA4BxwC,KAAKs8D,kBAAmB,IAEnExsB,CACX,CAMA,KAAA7tB,GACI,OAAO,IAAI0mE,GAAe3oF,KAAKo8D,cAAep8D,KAAKkJ,QAASlJ,KAAKw8C,kBAAmBx8C,KAAKs8D,kBAAmBt8D,KAAK6mF,YACrH,CAIA,WAAAmB,GACI,MAAMlrB,EAAY98D,KAAKo8D,cAAc/tE,KAAKc,SAAS2tE,UAC7CR,EAAoB,IAAI,GAASQ,EAAW,CAAC,IACnD,OAAO,IAAI8rB,GAAe5oF,KAAKq8D,mBAAoBr8D,KAAKkJ,QAASlJ,KAAKo8D,cAAeE,EAAmBt8D,KAAK6mF,YAAc,EAC/H,CAKA,SAAAC,GACI,MAAM53F,EAAU8Q,KAAKo8D,cAAch7D,OAC7B2Y,EAAS/Z,KAAKo8D,cAAcriD,OAElC,IAAK7qB,GAAWA,EAAQmrE,UAAYtgD,EAMhC,MAAM,IAAI,EAAc,mCAAoC/Z,MAE3D,IAAK9Q,EAAQkS,OAMd,MAAM,IAAI,EAAc,gCAAiCpB,MAExD,GAAIA,KAAKkJ,SAAWha,EAAQmrE,UAAYr6D,KAAKo8D,cAAcriD,OAM5D,MAAM,IAAI,EAAc,mCAAoC/Z,MAE3D,GAAIA,KAAKs8D,oBAAsBt8D,KAAKs8D,kBAAkBnuB,UAMvD,MAAM,IAAI,EAAc,6CAA8CnuC,KAE9E,CAKA,QAAAsoF,GACI,MAAMO,EAAe7oF,KAAKo8D,cAAch7D,OACxC,GAAIpB,KAAKs8D,kBACL6qB,GAAM,GAAM32C,4BAA4BxwC,KAAKs8D,kBAAmB,GAAIt8D,KAAKw8C,uBAExE,CACD,MAAMlD,EAAauvC,EAAalnD,SAChCn4B,GAAQxJ,KAAKw8C,kBAAmBlD,EACpC,CAEA6tC,GADoB,IAAI,GAAM,GAASv6C,UAAUi8C,EAAc7oF,KAAKo8D,cAAcriD,QAAS,GAAS6yB,UAAUi8C,EAAcA,EAAaxuB,YACtHr6D,KAAKq8D,mBAC5B,CAIA,MAAAj7B,GACI,MAAMC,EAAOt1B,MAAMq1B,SAMnB,OALAC,EAAK+6B,cAAgBp8D,KAAKo8D,cAAch7B,SACxCC,EAAKmb,kBAAoBx8C,KAAKw8C,kBAAkBpb,SAC5CphC,KAAKs8D,oBACLj7B,EAAKi7B,kBAAoBt8D,KAAKs8D,kBAAkBl7B,UAE7CC,CACX,CAIA,oBAAWiI,GACP,MAAO,gBACX,CAKA,2BAAOw/C,CAAqB1sB,GACxB,MAAMn6D,EAAOm6D,EAAcn6D,KAAKzJ,MAAM,GAAI,GAE1C,OADAyJ,EAAKA,EAAKxR,OAAS,KACZ,IAAI,GAAS2rE,EAAc/tE,KAAM4T,EAAM,aAClD,CAOA,eAAO46D,CAASx7B,EAAMlyC,GAClB,MAAMitE,EAAgB,GAASS,SAASx7B,EAAK+6B,cAAejtE,GACtDqtD,EAAoB,GAASqgB,SAASx7B,EAAKmb,kBAAmBrtD,GAC9DmtE,EAAoBj7B,EAAKi7B,kBAAoB,GAASO,SAASx7B,EAAKi7B,kBAAmBntE,GAAY,KACzG,OAAO,IAAI6Q,KAAKo8D,EAAe/6B,EAAKn4B,QAASszC,EAAmB8f,EAAmBj7B,EAAKwlD,YAC5F,EC3KW,MAAM+B,WAAuBhC,GAYxC,WAAAz8E,CAAY8xD,EAAgB/yD,EAASswC,EAAgB8iB,EAAmBuqB,GACpE96E,MAAM86E,GACN7mF,KAAKi8D,eAAiBA,EAAeh6C,QAErCjiB,KAAKi8D,eAAe/B,WAAa,aACjCl6D,KAAKkJ,QAAUA,EACflJ,KAAKw5C,eAAiBA,EAAev3B,QAGrCjiB,KAAKw5C,eAAe0gB,WAAa,SACjCl6D,KAAKs8D,kBAAoBA,EAAkBr6C,OAC/C,CAIA,QAAI/e,GACA,MAAO,OACX,CAIA,oBAAIs5D,GACA,OAAO,IAAI,GAASx8D,KAAKi8D,eAAe5tE,KAAM2R,KAAKi8D,eAAeh6D,KAAKzJ,MAAM,GAAI,GACrF,CAKA,cAAI0jE,GACA,MAAMtuC,EAAM5tB,KAAKi8D,eAAe1tB,aAAajpB,OAAOC,mBACpD,OAAO,IAAI,GAAMvlB,KAAKi8D,eAAgBruC,EAC1C,CAIA,sBAAIk6D,GACA,MAAMiB,EAAgB/oF,KAAKi8D,eAAe76D,OAC1C,MAAO,CACH,GAAMsvC,UAAUq4C,GAEhB,GAAMv4C,4BAA4BxwC,KAAKw5C,eAAgB,GACvD,GAAMhJ,4BAA4BxwC,KAAKs8D,kBAAmB,GAElE,CAIA,KAAAr6C,GACI,OAAO,IAAI2mE,GAAe5oF,KAAKi8D,eAAgBj8D,KAAKkJ,QAASlJ,KAAKw5C,eAAgBx5C,KAAKs8D,kBAAmBt8D,KAAK6mF,YACnH,CAIA,WAAAmB,GAII,MAAMxuC,EAAiBx5C,KAAKw5C,eAAesiB,gCAAgC97D,MACrEiC,EAAOjC,KAAKi8D,eAAeh6D,KAAKzJ,MAAM,GAAI,GAC1CgkD,EAAoB,IAAI,GAASx8C,KAAKi8D,eAAe5tE,KAAM4T,GAAM65D,gCAAgC97D,MACvG,OAAO,IAAI2oF,GAAenvC,EAAgBx5C,KAAKkJ,QAASszC,EAAmBx8C,KAAKs8D,kBAAmBt8D,KAAK6mF,YAAc,EAC1H,CAKA,SAAAC,GACI,MAAMoB,EAAgBloF,KAAKi8D,eAAe76D,OACpC+mF,EAAgBnoF,KAAKw5C,eAAep4C,OAE1C,IAAK8mF,EAAc9mF,OAMf,MAAM,IAAI,EAAc,0CAA2CpB,MAElE,IAAKmoF,EAAc/mF,OAMpB,MAAM,IAAI,EAAc,0CAA2CpB,MAElE,GAAIA,KAAKkJ,SAAWg/E,EAAc7tB,UAMnC,MAAM,IAAI,EAAc,mCAAoCr6D,KAEpE,CAKA,QAAAsoF,GACI,MAAMS,EAAgB/oF,KAAKi8D,eAAe76D,OAE1C+lF,GADoB,GAAM12C,UAAUs4C,GACjB/oF,KAAKw5C,gBACxB2tC,GAAM,GAAMz2C,UAAUq4C,GAAgB/oF,KAAKs8D,kBAC/C,CAIA,MAAAl7B,GACI,MAAMC,EAAOt1B,MAAMq1B,SAInB,OAHAC,EAAK46B,eAAiB56B,EAAK46B,eAAe76B,SAC1CC,EAAKmY,eAAiBnY,EAAKmY,eAAepY,SAC1CC,EAAKi7B,kBAAoBj7B,EAAKi7B,kBAAkBl7B,SACzCC,CACX,CAIA,oBAAWiI,GACP,MAAO,gBACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,MAAM8sE,EAAiB,GAASY,SAASx7B,EAAK46B,eAAgB9sE,GACxDqqD,EAAiB,GAASqjB,SAASx7B,EAAKmY,eAAgBrqD,GACxDmtE,EAAoB,GAASO,SAASx7B,EAAKi7B,kBAAmBntE,GACpE,OAAO,IAAI6Q,KAAKi8D,EAAgB56B,EAAKn4B,QAASswC,EAAgB8iB,EAAmBj7B,EAAKwlD,YAC1F,EC5JW,MAAMmC,WAAwBpC,GAWzC,WAAAz8E,CAAY3H,EAAMilE,EAAUnsB,EAAUmpB,EAASnsC,EAAauuD,GACxD96E,MAAM86E,GACN7mF,KAAKwC,KAAOA,EACZxC,KAAKynE,SAAWA,EAAWA,EAASxlD,QAAU,KAC9CjiB,KAAKs7C,SAAWA,EAAWA,EAASr5B,QAAU,KAC9CjiB,KAAKs4B,YAAcA,EACnBt4B,KAAKipF,SAAWxkB,CACpB,CAIA,QAAIvhE,GACA,MAAO,QACX,CAIA,sBAAI4kF,GACA,MAAMh4C,EAAS,GAYf,OAXI9vC,KAAKynE,UACL33B,EAAO/gD,KAAKiR,KAAKynE,SAASxlD,SAE1BjiB,KAAKs7C,WACDt7C,KAAKynE,SACL33B,EAAO/gD,QAAQiR,KAAKs7C,SAASzL,cAAc7vC,KAAKynE,WAGhD33B,EAAO/gD,KAAKiR,KAAKs7C,SAASr5B,UAG3B6tB,CACX,CAIA,KAAA7tB,GACI,OAAO,IAAI+mE,GAAgBhpF,KAAKwC,KAAMxC,KAAKynE,SAAUznE,KAAKs7C,SAAUt7C,KAAKipF,SAAUjpF,KAAKs4B,YAAat4B,KAAK6mF,YAC9G,CAIA,WAAAmB,GACI,OAAO,IAAIgB,GAAgBhpF,KAAKwC,KAAMxC,KAAKs7C,SAAUt7C,KAAKynE,SAAUznE,KAAKipF,SAAUjpF,KAAKs4B,YAAat4B,KAAK6mF,YAAc,EAC5H,CAKA,QAAAyB,GACQtoF,KAAKs7C,SACLt7C,KAAKipF,SAAS3gD,KAAKtoC,KAAKwC,KAAMxC,KAAKs7C,UAAU,EAAMt7C,KAAKs4B,aAGxDt4B,KAAKipF,SAASx2D,QAAQzyB,KAAKwC,KAEnC,CAKA,MAAA4+B,GACI,MAAMC,EAAOt1B,MAAMq1B,SAQnB,OAPIphC,KAAKynE,WACLpmC,EAAKomC,SAAWznE,KAAKynE,SAASrmC,UAE9BphC,KAAKs7C,WACLja,EAAKia,SAAWt7C,KAAKs7C,SAASla,iBAE3BC,EAAK4nD,SACL5nD,CACX,CAIA,oBAAWiI,GACP,MAAO,iBACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,OAAO,IAAI65F,GAAgB3nD,EAAK7+B,KAAM6+B,EAAKomC,SAAW,GAAM5K,SAASx7B,EAAKomC,SAAUt4E,GAAY,KAAMkyC,EAAKia,SAAW,GAAMuhB,SAASx7B,EAAKia,SAAUnsD,GAAY,KAAMA,EAASmM,MAAMmpE,QAASpjC,EAAK/I,YAAa+I,EAAKwlD,YACzN,ECvEJ,SAJA,SAAiB72F,EAAO6mB,GACtB,OAAO,GAAY7mB,EAAO6mB,EAC5B,ECfe,MAAMqyE,WAA2BtC,GAoB5C,WAAAz8E,CAAY6a,EAAOrsB,EAAKoZ,EAAUC,EAAU60E,GACxC96E,MAAM86E,GACN7mF,KAAKglB,MAAQA,EAAM/C,QACnBjiB,KAAKrH,IAAMA,EACXqH,KAAK+R,cAAwB5R,IAAb4R,EAAyB,KAAOA,EAChD/R,KAAKgS,cAAwB7R,IAAb6R,EAAyB,KAAOA,CACpD,CAIA,QAAI9O,GACA,OAAsB,OAAlBlD,KAAK+R,SACE,eAEgB,OAAlB/R,KAAKgS,SACH,kBAGA,iBAEf,CAIA,sBAAI81E,GACA,OAAO9nF,KAAKglB,MAAM/C,OACtB,CAIA,KAAAA,GACI,OAAO,IAAIinE,GAAmBlpF,KAAKglB,MAAOhlB,KAAKrH,IAAKqH,KAAK+R,SAAU/R,KAAKgS,SAAUhS,KAAK6mF,YAC3F,CAIA,WAAAmB,GACI,OAAO,IAAIkB,GAAmBlpF,KAAKglB,MAAOhlB,KAAKrH,IAAKqH,KAAKgS,SAAUhS,KAAK+R,SAAU/R,KAAK6mF,YAAc,EACzG,CAIA,MAAAzlD,GACI,MAAMC,EAAOt1B,MAAMq1B,SAEnB,OADAC,EAAKrc,MAAQhlB,KAAKglB,MAAMoc,SACjBC,CACX,CAKA,SAAAylD,GACI,IAAK9mF,KAAKglB,MAAMlJ,OAMZ,MAAM,IAAI,EAAc,qCAAsC9b,MAElE,IAAK,MAAM7O,KAAQ6O,KAAKglB,MAAMmrB,SAAS,CAAErD,SAAS,IAAS,CACvD,GAAsB,OAAlB9sC,KAAK+R,WAAsB,GAAQ5gB,EAAK4uC,aAAa//B,KAAKrH,KAAMqH,KAAK+R,UASrE,MAAM,IAAI,EAAc,sCAAuC/R,KAAM,CAAE7O,OAAMwH,IAAKqH,KAAKrH,IAAK3I,MAAOgQ,KAAK+R,WAE5G,GAAsB,OAAlB/R,KAAK+R,UAAuC,OAAlB/R,KAAKgS,UAAqB7gB,EAAK83C,aAAajpC,KAAKrH,KAQ3E,MAAM,IAAI,EAAc,uCAAwCqH,KAAM,CAAE2B,KAAMxQ,EAAMwH,IAAKqH,KAAKrH,KAEtG,CACJ,CAKA,QAAA2vF,GAES,GAAQtoF,KAAK+R,SAAU/R,KAAKgS,WPlClC,SAAuBgT,EAAOrsB,EAAK3I,GAEtCi3F,GAAqBjiE,EAAM6J,OAC3Bo4D,GAAqBjiE,EAAM4I,KAE3B,IAAK,MAAMz8B,KAAQ6zB,EAAMmrB,SAAS,CAAErD,SAAS,IAAS,CAIlD,MAAMnrC,EAAOxQ,EAAKsb,GAAG,cAAgBtb,EAAK0wC,SAAW1wC,EACvC,OAAVnB,EACA2R,EAAK8oC,cAAc9xC,EAAK3I,GAGxB2R,EAAKkpC,iBAAiBlyC,GAG1BuuF,GAAmBvlF,EAAKP,OAAQO,EAAKzO,MACzC,CAEAg0F,GAAmBliE,EAAM4I,IAAIxsB,OAAQ4jB,EAAM4I,IAAI16B,MACnD,COeYu3C,CAAczqC,KAAKglB,MAAOhlB,KAAKrH,IAAKqH,KAAKgS,SAEjD,CAIA,oBAAWs3B,GACP,MAAO,oBACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,OAAO,IAAI+5F,GAAmB,GAAMrsB,SAASx7B,EAAKrc,MAAO71B,GAAWkyC,EAAK1oC,IAAK0oC,EAAKtvB,SAAUsvB,EAAKrvB,SAAUqvB,EAAKwlD,YACrH,EClIW,MAAMsC,WAAoBvC,GACrC,QAAI1jF,GACA,MAAO,MACX,CAIA,sBAAI4kF,GACA,OAAO,IACX,CAIA,KAAA7lE,GACI,OAAO,IAAIknE,GAAYnpF,KAAK6mF,YAChC,CAIA,WAAAmB,GACI,OAAO,IAAImB,GAAYnpF,KAAK6mF,YAAc,EAC9C,CAEA,QAAAyB,GACA,CAIA,oBAAWh/C,GACP,MAAO,aACX,EC9BW,MAAM8/C,WAAwBxC,GAUzC,WAAAz8E,CAAY/T,EAAUizF,EAAS5tC,EAASorC,GACpC96E,MAAM86E,GACN7mF,KAAK5J,SAAWA,EAEhB4J,KAAK5J,SAAS8jE,WAAa,SAC3Bl6D,KAAKqpF,QAAUA,EACfrpF,KAAKy7C,QAAUA,CACnB,CAIA,QAAIv4C,GACA,MAAO,QACX,CAIA,sBAAI4kF,GACA,OAAO9nF,KAAK5J,SAAS+3C,SACzB,CAMA,KAAAlsB,GACI,OAAO,IAAImnE,GAAgBppF,KAAK5J,SAAS6rB,QAASjiB,KAAKqpF,QAASrpF,KAAKy7C,QAASz7C,KAAK6mF,YACvF,CAIA,WAAAmB,GACI,OAAO,IAAIoB,GAAgBppF,KAAK5J,SAAS6rB,QAASjiB,KAAKy7C,QAASz7C,KAAKqpF,QAASrpF,KAAK6mF,YAAc,EACrG,CAKA,SAAAC,GACI,MAAM53F,EAAU8Q,KAAK5J,SAAS+3C,UAC9B,KAAMj/C,aAAmB,IAMrB,MAAM,IAAI,EAAc,kCAAmC8Q,MAE1D,GAAI9Q,EAAQsT,OAASxC,KAAKqpF,QAM3B,MAAM,IAAI,EAAc,8BAA+BrpF,KAE/D,CAKA,QAAAsoF,GACoBtoF,KAAK5J,SAAS+3C,UACtB3rC,KAAOxC,KAAKy7C,OACxB,CAIA,MAAAra,GACI,MAAMC,EAAOt1B,MAAMq1B,SAEnB,OADAC,EAAKjrC,SAAW4J,KAAK5J,SAASgrC,SACvBC,CACX,CAIA,oBAAWiI,GACP,MAAO,iBACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,OAAO,IAAIi6F,GAAgB,GAASvsB,SAASx7B,EAAKjrC,SAAUjH,GAAWkyC,EAAKgoD,QAAShoD,EAAKoa,QAASpa,EAAKwlD,YAC5G,EC9FW,MAAMyC,WAA+B1C,GAYhD,WAAAz8E,CAAY9b,EAAMsK,EAAKoZ,EAAUC,EAAU60E,GACvC96E,MAAM86E,GACN7mF,KAAK3R,KAAOA,EACZ2R,KAAKrH,IAAMA,EACXqH,KAAK+R,cAAwB5R,IAAb4R,EAAyB,KAAOA,EAChD/R,KAAKgS,cAAwB7R,IAAb6R,EAAyB,KAAOA,CACpD,CAIA,QAAI9O,GACA,OAAsB,OAAlBlD,KAAK+R,SACE,mBAEgB,OAAlB/R,KAAKgS,SACH,sBAGA,qBAEf,CAIA,sBAAI81E,GACA,OAAO9nF,KAAK3R,IAChB,CAMA,KAAA4zB,GACI,OAAO,IAAIqnE,GAAuBtpF,KAAK3R,KAAM2R,KAAKrH,IAAKqH,KAAK+R,SAAU/R,KAAKgS,SAAUhS,KAAK6mF,YAC9F,CAIA,WAAAmB,GACI,OAAO,IAAIsB,GAAuBtpF,KAAK3R,KAAM2R,KAAKrH,IAAKqH,KAAKgS,SAAUhS,KAAK+R,SAAU/R,KAAK6mF,YAAc,EAC5G,CAKA,SAAAC,GACI,GAAI9mF,KAAK3R,MAAQ2R,KAAK3R,KAAKA,MAAQ2R,KAAK3R,KAAKoe,GAAG,oBAS5C,MAAM,IAAI,EAAc,qCAAsCzM,KAAM,CAAE3R,KAAM2R,KAAK3R,KAAMsK,IAAKqH,KAAKrH,MAErG,GAAsB,OAAlBqH,KAAK+R,UAAqB/R,KAAK3R,KAAK0xC,aAAa//B,KAAKrH,OAASqH,KAAK+R,SASpE,MAAM,IAAI,EAAc,0CAA2C/R,KAAM,CAAE3R,KAAM2R,KAAK3R,KAAMsK,IAAKqH,KAAKrH,MAE1G,GAAsB,OAAlBqH,KAAK+R,UAAuC,OAAlB/R,KAAKgS,UAAqBhS,KAAK3R,KAAK46C,aAAajpC,KAAKrH,KAQhF,MAAM,IAAI,EAAc,2CAA4CqH,KAAM,CAAE3R,KAAM2R,KAAK3R,KAAMsK,IAAKqH,KAAKrH,KAE/G,CAKA,QAAA2vF,GAC0B,OAAlBtoF,KAAKgS,SACLhS,KAAK3R,KAAKo8C,cAAczqC,KAAKrH,IAAKqH,KAAKgS,UAGvChS,KAAK3R,KAAKw8C,iBAAiB7qC,KAAKrH,IAExC,CAIA,MAAAyoC,GACI,MAAMC,EAAOt1B,MAAMq1B,SAEnB,OADAC,EAAKhzC,KAAO2R,KAAK3R,KAAK+yC,SACfC,CACX,CAIA,oBAAWiI,GACP,MAAO,wBACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,IAAKA,EAAS2lD,QAAQzT,EAAKhzC,MAOvB,MAAM,IAAI,EAAc,2CAA4C2R,KAAM,CAAE04B,SAAU2I,EAAKhzC,OAE/F,OAAO,IAAIi7F,GAAuBn6F,EAAS2lD,QAAQzT,EAAKhzC,MAAOgzC,EAAK1oC,IAAK0oC,EAAKtvB,SAAUsvB,EAAKrvB,SAAUqvB,EAAKwlD,YAChH,EC9IW,MAAM0C,WAAsB3C,GAUvC,WAAAz8E,CAAYuuB,EAAUqT,EAAay9C,EAAOr6F,EAAU03F,GAUhD,GATA96E,MAAM86E,GACN7mF,KAAK04B,SAAWA,EAChB14B,KAAK+rC,YAAcA,EACnB/rC,KAAKwpF,MAAQA,EACbxpF,KAAKmrE,UAAYh8E,GAKZ6Q,KAAKmrE,UAAUr2B,QAAQ90C,KAAK04B,UAAW,CAC3B14B,KAAKmrE,UAAUse,WAAWzpF,KAAK+rC,YAAa/rC,KAAK04B,UACzDgxD,aAAc,CACvB,CACJ,CAIA,QAAIxmF,GACA,OAAOlD,KAAKwpF,MAAQ,UAAY,YACpC,CAIA,sBAAI1B,GACA,OAAO9nF,KAAKmrE,UAAUr2B,QAAQ90C,KAAK04B,SACvC,CAIA,KAAAzW,GACI,OAAO,IAAIsnE,GAAcvpF,KAAK04B,SAAU14B,KAAK+rC,YAAa/rC,KAAKwpF,MAAOxpF,KAAKmrE,UAAWnrE,KAAK6mF,YAC/F,CAIA,WAAAmB,GACI,OAAO,IAAIuB,GAAcvpF,KAAK04B,SAAU14B,KAAK+rC,aAAc/rC,KAAKwpF,MAAOxpF,KAAKmrE,UAAWnrE,KAAK6mF,YAAc,EAC9G,CAIA,QAAAyB,GACItoF,KAAKmrE,UAAUr2B,QAAQ90C,KAAK04B,UAAUgxD,YAAc1pF,KAAKwpF,KAC7D,CAIA,MAAApoD,GACI,MAAMC,EAAOt1B,MAAMq1B,SAEnB,cADOC,EAAK8pC,UACL9pC,CACX,CAIA,oBAAWiI,GACP,MAAO,eACX,CAOA,eAAOuzB,CAASx7B,EAAMlyC,GAClB,OAAO,IAAIo6F,GAAcloD,EAAK3I,SAAU2I,EAAK0K,YAAa1K,EAAKmoD,MAAOr6F,EAAUkyC,EAAKwlD,YACzF,ECtEJ,MAAMtpB,GAAa,CAAC,EACpBA,GAAW2rB,GAAmB5/C,WAAa4/C,GAC3C3rB,GAAWgrB,GAAgBj/C,WAAai/C,GACxChrB,GAAWyrB,GAAgB1/C,WAAa0/C,GACxCzrB,GAAWsqB,GAAcv+C,WAAau+C,GACtCtqB,GAAW4rB,GAAY7/C,WAAa6/C,GACpC5rB,GAAWqpB,GAAUt9C,WAAas9C,GAClCrpB,GAAW6rB,GAAgB9/C,WAAa8/C,GACxC7rB,GAAW+rB,GAAuBhgD,WAAaggD,GAC/C/rB,GAAWgsB,GAAcjgD,WAAaigD,GACtChsB,GAAWorB,GAAer/C,WAAaq/C,GACvCprB,GAAWqrB,GAAet/C,WAAas/C,GAIxB,MAAMe,GAOjB,eAAO9sB,CAASx7B,EAAMlyC,GAClB,OAAOouE,GAAWl8B,EAAK0lD,aAAalqB,SAASx7B,EAAMlyC,EACvD,ECtBJ,MAAMy6F,GAAkB,IAAI35E,IAgB5B,SAAS45E,GAAkBC,EAAYC,EAAYC,GAC/C,IAAIC,EAASL,GAAgB/jF,IAAIikF,GAC5BG,IACDA,EAAS,IAAIh6E,IACb25E,GAAgB15E,IAAI45E,EAAYG,IAEpCA,EAAO/5E,IAAI65E,EAAYC,EAC3B,CAoBA,SAASE,GAAuBn3F,GAC5B,MAAO,CAACA,EACZ,CASO,SAAS,GAAUA,EAAG2I,EAAGoQ,EAAU,CAAC,GACvC,MAAMk+E,EAtBV,SAA2BF,EAAYC,GACnC,MAAME,EAASL,GAAgB/jF,IAAIikF,GACnC,OAAIG,GAAUA,EAAO99E,IAAI49E,GACdE,EAAOpkF,IAAIkkF,GAEfG,EACX,CAgBmCC,CAAkBp3F,EAAEoX,YAAazO,EAAEyO,aAElE,IAEI,OAAO6/E,EADPj3F,EAAIA,EAAEkvB,QAC2BvmB,EAAGoQ,EACxC,CACA,MAAO/K,GASH,MAAMA,CACV,CAEJ,CAmCO,SAASqpF,GAAcC,EAAaC,EAAar7F,GAGpDo7F,EAAcA,EAAY7xF,QAC1B8xF,EAAcA,EAAY9xF,QAC1B,MAAM+xF,EAAiB,IAAIC,GAAev7F,EAAQE,SAAUF,EAAQw7F,aAAcx7F,EAAQy7F,iBAC1FH,EAAeI,sBAAsBN,GACrCE,EAAeI,sBAAsBL,GACrC,MAAMM,EAAqBL,EAAeK,mBAE1C,GAA0B,GAAtBP,EAAY55F,QAAqC,GAAtB65F,EAAY75F,OACvC,MAAO,CAAE45F,cAAaC,cAAaM,sBAoIvC,MAAMC,EAAqB,IAAIp5D,QAE/B,IAAK,MAAMq5D,KAAMT,EACbQ,EAAmB36E,IAAI46E,EAAI,GAG/B,MAAMl5F,EAAO,CACTm5F,iBAAkBV,EAAYA,EAAY55F,OAAS,GAAGo2F,YAAc,EACpEmE,iBAAkBV,EAAYA,EAAY75F,OAAS,GAAGo2F,YAAc,EACpEoE,yBAA0BZ,EAAY55F,OACtCy6F,yBAA0BZ,EAAY75F,QAG1C,IAAIG,EAAI,EAER,KAAOA,EAAIy5F,EAAY55F,QAAQ,CAE3B,MAAM06F,EAAMd,EAAYz5F,GAElBw6F,EAASP,EAAmBhlF,IAAIslF,GAEtC,GAAIC,GAAUd,EAAY75F,OAAQ,CAC9BG,IACA,QACJ,CACA,MAAMy6F,EAAMf,EAAYc,GAElBE,EAAU,GAAUH,EAAKE,EAAKd,EAAegB,WAAWJ,EAAKE,GAAK,IAClEG,EAAU,GAAUH,EAAKF,EAAKZ,EAAegB,WAAWF,EAAKF,GAAK,IAGxEZ,EAAekB,eAAeN,EAAKE,GACnCd,EAAeI,sBAAsBW,EAASH,GAC9CZ,EAAeI,sBAAsBa,EAASH,GAK9C,IAAK,MAAMK,KAAUJ,EAMjBT,EAAmB36E,IAAIw7E,EAAQN,EAASI,EAAQ/6F,QAGpD45F,EAAYzwF,OAAOhJ,EAAG,KAAM06F,GAC5BhB,EAAY1wF,OAAOwxF,EAAQ,KAAMI,EACrC,CAGA,GAFAG,GAA8BtB,GAC9BsB,GAA8BrB,GAC1Br7F,EAAQ28F,aAAc,CAEtB,MAAMC,EAAyBxB,EAAY55F,OAASmB,EAAKq5F,yBACnDa,EAAyBxB,EAAY75F,OAASmB,EAAKs5F,yBAKzDU,GAAavB,EAAayB,EAAyBD,GACnDD,GAAatB,EAAauB,EAAyBC,EACvD,CAIA,OAFAC,GAAmB1B,EAAaz4F,EAAKo5F,kBACrCe,GAAmBzB,EAAa14F,EAAKm5F,kBAC9B,CAAEV,cAAaC,cAAaM,qBACvC,CAKA,MAAMJ,GAUF,WAAArgF,CAAYhb,EAAUs7F,EAAcC,GAAkB,GAMlD1qF,KAAK4qF,mBAAqB,IAAI36E,IAE9BjQ,KAAKgsF,SAAW78F,EAAS88F,QAEzBjsF,KAAKksF,cAAgBzB,EACrBzqF,KAAKmsF,mBAAqBzB,EAI1B1qF,KAAKosF,WAAa,IAAIn8E,GAC1B,CAkBA,qBAAA06E,CAAsBptB,EAAY8uB,EAAW,MACzC,MAAMC,EAAoBD,EAAWrsF,KAAK4qF,mBAAmB/kF,IAAIwmF,GAAY,KAC7E,IAAK,MAAM3wB,KAAa6B,EACpBv9D,KAAK4qF,mBAAmB16E,IAAIwrD,EAAW4wB,GAAqB5wB,EAEpE,CAMA,cAAA+vB,CAAeN,EAAKE,GAQhB,GAAIF,aAAetD,GACXwD,aAAezC,GACXuC,EAAI3xC,eAAel2B,QAAQ+nE,EAAIpvB,iBAAmBovB,EAAInvB,WAAW1sB,iBAAiB27C,EAAI3xC,gBACtFx5C,KAAKusF,aAAapB,EAAKE,EAAK,kBAEvBF,EAAI3xC,eAAel2B,QAAQ+nE,EAAI7uB,kBACpCx8D,KAAKusF,aAAapB,EAAKE,EAAK,iBAEvBF,EAAI3xC,eAAevY,QAAQoqD,EAAIpvB,iBACpCj8D,KAAKusF,aAAapB,EAAKE,EAAK,mBAG3BA,aAAexD,KAChBsD,EAAI3xC,eAAel2B,QAAQ+nE,EAAIpvB,iBAAmBkvB,EAAI3xC,eAAe1Y,SAASuqD,EAAIpvB,gBAClFj8D,KAAKusF,aAAapB,EAAKE,EAAK,gBAG5BrrF,KAAKusF,aAAapB,EAAKE,EAAK,qBAInC,GAAIF,aAAexC,IACpB,GAAI0C,aAAezC,GACXuC,EAAI/uB,cAAct7B,SAASuqD,EAAIpvB,iBAC/Bj8D,KAAKusF,aAAapB,EAAKE,EAAK,oBAG/B,GAAIA,aAAexD,GACpB,GAAIsD,EAAI/uB,cAAc94C,QAAQ+nE,EAAIpvB,iBAAmBkvB,EAAI/uB,cAAct7B,SAASuqD,EAAIpvB,gBAChFj8D,KAAKusF,aAAapB,EAAKE,EAAK,mBAE3B,CACD,MAAMrmE,EAAQ,GAAMwrB,4BAA4B66C,EAAIpvB,eAAgBovB,EAAIniF,SACxE,GAAIiiF,EAAI/uB,cAAcZ,gBAAgB6vB,EAAIpvB,iBAAmBj3C,EAAMwqB,iBAAiB27C,EAAI/uB,eAAgB,CAIpG,MAAMlzD,EAAU8b,EAAM4I,IAAI7T,OAASoxE,EAAI/uB,cAAcriD,OAC/CA,EAASoxE,EAAI/uB,cAAcriD,OAASiL,EAAM6J,MAAM9U,OACtD/Z,KAAKusF,aAAapB,EAAKE,EAAK,CAAEniF,UAAS6Q,UAC3C,CACJ,OAGH,GAAIoxE,aAAevC,GAChByC,aAAezC,IACVuC,EAAI3xC,eAAel2B,QAAQ+nE,EAAIpvB,iBAChCj8D,KAAKusF,aAAapB,EAAKE,EAAK,uBAE5BF,EAAIlvB,eAAe34C,QAAQ+nE,EAAI7xC,iBAC/Bx5C,KAAKusF,aAAapB,EAAKE,EAAK,uBAE5BF,EAAIlvB,eAAe34C,QAAQ+nE,EAAIpvB,iBAC/Bj8D,KAAKusF,aAAapB,EAAKE,EAAK,qBAG3BA,aAAe1C,GAChBwC,EAAIlvB,eAAe34C,QAAQ+nE,EAAIjvB,gBAC/Bp8D,KAAKusF,aAAapB,EAAKE,EAAK,iBAG3BA,aAAexD,IAAiBwD,EAAIniF,QAAU,IAC/CiiF,EAAIlvB,eAAe34C,QAAQ+nE,EAAIpvB,eAAe1tB,aAAa88C,EAAIniF,WAC/DlJ,KAAKusF,aAAapB,EAAKE,EAAK,uBAE5BF,EAAI3xC,eAAel2B,QAAQ+nE,EAAIpvB,iBAC/Bj8D,KAAKusF,aAAapB,EAAKE,EAAK,8BAInC,GAAIF,aAAenC,GAAiB,CACrC,MAAMzjB,EAAc4lB,EAAI7vC,SACxB,IAAKiqB,EACD,OAEJ,GAAI8lB,aAAezC,GAAgB,CAC/B,MAAM4D,EAAmBjnB,EAAY12C,MAAMvL,QAAQ+nE,EAAI7xC,gBACjDizC,EAA8BlnB,EAAY12C,MAAMvL,QAAQ+nE,EAAI7uB,kBAC5DkwB,EAA4BnnB,EAAY33C,IAAItK,QAAQ+nE,EAAI7uB,kBACxDmwB,EAAoBpnB,EAAY33C,IAAItK,QAAQ+nE,EAAIpvB,iBAClDuwB,GAAoBC,GAA+BC,GAA6BC,IAChF3sF,KAAKusF,aAAapB,EAAKE,EAAK,CACxBmB,mBACAC,8BACAC,4BACAC,qBAGZ,CACJ,CACJ,CAIA,UAAApB,CAAWJ,EAAKE,EAAKuB,GACjB,MAAO,CACHA,YACAC,WAAY7sF,KAAK8sF,WAAW3B,GAC5B4B,WAAY/sF,KAAK8sF,WAAWzB,GAC5B2B,WAAYhtF,KAAKksF,cAAgBlsF,KAAKitF,aAAa9B,EAAKE,GAAO,KAC/D6B,WAAYltF,KAAKksF,cAAgBlsF,KAAKitF,aAAa5B,EAAKF,GAAO,KAC/DT,gBAAiB1qF,KAAKmsF,iBAE9B,CAMA,UAAAW,CAAWhC,GAIP,MAAMqC,EAAantF,KAAK4qF,mBAAmB/kF,IAAIilF,GAE/C,OAAOqC,EAAWC,WAAaptF,KAAKgsF,SAASqB,kBAAkBF,EACnE,CAuBA,YAAAF,CAAa9B,EAAKE,GAEd,MAAMiC,EAAQttF,KAAK4qF,mBAAmB/kF,IAAIwlF,GACpCkC,EAAUvtF,KAAKgsF,SAASwB,mBAAmBF,GAEjD,IAAKC,EACD,OAAO,KAEX,MAAME,EAAQztF,KAAK4qF,mBAAmB/kF,IAAIslF,GACpCuC,EAAa1tF,KAAKosF,WAAWvmF,IAAI4nF,GAEvC,OAAIC,GACOA,EAAW7nF,IAAI0nF,IAEnB,IACX,CAIA,YAAAhB,CAAapB,EAAKE,EAAKsC,GAEnB,MAAMF,EAAQztF,KAAK4qF,mBAAmB/kF,IAAIslF,GACpCmC,EAAQttF,KAAK4qF,mBAAmB/kF,IAAIwlF,GAC1C,IAAIqC,EAAa1tF,KAAKosF,WAAWvmF,IAAI4nF,GAChCC,IACDA,EAAa,IAAIz9E,IACjBjQ,KAAKosF,WAAWl8E,IAAIu9E,EAAOC,IAE/BA,EAAWx9E,IAAIo9E,EAAOK,EAC1B,EAYJ,SAAS5B,GAAmBxuB,EAAYspB,GACpC,IAAK,MAAMnrB,KAAa6B,EACpB7B,EAAUmrB,YAAcA,GAEhC,CAIA,SAAS+E,GAAaruB,EAAYr0D,GAC9B,IAAK,IAAItY,EAAI,EAAGA,EAAIsY,EAAStY,IACzB2sE,EAAWxuE,KAAK,IAAIo6F,GAAY,GAExC,CAmBA,SAASwC,GAA8BpuB,GACnC,MAAMqwB,EAAY,IAAI39E,IACtB,IAAK,IAAIrf,EAAI,EAAGA,EAAI2sE,EAAW9sE,OAAQG,IAAK,CACxC,MAAMk6F,EAAKvtB,EAAW3sE,GAChBk6F,aAAc9B,MAGI,IAApB8B,EAAGjE,YACH+G,EAAU19E,IAAI46E,EAAGtoF,KAAM,CACnBsoF,KACAh7C,OAAQg7C,EAAGxvC,SAAW,CAACwvC,EAAGxvC,UAAY,MAItCwvC,EAAGxvC,UAIHsyC,EAAU/nF,IAAIilF,EAAGtoF,MAAMstC,OAAO/gD,KAAK+7F,EAAGxvC,UAE1CiiB,EAAW3jE,OAAOhJ,EAAG,GACrBA,KAER,CACA,IAAK,MAAM,GAAEk6F,EAAE,OAAEh7C,KAAY89C,EAAU3kF,SAC/B6mC,EAAOr/C,OACPq6F,EAAGxvC,SAAW,GAAM4iB,kBAAkBpuB,GAGtCg7C,EAAGxvC,SAAW,IAG1B,CA8GA,SAASuyC,GAAqCC,EAAiBn1F,EAAKqZ,GAChE,MAEM+7E,EAFQD,EAAgBxuE,MAEJkuD,QAAQ,GAAGztC,aAAapnC,GAClD,GAAIo1F,GAAe/7E,EACf,OAAO,KAEX,MAAMgT,EAAQ,IAAI,GAAM8oE,EAAgB13F,SAAU03F,EAAgB13F,SAASm4C,aAAau/C,EAAgB5kF,UACxG,OAAO,IAAIggF,GAAmBlkE,EAAOrsB,EAAKo1F,EAAa/7E,EAAU,EACrE,CA2xCA,SAASg8E,GAA0Bj7F,EAAG2I,GAClC,OAAmF,OAA5E3I,EAAEymD,eAAe+iB,0BAA0B7gE,EAAEugE,eAAgBvgE,EAAEwN,QAC1E,CAWA,SAAS+kF,GAA8Bn+C,EAAQ0J,GAU3C,MAAM+jB,EAAa,GAEnB,IAAK,IAAI3sE,EAAI,EAAGA,EAAIk/C,EAAOr/C,OAAQG,IAAK,CAEpC,MAAMo0B,EAAQ8qB,EAAOl/C,GACfk6F,EAAK,IAAIjD,GAAc7iE,EAAM6J,MAAO7J,EAAM4I,IAAI7T,OAASiL,EAAM6J,MAAM9U,OAAQy/B,EAAgB,GACjG+jB,EAAWxuE,KAAK+7F,GAEhB,IAAK,IAAIttB,EAAI5sE,EAAI,EAAG4sE,EAAI1tB,EAAOr/C,OAAQ+sE,IAOnC1tB,EAAO0tB,GAAK1tB,EAAO0tB,GAAGxB,sBAAsB8uB,EAAG7uB,eAAgB6uB,EAAGtxC,eAAgBsxC,EAAG5hF,SAAS,GAElGswC,EAAiBA,EAAewiB,sBAAsB8uB,EAAG7uB,eAAgB6uB,EAAGtxC,eAAgBsxC,EAAG5hF,QACnG,CACA,OAAOq0D,CACX,CA37CAssB,GAAkBX,GAAoBA,IAAoB,CAACn2F,EAAG2I,EAAGoQ,KAQ7D,GAAI/Y,EAAE4F,MAAQ+C,EAAE/C,KAAO5F,EAAEiyB,MAAM6J,MAAM2sC,gBAAgB9/D,EAAEspB,MAAM6J,OAAQ,CAEjE,MAAM0uC,EAAaxqE,EAAEiyB,MAAM6qB,cAAcn0C,EAAEspB,OAAO1lB,KAAI0lB,GAC3C,IAAIkkE,GAAmBlkE,EAAOjyB,EAAE4F,IAAK5F,EAAEgf,SAAUhf,EAAEif,SAAU,KAGlE8rD,EAAS/qE,EAAEiyB,MAAM5C,gBAAgB1mB,EAAEspB,OASzC,OARI84C,GAIIhyD,EAAQ8gF,WACRrvB,EAAWxuE,KAAK,IAAIm6F,GAAmBprB,EAAQpiE,EAAE/C,IAAK+C,EAAEsW,SAAUjf,EAAEif,SAAU,IAG7D,GAArBurD,EAAW9sE,OACJ,CAAC,IAAI04F,GAAY,IAErB5rB,CACX,CAGI,MAAO,CAACxqE,EACZ,IAEJ82F,GAAkBX,GAAoBX,IAAiB,CAACx1F,EAAG2I,KAOvD,GAAI3I,EAAEiyB,MAAM6J,MAAM2sC,gBAAgB9/D,EAAEtF,WAAarD,EAAEiyB,MAAMwqB,iBAAiB9zC,EAAEtF,UAAW,CAGnF,MACM1F,EADQqC,EAAEiyB,MAAM+2C,2BAA2BrgE,EAAEtF,SAAUsF,EAAEwN,SAAUxN,EAAE8sF,yBACtDlpF,KAAI9D,GACd,IAAI0tF,GAAmB1tF,EAAGzI,EAAE4F,IAAK5F,EAAEgf,SAAUhf,EAAEif,SAAUjf,EAAE8zF,eAEtE,GAAInrF,EAAE8sF,wBAAyB,CA2C3B,MAAMsC,EAAK+C,GAAqCnyF,EAAG3I,EAAE4F,IAAK5F,EAAEgf,UACxD+4E,GACAp6F,EAAOkR,QAAQkpF,EAEvB,CAEA,OAAOp6F,CACX,CAGA,OADAqC,EAAEiyB,MAAQjyB,EAAEiyB,MAAM+2C,2BAA2BrgE,EAAEtF,SAAUsF,EAAEwN,SAAS,GAAO,GACpE,CAACnW,EAAE,IAkBd82F,GAAkBX,GAAoBN,IAAgB,CAAC71F,EAAG2I,KACtD,MAAMo0C,EAAS,GAMX/8C,EAAEiyB,MAAM6J,MAAM2sC,gBAAgB9/D,EAAE8gE,oBAC5BzpE,EAAEiyB,MAAMwqB,iBAAiB9zC,EAAE8gE,mBAAqBzpE,EAAEiyB,MAAM6J,MAAMvL,QAAQ5nB,EAAE8gE,oBACxE1sB,EAAO/gD,KAAK,GAAMyhD,4BAA4B90C,EAAE4gE,kBAAmB,IAG3E,MAAMt3C,EAAQjyB,EAAEiyB,MAAM82C,gCAAgCpgE,GAMtD,OAJKspB,EAAMiqB,aACPa,EAAO/gD,KAAKi2B,GAGT8qB,EAAOxwC,KAAI0lB,GACP,IAAIkkE,GAAmBlkE,EAAOjyB,EAAE4F,IAAK5F,EAAEgf,SAAUhf,EAAEif,SAAUjf,EAAE8zF,cACxE,IAENgD,GAAkBX,GAAoBrB,IAAe,CAAC90F,EAAG2I,KACrD,MAAMo0C,EAeV,SAAoC9qB,EAAOkpE,GACvC,MAAMvwB,EAAY,GAAMntB,4BAA4B09C,EAAOjyB,eAAgBiyB,EAAOhlF,SAGlF,IAAI40D,EAAS,KACTD,EAAa,GAEbF,EAAUluB,cAAczqB,GAAO,GAE/B84C,EAAS94C,EAEJA,EAAM6J,MAAM2sC,gBAAgBmC,EAAU9uC,QAG3CgvC,EAAa74C,EAAM6qB,cAAc8tB,GACjCG,EAAS94C,EAAM5C,gBAAgBu7C,IAQ/BE,EAAa,CAAC74C,GAElB,MAAMt0B,EAAS,GAGf,IAAK,IAAI2L,KAAQwhE,EAAY,CAGzBxhE,EAAOA,EAAKkgE,0BAA0B2xB,EAAOjyB,eAAgBiyB,EAAOhlF,SAEpE,MAAMswC,EAAiB00C,EAAOnG,qBAExBtqB,EAASphE,EAAKwyB,MAAM2sC,gBAAgBhiB,GAEpC20C,EAAQ9xF,EAAK0/D,2BAA2BviB,EAAgB00C,EAAOhlF,QAASu0D,GAC9E/sE,EAAO3B,QAAQo/F,EACnB,CAGIrwB,GACAptE,EAAO3B,KAAK+uE,EAAO9B,sBAAsBkyB,EAAOjyB,eAAgBiyB,EAAO10C,eAAgB00C,EAAOhlF,SAAS,GAAO,IAElH,OAAOxY,CACX,CA7DmB09F,CAA2Br7F,EAAEiyB,MAAOtpB,GAEnD,OAAOo0C,EAAOxwC,KAAI0lB,GAAS,IAAIkkE,GAAmBlkE,EAAOjyB,EAAE4F,IAAK5F,EAAEgf,SAAUhf,EAAEif,SAAUjf,EAAE8zF,cAAa,IA4D3GgD,GAAkBX,GAAoBP,IAAgB,CAAC51F,EAAG2I,KAetD,GAAI3I,EAAEiyB,MAAM4I,IAAItK,QAAQ5nB,EAAE8gD,mBAItB,OAHK9gD,EAAE4gE,mBACHvpE,EAAEiyB,MAAM4I,IAAI7T,SAET,CAAChnB,GAgBZ,GAAIA,EAAEiyB,MAAM6J,MAAM2sC,gBAAgB9/D,EAAE0gE,gBAAkBrpE,EAAEiyB,MAAMwqB,iBAAiB9zC,EAAE0gE,eAAgB,CAC7F,MAAMorB,EAAaz0F,EAAEkvB,QAIrB,OAHAulE,EAAWxiE,MAAQ,IAAI,GAAMtpB,EAAE2gE,mBAAmBp6C,QAASlvB,EAAEiyB,MAAM4I,IAAIuuC,aAAazgE,EAAE0gE,cAAe1gE,EAAE2gE,qBACvGtpE,EAAEiyB,MAAM4I,IAAMlyB,EAAE0gE,cAAcn6C,QAC9BlvB,EAAEiyB,MAAM4I,IAAIssC,WAAa,aAClB,CAACnnE,EAAGy0F,EACf,CAIA,OADAz0F,EAAEiyB,MAAQjyB,EAAEiyB,MAAM62C,gCAAgCngE,GAC3C,CAAC3I,EAAE,IAEd82F,GAAkBtB,GAAiBW,IAAoB,CAACn2F,EAAG2I,KACvD,MAAMhL,EAAS,CAACqC,GAWhB,GAAIA,EAAEy1F,yBAA2Bz1F,EAAEqD,SAASolE,gBAAgB9/D,EAAEspB,MAAM6J,QAAUnzB,EAAEspB,MAAMwqB,iBAAiBz8C,EAAEqD,UAAW,CAChH,MAAM00F,EAAK+C,GAAqC96F,EAAG2I,EAAE/C,IAAK+C,EAAEsW,UACxD84E,GACAp6F,EAAO3B,KAAK+7F,EAEpB,CAIA,OAAOp6F,CAAM,IAEjBm5F,GAAkBtB,GAAiBA,IAAiB,CAACx1F,EAAG2I,EAAGoQ,KAUnD/Y,EAAEqD,SAASktB,QAAQ5nB,EAAEtF,WAAa0V,EAAQ8gF,YAK9C75F,EAAEqD,SAAWrD,EAAEqD,SAASulE,iCAAiCjgE,IAJ9C,CAAC3I,MAOhB82F,GAAkBtB,GAAiBV,IAAe,CAAC90F,EAAG2I,KAGlD3I,EAAEqD,SAAWrD,EAAEqD,SAASwlE,+BAA+BlgE,GAChD,CAAC3I,MAEZ82F,GAAkBtB,GAAiBI,IAAgB,CAAC51F,EAAG2I,KAGnD3I,EAAEqD,SAAWrD,EAAEqD,SAASylE,gCAAgCngE,GACjD,CAAC3I,MAEZ82F,GAAkBtB,GAAiBK,IAAgB,CAAC71F,EAAG2I,KACnD3I,EAAEqD,SAAWrD,EAAEqD,SAAS0lE,gCAAgCpgE,GACjD,CAAC3I,MAGZ82F,GAAkBb,GAAiBT,IAAiB,CAACx1F,EAAG2I,KAChD3I,EAAE00E,WACF10E,EAAE00E,SAAW10E,EAAE00E,SAAS9L,iCAAiCjgE,GAAG,IAE5D3I,EAAEuoD,WACFvoD,EAAEuoD,SAAWvoD,EAAEuoD,SAASqgB,iCAAiCjgE,GAAG,IAEzD,CAAC3I,MAEZ82F,GAAkBb,GAAiBA,IAAiB,CAACj2F,EAAG2I,EAAGoQ,KACvD,GAAI/Y,EAAEyP,MAAQ9G,EAAE8G,KAAM,CAClB,IAAIsJ,EAAQ8gF,UAIR,MAAO,CAAC,IAAIzD,GAAY,IAHxBp2F,EAAE00E,SAAW/rE,EAAE4/C,SAAW5/C,EAAE4/C,SAASr5B,QAAU,IAKvD,CACA,MAAO,CAAClvB,EAAE,IAEd82F,GAAkBb,GAAiBJ,IAAgB,CAAC71F,EAAG2I,KAC/C3I,EAAE00E,WACF10E,EAAE00E,SAAW10E,EAAE00E,SAAS3L,gCAAgCpgE,IAExD3I,EAAEuoD,WACFvoD,EAAEuoD,SAAWvoD,EAAEuoD,SAASwgB,gCAAgCpgE,IAErD,CAAC3I,MAEZ82F,GAAkBb,GAAiBnB,IAAe,CAAC90F,EAAG2I,KAClD,MAAMhL,EAAS,CAACqC,GAIhB,GAHIA,EAAE00E,WACF10E,EAAE00E,SAAW,GAAMvJ,kBAAkBnrE,EAAE00E,SAAS7L,+BAA+BlgE,KAE/E3I,EAAEuoD,SAAU,CASZ,MAAMxL,EAAS/8C,EAAEuoD,SAASsgB,+BAA+BlgE,GACzD3I,EAAEuoD,SAAWxL,EAAO,GAepB,IAAK,IAAIl/C,EAAI,EAAGA,EAAIk/C,EAAOr/C,OAAQG,IAAK,CACpC,MAAMk6F,EAAK/3F,EAAEkvB,QACb6oE,EAAGrjB,SAAW,KACdqjB,EAAGxvC,SAAWxL,EAAOl/C,GACrBk6F,EAAGjE,aAAe,EAClBn2F,EAAO3B,KAAK+7F,EAChB,CACJ,CACA,OAAOp6F,CAAM,IAEjBm5F,GAAkBb,GAAiBL,IAAgB,CAAC51F,EAAG2I,EAAGoQ,KAItD,GAHI/Y,EAAE00E,WACF10E,EAAE00E,SAAW10E,EAAE00E,SAAS5L,gCAAgCngE,IAExD3I,EAAEuoD,SAAU,CACZ,GAAIxvC,EAAQkhF,WAAY,CACpB,MAAMqB,EAAYt7F,EAAEuoD,SAASugB,gCAAgCngE,GAmB7D,OAlBI3I,EAAEuoD,SAASzsB,MAAMvL,QAAQ5nB,EAAE0gE,gBAAkBtwD,EAAQkhF,WAAWP,4BAChE15F,EAAEuoD,SAASzsB,MAAQ,GAAS+d,UAAUlxC,EAAE8gD,mBAEnCzpD,EAAEuoD,SAASzsB,MAAMvL,QAAQ5nB,EAAE0gE,iBAAmBtwD,EAAQkhF,WAAWR,iBACtEz5F,EAAEuoD,SAASzsB,MAAQ,GAAS+d,UAAUlxC,EAAE2gE,oBAGxCtpE,EAAEuoD,SAASzsB,MAAQw/D,EAAUx/D,MAE7B97B,EAAEuoD,SAAS1tB,IAAItK,QAAQ5nB,EAAE0gE,gBAAkBtwD,EAAQkhF,WAAWL,kBAC9D55F,EAAEuoD,SAAS1tB,IAAM,GAASgf,UAAUlxC,EAAE2gE,oBAEjCtpE,EAAEuoD,SAAS1tB,IAAItK,QAAQ5nB,EAAE0gE,gBAAkBtwD,EAAQkhF,WAAWN,0BACnE35F,EAAEuoD,SAAS1tB,IAAM,GAASgf,UAAUlxC,EAAE8gD,mBAGtCzpD,EAAEuoD,SAAS1tB,IAAMygE,EAAUzgE,IAExB,CAAC76B,EACZ,CACAA,EAAEuoD,SAAWvoD,EAAEuoD,SAASugB,gCAAgCngE,EAC5D,CACA,MAAO,CAAC3I,EAAE,IAGd82F,GAAkBjB,GAAgBL,IAAiB,CAACx1F,EAAG2I,KAC/C3I,EAAEkpE,eAAeT,gBAAgB9/D,EAAEtF,YACnCrD,EAAEmW,SAAWxN,EAAEwN,SAEnBnW,EAAEkpE,eAAiBlpE,EAAEkpE,eAAeN,iCAAiCjgE,GACrE3I,EAAEymD,eAAiBzmD,EAAEymD,eAAemiB,iCAAiCjgE,GAC9D,CAAC3I,MAEZ82F,GAAkBjB,GAAgBA,IAAgB,CAAC71F,EAAG2I,EAAGoQ,KAQrD,GAAI/Y,EAAEkpE,eAAe34C,QAAQ5nB,EAAEugE,iBAAmBlpE,EAAEymD,eAAel2B,QAAQ5nB,EAAE89C,gBAAiB,CAY1F,GAAK1tC,EAAQihF,WAGR,CACD,MAAM9qF,EAAOvG,EAAE4gE,kBAAkBr6D,KAAKzJ,QAItC,OAHAyJ,EAAKlT,KAAK,GACVgE,EAAEkpE,eAAiB,IAAI,GAASvgE,EAAE4gE,kBAAkBjuE,KAAM4T,GAC1DlP,EAAEmW,QAAU,EACL,CAACnW,EACZ,CARI,MAAO,CAAC,IAAIo2F,GAAY,GAShC,CA4BA,GAAIp2F,EAAEkpE,eAAe34C,QAAQ5nB,EAAEugE,kBAAoBlpE,EAAEymD,eAAel2B,QAAQ5nB,EAAE89C,kBACzE1tC,EAAQihF,YAAoC,iBAAtBjhF,EAAQkhF,WAA+B,CAC9D,MAAMsB,EAAiD,cAAlCv7F,EAAEymD,eAAenrD,KAAKqqC,SACrC61D,EAAiD,cAAlC7yF,EAAE89C,eAAenrD,KAAKqqC,SAO3C,GAHgB61D,IAAiBD,KAFjBA,IAAiBC,IAISziF,EAAQ8gF,UACnC,CACX,MAAM3wB,EAAiBvgE,EAAE89C,eAAesiB,gCAAgCpgE,GAClE89C,EAAiBzmD,EAAEymD,eAAesiB,gCAAgCpgE,GACxE,MAAO,CAAC,IAAImsF,GAAc5rB,EAAgBlpE,EAAEmW,QAASswC,EAAgB,GACzE,CAEI,MAAO,CAAC,IAAI2vC,GAAY,GAEhC,CAcA,OAVIp2F,EAAEkpE,eAAeT,gBAAgB9/D,EAAE89C,kBACnCzmD,EAAEmW,SAAWxN,EAAEwN,SAEnBnW,EAAEkpE,eAAiBlpE,EAAEkpE,eAAeH,gCAAgCpgE,GACpE3I,EAAEymD,eAAiBzmD,EAAEymD,eAAesiB,gCAAgCpgE,GAG/D3I,EAAEupE,kBAAkBh5C,QAAQ5nB,EAAE4gE,oBAAuBxwD,EAAQ8gF,YAC9D75F,EAAEupE,kBAAoBvpE,EAAEupE,kBAAkBR,gCAAgCpgE,IAEvE,CAAC3I,EAAE,IAEd82F,GAAkBjB,GAAgBf,IAAe,CAAC90F,EAAG2I,EAAGoQ,KAYpD,MAAM0iF,EAAe,GAAMh+C,4BAA4B90C,EAAEugE,eAAgBvgE,EAAEwN,SAC3E,MAAc,UAAVxN,EAAEwH,OAAqB4I,EAAQihF,YAC3Bh6F,EAAEypE,iBAAiBhB,gBAAgB9/D,EAAEugE,iBAAmBuyB,EAAah/C,iBAAiBz8C,EAAEkpE,gBACjF,CAAC,IAAIktB,GAAY,KAsB5BztF,EAAEugE,eAAe1tB,aAAa7yC,EAAEwN,SAASoa,QAAQvwB,EAAEkpE,gBACnDlpE,EAAEkpE,eAAe/B,WAAa,SAOzBx+D,EAAE89C,eAAel2B,QAAQvwB,EAAEkpE,iBAAyC,uBAAtBnwD,EAAQkhF,WAC3Dj6F,EAAEkpE,eAAe/B,WAAa,SAOzBx+D,EAAEugE,eAAe34C,QAAQvwB,EAAEymD,iBAChCzmD,EAAEymD,eAAe0gB,WAAa,SAC9BnnE,EAAEmW,SAAWxN,EAAEwN,SAOVxN,EAAE89C,eAAel2B,QAAQvwB,EAAEymD,iBAAyC,wBAAtB1tC,EAAQkhF,YAC3Dj6F,EAAEymD,eAAe0gB,WAAa,aAC9BnnE,EAAEmW,SAAWxN,EAAEwN,UAIXnW,EAAEkpE,eAAeT,gBAAgB9/D,EAAE89C,kBACnCzmD,EAAEmW,SAAWxN,EAAEwN,SAEfnW,EAAEkpE,eAAeT,gBAAgB9/D,EAAEugE,kBACnClpE,EAAEmW,SAAWxN,EAAEwN,UAGvBnW,EAAEkpE,eAAiBlpE,EAAEkpE,eAAeL,+BAA+BlgE,GACnE3I,EAAEymD,eAAiBzmD,EAAEymD,eAAeoiB,+BAA+BlgE,GAEnE3I,EAAEkpE,eAAe/B,WAAa,aAC9BnnE,EAAEymD,eAAe0gB,WAAa,SAKzBnnE,EAAEupE,kBAAkBh5C,QAAQ5nB,EAAE89C,kBAC/BzmD,EAAEupE,kBAAoBvpE,EAAEupE,kBAAkBV,+BAA+BlgE,IAEtE,CAAC3I,GAAE,IAEd82F,GAAkBjB,GAAgBD,IAAgB,CAAC51F,EAAG2I,EAAGoQ,KA+ErD,GA9EIpQ,EAAE4gE,oBAGFvpE,EAAEupE,kBAAoBvpE,EAAEupE,kBAAkBC,0BAA0B7gE,EAAE4gE,kBAAmB,GAWrFvpE,EAAEypE,iBAAiBl5C,QAAQ5nB,EAAE4gE,qBAC7BvpE,EAAEmW,QAAUxN,EAAEwN,UA+DlBnW,EAAEymD,eAAel2B,QAAQ5nB,EAAE0gE,eAAgB,CAE3C,GAD8B1gE,EAAE4gE,mBAAqBvpE,EAAEypE,iBAAiBl5C,QAAQ5nB,EAAE4gE,oBAC/B,uBAAtBxwD,EAAQkhF,WAEjC,OADAj6F,EAAEkpE,eAAiBlpE,EAAEkpE,eAAeJ,gCAAgCngE,GAC7D,CAAC3I,EAEhB,CAOA,GAAIA,EAAEkpE,eAAe34C,QAAQ5nB,EAAE0gE,eAAgB,CAI3C,GAA0B,uBAAtBtwD,EAAQkhF,WAGR,OAFAj6F,EAAEmW,QAAU,EACZnW,EAAEymD,eAAiBzmD,EAAEymD,eAAeqiB,gCAAgCngE,GAC7D,CAAC3I,GASZ,GAA0B,oBAAtB+Y,EAAQkhF,YAAoCj6F,EAAEkpE,eAAeliD,OAAS,EAGtE,OAFAhnB,EAAEkpE,eAAiBvgE,EAAE2gE,mBAAmBp6C,QACxClvB,EAAEymD,eAAiBzmD,EAAEymD,eAAeqiB,gCAAgCngE,GAC7D,CAAC3I,EAEhB,CAQA,OALIA,EAAEkpE,eAAeT,gBAAgB9/D,EAAE0gE,iBACnCrpE,EAAEmW,QAAUxN,EAAE0gE,cAAcriD,QAEhChnB,EAAEkpE,eAAiBlpE,EAAEkpE,eAAeJ,gCAAgCngE,GACpE3I,EAAEymD,eAAiBzmD,EAAEymD,eAAeqiB,gCAAgCngE,GAC7D,CAAC3I,EAAE,IAGd82F,GAAkBhC,GAAeU,IAAiB,CAACx1F,EAAG2I,KAClD,MACMghE,EADY,GAAMlsB,4BAA4Bz9C,EAAEkpE,eAAgBlpE,EAAEmW,SAC1CyyD,iCAAiCjgE,GAAG,GAAO,GAYzE,OAXA3I,EAAEkpE,eAAiBS,EAAY7tC,MAC/B97B,EAAEmW,QAAUwzD,EAAY9uC,IAAI7T,OAAS2iD,EAAY7tC,MAAM9U,OAOlDhnB,EAAEymD,eAAel2B,QAAQ5nB,EAAEtF,YAC5BrD,EAAEymD,eAAiBzmD,EAAEymD,eAAemiB,iCAAiCjgE,IAElE,CAAC3I,EAAE,IAEd82F,GAAkBhC,GAAeA,IAAe,CAAC90F,EAAG2I,EAAGoQ,KAKnD,MAAMimC,EAAS,GAAMvB,4BAA4Bz9C,EAAEkpE,eAAgBlpE,EAAEmW,SAC/D8oC,EAAS,GAAMxB,4BAA4B90C,EAAEugE,eAAgBvgE,EAAEwN,SAGrE,IAYI++E,EAZA2E,EAAY9gF,EAAQ8gF,UAGpBh1F,GAAgBkU,EAAQ8gF,UAsB5B,GApB0B,gBAAtB9gF,EAAQkhF,YAAsD,eAAtBlhF,EAAQohF,WAChDt1F,GAAe,EAEY,eAAtBkU,EAAQkhF,YAAqD,gBAAtBlhF,EAAQohF,aACpDt1F,GAAe,GAKfqwF,EADAl1F,EAAEymD,eAAel2B,QAAQ5nB,EAAE89C,iBAAmB5hD,EAC1B7E,EAAEymD,eAAe+iB,0BAA0B7gE,EAAEugE,eAAgBvgE,EAAEwN,SAG/DnW,EAAEymD,eAAewiB,sBAAsBtgE,EAAEugE,eAAgBvgE,EAAE89C,eAAgB99C,EAAEwN,SAQjG8kF,GAA0Bj7F,EAAG2I,IAAMsyF,GAA0BtyF,EAAG3I,GAGhE,MAAO,CAAC2I,EAAEssF,eAYd,GAHoBj2C,EAAOvC,iBAAiB9zC,EAAE89C,iBAG3BzH,EAAOtC,cAAcuC,GAAQ,GAK5C,OAFAD,EAAOljB,MAAQkjB,EAAOljB,MAAMmtC,sBAAsBtgE,EAAEugE,eAAgBvgE,EAAE89C,eAAgB99C,EAAEwN,SACxF6oC,EAAOnkB,IAAMmkB,EAAOnkB,IAAIouC,sBAAsBtgE,EAAEugE,eAAgBvgE,EAAE89C,eAAgB99C,EAAEwN,SAC7E+kF,GAA8B,CAACl8C,GAASk2C,GAMnD,GADoBj2C,EAAOxC,iBAAiBz8C,EAAEymD,iBAC3BxH,EAAOvC,cAAcsC,GAAQ,GAK5C,OAFAA,EAAOljB,MAAQkjB,EAAOljB,MAAMstC,aAAazgE,EAAEugE,eAAgBvgE,EAAEqsF,sBAC7Dh2C,EAAOnkB,IAAMmkB,EAAOnkB,IAAIuuC,aAAazgE,EAAEugE,eAAgBvgE,EAAEqsF,sBAClDkG,GAA8B,CAACl8C,GAASk2C,GAYnD,MAAMwG,EAASv5E,GAAcniB,EAAEkpE,eAAejB,gBAAiBt/D,EAAEugE,eAAejB,iBAChF,GAAc,UAAVyzB,GAAgC,aAAVA,EAMtB,OAFA18C,EAAOljB,MAAQkjB,EAAOljB,MAAMmtC,sBAAsBtgE,EAAEugE,eAAgBvgE,EAAE89C,eAAgB99C,EAAEwN,SACxF6oC,EAAOnkB,IAAMmkB,EAAOnkB,IAAIouC,sBAAsBtgE,EAAEugE,eAAgBvgE,EAAE89C,eAAgB99C,EAAEwN,SAC7E+kF,GAA8B,CAACl8C,GAASk2C,GAarC,UAAVl1F,EAAEmQ,MAA8B,UAAVxH,EAAEwH,MAAqB4I,EAAQ+gF,YAAe/gF,EAAQ4+E,gBAG7D,UAAV33F,EAAEmQ,MAA8B,UAAVxH,EAAEwH,MAAqB4I,EAAQihF,YAAejhF,EAAQ4+E,kBACjFkC,GAAY,GAHZA,GAAY,EAOhB,MAAM98C,EAAS,GAGT+tB,EAAa9rB,EAAOlC,cAAcmC,GACxC,IAAK,MAAMhtB,KAAS64C,EAAY,CAE5B74C,EAAM6J,MAAQ7J,EAAM6J,MAAM0tC,0BAA0B7gE,EAAEugE,eAAgBvgE,EAAEwN,SACxE8b,EAAM4I,IAAM5I,EAAM4I,IAAI2uC,0BAA0B7gE,EAAEugE,eAAgBvgE,EAAEwN,SAEpE,MAAMwlF,EAAqG,QAAtFx5E,GAAc8P,EAAM6J,MAAMmsC,gBAAiBt/D,EAAEqsF,qBAAqB/sB,iBACjFpoB,EAAY5tB,EAAM+2C,2BAA2BrgE,EAAEqsF,qBAAsBrsF,EAAEwN,QAASwlF,GACtF5+C,EAAO/gD,QAAQ6jD,EACnB,CAEA,MAAMkrB,EAAS/rB,EAAO3vB,gBAAgB4vB,GA6BtC,OA5Be,OAAX8rB,GAAmB8uB,IAEnB9uB,EAAOjvC,MAAQivC,EAAOjvC,MAAMstC,aAAazgE,EAAEugE,eAAgBvgE,EAAEqsF,sBAC7DjqB,EAAOlwC,IAAMkwC,EAAOlwC,IAAIuuC,aAAazgE,EAAEugE,eAAgBvgE,EAAEqsF,sBAOnC,IAAlBj4C,EAAOr/C,OACPq/C,EAAO/gD,KAAK+uE,GAGU,GAAjBhuB,EAAOr/C,OACRuhD,EAAOnjB,MAAMiS,SAASiR,EAAOljB,QAAUmjB,EAAOnjB,MAAMvL,QAAQyuB,EAAOljB,OACnEihB,EAAOluC,QAAQk8D,GAGfhuB,EAAO/gD,KAAK+uE,GAMhBhuB,EAAOl2C,OAAO,EAAG,EAAGkkE,IAGN,IAAlBhuB,EAAOr/C,OAGA,CAAC,IAAI04F,GAAYp2F,EAAE8zF,cAEvBoH,GAA8Bn+C,EAAQm4C,EAAkB,IAEnE4B,GAAkBhC,GAAec,IAAgB,CAAC51F,EAAG2I,EAAGoQ,KACpD,IAAIm8E,EAAoBl1F,EAAEymD,eAAev3B,QAIpClvB,EAAEymD,eAAel2B,QAAQ5nB,EAAE8gD,oBAAuB9gD,EAAE4gE,mBAA2C,mBAAtBxwD,EAAQkhF,aAClF/E,EAAoBl1F,EAAEymD,eAAeqiB,gCAAgCngE,IASzE,MAAMiiE,EAAY,GAAMntB,4BAA4Bz9C,EAAEkpE,eAAgBlpE,EAAEmW,SACxE,GAAIy0D,EAAU/vC,IAAItK,QAAQ5nB,EAAE8gD,mBAOxB,OAJK9gD,EAAE4gE,mBACHvpE,EAAEmW,UAENnW,EAAEymD,eAAiByuC,EACZ,CAACl1F,GAkBZ,GAAI4qE,EAAU9uC,MAAM2sC,gBAAgB9/D,EAAE0gE,gBAAkBuB,EAAUnuB,iBAAiB9zC,EAAE0gE,eAAgB,CACjG,IAAIuyB,EAAa,IAAI,GAAMjzF,EAAE0gE,cAAeuB,EAAU/vC,KACtD+gE,EAAaA,EAAW9yB,gCAAgCngE,GAKxD,OAAOuyF,GAJQ,CACX,IAAI,GAAMtwB,EAAU9uC,MAAOnzB,EAAE0gE,eAC7BuyB,GAEyC1G,EACjD,CAMIl1F,EAAEymD,eAAel2B,QAAQ5nB,EAAE0gE,gBAAwC,kBAAtBtwD,EAAQkhF,aACrD/E,EAAoBvsF,EAAE2gE,oBAuBtBtpE,EAAEymD,eAAel2B,QAAQ5nB,EAAE8gD,oBAA4C,iBAAtB1wC,EAAQkhF,aACzD/E,EAAoBl1F,EAAEymD,gBAI1B,MACM1J,EAAS,CADK6tB,EAAU9B,gCAAgCngE,IAM9D,GAAIA,EAAE4gE,kBAAmB,CACrB,MAAMsyB,EAAwBjxB,EAAU9uC,MAAMvL,QAAQ5nB,EAAE4gE,oBAAsBqB,EAAUnuB,iBAAiB9zC,EAAE4gE,mBACvGvpE,EAAEmW,QAAU,GAAK0lF,IAA0B9iF,EAAQ+gF,YACnD/8C,EAAO/gD,KAAK,GAAMyhD,4BAA4B90C,EAAE8gD,kBAAmB,GAE3E,CACA,OAAOyxC,GAA8Bn+C,EAAQm4C,EAAkB,IAEnE4B,GAAkBhC,GAAee,IAAgB,CAAC71F,EAAG2I,EAAGoQ,KACpD,MAAMowD,EAAa,GAAM1rB,4BAA4Bz9C,EAAEkpE,eAAgBlpE,EAAEmW,SACzE,GAAIxN,EAAE8gE,iBAAiBhB,gBAAgBzoE,EAAEkpE,iBAAmBC,EAAW1sB,iBAAiB9zC,EAAEugE,gBACtF,GAAc,UAAVlpE,EAAEmQ,MAAqB4I,EAAQ4+E,iBAwC/B,GAAiB,GAAb33F,EAAEmW,QACF,OAAK4C,EAAQihF,YAITh6F,EAAEkpE,eAAiBvgE,EAAE4gE,kBAAkBr6C,QACvClvB,EAAEymD,eAAiBzmD,EAAEymD,eAAesiB,gCAAgCpgE,GAC7D,CAAC3I,IALD,CAAC,IAAIo2F,GAAY,SAhChC,IAAKr9E,EAAQ+gF,WAAY,CACrB,MAAMppD,EAAU,GAChB,IAAIorD,EAAenzF,EAAE4gE,kBAAkBr6C,QACnC6sE,EAAuBpzF,EAAE89C,eAAesiB,gCAAgCpgE,GAE5E,MAAMqzF,EAAUh8F,EAAEymD,eAAeiiB,0BAA0B//D,GACvD3I,EAAEmW,QAAU,IACZu6B,EAAQ10C,KAAK,IAAI84F,GAAc90F,EAAEkpE,eAAgBlpE,EAAEmW,QAAU,EAAG6lF,EAAS,IACzEF,EAAeA,EAAa7yB,sBAAsBjpE,EAAEkpE,eAAgB8yB,EAASh8F,EAAEmW,QAAU,GACzF4lF,EAAuBA,EAAqB9yB,sBAAsBjpE,EAAEkpE,eAAgB8yB,EAASh8F,EAAEmW,QAAU,IAE7G,MAAM8lF,EAAetzF,EAAE8gE,iBAAiBL,aAAappE,EAAEkpE,eAAgB8yB,GACjEE,EAAS,IAAIpH,GAAcgH,EAAc,EAAGG,EAAc,GAC1DE,EAA2BD,EAAOlH,qBAAqB9lF,KAAKzJ,QAClE02F,EAAyBngG,KAAK,GAC9B,MAAMogG,EAAuB,IAAI,GAASF,EAAOz1C,eAAenrD,KAAM6gG,GACtEJ,EAAuBA,EAAqB9yB,sBAAsB6yB,EAAcG,EAAc,GAC9F,MAAMI,EAAiB,IAAIvH,GAAciH,EAAsBpzF,EAAEwN,QAASimF,EAAsB,GAGhG,OAFA1rD,EAAQ10C,KAAKkgG,GACbxrD,EAAQ10C,KAAKqgG,GACN3rD,CACX,CAuBR,MACMi5B,EADY,GAAMlsB,4BAA4Bz9C,EAAEkpE,eAAgBlpE,EAAEmW,SAC1C4yD,gCAAgCpgE,GAI9D,OAHA3I,EAAEkpE,eAAiBS,EAAY7tC,MAC/B97B,EAAEmW,QAAUwzD,EAAY9uC,IAAI7T,OAAS2iD,EAAY7tC,MAAM9U,OACvDhnB,EAAEymD,eAAiBzmD,EAAEymD,eAAesiB,gCAAgCpgE,GAC7D,CAAC3I,EAAE,IAGd82F,GAAkBT,GAAiBb,IAAiB,CAACx1F,EAAG2I,KACpD3I,EAAEqD,SAAWrD,EAAEqD,SAASulE,iCAAiCjgE,GAClD,CAAC3I,MAEZ82F,GAAkBT,GAAiBR,IAAgB,CAAC71F,EAAG2I,IAK/C3I,EAAEqD,SAASktB,QAAQ5nB,EAAE8gE,mBACrBzpE,EAAEqD,SAAWsF,EAAE4gE,kBAAkBr6C,QACjClvB,EAAEqD,SAAS8jE,WAAa,SACjB,CAACnnE,KAEZA,EAAEqD,SAAWrD,EAAEqD,SAAS0lE,gCAAgCpgE,GACjD,CAAC3I,MAEZ82F,GAAkBT,GAAiBvB,IAAe,CAAC90F,EAAG2I,KAClD3I,EAAEqD,SAAWrD,EAAEqD,SAASwlE,+BAA+BlgE,GAChD,CAAC3I,MAEZ82F,GAAkBT,GAAiBA,IAAiB,CAACr2F,EAAG2I,EAAGoQ,KACvD,GAAI/Y,EAAEqD,SAASktB,QAAQ5nB,EAAEtF,UAAW,CAChC,IAAI0V,EAAQ8gF,UAIR,MAAO,CAAC,IAAIzD,GAAY,IAHxBp2F,EAAEs2F,QAAU3tF,EAAE+/C,OAKtB,CACA,MAAO,CAAC1oD,EAAE,IAEd82F,GAAkBT,GAAiBT,IAAgB,CAAC51F,EAAG2I,KAgBnD,GAA4C,QAAxCwZ,GAFeniB,EAAEqD,SAAS6L,KACZvG,EAAE0gE,cAAcpB,mBACqBt/D,EAAE4gE,kBAAmB,CACxE,MAAM+yB,EAAc,IAAIjG,GAAgBr2F,EAAEqD,SAASm4C,aAAa,GAAIx7C,EAAEs2F,QAASt2F,EAAE0oD,QAAS,GAC1F,MAAO,CAAC1oD,EAAGs8F,EACf,CAIA,OADAt8F,EAAEqD,SAAWrD,EAAEqD,SAASylE,gCAAgCngE,GACjD,CAAC3I,EAAE,IAGd82F,GAAkBP,GAAwBA,IAAwB,CAACv2F,EAAG2I,EAAGoQ,KACrE,GAAI/Y,EAAE1E,OAASqN,EAAErN,MAAQ0E,EAAE4F,MAAQ+C,EAAE/C,IAAK,CACtC,IAAKmT,EAAQ8gF,WAAa75F,EAAEif,WAAatW,EAAEsW,SACvC,MAAO,CAAC,IAAIm3E,GAAY,IAGxBp2F,EAAEgf,SAAWrW,EAAEsW,QAEvB,CACA,MAAO,CAACjf,EAAE,IAGd82F,GAAkBN,GAAeA,IAAe,CAACx2F,EAAG2I,IAC5C3I,EAAE2lC,WAAah9B,EAAEg9B,UAAY3lC,EAAEy2F,QAAU9tF,EAAE8tF,MACpC,CAAC,IAAIL,GAAY,IAErB,CAACp2F,KAGZ82F,GAAkBlB,GAAgBJ,IAAiB,CAACx1F,EAAG2I,KAG/C3I,EAAEqpE,cAAcZ,gBAAgB9/D,EAAEtF,WAAarD,EAAEqpE,cAAcriD,OAASre,EAAEtF,SAAS2jB,SACnFhnB,EAAEmW,SAAWxN,EAAEwN,SAEnBnW,EAAEqpE,cAAgBrpE,EAAEqpE,cAAcT,iCAAiCjgE,GACnE3I,EAAEypD,kBAAoBzpD,EAAEypD,kBAAkBmf,iCAAiCjgE,GACpE,CAAC3I,MAEZ82F,GAAkBlB,GAAgBC,IAAgB,CAAC71F,EAAG2I,EAAGoQ,KAqDrD,IAAK/Y,EAAEupE,oBAAsBxwD,EAAQihF,YAAch6F,EAAEqpE,cAAcZ,gBAAgB9/D,EAAEugE,gBAAiB,CAClG,MAAMqzB,EAAY5zF,EAAE4gE,kBAAkBr6D,KAAKzJ,QAC3C82F,EAAUvgG,KAAK,GACf,MAAMqtE,EAAgB,IAAI,GAAS1gE,EAAE4gE,kBAAkBjuE,KAAMihG,GACvD9yC,EAAoBmsC,GAAeG,qBAAqB,IAAI,GAASptF,EAAE4gE,kBAAkBjuE,KAAMihG,IAC/FC,EAAkB,IAAI5G,GAAevsB,EAAe,EAAG5f,EAAmB,KAAM,GAKtF,OAJAzpD,EAAEqpE,cAAgBrpE,EAAEqpE,cAAcN,gCAAgCpgE,GAClE3I,EAAEypD,kBAAoBmsC,GAAeG,qBAAqB/1F,EAAEqpE,eAC5DrpE,EAAEupE,kBAAoBizB,EAAgB/yC,kBAAkBv6B,QACxDlvB,EAAEupE,kBAAkBpC,WAAa,SAC1B,CAACq1B,EAAiBx8F,EAC7B,CAcA,OAXIA,EAAEqpE,cAAcZ,gBAAgB9/D,EAAE8gE,oBAAsBzpE,EAAEqpE,cAAcn7B,QAAQvlC,EAAE8gE,mBAClFzpE,EAAEmW,UAEFnW,EAAEqpE,cAAcZ,gBAAgB9/D,EAAE89C,kBAClCzmD,EAAEmW,SAAWxN,EAAEwN,SAEnBnW,EAAEqpE,cAAgBrpE,EAAEqpE,cAAcN,gCAAgCpgE,GAClE3I,EAAEypD,kBAAoBmsC,GAAeG,qBAAqB/1F,EAAEqpE,eACxDrpE,EAAEupE,oBACFvpE,EAAEupE,kBAAoBvpE,EAAEupE,kBAAkBR,gCAAgCpgE,IAEvE,CAAC3I,EAAE,IAEd82F,GAAkBlB,GAAgBd,IAAe,CAAC90F,EAAG2I,EAAGoQ,KACpD,MAAM0jF,EAAc,GAAMh/C,4BAA4B90C,EAAEugE,eAAgBvgE,EAAEwN,SAC1E,GAAInW,EAAEupE,kBAAmB,CAOrB,MAAMmzB,EAAiBD,EAAY3gE,MAAMvL,QAAQvwB,EAAEupE,oBAAsBkzB,EAAYhgD,iBAAiBz8C,EAAEupE,mBACxG,IAAKxwD,EAAQihF,YAAc0C,EAAgB,CACvC,MAAMxzB,EAAiBlpE,EAAEqpE,cAAcR,+BAA+BlgE,GAChEg0F,EAAoB38F,EAAEupE,kBAAkBV,+BAA+BlgE,GACvEi0F,EAAgBD,EAAkBztF,KAAKzJ,QAC7Cm3F,EAAc5gG,KAAK,GACnB,MAAMk5F,EAAoB,IAAI,GAASyH,EAAkBrhG,KAAMshG,GAE/D,MAAO,CADQ,IAAI9H,GAAc5rB,EAAgBlpE,EAAEmW,QAAS++E,EAAmB,GAEnF,CACAl1F,EAAEupE,kBAAoBvpE,EAAEupE,kBAAkBV,+BAA+BlgE,EAC7E,CAQA,MAAMk0F,EAAgB78F,EAAEqpE,cAAc94C,QAAQ5nB,EAAE89C,gBAChD,GAAIo2C,IAAwC,kBAAtB9jF,EAAQohF,YAAwD,eAAtBphF,EAAQkhF,YAIpE,OAHAj6F,EAAEmW,SAAWxN,EAAEwN,QACfnW,EAAEqpE,cAAgBrpE,EAAEqpE,cAAcG,0BAA0B7gE,EAAEugE,eAAgBvgE,EAAEwN,SAChFnW,EAAEypD,kBAAoBmsC,GAAeG,qBAAqB/1F,EAAEqpE,eACrD,CAACrpE,GAEZ,GAAI68F,GAAiB9jF,EAAQkhF,YAAclhF,EAAQkhF,WAAW9jF,QAAS,CACnE,MAAM,QAAEA,EAAO,OAAE6Q,GAAWjO,EAAQkhF,WAGpC,OAFAj6F,EAAEmW,SAAWA,EACbnW,EAAEqpE,cAAgBrpE,EAAEqpE,cAAc7tB,aAAax0B,GACxC,CAAChnB,EACZ,CAkBA,GAAIA,EAAEqpE,cAAcZ,gBAAgB9/D,EAAEugE,iBAAmBuzB,EAAYhgD,iBAAiBz8C,EAAEqpE,eAAgB,CACpG,MAAMyzB,EAAiBn0F,EAAEwN,SAAWnW,EAAEqpE,cAAcriD,OAASre,EAAEugE,eAAeliD,QAO9E,OANAhnB,EAAEmW,SAAW2mF,EACT98F,EAAEqpE,cAAcZ,gBAAgB9/D,EAAE89C,iBAAmBzmD,EAAEqpE,cAAcriD,OAASre,EAAE89C,eAAez/B,SAC/FhnB,EAAEmW,SAAWxN,EAAEwN,SAEnBnW,EAAEqpE,cAAgB1gE,EAAEugE,eAAeh6C,QACnClvB,EAAEypD,kBAAoBmsC,GAAeG,qBAAqB/1F,EAAEqpE,eACrD,CAACrpE,EACZ,CAsBA,OAlBK2I,EAAEugE,eAAe34C,QAAQ5nB,EAAE89C,kBACxBzmD,EAAEqpE,cAAcZ,gBAAgB9/D,EAAEugE,iBAAmBlpE,EAAEqpE,cAAcriD,QAAUre,EAAEugE,eAAeliD,SAChGhnB,EAAEmW,SAAWxN,EAAEwN,SAEfnW,EAAEqpE,cAAcZ,gBAAgB9/D,EAAE89C,iBAAmBzmD,EAAEqpE,cAAcriD,OAASre,EAAE89C,eAAez/B,SAC/FhnB,EAAEmW,SAAWxN,EAAEwN,UAIvBnW,EAAEqpE,cAAclC,WAAa,SAC7BnnE,EAAEqpE,cAAgBrpE,EAAEqpE,cAAcR,+BAA+BlgE,GACjE3I,EAAEqpE,cAAclC,WAAa,SACzBnnE,EAAEupE,kBACFvpE,EAAEypD,kBAAoBzpD,EAAEypD,kBAAkBof,+BAA+BlgE,GAGzE3I,EAAEypD,kBAAoBmsC,GAAeG,qBAAqB/1F,EAAEqpE,eAEzD,CAACrpE,EAAE,IAEd82F,GAAkBlB,GAAgBA,IAAgB,CAAC51F,EAAG2I,EAAGoQ,KAiBrD,GAAI/Y,EAAEqpE,cAAc94C,QAAQ5nB,EAAE0gE,eAAgB,CAC1C,IAAKrpE,EAAEupE,oBAAsB5gE,EAAE4gE,kBAC3B,MAAO,CAAC,IAAI6sB,GAAY,IAE5B,GAAIp2F,EAAEupE,mBAAqB5gE,EAAE4gE,mBAAqBvpE,EAAEupE,kBAAkBh5C,QAAQ5nB,EAAE4gE,mBAC5E,MAAO,CAAC,IAAI6sB,GAAY,IAI5B,GAA0B,eAAtBr9E,EAAQkhF,WAOR,OALAj6F,EAAEmW,QAAU,EAIZnW,EAAEupE,kBAAoBvpE,EAAEupE,kBAAkBT,gCAAgCngE,GACnE,CAAC3I,EAEhB,CAaA,GAAIA,EAAEupE,mBAAqB5gE,EAAE4gE,mBAAqBvpE,EAAEupE,kBAAkBh5C,QAAQ5nB,EAAE4gE,mBAAoB,CAChG,MAAMwzB,EAAgD,cAAjC/8F,EAAEqpE,cAAc/tE,KAAKqqC,SACpCq3D,EAAgD,cAAjCr0F,EAAE0gE,cAAc/tE,KAAKqqC,SAO1C,GAHgBq3D,IAAiBD,KAFjBA,IAAiBC,IAISjkF,EAAQ8gF,UACnC,CACX,MAAMl8F,EAAS,GAWf,OARIgL,EAAEwN,SACFxY,EAAO3B,KAAK,IAAI84F,GAAcnsF,EAAE2gE,mBAAoB3gE,EAAEwN,QAASxN,EAAE0gE,cAAe,IAIhFrpE,EAAEmW,SACFxY,EAAO3B,KAAK,IAAI84F,GAAc90F,EAAEqpE,cAAerpE,EAAEmW,QAASnW,EAAEspE,mBAAoB,IAE7E3rE,CACX,CAEI,MAAO,CAAC,IAAIy4F,GAAY,GAEhC,CASA,GARIp2F,EAAEupE,oBACFvpE,EAAEupE,kBAAoBvpE,EAAEupE,kBAAkBT,gCAAgCngE,IAO1E3I,EAAEqpE,cAAc94C,QAAQ5nB,EAAE8gD,oBAA4C,eAAtB1wC,EAAQkhF,WAExD,OADAj6F,EAAEmW,UACK,CAACnW,GAMZ,GAAI2I,EAAE0gE,cAAc94C,QAAQvwB,EAAEypD,oBAA4C,eAAtB1wC,EAAQohF,WAA6B,CACrF,MAAM8C,EAAkBt0F,EAAE8gD,kBAAkBv6C,KAAKzJ,QACjDw3F,EAAgBjhG,KAAK,GACrB,MAAMkrD,EAAc,IAAI,GAASv+C,EAAE8gD,kBAAkBnuD,KAAM2hG,GAE3D,MAAO,CAACj9F,EADO,IAAI80F,GAAc90F,EAAEypD,kBAAmB,EAAGvC,EAAa,GAE1E,CAQA,OALIlnD,EAAEqpE,cAAcZ,gBAAgB9/D,EAAE0gE,gBAAkBrpE,EAAEqpE,cAAcriD,OAASre,EAAE0gE,cAAcriD,SAC7FhnB,EAAEmW,SAAWxN,EAAEwN,SAEnBnW,EAAEqpE,cAAgBrpE,EAAEqpE,cAAcP,gCAAgCngE,GAClE3I,EAAEypD,kBAAoBmsC,GAAeG,qBAAqB/1F,EAAEqpE,eACrD,CAACrpE,EAAE,IChgEC,MAAMk9F,WAAqCtiF,EAAa,KAMnE,WAAAxD,CAAY9b,EAAM4T,EAAMi4D,EAAa,UAEjC,GADAnuD,MAAM1d,EAAM4T,EAAMi4D,IACbl6D,KAAK3R,KAAKoe,GAAG,eAMd,MAAM,IAAI,EAAc,0CAA2Cpe,GAEvE,GAAiBgH,KAAK2K,KAC1B,CAMA,MAAA+e,GACI/e,KAAKkO,eACT,CAIA,UAAAgiF,GACI,OAAO,IAAI,GAASlwF,KAAK3R,KAAM2R,KAAKiC,KAAKzJ,QAASwH,KAAKk6D,WAC3D,CAIA,mBAAOi2B,CAAa/5F,EAAU8jE,GAC1B,OAAO,IAAIl6D,KAAK5J,EAAS/H,KAAM+H,EAAS6L,KAAKzJ,QAAS0hE,GAA0B9jE,EAAS8jE,WAC7F,EAaJ,SAAS,KACLl6D,KAAK+N,SAAS/N,KAAK3R,KAAKc,SAASmM,MAAO,kBAAkB,CAACuS,EAAOtd,KAC9D,MAAMmrE,EAAYnrE,EAAK,GAClBmrE,EAAU+N,qBAGf,GAAUp0E,KAAK2K,KAAM07D,EAAU,GAChC,CAAEzwD,SAAU,OACnB,CAIA,SAAS,GAAUywD,GACf,MAAMhrE,EAASsP,KAAKy7D,0BAA0BC,GAC9C,IAAK17D,KAAKsjB,QAAQ5yB,GAAS,CACvB,MAAM0/F,EAAcpwF,KAAKkwF,aACzBlwF,KAAKiC,KAAOvR,EAAOuR,KACnBjC,KAAK3R,KAAOqC,EAAOrC,KACnB2R,KAAK+O,KAAK,SAAUqhF,EACxB,CACJ,CA7BAH,GAAa96F,UAAUsX,GAAK,SAAUvJ,GAClC,MAAgB,iBAATA,GAAoC,uBAATA,GAEtB,YAARA,GAA+B,mBAATA,CAC9B,EC7Ce,MAAMmtF,GASjB,WAAAlmF,CAAYjH,EAAO,CAAC,GACI,iBAATA,IACPA,EAAgB,gBAATA,EAAyB,CAAEuhF,YAAY,GAAU,CAAC,EAQzD,EAAW,6CAEf,MAAM,WAAEA,GAAa,EAAI,QAAE6L,GAAU,EAAI,OAAEC,GAAS,EAAK,SAAEC,GAAW,GAAUttF,EAChFlD,KAAKu9D,WAAa,GAClBv9D,KAAKykF,WAAaA,EAClBzkF,KAAKswF,QAAUA,EACftwF,KAAKuwF,OAASA,EACdvwF,KAAKwwF,SAAWA,CACpB,CAaA,QAAIttF,GAQA,OADA,EAAW,yBACJ,SACX,CAKA,eAAI2jF,GACA,IAAK,MAAMiE,KAAM9qF,KAAKu9D,WAClB,GAAuB,OAAnButB,EAAGjE,YACH,OAAOiE,EAAGjE,YAGlB,OAAO,IACX,CAOA,YAAA4J,CAAa/0B,GAOT,OANIA,EAAU+N,sBAGV/N,EAAU6P,MAAQvrE,KAClBA,KAAKu9D,WAAWxuE,KAAK2sE,IAElBA,CACX,ECjFJ,MAAMg1B,GAMF,WAAAvmF,CAAYwmF,GAOR3wF,KAAK4wF,kBAAoB,IAAI3gF,IAQ7BjQ,KAAK6wF,mBAAqB,IAAI5gF,IAS9BjQ,KAAK8wF,0BAA4B,IAAI7gF,IAiBrCjQ,KAAK+wF,cAAgB,IAAI9gF,IAWzBjQ,KAAKgxF,gBAAkB,IAAI/gF,IAM3BjQ,KAAKixF,cAAgB,IAAIhhF,IAKzBjQ,KAAKkxF,aAAe,EAQpBlxF,KAAKmxF,eAAiB,KAQtBnxF,KAAKoxF,4BAA8B,KAInCpxF,KAAKqxF,gBAAkB,IAAIj/E,IAC3BpS,KAAKsxF,kBAAoBX,CAC7B,CAIA,WAAI9rD,GACA,OAAsC,GAA/B7kC,KAAK4wF,kBAAkBv+E,MAA0C,GAA7BrS,KAAKgxF,gBAAgB3+E,MAAwC,GAA3BrS,KAAKixF,cAAc5+E,IACpG,CAMA,eAAAk/E,CAAgBC,GAKZ,MAAM91B,EAAY81B,EAIlB,OAAQ91B,EAAUx4D,MACd,IAAK,SACD,GAAIlD,KAAKyxF,qBAAqB/1B,EAAUtlE,SAASgL,QAC7C,OAEJpB,KAAK0xF,YAAYh2B,EAAUtlE,SAASgL,OAAQs6D,EAAUtlE,SAAS2jB,OAAQ2hD,EAAUp8C,MAAM+6C,WACvF,MAEJ,IAAK,eACL,IAAK,kBACL,IAAK,kBACD,IAAK,MAAMlpE,KAAQuqE,EAAU12C,MAAMmrB,SAAS,CAAErD,SAAS,IAC/C9sC,KAAKyxF,qBAAqBtgG,EAAKiQ,SAGnCpB,KAAK2xF,eAAexgG,GAExB,MAEJ,IAAK,SACL,IAAK,OACL,IAAK,WAAY,CAGb,GAAIuqE,EAAUO,eAAe34C,QAAQo4C,EAAUliB,iBAC3CkiB,EAAUO,eAAe1tB,aAAamtB,EAAUxyD,SAASoa,QAAQo4C,EAAUliB,gBAC3E,OAEJ,MAAMo4C,EAAuB5xF,KAAKyxF,qBAAqB/1B,EAAUO,eAAe76D,QAC1EywF,EAAuB7xF,KAAKyxF,qBAAqB/1B,EAAUliB,eAAep4C,QAC3EwwF,GACD5xF,KAAK8xF,YAAYp2B,EAAUO,eAAe76D,OAAQs6D,EAAUO,eAAeliD,OAAQ2hD,EAAUxyD,SAE5F2oF,GACD7xF,KAAK0xF,YAAYh2B,EAAUliB,eAAep4C,OAAQs6D,EAAUqsB,qBAAqBhuE,OAAQ2hD,EAAUxyD,SAGvG,MAAM8b,EAAQ,GAAMwrB,4BAA4BkrB,EAAUO,eAAgBP,EAAUxyD,SACpF,IAAK,MAAMvH,KAAQqjB,EAAMmrB,SAAS,CAAErD,SAAS,IACzC9sC,KAAK+xF,iBAAiBpwF,EAAM,QAEhC,KACJ,CACA,IAAK,SAAU,CACX,GAAI3B,KAAKyxF,qBAAqB/1B,EAAUtlE,SAASgL,QAC7C,OAEJpB,KAAK8xF,YAAYp2B,EAAUtlE,SAASgL,OAAQs6D,EAAUtlE,SAAS2jB,OAAQ,GACvE/Z,KAAK0xF,YAAYh2B,EAAUtlE,SAASgL,OAAQs6D,EAAUtlE,SAAS2jB,OAAQ,GACvE,MAAMiL,EAAQ,GAAMwrB,4BAA4BkrB,EAAUtlE,SAAU,GACpE,IAAK,MAAM6vE,KAAUjmE,KAAKsxF,kBAAkBU,4BAA4BhtE,GAAQ,CAC5E,MAAMitE,EAAahsB,EAAOvP,UAC1B12D,KAAKkyF,mBAAmBjsB,EAAOzjE,KAAMyvF,EAAYA,EACrD,CACAjyF,KAAK+xF,iBAAiBr2B,EAAUtlE,SAAS+3C,UAAW,UACpD,KACJ,CACA,IAAK,QAAS,CACV,MAAM06C,EAAentB,EAAUU,cAAch7D,OAE7C,IAAKpB,KAAKyxF,qBAAqB5I,GAAe,CAC1C7oF,KAAK8xF,YAAYjJ,EAAcntB,EAAUU,cAAcriD,OAAQ2hD,EAAUxyD,SAEzE,MAAM8b,EAAQ,GAAMwrB,4BAA4BkrB,EAAUU,cAAeV,EAAUxyD,SACnF,IAAK,MAAMvH,KAAQqjB,EAAMmrB,SAAS,CAAErD,SAAS,IACzC9sC,KAAK+xF,iBAAiBpwF,EAAM,OAEpC,CAEK3B,KAAKyxF,qBAAqB/1B,EAAUlf,kBAAkBp7C,SACvDpB,KAAK0xF,YAAYh2B,EAAUlf,kBAAkBp7C,OAAQs6D,EAAUlf,kBAAkBziC,OAAQ,GAGzF2hD,EAAUY,oBACVt8D,KAAK8xF,YAAYp2B,EAAUY,kBAAkBl7D,OAAQs6D,EAAUY,kBAAkBviD,OAAQ,GACzF/Z,KAAK+xF,iBAAiBr2B,EAAUY,kBAAkBnuB,UAAW,SAEjE,KACJ,CACA,IAAK,QAAS,CAEV,MAAM46C,EAAgBrtB,EAAUO,eAAe76D,OAC1CpB,KAAKyxF,qBAAqB1I,EAAc3nF,SACzCpB,KAAK8xF,YAAY/I,EAAc3nF,OAAQ2nF,EAAc96C,YAAa,GAGtE,MAAMkkD,EAAkBz2B,EAAUY,kBAAkBl7D,OACpDpB,KAAK0xF,YAAYS,EAAiBz2B,EAAUY,kBAAkBviD,OAAQ,GACtE/Z,KAAK+xF,iBAAiBhJ,EAAe,QAErC,MAAMqJ,EAAoB12B,EAAUliB,eAAep4C,OACnD,IAAKpB,KAAKyxF,qBAAqBW,GAAoB,CAC/CpyF,KAAK0xF,YAAYU,EAAmB12B,EAAUliB,eAAez/B,OAAQgvE,EAAc1uB,WAEnF,MAAMr1C,EAAQ,GAAMwrB,4BAA4BkrB,EAAUO,eAAgBP,EAAUxyD,SACpF,IAAK,MAAMvH,KAAQqjB,EAAMmrB,SAAS,CAAErD,SAAS,IACzC9sC,KAAK+xF,iBAAiBpwF,EAAM,OAEpC,CACA,KACJ,CACA,IAAK,aACL,IAAK,UAAW,CACZ,MAAMtT,EAAOqtE,EAAUosB,mBACvB,IAAKz5F,EAAKgkG,UACN,OAGJ,GAAIhkG,EAAK+wC,cAAgBs8B,EAAU8tB,MAC/B,OAEJxpF,KAAKsyF,uBAAuB52B,EAAUhjC,SAAUgjC,EAAU8tB,OAC1D,KACJ,CACA,IAAK,mBACL,IAAK,sBACL,IAAK,sBAAuB,CACxB,IAAK9tB,EAAUrtE,KAAKgkG,UAChB,OAEJ,MAAM35D,EAAWgjC,EAAUrtE,KAAKqqC,SAChC14B,KAAKuyF,2BAA2B75D,EAAUgjC,EAAU/iE,IAAK+iE,EAAU3pD,SAAU2pD,EAAU1pD,UACvF,KACJ,EAGJhS,KAAKmxF,eAAiB,IAC1B,CAQA,kBAAAe,CAAmBxyB,EAAY8yB,EAAeC,GACtCD,EAAcxtE,OAASwtE,EAAcxtE,MAAM32B,KAAKoe,GAAG,iBAAmB+lF,EAAcxtE,MAAM32B,KAAKgkG,YAC/FG,EAAcxtE,MAAQ,MAEtBytE,EAAcztE,OAASytE,EAAcztE,MAAM32B,KAAKoe,GAAG,iBAAmBgmF,EAAcztE,MAAM32B,KAAKgkG,YAC/FI,EAAcztE,MAAQ,MAE1B,IAAI0tE,EAAW1yF,KAAKgxF,gBAAgBnrF,IAAI65D,GACnCgzB,EAKDA,EAASD,cAAgBA,GAJzBC,EAAW,CAAED,gBAAeD,iBAC5BxyF,KAAKgxF,gBAAgB9gF,IAAIwvD,EAAYgzB,IAKL,MAAhCA,EAASF,cAAcxtE,OAAwC,MAAvBytE,EAAcztE,OAGtDhlB,KAAKgxF,gBAAgB5gF,OAAOsvD,EAEpC,CAMA,kBAAAkF,GACI,MAAMl0E,EAAS,GACf,IAAK,MAAO8R,EAAM+7B,KAAWv+B,KAAKgxF,gBACI,MAA9BzyD,EAAOi0D,cAAcxtE,OACrBt0B,EAAO3B,KAAK,CAAEyT,OAAMwiB,MAAOuZ,EAAOi0D,cAAcxtE,QAGxD,OAAOt0B,CACX,CAMA,eAAAg1E,GACI,MAAMh1E,EAAS,GACf,IAAK,MAAO8R,EAAM+7B,KAAWv+B,KAAKgxF,gBACI,MAA9BzyD,EAAOk0D,cAAcztE,OACrBt0B,EAAO3B,KAAK,CAAEyT,OAAMwiB,MAAOuZ,EAAOk0D,cAAcztE,QAGxD,OAAOt0B,CACX,CAIA,iBAAAiiG,GACI,OAAO3+F,MAAM8N,KAAK9B,KAAKgxF,iBAAiB1xF,KAAI,EAAEkD,EAAM+7B,MAAY,CAC5D/7B,OACA5Q,KAAM,CACF61E,SAAUlpC,EAAOi0D,cAAcxtE,MAC/Bs2B,SAAU/c,EAAOk0D,cAAcztE,UAG3C,CAYA,cAAA4tE,GACI,GAAI5yF,KAAKglE,aAAav0E,OAClB,OAAO,EAEX,GAAIuP,KAAKixF,cAAc5+E,KAAO,EAC1B,OAAO,EAEX,IAAK,MAAM,cAAEogF,EAAa,cAAED,KAAmBxyF,KAAKgxF,gBAAgB/nF,SAAU,CAC1E,GAAIwpF,EAAcn6D,cAAgBk6D,EAAcl6D,YAC5C,OAAO,EAEX,GAAIm6D,EAAcn6D,YAAa,CAC3B,MAAMu6D,EAAcJ,EAAcztE,QAAUwtE,EAAcxtE,MACpD8tE,GAAiBL,EAAcztE,OAASwtE,EAAcxtE,MACtD+tE,EAAgBN,EAAcztE,OAASwtE,EAAcxtE,QAAUytE,EAAcztE,MAAM1B,QAAQkvE,EAAcxtE,OAC/G,GAAI6tE,GAAeC,GAAiBC,EAChC,OAAO,CAEf,CACJ,CACA,OAAO,CACX,CAmBA,UAAA/tB,CAAW/1E,EAAU,CAAC,GAElB,GAAI+Q,KAAKmxF,eACL,OAAIliG,EAAQ+jG,0BACDhzF,KAAKoxF,4BAA4B54F,QAGjCwH,KAAKmxF,eAAe34F,QAInC,IAAIy6F,EAAU,GAEd,IAAK,MAAM/jG,KAAW8Q,KAAK4wF,kBAAkBhhG,OAAQ,CAEjD,MAAMk1E,EAAU9kE,KAAK4wF,kBAAkB/qF,IAAI3W,GAASkwB,MAAK,CAACrsB,EAAG2I,IACrD3I,EAAEgnB,SAAWre,EAAEqe,OACXhnB,EAAEmQ,MAAQxH,EAAEwH,KAIK,UAAVnQ,EAAEmQ,MAAoB,EAAI,EAE9B,EAEJnQ,EAAEgnB,OAASre,EAAEqe,QAAU,EAAI,IAGhCm5E,EAAiBlzF,KAAK8wF,0BAA0BjrF,IAAI3W,GAEpDikG,EAAgBC,GAAsBlkG,EAAQmwC,eAE9Cg0D,EAAmBC,GAAqCJ,EAAeziG,OAAQq0E,GACrF,IAAIl0E,EAAI,EACJ4sE,EAAI,EAER,IAAK,MAAM+1B,KAAeF,EACtB,GAAoB,MAAhBE,EAAqB,CACrB,MAAM5xC,EAAS3hD,KAAKwzF,sBAAsBL,EAAcviG,GAAG+Q,KAAM,UAC3D8xF,EAAsBzzF,KAAK6wF,mBAAmBhrF,IAAIstF,EAAcviG,GAAG+Q,MACnE+xF,EAAW1zF,KAAK2zF,eAAezkG,EAAS0B,EAAG+wD,EAAQwxC,EAAcviG,GAAI6iG,GAC3ER,EAAQlkG,KAAK2kG,GACb9iG,GACJ,MACK,GAAoB,MAAhB2iG,EAAqB,CAC1B,MAAM5xC,EAAS3hD,KAAKwzF,sBAAsBN,EAAe11B,GAAG77D,KAAM,UAC5D+xF,EAAW1zF,KAAK4zF,eAAe1kG,EAAS0B,EAAG+wD,EAAQuxC,EAAe11B,IACxEy1B,EAAQlkG,KAAK2kG,GACbl2B,GACJ,MACK,GAAoB,MAAhB+1B,EAAqB,CAE1B,MAAMM,EAAmBX,EAAe11B,GAAGluE,WACrCwkG,EAAkBX,EAAcviG,GAAGtB,WACzC,IAAI01B,EACJ,GAA6B,SAAzBmuE,EAAcviG,GAAG4R,KACjBwiB,EAAQ,IAAI,GAAM,GAAS4nB,UAAU19C,EAAS0B,GAAI,GAASg8C,UAAU19C,EAAS0B,EAAI,QAEjF,CACD,MAAMsC,EAAQhE,EAAQ4rE,cAAclqE,GACpCo0B,EAAQ,IAAI,GAAM,GAAS4nB,UAAU19C,EAAS0B,GAAI,GAASg8C,UAAU19C,EAAQgxC,SAAShtC,GAAQ,GAClG,CAGA,MAAM6gG,EAAY/zF,KAAKg0F,mBAAmBhvE,EAAO6uE,EAAkBC,GACnEb,EAAQlkG,QAAQglG,GAChBnjG,IACA4sE,GACJ,MAGI5sE,IACA4sE,GAGZ,CAEAy1B,EAAQ7zE,MAAK,CAACrsB,EAAG2I,IAIT3I,EAAEqD,SAAS/H,MAAQqN,EAAEtF,SAAS/H,KACvB0E,EAAEqD,SAAS/H,KAAKqqC,SAAWh9B,EAAEtF,SAAS/H,KAAKqqC,UAAY,EAAI,EAGlE3lC,EAAEqD,SAASktB,QAAQ5nB,EAAEtF,UAEdrD,EAAEkhG,YAAcv4F,EAAEu4F,YAGtBlhG,EAAEqD,SAAS0qC,SAASplC,EAAEtF,WAAa,EAAI,IAGlD,IAAK,IAAIxF,EAAI,EAAGsjG,EAAY,EAAGtjG,EAAIqiG,EAAQxiG,OAAQG,IAAK,CACpD,MAAMujG,EAAWlB,EAAQiB,GACnBE,EAAWnB,EAAQriG,GAEnByjG,EAA2C,UAAjBF,EAASjxF,MAAqC,UAAjBkxF,EAASlxF,MACjD,SAAjBixF,EAAS3xF,MAAoC,SAAjB4xF,EAAS5xF,MACrC2xF,EAAS/9F,SAASktB,QAAQ8wE,EAASh+F,UAEjCk+F,EAAwC,UAAjBH,EAASjxF,MAAqC,UAAjBkxF,EAASlxF,MAC9C,SAAjBixF,EAAS3xF,MAAoC,SAAjB4xF,EAAS5xF,MACrC2xF,EAAS/9F,SAASgL,QAAUgzF,EAASh+F,SAASgL,QAC9C+yF,EAAS/9F,SAAS2jB,OAASo6E,EAAS1jG,QAAU2jG,EAASh+F,SAAS2jB,OAE9Dw6E,EAAgD,aAAjBJ,EAASjxF,MAAwC,aAAjBkxF,EAASlxF,MAC1EixF,EAAS/9F,SAASgL,QAAUgzF,EAASh+F,SAASgL,QAC9C+yF,EAASnvE,MAAMlJ,QAAUs4E,EAASpvE,MAAMlJ,QACvCq4E,EAAS/9F,SAAS2jB,OAASo6E,EAAS1jG,QAAW2jG,EAASh+F,SAAS2jB,QAClEo6E,EAAShsC,cAAgBisC,EAASjsC,cAClCgsC,EAAS9uB,mBAAqB+uB,EAAS/uB,mBACvC8uB,EAAS7uB,mBAAqB8uB,EAAS9uB,kBACvC+uB,GAA2BC,GAAwBC,GACnDJ,EAAS1jG,SACL8jG,IACAJ,EAASnvE,MAAM4I,IAAMumE,EAASnvE,MAAM4I,IAAI2gB,aAAa,IAEzD0kD,EAAQriG,GAAK,MAGbsjG,EAAYtjG,CAEpB,CACAqiG,EAAUA,EAAQt8F,QAAOyF,GAAKA,IAE9B,IAAK,MAAMjL,KAAQ8hG,SACR9hG,EAAK8iG,YACK,aAAb9iG,EAAK+R,cACE/R,EAAKiF,gBACLjF,EAAKV,QAOpB,OAJAuP,KAAKkxF,aAAe,EAEpBlxF,KAAKoxF,4BAA8B6B,EACnCjzF,KAAKmxF,eAAiB8B,EAAQt8F,OAAO69F,IACjCvlG,EAAQ+jG,0BACDhzF,KAAKoxF,4BAA4B54F,QAGjCwH,KAAKmxF,eAAe34F,OAEnC,CAMA,eAAAi8F,GACI,OAAOzgG,MAAM8N,KAAK9B,KAAKixF,cAAchoF,UAAU3J,KAAIo0F,IAC/C,MAAMx9F,EAAQ,IAAKw9F,GAWnB,YAVoBvzF,IAAhBjK,EAAMwO,cAQCxO,EAAM5G,WAEV4G,CAAK,GAEpB,CAIA,iBAAAyuE,GACI,OAAO,IAAIvyD,IAAIpS,KAAKqxF,gBACxB,CAIA,KAAAqD,GACI10F,KAAK4wF,kBAAkBvgF,QACvBrQ,KAAK8wF,0BAA0BzgF,QAC/BrQ,KAAK6wF,mBAAmBxgF,QACxBrQ,KAAK+wF,cAAc1gF,QACnBrQ,KAAKgxF,gBAAgB3gF,QACrBrQ,KAAKixF,cAAc5gF,QACnBrQ,KAAKqxF,gBAAgBhhF,QACrBrQ,KAAKmxF,eAAiB,IAC1B,CAQA,YAAAtW,CAAa1pF,GACT,GAAI6O,KAAKyxF,qBAAqBtgG,EAAKiQ,QAC/B,OAEJpB,KAAK8xF,YAAY3gG,EAAKiQ,OAAQjQ,EAAK88C,YAAa98C,EAAK4wC,YACrD/hC,KAAK0xF,YAAYvgG,EAAKiQ,OAAQjQ,EAAK88C,YAAa98C,EAAK4wC,YACrD/hC,KAAKqxF,gBAAgBjlF,IAAIjb,GACzB6O,KAAK+xF,iBAAiB5gG,EAAM,WAC5B,MAAM6zB,EAAQ,GAAM0rB,UAAUv/C,GAC9B,IAAK,MAAM80E,KAAUjmE,KAAKsxF,kBAAkBU,4BAA4BhtE,GAAQ,CAC5E,MAAMitE,EAAahsB,EAAOvP,UAC1B12D,KAAKkyF,mBAAmBjsB,EAAOzjE,KAAMyvF,EAAYA,EACrD,CAEAjyF,KAAKmxF,eAAiB,IAC1B,CAaA,eAAAwD,CAAgBtmG,GACZ,GAAKA,EAAK+wC,aAAV,CAGAp/B,KAAKsyF,uBAAuBjkG,EAAKqqC,UAAU,GAC3C14B,KAAK0xF,YAAYrjG,EAAM,EAAGA,EAAKgsE,WAK/B,IAAK,MAAM1hE,KAAOtK,EAAK06C,mBACnB/oC,KAAKuyF,2BAA2BlkG,EAAKqqC,SAAU//B,EAAK,KAAMtK,EAAK0xC,aAAapnC,IAEhF,IAAK,MAAMstE,KAAUjmE,KAAKsxF,kBACtB,GAAIrrB,EAAOT,WAAWn3E,MAAQA,EAAM,CAChC,MAAM4jG,EAAahsB,EAAOvP,UAC1B12D,KAAKkyF,mBAAmBjsB,EAAOzjE,KAAM,IAAKyvF,EAAYjtE,MAAO,MAAQitE,EACzE,CAdJ,CAgBJ,CAIA,sBAAAK,CAAuB55D,EAAU0G,GAC7B,IAAKp/B,KAAKixF,cAAc9kF,IAAIusB,GAExB,YADA14B,KAAKixF,cAAc/gF,IAAIwoB,EAAU,CAAEl2B,KAAMk2B,EAAUh0B,MAAO06B,EAAa,WAAa,aAGxF,MAAMs0D,EAAW1zF,KAAKixF,cAAcprF,IAAI6yB,QACjBv4B,IAAnBuzF,EAAShvF,cAIFgvF,EAAShvF,WACYvE,IAAxBuzF,EAASpkG,YAET0Q,KAAKixF,cAAc7gF,OAAOsoB,IAI9Bg7D,EAAShvF,MAAQ06B,EAAa,WAAa,UAEnD,CAIA,0BAAAmzD,CAA2B75D,EAAU//B,EAAKoZ,EAAUC,GAChD,MAAM0hF,EAAW1zF,KAAKixF,cAAcprF,IAAI6yB,IAAa,CAAEl2B,KAAMk2B,GACvD91B,EAAQ8wF,EAASpkG,YAAc,CAAC,EACtC,GAAIsT,EAAMjK,GAAM,CAEZ,MAAMi8F,EAAYhyF,EAAMjK,GACpBqZ,IAAa4iF,EAAU7iF,gBAEhBnP,EAAMjK,GAIbi8F,EAAU5iF,SAAWA,CAE7B,MAGIpP,EAAMjK,GAAO,CAAEoZ,WAAUC,YAEQ,IAAjCriB,OAAOqnB,QAAQpU,GAAOnS,eAEfijG,EAASpkG,gBACO6Q,IAAnBuzF,EAAShvF,OAET1E,KAAKixF,cAAc7gF,OAAOsoB,KAK9Bg7D,EAASpkG,WAAasT,EACtB5C,KAAKixF,cAAc/gF,IAAIwoB,EAAUg7D,GAEzC,CAIA,WAAAhC,CAAYtwF,EAAQ2Y,EAAQ7Q,GACxB,GAAI9H,EAAO/S,KAAKoe,GAAG,iBAAmBrL,EAAO/S,KAAKgkG,UAC9C,OAEJ,MAAMwC,EAAa,CAAE3xF,KAAM,SAAU6W,SAAQ7Q,UAAS7P,MAAO2G,KAAKkxF,gBAClElxF,KAAK80F,YAAY1zF,EAAQyzF,EAC7B,CAIA,WAAA/C,CAAY1wF,EAAQ2Y,EAAQ7Q,GACxB,GAAI9H,EAAO/S,KAAKoe,GAAG,iBAAmBrL,EAAO/S,KAAKgkG,UAC9C,OAEJ,MAAMwC,EAAa,CAAE3xF,KAAM,SAAU6W,SAAQ7Q,UAAS7P,MAAO2G,KAAKkxF,gBAClElxF,KAAK80F,YAAY1zF,EAAQyzF,GACzB70F,KAAK+0F,wBAAwB3zF,EAAQ2Y,EAAQ7Q,EACjD,CAIA,cAAAyoF,CAAexgG,GACX,GAAIA,EAAK9C,KAAKoe,GAAG,iBAAmBtb,EAAK9C,KAAKgkG,UAC1C,OAEJ,MAAMwC,EAAa,CAAE3xF,KAAM,YAAa6W,OAAQ5oB,EAAK88C,YAAa/kC,QAAS/X,EAAK4wC,WAAY1oC,MAAO2G,KAAKkxF,gBACxGlxF,KAAK80F,YAAY3jG,EAAKiQ,OAAQyzF,EAClC,CAIA,WAAAC,CAAY1zF,EAAQyzF,GAEhB70F,KAAKg1F,eAAe5zF,GAEpB,MAAM0jE,EAAU9kE,KAAKi1F,sBAAsB7zF,GAE3CpB,KAAKk1F,cAAcL,EAAY/vB,GAE/BA,EAAQ/1E,KAAK8lG,GAGb,IAAK,IAAIjkG,EAAI,EAAGA,EAAIk0E,EAAQr0E,OAAQG,IAC5Bk0E,EAAQl0E,GAAGsY,QAAU,IACrB47D,EAAQlrE,OAAOhJ,EAAG,GAClBA,IAGZ,CAOA,gBAAAmhG,CAAiBpwF,EAAM+C,GACnB,IAAK/C,EAAK8K,GAAG,WACT,OAEJ,MAAM0oF,EAAuBzE,GAAO0E,gBAAgB/xF,QAAQrD,KAAK+wF,cAAclrF,IAAIlE,IAC1D+uF,GAAO0E,gBAAgB/xF,QAAQqB,GACjCywF,GACnBn1F,KAAK+wF,cAAc7gF,IAAIvO,EAAM+C,EAErC,CAaA,qBAAA8uF,CAAsB7xF,EAAM0zF,GACxB,IAAK1zF,EAAK8K,GAAG,WAET,OAAO4oF,EAEX,IAAKr1F,KAAK6wF,mBAAmB1kF,IAAIxK,GAE7B,OAAO0zF,EAEX,MAAM3wF,EAAQ1E,KAAK+wF,cAAclrF,IAAIlE,GACrC,OAAK+C,GAAkB,QAATA,EAGPA,EAFI2wF,CAGf,CAIA,qBAAAJ,CAAsB/lG,GAClB,IAAI41E,EAQJ,OAPI9kE,KAAK4wF,kBAAkBzkF,IAAIjd,GAC3B41E,EAAU9kE,KAAK4wF,kBAAkB/qF,IAAI3W,IAGrC41E,EAAU,GACV9kE,KAAK4wF,kBAAkB1gF,IAAIhhB,EAAS41E,IAEjCA,CACX,CAIA,cAAAkwB,CAAe9lG,GACX,GAAI8Q,KAAK8wF,0BAA0B3kF,IAAIjd,GACnC,OAEJ,MAAMomG,EAAoBlC,GAAsBlkG,EAAQmwC,eACxDr/B,KAAK8wF,0BAA0B5gF,IAAIhhB,EAASomG,GAC5C,IAAK,MAAMC,KAAYD,EACnBt1F,KAAK6wF,mBAAmB3gF,IAAIqlF,EAAS5zF,KAAM4zF,EAEnD,CAQA,aAAAL,CAAcM,EAAK1wB,GAiBf0wB,EAAIC,cAAgBD,EAAItsF,QACxB,IAAK,MAAMwsF,KAAO5wB,EAAS,CACvB,MAAM6wB,EAASH,EAAIz7E,OAASy7E,EAAItsF,QAC1B0sF,EAASF,EAAI37E,OAAS27E,EAAIxsF,QAChC,GAAgB,UAAZssF,EAAItyF,OACY,UAAZwyF,EAAIxyF,OACAsyF,EAAIz7E,QAAU27E,EAAI37E,OAClB27E,EAAI37E,QAAUy7E,EAAItsF,QAEbssF,EAAIz7E,OAAS67E,IAClBF,EAAIxsF,SAAWssF,EAAIC,cACnBD,EAAIC,cAAgB,IAGZ,UAAZC,EAAIxyF,MACAsyF,EAAIz7E,OAAS27E,EAAI37E,SACjB27E,EAAI37E,QAAUy7E,EAAItsF,SAGV,aAAZwsF,EAAIxyF,MACJ,GAAIsyF,EAAIz7E,QAAU27E,EAAI37E,OAClB27E,EAAI37E,QAAUy7E,EAAItsF,aAEjB,GAAIssF,EAAIz7E,OAAS67E,EAAQ,CAW1B,MAAM1sF,EAAUwsF,EAAIxsF,QACpBwsF,EAAIxsF,QAAUssF,EAAIz7E,OAAS27E,EAAI37E,OAG/B+qD,EAAQljE,QAAQ,CACZsB,KAAM,YACN6W,OAAQ47E,EACRzsF,QAASA,EAAUwsF,EAAIxsF,QACvB7P,MAAO2G,KAAKkxF,gBAEpB,CAGR,GAAgB,UAAZsE,EAAItyF,KAAkB,CACtB,GAAgB,UAAZwyF,EAAIxyF,KACJ,GAAIyyF,GAAUD,EAAI37E,OACd27E,EAAI37E,QAAUy7E,EAAItsF,aAEjB,GAAIysF,GAAUC,EACf,GAAIJ,EAAIz7E,OAAS27E,EAAI37E,OAAQ,CACzB,MAAM87E,EAAqBF,EAASD,EAAI37E,OACxC27E,EAAI37E,OAASy7E,EAAIz7E,OACjB27E,EAAIxsF,SAAW2sF,EACfL,EAAIC,eAAiBI,CACzB,MAEIH,EAAIxsF,SAAWssF,EAAIC,cACnBD,EAAIC,cAAgB,OAIxB,GAAID,EAAIz7E,QAAU27E,EAAI37E,OAClBy7E,EAAIC,eAAiBC,EAAIxsF,QACzBwsF,EAAIxsF,QAAU,OAEb,GAAIssF,EAAIz7E,OAAS67E,EAAQ,CAC1B,MAAMC,EAAqBD,EAASJ,EAAIz7E,OACxC27E,EAAIxsF,SAAW2sF,EACfL,EAAIC,eAAiBI,CACzB,CAYR,GATgB,UAAZH,EAAIxyF,OACAyyF,GAAUD,EAAI37E,OACd27E,EAAI37E,QAAUy7E,EAAItsF,QAEbssF,EAAIz7E,OAAS27E,EAAI37E,SACtBy7E,EAAIC,eAAiBC,EAAIxsF,QACzBwsF,EAAIxsF,QAAU,IAGN,aAAZwsF,EAAIxyF,KACJ,GAAIyyF,GAAUD,EAAI37E,OACd27E,EAAI37E,QAAUy7E,EAAItsF,aAEjB,GAAIssF,EAAIz7E,OAAS27E,EAAI37E,OAAQ,CAC9B,MAAM87E,EAAqBF,EAASD,EAAI37E,OACxC27E,EAAI37E,OAASy7E,EAAIz7E,OACjB27E,EAAIxsF,SAAW2sF,CACnB,MACK,GAAIL,EAAIz7E,OAAS67E,EAClB,GAAID,GAAUC,EAAQ,CAMlB,MAAM1sF,EAAUwsF,EAAIxsF,QACpBwsF,EAAIxsF,QAAUssF,EAAIz7E,OAAS27E,EAAI37E,OAC/B,MAAM+7E,EAAe5sF,EAAUwsF,EAAIxsF,QAAUssF,EAAIC,cAGjD3wB,EAAQljE,QAAQ,CACZsB,KAAM,YACN6W,OAAQy7E,EAAIz7E,OACZ7Q,QAAS4sF,EACTz8F,MAAO2G,KAAKkxF,gBAEpB,MAEIwE,EAAIxsF,SAAW0sF,EAASJ,EAAIz7E,MAI5C,CACA,GAAgB,aAAZy7E,EAAItyF,KAAqB,CAEzB,GAAgB,UAAZwyF,EAAIxyF,KACJ,GAAIsyF,EAAIz7E,OAAS27E,EAAI37E,QAAU47E,EAASD,EAAI37E,OAAQ,CAChD,GAAI47E,EAASC,EAAQ,CAOjB,MAAMG,EAAgB,CAClB7yF,KAAM,YACN6W,OAAQ67E,EACR1sF,QAASysF,EAASC,EAClBv8F,MAAO2G,KAAKkxF,gBAEhBlxF,KAAKk1F,cAAca,EAAejxB,GAClCA,EAAQ/1E,KAAKgnG,EACjB,CACAP,EAAIC,cAAgBC,EAAI37E,OAASy7E,EAAIz7E,OACrCy7E,EAAItsF,QAAUssF,EAAIC,aACtB,MACSD,EAAIz7E,QAAU27E,EAAI37E,QAAUy7E,EAAIz7E,OAAS67E,IAC1CD,EAASC,GACTJ,EAAIC,cAAgBE,EAASC,EAC7BJ,EAAIz7E,OAAS67E,GAGbJ,EAAIC,cAAgB,GAIhC,GAAgB,UAAZC,EAAIxyF,MAGAsyF,EAAIz7E,OAAS27E,EAAI37E,QAAU47E,EAASD,EAAI37E,OAAQ,CAChD,MAAMg8E,EAAgB,CAClB7yF,KAAM,YACN6W,OAAQ27E,EAAI37E,OACZ7Q,QAASysF,EAASD,EAAI37E,OACtB1gB,MAAO2G,KAAKkxF,gBAEhBlxF,KAAKk1F,cAAca,EAAejxB,GAClCA,EAAQ/1E,KAAKgnG,GACbP,EAAIC,cAAgBC,EAAI37E,OAASy7E,EAAIz7E,OACrCy7E,EAAItsF,QAAUssF,EAAIC,aACtB,CAEY,aAAZC,EAAIxyF,OAEAsyF,EAAIz7E,QAAU27E,EAAI37E,QAAU47E,GAAUC,GAEtCJ,EAAIC,cAAgB,EACpBD,EAAItsF,QAAU,EACdssF,EAAIz7E,OAAS,GAERy7E,EAAIz7E,QAAU27E,EAAI37E,QAAU47E,GAAUC,IAE3CF,EAAIxsF,QAAU,GAG1B,CACJ,CACAssF,EAAItsF,QAAUssF,EAAIC,qBACXD,EAAIC,aACf,CAWA,cAAA9B,CAAevyF,EAAQ2Y,EAAQ4nC,EAAQq0C,EAAiBC,GACpD,MAAMvC,EAAW,CACbxwF,KAAM,SACN9M,SAAU,GAASw2C,UAAUxrC,EAAQ2Y,GACrCvX,KAAMwzF,EAAgBxzF,KACtBlT,WAAY,IAAI2gB,IAAI+lF,EAAgB1mG,YACpCmB,OAAQ,EACRwjG,YAAaj0F,KAAKkxF,eAClBvvC,UAQJ,MANc,UAAVA,GAAsBs0C,IACtBvC,EAASwC,OAAS,CACd1zF,KAAMyzF,EAAsBzzF,KAC5BlT,WAAY,IAAI2gB,IAAIgmF,EAAsB3mG,cAG3CokG,CACX,CAUA,cAAAE,CAAexyF,EAAQ2Y,EAAQ4nC,EAAQq0C,GACnC,MAAO,CACH9yF,KAAM,SACNy+C,SACAvrD,SAAU,GAASw2C,UAAUxrC,EAAQ2Y,GACrCvX,KAAMwzF,EAAgBxzF,KACtBlT,WAAY,IAAI2gB,IAAI+lF,EAAgB1mG,YACpCmB,OAAQ,EACRwjG,YAAaj0F,KAAKkxF,eAE1B,CASA,kBAAA8C,CAAmBhvE,EAAO0nD,EAAeF,GAErC,MAAM2hB,EAAQ,GAEd3hB,EAAgB,IAAIv8D,IAAIu8D,GAExB,IAAK,MAAO7zE,EAAKoZ,KAAa26D,EAAe,CAEzC,MAAM16D,EAAWw6D,EAAcrgE,IAAIxT,GAAO6zE,EAAc3mE,IAAIlN,GAAO,KAE/DqZ,IAAaD,GAEbo8E,EAAMp/F,KAAK,CACPmU,KAAM,YACN9M,SAAU4uB,EAAM6J,MAChB7J,MAAOA,EAAM/C,QACbxxB,OAAQ,EACR03D,aAAcxvD,EACd0sE,kBAAmBtzD,EACnBuzD,kBAAmBtzD,EACnBiiF,YAAaj0F,KAAKkxF,iBAI1B1kB,EAAcp8D,OAAOzX,EACzB,CAEA,IAAK,MAAOA,EAAKqZ,KAAaw6D,EAE1B2hB,EAAMp/F,KAAK,CACPmU,KAAM,YACN9M,SAAU4uB,EAAM6J,MAChB7J,MAAOA,EAAM/C,QACbxxB,OAAQ,EACR03D,aAAcxvD,EACd0sE,kBAAmB,KACnBC,kBAAmBtzD,EACnBiiF,YAAaj0F,KAAKkxF,iBAG1B,OAAO/C,CACX,CAIA,oBAAAsD,CAAqBviG,GACjB,MAAMkS,EAASlS,EAAQkS,OACvB,IAAKA,EACD,OAAO,EAEX,MAAM0jE,EAAU9kE,KAAK4wF,kBAAkB/qF,IAAIzE,GACrC2Y,EAAS7qB,EAAQ++C,YACvB,GAAI62B,EACA,IAAK,MAAMvmC,KAAUumC,EACjB,GAAmB,UAAfvmC,EAAOr7B,MAAoB6W,GAAUwkB,EAAOxkB,QAAUA,EAASwkB,EAAOxkB,OAASwkB,EAAOr1B,QACtF,OAAO,EAInB,OAAOlJ,KAAKyxF,qBAAqBrwF,EACrC,CAKA,uBAAA2zF,CAAwB3zF,EAAQ2Y,EAAQ7Q,GACpC,MAAM8b,EAAQ,IAAI,GAAM,GAAS4nB,UAAUxrC,EAAQ2Y,GAAS,GAAS6yB,UAAUxrC,EAAQ2Y,EAAS7Q,IAChG,IAAK,MAAM/X,KAAQ6zB,EAAMmrB,SAAS,CAAErD,SAAS,IACrC37C,EAAKsb,GAAG,aACRzM,KAAK4wF,kBAAkBxgF,OAAOjf,GAC9B6O,KAAK+0F,wBAAwB5jG,EAAM,EAAGA,EAAKkpE,WAGvD,EAMJq2B,GAAO0E,gBAAkB,MAACj1F,EAAW,UAAW,SAAU,QAC1D,YAIA,SAASg2F,GAAuBx0F,GAC5B,MAAO,CACHA,OACAa,KAAMb,EAAK8K,GAAG,SAAW,QAAU9K,EAAKa,KACxClT,WAAY,IAAI2gB,IAAItO,EAAKqnC,iBAEjC,CAKA,SAASoqD,GAAsB3vF,GAC3B,MAAM2yF,EAAY,GAClB,IAAK,MAAMjgF,KAAS1S,EAChB,GAAI0S,EAAM1J,GAAG,SACT,IAAK,IAAI7b,EAAI,EAAGA,EAAIulB,EAAMvkB,KAAKnB,SAAUG,EACrCwlG,EAAUrnG,KAAKonG,GAAuBhgF,SAI1CigF,EAAUrnG,KAAKonG,GAAuBhgF,IAG9C,OAAOigF,CACX,CAiDA,SAAS9C,GAAqC+C,EAAmBvxB,GAC7D,MAAMzoE,EAAO,GACb,IAAI0d,EAAS,EACTu8E,EAAqB,EAEzB,IAAK,MAAM/3D,KAAUumC,EAAS,CAE1B,GAAIvmC,EAAOxkB,OAASA,EAAQ,CACxB,IAAK,IAAInpB,EAAI,EAAGA,EAAI2tC,EAAOxkB,OAASA,EAAQnpB,IACxCyL,EAAKtN,KAAK,KAEdunG,GAAsB/3D,EAAOxkB,OAASA,CAC1C,CAEA,GAAmB,UAAfwkB,EAAOr7B,KAAkB,CACzB,IAAK,IAAItS,EAAI,EAAGA,EAAI2tC,EAAOr1B,QAAStY,IAChCyL,EAAKtN,KAAK,KAGdgrB,EAASwkB,EAAOxkB,OAASwkB,EAAOr1B,OACpC,MACK,GAAmB,UAAfq1B,EAAOr7B,KAAkB,CAC9B,IAAK,IAAItS,EAAI,EAAGA,EAAI2tC,EAAOr1B,QAAStY,IAChCyL,EAAKtN,KAAK,KAGdgrB,EAASwkB,EAAOxkB,OAEhBu8E,GAAsB/3D,EAAOr1B,OACjC,KACK,CAKD,GAAIq1B,EAAOr1B,QAAU,KACjB,IAAK,IAAItY,EAAI,EAAGA,EAAI2tC,EAAOr1B,QAAStY,IAChCyL,EAAKtN,KAAK,UAIdsN,EAAKtN,QAAQ,IAAIkwD,OAAO1gB,EAAOr1B,SAAS7J,MAAM,KAGlD0a,EAASwkB,EAAOxkB,OAASwkB,EAAOr1B,QAEhCotF,GAAsB/3D,EAAOr1B,OACjC,CACJ,CAGA,GAAIotF,EAAqBD,EACrB,IAAK,IAAIzlG,EAAI,EAAGA,EAAIylG,EAAoBC,EAAqBv8E,EAAQnpB,IACjEyL,EAAKtN,KAAK,KAGlB,OAAOsN,CACX,CAIA,SAASm4F,GAA0Bt+F,GAC/B,MAAMqgG,EAAU,aAAcrgG,GAAyC,cAAhCA,EAAME,SAAS/H,KAAKqqC,SACrD89D,EAAY,UAAWtgG,GAAsC,cAA7BA,EAAM8uB,MAAM32B,KAAKqqC,SACvD,OAAQ69D,IAAYC,CACxB,CCzvCe,MAAMC,GACjB,WAAAtsF,GAIInK,KAAK02F,YAAc,GAQnB12F,KAAK22F,WAAa,IAAI1mF,IAItBjQ,KAAK42F,kBAAoB,IAAIxkF,IAI7BpS,KAAK62F,6BAA+B,IAAI5mF,IAIxCjQ,KAAK82F,SAAW,EAOhB92F,KAAK+2F,MAAQ,IAAI9mF,GACrB,CASA,WAAI/C,GACA,OAAOlN,KAAK82F,QAChB,CACA,WAAI5pF,CAAQA,GAGJlN,KAAK02F,YAAYjmG,QAAUyc,EAAUlN,KAAK82F,SAAW,GACrD92F,KAAK+2F,MAAM7mF,IAAIlQ,KAAK82F,SAAU5pF,GAElClN,KAAK82F,SAAW5pF,CACpB,CAIA,iBAAI8pF,GACA,OAAOh3F,KAAK02F,YAAY12F,KAAK02F,YAAYjmG,OAAS,EACtD,CAMA,YAAAggG,CAAa/0B,GACT,GAAIA,EAAUmrB,cAAgB7mF,KAAKkN,QAO/B,MAAM,IAAI,EAAc,wDAAyDlN,KAAM,CACnF07D,YACAu7B,eAAgBj3F,KAAKkN,UAG7BlN,KAAK02F,YAAY3nG,KAAK2sE,GACtB17D,KAAK82F,WACL92F,KAAK62F,6BAA6B3mF,IAAIwrD,EAAUmrB,YAAa7mF,KAAK02F,YAAYjmG,OAAS,EAC3F,CAUA,aAAAymG,CAAcC,EAAiBC,EAAgBp3F,KAAKkN,SAGhD,IAAKlN,KAAK02F,YAAYjmG,OAClB,MAAO,GAEX,MAAM4mG,EAAiBr3F,KAAK02F,YAAY,QAChBv2F,IAApBg3F,IACAA,EAAkBE,EAAexQ,aAIrC,IAAIyQ,EAAcF,EAAgB,EAIlC,IAAK,MAAOG,EAASC,KAAUx3F,KAAK+2F,MAC5BI,EAAkBI,GAAWJ,EAAkBK,IAC/CL,EAAkBK,GAElBF,EAAcC,GAAWD,EAAcE,IACvCF,EAAcC,EAAU,GAIhC,GAAID,EAAcD,EAAexQ,aAAesQ,EAAkBn3F,KAAKg3F,cAAcnQ,YACjF,MAAO,GAEX,IAAI4Q,EAAYz3F,KAAK62F,6BAA6BhxF,IAAIsxF,QAEpCh3F,IAAds3F,IACAA,EAAY,GAEhB,IAAIC,EAAU13F,KAAK62F,6BAA6BhxF,IAAIyxF,GAMpD,YAJgBn3F,IAAZu3F,IACAA,EAAU13F,KAAK02F,YAAYjmG,OAAS,GAGjCuP,KAAK02F,YAAYl+F,MAAMi/F,EAE9BC,EAAU,EACd,CAOA,YAAAC,CAAa9Q,GACT,MAAM+Q,EAAiB53F,KAAK62F,6BAA6BhxF,IAAIghF,GAC7D,QAAuB1mF,IAAnBy3F,EAGJ,OAAO53F,KAAK02F,YAAYkB,EAC5B,CAQA,oBAAAC,CAAqBC,EAAiBC,GAClC/3F,KAAK22F,WAAWzmF,IAAI6nF,EAAkBD,GACtC93F,KAAK42F,kBAAkBxqF,IAAI0rF,EAC/B,CAOA,kBAAAE,CAAmBt8B,GACf,OAAO17D,KAAK22F,WAAWxqF,IAAIuvD,EAC/B,CAOA,iBAAA2xB,CAAkB3xB,GACd,OAAO17D,KAAK42F,kBAAkBzqF,IAAIuvD,EACtC,CAOA,kBAAA8xB,CAAmBuK,GACf,OAAO/3F,KAAK22F,WAAW9wF,IAAIkyF,EAC/B,CAIA,KAAArD,GACI10F,KAAK82F,SAAW,EAChB92F,KAAK22F,WAAa,IAAI1mF,IACtBjQ,KAAK02F,YAAc,GACnB12F,KAAK42F,kBAAoB,IAAIxkF,IAC7BpS,KAAK+2F,MAAQ,IAAI9mF,IACjBjQ,KAAK62F,6BAA+B,IAAI5mF,GAC5C,EClMW,MAAMgoF,WAAoB,GAQrC,WAAA9tF,CAAYhb,EAAUqT,EAAMk2B,EAAW,QACnC3sB,MAAMvJ,GAINxC,KAAK0pF,aAAc,EAMnB1pF,KAAKqyF,WAAY,EACjBryF,KAAKmrE,UAAYh8E,EACjB6Q,KAAK04B,SAAWA,CACpB,CAIA,YAAIvpC,GACA,OAAO6Q,KAAKmrE,SAChB,CAUA,UAAA/rC,GACI,OAAOp/B,KAAK0pF,WAChB,CAMA,MAAAtoD,GACI,OAAOphC,KAAK04B,QAChB,EAIJu/D,GAAY9iG,UAAUsX,GAAK,SAAUvJ,EAAMV,GACvC,OAAKA,EAMEA,IAASxC,KAAKwC,OAAkB,gBAATU,GAAmC,sBAATA,GAE3C,YAATA,GAA+B,kBAATA,GAPN,gBAATA,GAAmC,sBAATA,GAEpB,YAATA,GAA+B,kBAATA,GACb,SAATA,GAA4B,eAATA,CAK/B,EC3DA,MAAMg1F,GAAgB,aAiBP,MAAM,WAAiCvqF,KAKlD,WAAAxD,CAAY7O,GACRyQ,QACA/L,KAAK1E,MAAQA,EACb0E,KAAKisF,QAAU,IAAIwK,GACnBz2F,KAAKu4B,UAAY,IAAI,GAAkBv4B,MACvCA,KAAK60C,MAAQ,IAAI5jB,GAAW,CAAEM,WAAY,aAC1CvxB,KAAKwkE,OAAS,IAAI,GAAOlpE,EAAMmpE,SAC/BzkE,KAAK44B,YAAa,EAClB54B,KAAK40C,YAAc,IAAIxiC,IACvBpS,KAAKm4F,4CAA6C,EAElDn4F,KAAKypF,WAAW,QAASyO,IAEzBl4F,KAAK+N,SAASzS,EAAO,kBAAkB,CAACuY,EAAKtjB,KACzC,MAAMmrE,EAAYnrE,EAAK,GACnBmrE,EAAU+N,qBACVzpE,KAAKwkE,OAAO+sB,gBAAgB71B,EAChC,GACD,CAAEzwD,SAAU,SAEfjL,KAAK+N,SAASzS,EAAO,kBAAkB,CAACuY,EAAKtjB,KACzC,MAAMmrE,EAAYnrE,EAAK,GACnBmrE,EAAU+N,qBACVzpE,KAAKisF,QAAQwE,aAAa/0B,EAC9B,GACD,CAAEzwD,SAAU,QAEfjL,KAAK+N,SAAS/N,KAAKu4B,UAAW,UAAU,KACpCv4B,KAAKm4F,4CAA6C,CAAI,IAK1Dn4F,KAAK+N,SAASzS,EAAMmpE,QAAS,UAAU,CAAC5wD,EAAKoyD,EAAQwB,EAAUnsB,EAAUk3C,KAErE,MAAMC,EAAgB,IAAKxsB,EAAOvP,UAAW1xC,MAAOs2B,GAEpDt7C,KAAKwkE,OAAO0tB,mBAAmBjsB,EAAOzjE,KAAMgwF,EAAeC,GAC1C,OAAbhrB,GAEAxB,EAAOr4D,GAAG,UAAU,CAACiG,EAAK4zD,KACtB,MAAMwqB,EAAahsB,EAAOvP,UAC1B12D,KAAKwkE,OAAO0tB,mBAAmBjsB,EAAOzjE,KAAM,IAAKyvF,EAAYjtE,MAAOyiD,GAAYwqB,EAAW,GAEnG,IAaJjyF,KAAK0+B,mBAAkBF,IACnB,IAAI9tC,GAAS,EACb,IAAK,MAAMrC,KAAQ2R,KAAK60C,MACfxmD,EAAK+wC,cAAiB/wC,EAAKw2C,UAC5BrG,EAAOznC,OAAOynC,EAAOyd,cAAc5tD,IACnCqC,GAAS,GAGjB,IAAK,MAAMu1E,KAAUjmE,KAAK1E,MAAMmpE,QACvBwB,EAAOT,WAAWn3E,KAAK+wC,eACxBZ,EAAO45D,aAAanyB,GACpBv1E,GAAS,GAGjB,OAAOA,CAAM,GAErB,CAUA,WAAIwc,GACA,OAAOlN,KAAKisF,QAAQ/+E,OACxB,CACA,WAAIA,CAAQA,GACRlN,KAAKisF,QAAQ/+E,QAAUA,CAC3B,CAIA,aAAI4vD,GACA,OAAO98D,KAAK80C,QAAQojD,GACxB,CAYA,UAAAzO,CAAW19C,EAAc,QAASrT,EAAW,QACzC,GAAI14B,KAAK60C,MAAMhvC,IAAI6yB,GAMf,MAAM,IAAI,EAAc,wCAAyC14B,KAAM,CAAEwC,KAAMk2B,IAEnF,MAAMrqC,EAAO,IAAI4pG,GAAYj4F,KAAM+rC,EAAarT,GAEhD,OADA14B,KAAK60C,MAAMzoC,IAAI/d,GACRA,CACX,CAIA,OAAA43B,GACIjmB,KAAKu4B,UAAUtS,UACfjmB,KAAKkO,eACT,CAUA,OAAA4mC,CAAQtyC,EAAO,QACX,OAAOxC,KAAK60C,MAAMhvC,IAAIrD,EAC1B,CASA,YAAA61F,CAAaC,GAAkB,GAC3B,OAAOt4F,KAAKw0E,SAAS8jB,GAAiBh5F,KAAIjR,GAAQA,EAAKqqC,UAC3D,CASA,QAAA87C,CAAS8jB,GAAkB,GACvB,OAAOt4F,KAAK60C,MAAMl+C,QAAOtI,GAAQA,GAAQ2R,KAAK88D,YAAcw7B,GAAmBjqG,EAAK+wC,eAAiB/wC,EAAKgkG,WAC9G,CAsCA,iBAAA3zD,CAAkBqW,GACd/0C,KAAK40C,YAAYxoC,IAAI2oC,EACzB,CAMA,MAAA3T,GACI,MAAMC,EAAO,GAAMrhC,MAInB,OAFAqhC,EAAK9I,UAAY,mCACjB8I,EAAK/lC,MAAQ,uBACN+lC,CACX,CAWA,kBAAAk3D,CAAmB/5D,GACXx+B,KAAKw4F,8CACLx4F,KAAKg1C,gBAAgBxW,GAErBx+B,KAAKu4B,UAAUF,UACXr4B,KAAKwkE,OAAOouB,iBACZ5yF,KAAK+O,KAAK,cAAeyvB,EAAO+sC,OAGhCvrE,KAAK+O,KAAK,SAAUyvB,EAAO+sC,OAI/BvrE,KAAKu4B,UAAUF,UACfr4B,KAAKwkE,OAAOkwB,SAEhB10F,KAAKm4F,4CAA6C,CACtD,CAQA,yCAAAK,GACI,OAAQx4F,KAAKwkE,OAAO3/B,SAAW7kC,KAAKm4F,0CACxC,CAOA,eAAAM,GACI,MAAM5jD,EAAQ70C,KAAKw0E,WACnB,OAAO3/B,EAAMpkD,OAASokD,EAAM,GAAK70C,KAAK88D,SAC1C,CAOA,gBAAA8O,GACI,MAAM8sB,EAAc14F,KAAKy4F,kBACnBn9F,EAAQ0E,KAAK1E,MACbgtE,EAAShtE,EAAMgtE,OAEflyE,EAAWkF,EAAMq9F,uBAAuBD,EAAa,CAAC,IAG5D,OAFqBpwB,EAAO0E,yBAAyB52E,IAE9BkF,EAAMolB,YAAYtqB,EAC7C,CASA,uBAAA41E,CAAwBhnD,GACpB,OAAOA,EAAM6J,MAAMksC,WAAa/1C,EAAM4I,IAAImtC,WACtC69B,GAAyB5zE,EAAM6J,QAAU+pE,GAAyB5zE,EAAM4I,IAChF,CAMA,eAAAonB,CAAgBxW,GACZ,IAAIyW,GAAW,EACf,GACI,IAAK,MAAMnnC,KAAY9N,KAAK40C,YASxB,GAFA50C,KAAKu4B,UAAUF,UACf4c,EAAWnnC,EAAS0wB,GAChByW,EACA,YAGHA,EACb,EAMJ,SAAS2jD,GAAyBC,GAC9B,MAAMh3D,EAAWg3D,EAAch3D,SAC/B,GAAIA,EAAU,CACV,MAAMjwC,EAAOiwC,EAASjwC,KAChBmoB,EAAS8+E,EAAc9+E,OAAS8nB,EAASoM,YAC/C,OAAQlX,GAAsBnlC,EAAMmoB,KAAYkd,GAAuBrlC,EAAMmoB,EACjF,CACA,OAAO,CACX,CChVe,MAAM++E,WAAyCnrF,KAC1D,WAAAxD,GACI4B,SAASkM,WAITjY,KAAKipF,SAAW,IAAIh5E,GACxB,CAMA,CAAClK,OAAOsP,YACJ,OAAOrV,KAAKipF,SAAShgF,QACzB,CAOA,GAAAkD,CAAIsuE,GACA,MAAM/a,EAAa+a,aAAwBse,GAASte,EAAaj4E,KAAOi4E,EACxE,OAAOz6E,KAAKipF,SAAS98E,IAAIuzD,EAC7B,CAQA,GAAA75D,CAAI65D,GACA,OAAO1/D,KAAKipF,SAASpjF,IAAI65D,IAAe,IAC5C,CAmBA,IAAAp3B,CAAKmyC,EAAcz1D,EAAOg0E,GAAyB,EAAO1gE,GAAc,GACpE,MAAMonC,EAAa+a,aAAwBse,GAASte,EAAaj4E,KAAOi4E,EACxE,GAAI/a,EAAWlvC,SAAS,KAMpB,MAAM,IAAI,EAAc,yCAA0CxwB,MAEtE,MAAMi5F,EAAYj5F,KAAKipF,SAASpjF,IAAI65D,GACpC,GAAIu5B,EAAW,CACX,MAAMzG,EAAgByG,EAAUviC,UAC1B+Q,EAAWwxB,EAAUzzB,WAC3B,IAAI0zB,GAAa,EAgBjB,OAfKzxB,EAASnkD,QAAQ0B,KAClBi0E,EAAUE,iBAAiB9vB,GAAUG,UAAUxkD,IAC/Ck0E,GAAa,GAEbF,GAA0BC,EAAUD,yBACpCC,EAAUG,wBAA0BJ,EACpCE,GAAa,GAEU,kBAAhB5gE,GAA6BA,GAAe2gE,EAAU3gE,cAC7D2gE,EAAU9gE,aAAeG,EACzB4gE,GAAa,GAEbA,GACAl5F,KAAK+O,KAAK,UAAU2wD,IAAcu5B,EAAWxxB,EAAUziD,EAAOwtE,GAE3DyG,CACX,CACA,MAAMntB,EAAYzC,GAAUG,UAAUxkD,GAChCihD,EAAS,IAAI8yB,GAAOr5B,EAAYoM,EAAWktB,EAAwB1gE,GAGzE,OAFAt4B,KAAKipF,SAAS/4E,IAAIwvD,EAAYuG,GAC9BjmE,KAAK+O,KAAK,UAAU2wD,IAAcuG,EAAQ,KAAMjhD,EAAO,IAAKihD,EAAOvP,UAAW1xC,MAAO,OAC9EihD,CACX,CASA,OAAAxzC,CAAQgoD,GACJ,MAAM/a,EAAa+a,aAAwBse,GAASte,EAAaj4E,KAAOi4E,EAClEwe,EAAYj5F,KAAKipF,SAASpjF,IAAI65D,GACpC,QAAIu5B,IACAj5F,KAAKipF,SAAS74E,OAAOsvD,GACrB1/D,KAAK+O,KAAK,UAAU2wD,IAAcu5B,EAAWA,EAAUzzB,WAAY,KAAMyzB,EAAUviC,WACnF12D,KAAKq5F,eAAeJ,IACb,EAGf,CAUA,QAAAte,CAASF,GACL,MAAM/a,EAAa+a,aAAwBse,GAASte,EAAaj4E,KAAOi4E,EAClExU,EAASjmE,KAAKipF,SAASpjF,IAAI65D,GACjC,IAAKuG,EAMD,MAAM,IAAI,EAAc,6CAA8CjmE,MAE1E,MAAMglB,EAAQihD,EAAOT,WACrBxlE,KAAK+O,KAAK,UAAU2wD,IAAcuG,EAAQjhD,EAAOA,EAAOihD,EAAOvP,UACnE,CAIA,qBAACqP,CAAqB3vE,GAClB,IAAK,MAAM6vE,KAAUjmE,KACbimE,EAAOT,WAAWh2B,iBAAiBp5C,WAC7B6vE,EAGlB,CAIA,4BAAC+rB,CAA4BhtE,GACzB,IAAK,MAAMihD,KAAUjmE,KACgC,OAA7CimE,EAAOT,WAAWpjD,gBAAgB4C,WAC5BihD,EAGlB,CAIA,OAAAhgD,GACI,IAAK,MAAMggD,KAAUjmE,KAAKipF,SAAShgF,SAC/BjJ,KAAKq5F,eAAepzB,GAExBjmE,KAAKipF,SAAW,KAChBjpF,KAAKkO,eACT,CAaA,gBAACorF,CAAgBl2D,GACb,IAAK,MAAM6iC,KAAUjmE,KAAKipF,SAAShgF,SAC3Bg9D,EAAOzjE,KAAKm0B,WAAWyM,EAAS,aAC1B6iC,EAGlB,CAIA,cAAAozB,CAAepzB,GACXA,EAAO/3D,gBACP+3D,EAAOszB,kBACX,EAuEJ,MAAMR,WAA+BprF,EAAa,KAS9C,WAAAxD,CAAY3H,EAAMspE,EAAWktB,EAAwB1gE,GACjDvsB,QACA/L,KAAKwC,KAAOA,EACZxC,KAAKw5F,WAAax5F,KAAKm5F,iBAAiBrtB,GACxC9rE,KAAKo5F,wBAA0BJ,EAC/Bh5F,KAAKm4B,aAAeG,CACxB,CAMA,0BAAI0gE,GACA,IAAKh5F,KAAKw5F,WACN,MAAM,IAAI,EAAc,mBAAoBx5F,MAEhD,OAAOA,KAAKo5F,uBAChB,CAIA,eAAI9gE,GACA,IAAKt4B,KAAKw5F,WACN,MAAM,IAAI,EAAc,mBAAoBx5F,MAEhD,OAAOA,KAAKm4B,YAChB,CAIA,OAAAu+B,GACI,MAAO,CACH1xC,MAAOhlB,KAAKwlE,WACZltC,YAAat4B,KAAKs4B,YAClB0gE,uBAAwBh5F,KAAKg5F,uBAErC,CAIA,QAAAS,GACI,IAAKz5F,KAAKw5F,WACN,MAAM,IAAI,EAAc,mBAAoBx5F,MAEhD,OAAOA,KAAKw5F,WAAW3qE,MAAM5M,OACjC,CAIA,MAAAy3E,GACI,IAAK15F,KAAKw5F,WACN,MAAM,IAAI,EAAc,mBAAoBx5F,MAEhD,OAAOA,KAAKw5F,WAAW5rE,IAAI3L,OAC/B,CAWA,QAAAujD,GACI,IAAKxlE,KAAKw5F,WACN,MAAM,IAAI,EAAc,mBAAoBx5F,MAEhD,OAAOA,KAAKw5F,WAAWjwB,SAC3B,CAQA,gBAAA4vB,CAAiBrtB,GAQb,OAPI9rE,KAAKw5F,YACLx5F,KAAKu5F,mBAGTztB,EAAUh8D,SAAS,gBAAgB/N,GAAG/B,MACtC8rE,EAAUh8D,SAAS,kBAAkB/N,GAAG/B,MACxCA,KAAKw5F,WAAa1tB,EACXA,CACX,CAMA,gBAAAytB,GACIv5F,KAAKw5F,WAAWrpF,eAAe,eAAgBnQ,MAC/CA,KAAKw5F,WAAWrpF,eAAe,iBAAkBnQ,MACjDA,KAAKw5F,WAAWz6E,SAChB/e,KAAKw5F,WAAa,IACtB,EAIJT,GAAO5jG,UAAUsX,GAAK,SAAUvJ,GAC5B,MAAgB,WAATA,GAA8B,iBAATA,CAChC,EC7Xe,MAAMy2F,WAAwB/S,GAQzC,WAAAz8E,CAAY8xD,EAAgB/yD,GACxB6C,MAAM,MACN/L,KAAKi8D,eAAiBA,EAAeh6C,QACrCjiB,KAAKkJ,QAAUA,CACnB,CAIA,QAAIhG,GACA,MAAO,QACX,CAIA,sBAAI4kF,GACA,OAAO,IACX,CAIA,MAAA1mD,GACI,MAAMC,EAAOt1B,MAAMq1B,SAEnB,OADAC,EAAK46B,eAAiBj8D,KAAKi8D,eAAe76B,SACnCC,CACX,CAKA,SAAAylD,GACI,GAAI9mF,KAAKi8D,eAAe5tE,KAAKc,SAMzB,MAAM,IAAI,EAAc,oCAAqC6Q,KAErE,CAKA,QAAAsoF,GACI71D,GAAQ,GAAM+d,4BAA4BxwC,KAAKi8D,eAAgBj8D,KAAKkJ,SACxE,CAIA,oBAAWogC,GACP,MAAO,iBACX,ECrDW,MAAM,WAAyB,GAU1C,WAAAn/B,CAAY1G,GACRsI,QAMA/L,KAAKykE,QAAU,IAAIx0D,IAInBjQ,KAAK6oC,UAAY,IAAIwkC,GACjB5pE,GACAzD,KAAK8oC,aAAa,EAAGrlC,EAE7B,CAIA,CAACsC,OAAOsP,YACJ,OAAOrV,KAAKq/B,aAChB,CAIA,cAAIW,GACA,OAAOhgC,KAAK6oC,UAAUp4C,MAC1B,CAIA,aAAI4pE,GACA,OAAOr6D,KAAK6oC,UAAUwxB,SAC1B,CAIA,WAAIx1B,GACA,OAA2B,IAApB7kC,KAAKggC,UAChB,CAIA,eAAIM,GACA,OAAO,IACX,CAIA,mBAAI1Z,GACA,OAAO,IACX,CAIA,QAAIv4B,GACA,OAAO2R,IACX,CAIA,UAAIoB,GACA,OAAO,IACX,CAIA,YAAIjS,GACA,OAAO,IACX,CAIA,UAAAiwC,GACI,OAAO,CACX,CAIA,YAAA/f,GACI,MAAO,EACX,CAOA,QAAA6gB,CAAShtC,GACL,OAAO8M,KAAK6oC,UAAU2kC,QAAQt6E,EAClC,CAOA,gBAAA2nE,CAAiB9gD,GACb,OAAO/Z,KAAK6oC,UAAU4kC,gBAAgB1zD,EAC1C,CAIA,WAAAslB,GACI,OAAOr/B,KAAK6oC,UAAU9iC,OAAOsP,WACjC,CAOA,aAAAgrB,CAAc1+B,GACV,OAAO3B,KAAK6oC,UAAU6kC,aAAa/rE,EACvC,CASA,mBAAA2sE,CAAoB3sE,GAChB,OAAO3B,KAAK6oC,UAAU8kC,mBAAmBhsE,EAC7C,CAIA,OAAA4+B,GACI,MAAO,EACX,CAaA,aAAAguC,CAAcC,GAEV,IAAI7sE,EAAO3B,KACX,IAAK,MAAM+Z,KAAUy0D,EACjB7sE,EAAOA,EAAKk5D,iBAAiB9gD,GAEjC,OAAOpY,CACX,CAsBA,aAAAm5D,CAAc/gD,GACV,OAAO/Z,KAAK6oC,UAAUiyB,cAAc/gD,EACxC,CAOA,MAAAqnB,GACI,MAAMC,EAAO,GACb,IAAK,MAAM1/B,KAAQ3B,KAAK6oC,UACpBxH,EAAKtyC,KAAK4S,EAAKy/B,UAEnB,OAAOC,CACX,CAQA,eAAOw7B,CAASx7B,GACZ,MAAM59B,EAAW,GACjB,IAAK,MAAM0S,KAASkrB,EACZlrB,EAAM3T,KAENiB,EAAS1U,KAAK,GAAQ8tE,SAAS1mD,IAI/B1S,EAAS1U,KAAK,GAAK8tE,SAAS1mD,IAGpC,OAAO,IAAI,GAAiB1S,EAChC,CAOA,YAAA6mC,CAAatY,GACThyB,KAAK8oC,aAAa9oC,KAAKggC,WAAYhO,EACvC,CASA,YAAA8W,CAAa51C,EAAO8+B,GAChB,MAAM1S,EAoDd,SAAmBA,GAEf,GAAoB,iBAATA,EACP,MAAO,CAAC,IAAI,GAAKA,IAEhBlK,GAAWkK,KACZA,EAAQ,CAACA,IAGb,OAAOtrB,MAAM8N,KAAKwd,GACbhgB,KAAIqC,GACc,iBAARA,EACA,IAAI,GAAKA,GAEhBA,aAAgB,GACT,IAAI,GAAKA,EAAK/P,KAAM+P,EAAKqnC,iBAE7BrnC,GAEf,CAvEsB,CAAUqwB,GACxB,IAAK,MAAMrwB,KAAQ2d,EAEK,OAAhB3d,EAAKP,QACLO,EAAK8wB,UAET9wB,EAAKP,OAASpB,KAElBA,KAAK6oC,UAAUyR,aAAapnD,EAAOosB,EACvC,CAUA,eAAA4hB,CAAgBhuC,EAAOgW,EAAU,GAC7B,MAAMoW,EAAQtf,KAAK6oC,UAAUolC,aAAa/6E,EAAOgW,GACjD,IAAK,MAAMvH,KAAQ2d,EACf3d,EAAKP,OAAS,KAElB,OAAOke,CACX,CAYA,oBAAAqvD,CAAqBrvD,GACjBtf,KAAK6oC,UAAUwlC,kBAAkB/uD,GACjC,IAAK,MAAM3d,KAAQ2d,EACf3d,EAAKP,OAAS,IAEtB,EAIJ,GAAiBjM,UAAUsX,GAAK,SAAUvJ,GACtC,MAAgB,qBAATA,GAAwC,2BAATA,CAC1C,ECpQe,MAAM02F,GASjB,WAAAzvF,CAAY7O,EAAOiwE,GACfvrE,KAAK1E,MAAQA,EACb0E,KAAKurE,MAAQA,CACjB,CAaA,UAAA5zB,CAAW/lD,EAAMtC,GACb,OAAO,IAAI,GAAKsC,EAAMtC,EAC1B,CAaA,aAAAF,CAAcoT,EAAMlT,GAChB,OAAO,IAAI,GAAQkT,EAAMlT,EAC7B,CAMA,sBAAAooD,GACI,OAAO,IAAI,EACf,CASA,YAAAmiD,CAAa3qG,EAASg7C,GAAO,GACzB,OAAOh7C,EAAQyyC,OAAOuI,EAC1B,CA8CA,MAAA36C,CAAO4B,EAAM49C,EAAgBh1B,EAAS,GAElC,GADA/Z,KAAK85F,6BACD3oG,aAAgB,IAAqB,IAAbA,EAAKS,KAC7B,OAEJ,MAAMwE,EAAW,GAASw2C,UAAUmC,EAAgBh1B,GAEpD,GAAI5oB,EAAKiQ,OAAQ,CAEb,GAAI24F,GAAW5oG,EAAK9C,KAAM+H,EAAS/H,MAG/B,YADA2R,KAAKy5C,KAAK,GAAM/I,UAAUv/C,GAAOiF,GAKjC,GAAIjF,EAAK9C,KAAKc,SAOV,MAAM,IAAI,EAAc,qCAAsC6Q,MAK9DA,KAAKjJ,OAAO5F,EAGxB,CACA,MAAM+b,EAAU9W,EAAS/H,KAAKc,SAAWiH,EAAS/H,KAAKc,SAAS+d,QAAU,KACpEzJ,EAAWtS,aAAgB,GAC7BA,EAAK+vC,gBAAgB,EAAG/vC,EAAK6uC,YAC7B7uC,EACE5B,EAAS,IAAIg5F,GAAgBnyF,EAAUqN,EAAUyJ,GAOvD,GANI/b,aAAgB,KAChB5B,EAAOi5F,yBAA0B,GAErCxoF,KAAKurE,MAAMklB,aAAalhG,GACxByQ,KAAK1E,MAAM0+F,eAAezqG,GAEtB4B,aAAgB,GAChB,IAAK,MAAOuuE,EAAY6F,KAAgBp0E,EAAKszE,QAAS,CAElD,MAAMw1B,EAAoB,GAASrtD,UAAU24B,EAAYl3E,KAAM,GAEzDY,EAAU,CAAE+1B,MADJ,IAAI,GAAMugD,EAAY12C,MAAMstC,aAAa89B,EAAmB7jG,GAAWmvE,EAAY33C,IAAIuuC,aAAa89B,EAAmB7jG,IAC5G8jG,gBAAgB,EAAM5hE,aAAa,GACxDt4B,KAAK1E,MAAMmpE,QAAQt4D,IAAIuzD,GACvB1/D,KAAKm6F,aAAaz6B,EAAYzwE,GAG9B+Q,KAAKo6F,UAAU16B,EAAYzwE,EAEnC,CAER,CACA,UAAAorG,CAAWn8D,EAAM5uC,EACjBy/C,EACAh1B,GAEQzqB,aAAsB,IAAoBA,aAAsB,IAAWA,aAAsB,GACjG0Q,KAAKzQ,OAAOyQ,KAAK23C,WAAWzZ,GAAO5uC,EAAYy/C,GAG/C/uC,KAAKzQ,OAAOyQ,KAAK23C,WAAWzZ,EAAM5uC,GAAay/C,EAAgBh1B,EAEvE,CACA,aAAAq1D,CAAc5sE,EAAMlT,EACpBgrG,EACAvgF,GAEQzqB,aAAsB,IAAoBA,aAAsB,IAAWA,aAAsB,GACjG0Q,KAAKzQ,OAAOyQ,KAAK5Q,cAAcoT,GAAOlT,EAAYgrG,GAGlDt6F,KAAKzQ,OAAOyQ,KAAK5Q,cAAcoT,EAAMlT,GAAagrG,EAAwBvgF,EAElF,CAgBA,MAAAqvC,CAAOj4D,EAAMiQ,GACTpB,KAAKzQ,OAAO4B,EAAMiQ,EAAQ,MAC9B,CACA,UAAAm5F,CAAWr8D,EAAM5uC,EAAY8R,GACrB9R,aAAsB,IAAoBA,aAAsB,GAChE0Q,KAAKzQ,OAAOyQ,KAAK23C,WAAWzZ,GAAO5uC,EAAY,OAG/C0Q,KAAKzQ,OAAOyQ,KAAK23C,WAAWzZ,EAAM5uC,GAAa8R,EAAQ,MAE/D,CACA,aAAAo5F,CAAch4F,EAAMlT,EAAY8R,GACxB9R,aAAsB,IAAoBA,aAAsB,GAChE0Q,KAAKzQ,OAAOyQ,KAAK5Q,cAAcoT,GAAOlT,EAAY,OAGlD0Q,KAAKzQ,OAAOyQ,KAAK5Q,cAAcoT,EAAMlT,GAAa8R,EAAQ,MAElE,CASA,YAAAxI,CAAaD,EAAK3I,EAAOyqG,GAErB,GADAz6F,KAAK85F,6BACDW,aAAuB,GAAO,CAC9B,MAAM3qD,EAAS2qD,EAAYr9B,uBAC3B,IAAK,MAAMp4C,KAAS8qB,EAChB4qD,GAAoB16F,KAAMrH,EAAK3I,EAAOg1B,EAE9C,MAEI21E,GAAmB36F,KAAMrH,EAAK3I,EAAOyqG,EAE7C,CAeA,aAAAprG,CAAcC,EAAYmrG,GACtB,IAAK,MAAO9hG,EAAKxC,KAAQ,GAAM7G,GAC3B0Q,KAAKpH,aAAaD,EAAKxC,EAAKskG,EAEpC,CAQA,eAAA9hD,CAAgBhgD,EAAK8hG,GAEjB,GADAz6F,KAAK85F,6BACDW,aAAuB,GAAO,CAC9B,MAAM3qD,EAAS2qD,EAAYr9B,uBAC3B,IAAK,MAAMp4C,KAAS8qB,EAChB4qD,GAAoB16F,KAAMrH,EAAK,KAAMqsB,EAE7C,MAEI21E,GAAmB36F,KAAMrH,EAAK,KAAM8hG,EAE5C,CAMA,eAAAG,CAAgBH,GACZz6F,KAAK85F,6BACL,MAAMe,EAA4B1pG,IAC9B,IAAK,MAAMyjB,KAAazjB,EAAK43C,mBACzB/oC,KAAK24C,gBAAgB/jC,EAAWzjB,EACpC,EAEJ,GAAMspG,aAAuB,GAIzB,IAAK,MAAMtpG,KAAQspG,EAAYtqD,WAC3B0qD,EAAyB1pG,QAJ7B0pG,EAAyBJ,EAOjC,CA8BA,IAAAhhD,CAAKz0B,EAAO+pB,EAAgBh1B,GAExB,GADA/Z,KAAK85F,+BACC90E,aAAiB,IAMnB,MAAM,IAAI,EAAc,4BAA6BhlB,MAEzD,IAAKglB,EAAMlJ,OAMP,MAAM,IAAI,EAAc,6BAA8B9b,MAE1D,MAAM5J,EAAW,GAASw2C,UAAUmC,EAAgBh1B,GAEpD,GAAI3jB,EAASktB,QAAQ0B,EAAM6J,OACvB,OAIJ,GADA7uB,KAAK86F,gCAAgC,OAAQ91E,IACxC+0E,GAAW/0E,EAAM32B,KAAM+H,EAAS/H,MAOjC,MAAM,IAAI,EAAc,iCAAkC2R,MAE9D,MAAMkN,EAAU8X,EAAM32B,KAAKc,SAAW61B,EAAM32B,KAAKc,SAAS+d,QAAU,KAC9DwuD,EAAY,IAAImsB,GAAc7iE,EAAM6J,MAAO7J,EAAM4I,IAAI7T,OAASiL,EAAM6J,MAAM9U,OAAQ3jB,EAAU8W,GAClGlN,KAAKurE,MAAMklB,aAAa/0B,GACxB17D,KAAK1E,MAAM0+F,eAAet+B,EAC9B,CAMA,MAAA3kE,CAAO0jG,GACHz6F,KAAK85F,6BACL,MACMhqD,GADgB2qD,aAAuB,GAAQA,EAAc,GAAM/pD,UAAU+pD,IACtDr9B,uBAAuB/zD,UACpD,IAAK,MAAM6mE,KAAQpgC,EAEf9vC,KAAK86F,gCAAgC,OAAQ5qB,GAC7C6qB,GAAqB7qB,EAAKrhD,MAAOqhD,EAAKtiD,IAAI7T,OAASm2D,EAAKrhD,MAAM9U,OAAQ/Z,KAAKurE,MAAOvrE,KAAK1E,MAE/F,CASA,KAAAi0B,CAAMn5B,GACF4J,KAAK85F,6BACL,MAAM1rD,EAAah4C,EAASg4C,WACtBD,EAAY/3C,EAAS+3C,UAG3B,GADAnuC,KAAK86F,gCAAgC,QAAS1kG,KACxCg4C,aAAsB,IAMxB,MAAM,IAAI,EAAc,iCAAkCpuC,MAE9D,KAAMmuC,aAAqB,IAMvB,MAAM,IAAI,EAAc,gCAAiCnuC,MAExD5J,EAAS/H,KAAKc,SAIf6Q,KAAKg7F,OAAO5kG,GAHZ4J,KAAKi7F,eAAe7kG,EAK5B,CAQA,sBAAAuiG,CAAuBtqG,EAAM4T,EAAMi4D,GAC/B,OAAOl6D,KAAK1E,MAAMq9F,uBAAuBtqG,EAAM4T,EAAMi4D,EACzD,CAMA,gBAAAre,CAAiB9M,EAAgBh1B,GAC7B,OAAO/Z,KAAK1E,MAAMugD,iBAAiB9M,EAAgBh1B,EACvD,CAMA,mBAAA+hC,CAAoB3qD,GAChB,OAAO6O,KAAK1E,MAAMwgD,oBAAoB3qD,EAC1C,CAMA,oBAAA4qD,CAAqB5qD,GACjB,OAAO6O,KAAK1E,MAAMygD,qBAAqB5qD,EAC3C,CAOA,WAAAuvB,CAAYmO,EAAOjB,GACf,OAAO5tB,KAAK1E,MAAMolB,YAAYmO,EAAOjB,EACzC,CAMA,aAAAquB,CAAc/sD,GACV,OAAO8Q,KAAK1E,MAAM2gD,cAAc/sD,EACpC,CAMA,aAAA8sD,CAAc9sD,GACV,OAAO8Q,KAAK1E,MAAM0gD,cAAc9sD,EACpC,CACA,eAAAgtD,IAAmB3rD,GACf,OAAOyP,KAAK1E,MAAM4gD,mBAAmB3rD,EACzC,CAMA,cAAA0qG,CAAe7kG,GACX,MAAMg4C,EAAah4C,EAASg4C,WACtBD,EAAY/3C,EAAS+3C,UAC3BnuC,KAAKy5C,KAAK,GAAMhJ,UAAUtC,GAAY,GAASvB,UAAUwB,EAAY,QACrEpuC,KAAKjJ,OAAOo3C,EAChB,CAMA,MAAA6sD,CAAO5kG,GACH,MAAMojD,EAAiB,GAAS5M,UAAUx2C,EAASg4C,WAAY,OACzD6tB,EAAiB,GAASrvB,UAAUx2C,EAAS+3C,UAAW,GACxD2uB,EAAY1mE,EAAS/H,KAAKc,SAAS2tE,UACnCR,EAAoB,IAAI,GAASQ,EAAW,CAAC,IAC7C5vD,EAAU9W,EAAS/H,KAAKc,SAAS+d,QACjCqiB,EAAQ,IAAIq5D,GAAe3sB,EAAgB7lE,EAAS+3C,UAAUksB,UAAW7gB,EAAgB8iB,EAAmBpvD,GAClHlN,KAAKurE,MAAMklB,aAAalhE,GACxBvvB,KAAK1E,MAAM0+F,eAAezqE,EAC9B,CAOA,MAAAisB,CAAOtsD,EAASusD,GAEZ,GADAz7C,KAAK85F,+BACC5qG,aAAmB,IAMrB,MAAM,IAAI,EAAc,qCAAsC8Q,MAElE,MAAMkN,EAAUhe,EAAQb,KAAKc,SAAWD,EAAQb,KAAKc,SAAS+d,QAAU,KAClEguF,EAAkB,IAAI9R,GAAgB,GAASp7C,cAAc9+C,GAAUA,EAAQsT,KAAMi5C,EAASvuC,GACpGlN,KAAKurE,MAAMklB,aAAayK,GACxBl7F,KAAK1E,MAAM0+F,eAAekB,EAC9B,CAcA,KAAA77F,CAAMjJ,EAAU6mF,GACZj9E,KAAK85F,6BACL,IAwBIqB,EACAC,EAzBAvS,EAAezyF,EAASgL,OAC5B,IAAKynF,EAAaznF,OAMd,MAAM,IAAI,EAAc,iCAAkCpB,MAM9D,GAHKi9E,IACDA,EAAe4L,EAAaznF,SAE3BhL,EAASgL,OAAOie,aAAa,CAAEohB,aAAa,IAAQjQ,SAASysD,GAM9D,MAAM,IAAI,EAAc,qCAAsCj9E,MAOlE,EAAG,CACC,MAAMkN,EAAU27E,EAAax6F,KAAKc,SAAW05F,EAAax6F,KAAKc,SAAS+d,QAAU,KAC5EhE,EAAU2/E,EAAaxuB,UAAYjkE,EAAS2jB,OAC5CyiC,EAAoBmsC,GAAeG,qBAAqB1yF,GACxDiJ,EAAQ,IAAIspF,GAAevyF,EAAU8S,EAASszC,EAAmB,KAAMtvC,GAC7ElN,KAAKurE,MAAMklB,aAAapxF,GACxBW,KAAK1E,MAAM0+F,eAAe36F,GAErB87F,GAAsBC,IACvBD,EAAoBtS,EACpBuS,EAAmBhlG,EAASgL,OAAOk/B,aAGvCuoD,GADAzyF,EAAW4J,KAAK87C,oBAAoB1lD,EAASgL,SACrBA,MAC5B,OAASynF,IAAiB5L,GAC1B,MAAO,CACH7mF,WACA4uB,MAAO,IAAI,GAAM,GAAS4nB,UAAUuuD,EAAmB,OAAQ,GAASvuD,UAAUwuD,EAAkB,IAE5G,CAUA,IAAAngD,CAAKj2B,EAAOq2E,GAER,GADAr7F,KAAK85F,8BACA90E,EAAMlJ,OAMP,MAAM,IAAI,EAAc,6BAA8B9b,MAE1D,MAAM9Q,EAAUmsG,aAA2B,GAAUA,EAAkB,IAAI,GAAQA,GACnF,GAAInsG,EAAQ8wC,WAAa,EAMrB,MAAM,IAAI,EAAc,gCAAiChgC,MAE7D,GAAuB,OAAnB9Q,EAAQkS,OAMR,MAAM,IAAI,EAAc,+BAAgCpB,MAE5DA,KAAKzQ,OAAOL,EAAS81B,EAAM6J,OAE3B,MAAMysE,EAAe,IAAI,GAAMt2E,EAAM6J,MAAM0f,aAAa,GAAIvpB,EAAM4I,IAAI2gB,aAAa,IACnFvuC,KAAKy5C,KAAK6hD,EAAc,GAAS1uD,UAAU19C,EAAS,GACxD,CAOA,MAAAmsD,CAAOnsD,GAEH,GADA8Q,KAAK85F,6BACkB,OAAnB5qG,EAAQkS,OAMR,MAAM,IAAI,EAAc,kCAAmCpB,MAE/DA,KAAKy5C,KAAK,GAAMhJ,UAAUvhD,GAAU8Q,KAAK87C,oBAAoB5sD,IAC7D8Q,KAAKjJ,OAAO7H,EAChB,CA6CA,SAAAkrG,CAAU53F,EAAMvT,GAEZ,GADA+Q,KAAK85F,8BACA7qG,GAA4C,kBAA1BA,EAAQirG,eAM3B,MAAM,IAAI,EAAc,qCAAsCl6F,MAElE,MAAMk6F,EAAiBjrG,EAAQirG,eACzBl1E,EAAQ/1B,EAAQ+1B,MAChBsT,OAAsCn4B,IAAxBlR,EAAQqpC,aAAoCrpC,EAAQqpC,YACxE,GAAIt4B,KAAK1E,MAAMmpE,QAAQt4D,IAAI3J,GAMvB,MAAM,IAAI,EAAc,iCAAkCxC,MAE9D,IAAKglB,EAMD,MAAM,IAAI,EAAc,4BAA6BhlB,MAEzD,OAAKk6F,GAGLqB,GAAqBv7F,KAAMwC,EAAM,KAAMwiB,EAAOsT,GACvCt4B,KAAK1E,MAAMmpE,QAAQ5+D,IAAIrD,IAHnBxC,KAAK1E,MAAMmpE,QAAQn8B,KAAK9lC,EAAMwiB,EAAOk1E,EAAgB5hE,EAIpE,CAwDA,YAAA6hE,CAAa1f,EAAcxrF,GACvB+Q,KAAK85F,6BACL,MAAMp6B,EAAoC,iBAAhB+a,EAA2BA,EAAeA,EAAaj4E,KAC3Ek4E,EAAgB16E,KAAK1E,MAAMmpE,QAAQ5+D,IAAI65D,GAC7C,IAAKgb,EAMD,MAAM,IAAI,EAAc,wCAAyC16E,MAErE,IAAK/Q,EAaD,OAFA,EAAW,wDAAyD,CAAEywE,oBACtE1/D,KAAK1E,MAAMmpE,QAAQkW,SAASD,GAGhC,MAAM8gB,EAA4D,kBAA1BvsG,EAAQirG,eAC1CuB,EAAmD,kBAAvBxsG,EAAQqpC,YAEpCA,EAAcmjE,EAAqBxsG,EAAQqpC,YAAcoiD,EAAcpiD,YAC7E,IAAKkjE,IAA6BvsG,EAAQ+1B,QAAUy2E,EAMhD,MAAM,IAAI,EAAc,oCAAqCz7F,MAEjE,MAAMk4E,EAAewC,EAAclV,WAC7Bk2B,EAAezsG,EAAQ+1B,MAAQ/1B,EAAQ+1B,MAAQkzD,EACjDsjB,GAA4BvsG,EAAQirG,iBAAmBxf,EAAcse,uBAEjE/pG,EAAQirG,eAGRqB,GAAqBv7F,KAAM0/D,EAAY,KAAMg8B,EAAcpjE,IAK3DijE,GAAqBv7F,KAAM0/D,EAAYwY,EAAc,KAAM5/C,GAE3Dt4B,KAAK1E,MAAMmpE,QAAQn8B,KAAKo3B,EAAYg8B,OAAcv7F,EAAWm4B,IAKjEoiD,EAAcse,uBACduC,GAAqBv7F,KAAM0/D,EAAYwY,EAAcwjB,EAAcpjE,GAGnEt4B,KAAK1E,MAAMmpE,QAAQn8B,KAAKo3B,EAAYg8B,OAAcv7F,EAAWm4B,EAErE,CAQA,YAAA8/D,CAAa3d,GACTz6E,KAAK85F,6BACL,MAAMt3F,EAA8B,iBAAhBi4E,EAA2BA,EAAeA,EAAaj4E,KAC3E,IAAKxC,KAAK1E,MAAMmpE,QAAQt4D,IAAI3J,GAMxB,MAAM,IAAI,EAAc,gCAAiCxC,MAE7D,MAAMimE,EAASjmE,KAAK1E,MAAMmpE,QAAQ5+D,IAAIrD,GACtC,IAAKyjE,EAAO+yB,uBAER,YADAh5F,KAAK1E,MAAMmpE,QAAQhyC,QAAQjwB,GAI/B+4F,GAAqBv7F,KAAMwC,EADVyjE,EAAOT,WACmB,KAAMS,EAAO3tC,YAC5D,CAWA,OAAAqjE,CAAQjjE,EAAUqT,EAAc,SAC5B/rC,KAAK85F,6BACL,MAAMzrG,EAAO2R,KAAK1E,MAAMnM,SAAS2lD,QAAQpc,GACzC,GAAIrqC,GAAQA,EAAK+wC,aAMb,MAAM,IAAI,EAAc,6BAA8Bp/B,MAE1D,MAAM7Q,EAAW6Q,KAAK1E,MAAMnM,SACtBusE,EAAY,IAAI6tB,GAAc7wD,EAAUqT,GAAa,EAAM58C,EAAUA,EAAS+d,SAGpF,OAFAlN,KAAKurE,MAAMklB,aAAa/0B,GACxB17D,KAAK1E,MAAM0+F,eAAet+B,GACnB17D,KAAK1E,MAAMnM,SAAS2lD,QAAQpc,EACvC,CAgBA,UAAAkjE,CAAWC,GACP77F,KAAK85F,6BACL,MAAMzrG,EAA4B,iBAAdwtG,EAAyB77F,KAAK1E,MAAMnM,SAAS2lD,QAAQ+mD,GAAcA,EACvF,IAAKxtG,IAASA,EAAK+wC,aAMf,MAAM,IAAI,EAAc,4BAA6Bp/B,MAIzD,IAAK,MAAMimE,KAAUjmE,KAAK1E,MAAMmpE,QACxBwB,EAAOT,WAAWn3E,OAASA,GAC3B2R,KAAKo4F,aAAanyB,GAI1B,IAAK,MAAMttE,KAAOtK,EAAK06C,mBACnB/oC,KAAK24C,gBAAgBhgD,EAAKtK,GAG9B2R,KAAKjJ,OAAOiJ,KAAKi8C,cAAc5tD,IAE/B,MAAMc,EAAW6Q,KAAK1E,MAAMnM,SACtBusE,EAAY,IAAI6tB,GAAcl7F,EAAKqqC,SAAUrqC,EAAKmU,MAAM,EAAOrT,EAAUA,EAAS+d,SACxFlN,KAAKurE,MAAMklB,aAAa/0B,GACxB17D,KAAK1E,MAAM0+F,eAAet+B,EAC9B,CACA,YAAAlkB,IAAgBjnD,GACZyP,KAAK85F,6BACL95F,KAAK1E,MAAMnM,SAASopC,UAAU4a,UAAU5iD,EAC5C,CAUA,iBAAAknD,CAAkB1I,EAAgBh1B,GAC9B/Z,KAAK85F,6BACL95F,KAAK1E,MAAMnM,SAASopC,UAAU6a,UAAUrE,EAAgBh1B,EAC5D,CACA,qBAAA+hF,CAAsBC,EAAuB/rG,GAEzC,GADAgQ,KAAK85F,6BACgC,iBAA1BiC,EACP/7F,KAAKg8F,uBAAuBD,EAAuB/rG,QAGnD,IAAK,MAAO2I,EAAK3I,KAAU,GAAM+rG,GAC7B/7F,KAAKg8F,uBAAuBrjG,EAAK3I,EAG7C,CAkBA,wBAAA01F,CAAyBuW,GAErB,GADAj8F,KAAK85F,6BAC8B,iBAAxBmC,EACPj8F,KAAKk8F,0BAA0BD,QAG/B,IAAK,MAAMtjG,KAAOsjG,EACdj8F,KAAKk8F,0BAA0BvjG,EAG3C,CAuBA,wBAAAwjG,GACI,OAAOn8F,KAAK1E,MAAMnM,SAASopC,UAAUgyC,kBACzC,CAUA,uBAAA6xB,CAAwB3xF,GACpBzK,KAAK1E,MAAMnM,SAASopC,UAAUkyC,gBAAgBhgE,EAClD,CAKA,sBAAAuxF,CAAuBrjG,EAAK3I,GACxB,MAAMuoC,EAAYv4B,KAAK1E,MAAMnM,SAASopC,UAEtC,GAAIA,EAAU0W,aAAe1W,EAAUiH,OAAOp+B,OAAOyjC,QAAS,CAC1D,MAAMw3D,EAAW,GAAkB1xB,sBAAsBhyE,GACzDqH,KAAKpH,aAAayjG,EAAUrsG,EAAOuoC,EAAUiH,OAAOp+B,OACxD,CACAm3B,EAAUkS,cAAc9xC,EAAK3I,EACjC,CAIA,yBAAAksG,CAA0BvjG,GACtB,MAAM4/B,EAAYv4B,KAAK1E,MAAMnM,SAASopC,UAEtC,GAAIA,EAAU0W,aAAe1W,EAAUiH,OAAOp+B,OAAOyjC,QAAS,CAC1D,MAAMw3D,EAAW,GAAkB1xB,sBAAsBhyE,GACzDqH,KAAK24C,gBAAgB0jD,EAAU9jE,EAAUiH,OAAOp+B,OACpD,CACAm3B,EAAUsS,iBAAiBlyC,EAC/B,CAIA,0BAAAmhG,GAUI,GAAI95F,KAAK1E,MAAMghG,iBAAmBt8F,KAC9B,MAAM,IAAI,EAAc,uBAAwBA,KAExD,CASA,+BAAA86F,CAAgC53F,EAAMg2C,GAClC,IAAK,MAAM+sB,KAAUjmE,KAAK1E,MAAMmpE,QAAS,CACrC,IAAKwB,EAAO+yB,uBACR,SAEJ,MAAMzzB,EAAcU,EAAOT,WAC3B,IAAI+2B,GAAa,EACjB,GAAa,SAATr5F,EAAiB,CACjB,MAAM8hB,EAAQk0B,EACdqjD,EACIv3E,EAAMwqB,iBAAiB+1B,EAAY12C,QAC/B7J,EAAM6J,MAAMvL,QAAQiiD,EAAY12C,QAChC7J,EAAMwqB,iBAAiB+1B,EAAY33C,MACnC5I,EAAM4I,IAAItK,QAAQiiD,EAAY33C,IAC1C,KACK,CAED,MAAMx3B,EAAW8iD,EACXk6B,EAAgBh9E,EAASg4C,WACzB+kC,EAAe/8E,EAAS+3C,UAKxBquD,EAAwBj3B,EAAY12C,MAAMztB,QAAUgyE,GAAiB7N,EAAY12C,MAAM4e,QAKvFgvD,EAAyBl3B,EAAY33C,IAAIxsB,QAAU+xE,GAA0C,GAA1B5N,EAAY33C,IAAI7T,OAKnF2iF,EAA2Bn3B,EAAY33C,IAAIugB,WAAaglC,EAKxDwpB,EAA6Bp3B,EAAY12C,MAAMsf,WAAaglC,EAClEopB,EAAaC,GAAyBC,GAA0BC,GAA4BC,CAChG,CACIJ,GACAv8F,KAAKm6F,aAAal0B,EAAOzjE,KAAM,CAAEwiB,MAAOugD,GAEhD,CACJ,EAUJ,SAASm1B,GAAoBl8D,EAAQ7lC,EAAK3I,EAAOg1B,GAC7C,MAAM1pB,EAAQkjC,EAAOljC,MACfya,EAAMza,EAAMnM,SAElB,IAGIiH,EAEAwmG,EAEAC,EAPAC,EAAoB93E,EAAM6J,MAQ9B,IAAK,MAAM14B,KAAO6uB,EAAM8pB,UAAU,CAAEhC,SAAS,IACzC+vD,EAAa1mG,EAAIhF,KAAK4uC,aAAapnC,GAG/BvC,GAAYwmG,GAAeC,IAEvBD,GAAe5sG,GACfygG,IAEJqM,EAAoB1mG,GAExBA,EAAWD,EAAI+3C,aACf0uD,EAAcC,EAOlB,SAASpM,IACL,MAAMzrE,EAAQ,IAAI,GAAM83E,EAAmB1mG,GACrC8W,EAAU8X,EAAM32B,KAAKc,SAAW4mB,EAAI7I,QAAU,KAC9CwuD,EAAY,IAAIwtB,GAAmBlkE,EAAOrsB,EAAKikG,EAAa5sG,EAAOkd,GACzEsxB,EAAO+sC,MAAMklB,aAAa/0B,GAC1BpgE,EAAM0+F,eAAet+B,EACzB,CATItlE,aAAoB,IAAYA,GAAY0mG,GAAqBF,GAAe5sG,GAChFygG,GASR,CAIA,SAASkK,GAAmBn8D,EAAQ7lC,EAAK3I,EAAOmB,GAC5C,MAAMmK,EAAQkjC,EAAOljC,MACfya,EAAMza,EAAMnM,SACZ4tG,EAAgB5rG,EAAK4uC,aAAapnC,GACxC,IAAIqsB,EAAO02C,EACX,GAAIqhC,GAAiB/sG,EAAO,CAExB,GADsBmB,EAAK9C,OAAS8C,EACjB,CAEf,MAAM+b,EAAU/b,EAAKhC,SAAW4mB,EAAI7I,QAAU,KAC9CwuD,EAAY,IAAI4tB,GAAuBn4F,EAAMwH,EAAKokG,EAAe/sG,EAAOkd,EAC5E,KACK,CACD8X,EAAQ,IAAI,GAAM,GAASgpB,cAAc78C,GAAOqtC,EAAOsd,oBAAoB3qD,IAC3E,MAAM+b,EAAU8X,EAAM32B,KAAKc,SAAW4mB,EAAI7I,QAAU,KACpDwuD,EAAY,IAAIwtB,GAAmBlkE,EAAOrsB,EAAKokG,EAAe/sG,EAAOkd,EACzE,CACAsxB,EAAO+sC,MAAMklB,aAAa/0B,GAC1BpgE,EAAM0+F,eAAet+B,EACzB,CACJ,CAIA,SAAS6/B,GAAqB/8D,EAAQh8B,EAAMilE,EAAUnsB,EAAUhjB,GAC5D,MAAMh9B,EAAQkjC,EAAOljC,MACfya,EAAMza,EAAMnM,SACZusE,EAAY,IAAIstB,GAAgBxmF,EAAMilE,EAAUnsB,EAAUhgD,EAAMmpE,UAAWnsC,EAAaviB,EAAI7I,SAClGsxB,EAAO+sC,MAAMklB,aAAa/0B,GAC1BpgE,EAAM0+F,eAAet+B,EACzB,CAUA,SAASq/B,GAAqB3kG,EAAU8S,EAASqiE,EAAOjwE,GACpD,IAAIogE,EACJ,GAAItlE,EAAS/H,KAAKc,SAAU,CACxB,MAAM4mB,EAAMza,EAAMnM,SACZmtE,EAAoB,IAAI,GAASvmD,EAAI+mD,UAAW,CAAC,IACvDpB,EAAY,IAAImsB,GAAczxF,EAAU8S,EAASozD,EAAmBvmD,EAAI7I,QAC5E,MAEIwuD,EAAY,IAAIi+B,GAAgBvjG,EAAU8S,GAE9CqiE,EAAMklB,aAAa/0B,GACnBpgE,EAAM0+F,eAAet+B,EACzB,CAUA,SAASq+B,GAAWiD,EAAOC,GAEvB,OAAID,IAAUC,GAIVD,aAAiB/E,IAAegF,aAAiBhF,EAIzD,CCvuCe,SAASiF,GAAc5hG,EAAOi9B,EAAWtpC,EAAU,CAAC,GAC/D,GAAIspC,EAAU0W,YACV,OAEJ,MAAMkuD,EAAW5kE,EAAU+Y,gBAE3B,GAA8B,cAA1B6rD,EAAS9uG,KAAKqqC,SACd,OAEJ,MAAM4vC,EAAShtE,EAAMgtE,OACrBhtE,EAAMijC,QAAOC,IAGT,IAAKvvC,EAAQmuG,yBA+YrB,SAAoD90B,EAAQ/vC,GACxD,MAAM0kD,EAAe3U,EAAO2Q,gBAAgB1gD,GAC5C,IAAKA,EAAUmwC,sBAAsBuU,GACjC,OAAO,EAEX,MAAMj4D,EAAQuT,EAAU+Y,gBACxB,GAAItsB,EAAM6J,MAAMztB,QAAU4jB,EAAM4I,IAAIxsB,OAChC,OAAO,EAEX,OAAOknE,EAAOoH,WAAWuN,EAAc,YAC3C,CAzZgDogB,CAA2C/0B,EAAQ/vC,GAEvF,YAkYZ,SAA2CiG,EAAQjG,GAC/C,MAAM0kD,EAAez+C,EAAOljC,MAAMgtE,OAAO2Q,gBAAgB1gD,GACzDiG,EAAOznC,OAAOynC,EAAOyd,cAAcghC,IACnCqgB,GAAgB9+D,EAAQA,EAAOqd,iBAAiBohC,EAAc,GAAI1kD,EACtE,CAvYYglE,CAAkC/+D,EAAQjG,GAI9C,MAAMilE,EAA6B,CAAC,EACpC,IAAKvuG,EAAQwuG,mBAAoB,CAC7B,MAAMvpD,EAAkB3b,EAAU0Z,qBAC9BiC,GACAvkD,OAAO83B,OAAO+1E,EAA4Bl1B,EAAOoV,0BAA0BxpC,EAAiB,iBAAiB,GAErH,CAEA,MAAOzH,EAAemQ,GA6C9B,SAA2C53B,GACvC,MAAM1pB,EAAQ0pB,EAAM32B,KAAKc,SAASmM,MAC5BmxC,EAAgBznB,EAAM6J,MAC5B,IAAI+tB,EAAc53B,EAAM4I,IAGxB,GAAItyB,EAAMgkC,WAAWta,EAAO,CAAE04E,eAAe,IAAS,CAClD,MAAMl1B,EA8Bd,SAAwBpyE,GACpB,MAAMlH,EAAUkH,EAASgL,OACnBknE,EAASp5E,EAAQb,KAAKc,SAASmM,MAAMgtE,OACrC9nC,EAAYtxC,EAAQmwB,aAAa,CAAEqhB,aAAa,EAAMD,aAAa,IACzE,IAAK,MAAMvxC,KAAWsxC,EAAW,CAC7B,GAAI8nC,EAAOY,QAAQh6E,GACf,OAAO,KAEX,GAAIo5E,EAAOC,QAAQr5E,GACf,OAAOA,CAEf,CACJ,CA1CyB,CAAe0tD,GAChC,GAAI4rB,GAAY5rB,EAAYwe,WAAW9/D,EAAMugD,iBAAiB2sB,EAAU,IAAK,CAEzE,MAAMjwC,EAAYj9B,EAAM4gD,gBAAgBl3B,GAGxC1pB,EAAMqiG,gBAAgBplE,EAAW,CAAE9T,UAAW,aAC9C,MAAMm5E,EAAiBrlE,EAAUkZ,kBAQ3BosD,EAAeviG,EAAMolB,YAAYk9E,EAAgBhhD,GAClDthD,EAAMgkC,WAAWu+D,EAAc,CAAEH,eAAe,MACjD9gD,EAAcghD,EAEtB,CACJ,CACA,MAAO,CACH3N,GAAaE,aAAa1jD,EAAe,cACzCwjD,GAAaE,aAAavzC,EAAa,UAE/C,CA7E6CkhD,CAAkCX,GAElE1wD,EAAc2uB,WAAWxe,IAC1Bpe,EAAOznC,OAAOynC,EAAO9d,YAAY+rB,EAAemQ,IAU/C3tD,EAAQ8uG,iBAsFrB,SAAuBv/D,EAAQiO,EAAemQ,GAC1C,MAAMthD,EAAQkjC,EAAOljC,MAErB,IAAK0iG,GAAiBx/D,EAAOljC,MAAMgtE,OAAQ77B,EAAemQ,GACtD,OA0BJ,MAAOqhD,EAAeC,GAiN1B,SAA6CC,EAAWC,GACpD,MAAMx9D,EAAau9D,EAAU9+E,eACvBwhB,EAAau9D,EAAU/+E,eAC7B,IAAIzuB,EAAI,EACR,KAAOgwC,EAAWhwC,IAAMgwC,EAAWhwC,IAAMiwC,EAAWjwC,IAChDA,IAEJ,MAAO,CAACgwC,EAAWhwC,GAAIiwC,EAAWjwC,GACtC,CAzNyCytG,CAAoC5xD,EAAemQ,GASxF,IAAKqhD,IAAkBC,EACnB,QAEC5iG,EAAMgkC,WAAW2+D,EAAe,CAAEP,eAAe,KAAWpiG,EAAMgkC,WAAW4+D,EAAa,CAAER,eAAe,IAC5GY,GAAmB9/D,EAAQiO,EAAemQ,EAAaqhD,EAAc78F,QAGrEm9F,GAAkB//D,EAAQiO,EAAemQ,EAAaqhD,EAAc78F,OAE5E,CArIYo9F,CAAchgE,EAAQiO,EAAemQ,GAOrC0rB,EAAOiV,2BAA2B9wC,EAAcrrC,OAAOi+B,cAAeb,IAE1EigE,GAAoBjgE,EAAQjG,EAAWkU,IAIlCx9C,EAAQwuG,oBAgUrB,SAA6Bn1B,EAAQlyE,GACjC,MAAMsoG,EAAgBp2B,EAAOoH,WAAWt5E,EAAU,SAC5CuoG,EAAqBr2B,EAAOoH,WAAWt5E,EAAU,aACvD,OAAQsoG,GAAiBC,CAC7B,CApU2CC,CAAoBt2B,EAAQ77B,IAC3D6wD,GAAgB9+D,EAAQiO,EAAelU,EAAWilE,GAEtD/wD,EAAc1tB,SACd69B,EAAY79B,QAAQ,GAE5B,CAuIA,SAASw/E,GAAkB//D,EAAQiO,EAAemQ,EAAaiiD,GAC3D,MAAMvuD,EAAe7D,EAAcrrC,OAC7BmvC,EAAaqM,EAAYx7C,OAE/B,GAAIkvC,GAAgBuuD,GAAkBtuD,GAAcsuD,EAApD,CAwCA,IApCApyD,EAAgBjO,EAAOsd,oBAAoBxL,IAC3CsM,EAAcpe,EAAOud,qBAAqBxL,IAEzBjtB,QAAQmpB,IASrBjO,EAAOjvC,OAAOghD,EAAY9D,GAc9BjO,EAAOjP,MAAMkd,GAUNmQ,EAAYx7C,OAAOyjC,SAAS,CAC/B,MAAMi6D,EAAiBliD,EAAYx7C,OACnCw7C,EAAcpe,EAAOud,qBAAqB+iD,GAC1CtgE,EAAOznC,OAAO+nG,EAClB,CAEKd,GAAiBx/D,EAAOljC,MAAMgtE,OAAQ77B,EAAemQ,IAI1D2hD,GAAkB//D,EAAQiO,EAAemQ,EAAaiiD,EAhDtD,CAiDJ,CAqBA,SAASP,GAAmB9/D,EAAQiO,EAAemQ,EAAaiiD,GAC5D,MAAMvuD,EAAe7D,EAAcrrC,OAC7BmvC,EAAaqM,EAAYx7C,OAE/B,GAAIkvC,GAAgBuuD,GAAkBtuD,GAAcsuD,EAApD,CA2BA,IAvBApyD,EAAgBjO,EAAOsd,oBAAoBxL,IAC3CsM,EAAcpe,EAAOud,qBAAqBxL,IAEzBjtB,QAAQmpB,IASrBjO,EAAOjvC,OAAO+gD,EAAcsM,GAWzBnQ,EAAcrrC,OAAOyjC,SAAS,CACjC,MAAMi6D,EAAiBryD,EAAcrrC,OACrCqrC,EAAgBjO,EAAOud,qBAAqB+iD,GAC5CtgE,EAAOznC,OAAO+nG,EAClB,CAEAliD,EAAcpe,EAAOud,qBAAqBxL,GAuB9C,SAAoB/R,EAAQpoC,GACxB,MAAMk6C,EAAel6C,EAASg4C,WACxBmC,EAAan6C,EAAS+3C,UACxBmC,EAAa9tC,MAAQ+tC,EAAW/tC,MAChCg8B,EAAOgd,OAAOlL,EAAcC,EAAW/tC,MAE3Cg8B,EAAOo8D,gBAAgBtqD,GACvB9R,EAAOnvC,cAAcM,OAAOq8B,YAAYukB,EAAWvH,iBAAkBsH,GACrE9R,EAAOjP,MAAMn5B,EACjB,CApBI2oG,CAAWvgE,EAAQoe,GAEdohD,GAAiBx/D,EAAOljC,MAAMgtE,OAAQ77B,EAAemQ,IAI1D0hD,GAAmB9/D,EAAQiO,EAAemQ,EAAaiiD,EAjDvD,CAkDJ,CAkBA,SAASb,GAAiB11B,EAAQ77B,EAAemQ,GAC7C,MAAMtM,EAAe7D,EAAcrrC,OAC7BmvC,EAAaqM,EAAYx7C,OAG/B,OAAIkvC,GAAgBC,KAIhB+3B,EAAOY,QAAQ54B,KAAiBg4B,EAAOY,QAAQ34B,IAiCvD,SAAgCyuD,EAASC,EAAU32B,GAC/C,MAAM42B,EAAe,IAAI,GAAMF,EAASC,GACxC,IAAK,MAAMjvG,KAASkvG,EAAapwD,YAC7B,GAAIw5B,EAAOY,QAAQl5E,EAAMmB,MACrB,OAAO,EAGf,OAAO,CACX,CAnCWguG,CAAuB1yD,EAAemQ,EAAa0rB,GAC9D,CAmCA,SAASg1B,GAAgB9+D,EAAQpoC,EAAUmiC,EAAWjpC,EAAa,CAAC,GAChE,MAAMulF,EAAYr2C,EAAOpvC,cAAc,aACvCovC,EAAOljC,MAAMgtE,OAAOgV,qBAAqBzI,EAAWvlF,EAAYkvC,GAChEA,EAAOjvC,OAAOslF,EAAWz+E,GACzBqoG,GAAoBjgE,EAAQjG,EAAWiG,EAAOqd,iBAAiBg5B,EAAW,GAC9E,CA2BA,SAAS4pB,GAAoBjgE,EAAQjG,EAAW2gB,GACxC3gB,aAAqB,GACrBiG,EAAOgZ,aAAa0B,GAGpB3gB,EAAUwM,MAAMmU,EAExB,CCzYA,SAASkmD,GAAmBp6E,EAAOwZ,GAC/B,MAAM6gE,EAAiB,GACvBrrG,MAAM8N,KAAKkjB,EAAMmrB,SAAS,CAAE1rB,UAAW,cAGlCnlB,KAAInO,GAAQqtC,EAAOwd,cAAc7qD,KAKjCwF,QAAO2oG,IAEWA,EAAUzwE,MAAMoS,QAAQjc,EAAM6J,QAAUywE,EAAUzwE,MAAMvL,QAAQ0B,EAAM6J,UACpFywE,EAAU1xE,IAAIkT,SAAS9b,EAAM4I,MAAQ0xE,EAAU1xE,IAAItK,QAAQ0B,EAAM4I,QAGrE/9B,SAAQyvG,IACTD,EAAetwG,KAAKuwG,EAAUzwE,MAAMztB,QACpCo9B,EAAOznC,OAAOuoG,EAAU,IAI5BD,EAAexvG,SAAQ0vG,IACnB,IAAIn+F,EAASm+F,EACb,KAAOn+F,EAAOA,QAAUA,EAAOyjC,SAAS,CACpC,MAAM26D,EAAchhE,EAAOwd,cAAc56C,GACzCA,EAASA,EAAOA,OAChBo9B,EAAOznC,OAAOyoG,EAClB,IAER,CC+DA,MAAMC,GACF,WAAAt1F,CAAY7O,EAAOkjC,EAAQpoC,GAIvB4J,KAAK0/F,WAAa,KAIlB1/F,KAAK2/F,UAAY,KAIjB3/F,KAAK4/F,mBAAqB,KAI1B5/F,KAAK6/F,oBAAsB,GAI3B7/F,KAAK8/F,eAAiB,KAItB9/F,KAAK+/F,aAAe,KACpB//F,KAAKggG,cAAgB,KACrBhgG,KAAK1E,MAAQA,EACb0E,KAAKw+B,OAASA,EACdx+B,KAAK5J,SAAWA,EAChB4J,KAAKigG,aAAe,IAAI7tF,IAAI,CAACpS,KAAK5J,SAASgL,SAC3CpB,KAAKsoE,OAAShtE,EAAMgtE,OACpBtoE,KAAKkgG,kBAAoB1hE,EAAOkZ,yBAChC13C,KAAKmgG,0BAA4B3hE,EAAOqd,iBAAiB77C,KAAKkgG,kBAAmB,EACrF,CAMA,WAAAE,CAAY9gF,GACR,IAAK,MAAM3d,KAAQ3N,MAAM8N,KAAKwd,GAC1Btf,KAAKqgG,YAAY1+F,GAGrB3B,KAAKsgG,yBAEDtgG,KAAK4/F,oBACL5/F,KAAKugG,iCAAiCvgG,KAAK4/F,oBAI/C5/F,KAAKwgG,gBAELxgG,KAAKsoE,OAAOiV,2BAA2Bv9E,KAAK6/F,oBAAqB7/F,KAAKw+B,QACtEx+B,KAAK6/F,oBAAsB,EAC/B,CAMA,gCAAAU,CAAiC5+F,GAC7B,MAAM8+F,EAAwBzgG,KAAKw+B,OAAOsd,oBAAoB97C,KAAK2/F,WAC7De,EAAoB1gG,KAAKw+B,OAAOsd,oBAAoBn6C,GAE1D,GAAI++F,EAAkBz/D,QAAQw/D,GAAwB,CAGlD,GAFAzgG,KAAK2/F,UAAYh+F,EAEb3B,KAAK5J,SAASgL,QAAUO,IAAS3B,KAAK5J,SAASq3C,QAI/C,MAAM,IAAI,EAAc,2CAA4CztC,MAExEA,KAAK5J,SAAWsqG,EAChB1gG,KAAK2gG,uBAAuB3gG,KAAK5J,SACrC,CACJ,CAKA,iBAAAwqG,GACI,OAAI5gG,KAAKggG,cACE,GAAMtvD,UAAU1wC,KAAKggG,eAEzBhgG,KAAK1E,MAAMgtE,OAAO0E,yBAAyBhtE,KAAK5J,SAC3D,CAKA,gBAAAyqG,GACI,OAAK7gG,KAAK8/F,eAGH,IAAI,GAAM9/F,KAAK8/F,eAAgB9/F,KAAK+/F,cAFhC,IAGf,CAIA,OAAA95E,GACQjmB,KAAK8/F,gBACL9/F,KAAK8/F,eAAe/gF,SAEpB/e,KAAK+/F,cACL//F,KAAK+/F,aAAahhF,QAE1B,CAIA,WAAAshF,CAAY1+F,GAGH3B,KAAK8gG,gCAAgCn/F,IAQ1C3B,KAAK+gG,kBAAkBp/F,GAElB3B,KAAK0/F,aACN1/F,KAAK0/F,WAAa/9F,GAEtB3B,KAAK2/F,UAAYh+F,GAXR3B,KAAKsoE,OAAOyE,SAASprE,IACtB3B,KAAKghG,sBAAsBr/F,EAWvC,CAIA,sBAAA2+F,GACI,GAAItgG,KAAKkgG,kBAAkBr7D,QACvB,OAEJ,MAAMo8D,EAAehR,GAAaE,aAAanwF,KAAK5J,SAAU,UAC9D4J,KAAK2gG,uBAAuB3gG,KAAK5J,UAI7B4J,KAAKkgG,kBAAkBhgE,SAAS,IAAMlgC,KAAK0/F,aAC3C1/F,KAAKw+B,OAAOjvC,OAAOyQ,KAAK0/F,WAAY1/F,KAAK5J,UAGzC4J,KAAKkhG,eACLlhG,KAAK5J,SAAW6qG,EAAa/Q,cAG5BlwF,KAAKkgG,kBAAkBr7D,SACxB7kC,KAAKw+B,OAAOjvC,OAAOyQ,KAAKkgG,kBAAmBlgG,KAAK5J,UAEpD4J,KAAKmgG,0BAA4BngG,KAAKw+B,OAAOqd,iBAAiB77C,KAAKkgG,kBAAmB,GACtFlgG,KAAK5J,SAAW6qG,EAAa/Q,aAC7B+Q,EAAaliF,QACjB,CAIA,qBAAAiiF,CAAsBr/F,GAEdA,EAAK8K,GAAG,YACRzM,KAAKogG,YAAYz+F,EAAK09B,cAE9B,CAMA,iBAAA0hE,CAAkBp/F,GAEd,IAAK3B,KAAKsoE,OAAOoH,WAAW1vE,KAAK5J,SAAUuL,GAUvC,MAAM,IAAI,EAAc,+BAAgC3B,KAAM,CAAE2B,OAAMvL,SAAU4J,KAAK5J,WAEzF4J,KAAKw+B,OAAOjvC,OAAOoS,EAAM3B,KAAKmgG,2BAC9BngG,KAAKmgG,0BAA4BngG,KAAKmgG,0BAA0B5xD,aAAa5sC,EAAKogC,YAE9E/hC,KAAKsoE,OAAOyE,SAASprE,KAAU3B,KAAKsoE,OAAOoH,WAAW1vE,KAAK5J,SAAU,SACrE4J,KAAKggG,cAAgBr+F,EAGrB3B,KAAKggG,cAAgB,KAEzBhgG,KAAK6/F,oBAAoB9wG,KAAK4S,EAClC,CAQA,sBAAAg/F,CAAuBvqG,GAId4J,KAAK8/F,iBACN9/F,KAAK8/F,eAAiB7P,GAAaE,aAAa/5F,EAAU,eAMzD4J,KAAK+/F,eAAgB//F,KAAK+/F,aAAaj/D,SAAS1qC,KAC7C4J,KAAK+/F,cACL//F,KAAK+/F,aAAahhF,SAEtB/e,KAAK+/F,aAAe9P,GAAaE,aAAa/5F,EAAU,UAEhE,CAOA,YAAA8qG,GACI,MAAMv/F,EAAO3B,KAAK0/F,WAClB,KAAM/9F,aAAgB,IAClB,OAEJ,IAAK3B,KAAKmhG,cAAcx/F,GACpB,OAEJ,MAAMy/F,EAAenR,GAAajiD,cAAcrsC,GAChDy/F,EAAalnC,WAAa,SAC1B,MAAM+mC,EAAehR,GAAaE,aAAanwF,KAAK5J,SAAU,UAa1D4J,KAAK8/F,eAAex8E,QAAQ89E,KAC5BphG,KAAK8/F,eAAe/gF,SACpB/e,KAAK8/F,eAAiB7P,GAAarjD,UAAUw0D,EAAahzD,WAAY,MAAO,eAW7EpuC,KAAK0/F,aAAe1/F,KAAK2/F,YACzB3/F,KAAK0/F,WAAa0B,EAAahzD,WAC/BpuC,KAAK2/F,UAAYyB,EAAahzD,YAElCpuC,KAAKw+B,OAAOjP,MAAM6xE,GASdA,EAAa99E,QAAQtjB,KAAK+/F,eAAiB//F,KAAK0/F,aAAe1/F,KAAK2/F,YACpE3/F,KAAK+/F,aAAahhF,SAClB/e,KAAK+/F,aAAe9P,GAAarjD,UAAUw0D,EAAahzD,WAAY,MAAO,WAE/EpuC,KAAK5J,SAAW6qG,EAAa/Q,aAC7B+Q,EAAaliF,SAGb/e,KAAK6/F,oBAAoB9wG,KAAKiR,KAAK5J,SAASgL,QAC5CggG,EAAariF,QACjB,CAOA,aAAAyhF,GACI,MAAM7+F,EAAO3B,KAAK2/F,UAClB,KAAMh+F,aAAgB,IAClB,OAEJ,IAAK3B,KAAKqhG,eAAe1/F,GACrB,OAEJ,MAAM2/F,EAAgBrR,GAAaviD,aAAa/rC,GAGhD,GAFA2/F,EAAcpnC,WAAa,UAEtBl6D,KAAK5J,SAASktB,QAAQg+E,GAavB,MAAM,IAAI,EAAc,2CAA4CthG,MAIxEA,KAAK5J,SAAW,GAASw2C,UAAU00D,EAAclzD,WAAY,OAI7D,MAAM6yD,EAAehR,GAAaE,aAAanwF,KAAK5J,SAAU,cAE1D4J,KAAK+/F,aAAaz8E,QAAQg+E,KAC1BthG,KAAK+/F,aAAahhF,SAClB/e,KAAK+/F,aAAe9P,GAAarjD,UAAU00D,EAAclzD,WAAY,MAAO,WAW5EpuC,KAAK0/F,aAAe1/F,KAAK2/F,YACzB3/F,KAAK0/F,WAAa4B,EAAclzD,WAChCpuC,KAAK2/F,UAAY2B,EAAclzD,YAEnCpuC,KAAKw+B,OAAOjP,MAAM+xE,GAEdA,EAAc/yD,cAAc,GAAGjrB,QAAQtjB,KAAK8/F,iBAAmB9/F,KAAK0/F,aAAe1/F,KAAK2/F,YACxF3/F,KAAK8/F,eAAe/gF,SACpB/e,KAAK8/F,eAAiB7P,GAAarjD,UAAU00D,EAAclzD,WAAY,EAAG,eAE9EpuC,KAAK5J,SAAW6qG,EAAa/Q,aAC7B+Q,EAAaliF,SAGb/e,KAAK6/F,oBAAoB9wG,KAAKiR,KAAK5J,SAASgL,QAC5CkgG,EAAcviF,QAClB,CAMA,aAAAoiF,CAAcx/F,GACV,MAAMilB,EAAkBjlB,EAAKilB,gBAC7B,OAAQA,aAA2B,IAC/B5mB,KAAKigG,aAAa9zF,IAAIya,IACtB5mB,KAAK1E,MAAMgtE,OAAO4T,WAAWt1D,EAAiBjlB,EACtD,CAMA,cAAA0/F,CAAe1/F,GACX,MAAM2+B,EAAc3+B,EAAK2+B,YACzB,OAAQA,aAAuB,IAC3BtgC,KAAKigG,aAAa9zF,IAAIm0B,IACtBtgC,KAAK1E,MAAMgtE,OAAO4T,WAAWv6E,EAAM2+B,EAC3C,CAIA,oBAAAihE,GAEIvhG,KAAKsgG,yBAEL,MAAMzrB,EAAY70E,KAAKw+B,OAAOpvC,cAAc,aAC5C4Q,KAAKw+B,OAAOjvC,OAAOslF,EAAW70E,KAAK5J,UACnC4J,KAAK2gG,uBAAuB3gG,KAAK5J,UACjC4J,KAAK4/F,mBAAqB/qB,EAC1B70E,KAAK5J,SAAW4J,KAAKw+B,OAAOqd,iBAAiBg5B,EAAW,EAC5D,CAKA,+BAAAisB,CAAgCn/F,GAC5B,MAAM6/F,EAAYxhG,KAAKyhG,cAAczhG,KAAK5J,SAASgL,OAAQO,GAC3D,IAAK6/F,EACD,OAAO,EAMX,IAHIA,GAAaxhG,KAAK5J,SAASgL,QAC3BpB,KAAKsgG,yBAEFkB,GAAaxhG,KAAK5J,SAASgL,QAC9B,GAAIpB,KAAK5J,SAAS23C,UAAW,CAGzB,MAAM3sC,EAASpB,KAAK5J,SAASgL,OAC7BpB,KAAK5J,SAAW4J,KAAKw+B,OAAOud,qBAAqB36C,GAU7CA,EAAOyjC,SAAWzjC,EAAOA,SAAWogG,GACpCxhG,KAAKw+B,OAAOznC,OAAOqK,EAE3B,MACK,GAAIpB,KAAK5J,SAASq3C,QAGnBztC,KAAK5J,SAAW4J,KAAKw+B,OAAOsd,oBAAoB97C,KAAK5J,SAASgL,YAE7D,CACD,MAAMsgG,EAAU1hG,KAAKw+B,OAAOsd,oBAAoB97C,KAAK5J,SAASgL,QAC9DpB,KAAK2gG,uBAAuB3gG,KAAK5J,UACjC4J,KAAKw+B,OAAOn/B,MAAMW,KAAK5J,UACvB4J,KAAK5J,SAAWsrG,EAChB1hG,KAAKigG,aAAa7zF,IAAIpM,KAAK5J,SAAS+3C,UACxC,CAQJ,OAHKnuC,KAAKsoE,OAAOoH,WAAW1vE,KAAK5J,SAASgL,OAAQO,IAC9C3B,KAAKuhG,wBAEF,CACX,CASA,aAAAE,CAAcE,EAAgBC,GAE1B,OAAI5hG,KAAKsoE,OAAOoH,WAAWiyB,EAAgBC,IAIvC5hG,KAAKsoE,OAAOoH,WAAWiyB,EAAgB,cAAgB3hG,KAAKsoE,OAAOoH,WAAW,YAAakyB,GAHpFD,EAWP3hG,KAAKsoE,OAAOY,QAAQy4B,GACb,KAEJ3hG,KAAKyhG,cAAcE,EAAevgG,OAAQwgG,EACrD,EC/mBW,SAASC,GAAavmG,EAAOsY,EAAQs+B,EAAYjjD,EAAU,CAAC,GACvE,IAAKqM,EAAMgtE,OAAOyE,SAASn5D,GASvB,MAAM,IAAI,EAAc,qCAAsCtY,EAAO,CAAEsY,WAG3E,MAAMkuF,EAAoB5vD,GAA0B52C,EAAMnM,SAASopC,UAEnE,IAAIwpE,EAAqBD,EACrB7yG,EAAQ+yG,qBAAuB1mG,EAAMgtE,OAAOC,QAAQ30D,KACpDmuF,EAAqBzmG,EAAM4gD,gBAAgB5gD,EAAMgtE,OAAO+W,0BAA0ByiB,EAAmB7yG,EAAQ+yG,uBAGjH,MAAMC,EAAqB,GAAMH,EAAkBh6B,qBAC7Co6B,EAAmB,CAAC,EAI1B,OAHID,GACAtyG,OAAO83B,OAAOy6E,EAAkB5mG,EAAMgtE,OAAOoV,0BAA0BukB,EAAoB,iBAAiB,IAEzG3mG,EAAMijC,QAAOC,IAGXujE,EAAmB9yD,aACpB3zC,EAAM4hG,cAAc6E,EAAoB,CAAEtE,oBAAoB,IAElE,IAAI0E,EAAkBvuF,EACtB,MAAMwuF,EAA0BL,EAAmBviE,OAAOp+B,QAErD9F,EAAMgtE,OAAOoH,WAAW0yB,EAAyBxuF,IAClDtY,EAAMgtE,OAAOoH,WAAW0yB,EAAyB,cACjD9mG,EAAMgtE,OAAOoH,WAAW,YAAa97D,KACrCuuF,EAAkB3jE,EAAOpvC,cAAc,aACvCovC,EAAOjvC,OAAOqkB,EAAQuuF,IAG1B7mG,EAAMgtE,OAAOgV,qBAAqB6kB,EAAiBD,EAAkB1jE,GAErE,MAAM6jE,EAAgB/mG,EAAMgnG,cAAcH,EAAiBJ,GAE3D,OAAIM,EAAcpzD,aAGdhgD,EAAQuoD,cAgBpB,SAAyBhZ,EAAQmjE,EAAgBriB,EAAOijB,GACpD,MAAMjnG,EAAQkjC,EAAOljC,MACrB,GAAa,MAATgkF,EAEA,YADA9gD,EAAOgZ,aAAamqD,EAAgB,MAGxC,GAAa,SAATriB,EASA,MAAM,IAAI,EAAc,6CAA8ChkF,GAE1E,IAAIknG,EAAcb,EAAerhE,YACjC,GAAIhlC,EAAMgtE,OAAO2E,SAAS00B,GAEtB,YADAnjE,EAAOgZ,aAAamqD,EAAgB,SAIxC,MAAMc,EAAkBD,GAAelnG,EAAMgtE,OAAOoH,WAAW8yB,EAAa,UAEvEC,GAAmBnnG,EAAMgtE,OAAOoH,WAAWiyB,EAAevgG,OAAQ,eACnEohG,EAAchkE,EAAOpvC,cAAc,aACnCkM,EAAMgtE,OAAOgV,qBAAqBklB,EAAaD,EAAqB/jE,GACpEljC,EAAMgnG,cAAcE,EAAahkE,EAAOsd,oBAAoB6lD,KAG5Da,GACAhkE,EAAOgZ,aAAagrD,EAAa,EAEzC,CAjDYE,CAAgBlkE,EAAQ5qB,EAAQ3kB,EAAQuoD,aAAc0qD,GAH/CG,CAKS,GAE5B,CCTA,SAASM,GAAe/wG,EAAM5B,GAC1B,MAAM,UAAE4yG,EAAS,OAAE/nD,EAAM,KAAEl0B,EAAI,OAAE2hD,EAAM,uBAAEu6B,GAA2BjxG,GAC9D,KAAEsR,EAAI,KAAE/R,EAAI,aAAE+8C,GAAiBl+C,EAGrC,GAAY,QAARkT,EACA,MAAkB,SAAdtR,EAAK+0B,KAoDjB,SAAqCk0B,EAAQ+nD,GACzC,IAAI/gE,EAAWgZ,EAAOzkD,SAASyrC,SAC1BA,IACDA,EAAW+gE,EAAY/nD,EAAOzkD,SAAS+3C,UAAY0M,EAAOzkD,SAASg4C,YAEvE,KAAOvM,GAAYA,EAASp1B,GAAG,UAAU,CACrC,MAAMsN,EAAS8gC,EAAOzkD,SAAS2jB,OAAS8nB,EAASoM,YAIjD,GAAI60D,GAAiBjhE,EAAU9nB,EAAQ6oF,GACnC/gE,EAAW+gE,EAAY/nD,EAAOzkD,SAAS+3C,UAAY0M,EAAOzkD,SAASg4C,eAGlE,IAAI20D,GAAiBlhE,EAASjwC,KAAMmoB,EAAQ6oF,GAC7C,MAIA/nD,EAAOjnB,MACX,CACJ,CACA,OAAOinB,EAAOzkD,QAClB,CA1EmB4sG,CAA4BnoD,EAAQ+nD,GAiCvD,SAA4B/nD,EAAQl0B,EAAMk8E,GACtC,MAAMhhE,EAAWgZ,EAAOzkD,SAASyrC,SACjC,GAAIA,EAAU,CACV,MAAMjwC,EAAOiwC,EAASjwC,KACtB,IAAImoB,EAAS8gC,EAAOzkD,SAAS2jB,OAAS8nB,EAASoM,YAC/C,KAAOlX,GAAsBnlC,EAAMmoB,IACtB,aAAR4M,GAAuBsQ,GAAuBrlC,EAAMmoB,IACpD8oF,GAA0BzrE,GAAsBxlC,EAAMmoB,IACvD8gC,EAAOjnB,OACP7Z,EAAS8gC,EAAOzkD,SAAS2jB,OAAS8nB,EAASoM,WAEnD,CACA,OAAO4M,EAAOzkD,QAClB,CA5Ce6sG,CAAmBpoD,EAAQl0B,EAAMk8E,GAG5C,GAAI3/F,IAAS0/F,EAAY,eAAiB,cAAe,CAErD,GAAIt6B,EAAOiR,aAAapoF,GACpB,OAAO,GAASy7C,UAAUz7C,EAAMyxG,EAAY,QAAU,UAG1D,GAAIt6B,EAAOoH,WAAWxhC,EAAc,SAChC,OAAOA,CAEf,KAEK,CAED,GAAIo6B,EAAOY,QAAQ/3E,GAGf,YADA0pD,EAAO3N,MAAK,KAAM,IAItB,GAAIo7B,EAAOoH,WAAWxhC,EAAc,SAChC,OAAOA,CAEf,CACJ,CA+CA,SAASg1D,GAAer0E,EAAO+zE,GAC3B,MAAMv0G,EAAOwgC,EAAMxgC,KACb80G,EAAY,GAASv2D,UAAUv+C,EAAMu0G,EAAY,MAAQ,GAC/D,OAAIA,EACO,IAAI,GAAM/zE,EAAOs0E,GAGjB,IAAI,GAAMA,EAAWt0E,EAEpC,CAIA,SAASk0E,GAAiBnxG,EAAMmoB,EAAQ6oF,GAEpC,MAAMQ,EAAgBrpF,GAAU6oF,EAAY,GAAK,GACjD,MAtK2B,cAsKGpyE,SAAS5+B,EAAKc,OAAO0wG,GACvD,CAIA,SAASN,GAAiBjhE,EAAU9nB,EAAQ6oF,GACxC,OAAO7oF,KAAY6oF,EAAY/gE,EAASE,WAAa,EACzD,CCzJe,MAAMshE,WAA8B3xF,KAG/C,WAAAvH,GACI4B,QACA/L,KAAKykE,QAAU,IAAIq0B,GACnB94F,KAAK7Q,SAAW,IAAI,GAAS6Q,MAC7BA,KAAKsoE,OAAS,IAAIwS,GAClB96E,KAAKsjG,gBAAkB,GACvBtjG,KAAKs8F,eAAiB,KACtB,CAAC,gBAAiB,kBAAmB,qBAAsB,kBACtDzsG,SAAQ6jB,GAAc1T,KAAKyT,SAASC,KAGzC1T,KAAK4N,GAAG,kBAAkB,CAACiG,EAAKtjB,KACVA,EAAK,GACbu2F,WAAW,GACtB,CAAE77E,SAAU,YAEfjL,KAAKsoE,OAAOgT,SAAS,QAAS,CAC1BpS,SAAS,IAEblpE,KAAKsoE,OAAOgT,SAAS,aAAc,CAC/BoD,QAAS,CAAC,QAAS,gBAEvB1+E,KAAKsoE,OAAOgT,SAAS,SAAU,CAC3BoD,QAAS,CAAC,QAAS,cACnBnW,SAAS,IAEbvoE,KAAKsoE,OAAOgT,SAAS,eAAgB,CACjC4E,WAAY,SACZ3X,SAAS,EACTwE,UAAU,IAEd/sE,KAAKsoE,OAAOgT,SAAS,gBAAiB,CAClC4E,WAAY,QACZE,kBAAmB,QACnBnT,UAAU,EACVF,UAAU,IAEd/sE,KAAKsoE,OAAOgT,SAAS,QAAS,CAC1BoD,QAAS,SACTzR,UAAU,EACV4O,WAAW,IAEf77E,KAAKsoE,OAAOgT,SAAS,mBAAoB,CACrC2E,eAAgB,QAChBtB,cAAe,QACfzV,SAAS,IAEblpE,KAAKsoE,OAAOgT,SAAS,oBAAqB,CACtC2E,eAAgB,QAChBtB,cAAe,QACfzV,SAAS,IAMblpE,KAAKsoE,OAAOgT,SAAS,WACrBt7E,KAAKsoE,OAAO+T,eAAc,KAAM,GAAM,WACtCzE,GAAyB53E,MAEzBA,KAAK7Q,SAASuvC,kBAAkB61C,IAEhCv0E,KAAK4N,GAAG,iBAAiB,CAACiG,GAAMziB,EAAS8gD,MACrCr+B,EAAIhE,OHpDD,SAAuBvU,EAAOlK,EAAS8gD,GAClD,OAAO52C,EAAMijC,QAAOC,IAChB,MAAMjG,EAAY2Z,GAA0B52C,EAAMnM,SAASopC,UACtDA,EAAU0W,aACX3zC,EAAM4hG,cAAc3kE,EAAW,CAAEklE,oBAAoB,IAEzD,MAAM8F,EAAY,IAAI9D,GAAUnkG,EAAOkjC,EAAQjG,EAAUiH,QACnDgkE,EAAqB,GAC3B,IAAIC,EACJ,GAAIryG,EAAQqb,GAAG,oBAAqB,CAEhC,GAAIrb,EAAQqzE,QAAQpyD,KAAM,CACtB,MAAMqxF,EAAkB,GACxB,IAAK,MAAOlhG,EAAMwiB,KAAU5zB,EAAQqzE,QAAS,CACzC,MAAM,MAAE51C,EAAK,IAAEjB,GAAQ5I,EACjBiqB,EAAcpgB,EAAMvL,QAAQsK,GAClC81E,EAAgB30G,KAAK,CAAEqH,SAAUy4B,EAAOrsB,OAAMysC,eAAe,CAAE74C,SAAUw3B,EAAKprB,OAAMysC,eACxF,CAGAy0D,EAAgBtkF,MAAK,EAAGhpB,SAAUutG,IAAUvtG,SAAUwtG,KAAWD,EAAK7iE,SAAS8iE,GAAQ,GAAK,IAC5F,IAAK,MAAM,SAAExtG,EAAQ,KAAEoM,EAAI,YAAEysC,KAAiBy0D,EAAiB,CAC3D,IAAIlmD,EAAc,KACdlH,EAAY,KAChB,MAAMutD,EAAgBztG,EAASgL,SAAWhQ,GAAWgF,EAAS23C,UACxDN,EAAUr3C,EAASgL,SAAWhQ,GAAWgF,EAASq3C,QAUnDo2D,GAAkBp2D,EAIdwB,IAGLqH,EAAYutD,EAAgB,QAAU,QANtCrmD,EAAchf,EAAOpvC,cAAc,WACnCovC,EAAOjvC,OAAOiuD,EAAapnD,IAO/BotG,EAAmBz0G,KAAK,CACpByT,OACAtT,QAASsuD,EACTlH,aAER,CACJ,CACAmtD,EAAgBryG,EAAQiuC,aAC5B,MAEIokE,EAAgB,CAACryG,GAErBmyG,EAAUnD,YAAYqD,GACtB,IAAInoD,EAAWioD,EAAU3C,oBACzB,GAAIxvG,EAAQqb,GAAG,qBAAuB+2F,EAAmB/yG,OAAQ,CAI7D,MAAMqzG,EAAqBxoD,EAAW+tB,GAAUG,UAAUluB,GAAY,KAEhEyoD,EAAc,CAAC,EAIrB,IAAK,IAAInzG,EAAI4yG,EAAmB/yG,OAAS,EAAGG,GAAK,EAAGA,IAAK,CACrD,MAAM,KAAE4R,EAAI,QAAEtT,EAAO,UAAEonD,GAAcktD,EAAmB5yG,GAClDozG,GAAmBD,EAAYvhG,GAIrC,GAHIwhG,IACAD,EAAYvhG,GAAQ,IAEpBtT,EAAS,CAET,MAAM+0G,EAAkBzlE,EAAOqd,iBAAiB3sD,EAAS,UACzD60G,EAAYvhG,GAAMzT,KAAKk1G,GACvBzlE,EAAOznC,OAAO7H,EAClB,KACK,CAED,MAAMg1G,EAAmBX,EAAU1C,mBACnC,IAAKqD,EAAkB,CAIf5tD,GACAytD,EAAYvhG,GAAMzT,KAAKw0G,EAAUntG,UAErC,QACJ,CACIkgD,EAGAytD,EAAYvhG,GAAMzT,KAAKm1G,EAAiB5tD,IAGxCytD,EAAYvhG,GAAMzT,KAAKi1G,EAAkBE,EAAiBr1E,MAAQq1E,EAAiBt2E,IAE3F,CACJ,CACA,IAAK,MAAOprB,GAAOqsB,EAAOjB,MAASj+B,OAAOqnB,QAAQ+sF,GAG1Cl1E,GAASjB,GAAOiB,EAAMxgC,OAASu/B,EAAIv/B,MAAQwgC,EAAMxgC,KAAKc,WAAaqvC,EAAOljC,MAAMmpE,QAAQt4D,IAAI3J,IAC5Fg8B,EAAO47D,UAAU53F,EAAM,CACnB03F,gBAAgB,EAChB5hE,aAAa,EACbtT,MAAO,IAAI,GAAM6J,EAAOjB,KAIhCk2E,IACAxoD,EAAWwoD,EAAmBv6B,UAC9Bu6B,EAAmB/kF,SAE3B,CAEIu8B,IACI/iB,aAAqB,GACrBiG,EAAOgZ,aAAa8D,GAGpB/iB,EAAUwM,MAAMuW,IASxB,MAAM+mD,EAAgBkB,EAAU1C,oBAAsBvlG,EAAMolB,YAAY6X,EAAUiH,QAElF,OADA+jE,EAAUt9E,UACHo8E,CAAa,GAE5B,CGrFyBC,CAActiG,KAAM5O,EAAS8gD,EAAW,IAGzDlyC,KAAK4N,GAAG,gBAAgB,CAACiG,GAAM3kB,EAASqpC,EAAWtpC,MAC/C4kB,EAAIhE,OAASgyF,GAAa7hG,KAAM9Q,EAASqpC,EAAWtpC,EAAQ,IAGhE+Q,KAAK4N,GAAG,aAAaiG,IACjB,MAAM8kB,GAAa34B,KAAK7Q,SAASypC,WACjC/kB,EAAIhE,OAAS8oB,EACRA,GAED9kB,EAAIxJ,MACR,GAQR,CA0CA,MAAAk0B,CAAOzwB,GACH,IACI,OAAoC,IAAhC9N,KAAKsjG,gBAAgB7yG,QAErBuP,KAAKsjG,gBAAgBv0G,KAAK,CAAEw8E,MAAO,IAAI8kB,GAASviF,aACzC9N,KAAKmkG,qBAAqB,IAI1Br2F,EAAS9N,KAAKs8F,eAE7B,CACA,MAAO3vF,GAGH,EAAcD,uBAAuBC,EAAK3M,KAC9C,CACJ,CACA,aAAAyrE,CAAc24B,EAAat2F,GACvB,IACSs2F,EAG2B,mBAAhBA,GACZt2F,EAAWs2F,EACXA,EAAc,IAAI/T,IAEX+T,aAAuB/T,KAC9B+T,EAAc,IAAI/T,GAAM+T,IAPxBA,EAAc,IAAI/T,GAStBrwF,KAAKsjG,gBAAgBv0G,KAAK,CAAEw8E,MAAO64B,EAAat2F,aACb,GAA/B9N,KAAKsjG,gBAAgB7yG,QACrBuP,KAAKmkG,oBAEb,CACA,MAAOx3F,GAGH,EAAcD,uBAAuBC,EAAK3M,KAC9C,CACJ,CAYA,cAAAg6F,CAAet+B,GAIXA,EAAU4sB,UACd,CAwJA,aAAAga,CAAclxG,EAAS8gD,EAAYC,KAAkBpW,GACjD,MAAMxD,EAAY8rE,GAAoBnyD,EAAYC,GAElD,OAAOnyC,KAAK+O,KAAK,gBAAiB,CAAC3d,EAASmnC,EAAW4Z,KAAkBpW,GAC7E,CAoFA,YAAA8lE,CAAa3yG,EAASgjD,EAAYC,EAAeljD,KAAY8sC,GACzD,MAAMxD,EAAY8rE,GAAoBnyD,EAAYC,GAGlD,OAAOnyC,KAAK+O,KAAK,eAAgB,CAAC7f,EAASqpC,EAAWtpC,EAASA,KAAY8sC,GAC/E,CAgDA,aAAAmhE,CAAc3kE,EAAWtpC,GACrBiuG,GAAcl9F,KAAMu4B,EAAWtpC,EACnC,CA6BA,eAAA0uG,CAAgBplE,EAAWtpC,IDhfhB,SAAyBqM,EAAOi9B,EAAWtpC,EAAU,CAAC,GACjE,MAAMq5E,EAAShtE,EAAMgtE,OACfs6B,EAAiC,YAArB3zG,EAAQw1B,UACpBkC,EAAO13B,EAAQ03B,KAAO13B,EAAQ03B,KAAO,YACrCk8E,IAA2B5zG,EAAQ4zG,uBACnC3xD,EAAQ3Y,EAAU2Y,MAClB2J,EAAS,IAAI,GAAW,CAC1BrO,WAAY02D,GAAehyD,EAAO0xD,GAClC/1D,kBAAkB,EAClBpoB,UAAWm+E,EAAY,UAAY,aAEjChxG,EAAO,CAAEipD,SAAQytB,SAAQs6B,YAAWj8E,OAAMk8E,0BAChD,IAAIjvE,EACJ,KAAQA,EAAOinB,EAAOjnB,QAAS,CAC3B,GAAIA,EAAKC,KACL,OAEJ,MAAMz9B,EAAWusG,GAAe/wG,EAAMgiC,EAAK5jC,OAC3C,GAAIoG,EASA,YARImiC,aAAqB,GACrBj9B,EAAMijC,QAAOC,IACTA,EAAOiZ,kBAAkBrhD,EAAS,IAItCmiC,EAAUka,SAASr8C,GAI/B,CACJ,CCmdQunG,CAAgB39F,KAAMu4B,EAAWtpC,EACrC,CA4BA,kBAAAq1G,CAAmB/rE,GACf,OJpiBO,SAA4Bj9B,EAAOi9B,GAC9C,OAAOj9B,EAAMijC,QAAOC,IAChB,MAAM+lE,EAAO/lE,EAAOkZ,yBACd1yB,EAAQuT,EAAU+Y,gBACxB,IAAKtsB,GAASA,EAAMiqB,YAChB,OAAOs1D,EAEX,MAAMl2G,EAAO22B,EAAM6J,MAAMxgC,KACnBm2G,EAAax/E,EAAM6J,MAAMqsC,cAAcl2C,EAAM4I,KAC7C62E,EAAep2G,EAAKkgF,cAAci2B,GAcxC,IAAIE,EAGAA,EAFA1/E,EAAM6J,MAAMztB,QAAU4jB,EAAM4I,IAAIxsB,OAEb4jB,EAGAwZ,EAAO9d,YAAY8d,EAAOqd,iBAAiB4oD,EAAcz/E,EAAM6J,MAAM5sB,KAAKuiG,EAAW/zG,SAAU+tC,EAAOqd,iBAAiB4oD,EAAcz/E,EAAM4I,IAAI3rB,KAAKuiG,EAAW/zG,QAAU,IAEhM,MAAMyY,EAAUw7F,EAAiB92E,IAAI7T,OAAS2qF,EAAiB71E,MAAM9U,OAErE,IAAK,MAAM5oB,KAAQuzG,EAAiBv0D,SAAS,CAAErD,SAAS,IAChD37C,EAAKsb,GAAG,cACR+xB,EAAO+7D,WAAWppG,EAAKS,KAAMT,EAAK63C,gBAAiBu7D,GAGnD/lE,EAAO4qB,OAAO5qB,EAAOq7D,aAAa1oG,GAAM,GAAOozG,GAkBvD,GAAIG,GAAoB1/E,EAAO,CAE3B,MAAMs2B,EAAWt2B,EAAMg3C,sBAAsB0oC,EAAiB71E,MAAO2P,EAAOqd,iBAAiB0oD,EAAM,GAAIr7F,GAAS,GAC1Gy7F,EAAkBnmE,EAAO9d,YAAY8d,EAAOqd,iBAAiB0oD,EAAM,GAAIjpD,EAASzsB,OAEtFuwE,GADyB5gE,EAAO9d,YAAY46B,EAAS1tB,IAAK4Q,EAAOqd,iBAAiB0oD,EAAM,QACnD/lE,GACrC4gE,GAAmBuF,EAAiBnmE,EACxC,CACA,OAAO+lE,CAAI,GAEnB,CIkeeD,CAAmBtkG,KAAMu4B,EACpC,CAqBA,UAAA+G,CAAWslE,EAAgB31G,EAAU,CAAC,GAClC,MAAM+1B,EAAQ4/E,aAA0B,GAAaA,EAAiB,GAAWn0D,UAAUm0D,GAC3F,GAAI5/E,EAAMiqB,YACN,OAAO,EAEX,MAAM,kBAAE01C,GAAoB,EAAK,cAAE+Y,GAAgB,GAAUzuG,EAE7D,IAAKyuG,EACD,IAAK,MAAMmH,KAAsB7kG,KAAKykE,QAAQutB,4BAA4BhtE,GACtE,GAAI6/E,EAAmBvsE,YACnB,OAAO,EAInB,IAAK,MAAMnnC,KAAQ6zB,EAAMmrB,WACrB,GAAInwC,KAAKsoE,OAAOuT,UAAU1qF,GAAO,CAC7B,IAAIA,EAAKsb,GAAG,cASR,OAAO,EARP,IAAKk4E,EACD,OAAO,EAEN,IAAgC,IAA5BxzF,EAAKS,KAAK4V,OAAO,MACtB,OAAO,CAMnB,CAEJ,OAAO,CACX,CAcA,SAAAmxB,CAAUuZ,GACN,MAAM3Z,EAAY8rE,GAAoBnyD,GACtC,OAAOlyC,KAAK+O,KAAK,YAAa,CAACwpB,GACnC,CAWA,sBAAAogE,CAAuBtqG,EAAM4T,EAAMi4D,GAC/B,OAAO,IAAI,GAAc7rE,EAAM4T,EAAMi4D,EACzC,CAqBA,gBAAAre,CAAiB9M,EAAgBh1B,GAC7B,OAAO,GAAc6yB,UAAUmC,EAAgBh1B,EACnD,CASA,mBAAA+hC,CAAoB3qD,GAChB,OAAO,GAAcu8C,aAAav8C,EACtC,CASA,oBAAA4qD,CAAqB5qD,GACjB,OAAO,GAAc68C,cAAc78C,EACvC,CAgBA,WAAAuvB,CAAYmO,EAAOjB,GACf,OAAO,IAAI,GAAWiB,EAAOjB,EACjC,CAgBA,aAAAquB,CAAc/sD,GACV,OAAO,GAAWuhD,UAAUvhD,EAChC,CAeA,aAAA8sD,CAAc7qD,GACV,OAAO,GAAWu/C,UAAUv/C,EAChC,CACA,eAAA+qD,IAAmB3rD,GACf,OAAO,IAAI,MAAkBA,EACjC,CAWA,WAAAu0G,CAAY5hG,GACR,OAAO,IAAImtF,GAAMntF,EACrB,CAQA,uBAAA6hG,CAAwB1jE,GACpB,OAAOsoD,GAAiB9sB,SAASx7B,EAAMrhC,KAAK7Q,SAChD,CAIA,OAAA82B,GACIjmB,KAAK7Q,SAAS82B,UACdjmB,KAAKkO,eACT,CAKA,kBAAAi2F,GACI,MAAMa,EAAM,GACZhlG,KAAK+O,KAAK,kBACV,IACI,KAAO/O,KAAKsjG,gBAAgB7yG,QAAQ,CAEhC,MAAMw0G,EAAejlG,KAAKsjG,gBAAgB,GAAG/3B,MAC7CvrE,KAAKs8F,eAAiB,IAAI1C,GAAO55F,KAAMilG,GAEvC,MAAMC,EAAsBllG,KAAKsjG,gBAAgB,GAAGx1F,SAAS9N,KAAKs8F,gBAClE0I,EAAIj2G,KAAKm2G,GACTllG,KAAK7Q,SAASopG,mBAAmBv4F,KAAKs8F,gBACtCt8F,KAAKsjG,gBAAgB53E,QACrB1rB,KAAKs8F,eAAiB,IAC1B,CACJ,CACA,QACIt8F,KAAKsjG,gBAAgB7yG,OAAS,EAC9BuP,KAAKs8F,eAAiB,KACtBt8F,KAAK+O,KAAK,gBACd,CACA,OAAOi2F,CACX,EAKJ,SAASX,GAAoBnyD,EAAYC,GACrC,GAAKD,EAGL,OAAIA,aAAsB,IAAkBA,aAAsB,GACvDA,EAEPA,aAAsB,GAClBC,GAAmC,IAAlBA,EACV,IAAI,GAAeD,EAAYC,GAEjCD,EAAWzlC,GAAG,eACZ,IAAI,GAAeylC,EAAY,MAG/B,IAAI,GAAeA,EAAY,MAGvC,IAAI,GAAeA,EAC9B,CCvzBe,MAAMizD,WAAsBl2C,GACvC,WAAA9kD,GACI4B,SAASkM,WAITjY,KAAKkvD,aAAe,OACxB,CAIA,UAAAC,CAAWhvC,GACPngB,KAAK+O,KAAKoR,EAASjd,KAAMid,EAC7B,ECbW,MAAMilF,WAAsBn2C,GACvC,WAAA9kD,GACI4B,SAASkM,WAITjY,KAAKkvD,aAAe,CAAC,YAAa,UAAW,YAAa,WAC9D,CAIA,UAAAC,CAAWhvC,GACPngB,KAAK+O,KAAKoR,EAASjd,KAAMid,EAC7B,ECbW,MAAMklF,WAAsBp2C,GACvC,WAAA9kD,GACI4B,SAASkM,WAITjY,KAAKkvD,aAAe,CAAC,aAAc,WAAY,YACnD,CAIA,UAAAC,CAAWhvC,GACPngB,KAAK+O,KAAKoR,EAASjd,KAAMid,EAC7B,ECQW,MAAMmlF,GAIjB,WAAAn7F,CAAYhb,GACR6Q,KAAK7Q,SAAWA,CACpB,CAOA,sBAAAuoD,CAAuBj0C,GACnB,OAAO,IAAI2zC,GAAiBp3C,KAAK7Q,SAAUsU,EAC/C,CAiBA,aAAArU,CAAcoT,EAAMI,EAAOa,GACvB,OAAO,IAAI8kC,GAAQvoC,KAAK7Q,SAAUqT,EAAMI,EAAOa,EACnD,CAOA,UAAAk0C,CAAW/lD,GACP,OAAO,IAAI0vC,GAAKthC,KAAK7Q,SAAUyC,EACnC,CAUA,KAAAqwB,CAAM/yB,EAASg7C,GAAO,GAClB,OAAOh7C,EAAQyyC,OAAOuI,EAC1B,CAUA,WAAAryC,CAAYm6B,EAAO9iC,GACf,OAAOA,EAAQo7C,aAAatY,EAChC,CAWA,WAAAuzE,CAAYryG,EAAO8+B,EAAO9iC,GACtB,OAAOA,EAAQ45C,aAAa51C,EAAO8+B,EACvC,CAUA,cAAAwzE,CAAetyG,EAAOgW,EAASha,GAC3B,OAAOA,EAAQgyC,gBAAgBhuC,EAAOgW,EAC1C,CAOA,MAAAnS,CAAO7H,GACH,MAAMkS,EAASlS,EAAQkS,OACvB,OAAIA,EACOpB,KAAKwlG,eAAepkG,EAAOi/B,cAAcnxC,GAAU,EAAGkS,GAE1D,EACX,CAQA,OAAAhN,CAAQqxG,EAAYnsD,GAChB,MAAMl4C,EAASqkG,EAAWrkG,OAC1B,GAAIA,EAAQ,CACR,MAAMlO,EAAQkO,EAAOi/B,cAAcolE,GAGnC,OAFAzlG,KAAKwlG,eAAetyG,EAAO,EAAGkO,GAC9BpB,KAAKulG,YAAYryG,EAAOomD,EAAYl4C,IAC7B,CACX,CACA,OAAO,CACX,CAOA,aAAAg8C,CAAcluD,GACV,MAAMkS,EAASlS,EAAQkS,OACvB,GAAIA,EAAQ,CACR,MAAMlO,EAAQkO,EAAOi/B,cAAcnxC,GACnC8Q,KAAKjJ,OAAO7H,GACZ8Q,KAAKulG,YAAYryG,EAAOhE,EAAQmwC,cAAej+B,EACnD,CACJ,CAWA,MAAAo6C,CAAOC,EAASvsD,GACZ,MAAMoqD,EAAa,IAAI/Q,GAAQvoC,KAAK7Q,SAAUssD,EAASvsD,EAAQ85C,gBAAiB95C,EAAQmwC,eACxF,OAAOr/B,KAAK5L,QAAQlF,EAASoqD,GAAcA,EAAa,IAC5D,CAaA,YAAA1gD,CAAaD,EAAK3I,EAAOd,GACrBA,EAAQu7C,cAAc9xC,EAAK3I,EAC/B,CAYA,eAAA2oD,CAAgBhgD,EAAKzJ,GACjBA,EAAQ27C,iBAAiBlyC,EAC7B,CAaA,QAAAqmC,CAASsK,EAAWp6C,GAChBA,EAAQ47C,UAAUxB,EACtB,CAaA,WAAApK,CAAYoK,EAAWp6C,GACnBA,EAAQ67C,aAAazB,EACzB,CACA,QAAAuP,CAASlnC,EAAU+zF,EAAgBx2G,GAC3B,GAAcyiB,SAAyBxR,IAAZjR,EAC3Bw2G,EAAe16D,UAAUr5B,GAGzBziB,EAAQ87C,UAAUr5B,EAAU+zF,EAEpC,CAiBA,WAAA5sD,CAAYnnC,EAAUziB,GAClBA,EAAQ+7C,aAAat5B,EACzB,CAUA,iBAAAonC,CAAkBpgD,EAAK3I,EAAOd,GAC1BA,EAAQ08C,mBAAmBjzC,EAAK3I,EACpC,CASA,oBAAAgpD,CAAqBrgD,EAAKzJ,GACtB,OAAOA,EAAQ28C,sBAAsBlzC,EACzC,CAgBA,gBAAAkjD,CAAiB9M,EAAgBh1B,GAC7B,OAAO4yB,GAASC,UAAUmC,EAAgBh1B,EAC9C,CAMA,mBAAA+hC,CAAoB3qD,GAChB,OAAOw7C,GAASe,aAAav8C,EACjC,CAMA,oBAAA4qD,CAAqB5qD,GACjB,OAAOw7C,GAASqB,cAAc78C,EAClC,CASA,WAAAuvB,CAAYmO,EAAOjB,GACf,OAAO,IAAIohB,GAAMngB,EAAOjB,EAC5B,CAIA,aAAAouB,CAAc7qD,GACV,OAAO69C,GAAM0B,UAAUv/C,EAC3B,CAOA,aAAA8qD,CAAc/sD,GACV,OAAO8/C,GAAMyB,UAAUvhD,EAC3B,CACA,eAAAgtD,IAAmB3rD,GACf,OAAO,IAAIogD,MAAapgD,EAC5B,ECjWJ,MAAMo1G,GAAmB,8CACnBC,GAAmB,2DACnBC,GAAoB,oEACpBC,GAAmB,uEACnBC,GAAoB,sEAGpBC,GAA6B,qCAC7BC,GAAc,IAAI7zF,IAAI,CAExB,QAAS,SAAU,OAAQ,QAAS,SAAU,MAAO,SAAU,UAC/D,QAAS,OAAQ,QAAS,SAAU,OAAQ,OAAQ,OAAQ,OAE5D,SAEA,YAAa,eAAgB,aAAc,QAAS,QAAS,SAAU,iBAAkB,aAAc,QACvG,YAAa,YAAa,aAAc,YAAa,QAAS,iBAAkB,WAAY,UAAW,OACvG,WAAY,WAAY,gBAAiB,WAAY,YAAa,WAAY,YAAa,cAC3F,iBAAkB,aAAc,aAAc,UAAW,aAAc,eAAgB,gBACvF,gBAAiB,gBAAiB,gBAAiB,aAAc,WAAY,cAAe,UAAW,UACvG,aAAc,YAAa,cAAe,cAAe,YAAa,aAAc,OAAQ,YAC5F,cAAe,OAAQ,WAAY,UAAW,YAAa,SAAU,QAAS,QAAS,WAAY,gBACnG,YAAa,eAAgB,YAAa,aAAc,YAAa,uBAAwB,YAC7F,aAAc,YAAa,YAAa,cAAe,gBAAiB,eAAgB,iBACxF,iBAAkB,iBAAkB,cAAe,YAAa,QAAS,UAAW,mBACpF,aAAc,eAAgB,eAAgB,iBAAkB,kBAAmB,oBACnF,kBAAmB,kBAAmB,eAAgB,YAAa,YAAa,WAAY,cAC5F,UAAW,YAAa,YAAa,SAAU,gBAAiB,YAAa,gBAAiB,gBAC9F,aAAc,YAAa,OAAQ,OAAQ,OAAQ,aAAc,YAAa,YAAa,cAAe,SAC1G,aAAc,WAAY,WAAY,SAAU,UAAW,YAAa,YAAa,YAAa,OAClG,cAAe,YAAa,MAAO,UAAW,SAAU,YAAa,SAAU,QAAS,aAAc,cAEtG,eAAgB,gBAAiB,eAAgB,aAAc,aAAc,kBAAmB,eAChG,aAAc,cAAe,WAAY,YAAa,gBAAiB,iBAAkB,kBACzF,sBAAuB,iBAAkB,WAAY,OAAQ,WAAY,YAAa,mBACtF,aAAc,kBAAmB,oBAAqB,eAAgB,SAAU,cAAe,aAE/F,gBAEA,eAAgB,gBAeb,SAAS8zF,GAAQnnG,GAEpB,OAAIA,EAAO43B,WAAW,KACXgvE,GAAiBptG,KAAKwG,GAE7BA,EAAO43B,WAAW,OACXivE,GAAiBrtG,KAAKwG,IAAW8mG,GAAkBttG,KAAKwG,GAE/DA,EAAO43B,WAAW,OACXmvE,GAAiBvtG,KAAKwG,IAAWgnG,GAAkBxtG,KAAKwG,GAG5DknG,GAAY95F,IAAIpN,EAAOyH,cAClC,CACA,MAAM2/F,GAAkB,CAAC,OAAQ,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,UAIvG,SAASC,GAAYrnG,GACxB,OAAOonG,GAAgB31E,SAASzxB,EACpC,CACA,MAAMsnG,GAAe,gFAId,SAAS,GAAStnG,GACrB,OAAOsnG,GAAa9tG,KAAKwG,EAC7B,CACA,MAAMunG,GAA0B,6BAOhC,MAAMC,GAAe,CAAC,WAAY,WAAY,SAAU,QAAS,QAAS,aAInE,SAASC,GAASznG,GACrB,OAAOwnG,GAAa/1E,SAASzxB,EACjC,CACA,MAAM0nG,GAAiB,CAAC,SAAU,MAAO,SAAU,OAAQ,SAIpD,SAASC,GAAW3nG,GACvB,OAAO0nG,GAAej2E,SAASzxB,EACnC,CACA,MAAM4nG,GAAmB,CAAC,QAAS,SAAU,SAItC,SAASC,GAAa7nG,GACzB,OAAO4nG,GAAiBn2E,SAASzxB,EACrC,CACA,MAAM8nG,GAAY,SAIX,SAASC,GAAM/nG,GAClB,OAAO8nG,GAAUtuG,KAAKwG,EAC1B,CAIO,SAASgoG,GAAkB/2G,EAAQ,IACtC,GAAc,KAAVA,EACA,MAAO,CAAE4vB,SAAKzf,EAAWwL,WAAOxL,EAAW4f,YAAQ5f,EAAWuL,UAAMvL,GAExE,MAAM8I,EAAS+9F,GAAmBh3G,GAC5B4vB,EAAM3W,EAAO,GACb8W,EAAS9W,EAAO,IAAM2W,EACtBjU,EAAQ1C,EAAO,IAAM2W,EAE3B,MAAO,CAAEA,MAAKG,SAAQpU,QAAOD,KADhBzC,EAAO,IAAM0C,EAE9B,CASO,SAAS,GAAwBs7F,GACpC,OAAQj3G,IACJ,MAAM,IAAE4vB,EAAG,MAAEjU,EAAK,OAAEoU,EAAM,KAAErU,GAAS1b,EAC/Bk3G,EAAU,GAkBhB,MAjBK,CAACtnF,EAAKjU,EAAOD,EAAMqU,GAAQhL,OAAM/kB,KAAWA,IAe7Ck3G,EAAQn4G,KAAK,CAACk4G,EAAgBE,GAA0Bn3G,MAdpD4vB,GACAsnF,EAAQn4G,KAAK,CAACk4G,EAAiB,OAAQrnF,IAEvCjU,GACAu7F,EAAQn4G,KAAK,CAACk4G,EAAiB,SAAUt7F,IAEzCoU,GACAmnF,EAAQn4G,KAAK,CAACk4G,EAAiB,UAAWlnF,IAE1CrU,GACAw7F,EAAQn4G,KAAK,CAACk4G,EAAiB,QAASv7F,KAMzCw7F,CAAO,CAEtB,CAUO,SAASC,IAA0B,IAAEvnF,EAAG,MAAEjU,EAAK,OAAEoU,EAAM,KAAErU,IAC5D,MAAM07F,EAAM,GAaZ,OAZI17F,IAASC,EACTy7F,EAAIr4G,KAAK6wB,EAAKjU,EAAOoU,EAAQrU,GAExBqU,IAAWH,EAChBwnF,EAAIr4G,KAAK6wB,EAAKjU,EAAOoU,GAEhBpU,IAAUiU,EACfwnF,EAAIr4G,KAAK6wB,EAAKjU,GAGdy7F,EAAIr4G,KAAK6wB,GAENwnF,EAAIr1G,KAAK,IACpB,CAwBO,SAASi1G,GAAmBjoG,GAC/B,MAAMmI,EAAUnI,EAAO0tB,OAAOj0B,MAAM,EAAG,MAAM6+B,SAAS2uE,IACtD,OAAOhyG,MAAM8N,KAAKoF,GAAS5H,KAAI1O,GAAKA,EAAE,IAC1C,CC7LO,SAASy2G,GAAmBz8D,GAC/BA,EAAgBnD,cAAc,cAMvBz3C,IACH,MAAMs3G,EAAa,CAAC,EACdzqF,EAAQmqF,GAAmBh3G,GACjC,IAAK,MAAM8sB,KAAQD,EACX2pF,GAAS1pF,IACTwqF,EAAWroD,OAASqoD,EAAWroD,QAAU,GACzCqoD,EAAWroD,OAAOlwD,KAAK+tB,IAElB4pF,GAAW5pF,IAChBwqF,EAAWlxG,SAAWkxG,EAAWlxG,UAAY,GAC7CkxG,EAAWlxG,SAASrH,KAAK+tB,IAEpB8pF,GAAa9pF,GAClBwqF,EAAWC,WAAazqF,EAEnBopF,GAAQppF,GACbwqF,EAAW1oG,MAAQke,EAEdgqF,GAAMhqF,KACXwqF,EAAWvwC,MAAQj6C,GAG3B,MAAO,CACH7a,KAAM,aACNjS,MAAOs3G,EACV,IA9BL18D,EAAgBnD,cAAc,oBAkCvBz3C,IAAS,CAAGiS,KAAM,mBAAoBjS,YAjC7C46C,EAAgBhD,WAAW,cAoCpB53C,IACH,MAAMg1G,EAAM,GAEZ,OADAA,EAAIj2G,KAAK,CAAC,mBAAoBiB,EAAM4O,QAC7BomG,CAAG,IAtCdp6D,EAAgB/C,iBAAiB,aAAc,CAAC,oBACpD,CCKO,SAAS2/D,GAAe58D,GAC3BA,EAAgBnD,cAAc,UAqEvBz3C,IACH,MAAM,MAAE4O,EAAK,MAAE2B,EAAK,MAAEwhB,GAAU0lF,GAAyBz3G,GACzD,MAAO,CACHiS,KAAM,SACNjS,MAAO,CACH4O,MAAOmoG,GAAkBnoG,GACzB2B,MAAOwmG,GAAkBxmG,GACzBwhB,MAAOglF,GAAkBhlF,IAEhC,IA5EL6oB,EAAgBnD,cAAc,aAAcigE,GAA4B,QACxE98D,EAAgBnD,cAAc,eAAgBigE,GAA4B,UAC1E98D,EAAgBnD,cAAc,gBAAiBigE,GAA4B,WAC3E98D,EAAgBnD,cAAc,cAAeigE,GAA4B,SAEzE98D,EAAgBnD,cAAc,eAAgBkgE,GAA4B,UAC1E/8D,EAAgBnD,cAAc,eAAgBkgE,GAA4B,UAC1E/8D,EAAgBnD,cAAc,eAAgBkgE,GAA4B,UAE1E/8D,EAAgBnD,cAAc,mBAAoBmgE,GAAoC,QAAS,QAC/Fh9D,EAAgBnD,cAAc,mBAAoBmgE,GAAoC,QAAS,QAC/Fh9D,EAAgBnD,cAAc,mBAAoBmgE,GAAoC,QAAS,QAC/Fh9D,EAAgBnD,cAAc,qBAAsBmgE,GAAoC,QAAS,UACjGh9D,EAAgBnD,cAAc,qBAAsBmgE,GAAoC,QAAS,UACjGh9D,EAAgBnD,cAAc,qBAAsBmgE,GAAoC,QAAS,UACjGh9D,EAAgBnD,cAAc,sBAAuBmgE,GAAoC,QAAS,WAClGh9D,EAAgBnD,cAAc,sBAAuBmgE,GAAoC,QAAS,WAClGh9D,EAAgBnD,cAAc,sBAAuBmgE,GAAoC,QAAS,WAClGh9D,EAAgBnD,cAAc,oBAAqBmgE,GAAoC,QAAS,SAChGh9D,EAAgBnD,cAAc,oBAAqBmgE,GAAoC,QAAS,SAChGh9D,EAAgBnD,cAAc,oBAAqBmgE,GAAoC,QAAS,SAChGh9D,EAAgBlD,aAAa,aAAcmgE,GAA2B,QACtEj9D,EAAgBlD,aAAa,eAAgBmgE,GAA2B,UACxEj9D,EAAgBlD,aAAa,gBAAiBmgE,GAA2B,WACzEj9D,EAAgBlD,aAAa,cAAemgE,GAA2B,SACvEj9D,EAAgBlD,aAAa,mBAAoB,oBACjDkD,EAAgBlD,aAAa,qBAAsB,sBACnDkD,EAAgBlD,aAAa,sBAAuB,uBACpDkD,EAAgBlD,aAAa,oBAAqB,qBAClDkD,EAAgBlD,aAAa,mBAAoB,oBACjDkD,EAAgBlD,aAAa,qBAAsB,sBACnDkD,EAAgBlD,aAAa,sBAAuB,uBACpDkD,EAAgBlD,aAAa,oBAAqB,qBAClDkD,EAAgBlD,aAAa,mBAAoB,oBACjDkD,EAAgBlD,aAAa,qBAAsB,sBACnDkD,EAAgBlD,aAAa,sBAAuB,uBACpDkD,EAAgBlD,aAAa,oBAAqB,qBAClDkD,EAAgBhD,WAAW,eAAgB,GAAwB,iBACnEgD,EAAgBhD,WAAW,eAAgB,GAAwB,iBACnEgD,EAAgBhD,WAAW,eAAgB,GAAwB,iBACnEgD,EAAgBhD,WAAW,aAAckgE,GAAyB,QAClEl9D,EAAgBhD,WAAW,eAAgBkgE,GAAyB,UACpEl9D,EAAgBhD,WAAW,gBAAiBkgE,GAAyB,WACrEl9D,EAAgBhD,WAAW,cAAekgE,GAAyB,SACnEl9D,EAAgBhD,WAAW,SAmJ/B,WACI,OAAO53C,IACH,MAAM+3G,EAAYC,GAAsBh4G,EAAO,OACzCi4G,EAAcD,GAAsBh4G,EAAO,SAC3Ck4G,EAAeF,GAAsBh4G,EAAO,UAC5Cm4G,EAAaH,GAAsBh4G,EAAO,QAC1Co4G,EAAe,CAACL,EAAWE,EAAaC,EAAcC,GACtDE,EAAqB,CACvBtmF,MAAOumF,EAA4BF,EAAc,SACjD7nG,MAAO+nG,EAA4BF,EAAc,SACjDxpG,MAAO0pG,EAA4BF,EAAc,UAG/CG,EAAqBC,GAAqBH,EAAoB,OACpE,GAAIE,EAAmB93G,OACnB,OAAO83G,EAGX,MAAME,EAAoB94G,OAAOqnB,QAAQqxF,GAAoBx7E,QAAO,CAAC47E,GAAoBvlG,EAAMlT,MACvFA,IACAy4G,EAAkB15G,KAAK,CAAC,UAAUmU,IAAQlT,IAE1Co4G,EAAav4G,SAAQ0Q,UAAgBA,EAAM2C,MAExCulG,IACR,IAEH,MAAO,IACAA,KACAD,GAAqBT,EAAW,UAChCS,GAAqBP,EAAa,YAClCO,GAAqBN,EAAc,aACnCM,GAAqBL,EAAY,QACvC,EAKL,SAASG,EAA4BnlE,EAAQjgC,GACzC,OAAOigC,EACF7jC,KAAIiB,GAASA,EAAM2C,KACnB2pB,QAAO,CAACn8B,EAAQ6P,IAAU7P,GAAU6P,EAAQ7P,EAAS,MAC9D,CACJ,CA9LyCg4G,IACrC99D,EAAgB/C,iBAAiB,SAAU,CACvC,eAAgB,eAAgB,eAChC,aAAc,eAAgB,gBAAiB,cAC/C,mBAAoB,qBAAsB,sBAAuB,oBACjE,mBAAoB,qBAAsB,sBAAuB,oBACjE,mBAAoB,qBAAsB,sBAAuB,sBAErE+C,EAAgB/C,iBAAiB,eAAgB,CAC7C,mBAAoB,qBAAsB,sBAAuB,sBAErE+C,EAAgB/C,iBAAiB,eAAgB,CAC7C,mBAAoB,qBAAsB,sBAAuB,sBAErE+C,EAAgB/C,iBAAiB,eAAgB,CAC7C,mBAAoB,qBAAsB,sBAAuB,sBAErE+C,EAAgB/C,iBAAiB,aAAc,CAAC,mBAAoB,mBAAoB,qBACxF+C,EAAgB/C,iBAAiB,eAAgB,CAAC,qBAAsB,qBAAsB,uBAC9F+C,EAAgB/C,iBAAiB,gBAAiB,CAAC,sBAAuB,sBAAuB,wBACjG+C,EAAgB/C,iBAAiB,cAAe,CAAC,oBAAqB,oBAAqB,qBAC/F,CAcA,SAAS6/D,GAA4BiB,GACjC,OAAO34G,IACH,MAAM,MAAE4O,EAAK,MAAE2B,EAAK,MAAEwhB,GAAU0lF,GAAyBz3G,GACnD44G,EAAS,CAAC,EAUhB,YATczoG,IAAVvB,IACAgqG,EAAOhqG,MAAQ,CAAE,CAAC+pG,GAAO/pG,SAEfuB,IAAVI,IACAqoG,EAAOroG,MAAQ,CAAE,CAACooG,GAAOpoG,SAEfJ,IAAV4hB,IACA6mF,EAAO7mF,MAAQ,CAAE,CAAC4mF,GAAO5mF,IAEtB,CACH9f,KAAM,SACNjS,MAAO44G,EACV,CAET,CACA,SAASjB,GAA4Bp1F,GACjC,OAAOviB,IACI,CACHiS,KAAM,SACNjS,MAAO64G,GAA0B74G,EAAOuiB,IAGpD,CACA,SAASs2F,GAA0B74G,EAAO2hB,GACtC,MAAO,CACH,CAACA,GAAWo1F,GAAkB/2G,GAEtC,CACA,SAAS43G,GAAoCj2F,EAAUg3F,GACnD,OAAO34G,IACI,CACHiS,KAAM,SACNjS,MAAO,CACH,CAAC2hB,GAAW,CACR,CAACg3F,GAAO34G,KAK5B,CACA,SAAS63G,GAA2BiB,GAChC,MAAO,CAACtmG,EAAM2gC,KACV,GAAIA,EAAOylE,OACP,OAAOZ,GAAsB7kE,EAAOylE,OAAQE,EAChD,CAER,CACA,SAASd,GAAsBY,EAAQE,GACnC,MAAM94G,EAAQ,CAAC,EAUf,OATI44G,EAAO7mF,OAAS6mF,EAAO7mF,MAAM+mF,KAC7B94G,EAAM+xB,MAAQ6mF,EAAO7mF,MAAM+mF,IAE3BF,EAAOroG,OAASqoG,EAAOroG,MAAMuoG,KAC7B94G,EAAMuQ,MAAQqoG,EAAOroG,MAAMuoG,IAE3BF,EAAOhqG,OAASgqG,EAAOhqG,MAAMkqG,KAC7B94G,EAAM4O,MAAQgqG,EAAOhqG,MAAMkqG,IAExB94G,CACX,CACA,SAASy3G,GAAyB1oG,GAC9B,MAAMrO,EAAS,CAAC,EACVmsB,EAAQmqF,GAAmBjoG,GACjC,IAAK,MAAM+d,KAAQD,EACX,GAASC,IAAS,oBAAoBvkB,KAAKukB,GAC3CpsB,EAAOqxB,MAAQjF,EAEVspF,GAAYtpF,GACjBpsB,EAAO6P,MAAQuc,EAGfpsB,EAAOkO,MAAQke,EAGvB,OAAOpsB,CACX,CA6EA,SAASo3G,GAAyBgB,GAC9B,OAAO94G,GAASw4G,GAAqBx4G,EAAO84G,EAChD,CAYA,SAASN,GAAqBx4G,EAAO84G,GACjC,MAAMC,EAAc,GAUpB,GATI/4G,GAAUA,EAAW,OACrB+4G,EAAYh6G,KAAK,SAEjBiB,GAAUA,EAAW,OACrB+4G,EAAYh6G,KAAK,SAEjBiB,GAAUA,EAAW,OACrB+4G,EAAYh6G,KAAK,SAEK,GAAtBg6G,EAAYt4G,OAAa,CACzB,MAAMu4G,EAAcD,EAAYzpG,KAAInO,GAAQnB,EAAMmB,KAAOY,KAAK,KAC9D,MAAO,CACM,OAAT+2G,EAAiB,CAAC,SAAUE,GAAe,CAAC,UAAUF,IAASE,GAEvE,CAEA,MAAa,OAATF,EACO,GAEJC,EAAYzpG,KAAI4D,GACZ,CAAC,UAAU4lG,KAAS5lG,IAAQlT,EAAMkT,KAEjD,CClSO,SAAS+lG,GAAgBr+D,GH8KzB,IAAwCs+D,EG7K3Ct+D,EAAgBnD,cAAc,WH6KayhE,EG7K6B,UH8KhEl5G,IACG,CACHiS,KAAMinG,EACNl5G,MAAO+2G,GAAkB/2G,OGhLjC46C,EAAgBnD,cAAc,eAAez3C,IAAS,CAAGiS,KAAM,cAAejS,YAC9E46C,EAAgBnD,cAAc,iBAAiBz3C,IAAS,CAAGiS,KAAM,gBAAiBjS,YAClF46C,EAAgBnD,cAAc,kBAAkBz3C,IAAS,CAAGiS,KAAM,iBAAkBjS,YACpF46C,EAAgBnD,cAAc,gBAAgBz3C,IAAS,CAAGiS,KAAM,eAAgBjS,YAChF46C,EAAgBhD,WAAW,UAAW,GAAwB,YAC9DgD,EAAgB/C,iBAAiB,UAAW,CAAC,cAAe,gBAAiB,iBAAkB,gBACnG,CCtBe,MAAMshE,GAIjB,WAAAh/F,CAAY4e,GAyCR,GA9BA/oB,KAAKopG,QAAU,GAWfppG,KAAK0E,MAAQ,eAKb1E,KAAKqpG,KAAOj8F,KAAK4hB,IACjBhvB,KAAKopG,QAAU,GACfppG,KAAKspG,kBAAuD,iBAA5BvgF,EAAOwgF,iBAAgCxgF,EAAOwgF,iBAAmB,EACjGvpG,KAAKwpG,2BAAyE,iBAArCzgF,EAAO0gF,0BAAyC1gF,EAAO0gF,0BAA4B,IAC5HzpG,KAAK0pG,mBAAqB71F,IAEtB,MAAMnM,EAAQ,UAAWmM,EAAMA,EAAInM,MAAQmM,EAAI81F,OAG3CjiG,aAAiBnM,OACjByE,KAAK4pG,aAAaliG,EAAOmM,EAC7B,EAEJ7T,KAAK6pG,WAAa,CAAC,GACd7pG,KAAK8pG,SACN,MAAM,IAAIvuG,MAAM,iLAGxB,CAIA,OAAA0qB,GACIjmB,KAAK+pG,qBACL/pG,KAAK6pG,WAAa,CAAC,CACvB,CAUA,EAAAj8F,CAAGsB,EAAWpB,GACL9N,KAAK6pG,WAAW36F,KACjBlP,KAAK6pG,WAAW36F,GAAa,IAEjClP,KAAK6pG,WAAW36F,GAAWngB,KAAK+e,EACpC,CASA,GAAAxD,CAAI4E,EAAWpB,GACX9N,KAAK6pG,WAAW36F,GAAalP,KAAK6pG,WAAW36F,GACxCvY,QAAOqzG,GAAMA,IAAOl8F,GAC7B,CAMA,KAAAm8F,CAAM/6F,KAAc3e,GAChB,MAAMme,EAAY1O,KAAK6pG,WAAW36F,IAAc,GAChD,IAAK,MAAMpB,KAAYY,EACnBZ,EAASjX,MAAMmJ,KAAM,CAAC,QAASzP,GAEvC,CAIA,mBAAA25G,GACIvpG,OAAOkO,iBAAiB,QAAS7O,KAAK0pG,oBACtC/oG,OAAOkO,iBAAiB,qBAAsB7O,KAAK0pG,mBACvD,CAIA,kBAAAK,GACIppG,OAAOmO,oBAAoB,QAAS9O,KAAK0pG,oBACzC/oG,OAAOmO,oBAAoB,qBAAsB9O,KAAK0pG,mBAC1D,CASA,YAAAE,CAAaliG,EAAOmM,GAKhB,GAAI7T,KAAKmqG,oBAAoBziG,GAAQ,CACjC1H,KAAKopG,QAAQr6G,KAAK,CACd6d,QAASlF,EAAMkF,QACfC,MAAOnF,EAAMmF,MAEbu9F,SAAUv2F,aAAew2F,WAAax2F,EAAIu2F,cAAWjqG,EACrDmqG,OAAQz2F,aAAew2F,WAAax2F,EAAIy2F,YAASnqG,EACjDoqG,MAAO12F,aAAew2F,WAAax2F,EAAI02F,WAAQpqG,EAC/CqqG,KAAMxqG,KAAKqpG,SAEf,MAAMoB,EAAgBzqG,KAAK0qG,iBAC3B1qG,KAAK0E,MAAQ,UACb1E,KAAKiqG,MAAM,eACXjqG,KAAKiqG,MAAM,QAAS,CAAEviG,QAAO+iG,kBACzBA,EACAzqG,KAAK8pG,YAGL9pG,KAAK0E,MAAQ,qBACb1E,KAAKiqG,MAAM,eAEnB,CACJ,CAMA,mBAAAE,CAAoBziG,GAChB,OAAQA,EAAM+E,IACV/E,EAAM+E,GAAG,uBACStM,IAAlBuH,EAAMoE,SAGY,OAAlBpE,EAAMoE,SAES,UAAf9L,KAAK0E,OACL1E,KAAK2qG,2BAA2BjjG,EACxC,CAIA,cAAAgjG,GACI,GAAI1qG,KAAKopG,QAAQ34G,QAAUuP,KAAKspG,kBAC5B,OAAO,EAKX,OAHsBtpG,KAAKopG,QAAQppG,KAAKopG,QAAQ34G,OAAS,GAAG+5G,KAC3BxqG,KAAKopG,QAAQppG,KAAKopG,QAAQ34G,OAAS,EAAIuP,KAAKspG,mBAAmBkB,MACjBxqG,KAAKspG,kBACjDtpG,KAAKwpG,0BAC5C,ECnHJ,SAlBA,SAAkBpzF,EAAMigB,EAAMpnC,GAC5B,IAAIohE,GAAU,EACVE,GAAW,EAEf,GAAmB,mBAARn6C,EACT,MAAM,IAAI4mB,UAnDQ,uBAyDpB,OAJI,EAAS/tC,KACXohE,EAAU,YAAaphE,IAAYA,EAAQohE,QAAUA,EACrDE,EAAW,aAActhE,IAAYA,EAAQshE,SAAWA,GAEnD,GAASn6C,EAAMigB,EAAM,CAC1B,QAAWg6B,EACX,QAAWh6B,EACX,SAAYk6B,GAEhB,EC1De,SAAS,GAAYzvD,EAAM8pG,EAAqB,IAAIx4F,KAC/D,MAAMkN,EAAQ,CAACxe,GAGT+pG,EAAW,IAAIz4F,IACrB,IAAI04F,EAAY,EAChB,KAAOxrF,EAAM7uB,OAASq6G,GAAW,CAE7B,MAAMnpG,EAAO2d,EAAMwrF,KACnB,IAAID,EAAS1+F,IAAIxK,IAAUopG,GAAqBppG,KAASipG,EAAmBz+F,IAAIxK,GAKhF,GAFAkpG,EAASz+F,IAAIzK,GAEToE,OAAOsP,YAAY1T,EAEnB,IACI,IAAK,MAAM5D,KAAK4D,EACZ2d,EAAMvwB,KAAKgP,EAKnB,CACA,MAAO4O,GAIP,MAGA,IAAK,MAAMhU,KAAOgJ,EAIF,iBAARhJ,GAGJ2mB,EAAMvwB,KAAK4S,EAAKhJ,GAM5B,CAEA,OAAOkyG,CACX,CACA,SAASE,GAAqBppG,GAC1B,MAAMuB,EAAOvT,OAAOwF,UAAU6J,SAAS3J,KAAKsM,GACtCqpG,SAAoBrpG,EAC1B,QAAwB,WAAfqpG,GACU,YAAfA,GACe,WAAfA,GACe,WAAfA,GACe,aAAfA,GACS,kBAAT9nG,GACS,oBAATA,GACS,oBAATA,GAPK8nG,MAQLrpG,GAMAA,EAAKspG,mBAELtpG,aAAgBupG,aAChBvpG,aAAgBwpG,MACxB,CCjEe,SAASC,GAA8BC,EAASC,EAASC,EAAgB,IAAIn5F,KACxF,GAAIi5F,IAAYC,IA2CY,iBADdE,EA1CsBH,IA2CkB,OAAdG,GA1CpC,OAAO,EAyCf,IAAkBA,EAtCd,MAAMC,EAAY,GAAYJ,EAASE,GACjCG,EAAY,GAAYJ,EAASC,GACvC,IAAK,MAAM5pG,KAAQ8pG,EACf,GAAIC,EAAUv/F,IAAIxK,GACd,OAAO,EAGf,OAAO,CACX,CCRe,MAAMgqG,WAAuBxC,GAKxC,WAAAh/F,CAAYyhG,EAAQC,EAAiB,CAAC,GAClC9/F,MAAM8/F,GAIN7rG,KAAK8rG,QAAU,KAOf9rG,KAAK+rG,kBAAoB,KAIzB/rG,KAAKgsG,gBAAiB,EAItBhsG,KAAKisG,WAAa,CAAC,EAEnBjsG,KAAKksG,eAAiB,GAASlsG,KAAKmsG,MAAMl6F,KAAKjS,MAA8C,iBAAhC6rG,EAAeO,aAA4BP,EAAeO,aAAe,KAElIR,IACA5rG,KAAKqsG,SAAW,CAAEC,EAAevjF,IAAW6iF,EAAOrmG,OAAO+mG,EAAevjF,IAE7E/oB,KAAKusG,YAAc90E,GAAUA,EAAOxR,SACxC,CAIA,UAAIwR,GACA,OAAOz3B,KAAK8rG,OAChB,CAIA,SAAIU,GACA,OAAOxsG,KAAK8rG,OAChB,CASA,UAAAW,CAAWC,GACP1sG,KAAKqsG,SAAWK,CACpB,CAkBA,aAAAC,CAAcC,GACV5sG,KAAKusG,YAAcK,CACvB,CAOA,QAAA9C,GACI,OAAOtuE,QAAQ9gB,UACVrV,MAAK,KACNrF,KAAK0E,MAAQ,eACb1E,KAAKiqG,MAAM,eACJjqG,KAAK6sG,cAEXC,OAAMngG,IACPG,QAAQpF,MAAM,kDAAmDiF,EAAI,IAEpEtH,MAAK,KAQN,MAAM0nG,EAAgB,CAAC,EAEjBC,EAAY,GAEZC,EAAqBjtG,KAAKsc,QAAQ4wF,iBAAmB,CAAC,EAEtDA,EAAkB,CAAC,EAEzB,IAAK,MAAOx0E,EAAUy0E,KAAax9G,OAAOqnB,QAAQhX,KAAKwhC,MAAMqT,OACrDs4D,EAASC,UACTL,EAAcr0E,GAAY,GAC1Bw0E,EAAgBx0E,GAAYu0E,EAAmBv0E,IAAa,CAAC,GAG7Ds0E,EAAUj+G,KAAK2pC,GAGvB,MAAM20E,EAAgB,IACfrtG,KAAKsc,QACRgxF,aAActtG,KAAKsc,QAAQgxF,cAAgB,GAC3CN,YACAE,kBACAK,qBAAsBvtG,KAAKwhC,OAM/B,cAFO6rE,EAAc/nB,YACrB+nB,EAAcC,aAAav+G,KAAKy+G,IAC5BxtG,KAAKgsG,eACEhsG,KAAKuF,OAAOwnG,EAAeM,EAAeA,EAAcvhG,SAQ3D,GAAU9L,KAAKytG,gBACRztG,KAAKuF,OAAOvF,KAAKytG,eAAgBJ,EAAeA,EAAcvhG,SAG9D9L,KAAKuF,OAAOvF,KAAKisG,WAAYoB,EAAeA,EAAcvhG,QAEzE,IAECzG,MAAK,KACNrF,KAAKiqG,MAAM,UAAU,GAE7B,CAQA,MAAA1kG,CAAO+mG,EAAgBtsG,KAAKytG,eAAgB1kF,EAAS/oB,KAAKsc,QAASxQ,GA4B/D,OA3BA9L,KAAK+rG,kBAAoBvwE,QAAQ9gB,QAAQ1a,KAAK+rG,mBACzC1mG,MAAK,KACN0G,MAAMm+F,sBACNlqG,KAAKytG,eAAiBnB,EAGtBtsG,KAAKgsG,eAAyC,iBAAjBM,GACxB38G,OAAOC,KAAK08G,GAAe77G,OAAS,GAA+C,iBAAnCd,OAAOsZ,OAAOqjG,GAAe,GAGlFtsG,KAAKsc,QAAUtc,KAAK0tG,0BAA0B3kF,IAAW,CAAC,EAC1D/oB,KAAKsc,QAAQxQ,QAAUA,EAChB9L,KAAKqsG,SAASC,EAAetsG,KAAKsc,YAExCjX,MAAKoyB,IACNz3B,KAAK8rG,QAAUr0E,EACfA,EAAOn8B,MAAMnM,SAASye,GAAG,cAAe5N,KAAKksG,gBAC7ClsG,KAAK2tG,qBAAuBl2E,EAAOn8B,MAAMnM,SAAS+d,QAClDlN,KAAKwhC,MAAQxhC,KAAK4tG,WACb5tG,KAAKgsG,iBACNhsG,KAAKisG,WAAajsG,KAAK6tG,iBAE3B7tG,KAAK0E,MAAQ,QACb1E,KAAKiqG,MAAM,cAAc,IAC1B6D,SAAQ,KACP9tG,KAAK+rG,kBAAoB,IAAI,IAE1B/rG,KAAK+rG,iBAChB,CAMA,OAAA9lF,GAUI,OATAjmB,KAAK+rG,kBAAoBvwE,QAAQ9gB,QAAQ1a,KAAK+rG,mBACzC1mG,MAAK,KACNrF,KAAK0E,MAAQ,YACb1E,KAAKiqG,MAAM,eACXl+F,MAAMka,UACCjmB,KAAK6sG,cACbiB,SAAQ,KACP9tG,KAAK+rG,kBAAoB,IAAI,IAE1B/rG,KAAK+rG,iBAChB,CACA,QAAAc,GACI,OAAOrxE,QAAQ9gB,UACVrV,MAAK,KACNrF,KAAK+pG,qBACL/pG,KAAKksG,eAAe11E,SACpB,MAAMiB,EAASz3B,KAAK8rG,QAMpB,OALA9rG,KAAK8rG,QAAU,KAIfr0E,EAAOn8B,MAAMnM,SAASmb,IAAI,cAAetK,KAAKksG,gBACvClsG,KAAKusG,YAAY90E,EAAO,GAEvC,CAKA,KAAA00E,GACI,MAAMj/F,EAAUlN,KAAK8rG,QAAQxwG,MAAMnM,SAAS+d,QAC5C,IACIlN,KAAKwhC,MAAQxhC,KAAK4tG,WACb5tG,KAAKgsG,iBACNhsG,KAAKisG,WAAajsG,KAAK6tG,iBAE3B7tG,KAAK2tG,qBAAuBzgG,CAChC,CACA,MAAOP,GACHG,QAAQpF,MAAMiF,EAAK,0GAEvB,CACJ,CAIA,sBAAAohG,CAAuBl2F,GACnB7X,KAAKguG,eAAiBn2F,CAC1B,CAIA,QAAA+1F,GACI,MAAMn2E,EAASz3B,KAAK8rG,QACdj3D,EAAQpd,EAAOn8B,MAAMnM,SAAS0lD,MAAMl+C,QAAOtI,GAAQA,EAAK+wC,cAAiC,cAAjB/wC,EAAKqqC,YAC7E,QAAEgB,GAAYjC,EAEdw2E,EAAqBv0E,EAAQvtB,IAAI,uBAAyButB,EAAQ7zB,IAAI,sBACtEqoG,EAAex0E,EAAQvtB,IAAI,iBAAmButB,EAAQ7zB,IAAI,gBAC1DjU,EAAO,CACTijD,MAAO,CAAC,EACR4vB,QAAS,CAAC,EACV0pC,eAAgBz8G,KAAKC,UAAU,IAC/By8G,YAAa18G,KAAKC,UAAU,KAEhCkjD,EAAMhlD,SAAQxB,IACVuD,EAAKijD,MAAMxmD,EAAKqqC,UAAY,CACxBtnC,QAASM,KAAKC,UAAUqC,MAAM8N,KAAKzT,EAAKgxC,gBACxC/vC,WAAYoC,KAAKC,UAAUqC,MAAM8N,KAAKzT,EAAK26C,kBAC3CokE,SAAU/+G,EAAKgkG,UAClB,IAEL,IAAK,MAAMpsB,KAAUxuC,EAAOn8B,MAAMmpE,QACzBwB,EAAO9tC,eAGZvmC,EAAK6yE,QAAQwB,EAAOzjE,MAAQ,CACxB6rG,UAAWpoC,EAAOT,WAAWpkC,SAC7B84D,eAAgBj0B,EAAOmzB,wBACvB9gE,YAAa2tC,EAAO9tC,eAS5B,OANI81E,IACAr8G,EAAKu8G,eAAiBz8G,KAAKC,UAAUs8G,EAAmBK,kBAAkB,CAAEltE,QAAQ,EAAMmtE,iBAAiB,MAE3GL,IACAt8G,EAAKw8G,YAAc18G,KAAKC,UAAUu8G,EAAaM,eAAe,CAAEptE,QAAQ,EAAMmtE,iBAAiB,MAE5F38G,CACX,CAIA,aAAAi8G,GACI,MAAMY,EAAY,CAAC,EACnB,IAAK,MAAM/1E,KAAY14B,KAAKy3B,OAAOn8B,MAAMnM,SAASkpG,eAAgB,CAC9D,MAAM/pD,EAAWtuC,KAAKy3B,OAAO2E,GAAGsyE,mBAAmBh2E,GAC/C4V,IACAmgE,EAAU/1E,GAAY4V,EAE9B,CACA,OAAOmgE,CACX,CAOA,0BAAA9D,CAA2BjjG,GACvB,OAAO0jG,GAA8BprG,KAAK8rG,QAASpkG,EAAMoE,QAAS9L,KAAKguG,eAC3E,CAIA,yBAAAN,CAA0B3kF,GACtB,OAAO,GAAcA,GAAQ,CAAC/4B,EAAO2I,IAE7B,GAAU3I,IAGF,YAAR2I,EAFO3I,OAEX,GAIR,EAMJ,MAAMw9G,GACF,WAAArjG,CAAYstB,GACRz3B,KAAKy3B,OAASA,EACdz3B,KAAKwhC,MAAQ/J,EAAO1O,OAAOljB,IAAI,uBACnC,CAIA,IAAA4zB,GAIIz5B,KAAKy3B,OAAO7lC,KAAKgc,GAAG,QAAQiG,IACxBA,EAAIxJ,OACJrK,KAAKy3B,OAAOn8B,MAAMmwE,cAAc,CAAEgZ,YAAY,IAASjmD,IACnDx+B,KAAK2uG,4BACL3uG,KAAK4uG,mBAAmBpwE,EAAO,IAEnCx+B,KAAKy3B,OAAO7lC,KAAKmd,KAAK,QAAQ,GAE/B,CAAE9D,SAAU,KACnB,CAIA,WAAA4jG,CAAYrwE,EAAQswE,GAChB,GAAI,SAAUA,EAAU,CAEpB,MAAM5/G,EAAUsvC,EAAOpvC,cAAc0/G,EAAStsG,KAAMssG,EAASx/G,YAC7D,GAAIw/G,EAASrrG,SACT,IAAK,MAAM0S,KAAS24F,EAASrrG,SACzBvU,EAAQo7C,aAAatqC,KAAK6uG,YAAYrwE,EAAQroB,IAGtD,OAAOjnB,CACX,CAGI,OAAOsvC,EAAOmZ,WAAWm3D,EAASl9G,KAAMk9G,EAASx/G,WAEzD,CAIA,kBAAAs/G,CAAmBpwE,GACf,MAAM/G,EAASz3B,KAAKy3B,OACpB9nC,OAAOqnB,QAAQhX,KAAKwhC,MAAMqT,OAAOhlD,SAAQ,EAAE6oC,GAAYtnC,UAAS9B,kBAC5D,MAAMy/G,EAAcr9G,KAAKolC,MAAM1lC,GACzB49G,EAAmBt9G,KAAKolC,MAAMxnC,GAC9B2/G,EAAcx3E,EAAOn8B,MAAMnM,SAAS2lD,QAAQpc,GAClD,IAAK,MAAO//B,EAAK3I,KAAUg/G,EACvBxwE,EAAO5lC,aAAaD,EAAK3I,EAAOi/G,GAEpC,IAAK,MAAM94F,KAAS44F,EAAa,CAC7B,MAAMptG,EAAO3B,KAAK6uG,YAAYrwE,EAAQroB,GACtCqoB,EAAOjvC,OAAOoS,EAAMstG,EAAa,MACrC,KAEJt/G,OAAOqnB,QAAQhX,KAAKwhC,MAAMijC,SAAS50E,SAAQ,EAAE6vE,EAAYwvC,MACrD,MAAM,SAAE//G,GAAasoC,EAAOn8B,OACpB+yG,WAAW,MAAEx/E,EAAK,IAAEjB,MAAU3+B,GAAYigH,EAC5C7gH,EAAOc,EAAS2lD,QAAQjmB,EAAMxgC,MAC9Bo+C,EAAgBjO,EAAOm6D,uBAAuBtqG,EAAMwgC,EAAM5sB,KAAM4sB,EAAMqrC,YACtEtd,EAAcpe,EAAOm6D,uBAAuBtqG,EAAMu/B,EAAI3rB,KAAM2rB,EAAIssC,YAChEl1C,EAAQwZ,EAAO9d,YAAY+rB,EAAemQ,GAChDpe,EAAO47D,UAAU16B,EAAY,CACzB16C,WACG/1B,GACL,GAEV,CAIA,yBAAA0/G,GAEI,MAAMQ,EAAuBz9G,KAAKolC,MAAM92B,KAAKwhC,MAAM2sE,gBAC7CiB,EAAoB19G,KAAKolC,MAAM92B,KAAKwhC,MAAM4sE,aAChDe,EAAqBt/G,SAAQw/G,IACzB,MAAMC,EAAYtvG,KAAKy3B,OAAO1O,OAAOljB,IAAI,2BACnCooG,EAAqBjuG,KAAKy3B,OAAOiC,QAAQ7zB,IAAI,sBACnD,GAAIooG,EAAmBsB,iBAAiBF,EAAkBG,UAAW,CAC3CvB,EAAmBwB,iBAAiBJ,EAAkBG,UAC9Dz4G,QAClB,CACAk3G,EAAmByB,iBAAiB,CAAEJ,eAAcD,GAAoB,IAE5ED,EAAkBv/G,SAAQ8/G,IACtB,MAAMC,EAAsB5vG,KAAKy3B,OAAOiC,QAAQ7zB,IAAI,uBACpD,GAAI+pG,EAAoBC,cAAcF,EAAe3gH,IAAK,CACnC4gH,EAAoBE,cAAcH,EAAe3gH,IACzDM,WAAaqgH,EAAergH,UAC3C,MAEIsgH,EAAoBG,kBAAkBJ,EAC1C,GAER,EC1aJ,MAAMK,GAAcjqG,OAAO,eA6V3B,MAAMkqG,GACF,WAAA9lG,GACInK,KAAKkwG,kBAAoB,GACzBlwG,KAAKmwG,QAAU,IAAIlgG,IACnBjQ,KAAKowG,eAAiB,CAC1B,CAMA,OAAAC,CAAQC,GACJtwG,KAAKkwG,kBAAkBnhH,KAAKuhH,EAChC,CAOA,OAAAC,CAAQC,EAAS7uD,GACb,MAAM8uD,EAAeD,IAAYR,GACjChwG,KAAKowG,iBACApwG,KAAKmwG,QAAQtqG,IAAI2qG,IAClBxwG,KAAKmwG,QAAQjgG,IAAIsgG,EAASh1E,QAAQ9gB,WAKtC,MAGMg2F,GAHiBD,EACnBj1E,QAAQE,IAAI17B,KAAKmwG,QAAQlnG,UACzBuyB,QAAQE,IAAI,CAAC17B,KAAKmwG,QAAQtqG,IAAImqG,IAAchwG,KAAKmwG,QAAQtqG,IAAI2qG,MAC1BnrG,KAAKs8C,GAEtCgvD,EAAgBD,EAAgB5D,OAAM,SAE5C,OADA9sG,KAAKmwG,QAAQjgG,IAAIsgG,EAASG,GACnBD,EAAgB5C,SAAQ,KAC3B9tG,KAAKowG,iBACDpwG,KAAKmwG,QAAQtqG,IAAI2qG,KAAaG,GAAyC,IAAxB3wG,KAAKowG,gBACpDpwG,KAAKkwG,kBAAkBrgH,SAAQm6G,GAAMA,KACzC,GAER,EAQJ,SAAS,GAAQ4G,GACb,OAAO58G,MAAM+T,QAAQ6oG,GAAkBA,EAAiB,CAACA,EAC7D,CClZe,MAAMC,GAIjB,WAAA1mG,GACInK,KAAK8wG,UAAY,IAAI7gG,GACzB,CAMA,GAAA7D,CAAI2kG,EAAaC,GACbhxG,KAAK8wG,UAAU5gG,IAAI6gG,EAAaC,EACpC,CAMA,GAAAnrG,CAAIkrG,GACA,OAAO/wG,KAAK8wG,UAAUjrG,IAAIkrG,EAC9B,CAQA,OAAAl4E,CAAQk4E,KAAgBE,GACpB,MAAMD,EAAUhxG,KAAK6F,IAAIkrG,GACzB,IAAKC,EAOD,MAAM,IAAI,EAAc,sCAAuChxG,KAAM,CAAE+wG,gBAE3E,OAAOC,EAAQn4E,WAAWo4E,EAC9B,CAIA,MAACt0F,SACU3c,KAAK8wG,UAAUlhH,MAC1B,CAIA,SAACshH,SACUlxG,KAAK8wG,UAAU7nG,QAC1B,CAMA,CAAClD,OAAOsP,YACJ,OAAOrV,KAAK8wG,UAAU/qG,OAAOsP,WACjC,CAIA,OAAA4Q,GACI,IAAK,MAAM+qF,KAAWhxG,KAAKkxG,WACvBF,EAAQ/qF,SAEhB,EC5DW,MAAMkrF,WAAgC37E,GAIjD,WAAArrB,CAAYstB,GACR1rB,QACA/L,KAAKy3B,OAASA,CAClB,CAkBA,GAAAvnB,CAAIsc,EAAW1e,EAAU7e,EAAU,CAAC,GAChC,GAAuB,iBAAZ6e,EAAsB,CAC7B,MAAMijG,EAAcjjG,EACpBA,EAAW,CAACsjG,EAAS56E,KACjBx2B,KAAKy3B,OAAOoB,QAAQk4E,GACpBv6E,GAAQ,CAEhB,CACAzqB,MAAMmE,IAAIsc,EAAW1e,EAAU7e,EACnC,EC/CJ,MAAMoiH,GAAsB,iBACfC,GAAmB,SAUjB,MAAMC,GAIjB,WAAApnG,CAAYstB,GAkBRz3B,KAAKwxG,eAAiB,IAAIvhG,IAC1BjQ,KAAK8rG,QAAUr0E,EACf,MAAMg6E,EAAmBh6E,EAAO1O,OAAOljB,IAAI,qBACrCpI,EAAIg6B,EAAO0E,OAAO1+B,EACxBuC,KAAK0xG,yBAAyB,CAC1B1iH,GAAIqiH,GACJhtG,MAAO5G,EAAE,8BACTqmE,YAAarmE,EAAE,kFAEnB,MAAMk0G,EAAuB,CACzB,CACIttG,MAAO5G,EAAE,qDACT+uB,UAAW,OAEf,CACInoB,MAAO5G,EAAE,sCACT+uB,UAAW,SAEf,CACInoB,MAAO5G,EAAE,0DACT+uB,UAAW,CAAC,CAAC,OAAQ,CAAC,eAE1B,CACInoB,MAAO5G,EAAE,wDACT+uB,UAAW,UACXolF,cAAc,GAElB,CACIvtG,MAAO5G,EAAE,4CACT+uB,UAAW,CAAC,CAAC,WAAY,CAAC,cAAe,CAAC,aAAc,CAAC,eAE7D,CAEInoB,MAAO5G,EAAE,sIACT+uB,UAAW,CAAC,CAAC,SAAU,CAAC,YAG5BilF,GACAE,EAAqB5iH,KAAK,CACtBsV,MAAO5G,EAAE,0DACT+uB,UAAW,SACXolF,cAAc,IAGtB5xG,KAAK0xG,yBAAyB,CAC1B1iH,GAAI,aACJqV,MAAO5G,EAAE,oDACTqmE,YAAarmE,EAAE,gGACf28C,OAAQ,CACJ,CACIprD,GAAI,SACJ6iH,WAAYF,KAI5B,CAkDA,wBAAAD,EAAyB,GAAE1iH,EAAE,MAAEqV,EAAK,YAAEy/D,EAAW,OAAE1pB,IAC/Cp6C,KAAKwxG,eAAethG,IAAIlhB,EAAI,CACxBA,KACAqV,QACAy/D,cACA1pB,OAAQ,IAAInqC,MAEhBjQ,KAAK8xG,sBAAsB,CACvBC,WAAY/iH,EACZA,GAAIsiH,KAEJl3D,GACAA,EAAOvqD,SAAQouD,IACXj+C,KAAK8xG,sBAAsB,CACvBC,WAAY/iH,KACTivD,GACL,GAGd,CAuCA,qBAAA6zD,EAAsB,WAAEC,EAAaV,GAAmB,GAAEriH,EAAE,MAAEqV,EAAK,WAAEwtG,IACjE,MAAMG,EAAWhyG,KAAKwxG,eAAe3rG,IAAIksG,GACzC,IAAKC,EACD,MAAM,IAAI,EAAc,gDAAiDhyG,KAAK8rG,QAAS,CAAEmG,QAASjjH,EAAI+iH,eAE1GC,EAAS53D,OAAOlqC,IAAIlhB,EAAI,CACpBA,KACAqV,QACAwtG,WAAYA,GAAc,IAElC,CAgFA,iBAAAK,EAAkB,WAAEH,EAAaV,GAAmB,QAAEY,EAAUX,GAAgB,WAAEO,IAC9E,IAAK7xG,KAAKwxG,eAAerlG,IAAI4lG,GAUzB,MAAM,IAAI,EAAc,gDAAiD/xG,KAAK8rG,QAAS,CAAEiG,aAAYF,eAEzG,MAAMG,EAAWhyG,KAAKwxG,eAAe3rG,IAAIksG,GACzC,IAAKC,EAAS53D,OAAOjuC,IAAI8lG,GAYrB,MAAM,IAAI,EAAc,6CAA8CjyG,KAAK8rG,QAAS,CAAEmG,UAASF,aAAYF,eAE/GG,EAAS53D,OAAOv0C,IAAIosG,GAASJ,WAAW9iH,QAAQ8iH,EACpD,EC3RJ,SAASM,GAAc16E,GACnB,OAAO9nC,OAAOwV,eAAesyB,GAAQttB,YAAYioG,UACrD,CAeA,SAASC,GAAoBC,GACzB,IAAKA,EACD,OAEJ,MAAMC,EAAoBv+G,MAAM+T,QAAQuqG,GACpC,CAAEtgF,MAAOsgF,GACTA,EACEE,EAUN,SAASC,EAA+BzgF,GACpC,OAAOA,EAAM0gF,SAAQvhH,GACG,iBAATA,EACA,CAACA,GAELshH,EAA+BthH,EAAK6gC,QAEnD,CAjBkCygF,CAA+BF,EAAkBvgF,OAAS,IAE5F,MAAO,CACH2gF,YAFgBH,EAA0BhiF,SAAS,KAGnDoiF,yBAA0BL,EAAkBK,uBAC5C5gF,OAEgCA,EAFEwgF,EAG3BxgF,EAAMr7B,QAAQxF,GAAkB,MAATA,GAAyB,MAATA,MADlD,IAAoC6gC,CAWxC,CAMA,SAAS6gF,KACL,IAAIC,EAAK,UACLC,EAAU,UAsBd,OArBI,EAAItsG,MACJqsG,EAAK,MAEA,EAAIpsG,UACTosG,EAAK,UAEA,EAAIjsG,MACTisG,EAAK,MAEA,EAAIhsG,YACTgsG,EAAK,WAEL,EAAInsG,QACJosG,EAAU,QAEL,EAAIhsG,QACTgsG,EAAU,QAEL,EAAInsG,WACTmsG,EAAU,UAEP,CACHD,KACAC,UAER,CACA,SAASC,KAIL,OAHKC,aAAavzB,QAAQ,0BACtBuzB,aAAaC,QAAQ,wBAAyBzoG,KAE3CwoG,aAAavzB,QAAQ,wBAChC,CACA,SAASyzB,KAEL,OADA,EAAOxyG,OAAOyyG,yBAA2B,EAAOzyG,OAAOyyG,0BAA4B3oG,IAC5E,EAAO9J,OAAOyyG,wBACzB,CC3FA,MAAMxH,WAA+Bl6F,KAIjC,qBAAW0gG,GACP,MAAO,QACX,CAQA,WAAAjoG,CAAY4e,EAAS,CAAC,GAElB,GADAhd,QACI,iBAAkBgd,EAQlB,MAAM,IAAI,EAAc,4CAE5B,MAAM5e,EAAcnK,KAAKmK,aAGjBwlB,aAAc0jF,KAAwBr3E,GAAkB7xB,EAAY6xB,eAAiB,CAAC,GACxF,aAAErM,EAAe0jF,KAAwBt3E,GAAShT,EAElD0G,EAAW1G,EAAO0G,UAAYuM,EAAcvM,SAClDzvB,KAAKk5B,SAAWnQ,EAAOjd,SAAW,IAAI+vB,GAAQ,CAAEpM,WAAUE,iBAC1D3vB,KAAKk5B,SAASqD,WAAWv8B,MAAO+oB,EAAOjd,SAGvC,MAAMitB,EAAmB/kC,MAAM8N,KAAKqI,EAAY8xB,gBAAkB,IAClEj8B,KAAK+oB,OAAS,IAAI5M,GAAO4f,EAAMC,GAC/Bh8B,KAAK+oB,OAAOt6B,OAAO,UAAWsqC,GAC9B/4B,KAAK+oB,OAAOt6B,OAAOuR,KAAKk5B,SAASwD,oBA0BjC,SAAkC3T,GAC9B,IAAIuqF,EAAavqF,EAAOljB,IAAI,eACvBytG,GAAc3yG,OAAO4yG,8BACtBD,EAAa3yG,OAAO4yG,4BACpBxqF,EAAO7Y,IAAI,aAAcojG,IAE7B,IAAKA,EAkBD,MAAM,IAAI,EAAc,sBAEhC,CAnDAE,CAAyBxzG,KAAK+oB,QAC9B/oB,KAAK05B,QAAU,IAAIZ,GAAiB94B,KAAM+4B,EAAkB/4B,KAAKk5B,SAASQ,SAC1E15B,KAAKm8B,OAASn8B,KAAKk5B,SAASiD,OAC5Bn8B,KAAKvC,EAAIuC,KAAKm8B,OAAO1+B,EACrBuC,KAAKyzG,eAAiB,IAAIrhG,IAC1BpS,KAAKkxG,SAAW,IAAIL,GACpB7wG,KAAKkQ,IAAI,QAAS,gBAClBlQ,KAAKgO,KAAK,SAAS,IAAOhO,KAAK0E,MAAQ,SAAU,CAAEuG,SAAU,SAC7DjL,KAAKgO,KAAK,WAAW,IAAOhO,KAAK0E,MAAQ,aAAc,CAAEuG,SAAU,SACnEjL,KAAK1E,MAAQ,IAAI+nG,GACjBrjG,KAAK4N,GAAG,qBAAqB,KACzB5N,KAAK1E,MAAMnM,SAASypC,WAAa54B,KAAK44B,UAAU,IAEpD,MAAMgS,EAAkB,IAAI7D,GAC5B/mC,KAAKpO,KAAO,IAAIwyF,GAAepkF,KAAK1E,MAAOsvC,GAC3C5qC,KAAK0zG,QAAU,IAAIx5B,GAAkBl6E,KAAK1E,MAAOsvC,GACjD5qC,KAAK0zG,QAAQj/E,KAAKtlC,SAAS8iB,KAAK,cAAclQ,GAAG/B,MACjDA,KAAKjP,WAAa,IAAI80F,GAAW,CAAC7lF,KAAK0zG,QAAQv5B,mBAAoBn6E,KAAKpO,KAAKuoF,oBAAqBn6E,KAAKpO,KAAKyyF,kBAC5GrkF,KAAKjP,WAAWs1F,SAAS,eAAgBrmF,KAAKpO,KAAKuoF,oBACnDn6E,KAAKjP,WAAWs1F,SAAS,kBAAmBrmF,KAAK0zG,QAAQv5B,oBACzDn6E,KAAK6xG,WAAa,IAAIV,GAAwBnxG,MAC9CA,KAAK6xG,WAAW9jG,SAAS/N,KAAK0zG,QAAQj/E,KAAKtlC,UAC3C6Q,KAAK2zG,cAAgB,IAAIpC,GAAcvxG,MA8BvC,SAA0By3B,GACtB,MAAM67E,EAAa77E,EAAO1O,OAAOljB,IAAI,cAC/B+tG,EAAsBjzG,OAAOoF,OAAOhC,IAAI,sBAAwB,KACtE,SAAS8vG,EAAYlK,GACjBlyE,EAAOq8E,mBAAmB/tG,OAAO,mBACjC0xB,EAAOs8E,kBAAkBpK,EAC7B,CAqCA,GAAkB,OAAd2J,EAIA,YAH2B,SAAvBM,GACAC,EAAY,wBAIpB,MAAMG,EA1CN,SAAoBV,GAChB,MAAMz2F,EAAQy2F,EAAWj0G,MAAM,KAC/B,OAAoB,GAAhBwd,EAAMpsB,OACC,KAEJosB,EAAM,EACjB,CAoCuBo3F,CAAWX,GAClC,IAAKU,EAED,YADAH,EAAY,WAGhB,MAAMK,EAAiBz9E,GAAyBu9E,GAChD,IAAKE,EAED,YADAL,EAAY,WAGhB,IA7CA,SAA8BK,GAE1B,MADuB,CAAC,MAAO,MAAO,MAChBn/F,OAAMo/F,GAASA,KAASD,GAClD,CA0CKE,CAAqBF,GAEtB,YADAL,EAAY,WAGhB,GAAIK,EAAeN,sBAAwBzlF,GAAQ+lF,EAAeN,qBAAqBpjF,SAASojF,GAE5F,YADAC,EAAY,uBAGhB,GCzJG,SAAeQ,GAC1B,MAAMC,EAAYtgH,MAAM+T,QAAQssG,GAAaA,EAAY,CAACA,GACpDE,EAhCV,WACI,MAAMA,EAAW,GACjB,IAAK,IAAIx2G,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAC1B,IAAI9J,EAAI8J,EACR,IAAK,IAAIxB,EAAI,EAAGA,EAAI,EAAGA,IACX,EAAJtI,EACAA,EAAI,WAAcA,IAAM,EAGxBA,KAAU,EAGlBsgH,EAASx2G,GAAK9J,CAClB,CACA,OAAOsgH,CACX,CAiBqBC,GACjB,IAAIC,GAAM,EAEV,MAAMC,EAAaJ,EAAUh1G,KAAInO,GACzB6C,MAAM+T,QAAQ5W,GACPA,EAAKY,KAAK,IAEdG,OAAOf,KACfY,KAAK,IAER,IAAK,IAAInB,EAAI,EAAGA,EAAI8jH,EAAWjkH,OAAQG,IAEnC6jH,EAAOA,IAAQ,EAAKF,EAAwB,KAAdE,EADjBC,EAAWphH,WAAW1C,KAIvC,OADA6jH,GAAOA,IAAgB,EAChBA,EAAIz1G,SAAS,IAAI21G,SAAS,EAAG,IACxC,CDuIgBC,CAjDJ,SAAyBV,GAKrB,OAJoBvkH,OAAO8V,oBAAoByuG,GAAgB90F,OAE1DzoB,QAAOgC,GAAc,MAAPA,GAAsC,MAAvBu7G,EAAev7G,KAC5C2G,KAAI3G,GAAOu7G,EAAev7G,IAEnC,CA2CUk8G,CAAgBX,KAAoBA,EAAeY,GAAGtuG,cAE5D,YADAqtG,EAAY,WAIhB,GADuB,IAAIzmG,KAA0B,IAArB8mG,EAAea,KAC1B5nG,EAEjB,YADA0mG,EAAY,WAGhB,MAAMmB,EAAgBd,EAAec,cACrC,GAAIA,GAAiBA,EAAcvkH,OAAS,IApD5C,SAA4BukH,GACxB,MAAM,SAAEC,GAAa,IAAI3+G,IAAIqK,OAAOuF,SAASC,MAC7C,GAAI6uG,EAAcxkF,SAASykF,GACvB,OAAO,EAEX,MAAMC,EAAWD,EAAS51G,MAAM,KAChC,OAAO21G,EAEFr+G,QAAOw+G,GAAQA,EAAK3kF,SAAS,OAE7BlxB,KAAI61G,GAAQA,EAAK91G,MAAM,OAEvB1I,QAAOw+G,GAAQA,EAAK1kH,QAAUykH,EAASzkH,SAEvC6O,KAAI61G,GAAQnhH,MAAMkhH,EAASzkH,OAAS0kH,EAAK1kH,QAAQqY,KAAiB,MAAZqsG,EAAK,GAAa,IAAM,IAAItjH,OAAOsjH,KAEzF79E,MAAK89E,GAAUF,EAASngG,OAAM,CAACsgG,EAASniH,IAAUkiH,EAAOliH,KAAWmiH,GAA6B,MAAlBD,EAAOliH,MAC/F,CAmCkDoiH,CAAmBN,GAEjE,YADAnB,EAAY,eAGhB,GAAI,CAAC,aAAc,SAASrjF,SAAS0jF,EAAeqB,cAAqC,IAArBrB,EAAea,IAAa3nG,KAAK4hB,MAEjG,YADA6kF,EAAY,WAGhB,GAAI,CAAC,cAAe,aAAc,SAASrjF,SAAS0jF,EAAeqB,aAAc,CAC7E,MAAM,YAAEA,GAAgBrB,EAClBsB,EAAyBD,EAAY,GAAGt2G,cAAgBs2G,EAAY/8G,MAAM,GAC1Ei9G,EAA0B,eAAhBF,EAA+B,KAAO,IACtDzoG,QAAQ4oG,KAAK,gBAAgBF,YAAkC,+FAC/D1oG,QAAQC,KAAK,oBAAoB0oG,KAAWF,2BACrB,UAAhBA,EAA0B,yCAA2C,IAD/D,6FAGjB,CACA,GAAI,CAAC,aAAc,SAAS/kF,SAAS0jF,EAAeqB,aAAc,CAC9D,MAAMA,EAAcrB,EAAeqB,YAC7BrlD,EAAU56B,YAAW,KACvBu+E,EAAY,GAAG0B,SAAmB,GACnC,KACH99E,EAAO7pB,GAAG,WAAW,KACjB2nB,aAAa26B,EAAQ,GAE7B,CACIgkD,EAAeyB,eACfl+E,EAAOzpB,KAAK,SAAS,KACjB,MAAM4nG,EAAU,CACZC,UAAWprG,IACXqrG,YAAajlH,KAAKC,MAAMsc,KAAK4hB,MAAQ,KACrC+mF,QAASzC,EACT77E,OAAQu+E,GAAiBv+E,IAO7BA,EAAOw+E,kBAAkB/B,EAAeyB,cAAeC,GAASvwG,MAAK6wG,IACjE,MAAM,OAAEC,EAAM,QAAEvpG,GAAYspG,EACxBtpG,GACAE,QAAQC,KAAKH,GAEH,MAAVupG,GACAtC,EAAY,aAChB,IACD,KtV9GhB,IAAkBhoG,EAAWja,EAAXia,EsVsHQ,gDtVtHGja,EsVsH8C,CAAEwG,IAAK87G,EAAeyB,etVrHpG7oG,QAAQpF,SAASsF,EAAuBnB,EAAWja,GsVqHiE,GAClG,GACH,CAAEqZ,SAAU,QAEvB,CArKAmrG,CAAiBp2G,KAsKrB,CAsBA,cAAI44B,GACA,OAAO54B,KAAKyzG,eAAephG,KAAO,CACtC,CACA,cAAIumB,CAAW5oC,GAsBX,MAAM,IAAI,EAAc,kCAC5B,CA6CA,kBAAA8jH,CAAmBuC,GACf,GAAsB,iBAAXA,GAAyC,iBAAXA,EAMrC,MAAM,IAAI,EAAc,mCAAoC,KAAM,CAAEA,WAEpEr2G,KAAKyzG,eAAetnG,IAAIkqG,KAG5Br2G,KAAKyzG,eAAernG,IAAIiqG,GACS,IAA7Br2G,KAAKyzG,eAAephG,MAEpBrS,KAAK+O,KAAK,oBAAqB,cAAc,GAAM,GAE3D,CAQA,mBAAAunG,CAAoBD,GAChB,GAAsB,iBAAXA,GAAyC,iBAAXA,EACrC,MAAM,IAAI,EAAc,mCAAoC,KAAM,CAAEA,WAEnEr2G,KAAKyzG,eAAetnG,IAAIkqG,KAG7Br2G,KAAKyzG,eAAerjG,OAAOimG,GACM,IAA7Br2G,KAAKyzG,eAAephG,MAEpBrS,KAAK+O,KAAK,oBAAqB,cAAc,GAAO,GAE5D,CAwBA,OAAA4nD,CAAQ/kE,GACJoO,KAAKpO,KAAKse,IAAIte,EAClB,CA4BA,OAAA8kE,CAAQznE,GACJ,OAAO+Q,KAAKpO,KAAKiU,IAAI5W,EACzB,CAMA,WAAA4rC,GACI,MAAM9R,EAAS/oB,KAAK+oB,OACd2Q,EAAU3Q,EAAOljB,IAAI,WACrB0wG,EAAgBxtF,EAAOljB,IAAI,kBAAoB,GAC/CynG,EAAevkF,EAAOljB,IAAI,iBAAmB,GAC7C40B,EAAoB1R,EAAOljB,IAAI,sBAAwB,GAC7D,OAAO7F,KAAK05B,QAAQD,KAAKC,EAAQ7nC,OAAOy7G,GAAeiJ,EAAe97E,EAC1E,CAUA,OAAAxU,GACI,IAAIuwF,EAAeh7E,QAAQ9gB,UAI3B,MAHkB,gBAAd1a,KAAK0E,QACL8xG,EAAe,IAAIh7E,SAAQ9gB,GAAW1a,KAAKgO,KAAK,QAAS0M,MAEtD87F,EACFnxG,MAAK,KACNrF,KAAK+O,KAAK,WACV/O,KAAKkO,gBACLlO,KAAKkxG,SAASjrF,SAAS,IAEtB5gB,MAAK,IAAMrF,KAAK05B,QAAQzT,YACxB5gB,MAAK,KACNrF,KAAK1E,MAAM2qB,UACXjmB,KAAKpO,KAAKq0B,UACVjmB,KAAK0zG,QAAQztF,UACbjmB,KAAK6xG,WAAW5rF,SAAS,IAIxB5gB,MAAK,IAAMrF,KAAKk5B,SAASuD,cAAcz8B,OAChD,CAcA,OAAA64B,CAAQk4E,KAAgBE,GACpB,IACI,OAAOjxG,KAAKkxG,SAASr4E,QAAQk4E,KAAgBE,EACjD,CACA,MAAOtkG,GAGH,EAAcD,uBAAuBC,EAAK3M,KAC9C,CACJ,CAUA,KAAAkxC,GACIlxC,KAAK0zG,QAAQj/E,KAAKyc,OACtB,CAcA,aAAO3rC,IAAUhV,GACb,MAAM,IAAIgL,MAAM,8BACpB,CACA,iBAAAw4G,CAAkBpK,EAAQtwE,GACtB/D,YAAW,KACP,GAAc,WAAVq0E,EAQA,MAAM,IAAI,EAAc,uBAE5B,GAAc,WAAVA,EAcA,MAAM,IAAI,EAAc,uBAE5B,GAAc,eAAVA,EASA,MAAM,IAAI,EAAc,4BAE5B,GAAc,qBAAVA,EAUA,MAAM,IAAI,EAAc,iCAAkC,KAAM,CAAEtwE,eAEtE,GAAc,mBAAVswE,EAQA,MAAM,IAAI,EAAc,gCAE5B,GAAc,cAAVA,EAQA,MAAM,IAAI,EAAc,2BAE5B,GAAc,oBAAVA,EAQA,MAAM,IAAI,EAAc,iCAE5B,GAAc,cAAVA,EAaA,MAAM,IAAI,EAAc,2BAE5B,GAAc,uBAAVA,EAyBA,MAAM,IAAI,EAAc,2CAIF,GAC3B,GACH3pG,KAAK+zG,kBAAoB,MAC7B,CAOA,uBAAMkC,CAAkBQ,EAAUb,GAC9B,MAAMc,EAAU,IAAIC,QAAQ,CAAE,eAAgB,qBACxCT,QAAiBU,MAAM,IAAItgH,IAAImgH,GAAW,CAC5Cn7E,OAAQ,OACRo7E,UACAx1F,KAAMxvB,KAAKC,UAAUikH,KAEzB,IAAKM,EAASW,GAEV,MAAM,IAAIt7G,MAAM,kBAAkB26G,EAASC,UAE/C,OAAOD,EAAS70E,MACpB,EAOJuqE,GAAO/vE,QAAUA,GAMjB+vE,GAAOD,eAAiBA,GAMxBC,GAAOkL,gBLtrBQ,cAA8B3N,GAiBzC,WAAAh/F,CAAY0xB,EAASgwE,EAAiB,CAAC,GACnC9/F,MAAM8/F,GAIN7rG,KAAK+2G,WAAa,IAAI9mG,IAItBjQ,KAAKk5B,SAAW,KAKhBl5B,KAAKg3G,cAAgB,IAAI5kG,IAIzBpS,KAAKi3G,cAAgB,IAAIhH,GACzBjwG,KAAKk3G,gBAAkBrL,EAEvB7rG,KAAKqsG,SAAW8K,GAAiBt7E,EAAQt2B,OAAO4xG,GAChDn3G,KAAKusG,YAAczgG,GAAWA,EAAQma,UACtCjmB,KAAKi3G,cAAc5G,SAAQ,KACJ,iBAAfrwG,KAAK0E,QACL1E,KAAK0E,MAAQ,QACb1E,KAAKiqG,MAAM,eACf,GAER,CASA,UAAAwC,CAAWC,GACP1sG,KAAKqsG,SAAWK,CACpB,CAkBA,aAAAC,CAAcC,GACV5sG,KAAKusG,YAAcK,CACvB,CAKA,WAAI9gG,GACA,OAAO9L,KAAKk5B,QAChB,CAaA,MAAA3zB,CAAO4xG,EAAgB,CAAC,GACpB,OAAOn3G,KAAKi3G,cAAc1G,QAAQP,IAAa,KAC3ChwG,KAAKo3G,eAAiBD,EACfn3G,KAAKq3G,YAEpB,CAWA,OAAA33B,CAAQztD,GAEJ,OADiBjyB,KAAKs3G,aAAarlF,GACnBu6E,KACpB,CAWA,YAAA+K,CAAatlF,GAET,OADiBjyB,KAAKs3G,aAAarlF,GACnBvtB,KACpB,CA6CA,GAAA0H,CAAIorG,GACA,MAAMC,EAAqB,GAAQD,GACnC,OAAOh8E,QAAQE,IAAI+7E,EAAmBn4G,KAAInO,GAC/B6O,KAAKi3G,cAAc1G,QAAQp/G,EAAKnC,IAAI,KACvC,GAAmB,cAAfgR,KAAK0E,MACL,MAAM,IAAInJ,MAAM,2CAEpB,IAAKyE,KAAKk5B,SACN,MAAM,IAAI39B,MAAM,6FAEpB,IAAIm8G,EACJ,GAAI13G,KAAK+2G,WAAW5qG,IAAIhb,EAAKnC,IACzB,MAAM,IAAIuM,MAAM,6CAA6CpK,EAAKnC,QAEtE,GAAkB,WAAdmC,EAAK+R,KAyBL,OAxBAw0G,EAAW,IAAI/L,GAAe,KAAM3rG,KAAKk3G,iBACzCQ,EAASjL,WAAWt7G,EAAKu7G,SACzBgL,EAAS3J,uBAAuB/tG,KAAKg3G,eACjC7lH,EAAKy7G,YACL8K,EAAS/K,cAAcx7G,EAAKy7G,YAEhC5sG,KAAK+2G,WAAW7mG,IAAI/e,EAAKnC,GAAI0oH,GAG7BA,EAAS9pG,GAAG,SAAS,CAACiG,GAAOnM,QAAO+iG,oBAChCzqG,KAAKiqG,MAAM,YAAa,CAAEh4E,OAAQ9gC,EAAKnC,GAAI0Y,UAEtC+iG,GAGLzqG,KAAKi3G,cAAc1G,QAAQp/G,EAAKnC,IAAI,IAAM,IAAIwsC,SAAQ3oC,IAClD,MAAM8kH,EAA0B,KAC5BD,EAASptG,IAAI,UAAWqtG,GACxB33G,KAAKiqG,MAAM,cAAe,CAAEh4E,OAAQ9gC,EAAKnC,KACzC6D,GAAK,EAET6kH,EAAS9pG,GAAG,UAAW+pG,EAAwB,KAChD,IAEAD,EAASnyG,OAAOpU,EAAKymH,oBAAqBzmH,EAAK43B,OAAQ/oB,KAAKk5B,UAGnE,MAAM,IAAI39B,MAAM,6BAA6BpK,EAAK+R,SACtD,MAGZ,CAgBA,MAAAnM,CAAO8gH,GACH,MAAMC,EAAU,GAAQD,GACxB,OAAOr8E,QAAQE,IAAIo8E,EAAQx4G,KAAI2yB,GACpBjyB,KAAKi3G,cAAc1G,QAAQt+E,GAAQ,KACtC,MAAMylF,EAAW13G,KAAKs3G,aAAarlF,GAEnC,OADAjyB,KAAK+2G,WAAW3mG,OAAO6hB,GAChBylF,EAASzxF,SAAS,MAGrC,CASA,OAAAA,GACI,OAAOjmB,KAAKi3G,cAAc1G,QAAQP,IAAa,KAC3ChwG,KAAK0E,MAAQ,YACb1E,KAAKiqG,MAAM,eACXl+F,MAAMka,UACCjmB,KAAK6sG,aAEpB,CAIA,QAAA/C,GACI,OAAO9pG,KAAKi3G,cAAc1G,QAAQP,IAAa,KAC3ChwG,KAAK0E,MAAQ,eACb1E,KAAKiqG,MAAM,eACJjqG,KAAK6sG,WACPC,OAAMngG,IACPG,QAAQpF,MAAM,4DAA6DiF,EAAI,IAE9EtH,MAAK,IAAMrF,KAAKq3G,YAChBhyG,MAAK,IAAMrF,KAAKiqG,MAAM,eAEnC,CAIA,OAAAoN,GACI,OAAO77E,QAAQ9gB,UACVrV,MAAK,KACNrF,KAAKkqG,sBACElqG,KAAKqsG,SAASrsG,KAAKo3G,mBAEzB/xG,MAAKyG,IACN9L,KAAKk5B,SAAWptB,EAChB9L,KAAKg3G,cAAgB,GAAYh3G,KAAKk5B,UAC/BsC,QAAQE,IAAI1nC,MAAM8N,KAAK9B,KAAK+2G,WAAW9tG,UACzC3J,KAAIo4G,IACLA,EAAS3J,uBAAuB/tG,KAAKg3G,eAC9BU,EAASnyG,YAAOpF,OAAWA,EAAWH,KAAKk5B,gBAG9D,CAIA,QAAA2zE,GACI,OAAOrxE,QAAQ9gB,UACVrV,MAAK,KACNrF,KAAK+pG,qBACL,MAAMj+F,EAAU9L,KAAKk5B,SAGrB,OAFAl5B,KAAKk5B,SAAW,KAChBl5B,KAAKg3G,cAAgB,IAAI5kG,IAClBopB,QAAQE,IAAI1nC,MAAM8N,KAAK9B,KAAK+2G,WAAW9tG,UACzC3J,KAAIo4G,GAAYA,EAASzxF,aAEzB5gB,MAAK,IAAMrF,KAAKusG,YAAYzgG,IAAS,GAElD,CAMA,YAAAwrG,CAAarlF,GACT,MAAMylF,EAAW13G,KAAK+2G,WAAWlxG,IAAIosB,GACrC,IAAKylF,EACD,MAAM,IAAIn8G,MAAM,8CAA8C02B,MAElE,OAAOylF,CACX,CAMA,0BAAA/M,CAA2BjjG,GACvB,IAAK,MAAMgwG,KAAY13G,KAAK+2G,WAAW9tG,SACnC,GAAIyuG,EAAS/M,2BAA2BjjG,GACpC,OAAO,EAGf,OAAO0jG,GAA8BprG,KAAKk5B,SAAUxxB,EAAMoE,QAC9D,GKsWJ,YACA,SAASkqG,GAAiBv+E,GACtB,MAAMsgF,ED7rBH,SAA4BtgF,GAC/B,MAAO,CACHugF,UAAWhF,KACXiF,cAAe9E,KACf8B,SAAUt0G,OAAOuF,SAAS+uG,SAC1B/nG,QAASG,WAAWC,iBACpBpK,KAAMivG,GAAc16E,GACpBiC,SAqBqBw+E,EArBQzgF,EAAOiC,QAsBjC1lC,MACF8N,KAAKo2G,GACLvhH,QAAO,EAAEyiC,OAAyBA,EAAkBC,aACpD/5B,KAAI,EAAE85B,MACP,MAAM,WAAEC,EAAU,gBAAEtB,EAAe,iBAAEC,EAAgB,gBAAEC,GAAoBmB,EAC3E,MAAO,CACH++E,YAAapgF,EACbqgF,aAAcpgF,EACdqgF,YAAapgF,EACbz1B,KAAM62B,EACT,KA/BDi/E,aA6DG,CACHC,QAAU53G,OAAOoF,OAAOhC,IAAI,sBAAwB,MA7DpDy0G,IAAK3F,KACL4F,YAAa9oH,OAAO4V,OAAO,MAC3BmzG,QAAS,CACLxxF,YAAauQ,EAAO1O,OAAOljB,IAAI,sBAEnC4pB,SAAU,CACN2M,GAAI3E,EAAO0E,OAAOzL,WAClBt/B,QAASqmC,EAAO0E,OAAOxL,iBAE3BgoF,QAAS,CACLpzB,KAAM8sB,GAAoB56E,EAAO1O,OAAOljB,IAAI,YAC5CuiE,MAAOiqC,GAAoB56E,EAAO1O,OAAOljB,IAAI,iBAC7C+yG,QAASvG,GAAoB56E,EAAO1O,OAAOljB,IAAI,qBAO3D,IAA6BqyG,CAJ7B,CCqqB0BW,CAAmBphF,GAgBzC,OAHAA,EAAO1oB,KAAK,mBAAoB,CAC5B+pG,aAbJ,SAAsB72G,EAAMjS,GACxB,QAAiCmQ,IAA7B,GAAI43G,EAAe91G,GAOnB,MAAM,IAAI,EAAc,qCAAsC,CAAEA,SAEpE,GAAI81G,EAAe91G,EAAMjS,EAC7B,IAIO+nH,CACX,CEltBe,SAASgB,GAAgB3/G,GA4BpC,OA3BA,cAAoBA,EAChB,mBAAA4/G,CAAoBpnH,GAChB,IAAKoO,KAAKkoF,cASN,MAAM,IAAI,EAAc,+BAAgCloF,MAE5D,MAAMi5G,EAA4Bj5G,KAAK+oB,OAAOljB,IAAI,gCAC5CqzG,EAA0Bl5G,KAAKkoF,yBAAyB1hE,oBAK9D,IAAKyyF,IAA8BC,EAE/B,YADA5yF,GAAiBtmB,KAAKkoF,cAAe,IAGzC,MAAMixB,EAA4B,iBAATvnH,EAAoBA,EAAOoO,KAAKpO,KAAKiU,MAC9DygB,GAAiBtmB,KAAKkoF,cAAeixB,EACzC,EAGR,CAEAJ,GAAgBC,oBAAsBD,GAAgBppH,QAAQwF,UAAU6jH,oBCYzD,MAAMI,WAAuBz8E,GAIxC,qBAAWtD,GACP,MAAO,gBACX,CAIA,2BAAWrB,GACP,OAAO,CACX,CAIA,IAAAyB,GACIz5B,KAAKkQ,IAAI,UAAU,GACnBlQ,KAAKq5G,SAAW,IAAIpoF,GAAW,CAAEM,WAAY,QAC7CvxB,KAAKq5G,SAASvpG,SAAS,MAAO,UAAU/N,GAAG/B,KAC/C,CAUA,GAAAoM,CAAIQ,GACA,GAAuB,iBAAZA,EAMP,MAAM,IAAI,EAAc,qCAAsC5M,MAElE,MAAM2hD,EAAS,IAAKjwC,KAIpB,OAHAiwC,EAAOzxC,IAAI,UAAWtD,GACtB5M,KAAKq5G,SAASjtG,IAAIu1C,GAClB3hD,KAAKs5G,QAAS,EACP33D,CACX,CAMA,MAAA5qD,CAAO4qD,GACH3hD,KAAKq5G,SAAStiH,OAAO4qD,GACrB3hD,KAAKs5G,SAAWt5G,KAAKq5G,SAAS5oH,MAClC,CAMA,SAAIohC,GACA,OAAO7xB,KAAKq5G,SAASxzG,IAAI,EAC7B,CAIA,CAACE,OAAOsP,YACJ,OAAOrV,KAAKq5G,SAAStzG,OAAOsP,WAChC,ECzHJ,MCsFa,GAAQ,CACjBkkG,KCvFJ,suBDwFI/iF,ODxFJ,wRCyFIgjF,QEzFJ,sVF0FIp6B,MG1FJ,8OH2FIq6B,II3FJ,ymBJ4FIC,aK5FJ,igBL6FIC,OM7FJ,qVN8FI1tB,QO9FJ,gfP+FIl1B,MQ/FJ,yYRgGI6iD,YShGJ,q7BTiGIC,kBUjGJ,8rBVkGIC,SWlGJ,6uCXmGIC,UYnGJ,6lDZoGIC,gBapGJ,qyBbqGIC,McrGJ,2MdsGIC,cetGJ,yNfuGIC,UgBvGJ,2NhBwGIC,aiBxGJ,wkBjByGIvlC,UkBzGJ,yMlB0GIwlC,KmB1GJ,+KnB2GIn8E,KoB3GJ,qXpB4GIo8E,YqB5GJ,4TrB6GIC,YsB7GJ,qiBtB8GIC,SuB9GJ,+TvB+GIC,UwB/GJ,8XxBgHIC,YyBhHJ,oYzBiHIC,W0BjHJ,iY1BkHIC,a2BlHJ,6X3BmHIC,W4BnHJ,4S5BoHIC,a6BpHJ,sP7BqHIC,Y8BrHJ,6R9BsHIC,gB+BtHJ,8O/BuHIC,agCvHJ,0QhCwHIC,gBiCxHJ,sPjCyHIC,iBkCzHJ,sPlC0HIC,iBmC1HJ,mzBnC2HIC,eoC3HJ,kzBpC4HIC,gBqC5HJ,iuBrC6HIC,gBsC7HJ,+tBtC8HIC,iBuC9HJ,+tBvC+HIC,OwC/HJ,ifxCgIIC,QyChIJ,+LzCiIIl+E,M0CjIJ,mZ1CkIIm+E,kB2ClIJ,gL3CmIIC,c4CnIJ,gZ5CoIIC,K6CpIJ,6U7CqIIC,K8CrIJ,6U9CsIIC,a+CtIJ,gc/CuIIC,agDvIJ,6ZhDwIIC,SiDxIJ,6mBjDyIIC,UkDzIJ,ivBlD0IIC,YmD1IJ,6cnD2IIC,SoD3IJ,kQpD4IIC,SqD5IJ,+uBrD6IIC,SsD7IJ,u7BtD8IIC,SuD9IJ,gWvD+IIC,SwD/IJ,0pBxDgJIC,SyDhJJ,03BzDiJIC,e0DjJJ,6F1DkJIp0D,K2DlJJ,kpB3DmJIq0D,O4DnJJ,wY5DoJIC,Q6DpJJ,sY7DqJIC,M8DrJJ,qU9DsJIzyG,O+DtJJ,srB/DuJIrT,OgEvJJ,ifhEwJI+lH,SiExJJ,6XjEyJIC,ekEzJJ,wOlE0JIvlF,MmE1JJ,4jBCgDe,MAAMwlF,WAAuB/rF,GAMxC,WAAA9mB,CAAY8yG,EAAe,IACvBlxG,MAAMkxG,EAAc,CAGhB1rF,WAAY,YAGhBvxB,KAAK4N,GAAG,OAAO,CAACiG,EAAK4gB,EAAMvhC,KACvB8M,KAAKk9G,gCAAgCzoF,EAAMvhC,EAAM,IAGrD8M,KAAK4N,GAAG,UAAU,CAACiG,EAAK4gB,KAChBA,EAAKvlC,SAAW8Q,KAAKm9G,gBACrB1oF,EAAKvlC,QAAQ6H,QACjB,IAEJiJ,KAAKm9G,eAAiB,IAC1B,CAKA,OAAAl3F,GACIjmB,KAAKV,KAAIm1B,GAAQA,EAAKxO,WAC1B,CAQA,SAAAm3F,CAAUC,GACNr9G,KAAKm9G,eAAiBE,EAEtB,IAAK,MAAM5oF,KAAQz0B,KACfA,KAAKk9G,gCAAgCzoF,EAE7C,CAuCA,QAAA3kB,IAAYC,GACR,IAAKA,EAAOtf,SAAyBsf,EAwE9BgF,OAAMhiB,GAAiB,iBAALA,IAlErB,MAAM,IAAI,EAAc,0CAA2Ci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,YAAa,CAAC,GAAI,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,cAAe,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,eAAgB,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,eAAgB,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EA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CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,KAAM,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,eAAgB,CAAC,EAAG,YAAa,CAAC,EAAG,yBAA0B,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WA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","sources":["webpack://OPEditor/webpack/universalModuleDefinition","webpack://OPEditor/webpack/runtime/create fake namespace object","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenu.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/editorui/editorui.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/list.css","webpack://OPEditor/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/globals/globals.css","webpack://OPEditor/./node_modules/color-convert/index.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialog.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenulistitembutton.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imagecustomresizeform.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenulistitem.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css","webpack://OPEditor/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/theme/mention.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/input/input.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/form.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/listproperties.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/listdropdown.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableselection.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://OPEditor/./node_modules/lz-string/libs/lz-string.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/listitembutton.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css","webpack://OPEditor/./node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css","webpack://OPEditor/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenulistitem.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubar.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css","webpack://OPEditor/./node_modules/style-loader/dist/runtime/setAttributesWithAttributesAndNonce.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenupanel.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenubutton.css","webpack://OPEditor/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenulistitembutton.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-page-break/theme/pagebreak.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://OPEditor/./node_modules/color-convert/conversions.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenubutton.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css","webpack://OPEditor/./node_modules/css-loader/dist/runtime/api.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenu.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/theme/mentionui.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenupanel.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/link.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css","webpack://OPEditor/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialogactions.css","webpack://OPEditor/./node_modules/color-name/index.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/textarea/textarea.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css","webpack://OPEditor/./node_modules/color-convert/route.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/image.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableediting.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css","webpack://OPEditor/./node_modules/markdown-it-task-lists/index.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/editorui/accessibilityhelp.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/table.css","webpack://OPEditor/webpack/bootstrap","webpack://OPEditor/webpack/runtime/compat get default export","webpack://OPEditor/webpack/runtime/define property getters","webpack://OPEditor/webpack/runtime/hasOwnProperty shorthand","webpack://OPEditor/webpack/runtime/make namespace object","webpack://OPEditor/webpack/runtime/jsonp chunk loading","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/global.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/env.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/fastdiff.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/diff.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/spy.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/eventinfo.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/uid.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/priorities.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/inserttopriorityarray.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/ckeditorerror.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/version.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/emittermixin.js","webpack://OPEditor/./node_modules/lodash-es/isObject.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/observablemixin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/count.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/comparearrays.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/isiterable.js","webpack://OPEditor/./node_modules/lodash-es/_freeGlobal.js","webpack://OPEditor/./node_modules/lodash-es/_root.js","webpack://OPEditor/./node_modules/lodash-es/_Symbol.js","webpack://OPEditor/./node_modules/lodash-es/_getRawTag.js","webpack://OPEditor/./node_modules/lodash-es/_objectToString.js","webpack://OPEditor/./node_modules/lodash-es/_baseGetTag.js","webpack://OPEditor/./node_modules/lodash-es/isArray.js","webpack://OPEditor/./node_modules/lodash-es/isObjectLike.js","webpack://OPEditor/./node_modules/lodash-es/isString.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/createelement.js","webpack://OPEditor/./node_modules/lodash-es/_overArg.js","webpack://OPEditor/./node_modules/lodash-es/_getPrototype.js","webpack://OPEditor/./node_modules/lodash-es/isPlainObject.js","webpack://OPEditor/./node_modules/lodash-es/_listCacheClear.js","webpack://OPEditor/./node_modules/lodash-es/eq.js","webpack://OPEditor/./node_modules/lodash-es/_assocIndexOf.js","webpack://OPEditor/./node_modules/lodash-es/_listCacheDelete.js","webpack://OPEditor/./node_modules/lodash-es/_listCacheGet.js","webpack://OPEditor/./node_modules/lodash-es/_listCacheHas.js","webpack://OPEditor/./node_modules/lodash-es/_listCacheSet.js","webpack://OPEditor/./node_modules/lodash-es/_ListCache.js","webpack://OPEditor/./node_modules/lodash-es/_stackClear.js","webpack://OPEditor/./node_modules/lodash-es/_stackDelete.js","webpack://OPEditor/./node_modules/lodash-es/_stackGet.js","webpack://OPEditor/./node_modules/lodash-es/_stackHas.js","webpack://OPEditor/./node_modules/lodash-es/isFunction.js","webpack://OPEditor/./node_modules/lodash-es/_coreJsData.js","webpack://OPEditor/./node_modules/lodash-es/_isMasked.js","webpack://OPEditor/./node_modules/lodash-es/_toSource.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsNative.js","webpack://OPEditor/./node_modules/lodash-es/_getValue.js","webpack://OPEditor/./node_modules/lodash-es/_getNative.js","webpack://OPEditor/./node_modules/lodash-es/_Map.js","webpack://OPEditor/./node_modules/lodash-es/_nativeCreate.js","webpack://OPEditor/./node_modules/lodash-es/_hashClear.js","webpack://OPEditor/./node_modules/lodash-es/_hashDelete.js","webpack://OPEditor/./node_modules/lodash-es/_hashGet.js","webpack://OPEditor/./node_modules/lodash-es/_hashHas.js","webpack://OPEditor/./node_modules/lodash-es/_hashSet.js","webpack://OPEditor/./node_modules/lodash-es/_Hash.js","webpack://OPEditor/./node_modules/lodash-es/_mapCacheClear.js","webpack://OPEditor/./node_modules/lodash-es/_isKeyable.js","webpack://OPEditor/./node_modules/lodash-es/_getMapData.js","webpack://OPEditor/./node_modules/lodash-es/_mapCacheDelete.js","webpack://OPEditor/./node_modules/lodash-es/_mapCacheGet.js","webpack://OPEditor/./node_modules/lodash-es/_mapCacheHas.js","webpack://OPEditor/./node_modules/lodash-es/_mapCacheSet.js","webpack://OPEditor/./node_modules/lodash-es/_MapCache.js","webpack://OPEditor/./node_modules/lodash-es/_stackSet.js","webpack://OPEditor/./node_modules/lodash-es/_Stack.js","webpack://OPEditor/./node_modules/lodash-es/_arrayEach.js","webpack://OPEditor/./node_modules/lodash-es/_defineProperty.js","webpack://OPEditor/./node_modules/lodash-es/_baseAssignValue.js","webpack://OPEditor/./node_modules/lodash-es/_assignValue.js","webpack://OPEditor/./node_modules/lodash-es/_copyObject.js","webpack://OPEditor/./node_modules/lodash-es/_baseTimes.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsArguments.js","webpack://OPEditor/./node_modules/lodash-es/isArguments.js","webpack://OPEditor/./node_modules/lodash-es/stubFalse.js","webpack://OPEditor/./node_modules/lodash-es/isBuffer.js","webpack://OPEditor/./node_modules/lodash-es/_isIndex.js","webpack://OPEditor/./node_modules/lodash-es/isLength.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsTypedArray.js","webpack://OPEditor/./node_modules/lodash-es/_baseUnary.js","webpack://OPEditor/./node_modules/lodash-es/_nodeUtil.js","webpack://OPEditor/./node_modules/lodash-es/isTypedArray.js","webpack://OPEditor/./node_modules/lodash-es/_arrayLikeKeys.js","webpack://OPEditor/./node_modules/lodash-es/_isPrototype.js","webpack://OPEditor/./node_modules/lodash-es/_nativeKeys.js","webpack://OPEditor/./node_modules/lodash-es/_baseKeys.js","webpack://OPEditor/./node_modules/lodash-es/isArrayLike.js","webpack://OPEditor/./node_modules/lodash-es/keys.js","webpack://OPEditor/./node_modules/lodash-es/_baseAssign.js","webpack://OPEditor/./node_modules/lodash-es/_nativeKeysIn.js","webpack://OPEditor/./node_modules/lodash-es/_baseKeysIn.js","webpack://OPEditor/./node_modules/lodash-es/keysIn.js","webpack://OPEditor/./node_modules/lodash-es/_baseAssignIn.js","webpack://OPEditor/./node_modules/lodash-es/_cloneBuffer.js","webpack://OPEditor/./node_modules/lodash-es/_copyArray.js","webpack://OPEditor/./node_modules/lodash-es/_arrayFilter.js","webpack://OPEditor/./node_modules/lodash-es/stubArray.js","webpack://OPEditor/./node_modules/lodash-es/_getSymbols.js","webpack://OPEditor/./node_modules/lodash-es/_copySymbols.js","webpack://OPEditor/./node_modules/lodash-es/_arrayPush.js","webpack://OPEditor/./node_modules/lodash-es/_getSymbolsIn.js","webpack://OPEditor/./node_modules/lodash-es/_copySymbolsIn.js","webpack://OPEditor/./node_modules/lodash-es/_baseGetAllKeys.js","webpack://OPEditor/./node_modules/lodash-es/_getAllKeys.js","webpack://OPEditor/./node_modules/lodash-es/_getAllKeysIn.js","webpack://OPEditor/./node_modules/lodash-es/_DataView.js","webpack://OPEditor/./node_modules/lodash-es/_Promise.js","webpack://OPEditor/./node_modules/lodash-es/_Set.js","webpack://OPEditor/./node_modules/lodash-es/_WeakMap.js","webpack://OPEditor/./node_modules/lodash-es/_getTag.js","webpack://OPEditor/./node_modules/lodash-es/_initCloneArray.js","webpack://OPEditor/./node_modules/lodash-es/_Uint8Array.js","webpack://OPEditor/./node_modules/lodash-es/_cloneArrayBuffer.js","webpack://OPEditor/./node_modules/lodash-es/_cloneDataView.js","webpack://OPEditor/./node_modules/lodash-es/_cloneRegExp.js","webpack://OPEditor/./node_modules/lodash-es/_cloneSymbol.js","webpack://OPEditor/./node_modules/lodash-es/_cloneTypedArray.js","webpack://OPEditor/./node_modules/lodash-es/_initCloneByTag.js","webpack://OPEditor/./node_modules/lodash-es/_baseCreate.js","webpack://OPEditor/./node_modules/lodash-es/_initCloneObject.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsMap.js","webpack://OPEditor/./node_modules/lodash-es/isMap.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsSet.js","webpack://OPEditor/./node_modules/lodash-es/isSet.js","webpack://OPEditor/./node_modules/lodash-es/_baseClone.js","webpack://OPEditor/./node_modules/lodash-es/cloneDeepWith.js","webpack://OPEditor/./node_modules/lodash-es/isElement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/config.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/isnode.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/iswindow.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/emittermixin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/getancestors.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/getborderwidths.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/getrangefrommouseevent.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/istext.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/isrange.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/getpositionedancestor.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/rect.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/resizeobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/setdatainelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/tounit.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/indexof.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/insertat.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/iscomment.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/isvisible.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/position.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/remove.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/scroll.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/keyboard.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/toarray.js","webpack://OPEditor/./node_modules/lodash-es/_assignMergeValue.js","webpack://OPEditor/./node_modules/lodash-es/_baseFor.js","webpack://OPEditor/./node_modules/lodash-es/_createBaseFor.js","webpack://OPEditor/./node_modules/lodash-es/isArrayLikeObject.js","webpack://OPEditor/./node_modules/lodash-es/_safeGet.js","webpack://OPEditor/./node_modules/lodash-es/toPlainObject.js","webpack://OPEditor/./node_modules/lodash-es/_baseMergeDeep.js","webpack://OPEditor/./node_modules/lodash-es/_baseMerge.js","webpack://OPEditor/./node_modules/lodash-es/identity.js","webpack://OPEditor/./node_modules/lodash-es/_apply.js","webpack://OPEditor/./node_modules/lodash-es/_overRest.js","webpack://OPEditor/./node_modules/lodash-es/constant.js","webpack://OPEditor/./node_modules/lodash-es/_baseSetToString.js","webpack://OPEditor/./node_modules/lodash-es/_shortOut.js","webpack://OPEditor/./node_modules/lodash-es/_setToString.js","webpack://OPEditor/./node_modules/lodash-es/_baseRest.js","webpack://OPEditor/./node_modules/lodash-es/_isIterateeCall.js","webpack://OPEditor/./node_modules/lodash-es/_createAssigner.js","webpack://OPEditor/./node_modules/lodash-es/merge.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/translation-service.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/language.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/locale.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/collection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/first.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/focustracker.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/keystrokehandler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/tomap.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/objecttomap.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/splicearray.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/delay.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/parsebase64encodedobject.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/unicode.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/plugin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/command.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/plugincollection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/context.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/contextplugin.js","webpack://OPEditor/./node_modules/lodash-es/isSymbol.js","webpack://OPEditor/./node_modules/lodash-es/_isKey.js","webpack://OPEditor/./node_modules/lodash-es/memoize.js","webpack://OPEditor/./node_modules/lodash-es/_memoizeCapped.js","webpack://OPEditor/./node_modules/lodash-es/_stringToPath.js","webpack://OPEditor/./node_modules/lodash-es/_arrayMap.js","webpack://OPEditor/./node_modules/lodash-es/_baseToString.js","webpack://OPEditor/./node_modules/lodash-es/toString.js","webpack://OPEditor/./node_modules/lodash-es/_castPath.js","webpack://OPEditor/./node_modules/lodash-es/_toKey.js","webpack://OPEditor/./node_modules/lodash-es/_baseGet.js","webpack://OPEditor/./node_modules/lodash-es/get.js","webpack://OPEditor/./node_modules/lodash-es/_baseSet.js","webpack://OPEditor/./node_modules/lodash-es/set.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css?b8f9","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/placeholder.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/typecheckable.js","webpack://OPEditor/./node_modules/lodash-es/clone.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/node.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/text.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/textproxy.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/viewconsumable.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/matcher.js","webpack://OPEditor/./node_modules/lodash-es/last.js","webpack://OPEditor/./node_modules/lodash-es/_baseSlice.js","webpack://OPEditor/./node_modules/lodash-es/_parent.js","webpack://OPEditor/./node_modules/lodash-es/_baseUnset.js","webpack://OPEditor/./node_modules/lodash-es/unset.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/stylesmap.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/tokenlist.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/element.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/containerelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/editableelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/rooteditableelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/treewalker.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/position.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/range.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/selection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/documentselection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/bubblingeventinfo.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/bubblingemittermixin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/document.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/attributeelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/emptyelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/uielement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/rawelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/documentfragment.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/downcastwriter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/filler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css?d589","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/renderer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/domconverter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/isvalidattributename.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/observer.js","webpack://OPEditor/./node_modules/lodash-es/assignIn.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/domeventdata.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/domeventobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/keyobserver.js","webpack://OPEditor/./node_modules/lodash-es/now.js","webpack://OPEditor/./node_modules/lodash-es/_trimmedEndIndex.js","webpack://OPEditor/./node_modules/lodash-es/_baseTrim.js","webpack://OPEditor/./node_modules/lodash-es/toNumber.js","webpack://OPEditor/./node_modules/lodash-es/debounce.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/fakeselectionobserver.js","webpack://OPEditor/./node_modules/lodash-es/_setCacheAdd.js","webpack://OPEditor/./node_modules/lodash-es/_setCacheHas.js","webpack://OPEditor/./node_modules/lodash-es/_SetCache.js","webpack://OPEditor/./node_modules/lodash-es/_arraySome.js","webpack://OPEditor/./node_modules/lodash-es/_cacheHas.js","webpack://OPEditor/./node_modules/lodash-es/_equalArrays.js","webpack://OPEditor/./node_modules/lodash-es/_mapToArray.js","webpack://OPEditor/./node_modules/lodash-es/_setToArray.js","webpack://OPEditor/./node_modules/lodash-es/_equalByTag.js","webpack://OPEditor/./node_modules/lodash-es/_equalObjects.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsEqualDeep.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsEqual.js","webpack://OPEditor/./node_modules/lodash-es/isEqualWith.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/mutationobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/focusobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/selectionobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/compositionobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/datatransfer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/inputobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/arrowkeysobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/tabobserver.js","webpack://OPEditor/./node_modules/lodash-es/cloneDeep.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/view.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/typecheckable.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/textproxy.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/treewalker.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/position.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/range.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/mapper.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/modelconsumable.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/downcastdispatcher.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/node.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/selection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/liverange.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/text.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/documentselection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/nodelist.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/element.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/conversionhelpers.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/downcasthelpers.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/utils/autoparagraphing.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/upcasthelpers.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/utils/selection-post-fixer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/controller/editingcontroller.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/schema.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/upcastdispatcher.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/dataprocessor/basichtmlwriter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/controller/datacontroller.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/conversion/conversion.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/operation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/moveoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/insertoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/splitoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/mergeoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/markeroperation.js","webpack://OPEditor/./node_modules/lodash-es/isEqual.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/attributeoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/nooperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/renameoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/rootattributeoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/rootoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/operationfactory.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/transform.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/liveposition.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/batch.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/differ.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/history.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/rootelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/document.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/markercollection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/operation/detachoperation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/documentfragment.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/writer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/utils/deletecontent.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/utils/getselectedcontent.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/utils/insertcontent.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/utils/insertobject.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/utils/modifyselection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/model/model.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/clickobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/mouseobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/observer/touchobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/upcastwriter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/styles/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/styles/background.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/styles/border.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-engine/src/view/styles/padding.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-watchdog/src/watchdog.js","webpack://OPEditor/./node_modules/lodash-es/throttle.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-watchdog/src/utils/getsubnodes.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-watchdog/src/utils/areconnectedthroughproperties.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-watchdog/src/editorwatchdog.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-watchdog/src/contextwatchdog.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/commandcollection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/editingkeystrokehandler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/accessibility.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/editor/utils/editorusagedata.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/editor/editor.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/crc32.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/editor/utils/elementapimixin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/pendingactions.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/cancel.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/index.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/bold.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/caption.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/check.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/cog.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/color-palette.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/eraser.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/history.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/image.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/image-upload.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/image-asset-manager.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/image-url.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/low-vision.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/text-alternative.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/loupe.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/previous-arrow.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/next-arrow.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/importexport.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/paragraph.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/plus.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/text.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/align-bottom.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/align-middle.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/align-top.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/align-left.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/align-center.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/align-right.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/align-justify.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-inline-left.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-center.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-inline-right.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-full-width.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-inline.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-left.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-right.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-size-custom.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-size-full.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-size-large.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-size-small.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/object-size-medium.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/pencil.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/pilcrow.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/quote.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/three-vertical-dots.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/drag-indicator.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/redo.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/undo.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/bulletedlist.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/numberedlist.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/todolist.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/codeblock.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/browse-files.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/heading1.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/heading2.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/heading3.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/heading4.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/heading5.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/heading6.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/horizontalline.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/html.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/indent.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/outdent.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/table.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/source.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/remove.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/bookmark.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/bookmark_inline.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/theme/icons/emoji.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/viewcollection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/template.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/globals/globals.css?9ffd","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/view.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/bindings/clickoutsidehandler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/bindings/csstransitiondisablermixin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/bindings/submithandler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/bindings/addkeyboardhandlingforgrid.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css?d134","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/icon/iconview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/button/buttonlabelview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css?e9d2","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/button/buttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css?0cda","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/formheader/formheaderview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/focuscycler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/bindings/draggableviewmixin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialogactions.css?98ab","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dialog/dialogactionsview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dialog/dialogcontentview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialog.css?d39a","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dialog/dialogview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dialog/dialog.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/listitembutton.css?0d4a","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/button/listitembuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenulistitembutton.css?13a9","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarmenulistitembuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css?8d4e","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/label/labelview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editorui/accessibilityhelp/accessibilityhelpcontentview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/icons/accessibility.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/editorui/accessibilityhelp.css?98ae","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editorui/accessibilityhelp/accessibilityhelp.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editorui/bodycollection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css?aaf0","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/button/switchbuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/button/filedialogbuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/icons/dropdown-arrow.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css?6641","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/collapsible/collapsibleview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorgrid/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorgrid/colortileview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/icons/color-tile-check.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css?2704","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorgrid/colorgridview.js","webpack://OPEditor/./node_modules/color-parse/index.mjs","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorpicker/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css?2832","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/labeledfield/labeledfieldview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/input/inputbase.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/input/input.css?edfa","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/input/inputview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/inputtext/inputtextview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/inputnumber/inputnumberview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/textarea/textarea.css?0f0e","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/dropdownpanelview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css?1880","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/dropdownview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenulistitembutton.css?f789","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenubutton.css?c731","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/menu/dropdownmenubuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/list/listitemview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/list/listseparatorview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/list/listitemgroupview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css?cbd7","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/list/listview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/menu/dropdownmenulistview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/menu/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenulistitem.css?4ede","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/menu/dropdownmenubehaviors.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css?7831","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/panel/balloon/balloonpanelview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenupanel.css?9831","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/menu/dropdownmenunestedmenupanelview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenu.css?508e","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/menu/dropdownmenunestedmenuview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/toolbar/toolbarseparatorview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/toolbar/toolbarlinebreakview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css?0211","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/toolbar/toolbarview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/bindings/preventdefault.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css?0497","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/button/splitbuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css?347c","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/listdropdown.css?1a4d","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/dropdown/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/labeledfield/utils.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/utils/math.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/utils/convert.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/utils/compare.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/utils/dom.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/components/slider.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/components/hue.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/components/saturation.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/styles/color-picker.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/components/color-picker.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/styles/hue.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/styles/saturation.js","webpack://OPEditor/./node_modules/vanilla-colorful/lib/entrypoints/hex.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css?53be","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorpicker/colorpickerview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorselector/documentcolorcollection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorselector/colorgridsfragmentview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorselector/colorpickerfragmentview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css?0542","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/colorselector/colorselectorview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/componentfactory.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css?a08c","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/tooltipmanager.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/badge/badge.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editorui/poweredby.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/icons/project-logo.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editorui/evaluationbadge.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css?5c0d","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/arialiveannouncer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenulistitem.css?b7b4","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarmenulistitemview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editorui/editorui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/editorui/editorui.css?2a16","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editorui/editoruiview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editableui/editableuiview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/editableui/inline/inlineeditableuiview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/notification/notification.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/model.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css?1baf","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css?17b0","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/panel/balloon/contextualballoon.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css?009d","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/search/text/searchtextqueryview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/search/searchinfoview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/search/searchresultsview.js","webpack://OPEditor/./node_modules/lodash-es/escapeRegExp.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css?6651","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/search/text/searchtextview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css?7561","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/autocomplete/autocompleteview.js","webpack://OPEditor/./node_modules/lodash-es/_basePropertyOf.js","webpack://OPEditor/./node_modules/lodash-es/_escapeHtmlChar.js","webpack://OPEditor/./node_modules/lodash-es/escape.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css?87f2","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css?f1a9","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css?45fd","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenubutton.css?b31e","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarmenubuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenupanel.css?c89b","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarmenupanelview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenu.css?8588","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarmenuview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarmenulistview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarmenulistitemfiledialogbuttonview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubar.css?a41b","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/src/menubar/menubarview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-editor-decoupled/src/decouplededitorui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-editor-decoupled/src/decouplededitoruiview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-editor-decoupled/src/decouplededitor.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-utils/src/dom/getdatafromelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-core/src/editor/utils/securesourceelement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/highlightstack.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widgettypearound/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/icons/drag-handle.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/utils.js","webpack://OPEditor/./src/plugins/op-macro-toc-plugin.js","webpack://OPEditor/./src/plugins/op-macro-embedded-table/utils.js","webpack://OPEditor/./src/plugins/op-context/op-context.js","webpack://OPEditor/./src/plugins/op-macro-embedded-table/embedded-table-editing.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/utils/changebuffer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/inserttextcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/inserttextobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/input.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/deletecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/deleteobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/delete.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/typing.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/utils/getlasttextline.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/textwatcher.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/twostepcaretmovement.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/texttransformation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/utils/findattributerange.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-typing/src/utils/inlinehighlight.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-enter/src/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-enter/src/entercommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-enter/src/enterobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-enter/src/enter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-enter/src/shiftentercommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-enter/src/shiftenter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css?abb1","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widgettypearound/widgettypearound.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/icons/return-arrow.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/verticalnavigation.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css?47b7","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widget.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widgettoolbarrepository.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widgetresize/resizerstate.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widgetresize/sizeview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widgetresize/resizer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css?24e6","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-widget/src/widgetresize.js","webpack://OPEditor/./src/helpers/create-toolbar-edit-button.js","webpack://OPEditor/./src/icons/edit.svg","webpack://OPEditor/./src/helpers/create-toolbar.js","webpack://OPEditor/./src/plugins/op-macro-embedded-table/embedded-table-toolbar.js","webpack://OPEditor/./src/plugins/op-macro-wp-button/utils.js","webpack://OPEditor/./src/plugins/op-macro-wp-button/op-macro-wp-button-editing.js","webpack://OPEditor/./src/plugins/op-macro-wp-button/op-macro-wp-button-toolbar.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-upload/src/filereader.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-upload/src/filerepository.js","webpack://OPEditor/./src/plugins/op-upload-resource-adapter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/clipboardobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/utils/viewtoplaintext.js","webpack://OPEditor/./node_modules/lodash-es/_baseForOwn.js","webpack://OPEditor/./node_modules/lodash-es/_baseIsMatch.js","webpack://OPEditor/./node_modules/lodash-es/_isStrictComparable.js","webpack://OPEditor/./node_modules/lodash-es/_getMatchData.js","webpack://OPEditor/./node_modules/lodash-es/_matchesStrictComparable.js","webpack://OPEditor/./node_modules/lodash-es/_baseMatches.js","webpack://OPEditor/./node_modules/lodash-es/_baseHasIn.js","webpack://OPEditor/./node_modules/lodash-es/_hasPath.js","webpack://OPEditor/./node_modules/lodash-es/hasIn.js","webpack://OPEditor/./node_modules/lodash-es/_baseMatchesProperty.js","webpack://OPEditor/./node_modules/lodash-es/_baseProperty.js","webpack://OPEditor/./node_modules/lodash-es/_basePropertyDeep.js","webpack://OPEditor/./node_modules/lodash-es/property.js","webpack://OPEditor/./node_modules/lodash-es/_baseIteratee.js","webpack://OPEditor/./node_modules/lodash-es/mapValues.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/clipboardmarkersutils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/clipboardpipeline.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/utils/normalizeclipboarddata.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/utils/plaintexttohtml.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/lineview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/dragdroptarget.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/dragdropblocktoolbar.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css?0a95","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/dragdrop.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/pasteplaintext.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-clipboard/src/clipboard.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-undo/src/basecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-undo/src/undocommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-undo/src/redocommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-undo/src/undoediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-undo/src/undoui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-undo/src/undo.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageutils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/autoimage.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagetextalternative/imagetextalternativecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagetextalternative/imagetextalternativeediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css?66f4","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css?7101","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagetextalternative/ui/textalternativeformview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/ui/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagetextalternative/imagetextalternativeui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagetextalternative.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/converters.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/imageloadobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/insertimagecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/replaceimagesourcecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/imageediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagesizeattributes.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/imagetypecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css?d310","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/imageplaceholder.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/imageblockediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css?2fb5","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageinsert/ui/imageinsertformview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageinsert/imageinsertui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/image.css?5c96","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/image/imageinlineediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagecaption/imagecaptionutils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagecaption/toggleimagecaptioncommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagecaption/imagecaptionediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagecaption/imagecaptionui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css?5152","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageupload/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageupload/imageuploadui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css?72d0","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css?b791","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css?3f3f","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageupload/imageuploadprogress.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageupload/uploadimagecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageupload/imageuploadediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageupload.js","webpack://OPEditor/./node_modules/lodash-es/_baseEach.js","webpack://OPEditor/./node_modules/lodash-es/_createBaseEach.js","webpack://OPEditor/./node_modules/lodash-es/_baseMap.js","webpack://OPEditor/./node_modules/lodash-es/map.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/resizeimagecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/imageresizeediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/imageresizebuttons.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/imageresizehandles.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/utils/tryparsedimensionwithunit.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/utils/getselectedimageeditornodes.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imagecustomresizeform.css?6f6c","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/ui/imagecustomresizeformview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/imagecustomresizeui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/utils/getselectedimagewidthinunits.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize/utils/getselectedimagepossibleresizerange.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css?a8fb","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagestyle/imagestylecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagestyle/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagestyle/converters.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagestyle/imagestyleediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css?a152","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagestyle/imagestyleui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagetoolbar.js","webpack://OPEditor/./src/plugins/op-macro-child-pages/utils.js","webpack://OPEditor/./src/plugins/op-macro-child-pages/op-macro-child-pages-editing.js","webpack://OPEditor/./src/plugins/op-macro-child-pages/op-macro-child-pages-toolbar.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-select-all/src/selectallcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-select-all/src/selectallediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-select-all/src/selectallui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-select-all/theme/icons/select-all.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-select-all/src/selectall.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-adapter-ckfinder/src/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-adapter-ckfinder/src/uploadadapter.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-autoformat/src/blockautoformatediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-autoformat/src/inlineautoformatediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-autoformat/src/autoformat.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/attributecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/bold/boldediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/bold/boldui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/code/codeediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css?83c4","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/code/codeui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/theme/icons/code.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/italic/italicediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/theme/icons/italic.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/italic/italicui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/strikethrough/strikethroughediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/theme/icons/strikethrough.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/strikethrough/strikethroughui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-block-quote/src/blockquotecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-block-quote/src/blockquoteediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css?66ed","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-block-quote/src/blockquoteui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paragraph/src/paragraphcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paragraph/src/insertparagraphcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paragraph/src/paragraph.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/src/headingcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/src/headingediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css?2b0a","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/src/headingui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/src/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/src/title.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/utils/automaticdecorators.js","webpack://OPEditor/./node_modules/lodash-es/_castSlice.js","webpack://OPEditor/./node_modules/lodash-es/_hasUnicode.js","webpack://OPEditor/./node_modules/lodash-es/_asciiToArray.js","webpack://OPEditor/./node_modules/lodash-es/_unicodeToArray.js","webpack://OPEditor/./node_modules/lodash-es/_stringToArray.js","webpack://OPEditor/./node_modules/lodash-es/upperFirst.js","webpack://OPEditor/./node_modules/lodash-es/_createCaseFirst.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/linkcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/unlinkcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/utils/manualdecorator.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/link.css?4da5","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/linkediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css?837e","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/ui/linkformview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css?b997","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/ui/linkactionsview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/icons/unlink.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/icons/link.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/linkui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/autolink.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css?843b","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/utils/listwalker.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/utils/model.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/listindentcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/listcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/listmergecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/listsplitcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/listutils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/utils/view.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/utils/postfixers.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/converters.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css?0954","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/list.css?ef70","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/listediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list/listui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/list.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/listproperties/utils/style.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/listproperties.css?c6ab","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css?4c65","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/todolist/checktodolistcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/todolist/todocheckboxchangeobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/todolist/todolistediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/todolist/todolistui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css?1468","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-list/src/todolist.js","webpack://OPEditor/./src/icons/code-block.svg","webpack://OPEditor/./src/plugins/code-block/widget.js","webpack://OPEditor/./src/plugins/code-block/click-observer.js","webpack://OPEditor/./src/plugins/code-block/code-block-editing.js","webpack://OPEditor/./src/plugins/code-block/converters.js","webpack://OPEditor/./src/plugins/code-block/code-block-toolbar.js","webpack://OPEditor/./src/helpers/button-disabler.js","webpack://OPEditor/./node_modules/@rails/request.js/src/fetch_response.js","webpack://OPEditor/./node_modules/@rails/request.js/src/request_interceptor.js","webpack://OPEditor/./node_modules/@rails/request.js/src/lib/utils.js","webpack://OPEditor/./node_modules/@rails/request.js/src/fetch_request.js","webpack://OPEditor/./node_modules/@rails/request.js/src/verbs.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/converters/tableproperties.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/utils/common.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/converters/upcasttable.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablewalker.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/converters/downcast.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/inserttablecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/insertrowcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/insertcolumncommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/splitcellcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/utils/structure.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/mergecellcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/removerowcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/removecolumncommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/setheaderrowcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/setheadercolumncommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecolumnresize/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableutils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/mergecellscommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/selectrowcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/commands/selectcolumncommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/converters/table-layout-post-fixer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/converters/table-cell-paragraph-post-fixer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/converters/table-cell-refresh-handler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableediting.css?183a","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/converters/table-headings-refresh-handler.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css?8f02","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/ui/inserttableview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/icons/table-column.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/icons/table-row.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/icons/table-merge-cell.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableselection.css?52d0","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableselection.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableclipboard.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablekeyboard.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablemouse/mouseeventsobserver.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablemouse.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/table.css?7a76","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/utils/ui/widget.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css?a66f","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/ui/colorinputview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/utils/ui/table-properties.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css?e9c9","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/ui/formrowview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/form.css?9b02","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css?4fab","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css?861e","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/ui/tablecellpropertiesview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/utils/ui/contextualballoon.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/utils/table-properties.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/tablecellpropertiesui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/icons/table-cell-properties.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellpropertycommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellwidth/commands/tablecellwidthcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellwidth/tablecellwidthediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellpaddingcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellheightcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellborderstylecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellbordercolorcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellborderwidthcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties/tablecellpropertiesediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tablepropertycommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tablebackgroundcolorcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tablebordercolorcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tableborderstylecommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tableborderwidthcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tablewidthcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tableheightcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/commands/tablealignmentcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/tablepropertiesediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css?db5b","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/ui/tablepropertiesview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/icons/table-properties.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties/tablepropertiesui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css?b30e","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css?9b35","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/utils.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/list.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/image.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/normalizers/mswordnormalizer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/bookmark.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/removemsattributes.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/br.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/normalizers/googledocsnormalizer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/removeboldwrapper.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/normalizers/googlesheetsnormalizer.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/removegooglesheetstag.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/removexmlns.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/removeinvalidtablewidth.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/removestyleblock.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/space.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/filters/parse.js","webpack://OPEditor/./node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.js","webpack://OPEditor/./node_modules/turndown/lib/turndown.browser.es.js","webpack://OPEditor/./src/commonmark/utils/preprocessor.js","webpack://OPEditor/./src/commonmark/utils/page-breaks.js","webpack://OPEditor/./node_modules/mdurl/lib/decode.mjs","webpack://OPEditor/./node_modules/mdurl/lib/encode.mjs","webpack://OPEditor/./node_modules/mdurl/lib/format.mjs","webpack://OPEditor/./node_modules/mdurl/lib/parse.mjs","webpack://OPEditor/./node_modules/uc.micro/categories/P/regex.mjs","webpack://OPEditor/./node_modules/uc.micro/categories/S/regex.mjs","webpack://OPEditor/./node_modules/uc.micro/properties/Any/regex.mjs","webpack://OPEditor/./node_modules/uc.micro/categories/Cc/regex.mjs","webpack://OPEditor/./node_modules/uc.micro/categories/Cf/regex.mjs","webpack://OPEditor/./node_modules/uc.micro/categories/Z/regex.mjs","webpack://OPEditor/./node_modules/entities/lib/esm/generated/decode-data-html.js","webpack://OPEditor/./node_modules/entities/lib/esm/generated/decode-data-xml.js","webpack://OPEditor/./node_modules/entities/lib/esm/decode_codepoint.js","webpack://OPEditor/./node_modules/entities/lib/esm/decode.js","webpack://OPEditor/./node_modules/entities/lib/esm/generated/encode-html.js","webpack://OPEditor/./node_modules/entities/lib/esm/escape.js","webpack://OPEditor/./node_modules/entities/lib/esm/index.js","webpack://OPEditor/./node_modules/markdown-it/lib/common/utils.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/helpers/parse_link_label.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/helpers/parse_link_destination.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/helpers/parse_link_title.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/renderer.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/ruler.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/token.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/state_core.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/normalize.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/linkify.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/replacements.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/smartquotes.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/parser_core.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/block.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/inline.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_core/text_join.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/state_block.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/table.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/list.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/common/html_blocks.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/common/html_re.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/html_block.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/parser_block.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/code.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/fence.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/blockquote.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/hr.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/reference.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/heading.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/lheading.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_block/paragraph.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/state_inline.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/text.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/linkify.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/escape.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/strikethrough.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/emphasis.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/autolink.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/entity.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/parser_inline.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/newline.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/backticks.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/link.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/image.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/html_inline.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/rules_inline/fragments_join.mjs","webpack://OPEditor/./node_modules/linkify-it/index.mjs","webpack://OPEditor/./node_modules/linkify-it/lib/re.mjs","webpack://OPEditor/./node_modules/punycode.js/punycode.es6.js","webpack://OPEditor/./node_modules/markdown-it/lib/index.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/presets/default.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/presets/zero.mjs","webpack://OPEditor/./node_modules/markdown-it/lib/presets/commonmark.mjs","webpack://OPEditor/./src/commonmark/commonmarkdataprocessor.js","webpack://OPEditor/./src/commonmark/utils/fix-tasklist-whitespaces.js","webpack://OPEditor/./src/commonmark/utils/fix-breaks.js","webpack://OPEditor/./src/commonmark/utils/hoist-task-list-checkboxes.js","webpack://OPEditor/./src/icons/source.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/src/mentioncommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/src/mentionediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/theme/mentionui.css?c111","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/src/ui/mentionsview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/src/ui/domwrapperview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/src/ui/mentionlistitemview.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/src/mentionui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/theme/mention.css?d8de","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-page-break/src/pagebreakcommand.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-page-break/theme/pagebreak.css?7ae9","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-page-break/src/pagebreakediting.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-page-break/src/pagebreakui.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-page-break/theme/icons/pagebreak.svg","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-autosave/src/autosave.js","webpack://OPEditor/./src/plugins/op-content-revisions/utils.js","webpack://OPEditor/./src/plugins/op-content-revisions/storage.js","webpack://OPEditor/./src/plugins/op-content-revisions/ui.js","webpack://OPEditor/./src/icons/revisions.svg","webpack://OPEditor/./src/plugins/op-content-revisions/command.js","webpack://OPEditor/./src/plugins/op-content-revisions/op-content-revisions.js","webpack://OPEditor/./src/op-plugins.js","webpack://OPEditor/./src/plugins/op-macro-embedded-table/embedded-table-plugin.js","webpack://OPEditor/./src/plugins/op-macro-wp-button/op-macro-wp-button-plugin.js","webpack://OPEditor/./src/plugins/op-macro-child-pages/op-macro-child-pages-plugin.js","webpack://OPEditor/./src/plugins/op-upload-plugin.js","webpack://OPEditor/./src/plugins/op-attachment-listener-plugin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-essentials/src/essentials.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/bold.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/code.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/italic.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-basic-styles/src/strikethrough.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-block-quote/src/blockquote.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-heading/src/heading.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageblock.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageinline.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagecaption.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imagestyle.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-image/src/imageresize.js","webpack://OPEditor/./src/plugins/op-image-attachment-lookup/op-image-attachment-lookup-plugin.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-link/src/link.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-page-break/src/pagebreak.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-mention/src/mention.js","webpack://OPEditor/./src/mentions/mentions-caster.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-paste-from-office/src/pastefromoffice.js","webpack://OPEditor/./src/plugins/op-help-link-plugin/op-help-link-plugin.js","webpack://OPEditor/./src/icons/help.svg","webpack://OPEditor/./src/plugins/op-preview.plugin.js","webpack://OPEditor/./src/icons/preview.svg","webpack://OPEditor/./src/plugins/op-source-code.plugin.js","webpack://OPEditor/./src/icons/wysiwyg.svg","webpack://OPEditor/./src/plugins/code-block/code-block.js","webpack://OPEditor/./src/commonmark/commonmark.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/table.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tabletoolbar.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tableproperties.js","webpack://OPEditor/./node_modules/@ckeditor/ckeditor5-table/src/tablecellproperties.js","webpack://OPEditor/./src/plugins/op-macro-list-plugin.js","webpack://OPEditor/./src/plugins/op-custom-css-classes-plugin.js","webpack://OPEditor/./src/mentions/work-package-mentions.js","webpack://OPEditor/./src/mentions/mentions-item-renderer.js","webpack://OPEditor/./src/op-ckeditor-config.js","webpack://OPEditor/./src/mentions/user-mentions.js","webpack://OPEditor/./src/mentions/emoji-mentions.js","webpack://OPEditor/./src/op-config-customizer.js","webpack://OPEditor/./src/op-ckeditor.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OPEditor\"] = factory();\n\telse\n\t\troot[\"OPEditor\"] = factory();\n})(self, () => {\nreturn ","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-menu-bar__menu{display:block;font-size:inherit;position:relative}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level{max-width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenu.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenu.css\"],\"names\":[],\"mappings\":\"AAKA,sBACC,aAAc,CCCd,iBAAkB,CDAlB,iBACD,CCCC,kDACC,cACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-menu-bar__menu {\\n\\tdisplay: block;\\n\\tposition: relative;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-menu-bar__menu {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t&.ck-menu-bar__menu_top-level {\\n\\t\\tmax-width: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);border-radius:0;padding:0 var(--ck-spacing-small)}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar .ck.ck-toolbar__separator{background:var(--ck-color-toolbar-border);height:var(--ck-icon-size);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],\"names\":[],\"mappings\":\"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eAGC,6CAA8C,CAE9C,+CAAgD,CCFhD,eAAgB,CDChB,iCAuGD,CCtGC,qEAEC,qCAED,CDFA,yCAIC,yCAA0C,CAH1C,0BAA2B,CAU3B,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAEA,qCACC,QACD,CAaA,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../mixins/_unselectable.css\\\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: center;\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-flow: row wrap;\\n\\t\\talign-items: center;\\n\\t\\tflex-grow: 1;\\n\\n\\t}\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t/*\\n\\t\\t * A leading or trailing separator makes no sense (separates from nothing on one side).\\n\\t\\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\\n\\t\\t * moved to another toolbar in the dropdown.\\n\\t\\t */\\n\\t\\t&:first-child,\\n\\t\\t&:last-child {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\tflex-basis: 100%;\\n\\t}\\n\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t&.ck-toolbar_vertical > .ck-toolbar__items {\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&.ck-toolbar_floating > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t& > .ck-dropdown__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\tborder: 1px solid var(--ck-color-toolbar-border);\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\theight: var(--ck-icon-size);\\n\\t\\twidth: 1px;\\n\\t\\tmin-width: 1px;\\n\\t\\tbackground: var(--ck-color-toolbar-border);\\n\\n\\t\\t/*\\n\\t\\t * These margins make the separators look better in balloon toolbars (when aligned with the \\\"tip\\\").\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\\n\\t\\t */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\theight: 0;\\n\\t}\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\t& > *:not(.ck-toolbar__line-break) {\\n\\t\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t/* Don't display a separator after an empty items container, for instance,\\n\\t\\twhen all items were grouped */\\n\\t\\t&:empty + .ck.ck-toolbar__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/* Make sure items wrapped to the next line have v-spacing */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t&.ck-toolbar_vertical {\\n\\t\\t/* Items in a vertical toolbar span the entire width. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\\n\\t\\t& > .ck-toolbar__items > .ck {\\n\\t\\t\\t/* Items in a vertical toolbar should span the horizontal space. */\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t/* Items in a vertical toolbar should have no margin. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-toolbar_compact {\\n\\t\\t/* No spacing around items. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t& > .ck-toolbar__items > * {\\n\\t\\t\\t/* Compact toolbar items have no spacing between them. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* \\\"Middle\\\" children should have no rounded corners. */\\n\\t\\t\\t&:not(:first-child):not(:last-child) {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/*\\n\\t\\t * Dropdown button has asymmetric padding to fit the arrow.\\n\\t\\t * This button has no arrow so let's revert that padding back to normal.\\n\\t\\t */\\n\\t\\t& > .ck.ck-button.ck-dropdown__button {\\n\\t\\t\\tpadding-left: var(--ck-spacing-tiny);\\n\\t\\t}\\n\\t}\\n\\n\\t/* A drop-down containing the nested toolbar with configured items. */\\n\\t& .ck-toolbar__nested-toolbar-dropdown {\\n\\t\\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\\n\\t\\t& > .ck-dropdown__panel {\\n\\t\\t\\tmin-width: auto;\\n\\t\\t}\\n\\n\\t\\t& > .ck-button > .ck-button__label {\\n\\t\\t\\tmax-width: 7em;\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t.ck-toolbar-container & {\\n\\t\\tborder: 0;\\n\\t}\\n}\\n\\n/* stylelint-disable */\\n\\n/*\\n * Styles for RTL toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \\\"dir\\\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\\\"rtl\\\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\\\"rtl\\\"] {\\n\\t& > .ck-toolbar__items > .ck {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\\n\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-left: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/*\\n * Styles for LTR toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \\\"dir\\\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\\\"ltr\\\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\\\"ltr\\\"] {\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/* stylelint-enable */\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CCTC,yJAEC,qCAED,CDCA,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_disabled.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n@import \\\"../../../mixins/_focus.css\\\";\\n@import \\\"../../mixins/_button.css\\\";\\n\\n:root {\\n\\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\\n}\\n\\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t&.ck-focused {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\t}\\n}\\n\\n.ck.ck-editor__editable_inline {\\n\\toverflow: auto;\\n\\tpadding: 0 var(--ck-spacing-standard);\\n\\tborder: 1px solid transparent;\\n\\n\\t&[dir=\\\"ltr\\\"] {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t&[dir=\\\"rtl\\\"] {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\\n\\t& > *:first-child {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\\n\\t& > *:last-child {\\n\\t\\t/*\\n\\t\\t * This value should match with the default margins of the block elements (like .media or .image)\\n\\t\\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\\n\\t\\t */\\n\\t\\tmargin-bottom: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\\n\\t&.ck-blurred ::selection {\\n\\t\\tbackground: var(--ck-color-editable-blur-selection);\\n\\t}\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\\\"arrow_n\\\"] {\\n\\t&::after {\\n\\t\\tborder-bottom-color: var(--ck-color-panel-background);\\n\\t}\\n}\\n\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\\\"arrow_s\\\"] {\\n\\t&::after {\\n\\t\\tborder-top-color: var(--ck-color-panel-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-panel) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);border-radius:0;bottom:0;min-width:100%}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBAIC,oDAAqD,CACrD,sDAAuD,CGvFvD,eAAgB,CHwFhB,QAAS,CAGT,cAuBD,CGhHC,qFAEC,qCAED,CH4ED,uBEpFC,oCFoHD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-dropdown-max-width: 75vw;\\n}\\n\\n.ck.ck-dropdown {\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\tpointer-events: none;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n\\n\\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& .ck-dropdown__panel {\\n\\t\\tdisplay: none;\\n\\t\\tz-index: var(--ck-z-panel);\\n\\t\\tmax-width: var(--ck-dropdown-max-width);\\n\\n\\t\\tposition: absolute;\\n\\n\\t\\t&.ck-dropdown__panel-visible {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_n,\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_nme {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_se,\\n\\t\\t&.ck-dropdown__panel_sw,\\n\\t\\t&.ck-dropdown__panel_smw,\\n\\t\\t&.ck-dropdown__panel_sme,\\n\\t\\t&.ck-dropdown__panel_s {\\n\\t\\t\\t/*\\n\\t\\t\\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\\n\\t\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\\n\\t\\t\\t */\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_se {\\n\\t\\t\\tleft: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_sw {\\n\\t\\t\\tright: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_s,\\n\\t\\t&.ck-dropdown__panel_n {\\n\\t\\t\\t/* Positioning panels relative to the center of the button */\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_smw {\\n\\t\\t\\t/* Positioning panels relative to the middle-west of the button */\\n\\t\\t\\tleft: 75%;\\n\\t\\t\\ttransform: translateX(-75%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nme,\\n\\t\\t&.ck-dropdown__panel_sme {\\n\\t\\t\\t/* Positioning panels relative to the middle-east of the button */\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\ttransform: translateX(-25%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\\n * See https://github.com/ckeditor/ckeditor5/issues/7874\\n */\\n.ck.ck-toolbar .ck-dropdown__panel {\\n\\tz-index: calc( var(--ck-z-panel) + 1 );\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_disabled.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n:root {\\n\\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-dropdown {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-dropdown__arrow {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* #23 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\twidth: 7em;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t\\t&.ck-disabled .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t\\t&.ck-on {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__button_label-width_auto .ck-button__label {\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\\n\\t\\t&.ck-off:active,\\n\\t\\t&.ck-on:active {\\n\\t\\t\\tbox-shadow: none;\\n\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-dropdown__panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\n\\t/* Make sure the panel is at least as wide as the drop-down's button. */\\n\\tmin-width: 100%;\\n\\n\\t/* Disabled corner border radius to be consistent with the .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-dropdown__panel_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css\"],\"names\":[],\"mappings\":\"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-content ol {\\n\\tlist-style-type: decimal;\\n\\n\\t& ol {\\n\\t\\tlist-style-type: lower-latin;\\n\\n\\t\\t& ol {\\n\\t\\t\\tlist-style-type: lower-roman;\\n\\n\\t\\t\\t& ol {\\n\\t\\t\\t\\tlist-style-type: upper-latin;\\n\\n\\t\\t\\t\\t& ol {\\n\\t\\t\\t\\t\\tlist-style-type: upper-roman;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content ul {\\n\\tlist-style-type: disc;\\n\\n\\t& ul {\\n\\t\\tlist-style-type: circle;\\n\\n\\t\\t& ul {\\n\\t\\t\\tlist-style-type: square;\\n\\n\\t\\t\\t& ul {\\n\\t\\t\\t\\tlist-style-type: square;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-hidden{display:none!important}:root{--ck-z-default:1;--ck-z-panel:calc(var(--ck-z-default) + 999);--ck-z-dialog:9999}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-font-size:calc(var(--ck-font-size-base)*7.5/13);--ck-powered-by-line-height:calc(var(--ck-font-size-base)*10/13);--ck-powered-by-letter-spacing:calc(var(--ck-font-size-base)*-0.2/13);--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border);--ck-powered-by-svg-width:53;--ck-powered-by-svg-height:10;--ck-powered-by-icon-width:calc(var(--ck-font-size-base)*var(--ck-powered-by-svg-width)/13);--ck-powered-by-icon-height:calc(var(--ck-font-size-base)*var(--ck-powered-by-svg-height)/13)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:var(--ck-powered-by-font-size);font-weight:700;letter-spacing:var(--ck-powered-by-letter-spacing);line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block;height:var(--ck-powered-by-icon-height);width:var(--ck-powered-by-icon-width)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-evaluation-badge-font-size:calc(var(--ck-font-size-base)*7.5/13);--ck-evaluation-badge-line-height:calc(var(--ck-font-size-base)*7.5/13);--ck-evaluation-badge-letter-spacing:calc(var(--ck-font-size-base)*-0.2/13);--ck-evaluation-badge-padding-vertical:2px;--ck-evaluation-badge-padding-horizontal:4px;--ck-evaluation-badge-text-color:#4f4f4f;--ck-evaluation-badge-border-radius:var(--ck-border-radius);--ck-evaluation-badge-background:#fff;--ck-evaluation-badge-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-evaluation-badge-balloon{--ck-border-radius:var(--ck-evaluation-badge-border-radius);background:var(--ck-evaluation-badge-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-evaluation-badge-balloon .ck.ck-evaluation-badge{line-height:var(--ck-evaluation-badge-line-height);padding:var(--ck-evaluation-badge-padding-vertical) var(--ck-evaluation-badge-padding-horizontal)}.ck.ck-balloon-panel.ck-evaluation-badge-balloon .ck.ck-evaluation-badge .ck-evaluation-badge__label{color:var(--ck-evaluation-badge-text-color);display:block;font-size:var(--ck-evaluation-badge-font-size);font-weight:700;letter-spacing:var(--ck-evaluation-badge-letter-spacing);line-height:normal;padding:0 2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-evaluation-badge-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-evaluation-badge-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-evaluation-badge-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-dialog-background:var(--ck-custom-background);--ck-color-dialog-form-header-border:var(--ck-custom-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{background:transparent;border:0;box-sizing:border-box;height:auto;margin:0;padding:0;position:static;text-decoration:none;transition:none;vertical-align:middle;width:auto;word-wrap:break-word}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_evaluationbadge.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A class which hides an element in DOM.\\n */\\n.ck-hidden {\\n\\t/* Override selector specificity. Otherwise, all elements with some display\\n\\tstyle defined will override this one, which is not a desired result. */\\n\\tdisplay: none !important;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-z-default: 1;\\n\\t--ck-z-panel: calc( var(--ck-z-default) + 999 );\\n\\t--ck-z-dialog: 9999;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A class that disables all transitions of the element and its children.\\n */\\n.ck-transitions-disabled,\\n.ck-transitions-disabled * {\\n\\ttransition: none !important;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/* where 7.5(px) is the font size of the powered by label and 13(px) is the base font size. */\\n\\t--ck-powered-by-font-size: calc(var(--ck-font-size-base) * 7.5 / 13);\\n\\t/* where 10(px) is the line height of the powered by label and 13(px) is the base font size. */\\n\\t--ck-powered-by-line-height: calc(var(--ck-font-size-base) * 10 / 13);\\n\\t/* where -0.2(px) is the letter spacing of the powered by label and 13(px) is the base font size. */\\n\\t--ck-powered-by-letter-spacing: calc(var(--ck-font-size-base) * -0.2 / 13);\\n\\t--ck-powered-by-padding-vertical: 2px;\\n\\t--ck-powered-by-padding-horizontal: 4px;\\n\\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\\n\\t--ck-powered-by-border-radius: var(--ck-border-radius);\\n\\t--ck-powered-by-background: hsl(0, 0%, 100%);\\n\\t--ck-powered-by-border-color: var(--ck-color-focus-border);\\n\\n\\t--ck-powered-by-svg-width: 53;\\n\\t--ck-powered-by-svg-height: 10;\\n\\t--ck-powered-by-icon-width: calc(var(--ck-font-size-base) * var(--ck-powered-by-svg-width) / 13);\\n\\t--ck-powered-by-icon-height: calc(var(--ck-font-size-base) * var(--ck-powered-by-svg-height) / 13);\\n}\\n\\n.ck.ck-balloon-panel.ck-powered-by-balloon {\\n\\t--ck-border-radius: var(--ck-powered-by-border-radius);\\n\\n\\tbox-shadow: none;\\n\\tbackground: var(--ck-powered-by-background);\\n\\tmin-height: unset;\\n\\tz-index: calc( var(--ck-z-panel) - 1 );\\n\\n\\t& .ck.ck-powered-by {\\n\\t\\tline-height: var(--ck-powered-by-line-height);\\n\\n\\t\\t& a {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: .66;\\n\\t\\t\\tfilter: grayscale(80%);\\n\\t\\t\\tline-height: var(--ck-powered-by-line-height);\\n\\t\\t\\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\\n\\t\\t}\\n\\n\\t\\t& .ck-powered-by__label {\\n\\t\\t\\tfont-size: var(--ck-powered-by-font-size);\\n\\t\\t\\tletter-spacing: var(--ck-powered-by-letter-spacing);\\n\\t\\t\\tpadding-left: 2px;\\n\\t\\t\\ttext-transform: uppercase;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tline-height: normal;\\n\\t\\t\\tcolor: var(--ck-powered-by-text-color);\\n\\n\\t\\t}\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twidth: var(--ck-powered-by-icon-width);\\n\\t\\t\\theight: var(--ck-powered-by-icon-height);\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\t& a {\\n\\t\\t\\t\\tfilter: grayscale(0%);\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"position_inside\\\"] {\\n\\t\\tborder-color: transparent;\\n\\t}\\n\\n\\t&[class*=\\\"position_border\\\"] {\\n\\t\\tborder: var(--ck-focus-ring);\\n\\t\\tborder-color: var(--ck-powered-by-border-color);\\n\\t}\\n}\\n\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/* where 7.5(px) is the font size of the evaluation badge label and 13(px) is the base font size. */\\n\\t--ck-evaluation-badge-font-size: calc(var(--ck-font-size-base) * 7.5 / 13);\\n\\t/* where 7.5(px) is the line height of the evaluation badge label and 13(px) is the base font size. */\\n\\t--ck-evaluation-badge-line-height: calc(var(--ck-font-size-base) * 7.5 / 13);\\n\\t/* where -0.2(px) is the letter spacing of the evaluation badge label and 13(px) is the base font size. */\\n\\t--ck-evaluation-badge-letter-spacing: calc(var(--ck-font-size-base) * -0.2 / 13);\\n\\t--ck-evaluation-badge-padding-vertical: 2px;\\n\\t--ck-evaluation-badge-padding-horizontal: 4px;\\n\\t--ck-evaluation-badge-text-color: hsl(0, 0%, 31%);\\n\\t--ck-evaluation-badge-border-radius: var(--ck-border-radius);\\n\\t--ck-evaluation-badge-background: hsl(0, 0%, 100%);\\n\\t--ck-evaluation-badge-border-color: var(--ck-color-focus-border);\\n}\\n\\n.ck.ck-balloon-panel.ck-evaluation-badge-balloon {\\n\\t--ck-border-radius: var(--ck-evaluation-badge-border-radius);\\n\\n\\tbox-shadow: none;\\n\\tbackground: var(--ck-evaluation-badge-background);\\n\\tmin-height: unset;\\n\\tz-index: calc( var(--ck-z-panel) - 1 );\\n\\n\\t& .ck.ck-evaluation-badge {\\n\\t\\tline-height: var(--ck-evaluation-badge-line-height);\\n\\t\\tpadding: var(--ck-evaluation-badge-padding-vertical) var(--ck-evaluation-badge-padding-horizontal);\\n\\n\\t\\t& .ck-evaluation-badge__label {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tpadding: 0 2px;\\n\\t\\t\\tfont-size: var(--ck-evaluation-badge-font-size);\\n\\t\\t\\tletter-spacing: var(--ck-evaluation-badge-letter-spacing);\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tline-height: normal;\\n\\t\\t\\ttext-transform: uppercase;\\n\\t\\t\\tcolor: var(--ck-evaluation-badge-text-color);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"position_inside\\\"] {\\n\\t\\tborder-color: transparent;\\n\\t}\\n\\n\\t&[class*=\\\"position_border\\\"] {\\n\\t\\tborder: var(--ck-focus-ring);\\n\\t\\tborder-color: var(--ck-evaluation-badge-border-color);\\n\\t}\\n}\\n\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-base-foreground: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 98%);\\n\\t--ck-color-base-background: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 100%);\\n\\t--ck-color-base-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(220, 6%, 81%);\\n\\t--ck-color-base-action: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(104, 50.2%, 42.5%);\\n\\t--ck-color-base-focus: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\t--ck-color-base-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 20%);\\n\\t--ck-color-base-active: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(218.1, 100%, 58%);\\n\\t--ck-color-base-active-focus:\\t\\t\\t\\t\\t\\t\\t\\thsl(218.2, 100%, 52.5%);\\n\\t--ck-color-base-error:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t/* -- Generic colors ------------------------------------------------------------------------ */\\n\\n\\t--ck-color-focus-border-coordinates: \\t\\t\\t\\t\\t\\t218, 81.8%, 56.9%;\\n\\t--ck-color-focus-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(var(--ck-color-focus-border-coordinates));\\n\\t--ck-color-focus-outer-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsl(212.4, 89.3%, 89%);\\n\\t--ck-color-focus-disabled-shadow:\\t\\t\\t\\t\\t\\t\\thsla(209, 90%, 72%,.3);\\n\\t--ck-color-focus-error-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsla(9,100%,56%,.3);\\n\\t--ck-color-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-shadow-drop: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.15);\\n\\t--ck-color-shadow-drop-active:\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.2);\\n\\t--ck-color-shadow-inner: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Buttons ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-button-default-background: \\t\\t\\t\\t\\t\\ttransparent;\\n\\t--ck-color-button-default-hover-background: \\t\\t\\t\\thsl(0, 0%, 94.1%);\\n\\t--ck-color-button-default-active-background: \\t\\t\\t\\thsl(0, 0%, 94.1%);\\n\\t--ck-color-button-default-disabled-background: \\t\\t\\t\\ttransparent;\\n\\n\\t--ck-color-button-on-background: \\t\\t\\t\\t\\t\\t\\thsl(212, 100%, 97.1%);\\n\\t--ck-color-button-on-hover-background: \\t\\t\\t\\t\\t\\thsl(211.7, 100%, 92.9%);\\n\\t--ck-color-button-on-active-background: \\t\\t\\t\\t\\thsl(211.7, 100%, 92.9%);\\n\\t--ck-color-button-on-disabled-background: \\t\\t\\t\\t\\thsl(211, 15%, 95%);\\n\\t--ck-color-button-on-color:\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(218.1, 100%, 58%);\\n\\n\\n\\t--ck-color-button-action-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-action);\\n\\t--ck-color-button-action-hover-background: \\t\\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-button-action-active-background: \\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-button-action-disabled-background: \\t\\t\\t\\thsl(104, 44%, 58%);\\n\\t--ck-color-button-action-text: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t--ck-color-button-save: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(120, 100%, 27%);\\n\\t--ck-color-button-cancel: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t--ck-color-switch-button-off-background:\\t\\t\\t\\t\\thsl(0, 0%, 57.6%);\\n\\t--ck-color-switch-button-off-hover-background:\\t\\t\\t\\thsl(0, 0%, 49%);\\n\\t--ck-color-switch-button-on-background:\\t\\t\\t\\t\\t\\tvar(--ck-color-button-action-background);\\n\\t--ck-color-switch-button-on-hover-background:\\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-switch-button-inner-background:\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-switch-button-inner-shadow:\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Dropdown ------------------------------------------------------------------------------ */\\n\\n\\t--ck-color-dropdown-panel-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-dropdown-panel-border: \\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Dialog -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-dialog-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-custom-background);\\n\\t--ck-color-dialog-form-header-border: \\t\\t\\t\\t\\t\\tvar(--ck-custom-border);\\n\\n\\t/* -- Input --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-input-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-input-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\t--ck-color-input-error-border:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-error);\\n\\t--ck-color-input-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-input-disabled-background: \\t\\t\\t\\t\\t\\thsl(0, 0%, 95%);\\n\\t--ck-color-input-disabled-border: \\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\t--ck-color-input-disabled-text: \\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 46%);\\n\\n\\t/* -- List ---------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-list-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-list-button-hover-background: \\t\\t\\t\\t\\tvar(--ck-color-button-default-hover-background);\\n\\t--ck-color-list-button-on-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-button-on-color);\\n\\t--ck-color-list-button-on-background-focus: \\t\\t\\t\\tvar(--ck-color-button-on-color);\\n\\t--ck-color-list-button-on-text:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Panel --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-panel-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-panel-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Toolbar ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-toolbar-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-toolbar-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Tooltip ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-tooltip-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-tooltip-text: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Engine -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-engine-placeholder-text: \\t\\t\\t\\t\\t\\thsl(0, 0%, 44%);\\n\\n\\t/* -- Upload -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-upload-bar-background:\\t\\t \\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\n\\t/* -- Link -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-link-default:\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(240, 100%, 47%);\\n\\t--ck-color-link-selected-background:\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.1);\\n\\t--ck-color-link-fake-selection:\\t\\t\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.3);\\n\\n\\t/* -- Search result highlight ---------------------------------------------------------------- */\\n\\n\\t--ck-color-highlight-background:\\t\\t\\t\\t\\t\\t\\thsl(60, 100%, 50%);\\n\\n\\t/* -- Generic colors ------------------------------------------------------------------------- */\\n\\n\\t--ck-color-light-red:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 100%, 90%);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/**\\n\\t * An opacity value of disabled UI item.\\n\\t */\\n\\t--ck-disabled-opacity: .5;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/**\\n\\t * The geometry of the of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when disabled).\\n\\t */\\n\\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when has errors).\\n\\t */\\n\\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's border or outline.\\n\\t */\\n\\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-font-size-base: 13px;\\n\\t--ck-line-height-base: 1.84615;\\n\\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\\n\\n\\t--ck-font-size-tiny: 0.7em;\\n\\t--ck-font-size-small: 0.75em;\\n\\t--ck-font-size-normal: 1em;\\n\\t--ck-font-size-big: 1.4em;\\n\\t--ck-font-size-large: 1.8em;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/* This is super-important. This is **manually** adjusted so a button without an icon\\n\\tis never smaller than a button with icon, additionally making sure that text-less buttons\\n\\tare perfect squares. The value is also shared by other components which should stay \\\"in-line\\\"\\n\\twith buttons. */\\n\\t--ck-ui-component-min-height: 2.3em;\\n}\\n\\n/**\\n * Resets an element, ignoring its children.\\n */\\n.ck.ck-reset,\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\tbox-sizing: border-box;\\n\\twidth: auto;\\n\\theight: auto;\\n\\tposition: static;\\n\\n\\t/* Do not include inheritable rules here. */\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tborder: 0;\\n\\tbackground: transparent;\\n\\ttext-decoration: none;\\n\\tvertical-align: middle;\\n\\ttransition: none;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\\n\\tword-wrap: break-word;\\n}\\n\\n/**\\n * Resets an element AND its children.\\n */\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\t/* These are rule inherited by all children elements. */\\n\\tborder-collapse: collapse;\\n\\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\\n\\tcolor: var(--ck-color-text);\\n\\ttext-align: left;\\n\\twhite-space: nowrap;\\n\\tcursor: auto;\\n\\tfloat: none;\\n}\\n\\n.ck-reset_all {\\n\\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t& iframe:not(.ck-reset_all-excluded *) {\\n\\t\\t/* For IE */\\n\\t\\tvertical-align: inherit;\\n\\t}\\n\\n\\t& textarea:not(.ck-reset_all-excluded *) {\\n\\t\\twhite-space: pre-wrap;\\n\\t}\\n\\n\\t& textarea:not(.ck-reset_all-excluded *),\\n\\t& input[type=\\\"text\\\"]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\\\"password\\\"]:not(.ck-reset_all-excluded *) {\\n\\t\\tcursor: text;\\n\\t}\\n\\n\\t& textarea[disabled]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\\\"text\\\"][disabled]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\\\"password\\\"][disabled]:not(.ck-reset_all-excluded *) {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t& fieldset:not(.ck-reset_all-excluded *) {\\n\\t\\tpadding: 10px;\\n\\t\\tborder: 2px groove hsl(255, 7%, 88%);\\n\\t}\\n\\n\\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\\n\\t\\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\\n\\t\\tpadding: 0;\\n\\t\\tborder: 0\\n\\t}\\n}\\n\\n/**\\n * Default UI rules for RTL languages.\\n */\\n.ck[dir=\\\"rtl\\\"],\\n.ck[dir=\\\"rtl\\\"] .ck {\\n\\ttext-align: right;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Default border-radius value.\\n */\\n:root{\\n\\t--ck-border-radius: 2px;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/**\\n\\t * A visual style of element's inner shadow (i.e. input).\\n\\t */\\n\\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\\n\\n\\t/**\\n\\t * A visual style of element's drop shadow (i.e. panel).\\n\\t */\\n\\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\\n\\n\\t/**\\n\\t * A visual style of element's active shadow (i.e. comment or suggestion).\\n\\t */\\n\\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-spacing-unit: \\t\\t\\t\\t\\t\\t0.6em;\\n\\t--ck-spacing-large: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 1.5);\\n\\t--ck-spacing-standard: \\t\\t\\t\\t\\tvar(--ck-spacing-unit);\\n\\t--ck-spacing-medium: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.8);\\n\\t--ck-spacing-small: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.5);\\n\\t--ck-spacing-tiny: \\t\\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.3);\\n\\t--ck-spacing-extra-tiny: \\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.16);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-vertical-form .ck-button:after{bottom:-1px;content:\"\";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:\"\";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-number,.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAoED,CAlEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA+CF,CA7CE,8CACC,wDAYD,CAVC,4HAEC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CC5DF,0ODmEG,aCjEH,CDmEG,+IACC,kDACD,CDrEH\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n.ck-vertical-form .ck-button {\\n\\t&::after {\\n\\t\\tcontent: \\\"\\\";\\n\\t\\twidth: 0;\\n\\t\\tposition: absolute;\\n\\t\\tright: -1px;\\n\\t\\ttop: -1px;\\n\\t\\tbottom: -1px;\\n\\t\\tz-index: 1;\\n\\t}\\n\\n\\t&:focus::after {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n.ck.ck-responsive-form {\\n\\t@mixin ck-media-phone {\\n\\t\\t& .ck-button {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tright: -1px;\\n\\t\\t\\t\\ttop: -1px;\\n\\t\\t\\t\\tbottom: -1px;\\n\\t\\t\\t\\tz-index: 1;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus::after {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\\n\\tborder-right: 1px solid var(--ck-color-base-border);\\n}\\n\\n.ck.ck-responsive-form {\\n\\tpadding: var(--ck-spacing-large);\\n\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& > :not(:first-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& > :not(:last-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tpadding: 0;\\n\\t\\twidth: calc(.8 * var(--ck-input-width));\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\\n\\n\\t\\t\\t& .ck-input-text,\\n\\t\\t\\t& .ck-input-number {\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Let the long error messages wrap in the narrow form. */\\n\\t\\t\\t& .ck-labeled-field-view__error {\\n\\t\\t\\t\\twhite-space: normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\\n\\t\\t& > .ck-button:nth-last-child(2) {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& > .ck-button:nth-last-child(1),\\n\\t\\t& > .ck-button:nth-last-child(2) {\\n\\t\\t\\tpadding: var(--ck-spacing-standard);\\n\\t\\t\\tmargin-top: var(--ck-spacing-large);\\n\\t\\t\\tborder-radius: 0;\\n\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\n\\t\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-dialog-overlay{bottom:0;left:0;overscroll-behavior:none;position:fixed;right:0;top:0;user-select:none}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent{animation:none;background:none;pointer-events:none}.ck.ck-dialog{overscroll-behavior:none;position:absolute;width:fit-content}.ck.ck-dialog .ck.ck-form__header{flex-shrink:0}.ck.ck-dialog:not(.ck-dialog_modal) .ck.ck-form__header .ck-form__header__label{cursor:grab}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog{pointer-events:all}:root{--ck-dialog-overlay-background-color:rgba(0,0,0,.5);--ck-dialog-drop-shadow:0px 0px 6px 2px rgba(0,0,0,.15);--ck-dialog-max-width:100vw;--ck-dialog-max-height:90vh;--ck-color-dialog-background:var(--ck-color-base-background);--ck-color-dialog-form-header-border:var(--ck-color-base-border)}.ck.ck-dialog-overlay{animation:ck-dialog-fade-in .3s;background:var(--ck-dialog-overlay-background-color);z-index:var(--ck-z-dialog)}.ck.ck-dialog{border-radius:0;--ck-drop-shadow:var(--ck-dialog-drop-shadow);background:var(--ck-color-dialog-background);border:1px solid var(--ck-color-base-border);max-height:var(--ck-dialog-max-height);max-width:var(--ck-dialog-max-width);overscroll-behavior:contain}.ck-rounded-corners .ck.ck-dialog,.ck.ck-dialog.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dialog{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-dialog .ck.ck-form__header{border-bottom:1px solid var(--ck-color-dialog-form-header-border)}.ck-dialog-scroll-locked{overflow:hidden}@keyframes ck-dialog-fade-in{0%{background:transparent}to{background:var(--ck-dialog-overlay-background-color)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialog.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialog.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAKA,sBAKC,QAAS,CACT,MAAO,CAJP,wBAAyB,CAEzB,cAAe,CAGf,OAAQ,CACR,KAAM,CAPN,gBAcD,CALC,qDAEC,cAAe,CACf,eAAgB,CAFhB,mBAGD,CAGD,cACC,wBAAyB,CAEzB,iBAAkB,CADlB,iBAiBD,CAdC,kCACC,aACD,CAIC,gFACC,WACD,CAGD,mEACC,kBACD,CC/BD,MACC,mDAA2D,CAC3D,uDAA8D,CAC9D,2BAA4B,CAC5B,2BAA4B,CAC5B,4DAA6D,CAC7D,gEACD,CAEA,sBACC,+BAAgC,CAChC,oDAAqD,CACrD,0BACD,CAEA,cCbC,eAAgB,CDiBhB,6CAA8C,CAE9C,4CAA6C,CAG7C,4CAA6C,CAF7C,sCAAuC,CACvC,oCAAqC,CAErC,2BAKD,CC1BC,mEAEC,qCAED,CDOD,cEfC,oCF8BD,CAHC,kCACC,iEACD,CAGD,yBACC,eACD,CAEA,6BACC,GACC,sBACD,CAEA,GACC,oDACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-dialog-overlay {\\n\\tuser-select: none;\\n\\toverscroll-behavior: none;\\n\\n\\tposition: fixed;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\ttop: 0;\\n\\n\\t&.ck-dialog-overlay__transparent {\\n\\t\\tpointer-events: none;\\n\\t\\tanimation: none;\\n\\t\\tbackground: none;\\n\\t}\\n}\\n\\n.ck.ck-dialog {\\n\\toverscroll-behavior: none;\\n\\twidth: fit-content;\\n\\tposition: absolute;\\n\\n\\t& .ck.ck-form__header {\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\n\\t/* Modals should not be draggable. */\\n\\t&:not(.ck-dialog_modal) {\\n\\t\\t& .ck.ck-form__header .ck-form__header__label {\\n\\t\\t\\tcursor: grab;\\n\\t\\t}\\n\\t}\\n\\n\\t.ck.ck-dialog-overlay.ck-dialog-overlay__transparent & {\\n\\t\\tpointer-events: all;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n:root {\\n\\t--ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 );\\n\\t--ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%);\\n\\t--ck-dialog-max-width: 100vw;\\n\\t--ck-dialog-max-height: 90vh;\\n\\t--ck-color-dialog-background: var(--ck-color-base-background);\\n\\t--ck-color-dialog-form-header-border: var(--ck-color-base-border);\\n}\\n\\n.ck.ck-dialog-overlay {\\n\\tanimation: ck-dialog-fade-in .3s;\\n\\tbackground: var(--ck-dialog-overlay-background-color);\\n\\tz-index: var(--ck-z-dialog);\\n}\\n\\n.ck.ck-dialog {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\t--ck-drop-shadow: var(--ck-dialog-drop-shadow);\\n\\n\\tbackground: var(--ck-color-dialog-background);\\n\\tmax-height: var(--ck-dialog-max-height);\\n\\tmax-width: var(--ck-dialog-max-width);\\n\\tborder: 1px solid var(--ck-color-base-border);\\n\\toverscroll-behavior: contain;\\n\\n\\t& .ck.ck-form__header {\\n\\t\\tborder-bottom: 1px solid var(--ck-color-dialog-form-header-border);\\n\\t}\\n}\\n\\n.ck-dialog-scroll-locked {\\n\\toverflow: hidden;\\n}\\n\\n@keyframes ck-dialog-fade-in {\\n\\t0% {\\n\\t\\tbackground: hsla( 0, 0%, 0%, 0 );\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground: var(--ck-dialog-overlay-background-color);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css\"],\"names\":[],\"mappings\":\"AAMC,8CACC,yBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& img.image_placeholder {\\n\\t\\tbackground-size: 100% 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-button.ck-dropdown-menu-list__nested-menu__item__button{border-radius:0}.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container,.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container .ck-spinner{--ck-toolbar-spinner-size:20px}.ck-button.ck-dropdown-menu-list__nested-menu__item__button>.ck-spinner-container{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus{border-color:transparent;box-shadow:none}.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenulistitembutton.css\"],\"names\":[],\"mappings\":\"AAQA,4DACC,eA0BD,CAxBC,gLAGC,8BACD,CAEA,kFAEC,4CAA+C,CAC/C,oCACD,CAMA,kEACC,wBAAyB,CACzB,eAKD,CAHC,8EACC,0DACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/*\\n * List item buttons.\\n */\\n.ck-button.ck-dropdown-menu-list__nested-menu__item__button {\\n\\tborder-radius: 0;\\n\\n\\t& > .ck-spinner-container,\\n\\t& > .ck-spinner-container .ck-spinner {\\n\\t\\t/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */\\n\\t\\t--ck-toolbar-spinner-size: 20px;\\n\\t}\\n\\n\\t& > .ck-spinner-container {\\n\\t\\t/* These margins are the same as for .ck-icon. */\\n\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/*\\n\\t * Hovered items automatically get focused. Default focus styles look odd\\n\\t * while moving across a huge list of items so let's get rid of them\\n\\t */\\n\\t&:focus {\\n\\t\\tborder-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t&:not(.ck-on) {\\n\\t\\t\\tbackground: var(--ck-color-button-default-hover-background);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}@media (forced-colors:active){.ck .ck-placeholder,.ck.ck-placeholder{forced-color-adjust:preserve-parent-color}}.ck .ck-placeholder:before,.ck.ck-placeholder:before{cursor:text}@media (forced-colors:none){.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text)}}@media (forced-colors:active){.ck .ck-placeholder:before,.ck.ck-placeholder:before{font-style:italic;margin-left:1px}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css\"],\"names\":[],\"mappings\":\"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC7BC,8BACC,uCCOA,yCDLA,CACD,CCOA,qDACC,WAmBD,CDvBA,4BACC,qDCMC,6CDJD,CACD,CAZA,8BACC,qDCsBC,iBAAkB,CAMlB,eD1BD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder,\\n.ck .ck-placeholder {\\n\\tposition: relative;\\n\\n\\t&::before {\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t\\tcontent: attr(data-placeholder);\\n\\n\\t\\t/* See ckeditor/ckeditor5#469. */\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\\n/* See ckeditor/ckeditor5#1987. */\\n.ck.ck-read-only .ck-placeholder {\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/*\\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\\n */\\n.ck.ck-reset_all .ck-placeholder {\\n\\tposition: relative;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-forced-colors {\\n\\t@media (forced-colors: active) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\\n@define-mixin ck-media-default-colors {\\n\\t@media (forced-colors: none) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\\\";\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder, .ck .ck-placeholder {\\n\\t@mixin ck-media-forced-colors {\\n\\t\\t/*\\n\\t\\t * This is needed for Edge on Windows to use the right color for the placeholder content (::before).\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/14907.\\n\\t\\t */\\n\\t\\tforced-color-adjust: preserve-parent-color;\\n\\t}\\n\\n\\t&::before {\\n\\t\\tcursor: text;\\n\\n\\t\\t@mixin ck-media-default-colors {\\n\\t\\t\\tcolor: var(--ck-color-engine-placeholder-text);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-media-forced-colors {\\n\\t\\t\\t/*\\n\\t\\t\\t * In the high contrast mode there is no telling between regular and placeholder text. Using\\n\\t\\t\\t * italic text to address that issue. See https://github.com/ckeditor/ckeditor5/issues/14907.\\n\\t\\t\\t */\\n\\t\\t\\tfont-style: italic;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Without this margin, the caret will not show up and blink when the user puts the selection\\n\\t\\t\\t * in the placeholder (Edge on Windows). See https://github.com/ckeditor/ckeditor5/issues/14907.\\n\\t\\t\\t */\\n\\t\\t\\tmargin-left: 1px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:\"\";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css\"],\"names\":[],\"mappings\":\"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck .ck-upload-placeholder-loader {\\n\\tposition: absolute;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\n\\t&::before {\\n\\t\\tcontent: '';\\n\\t\\tposition: relative;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\\n\\t--ck-upload-placeholder-loader-size: 32px;\\n\\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\\n}\\n\\n.ck .ck-image-upload-placeholder {\\n\\t/* We need to control the full width of the SVG gray background. */\\n\\twidth: 100%;\\n\\tmargin: 0;\\n\\n\\t&.image-inline {\\n\\t\\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\\n\\t}\\n\\n\\t& img {\\n\\t\\t/*\\n\\t\\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\\n\\t\\t * There's nothing special about this number except that it should make the image placeholder look like\\n\\t\\t * a real image during this short period after the upload started and before the image was read from the\\n\\t\\t * file system (and a rich preview was loaded).\\n\\t\\t */\\n\\t\\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\\n\\t}\\n}\\n\\n.ck .ck-upload-placeholder-loader {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t&::before {\\n\\t\\twidth: var(--ck-upload-placeholder-loader-size);\\n\\t\\theight: var(--ck-upload-placeholder-loader-size);\\n\\t\\tborder-radius: 50%;\\n\\t\\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\\n\\t\\tborder-right: 2px solid transparent;\\n\\t\\tanimation: ck-upload-placeholder-loader 1s linear infinite;\\n\\t}\\n}\\n\\n@keyframes ck-upload-placeholder-loader {\\n\\tto {\\n\\t\\ttransform: rotate( 360deg );\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-image-custom-resize-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-image-custom-resize-form .ck-labeled-field-view{display:inline-block}.ck.ck-image-custom-resize-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-image-custom-resize-form{flex-wrap:wrap}.ck.ck-image-custom-resize-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-image-custom-resize-form .ck-button{flex-basis:50%}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecustomresizeform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\"],\"names\":[],\"mappings\":\"AAOA,gCAIC,sBAAuB,CAHvB,YAAa,CACb,kBAAmB,CACnB,gBAsBD,CAnBC,uDACC,oBACD,CAEA,0CACC,YACD,CCbA,oCDCD,gCAeE,cAUF,CARE,uDACC,eACD,CAEA,2CACC,cACD,CCtBD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n.ck.ck-image-custom-resize-form {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\talign-items: flex-start;\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tdisplay: inline-block;\\n\\t}\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-menu-bar-menu-item-min-width:18em}.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item{min-width:var(--ck-menu-bar-menu-item-min-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitem.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,sCACD,CAEA,kDACC,gDACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-menu-bar-menu-item-min-width: 18em;\\n}\\n\\n.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item {\\n\\tmin-width: var(--ck-menu-bar-menu-item-min-width);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget{transition:none}}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{box-shadow:var(--ck-inner-shadow),0 0}@media (forced-colors:none){.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background)}}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused:not(td,th),.ck .ck-editor__nested-editable:focus:not(td,th){border:var(--ck-focus-ring);outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{transition:none}}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}@media (prefers-reduced-motion:reduce){.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{transition:none}}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CChFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAcD,CAZC,uCAND,eAOE,eAWF,CAVC,CAEA,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAoBD,CAhBC,yGCrCA,qCDoDA,CE/CA,4BACC,yGFmCC,iEEjCD,CACD,CFwCC,+HG/CD,2BAA2B,CAD3B,YHkDC,CAKD,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAwCD,CA3BC,uCAzBD,4EA0BE,eA0BF,CAzBC,CAEA,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAeD,CAVC,kHACC,SAAU,CAGV,+DAKD,CAHC,uCAND,kHAOE,eAEF,CADC,CAKF,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-resizer: var(--ck-color-focus-border);\\n\\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\\n\\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\\n\\n\\t--ck-resizer-border-radius: var(--ck-border-radius);\\n\\t--ck-resizer-tooltip-offset: 10px;\\n\\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\\n}\\n\\n.ck .ck-widget {\\n\\t/* This is neccessary for type around UI to be positioned properly. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n\\n\\t& .ck-widget__selection-handle {\\n\\t\\tposition: absolute;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the icon in not a subject to font-size or line-height to avoid\\n\\t\\t\\tunnecessary spacing around it. */\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n\\n\\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n}\\n\\n.ck .ck-size-view {\\n\\tbackground: var(--ck-color-resizer-tooltip-background);\\n\\tcolor: var(--ck-color-resizer-tooltip-text);\\n\\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\tfont-size: var(--ck-font-size-tiny);\\n\\tdisplay: block;\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\theight: var(--ck-resizer-tooltip-height);\\n\\tline-height: var(--ck-resizer-tooltip-height);\\n\\n\\t&.ck-orientation-top-left,\\n\\t&.ck-orientation-top-right,\\n\\t&.ck-orientation-bottom-right,\\n\\t&.ck-orientation-bottom-left,\\n\\t&.ck-orientation-above-center {\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t&.ck-orientation-top-left {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-top-right {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t/* Class applied if the widget is too small to contain the size label */\\n\\t&.ck-orientation-above-center {\\n\\t\\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\\n\\t\\tleft: 50%;\\n\\t\\ttransform: translate(-50%);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../mixins/_focus.css\\\";\\n@import \\\"../mixins/_shadow.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\\\";\\n\\n:root {\\n\\t--ck-widget-outline-thickness: 3px;\\n\\t--ck-widget-handler-icon-size: 16px;\\n\\t--ck-widget-handler-animation-duration: 200ms;\\n\\t--ck-widget-handler-animation-curve: ease;\\n\\n\\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\\n\\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\\n\\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\\n\\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\\n}\\n\\n.ck .ck-widget {\\n\\toutline-width: var(--ck-widget-outline-thickness);\\n\\toutline-style: solid;\\n\\toutline-color: transparent;\\n\\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\ttransition: none;\\n\\t}\\n\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\\n\\t}\\n\\n\\t&:hover {\\n\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t}\\n}\\n\\n.ck .ck-editor__nested-editable {\\n\\tborder: 1px solid transparent;\\n\\n\\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\\n\\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\\n\\t&.ck-editor__nested-editable_focused,\\n\\t&:focus {\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\t\\t@mixin ck-media-default-colors {\\n\\t\\t\\tbackground-color: var(--ck-color-widget-editable-focus-background);\\n\\t\\t}\\n\\n\\t\\t/**\\n\\t\\t * Focus border should not be applied to table cells because it overrides the default table cell border color.\\n\\t\\t * In other words - in some scenarios, the part of the table cell border has focus color style, which is not expected behavior\\n\\t\\t * because it should be the same as the table cell border color.\\n\\t\\t */\\n\\t\\t&:not(td, th) {\\n\\t\\t\\t@mixin ck-focus-ring;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t& .ck-widget__selection-handle {\\n\\t\\tpadding: 4px;\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: 0;\\n\\n\\t\\t/* Transition:\\n\\t\\t * background-color for the .ck-widget_selected state change,\\n\\t\\t * visibility for hiding the handler,\\n\\t\\t * opacity for the proper look of the icon when the handler disappears. */\\n\\t\\ttransition:\\n\\t\\t\\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t/* Make only top corners round. */\\n\\t\\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\\n\\n\\t\\t/* Place the drag handler outside the widget wrapper. */\\n\\t\\ttransform: translateY(-100%);\\n\\t\\tleft: calc(0px - var(--ck-widget-outline-thickness));\\n\\t\\ttop: 0;\\n\\n\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\ttransition: none;\\n\\t\\t}\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\\n\\t\\t\\twidth: var(--ck-widget-handler-icon-size);\\n\\t\\t\\theight: var(--ck-widget-handler-icon-size);\\n\\t\\t\\tcolor: var(--ck-color-widget-drag-handler-icon-color);\\n\\n\\t\\t\\t/* The \\\"selected\\\" part of the icon is invisible by default */\\n\\t\\t\\t& .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 0;\\n\\n\\t\\t\\t\\t/* Note: The animation is longer on purpose. Simply feels better. */\\n\\t\\t\\t\\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\t\\t\\ttransition: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\\n\\t\\t&:hover .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\topacity: 1;\\n\\t\\tbackground-color: var(--ck-color-widget-hover-border);\\n\\t}\\n\\n\\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\topacity: 1;\\n\\t\\t\\tbackground-color: var(--ck-color-focus-border);\\n\\n\\t\\t\\t/* When the widget is selected, notify the user using the proper look of the icon. */\\n\\t\\t\\t& .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* In a RTL environment, align the selection handler to the right side of the widget */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck[dir=\\\"rtl\\\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\\n\\tleft: auto;\\n\\tright: calc(0px - var(--ck-widget-outline-thickness));\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\\n.ck.ck-editor__editable.ck-read-only .ck-widget {\\n\\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\\n\\ttransition: none;\\n\\n\\t&:not(.ck-widget_selected) {\\n\\t\\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\\n\\t\\t *\\n\\t\\t * Leave the unit because this custom property is used in calc() by other features.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\\n\\t\\t */\\n\\t\\t--ck-widget-outline-thickness: 0px;\\n\\t}\\n\\n\\t&.ck-widget_with-selection-handle {\\n\\t\\t& .ck-widget__selection-handle,\\n\\t\\t& .ck-widget__selection-handle:hover {\\n\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Style the widget when it's selected but the editable it belongs to lost focus. */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck.ck-editor__editable.ck-blurred .ck-widget {\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline-color: var(--ck-color-widget-blurred-border);\\n\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t& > .ck-widget__selection-handle,\\n\\t\\t\\t& > .ck-widget__selection-handle:hover {\\n\\t\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\\n\\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\\n\\tIn fact, anything with overflow: hidden.\\n\\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\\n\\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-forced-colors {\\n\\t@media (forced-colors: active) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\\n@define-mixin ck-media-default-colors {\\n\\t@media (forced-colors: none) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:\"\";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@media (prefers-reduced-motion:reduce){.ck-image-upload-complete-icon{animation-duration:0ms}.ck-image-upload-complete-icon:after{animation:none;height:.45em;opacity:1;width:.3em}}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css\"],\"names\":[],\"mappings\":\"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFAqCD,CAjCC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAEA,uCA7CD,+BA8CE,sBASF,CAPE,qCACC,cAAe,CAGf,YAAc,CAFd,SAAU,CACV,UAED,CACD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-image-upload-complete-icon {\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\n\\t/*\\n\\t * Smaller images should have the icon closer to the border.\\n\\t * Match the icon position with the linked image indicator brought by the link image feature.\\n\\t */\\n\\ttop: min(var(--ck-spacing-medium), 6%);\\n\\tright: min(var(--ck-spacing-medium), 6%);\\n\\tborder-radius: 50%;\\n\\tz-index: 1;\\n\\n\\t&::after {\\n\\t\\tcontent: \\\"\\\";\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\\n\\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\\n\\n\\t/* Match the icon size with the linked image indicator brought by the link image feature. */\\n\\t--ck-image-upload-icon-size: 20;\\n\\t--ck-image-upload-icon-width: 2px;\\n\\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\\n}\\n\\n.ck-image-upload-complete-icon {\\n\\topacity: 0;\\n\\tbackground: var(--ck-color-image-upload-icon-background);\\n\\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\\n\\tanimation-fill-mode: forwards, forwards;\\n\\tanimation-duration: 500ms, 500ms;\\n\\n\\t/* To make animation scalable. */\\n\\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\\n\\n\\t/* Hide completed upload icon after 3 seconds. */\\n\\tanimation-delay: 0ms, 3000ms;\\n\\n\\t/*\\n\\t * Use CSS math to simulate container queries.\\n\\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\\n\\t */\\n\\toverflow: hidden;\\n\\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\\n\\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\\n\\n\\t/* This is check icon element made from border-width mixed with animations. */\\n\\t&::after {\\n\\t\\t/* Because of border transformation we need to \\\"hard code\\\" left position. */\\n\\t\\tleft: 25%;\\n\\n\\t\\ttop: 50%;\\n\\t\\topacity: 0;\\n\\t\\theight: 0;\\n\\t\\twidth: 0;\\n\\n\\t\\ttransform: scaleX(-1) rotate(135deg);\\n\\t\\ttransform-origin: left top;\\n\\t\\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\\n\\t\\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\\n\\n\\t\\tanimation-name: ck-upload-complete-icon-check;\\n\\t\\tanimation-duration: 500ms;\\n\\t\\tanimation-delay: 500ms;\\n\\t\\tanimation-fill-mode: forwards;\\n\\n\\t\\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\tanimation-duration: 0ms;\\n\\n\\t\\t&::after {\\n\\t\\t\\tanimation: none;\\n\\t\\t\\topacity: 1;\\n\\t\\t\\twidth: 0.3em;\\n\\t\\t\\theight: 0.45em;\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-show {\\n\\tfrom {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\tto {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-hide {\\n\\tfrom {\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\tto {\\n\\t\\topacity: 0;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-check {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t}\\n\\t33% {\\n\\t\\twidth: 0.3em;\\n\\t\\theight: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t\\twidth: 0.3em;\\n\\t\\theight: 0.45em;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css\"],\"names\":[],\"mappings\":\"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-list-styles-list {\\n\\tdisplay: grid;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-list-style-button-size: 44px;\\n}\\n\\n.ck.ck-list-styles-list {\\n\\tgrid-template-columns: repeat( 3, auto );\\n\\trow-gap: var(--ck-spacing-medium);\\n\\tcolumn-gap: var(--ck-spacing-medium);\\n\\tpadding: var(--ck-spacing-large);\\n\\n\\t& .ck-button {\\n\\t\\t/* Make the button look like a thumbnail (the icon \\\"takes it all\\\"). */\\n\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\tpadding: 0;\\n\\n\\t\\t/*\\n\\t\\t * Buttons are aligned by the grid so disable default button margins to not collide with the\\n\\t\\t * gaps in the grid.\\n\\t\\t */\\n\\t\\tmargin: 0;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\\n\\t\\t * from the button dimensions and, as a result, decrease the size of the icon\\n\\t\\t * (which becomes blurry as it scales down).\\n\\t\\t */\\n\\t\\tbox-sizing: content-box;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-color-mention-background:rgba(153,0,48,.1);--ck-color-mention-text:#990030}.ck-content .mention{background:var(--ck-color-mention-background);color:var(--ck-color-mention-text)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-mention/mention.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,+CAAwD,CACxD,+BACD,CAEA,qBACC,6CAA8C,CAC9C,kCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-mention-background: hsla(341, 100%, 30%, 0.1);\\n\\t--ck-color-mention-text: hsl(341, 100%, 30%);\\n}\\n\\n.ck-content .mention {\\n\\tbackground: var(--ck-color-mention-background);\\n\\tcolor: var(--ck-color-mention-text);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css\"],\"names\":[],\"mappings\":\"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-content blockquote {\\n\\t/* See #12 */\\n\\toverflow: hidden;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\\n\\tpadding-right: 1.5em;\\n\\tpadding-left: 1.5em;\\n\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n\\tfont-style: italic;\\n\\tborder-left: solid 5px hsl(0, 0%, 80%);\\n}\\n\\n.ck-content[dir=\\\"rtl\\\"] blockquote {\\n\\tborder-left: 0;\\n\\tborder-right: solid 5px hsl(0, 0%, 80%);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-image-insert-url{padding:var(--ck-spacing-large) var(--ck-spacing-large) 0;width:400px}.ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width);padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAKA,wBAEC,yDAA0D,CAD1D,WAOD,CAJC,yDACC,YAAa,CACb,mCACD,CCLD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CACd,UASD,CCpCA,iDD8BE,eC5BF,CAFA,iDDkCE,gBChCF,CDoCA,4CASC,oDACD,CATC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,iDACC,oDAAqD,CACrD,+BACD,CAEA,+BACC,YACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-image-insert-url {\\n\\twidth: 400px;\\n\\tpadding: var(--ck-spacing-large) var(--ck-spacing-large) 0;\\n\\n\\t& .ck-image-insert-url__action-row {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: repeat(2, 1fr);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n:root {\\n\\t--ck-image-insert-insert-by-url-width: 250px;\\n}\\n\\n.ck.ck-image-insert-url {\\n\\t--ck-input-width: 100%;\\n\\n\\t& .ck-image-insert-url__action-row {\\n\\t\\tgrid-column-gap: var(--ck-spacing-large);\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button-save,\\n\\t\\t& .ck-button-cancel {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tmin-width: auto;\\n\\t\\t}\\n\\n\\t\\t& .ck-button .ck-button__label {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-image-insert-form {\\n\\t& > .ck.ck-button {\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-collapsible {\\n\\t\\t&:not(:first-child) {\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t}\\n\\n\\t\\t&:not(:last-child) {\\n\\t\\t\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\t\\t}\\n\\n\\t\\tmin-width: var(--ck-image-insert-insert-by-url-width);\\n\\t}\\n\\n\\t/* This is the case when there are no other integrations configured than insert by URL */\\n\\t& > .ck.ck-image-insert-url {\\n\\t\\tmin-width: var(--ck-image-insert-insert-by-url-width);\\n\\t\\tpadding: var(--ck-spacing-large);\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);border-radius:0;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}@media (prefers-reduced-motion:reduce){.ck.ck-input{transition:none}}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}@media (prefers-reduced-motion:reduce){.ck.ck-input.ck-error{animation:none}}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aAGC,2CAA4C,CAC5C,6CAA8C,CCT9C,eAAgB,CDchB,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DAkCD,CCjDC,iEAEC,qCAED,CDaA,uCAdD,aAeE,eA+BF,CA9BC,CAEA,mBEvBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YF2BA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BGnCD,oDHsCC,CAGD,sBAEC,sCAAuC,CADvC,+CAUD,CAPC,uCAJD,sBAKE,cAMF,CALC,CAEA,4BGjDD,iDHmDC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_focus.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n\\n:root {\\n\\t--ck-input-width: 18em;\\n\\n\\t/* Backward compatibility. */\\n\\t--ck-input-text-width: var(--ck-input-width);\\n}\\n\\n.ck.ck-input {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-input-background);\\n\\tborder: 1px solid var(--ck-color-input-border);\\n\\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\\n\\tmin-width: var(--ck-input-width);\\n\\n\\t/* This is important to stay of the same height as surrounding buttons */\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\ttransition: none;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t&[readonly] {\\n\\t\\tborder: 1px solid var(--ck-color-input-disabled-border);\\n\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\n\\t\\t&:focus {\\n\\t\\t\\t/* The read-only input should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\tborder-color: var(--ck-color-input-error-border);\\n\\t\\tanimation: ck-input-shake .3s ease both;\\n\\n\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\tanimation: none;\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-input-shake {\\n\\t20% {\\n\\t\\ttransform: translateX(-2px);\\n\\t}\\n\\n\\t40% {\\n\\t\\ttransform: translateX(2px);\\n\\t}\\n\\n\\t60% {\\n\\t\\ttransform: translateX(-1px);\\n\\t}\\n\\n\\t80% {\\n\\t\\ttransform: translateX(1px);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}.ck.ck-aria-live-region-list{list-style-type:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css\"],\"names\":[],\"mappings\":\"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD,CAEA,6BACC,oBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-aria-live-announcer {\\n\\tposition: absolute;\\n\\tleft: -10000px;\\n\\ttop: -10000px;\\n}\\n\\n.ck.ck-aria-live-region-list {\\n\\tlist-style-type: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css\"],\"names\":[],\"mappings\":\"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAGC,eAAgB,CAChB,aAAc,CAFd,eAAiB,CADjB,UAmBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-collapsible.ck-collapsible_collapsed {\\n\\t& > .ck-collapsible__children {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-collapsible {\\n\\t& > .ck.ck-button {\\n\\t\\twidth: 100%;\\n\\t\\tfont-weight: bold;\\n\\t\\tborder-radius: 0;\\n\\t\\tcolor: inherit;\\n\\n\\t\\t&:focus {\\n\\t\\t\\tbackground: transparent;\\n\\t\\t}\\n\\n\\t\\t&:active, &:not(:focus), &:hover:not(:focus) {\\n\\t\\t\\tbackground: transparent;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t& > .ck-icon {\\n\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t\\twidth: var(--ck-collapsible-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-collapsible__children {\\n\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);\\n\\t}\\n\\n\\t&.ck-collapsible_collapsed {\\n\\t\\t& > .ck.ck-button .ck-icon {\\n\\t\\t\\ttransform: rotate(-90deg);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css\"],\"names\":[],\"mappings\":\"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-form {\\n\\tpadding: 0 0 var(--ck-spacing-large);\\n\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t& .ck.ck-input-text {\\n\\t\\tmin-width: 100%;\\n\\t\\twidth: 0;\\n\\t}\\n\\n\\t& .ck.ck-dropdown {\\n\\t\\tmin-width: 100%;\\n\\n\\t\\t& .ck-dropdown__button {\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css\"],\"names\":[],\"mappings\":\"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-list-properties {\\n\\t/* When there are no list styles and there is no collapsible. */\\n\\t&.ck-list-properties_without-styles {\\n\\t\\tpadding: var(--ck-spacing-large);\\n\\n\\t\\t& > * {\\n\\t\\t\\tmin-width: 14em;\\n\\n\\t\\t\\t& + * {\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * When the numbered list property fields (start at, reversed) should be displayed,\\n\\t * more horizontal space is needed. Reconfigure the style grid to create that space.\\n\\t */\\n\\t&.ck-list-properties_with-numbered-properties {\\n\\t\\t& > .ck-list-styles-list {\\n\\t\\t\\tgrid-template-columns: repeat( 4, auto );\\n\\t\\t}\\n\\n\\t\\t/* When list styles are rendered and property fields are in a collapsible. */\\n\\t\\t& > .ck-collapsible {\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\n\\t\\t\\t& > .ck-collapsible__children {\\n\\t\\t\\t\\t& > * {\\n\\t\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t\\t& + * {\\n\\t\\t\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-numbered-list-properties__start-index .ck-input {\\n\\t\\tmin-width: auto;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& .ck.ck-numbered-list-properties__reversed-order {\\n\\t\\tbackground: transparent;\\n\\t\\tpadding-left: 0;\\n\\t\\tpadding-right: 0;\\n\\t\\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\\n\\n\\t\\t&:active, &:hover {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css\"],\"names\":[],\"mappings\":\"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-highlighted-text mark {\\n\\tbackground: var(--ck-color-highlight-background);\\n\\tvertical-align: initial;\\n\\tfont-weight: inherit;\\n\\tline-height: inherit;\\n\\tfont-size: inherit;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css\"],\"names\":[],\"mappings\":\"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck .ck-widget_with-resizer {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\\n\\tpointer-events: none;\\n\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\\n\\t& > .ck-widget__resizer {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\tposition: absolute;\\n\\n\\t/* Resizers are the only UI elements that should interfere with a pointer device. */\\n\\tpointer-events: all;\\n\\n\\t&.ck-widget__resizer__handle-top-left,\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tcursor: nwse-resize;\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right,\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tcursor: nesw-resize;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-resizer-size: 10px;\\n\\n\\t/* Set the resizer with a 50% offset. */\\n\\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\\n\\t--ck-resizer-border-width: 1px;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\toutline: 1px solid var(--ck-color-resizer);\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\twidth: var(--ck-resizer-size);\\n\\theight: var(--ck-resizer-size);\\n\\tbackground: var(--ck-color-focus-border);\\n\\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\n\\t&.ck-widget__resizer__handle-top-left {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-link-form{align-items:flex-start;display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:0 var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAOA,iBAEC,sBAAuB,CADvB,YAkBD,CAfC,2BACC,YACD,CCPA,oCDCD,iBASE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CChBD,CDwBD,iCACC,aAYD,CALE,wHAEC,mCACD,CEhCF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CC1BD,4GDiCE,aC/BF,CDiCE,mEACC,kDACD,CAKF,6CACC,gCAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n.ck.ck-link-form {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Style link form differently when manual decorators are available.\\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\\n */\\n.ck.ck-link-form_layout-vertical {\\n\\tdisplay: block;\\n\\n\\t/*\\n\\t * Whether the form is in the responsive mode or not, if there are decorator buttons\\n\\t * keep the top margin of action buttons medium.\\n\\t */\\n\\t& .ck-button {\\n\\t\\t&.ck-button-save,\\n\\t\\t&.ck-button-cancel {\\n\\t\\t\\tmargin-top: var(--ck-spacing-medium);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n/*\\n * Style link form differently when manual decorators are available.\\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\\n */\\n.ck.ck-link-form_layout-vertical {\\n\\tpadding: 0;\\n\\tmin-width: var(--ck-input-width);\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\\n\\n\\t\\t& .ck-input-text {\\n\\t\\t\\tmin-width: 0;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-button {\\n\\t\\tpadding: var(--ck-spacing-standard);\\n\\t\\tmargin: 0;\\n\\t\\twidth: 50%;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t&:not(:focus) {\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: 0;\\n\\n\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\\n\\t& .ck.ck-list {\\n\\t\\tmargin: 0 var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button.ck-switchbutton {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-dropdown>.ck-dropdown__panel>.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],\"names\":[],\"mappings\":\"AAOA,6CCIC,eDqBD,CCnBC,iIAEC,qCAAsC,CDJtC,wBCMD,CDAC,mFCND,eDYC,CCVD,6MAEC,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBCFH,CDQC,kFCdD,eDmBC,CCjBD,2MAEC,qCAAsC,CDYpC,wBAAyB,CACzB,yBCXH\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n\\n.ck.ck-dropdown > .ck-dropdown__panel > .ck-list {\\n\\t/* Disabled radius of top-left border to be consistent with .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t/* Make sure the button belonging to the first/last child of the list goes well with the\\n\\tborder radius of the entire panel. */\\n\\t& .ck-list__item {\\n\\t\\t&:first-child > .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:last-child > .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-panel)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);border-radius:0;max-height:200px;min-width:auto;overflow-y:auto}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCAMC,0CAA2C,CAC3C,sDAAuD,CCLxD,eAAgB,CDEf,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CCrBA,uHAEC,qCAED,CDRA,wCEAA,oCFyBA,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-autocomplete {\\n\\tposition: relative;\\n\\n\\t& > .ck-search__results {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: var(--ck-z-panel);\\n\\n\\t\\t&.ck-search__results_n {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__results_s {\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\\\";\\n@import \\\"@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\\\";\\n\\n.ck.ck-autocomplete {\\n\\t& > .ck-search__results {\\n\\t\\t@mixin ck-rounded-corners;\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tmax-height: 200px;\\n\\t\\toverflow-y: auto;\\n\\t\\tbackground: var(--ck-color-base-background);\\n\\t\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\t\\tmin-width: auto;\\n\\n\\t\\t&.ck-search__results_n {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t/* Prevent duplicated borders between the input and the results pane. */\\n\\t\\t\\tmargin-bottom: -1px;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__results_s {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\n\\t\\t\\t/* Prevent duplicated borders between the input and the results pane. */\\n\\t\\t\\tmargin-top: -1px;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\\n}\\n\\n.ck.ck-editor__editable .table table {\\n\\t& td.ck-editor__editable_selected,\\n\\t& th.ck-editor__editable_selected {\\n\\t\\tposition: relative;\\n\\t\\tcaret-color: transparent;\\n\\t\\toutline: unset;\\n\\t\\tbox-shadow: unset;\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\\n\\t\\t&:after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tpointer-events: none;\\n\\t\\t\\tbackground-color: var(--ck-table-selected-cell-background);\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t}\\n\\n\\t\\t& ::selection,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\\n\\t\\t */\\n\\t\\t& .ck-widget {\\n\\t\\t\\toutline: unset;\\n\\n\\t\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css\"],\"names\":[],\"mappings\":\"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CCZD,wMDUG,0BCRH,CDeC,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CErBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CDhBF,gHCoBI,uCDlBJ,CAFA,gHCwBI,sCDtBJ,CC2BC,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-color-selector {\\n\\t/* View fragment with color grids. */\\n\\t& .ck-color-grids-fragment {\\n\\t\\t& .ck-button.ck-color-selector__remove-color,\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* View fragment with a color picker. */\\n\\t& .ck-color-picker-fragment {\\n\\t\\t& .ck.ck-color-selector_action-bar {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\tjustify-content: space-around;\\n\\n\\t\\t\\t& .ck-button-save,\\n\\t\\t\\t& .ck-button-cancel {\\n\\t\\t\\t\\tflex: 1\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-color-selector {\\n\\t/* View fragment with color grids. */\\n\\t& .ck-color-grids-fragment {\\n\\t\\t& .ck-button.ck-color-selector__remove-color,\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck.ck-icon {\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& label.ck.ck-color-grid__label {\\n\\t\\t\\tfont-weight: unset;\\n\\t\\t}\\n\\t}\\n\\n\\t/* View fragment with a color picker. */\\n\\t& .ck-color-picker-fragment {\\n\\t\\t& .ck.ck-color-picker {\\n\\t\\t\\tpadding: 8px;\\n\\n\\t\\t\\t& .hex-color-picker {\\n\\t\\t\\t\\theight: 100px;\\n\\t\\t\\t\\tmin-width: 180px;\\n\\n\\t\\t\\t\\t&::part(saturation) {\\n\\t\\t\\t\\t\\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&::part(hue) {\\n\\t\\t\\t\\t\\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&::part(saturation-pointer),\\n\\t\\t\\t\\t&::part(hue-pointer) {\\n\\t\\t\\t\\t\\twidth: 15px;\\n\\t\\t\\t\\t\\theight: 15px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-color-selector_action-bar {\\n\\t\\t\\tpadding: 0 8px 8px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Copyright (c) 2013 Pieroxy \n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highlighted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}@media (forced-colors:active){.ck-content .image>figcaption{background-color:unset;color:unset}}@media (forced-colors:none){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:none}}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highlighted-background)}to{background-color:var(--ck-color-image-caption-background)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\"],\"names\":[],\"mappings\":\"AAOA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,oDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAYD,CAJC,8BAXD,8BAYE,sBAAuB,CACvB,WAEF,CADC,CCdA,4BACC,qEDmBA,iDCjBA,CACD,CDmBA,uCALD,qEAME,cAEF,CADC,CAGD,sCACC,GACC,qEACD,CAEA,GACC,yDACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\\\";\\n\\n:root {\\n\\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\\n\\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\\n\\t--ck-color-image-caption-highlighted-background: hsl(52deg 100% 50%);\\n}\\n\\n/* Content styles */\\n.ck-content .image > figcaption {\\n\\tdisplay: table-caption;\\n\\tcaption-side: bottom;\\n\\tword-break: break-word;\\n\\tcolor: var(--ck-color-image-caption-text);\\n\\tbackground-color: var(--ck-color-image-caption-background);\\n\\tpadding: .6em;\\n\\tfont-size: .75em;\\n\\toutline-offset: -1px;\\n\\n\\t/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */\\n\\t@media (forced-colors: active) {\\n\\t\\tbackground-color: unset;\\n\\t\\tcolor: unset;\\n\\t}\\n}\\n\\n/* Editing styles */\\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\\n\\t@mixin ck-media-default-colors {\\n\\t\\tanimation: ck-image-caption-highlight .6s ease-out;\\n\\t}\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\tanimation: none;\\n\\t}\\n}\\n\\n@keyframes ck-image-caption-highlight {\\n\\t0% {\\n\\t\\tbackground-color: var(--ck-color-image-caption-highlighted-background);\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground-color: var(--ck-color-image-caption-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-forced-colors {\\n\\t@media (forced-colors: active) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\\n@define-mixin ck-media-default-colors {\\n\\t@media (forced-colors: none) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css\"],\"names\":[],\"mappings\":\"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.color-picker-hex-input {\\n\\twidth: max-content;\\n\\n\\t& .ck.ck-input {\\n\\t\\tmin-width: unset;\\n\\t}\\n}\\n\\n.ck.ck-color-picker__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\tmargin: var(--ck-spacing-large) 0 0;\\n\\twidth: unset;\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\tpadding-top: unset;\\n\\t}\\n\\n\\t& .ck.ck-input-text {\\n\\t\\twidth: unset;\\n\\t}\\n\\n\\t& .ck-color-picker__hash-view {\\n\\t\\tpadding-top: var(--ck-spacing-tiny);\\n\\t\\tpadding-right: var(--ck-spacing-medium);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-list-item-button{border-radius:0;min-height:unset;width:100%}[dir=ltr] .ck.ck-list-item-button{text-align:left}[dir=rtl] .ck.ck-list-item-button{text-align:right}[dir=ltr] .ck.ck-list-item-button.ck-list-item-button_toggleable{padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-list-item-button.ck-list-item-button_toggleable{padding-right:var(--ck-spacing-small)}.ck.ck-list-item-button .ck-list-item-button__check-holder{display:inline-flex;height:.9em;width:.9em}[dir=ltr] .ck.ck-list-item-button .ck-list-item-button__check-holder{margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-list-item-button .ck-list-item-button__check-holder{margin-left:var(--ck-spacing-small)}.ck.ck-list-item-button .ck-list-item-button__check-icon{height:100%}.ck.ck-button.ck-list-item-button{padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2)}.ck.ck-button.ck-list-item-button,.ck.ck-button.ck-list-item-button.ck-on{background:var(--ck-color-list-background);color:var(--ck-color-text)}[dir=ltr] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder){padding-right:var(--ck-spacing-small)}.ck.ck-button.ck-list-item-button.ck-button.ck-on:hover,.ck.ck-button.ck-list-item-button.ck-on:hover,.ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable),.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-button.ck-list-item-button.ck-button.ck-on:hover:not(.ck-disabled),.ck.ck-button.ck-list-item-button.ck-on:hover:not(.ck-disabled),.ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable):not(.ck-disabled),.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled):not(.ck-disabled){color:var(--ck-color-text)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/listitembutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/listitembutton.css\"],\"names\":[],\"mappings\":\"AAOA,wBAGC,eAAgB,CAFhB,gBAAiB,CACjB,UAsCD,CCzCC,kCDOC,eCLD,CAFA,kCDWC,gBCTD,CAFA,iEDgBE,oCCdF,CAFA,iEDoBE,qCClBF,CDsBA,2DACC,mBAAoB,CAEpB,WAAY,CADZ,UAUD,CCpCA,qED8BE,oCC5BF,CAFA,qEDkCE,mCChCF,CDoCA,yDACC,WACD,CEvCD,kCACC,iEAiCD,CA/BC,0EAEC,0CAA2C,CAC3C,0BACD,CDRA,oFCYE,oCDVF,CAFA,oFCgBE,qCDdF,CCuBA,6OAIC,uDAKD,CAHC,qTACC,0BACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../mixins/_dir.css\\\";\\n\\n.ck.ck-list-item-button {\\n\\tmin-height: unset;\\n\\twidth: 100%;\\n\\tborder-radius: 0;\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t&.ck-list-item-button_toggleable {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-list-item-button__check-holder {\\n\\t\\tdisplay: inline-flex;\\n\\t\\twidth: .9em;\\n\\t\\theight: .9em;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-list-item-button__check-icon {\\n\\t\\theight: 100%;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-button.ck-list-item-button {\\n\\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\\n\\n\\t&,\\n\\t&.ck-on {\\n\\t\\tbackground: var(--ck-color-list-background);\\n\\t\\tcolor: var(--ck-color-text);\\n\\t}\\n\\n\\t&:has(.ck-list-item-button__check-holder) {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * `.ck-on` class and background styling is overridden for `ck-button` in many places.\\n\\t * This is a workaround to make sure that the background is not overridden and uses similar\\n\\t * selector specificity as the other overrides.\\n\\t */\\n\\t&:hover:not(.ck-disabled),\\n\\t&.ck-button.ck-on:hover,\\n\\t&.ck-on:not(.ck-list-item-button_toggleable),\\n\\t&.ck-on:hover {\\n\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\n\\t\\t&:not(.ck-disabled) {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-panel) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck .ck-fake-panel {\\n\\tposition: absolute;\\n\\n\\t/* Fake panels should be placed under main balloon content. */\\n\\tz-index: calc(var(--ck-z-panel) - 1);\\n}\\n\\n.ck .ck-fake-panel div {\\n\\tposition: absolute;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tz-index: 2;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tz-index: 1;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_shadow.css\\\";\\n\\n:root {\\n\\t--ck-balloon-fake-panel-offset-horizontal: 6px;\\n\\t--ck-balloon-fake-panel-offset-vertical: 6px;\\n}\\n\\n/* Let's use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\\n.ck .ck-fake-panel div {\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: 1px solid var(--ck-color-panel-border);\\n\\tborder-radius: var(--ck-border-radius);\\n\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\\n\\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\\n}\\n.ck .ck-fake-panel div:nth-child( 3 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\\n}\\n\\n/* If balloon is positioned above element, we need to move fake panel to the top. */\\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\\n\\t--ck-balloon-fake-panel-offset-vertical: -6px;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzUuNzUgMCAwIDEtLjIxNy4yMDYgNS4yNTEgNS4yNTEgMCAwIDEtOC41MDMtNS45NTUuNy43IDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NHptNS40OTQtNS4zMzVhLjc1Ljc1IDAgMCAxLS4xMi4yNzRsLTEuMTQ3IDEuNjM5YS43NS43NSAwIDEgMS0xLjIyOC0uODZsLjg2LTEuMjNhMy43NSAzLjc1IDAgMCAwLTYuMTQ0LTQuMzAxbC0uODYgMS4yMjlhLjc1Ljc1IDAgMCAxLTEuMjI5LS44NmwxLjE0OC0xLjY0YS43NS43NSAwIDAgMSAuMjE3LS4yMDYgNS4yNTEgNS4yNTEgMCAwIDEgOC41MDMgNS45NTVtLTQuNTYzLTIuNTMyYS43NS43NSAwIDAgMSAuMTg0IDEuMDQ1bC0zLjE1NSA0LjUwNWEuNzUuNzUgMCAxIDEtMS4yMjktLjg2bDMuMTU1LTQuNTA2YS43NS43NSAwIDAgMSAxLjA0NS0uMTg0Ii8+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:\"\";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css\"],\"names\":[],\"mappings\":\"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,wDAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-editor__editable {\\n\\t/* Linked image indicator */\\n\\t& figure.image > a,\\n\\t& a span.image-inline {\\n\\t\\t&::after {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/* Match the icon size with the upload indicator brought by the image upload feature. */\\n\\t--ck-link-image-indicator-icon-size: 20;\\n\\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/* Linked image indicator */\\n\\t& figure.image > a,\\n\\t& a span.image-inline {\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \\\"\\\";\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Smaller images should have the icon closer to the border.\\n\\t\\t\\t * Match the icon position with the upload indicator brought by the image upload feature.\\n\\t\\t\\t */\\n\\t\\t\\ttop: min(var(--ck-spacing-medium), 6%);\\n\\t\\t\\tright: min(var(--ck-spacing-medium), 6%);\\n\\n\\t\\t\\tbackground-color: hsla(0, 0%, 0%, .4);\\n\\t\\t\\tbackground-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+\\\");\\n\\t\\t\\tbackground-size: 14px;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tborder-radius: 100%;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t* Use CSS math to simulate container queries.\\n\\t\\t\\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\\n\\t\\t\\t*/\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\\n\\t\\t\\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css\"],\"names\":[],\"mappings\":\"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-table-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tflex-basis: 0;\\n\\t\\t\\talign-content: baseline;\\n\\n\\t\\t\\t& .ck.ck-toolbar .ck-toolbar__items {\\n\\t\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-table-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t& .ck-toolbar__items > * {\\n\\t\\t\\t\\t\\twidth: 40px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal));--ck-icon-font-size:.8333350694em}.ck.ck-icon{font-size:var(--ck-icon-font-size);height:var(--ck-icon-size);width:var(--ck-icon-size)}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css\"],\"names\":[],\"mappings\":\"AAKA,YACC,qBACD,CCFA,MACC,0EAA6E,CAC7E,iCACD,CAEA,YAKC,kCAAmC,CAHnC,0BAA2B,CAD3B,yBA2BD,CAlBC,0BAFA,cAKA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-icon {\\n\\tvertical-align: middle;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\\n\\t--ck-icon-font-size: .8333350694em;\\n}\\n\\n.ck.ck-icon {\\n\\twidth: var(--ck-icon-size);\\n\\theight: var(--ck-icon-size);\\n\\n\\t/* Multiplied by the height of the line in \\\"px\\\" should give SVG \\\"viewport\\\" dimensions */\\n\\tfont-size: var(--ck-icon-font-size);\\n\\n\\t/* Inherit cursor style (#5). */\\n\\tcursor: inherit;\\n\\n\\t& * {\\n\\t\\t/* Inherit cursor style (#5). */\\n\\t\\tcursor: inherit;\\n\\t}\\n\\n\\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\\n\\t&.ck-icon_inherit-color {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t& * {\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:not([fill]) {\\n\\t\\t\\t\\t/* Needed by FF. */\\n\\t\\t\\t\\tfill: currentColor;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);\\n\\t--ck-table-column-resizer-width: 7px;\\n\\n\\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\\n\\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\\n\\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\\n}\\n\\n.ck-content .table .ck-table-resized {\\n\\ttable-layout: fixed;\\n}\\n\\n.ck-content .table table {\\n\\toverflow: hidden;\\n}\\n\\n.ck-content .table td,\\n.ck-content .table th {\\n\\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\\n\\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\\n\\toverflow-wrap: break-word;\\n\\tposition: relative;\\n}\\n\\n.ck.ck-editor__editable .table .ck-table-column-resizer {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tbottom: 0;\\n\\tright: var(--ck-table-column-resizer-position-offset);\\n\\twidth: var(--ck-table-column-resizer-width);\\n\\tcursor: col-resize;\\n\\tuser-select: none;\\n\\tz-index: var(--ck-z-default);\\n}\\n\\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\\n\\tdisplay: none;\\n}\\n\\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\\n all resizers must be hidden while the table is dragged. */\\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\\n\\tdisplay: none;\\n}\\n\\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\\n\\tbackground-color: var(--ck-color-selector-column-resizer-hover);\\n\\topacity: 0.25;\\n\\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\\n\\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\\n\\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\\n\\t unrealistic height for a single table. */\\n\\ttop: -999999px;\\n\\tbottom: -999999px;\\n}\\n\\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\\n\\tleft: var(--ck-table-column-resizer-position-offset);\\n\\tright: unset;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-content img.image_resized{height:auto}.ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css\"],\"names\":[],\"mappings\":\"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/* Preserve aspect ratio of the resized image after introducing image height attribute. */\\n.ck-content img.image_resized {\\n\\theight: auto;\\n}\\n\\n.ck-content .image.image_resized {\\n\\tmax-width: 100%;\\n\\t/*\\n\\tThe `
` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\\n\\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\\n\\tFortunately, since we control the width, there is no risk that the image will look bad.\\n\\t*/\\n\\tdisplay: block;\\n\\tbox-sizing: border-box;\\n\\n\\t& img {\\n\\t\\t/* For resized images it is the `
` element that determines the image width. */\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& > figcaption {\\n\\t\\t/* The `
` element uses `display:block`, so `
` also has to. */\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/* The resized inline image nested in the table should respect its parent size.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\\n\\t& td,\\n\\t& th {\\n\\t\\t& .image-inline.image_resized img {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n[dir=\\\"ltr\\\"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\\n\\tmargin-right: var(--ck-spacing-standard);\\n}\\n\\n[dir=\\\"rtl\\\"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\\n\\tmargin-left: var(--ck-spacing-standard);\\n}\\n\\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\\n\\twidth: 4em;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join(\"\\n\");\n };\n}();\n\n/* istanbul ignore next */\nfunction apply(styleElement, index, remove, obj) {\n var css;\n if (remove) {\n css = \"\";\n } else {\n css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n }\n\n // For old IE\n /* istanbul ignore if */\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = styleElement.childNodes;\n if (childNodes[index]) {\n styleElement.removeChild(childNodes[index]);\n }\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index]);\n } else {\n styleElement.appendChild(cssNode);\n }\n }\n}\nvar singletonData = {\n singleton: null,\n singletonCounter: 0\n};\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") return {\n update: function update() {},\n remove: function remove() {}\n };\n\n // eslint-disable-next-line no-undef,no-use-before-define\n var styleIndex = singletonData.singletonCounter++;\n var styleElement =\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton || (\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton = options.insertStyleElement(options));\n return {\n update: function update(obj) {\n apply(styleElement, styleIndex, false, obj);\n },\n remove: function remove(obj) {\n apply(styleElement, styleIndex, true, obj);\n }\n };\n}\nmodule.exports = domAPI;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);border-radius:0;height:20px;width:20px}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],\"names\":[],\"mappings\":\"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC7BF,+CCME,4BAA6B,CAD7B,yBDHF,CAFA,+CCWE,2BAA4B,CAD5B,wBDRF,CCcC,2CACC,SACD,CAIA,wEACC,SA0CD,CDjED,kFC2BG,2BAA4B,CAD5B,wBDxBH,CC2BG,8FACC,iCACD,CD/BH,kFCoCG,4BAA6B,CAD7B,yBDjCH,CCoCG,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GAKC,6CAA8C,CC/CjD,eAAgB,CD8Cb,WAAY,CADZ,UAcD,CCzDF,+PAEC,qCAED,CD2CG,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CD7ED,8DCgFE,yBD9EF,CAFA,8DCoFE,wBDlFF,CCqFC,gEACC,uCAMD,CD9FD,0EC4FG,sCAAuC,CADvC,cDzFH\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-input-color {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: row-reverse;\\n\\n\\t& > input.ck.ck-input-text {\\n\\t\\tmin-width: auto;\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t& > div.ck.ck-dropdown {\\n\\t\\tmin-width: auto;\\n\\n\\t\\t/* This dropdown has no arrow but a color preview instead. */\\n\\t\\t& > .ck-input-color__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__button {\\n\\t\\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\\n\\t\\tdisplay: flex;\\n\\n\\t\\t& .ck.ck-input-color__button__preview {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n@import \\\"../mixins/_rounded.css\\\";\\n\\n.ck.ck-input-color {\\n\\t& > .ck.ck-input-text {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* Make sure the focused input is always on top of the dropdown button so its\\n\\t\\t outline and border are never cropped (also when the input is read-only). */\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-dropdown {\\n\\t\\t& > .ck.ck-button.ck-input-color__button {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\n\\t\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\t\\tborder-left: 1px solid transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\t\\tborder-right: 1px solid transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.ck-disabled {\\n\\t\\t\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview {\\n\\t\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-input-border);\\n\\n\\t\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\t\\ttop: -30%;\\n\\t\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\t\\theight: 150%;\\n\\t\\t\\t\\t\\twidth: 8%;\\n\\t\\t\\t\\t\\tbackground: hsl(0, 100%, 50%);\\n\\t\\t\\t\\t\\tborder-radius: 2px;\\n\\t\\t\\t\\t\\ttransform: rotate(45deg);\\n\\t\\t\\t\\t\\ttransform-origin: 50%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__remove-color {\\n\\t\\twidth: 100%;\\n\\t\\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\\n\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t&:not(:focus) {\\n\\t\\t\\tborder-bottom: 1px solid var(--ck-color-input-border);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: 0;\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css\"],\"names\":[],\"mappings\":\"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-label {\\n\\tdisplay: block;\\n}\\n\\n.ck.ck-voice-label {\\n\\tdisplay: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-label {\\n\\tfont-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-balloon-panel.ck-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:calc(var(--ck-z-dialog) + 100);--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-tooltip-text-padding:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);box-shadow:none;padding:0 var(--ck-spacing-medium)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;max-width:200px;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip:before{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css\"],\"names\":[],\"mappings\":\"AAOA,gCCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,sCAAyC,CEFzC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAkB/D,eAAgB,CAhBhB,kCFJD,CEMC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CAErB,eAAgB,CADhB,wCAAyC,CAFzC,wBAID,CAMA,uCACC,YACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../mixins/_unselectable.css\\\";\\n\\n.ck.ck-balloon-panel.ck-tooltip {\\n\\t@mixin ck-unselectable;\\n\\n\\tz-index: calc( var(--ck-z-dialog) + 100 );\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n\\n.ck.ck-balloon-panel.ck-tooltip {\\n\\t--ck-balloon-border-width: 0px;\\n\\t--ck-balloon-arrow-offset: 0px;\\n\\t--ck-balloon-arrow-half-width: 4px;\\n\\t--ck-balloon-arrow-height: 4px;\\n\\t--ck-tooltip-text-padding: 4px;\\n\\t--ck-color-panel-background: var(--ck-color-tooltip-background);\\n\\n\\tpadding: 0 var(--ck-spacing-medium);\\n\\n\\t& .ck-tooltip__text {\\n\\t\\tfont-size: .9em;\\n\\t\\tline-height: 1.5;\\n\\t\\tcolor: var(--ck-color-tooltip-text);\\n\\t}\\n\\n\\t&.ck-tooltip_multi-line .ck-tooltip__text {\\n\\t\\twhite-space: break-spaces;\\n\\t\\tdisplay: inline-block;\\n\\t\\tpadding: var(--ck-tooltip-text-padding) 0;\\n\\t\\tmax-width: 200px;\\n\\t}\\n\\n\\t/* Reset balloon panel styles */\\n\\tbox-shadow: none;\\n\\n\\t/* Hide the default shadow of the .ck-balloon-panel tip */\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-dropdown-menu-menu-item-min-width:18em}.ck.ck-dropdown-menu-list__nested-menu__item{min-width:var(--ck-dropdown-menu-menu-item-min-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenulistitem.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,2CACD,CAEA,6CACC,qDACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-dropdown-menu-menu-item-min-width: 18em;\\n}\\n\\n.ck.ck-dropdown-menu-list__nested-menu__item {\\n\\tmin-width: var(--ck-dropdown-menu-menu-item-min-width);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-menu-bar{background:var(--ck-color-base-background);border:1px solid var(--ck-color-toolbar-border);display:flex;flex-wrap:wrap;gap:var(--ck-spacing-small);justify-content:flex-start;padding:var(--ck-spacing-small);width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubar.css\"],\"names\":[],\"mappings\":\"AAKA,gBAIC,0CAA2C,CAG3C,+CAAgD,CANhD,YAAa,CACb,cAAe,CAIf,2BAA4B,CAH5B,0BAA2B,CAE3B,+BAAgC,CAGhC,UACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-menu-bar {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tjustify-content: flex-start;\\n\\tbackground: var(--ck-color-base-background);\\n\\tpadding: var(--ck-spacing-small);\\n\\tgap: var(--ck-spacing-small);\\n\\tborder: 1px solid var(--ck-color-toolbar-border);\\n\\twidth: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:44px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}[dir=ltr] .ck.ck-form__header>.ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header>.ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{--ck-font-size-base:15px;font-weight:700}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAmBD,CCzBC,uCDaE,qCCXF,CAFA,uCDiBE,oCCfF,CDmBA,4CACC,wBAAyB,CACzB,eACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-form__header {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\talign-items: center;\\n\\tjustify-content: space-between;\\n\\n\\t& h2.ck-form__header__label {\\n\\t\\tflex-grow: 1;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n:root {\\n\\t--ck-form-header-height: 44px;\\n}\\n\\n.ck.ck-form__header {\\n\\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\\n\\theight: var(--ck-form-header-height);\\n\\tline-height: var(--ck-form-header-height);\\n\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\n\\t& > .ck-icon {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: var(--ck-spacing-medium);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-form__header__label {\\n\\t\\t--ck-font-size-base: 15px;\\n\\t\\tfont-weight: bold;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement, attributes) {\n Object.keys(attributes).forEach(function (key) {\n styleElement.setAttribute(key, attributes[key]);\n });\n}\nmodule.exports = setAttributesWithoutAttributes;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-menu-bar-menu-max-width:75vw;--ck-menu-bar-nested-menu-horizontal-offset:5px}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{max-width:var(--ck-menu-bar-menu-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw{bottom:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{bottom:auto;top:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{left:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{right:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{left:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en{bottom:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{right:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{bottom:0}:root{--ck-menu-bar-menu-panel-max-width:75vw}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);border-radius:0;bottom:0;height:fit-content;max-width:var(--ck-menu-bar-menu-panel-max-width)}.ck-rounded-corners .ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{border-top-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{border-top-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne{border-bottom-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{border-bottom-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel:focus{outline:none}.ck.ck-menu-bar .ck-list-item-button:active,.ck.ck-menu-bar .ck-list-item-button:focus{border-color:transparent;box-shadow:none}.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:active,.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none;position:relative;z-index:2}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenupanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenupanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,iCAAkC,CAClC,+CACD,CAEA,mDAEC,2CAA4C,CAC5C,iBAAkB,CAFlB,yBAkDD,CA9CC,gLAEC,WACD,CAEA,gLAGC,WAAY,CADZ,QAED,CAEA,gLAEC,MACD,CAEA,gLAEC,OACD,CAEA,gLAEC,kEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CAEA,gLAEC,mEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CCnDD,MACC,uCACD,CAEA,mDAIC,oDAAqD,CACrD,sDAAuD,CCPvD,eAAgB,CDQhB,QAAS,CACT,kBAAmB,CACnB,iDA0BD,CClCC,6IAEC,qCAED,CDJD,mDEJC,oCFsCD,CAvBC,gLAEC,wBACD,CAEA,gLAEC,yBACD,CAEA,gLAEC,2BACD,CAEA,gLAEC,4BACD,CAEA,yDACC,YACD,CAKC,uFAEC,wBAAyB,CACzB,eACD,CAIA,yJGhDD,2BAA2B,CDF3B,2CAA8B,CCC9B,YAAa,CHoDX,iBAAkB,CAClB,SAID\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-menu-bar-menu-max-width: 75vw;\\n\\t--ck-menu-bar-nested-menu-horizontal-offset: 5px;\\n}\\n\\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\\n\\tz-index: var(--ck-z-panel);\\n\\tmax-width: var(--ck-menu-bar-menu-max-width);\\n\\tposition: absolute;\\n\\n\\t&.ck-menu-bar__menu__panel_position_ne,\\n\\t&.ck-menu-bar__menu__panel_position_nw {\\n\\t\\tbottom: 100%;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_se,\\n\\t&.ck-menu-bar__menu__panel_position_sw {\\n\\t\\ttop: 100%;\\n\\t\\tbottom: auto;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ne,\\n\\t&.ck-menu-bar__menu__panel_position_se {\\n\\t\\tleft: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_nw,\\n\\t&.ck-menu-bar__menu__panel_position_sw {\\n\\t\\tright: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_es,\\n\\t&.ck-menu-bar__menu__panel_position_en {\\n\\t\\tleft: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_es {\\n\\t\\ttop: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_en {\\n\\t\\tbottom: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ws,\\n\\t&.ck-menu-bar__menu__panel_position_wn {\\n\\t\\tright: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ws {\\n\\t\\ttop: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_wn {\\n\\t\\tbottom: 0px;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n@import \\\"../../../mixins/_focus.css\\\";\\n\\n:root {\\n\\t--ck-menu-bar-menu-panel-max-width: 75vw;\\n}\\n\\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\theight: fit-content;\\n\\tmax-width: var(--ck-menu-bar-menu-panel-max-width);\\n\\n\\t/* Corner border radius consistent with the button. */\\n\\t&.ck-menu-bar__menu__panel_position_es,\\n\\t&.ck-menu-bar__menu__panel_position_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ws,\\n\\t&.ck-menu-bar__menu__panel_position_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_en,\\n\\t&.ck-menu-bar__menu__panel_position_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_wn,\\n\\t&.ck-menu-bar__menu__panel_position_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n\\n.ck.ck-menu-bar {\\n\\t& .ck-list-item-button {\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-menu-bar_focus-border-enabled .ck-list-item-button {\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\t/* Fix truncated shadows due to rendering order. */\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t@mixin ck-focus-ring;\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button{border-radius:0;padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2);width:100%}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus{border-color:transparent;box-shadow:none}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-button__label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled>.ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-icon-spacing:not(:has(.ck-button__icon))>.ck-button__label{margin-left:calc(var(--ck-icon-size) - var(--ck-spacing-small))}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-right:calc(var(--ck-spacing-small)*-1);transform:rotate(-90deg)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-left:calc(var(--ck-spacing-small)*-1);transform:rotate(90deg)}.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled>.ck-dropdown-menu-list__nested-menu__button__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=ltr] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button>.ck-dropdown-menu-list__nested-menu__button__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenubutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenubutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAKA,kGACC,mBAAoB,CACpB,2BACD,CCIA,yDAGC,eAAgB,CADhB,iEAAoE,CADpE,UA2ED,CAvEC,+DACC,wBAAyB,CACzB,eAKD,CAHC,2EACC,0DACD,CAGD,2EACC,WAAY,CACZ,eAAgB,CAChB,sBACD,CAEA,uFCvBA,kCDyBA,CAGA,uHACC,+DACD,CAEA,4GACC,mCAeD,CEnDA,sHF0CE,6CAAgD,CAHhD,wBErCF,CAFA,sHFiDE,4CAA+C,CAH/C,uBE5CF,CFmDA,wHClDA,kCDoDA,CAGC,6FACC,oCACD,CAEA,sHAIC,sCAAuC,CAHvC,gCAID,CAIA,6FACC,qCACD,CAEA,sHACC,+BAAgC,CAGhC,oCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {\\n\\tpointer-events: none;\\n\\tz-index: var(--ck-z-default);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../../mixins/_disabled.css\\\";\\n@import \\\"../../../mixins/_button.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n/*\\n * All menu buttons.\\n */\\n.ck.ck-button.ck-dropdown-menu-list__nested-menu__button {\\n\\twidth: 100%;\\n\\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\\n\\tborder-radius: 0;\\n\\n\\t&:focus {\\n\\t\\tborder-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t&:not(.ck-on) {\\n\\t\\t\\tbackground: var(--ck-color-button-default-hover-background);\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-button__label {\\n\\t\\tflex-grow: 1;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&.ck-disabled > .ck-button__label {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t/* Spacing in buttons that miss the icon. */\\n\\t&.ck-icon-spacing:not(:has(.ck-button__icon)) > .ck-button__label {\\n\\t\\tmargin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));\\n\\t}\\n\\n\\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\\n\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttransform: rotate(-90deg);\\n\\n\\t\\t\\t/* Nudge the arrow gently to the right because its center of gravity is to the left */\\n\\t\\t\\tmargin-right: calc(-1 * var(--ck-spacing-small));\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttransform: rotate(90deg);\\n\\n\\t\\t\\t/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled > .ck-dropdown-menu-list__nested-menu__button__arrow {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\\n\\t\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t& > .ck-dropdown-menu-list__nested-menu__button__arrow {\\n\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button{border-radius:0}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container,.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container .ck-spinner{--ck-toolbar-spinner-size:20px}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{font-size:var(--ck-icon-font-size)}[dir=ltr] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{margin-left:var(--ck-spacing-medium)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitembutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAWC,iEACC,eAoBD,CAlBC,0LAGC,8BACD,CAEA,uFAEC,kCASD,CCzBD,iGDmBG,qCCjBH,CAFA,iGDuBG,oCCrBH\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-menu-bar__menu {\\n\\t/*\\n\\t * List item buttons.\\n\\t */\\n\\t& .ck-button.ck-menu-bar__menu__item__button {\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t& > .ck-spinner-container,\\n\\t\\t& > .ck-spinner-container .ck-spinner {\\n\\t\\t\\t/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */\\n\\t\\t\\t--ck-toolbar-spinner-size: 20px;\\n\\t\\t}\\n\\n\\t\\t& > .ck-spinner-container {\\n\\t\\t\\t/* This ensures margins corresponding to the .ck-icon. */\\n\\t\\t\\tfont-size: var(--ck-icon-font-size);\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-content .page-break{align-items:center;clear:both;display:flex;justify-content:center;padding:5px 0;position:relative}.ck-content .page-break:after{border-bottom:2px dashed #c4c4c4;content:\"\";position:absolute;width:100%}.ck-content .page-break__label{background:#fff;border:1px solid #c4c4c4;border-radius:2px;box-shadow:2px 2px 1px rgba(0,0,0,.15);color:#333;display:block;font-family:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;font-size:.75em;font-weight:700;padding:.3em .6em;position:relative;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}@media print{.ck-content .page-break{padding:0}.ck-content .page-break:after{display:none}.ck-content :has(+.page-break){margin-bottom:0}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-page-break/theme/pagebreak.css\"],\"names\":[],\"mappings\":\"AAKA,wBAKC,kBAAmB,CAHnB,UAAW,CAEX,YAAa,CAEb,sBAAuB,CAHvB,aAAc,CAFd,iBAaD,CANC,8BAGC,gCAAyC,CAFzC,UAAW,CACX,iBAAkB,CAElB,UACD,CAGD,+BAYC,eAA4B,CAN5B,wBAAiC,CACjC,iBAAkB,CAMlB,sCAA6C,CAF7C,UAAsB,CAPtB,aAAc,CAId,qDAA0D,CAC1D,eAAiB,CACjB,eAAiB,CAPjB,iBAAkB,CAFlB,iBAAkB,CAIlB,wBAAyB,CAWzB,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CAjBjB,SAkBD,CAGA,aACC,wBACC,SAKD,CAHC,8BACC,YACD,CASD,+BACC,eACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-content .page-break {\\n\\tposition: relative;\\n\\tclear: both;\\n\\tpadding: 5px 0;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t&::after {\\n\\t\\tcontent: '';\\n\\t\\tposition: absolute;\\n\\t\\tborder-bottom: 2px dashed hsl(0, 0%, 77%);\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.ck-content .page-break__label {\\n\\tposition: relative;\\n\\tz-index: 1;\\n\\tpadding: .3em .6em;\\n\\tdisplay: block;\\n\\ttext-transform: uppercase;\\n\\tborder: 1px solid hsl(0, 0%, 77%);\\n\\tborder-radius: 2px;\\n\\tfont-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\\n\\tfont-size: 0.75em;\\n\\tfont-weight: bold;\\n\\tcolor: hsl(0, 0%, 20%);\\n\\tbackground: hsl(0, 0%, 100%);\\n\\tbox-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15);\\n\\n\\t/* Disable the possibility to select the label text by the user. */\\n\\t-webkit-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n/* Do not show the page break element inside the print preview window. */\\n@media print {\\n\\t.ck-content .page-break {\\n\\t\\tpadding: 0;\\n\\n\\t\\t&::after {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * From time to time placing page-break directly after a block element with margin causes appending a new blank page in pagination mode.\\n\\t * Removing margin-bottom from the block element fixes that issue and the margin is not being moved to the next blank page.\\n\\t *\\n\\t * Keep this in sync with the pagination plugins.\\n\\t */\\n\\t.ck-content *:has(+ .page-break) {\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:\"\";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.ck-content .todo-list .todo-list__label>input:before{transition:none}}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:\"\";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:\"\";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{transition:none}}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:\"\";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,kCACD,CA4EA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAtFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAqFC,CAvED,wDACC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAED,CAEA,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UASD,CAHC,uCAXD,sDAYE,eAEF,CADC,CAGD,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FAxHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAuHA,CAzGA,wGACC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAED,CAEA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UASD,CAHC,uCAXD,sGAYE,eAEF,CADC,CAGD,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-todo-list-checkmark-size: 16px;\\n}\\n\\n@define-mixin todo-list-checkbox {\\n\\t-webkit-appearance: none;\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\twidth: var(--ck-todo-list-checkmark-size);\\n\\theight: var(--ck-todo-list-checkmark-size);\\n\\tvertical-align: middle;\\n\\n\\t/* Needed on iOS */\\n\\tborder: 0;\\n\\n\\t/* LTR styles */\\n\\tleft: -25px;\\n\\tmargin-right: -15px;\\n\\tright: 0;\\n\\tmargin-left: 0;\\n\\n\\t/* RTL styles */\\n\\t[dir=rtl]& {\\n\\t\\tleft: 0;\\n\\t\\tmargin-right: 0;\\n\\t\\tright: -25px;\\n\\t\\tmargin-left: -15px;\\n\\t}\\n\\n\\t&::before {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tcontent: '';\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tborder: 1px solid hsl(0, 0%, 20%);\\n\\t\\tborder-radius: 2px;\\n\\t\\ttransition: 250ms ease-in-out box-shadow;\\n\\n\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\ttransition: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&::after {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\tbox-sizing: content-box;\\n\\t\\tpointer-events: none;\\n\\t\\tcontent: '';\\n\\n\\t\\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\\n\\t\\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\\n\\t\\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\\n\\t\\ttransform: rotate(45deg);\\n\\t}\\n\\n\\t&[checked] {\\n\\t\\t&::before {\\n\\t\\t\\tbackground: hsl(126, 64%, 41%);\\n\\t\\t\\tborder-color: hsl(126, 64%, 41%);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: hsl(0, 0%, 100%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * To-do list content styles.\\n */\\n.ck-content .todo-list {\\n\\tlist-style: none;\\n\\n\\t& li {\\n\\t\\tposition: relative;\\n\\t\\tmargin-bottom: 5px;\\n\\n\\t\\t& .todo-list {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t& .todo-list__label {\\n\\t\\t& > input {\\n\\t\\t\\t@mixin todo-list-checkbox;\\n\\t\\t}\\n\\n\\t\\t& .todo-list__label__description {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\n\\t\\t&.todo-list__label_without-description input[type=checkbox] {\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * To-do list editing view styles.\\n */\\n.ck-editor__editable.ck-content .todo-list .todo-list__label {\\n\\t/*\\n\\t * To-do list should be interactive only during the editing\\n\\t * (https://github.com/ckeditor/ckeditor5/issues/2090).\\n\\t */\\n\\t& > input,\\n\\t& > span[contenteditable=false] > input {\\n\\t\\tcursor: pointer;\\n\\n\\t\\t&:hover::before {\\n\\t\\t\\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Document Lists - editing view has an additional span around checkbox.\\n\\t */\\n\\t& > span[contenteditable=false] > input {\\n\\t\\t@mixin todo-list-checkbox;\\n\\t}\\n\\n\\t&.todo-list__label_without-description {\\n\\t\\t& input[type=checkbox] {\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css\"],\"names\":[],\"mappings\":\"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CCfD,8FDSG,6BCPH,CAFA,8FDaG,8BCXH,CDeC,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CEhCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CD5DF,6FCkDI,8BDhDJ,CAFA,6FCsDI,6BDpDJ,CCuDG,yFACC,SACD,CAGD,2EACC,UAWD,CD1EF,oMCwEI,4DDtEJ,CC4EA,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-search {\\n\\t& > .ck-labeled-field-view {\\n\\t\\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\ttransform: translateY(-50%);\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tleft: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tright: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-search__reset {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-search__results {\\n\\t\\t& > .ck-search__info {\\n\\t\\t\\t& > span:first-child {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Hide the filtered view when nothing was found */\\n\\t\\t\\t&:not(.ck-hidden) ~ * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n:root {\\n\\t--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));\\n}\\n\\n.ck.ck-search {\\n\\t& > .ck-labeled-field-view {\\n\\t\\t& .ck-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__query_with-icon {\\n\\t\\t\\t--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);\\n\\n\\t\\t\\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-input {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\t&:not(.ck-input-text_empty) {\\n\\t\\t\\t\\t\\t\\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-search__query_with-reset {\\n\\t\\t\\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);\\n\\n\\t\\t\\t&.ck-labeled-field-view_empty {\\n\\t\\t\\t\\t--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-search__reset {\\n\\t\\t\\t\\tmin-width: auto;\\n\\t\\t\\t\\tmin-height: auto;\\n\\n\\t\\t\\t\\tbackground: none;\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tright: var(--ck-spacing-medium);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tleft: var(--ck-spacing-medium);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-input {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\t&:not(.ck-input-text_empty) {\\n\\t\\t\\t\\t\\t\\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-search__results {\\n\\t\\tmin-width: 100%;\\n\\n\\t\\t& > .ck-search__info {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\twhite-space: normal;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span:first-child {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span:last-child {\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-panel)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:\"\";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);border-radius:0;min-height:15px}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBAMC,2CAA4C,CAC5C,wEAAyE,CCZzE,eAAgB,CDShB,eA0LD,CCjMC,iFAEC,qCAED,CDDD,qBEPC,oCFqMD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t/* Make sure the balloon arrow does not float over its children. */\\n\\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\tz-index: var(--ck-z-panel);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"arrow_n\\\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"arrow_s\\\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_visible {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n\\n:root {\\n\\t--ck-balloon-border-width: 1px;\\n\\t--ck-balloon-arrow-offset: 2px;\\n\\t--ck-balloon-arrow-height: 10px;\\n\\t--ck-balloon-arrow-half-width: 8px;\\n\\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"arrow_n\\\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\\n\\t\\t\\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\\n\\t\\t\\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"arrow_s\\\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: var(--ck-color-panel-border) transparent transparent;\\n\\t\\t\\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\\n\\t\\t\\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\\n\\t\\t\\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"arrow_e\\\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\\n\\t\\t\\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\\n\\t\\t\\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\\\"arrow_w\\\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\\n\\t\\t\\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\\n\\t\\t\\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_n {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_ne {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_s {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_se {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_smw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nmw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_e {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t\\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_w {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t\\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button{width:100%}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-button__label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button.ck-disabled>.ck-button__label{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button{min-height:unset;padding:var(--ck-spacing-small) var(--ck-spacing-medium)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-button__label{line-height:unset;overflow:visible;width:unset}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-icon{display:none}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button{border-radius:0}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{margin-left:var(--ck-spacing-standard);margin-right:calc(var(--ck-spacing-small)*-1);transform:rotate(-90deg)}[dir=rtl] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{left:var(--ck-spacing-standard);margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small);transform:rotate(90deg)}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button.ck-disabled>.ck-menu-bar__menu__button__arrow{opacity:var(--ck-disabled-opacity)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenubutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenubutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAMC,mFACC,mBAAoB,CACpB,2BACD,CCIA,iDACC,UAuBD,CArBC,mEACC,WAAY,CACZ,eAAgB,CAChB,sBACD,CAEA,+ECbD,kCDeC,CAGC,qFACC,oCACD,CAIA,qFACC,qCACD,CAOF,6EAEC,gBAAiB,CADjB,wDAsBD,CAnBC,+FAEC,iBAAkB,CAMlB,gBAAiB,CAPjB,WAQD,CAEA,mFACC,2BAA4B,CAC5B,4BACD,CAEA,sFACC,YACD,CAMD,mFACC,eA+BD,CA7BC,qHACC,mCAuBD,CE3FD,+HF0EG,sCAAuC,CAGvC,6CAAgD,CANhD,wBErEH,CAFA,+HFmFG,+BAAgC,CAMhC,4CAA+C,CAH/C,oCAAqC,CALrC,uBE/EH,CF2FC,iIC1FD,kCD4FC\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-menu-bar__menu {\\n\\t& > .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {\\n\\t\\tpointer-events: none;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_disabled.css\\\";\\n@import \\\"../../mixins/_button.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-menu-bar__menu {\\n\\t/*\\n\\t * All menu buttons.\\n\\t */\\n\\t& > .ck-menu-bar__menu__button {\\n\\t\\twidth: 100%;\\n\\n\\t\\t& > .ck-button__label {\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&.ck-disabled > .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Top-level menu buttons only.\\n\\t */\\n\\t&.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button {\\n\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\tmin-height: unset;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\twidth: unset;\\n\\t\\t\\tline-height: unset;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Top-level buttons don't use ellipsis and overflow: hidden clips descenders.\\n\\t\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/17422.\\n\\t\\t\\t */\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Sub-menu buttons.\\n\\t */\\n\\t&:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button {\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t& > .ck-menu-bar__menu__button__arrow {\\n\\t\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\ttransform: rotate(-90deg);\\n\\n\\t\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t/* Nudge the arrow gently to the right because its center of gravity is to the left */\\n\\t\\t\\t\\tmargin-right: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\ttransform: rotate(90deg);\\n\\n\\t\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\n\\t\\t\\t\\t/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */\\n\\t\\t\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-disabled > .ck-menu-bar__menu__button__arrow {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:\"\";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both;background:var(--ck-color-base-error);border-radius:0;color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}@media (prefers-reduced-motion:reduce){.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:none}}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],\"names\":[],\"mappings\":\"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCA6BD,CA3BC,8EAgBC,iEAAkE,CAblE,qCAAsC,CC3CxC,eAAgB,CD4Cd,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAcD,CC3DD,mMAEC,qCAED,CD4CE,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAIA,uCAlBD,8EAmBE,cAEF,CADC,CAID,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__background-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column-reverse;\\n\\t\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t\\t& .ck.ck-dropdown {\\n\\t\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\t/* Allow absolute positioning of the status (error) balloons. */\\n\\t\\tposition: relative;\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\ttransform: translate(-50%,100%);\\n\\n\\t\\t\\t/* Make sure the balloon status stays on top of other form elements. */\\n\\t\\t\\tz-index: 1;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../mixins/_rounded.css\\\";\\n\\n:root {\\n\\t--ck-table-properties-error-arrow-size: 6px;\\n\\t--ck-table-properties-min-error-width: 150px;\\n}\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\t& > .ck-label {\\n\\t\\t\\t\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\t\\t\\t\\ttext-align: center;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__border-style,\\n\\t\\t\\t& .ck-table-form__border-width {\\n\\t\\t\\t\\twidth: 80px;\\n\\t\\t\\t\\tmin-width: 80px;\\n\\t\\t\\t\\tmax-width: 80px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck-table-form__dimensions-row__width,\\n\\t\\t\\t& .ck-table-form__dimensions-row__height {\\n\\t\\t\\t\\tmargin: 0\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\talign-self: flex-end;\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\theight: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tline-height: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tmargin: 0 var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\tpadding-top: var(--ck-spacing-standard);\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\tbackground: var(--ck-color-base-error);\\n\\t\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\t\\tmin-width: var(--ck-table-properties-min-error-width);\\n\\t\\t\\ttext-align: center;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\\n\\t\\t\\t\\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\n\\t\\t\\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\\n\\n\\t\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\t\\tanimation: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\\n\\t\\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-table-form-labeled-view-status-appear {\\n\\t0% {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:ck-spinner-rotate 1.5s linear infinite;height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}@media (prefers-reduced-motion:reduce){.ck.ck-spinner-container{animation-duration:3s}}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}@keyframes ck-spinner-rotate{to{transform:rotate(1turn)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css\"],\"names\":[],\"mappings\":\"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,gDAAiD,CADjD,qCAAsC,CADtC,oCAOD,CAHC,uCALD,yBAME,qBAEF,CADC,CAGD,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCAA6B,CAH7B,qCAAsC,CADtC,oCAKD,CAEA,6BACC,GACC,uBACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-toolbar-spinner-size: 18px;\\n}\\n\\n.ck.ck-spinner-container {\\n\\tdisplay: block;\\n\\tposition: relative;\\n}\\n\\n.ck.ck-spinner {\\n\\tposition: absolute;\\n\\ttop: 50%;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tmargin: 0 auto;\\n\\ttransform: translateY(-50%);\\n\\tz-index: 1;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-toolbar-spinner-size: 18px;\\n}\\n\\n.ck.ck-spinner-container {\\n\\twidth: var(--ck-toolbar-spinner-size);\\n\\theight: var(--ck-toolbar-spinner-size);\\n\\tanimation: 1.5s infinite ck-spinner-rotate linear;\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\tanimation-duration: 3s;\\n\\t}\\n}\\n\\n.ck.ck-spinner {\\n\\twidth: var(--ck-toolbar-spinner-size);\\n\\theight: var(--ck-toolbar-spinner-size);\\n\\tborder-radius: 50%;\\n\\tborder: 2px solid var(--ck-color-text);\\n\\tborder-top-color: transparent;\\n}\\n\\n@keyframes ck-spinner-rotate {\\n\\tto {\\n\\t\\ttransform: rotate(360deg)\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CC7BC,6CDQG,mCCNH,CAFA,6CDYG,oCCVH,CDeA,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-form__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\t& .ck-button-save,\\n\\t\\t& .ck-button-cancel {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-form__row {\\n\\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\t& + * {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-label {\\n\\t\\twidth: 100%;\\n\\t\\tmin-width: 100%;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button .ck-button__label {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{background:var(--ck-color-list-background);border-radius:0;list-style-type:none;padding:var(--ck-spacing-small) 0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list__item{cursor:default;min-width:15em}.ck.ck-list__item>.ck-button:not(.ck-list-item-button){border-radius:0;min-height:unset;padding:var(--ck-spacing-tiny) calc(var(--ck-spacing-standard)*2);width:100%}[dir=ltr] .ck.ck-list__item>.ck-button:not(.ck-list-item-button){text-align:left}[dir=rtl] .ck.ck-list__item>.ck-button:not(.ck-list-item-button){text-align:right}.ck.ck-list__item>.ck-button:not(.ck-list-item-button) .ck-button__label{line-height:calc(var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item>.ck-button:not(.ck-list-item-button):active{box-shadow:none}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button){background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):active{box-shadow:none}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item>.ck-button.ck-on:not(.ck-list-item-button):focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item>.ck-button:not(.ck-list-item-button):hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item>.ck-button.ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item>.ck-button.ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck-list .ck-list__group{padding-top:var(--ck-spacing-medium)}.ck-list .ck-list__group:first-child{padding-top:0}:not(.ck-hidden)~.ck-list .ck-list__group{border-top:1px solid var(--ck-color-base-border)}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large) 0}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;margin:var(--ck-spacing-small) 0;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,YAIC,0CAA2C,CCH3C,eAAgB,CDEhB,oBAAqB,CAIrB,iCACD,CCLC,+DAEC,qCAED,CDGD,kBACC,cAAe,CAGf,cA4DD,CA1DC,uDAIC,eAAgB,CAFhB,gBAAiB,CADjB,iEAAoE,CAEpE,UAwCD,CE/DA,iEF2BE,eEzBF,CAFA,iEF+BE,gBE7BF,CFgCC,yEAEC,qEACD,CAEA,8DACC,eACD,CAEA,6DACC,oDAAqD,CACrD,yCAaD,CAXC,oEACC,eACD,CAEA,qFACC,0DACD,CAEA,qFACC,4CACD,CAGD,+EACC,uDACD,CAMA,mDACC,0CAA2C,CAC3C,aAMD,CAJC,2EACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAiBD,CAdC,qCACC,aACD,CAGA,0CACC,gDACD,CAEA,mCACC,cAAe,CACf,eAAiB,CACjB,0DACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CAKX,gCAAiC,CAJjC,UAKD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../mixins/_unselectable.css\\\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t& .ck-list__item,\\n\\t& .ck-list__separator {\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/* Make sure that whatever child of the list item gets focus, it remains on the\\n\\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\\n\\tadjacent list items. */\\n\\t& .ck-list__item > *:focus {\\n\\t\\tposition: relative;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_disabled.css\\\";\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tlist-style-type: none;\\n\\tbackground: var(--ck-color-list-background);\\n\\n\\t/* A spacing at the beginning and end of the list */\\n\\tpadding: var(--ck-spacing-small) 0;\\n}\\n\\n.ck.ck-list__item {\\n\\tcursor: default;\\n\\n\\t/* Almost as wide as menu bar items. */\\n\\tmin-width: 15em;\\n\\n\\t& > .ck-button:not(.ck-list-item-button) {\\n\\t\\tpadding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));\\n\\t\\tmin-height: unset;\\n\\t\\twidth: 100%;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\t\\tline-height: calc(var(--ck-line-height-base) * var(--ck-font-size-base));\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-button-on-background);\\n\\t\\t\\tcolor: var(--ck-color-list-button-on-text);\\n\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-on-background-focus);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus:not(.ck-disabled) {\\n\\t\\t\\t\\tborder-color: var(--ck-color-base-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* It's unnecessary to change the background/text of a switch toggle; it has different ways\\n\\tof conveying its state (like the switcher) */\\n\\t& > .ck-button.ck-switchbutton {\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-background);\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-list .ck-list__group {\\n\\tpadding-top: var(--ck-spacing-medium);\\n\\n\\t/* Lists come with an inner vertical padding. Don't duplicate it. */\\n\\t&:first-child {\\n\\t\\tpadding-top: 0;\\n\\t}\\n\\n\\t/* The group should have a border when it's not the first item. */\\n\\t*:not(.ck-hidden) ~ & {\\n\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t}\\n\\n\\t& > .ck-label {\\n\\t\\tfont-size: 11px;\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) 0;\\n\\t}\\n}\\n\\n.ck.ck-list__separator {\\n\\theight: 1px;\\n\\twidth: 100%;\\n\\tbackground: var(--ck-color-base-border);\\n\\n\\t/* Give the separator some air */\\n\\tmargin: var(--ck-spacing-small) 0;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-heading_heading1 .ck-button__label{font-size:20px}.ck.ck-heading_heading2 .ck-button__label{font-size:17px}.ck.ck-heading_heading3 .ck-button__label{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css\"],\"names\":[],\"mappings\":\"AAKA,0CACC,cACD,CAEA,0CACC,cACD,CAEA,0CACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-heading_heading1 .ck-button__label {\\n\\tfont-size: 20px;\\n}\\n\\n.ck.ck-heading_heading2 .ck-button__label {\\n\\tfont-size: 17px;\\n}\\n\\n.ck.ck-heading_heading3 .ck-button__label {\\n\\tfont-size: 14px;\\n}\\n\\n.ck[class*=\\\"ck-heading_heading\\\"] {\\n\\tfont-weight: bold;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/* Resize dropdown's button label. */\\n.ck.ck-dropdown.ck-heading-dropdown {\\n\\t& .ck-dropdown__button .ck-button__label {\\n\\t\\twidth: 8em;\\n\\t}\\n\\n\\t& .ck-dropdown__panel .ck-list__item {\\n\\t\\tmin-width: 18em;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;top:0;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 0}@media (prefers-reduced-motion:reduce){.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transition:none}}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eDmHD,CCjHC,2FAEC,qCAED,CDEA,mEACC,UAwCD,CAtCC,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAvBvB,KAAQ,CA4BR,+JAQD,CErDD,0FFoBG,MAAS,CAGT,6DAA+D,CAF/D,oBEnBH,CAFA,0FF2BG,OAAU,CAEV,sEAA0E,CAD1E,uBE1BH,CFgDE,uCAlCD,gFAmCE,eAEF,CADC,CASD,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,uWAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CEtGA,2XF0FE,+HExFF,CAFA,2XF8FE,wIE5FF,CFyGA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-labeled-field-view {\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t& .ck.ck-label {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n@import \\\"../../../mixins/_rounded.css\\\";\\n\\n:root {\\n\\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\\n\\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\\n\\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\\n\\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\\n\\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\\n}\\n\\n.ck.ck-labeled-field-view {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\twidth: 100%;\\n\\n\\t\\t& > .ck.ck-label {\\n\\t\\t\\ttop: 0px;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tleft: 0px;\\n\\t\\t\\t\\ttransform-origin: 0 0;\\n\\t\\t\\t\\t/* By default, display the label scaled down above the field. */\\n\\t\\t\\t\\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tright: 0px;\\n\\t\\t\\t\\ttransform-origin: 100% 0;\\n\\t\\t\\t\\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);\\n\\t\\t\\t}\\n\\n\\t\\t\\tpointer-events: none;\\n\\n\\t\\t\\tbackground: var(--ck-color-labeled-field-label-background);\\n\\t\\t\\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\\n\\t\\t\\tline-height: initial;\\n\\t\\t\\tfont-weight: normal;\\n\\n\\t\\t\\t/* Prevent overflow when the label is longer than the input */\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\ttransition:\\n\\t\\t\\t\\ttransform var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tpadding var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tbackground var(--ck-labeled-field-view-transition);\\n\\n\\t\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\t\\ttransition: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\n\\t\\t& .ck-input:not([readonly]) + .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-labeled-field-view__status {\\n\\t\\tfont-size: var(--ck-font-size-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\n\\t\\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\\n\\t\\tThe status could be very long. */\\n\\t\\twhite-space: normal;\\n\\n\\t\\t&.ck-labeled-field-view__status_error {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t/* Disabled fields and fields that have no focus should fade out. */\\n\\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\t}\\n\\n\\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\\n\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t&.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\\n\\t\\t}\\n\\n\\t\\t/* Compensate for the default translate position. */\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\\n\\n\\t\\tbackground: transparent;\\n\\t\\tpadding: 0;\\n\\t}\\n\\n\\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\\n\\n\\t/* Make sure dropdown' background color in any of dropdown's state does not collide with labeled field. */\\n\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\\n\\t\\tbackground: transparent;\\n\\t}\\n\\n\\t/* When the dropdown is \\\"empty\\\", the labeled field label replaces its label. */\\n\\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css\"],\"names\":[],\"mappings\":\"AAMA,qDACC,YACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\\n\\tdisplay: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-dropdown-menu-list__nested-menu{display:block}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenu.css\"],\"names\":[],\"mappings\":\"AAKA,uCACC,aACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-dropdown-menu-list__nested-menu {\\n\\tdisplay: block;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css\"],\"names\":[],\"mappings\":\"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\t&:first-of-type {\\n\\t\\t\\t\\t\\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\\n\\t\\t\\t\\t\\tflex-grow: 0.57;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\t\\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\\n\\t\\t\\t\\t\\tflex-grow: 0.43;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& .ck-button {\\n\\t\\t\\t\\t\\tflex-grow: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__padding-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\twidth: 25%;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:\"\";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button{transition:none}}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button svg{transition:none}}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}@media (prefers-reduced-motion:reduce){.ck .ck-widget .ck-widget__type-around__button:hover,.ck .ck-widget .ck-widget__type-around__button:hover svg line,.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:none}}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css\"],\"names\":[],\"mappings\":\"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAwED,CAhEC,uCATD,+CAUE,eA+DF,CA9DC,CAEA,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAwBD,CAlBC,uCAPD,mDAQE,eAiBF,CAhBC,CAEA,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DA4BD,CAtBE,kEACC,oDACD,CAEA,8DACC,wDACD,CAGD,uCAQE,qLACC,cACD,CAEF,CASD,uKA7FD,SAAU,CACV,mBA8FC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAxKD,SAAU,CACV,mBAyKC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAxNF,SAAU,CACV,mBAyNE,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\toverflow: hidden;\\n\\t\\tz-index: var(--ck-z-default);\\n\\n\\t\\t& svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 2);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_before {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tleft: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_after {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tright: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(50%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 1px;\\n\\t\\t\\tleft: 1px;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \\\"fake caret\\\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tdisplay: none;\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t/*\\n\\t * When the widget is hovered the \\\"fake caret\\\" would normally be narrower than the\\n\\t * extra outline displayed around the widget. Let's extend the \\\"fake caret\\\" to match\\n\\t * the full width of the widget.\\n\\t */\\n\\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t\\tright: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \\\"fake caret\\\" when it should be displayed before the widget (backward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \\\"fake caret\\\" when it should be displayed after the widget (forward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n/*\\n * Integration with the read-only mode of the editor.\\n */\\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the restricted editing mode (feature) of the editor.\\n */\\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\\n */\\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-widget-type-around-button-size: 20px;\\n\\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\\n\\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\\n\\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\\n\\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\\n\\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\\n\\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\\n}\\n\\n@define-mixin ck-widget-type-around-button-visible {\\n\\topacity: 1;\\n\\tpointer-events: auto;\\n}\\n\\n@define-mixin ck-widget-type-around-button-hidden {\\n\\topacity: 0;\\n\\tpointer-events: none;\\n}\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\twidth: var(--ck-widget-type-around-button-size);\\n\\t\\theight: var(--ck-widget-type-around-button-size);\\n\\t\\tbackground: var(--ck-color-widget-type-around-button);\\n\\t\\tborder-radius: 100px;\\n\\t\\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\n\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\ttransition: none;\\n\\t\\t}\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: 10px;\\n\\t\\t\\theight: 8px;\\n\\t\\t\\ttransform: translate(-50%,-50%);\\n\\t\\t\\ttransition: transform .5s ease;\\n\\t\\t\\tmargin-top: 1px;\\n\\n\\t\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\t\\ttransition: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\tstroke-dasharray: 10;\\n\\t\\t\\t\\tstroke-dashoffset: 0;\\n\\n\\t\\t\\t\\tfill: none;\\n\\t\\t\\t\\tstroke: var(--ck-color-widget-type-around-button-icon);\\n\\t\\t\\t\\tstroke-width: 1.5px;\\n\\t\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& line {\\n\\t\\t\\t\\tstroke-dasharray: 7;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\t/*\\n\\t\\t\\t * Display the \\\"sonar\\\" around the button when hovered.\\n\\t\\t\\t */\\n\\t\\t\\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Animate active button's icon.\\n\\t\\t\\t */\\n\\t\\t\\t& svg {\\n\\t\\t\\t\\t& polyline {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& line {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\t\\tanimation: none;\\n\\n\\t\\t\\t\\t& svg {\\n\\t\\t\\t\\t\\t& polyline {\\n\\t\\t\\t\\t\\t\\tanimation: none;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t& line {\\n\\t\\t\\t\\t\\t\\tanimation: none;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Show type around buttons when the widget gets selected or being hovered.\\n\\t */\\n\\t&.ck-widget_selected,\\n\\t&:hover {\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-visible;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\\n\\t * and still can be hovered).\\n\\t */\\n\\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-hover);\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-active);\\n\\n\\t\\t&::after {\\n\\t\\t\\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\tborder-radius: 100px;\\n\\t\\t\\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the \\\"before\\\" button when the widget has a selection handle. Because some space\\n\\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\\n\\t */\\n\\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 20px;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \\\"fake caret\\\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& .ck-widget__type-around__fake-caret {\\n\\t\\tpointer-events: none;\\n\\t\\theight: 1px;\\n\\t\\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\\n\\n\\t\\t/*\\n\\t\\t * The semi-transparent-outline+background combo improves the contrast\\n\\t\\t * when the background underneath the fake caret is dark.\\n\\t\\t */\\n\\t\\toutline: solid 1px hsla(0, 0%, 100%, .5);\\n\\t\\tbackground: var(--ck-color-base-text);\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget when the \\\"fake caret\\\" is blinking (e.g. upon keyboard navigation).\\n\\t * Despite the widget being physically selected in the model, its outline should disappear.\\n\\t */\\n\\t&.ck-widget_selected {\\n\\t\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t\\toutline-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t/*\\n\\t\\t * When the \\\"fake caret\\\" is visible we simulate that the widget is not selected\\n\\t\\t * (despite being physically selected), so the outline color should be for the\\n\\t\\t * unselected widget.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Styles of the type around buttons when the \\\"fake caret\\\" is blinking (e.g. upon keyboard navigation).\\n\\t\\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\\n\\t\\t */\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\\n\\t\\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\\n\\t\\t */\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t&.ck-widget_selected,\\n\\t\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\t\\t\\topacity: 0\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\\n\\t\\t * hide the resize UI because it creates too much noise. It can be visible when the user\\n\\t\\t * hovers the widget, though.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\\n\\t\\t\\topacity: 0\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the \\\"before\\\" button when the widget has a selection handle in an RTL environment.\\n * The selection handler is aligned to the right side of the widget so there is no need to create\\n * additional space for it next to the \\\"before\\\" button.\\n */\\n.ck[dir=\\\"rtl\\\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\tmargin-left: 0;\\n\\tmargin-right: 20px;\\n}\\n\\n/*\\n * Hide type around buttons when the widget is selected as a child of a selected\\n * nested editable (e.g. mulit-cell table selection).\\n *\\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\\n */\\n.ck-editor__nested-editable.ck-editor__editable_selected {\\n\\t& .ck-widget {\\n\\t\\t&.ck-widget_selected,\\n\\t\\t&:hover {\\n\\t\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\\n */\\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\\n\\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\\n\\n\\t& svg * {\\n\\t\\tstroke: hsl(0,0%,60%);\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-dash {\\n\\t0% {\\n\\t\\tstroke-dashoffset: 10;\\n\\t}\\n\\t20%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-tip-dash {\\n\\t0%, 20% {\\n\\t\\tstroke-dashoffset: 7;\\n\\t}\\n\\t40%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-button-sonar {\\n\\t0% {\\n\\t\\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n\\t50% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\\n\\t}\\n\\t100% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-fake-caret-pulse {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t49% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t99% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:\"\";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],\"names\":[],\"mappings\":\"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAQE,oIAGC,gCAAiC,CADjC,6BAED,CAEA,oIAGC,+BAAgC,CADhC,4BAED,CAGD,0CAGC,eAiBD,CAfC,oDAGC,+BAAgC,CADhC,4BAED,CAEA,oDAGC,gCAAiC,CADjC,6BAED,CAEA,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAIA,uCCnDA,eD6DA,CC3DA,qHAEC,qCAED,CD+CE,qKACC,2BACD,CAEA,mKACC,4BACD,CAUD,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-splitbutton {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-splitbutton__action:focus {\\n\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t}\\n}\\n\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n\\n:root {\\n\\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\\n\\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\\n}\\n\\n.ck.ck-splitbutton {\\n\\t/*\\n\\t * Note: ck-rounded and ck-dir mixins don't go together (because they both use @nest).\\n\\t */\\n\\t&:hover > .ck-splitbutton__action,\\n\\t&.ck-splitbutton_open > .ck-splitbutton__action {\\n\\t\\t[dir=\\\"ltr\\\"] & {\\n\\t\\t\\t/* Don't round the action button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t[dir=\\\"rtl\\\"] & {\\n\\t\\t\\t/* Don't round the action button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-splitbutton__arrow {\\n\\t\\t/* It's a text-less button and since the icon is positioned absolutely in such situation,\\n\\t\\tit must get some arbitrary min-width. */\\n\\t\\tmin-width: unset;\\n\\n\\t\\t[dir=\\\"ltr\\\"] & {\\n\\t\\t\\t/* Don't round the arrow button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\n\\t\\t[dir=\\\"rtl\\\"] & {\\n\\t\\t\\t/* Don't round the arrow button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t/* Make sure the divider stretches 100% height of the button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\\n\\t& > .ck-splitbutton__arrow:not(:focus) {\\n\\t\\tborder-top-width: 0px;\\n\\t\\tborder-bottom-width: 0px;\\n\\t}\\n\\n\\t/* Don't round the bottom left and right corners of the buttons when \\\"open\\\"\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-splitbutton_open {\\n\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t& > .ck-splitbutton__action {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck-splitbutton__arrow {\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* When the split button is \\\"open\\\" (the arrow is on) or being hovered, it should get some styling\\n\\tas a whole. The background of both buttons should stand out and there should be a visual\\n\\tseparation between both buttons. */\\n\\t&.ck-splitbutton_open,\\n\\t&:hover {\\n\\t\\t/* When the split button hovered as a whole, not as individual buttons. */\\n\\t\\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\\n\\t\\t\\tbackground: var(--ck-color-split-button-hover-background);\\n\\t\\t}\\n\\n\\t\\t/* Splitbutton separator needs to be set with the ::after pseudoselector\\n\\t\\tto display properly the borders on focus */\\n\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\tbackground-color: var(--ck-color-split-button-hover-border);\\n\\t\\t}\\n\\n\\t\\t/* Make sure the divider between the buttons looks fine when the button is focused */\\n\\t\\t& > .ck-splitbutton__arrow:focus::after {\\n\\t\\t\\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\\n\\t\\t}\\n\\n\\t\\t[dir=\\\"ltr\\\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tleft: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t[dir=\\\"rtl\\\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tright: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-mention-list-max-height:300px}.ck.ck-mentions{max-height:var(--ck-mention-list-max-height);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.ck.ck-mentions>.ck-list__item{flex-shrink:0;overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-mention/theme/mentionui.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,kCACD,CAEA,gBACC,4CAA6C,CAM7C,iBAAkB,CAJlB,eAAgB,CAMhB,2BAQD,CAJC,+BAEC,aAAc,CADd,eAED\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-mention-list-max-height: 300px;\\n}\\n\\n.ck.ck-mentions {\\n\\tmax-height: var(--ck-mention-list-max-height);\\n\\n\\toverflow-y: auto;\\n\\n\\t/* Prevent unnecessary horizontal scrollbar in Safari\\n\\thttps://github.com/ckeditor/ckeditor5-mention/issues/41 */\\n\\toverflow-x: hidden;\\n\\n\\toverscroll-behavior: contain;\\n\\n\\t/* Prevent unnecessary vertical scrollbar in Safari\\n\\thttps://github.com/ckeditor/ckeditor5-mention/issues/41 */\\n\\t& > .ck-list__item {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel{max-height:314px;overflow-y:auto;position:absolute;z-index:calc(var(--ck-z-panel) + 1)}:root{--ck-dropdown-menu-menu-panel-max-width:75vw}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;height:fit-content;max-width:var(--ck-dropdown-menu-menu-panel-max-width)}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:after,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:before{display:none}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_es,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_se{border-top-left-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_sw,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ws{border-top-right-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_en,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ne{border-bottom-left-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_nw,.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_wn{border-bottom-right-radius:0}.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:focus{outline:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/menu/dropdownmenupanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/menu/dropdownmenupanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAKA,0DAEC,gBAAiB,CACjB,eAAgB,CAFhB,iBAAkB,CAGlB,mCACD,CCFA,MACC,4CACD,CAEA,0DAGC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CCRT,oCAA8B,CDS9B,kBAAmB,CACnB,sDAgCD,CA7BC,iIAEC,YACD,CAGA,4JAEC,wBACD,CAEA,4JAEC,yBACD,CAEA,4JAEC,2BACD,CAEA,4JAEC,4BACD,CAEA,gEACC,YACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {\\n\\tposition: absolute;\\n\\tmax-height: 314px; /* With the default settings, this is equal to 10 menu items. */\\n\\toverflow-y: auto;\\n\\tz-index: calc(var(--ck-z-panel) + 1);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../../mixins/_rounded.css\\\";\\n@import \\\"../../../../mixins/_shadow.css\\\";\\n\\n:root {\\n\\t--ck-dropdown-menu-menu-panel-max-width: 75vw;\\n}\\n\\n.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\theight: fit-content;\\n\\tmax-width: var(--ck-dropdown-menu-menu-panel-max-width);\\n\\n\\t/* Reset balloon styling */\\n\\t&::after,\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Corner border radius consistent with the button. */\\n\\t&.ck-balloon-panel_es,\\n\\t&.ck-balloon-panel_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-balloon-panel_ws,\\n\\t&.ck-balloon-panel_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-balloon-panel_en,\\n\\t&.ck-balloon-panel_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-balloon-panel_wn,\\n\\t&.ck-balloon-panel_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-panel)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\tz-index: var(--ck-z-panel); /* #315 */\\n\\t\\tposition: fixed;\\n\\t\\ttop: 0;\\n\\t}\\n\\n\\t& .ck-sticky-panel__content_sticky_bottom-limit {\\n\\t\\ttop: auto;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_shadow.css\\\";\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tborder-width: 0 1px 1px;\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}@media (forced-colors:active){.ck-content .table>figcaption{background-color:unset;color:unset}}@media (forced-colors:none){.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\"],\"names\":[],\"mappings\":\"AAOA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAaD,CCxBC,8BACC,8BDoBA,sBAAuB,CACvB,WCnBA,CACD,CAIA,4BDqBC,qEACC,iDACD,CCnBD,CDsBA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\\\";\\n\\n:root {\\n\\t--ck-color-selector-caption-background: hsl(0, 0%, 97%);\\n\\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\\n\\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\\n}\\n\\n/* Content styles */\\n.ck-content .table > figcaption {\\n\\tdisplay: table-caption;\\n\\tcaption-side: top;\\n\\tword-break: break-word;\\n\\ttext-align: center;\\n\\tcolor: var(--ck-color-selector-caption-text);\\n\\tbackground-color: var(--ck-color-selector-caption-background);\\n\\tpadding: .6em;\\n\\tfont-size: .75em;\\n\\toutline-offset: -1px;\\n\\n\\t/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */\\n\\t@mixin ck-media-forced-colors {\\n\\t\\tbackground-color: unset;\\n\\t\\tcolor: unset;\\n\\t}\\n}\\n\\n/* Editing styles */\\n.ck.ck-editor__editable .table > figcaption {\\n\\t@mixin ck-media-default-colors {\\n\\t\\t&.table__caption_highlighted {\\n\\t\\t\\tanimation: ck-table-caption-highlight .6s ease-out;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-placeholder::before {\\n\\t\\tpadding-left: inherit;\\n\\t\\tpadding-right: inherit;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the table caption placeholder doesn't overflow the placeholder area.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\\n\\t\\t */\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n@keyframes ck-table-caption-highlight {\\n\\t0% {\\n\\t\\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground-color: var(--ck-color-selector-caption-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-forced-colors {\\n\\t@media (forced-colors: active) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\\n@define-mixin ck-media-default-colors {\\n\\t@media (forced-colors: none) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css\"],\"names\":[],\"mappings\":\"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/* Class added to span element surrounding currently selected link. */\\n.ck .ck-link_selected {\\n\\tbackground: var(--ck-color-link-selected-background);\\n\\n\\t/* Give linked inline images some outline to let the user know they are also part of the link. */\\n\\t& span.image-inline {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\\n\\t}\\n}\\n\\n/*\\n * Classes used by the \\\"fake visual selection\\\" displayed in the content when an input\\n * in the link UI has focus (the browser does not render the native selection in this state).\\n */\\n.ck .ck-fake-link-selection {\\n\\tbackground: var(--ck-color-link-fake-selection);\\n}\\n\\n/* A collapsed fake visual selection. */\\n.ck .ck-fake-link-selection_collapsed {\\n\\theight: 100%;\\n\\tborder-right: 1px solid var(--ck-color-base-text);\\n\\tmargin-right: -1px;\\n\\toutline: solid 1px hsla(0, 0%, 100%, .5);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-toolbar-dropdown-max-width: 60vw;\\n}\\n\\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\\n\\twidth: max-content;\\n\\tmax-width: var(--ck-toolbar-dropdown-max-width);\\n\\n\\t& .ck-button {\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-toolbar-dropdown .ck-toolbar {\\n\\tborder: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}@media (prefers-reduced-motion:reduce){.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:none;opacity:1}}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css\"],\"names\":[],\"mappings\":\"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBAMD,CAJC,uCAHD,yFAKE,cAAe,CADf,SAGF,CADC,CAKF,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& .image,\\n\\t& .image-inline {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t/* Upload progress bar. */\\n\\t& .image .ck-progress-bar,\\n\\t& .image-inline .ck-progress-bar {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& .image,\\n\\t& .image-inline {\\n\\t\\t/* Showing animation. */\\n\\t\\t&.ck-appear {\\n\\t\\t\\tanimation: fadeIn 700ms;\\n\\n\\t\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t\\tanimation: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Upload progress bar. */\\n\\t& .image .ck-progress-bar,\\n\\t& .image-inline .ck-progress-bar {\\n\\t\\theight: 2px;\\n\\t\\twidth: 0;\\n\\t\\tbackground: var(--ck-color-upload-bar-background);\\n\\t\\ttransition: width 100ms;\\n\\t}\\n}\\n\\n@keyframes fadeIn {\\n\\tfrom { opacity: 0; }\\n\\tto { opacity: 1; }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-editor__editable .ck-list-bogus-paragraph{display:block}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css\"],\"names\":[],\"mappings\":\"AAKA,8CACC,aACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-editor__editable .ck-list-bogus-paragraph {\\n\\tdisplay: block;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image.image-style-block-align-left,.ck-content .image.image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image.image-style-align-left,.ck-content .image.image-style-align-right{clear:none}.ck-content .image.image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image.image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image.image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image.image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image.image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content p+.image.image-style-align-left,.ck-content p+.image.image-style-align-right,.ck-content p+.image.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAQE,iGAEC,oDACD,CAIA,qFAEC,UACD,CAEA,oCACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,0CACC,UAAW,CACX,0CACD,CAEA,2CACC,WAAY,CACZ,yCACD,CAEA,iDAEC,gBAAiB,CADjB,cAED,CAEA,gDACC,aAAc,CACd,iBACD,CAGD,sCACC,gBAAiB,CACjB,iBACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAGA,+HAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-image-style-spacing: 1.5em;\\n\\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\\n}\\n\\n.ck-content {\\n\\t/* See: https://github.com/ckeditor/ckeditor5/issues/16317 */\\n\\t& .image {\\n\\t\\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\\n\\t\\tconfirming successful application of the style if image width exceeds the editor's size.\\n\\t\\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\\n\\t\\t&.image-style-block-align-left,\\n\\t\\t&.image-style-block-align-right {\\n\\t\\t\\tmax-width: calc(100% - var(--ck-image-style-spacing));\\n\\t\\t}\\n\\n\\t\\t/* Allows displaying multiple floating images in the same line.\\n\\t\\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\\n\\t\\t&.image-style-align-left,\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tclear: none;\\n\\t\\t}\\n\\n\\t\\t&.image-style-side {\\n\\t\\t\\tfloat: right;\\n\\t\\t\\tmargin-left: var(--ck-image-style-spacing);\\n\\t\\t\\tmax-width: 50%;\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-left {\\n\\t\\t\\tfloat: left;\\n\\t\\t\\tmargin-right: var(--ck-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tfloat: right;\\n\\t\\t\\tmargin-left: var(--ck-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-block-align-right {\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t}\\n\\n\\t\\t&.image-style-block-align-left {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t& .image-style-align-center {\\n\\t\\tmargin-left: auto;\\n\\t\\tmargin-right: auto;\\n\\t}\\n\\n\\t& .image-style-align-left {\\n\\t\\tfloat: left;\\n\\t\\tmargin-right: var(--ck-image-style-spacing);\\n\\t}\\n\\n\\t& .image-style-align-right {\\n\\t\\tfloat: right;\\n\\t\\tmargin-left: var(--ck-image-style-spacing);\\n\\t}\\n\\n\\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\\n\\t& p + .image.image-style-align-left,\\n\\t& p + .image.image-style-align-right,\\n\\t& p + .image.image-style-side {\\n\\t\\tmargin-top: 0;\\n\\t}\\n\\n\\t& .image-inline {\\n\\t\\t&.image-style-align-left,\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tmargin-top: var(--ck-inline-image-style-spacing);\\n\\t\\t\\tmargin-bottom: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-left {\\n\\t\\t\\tmargin-right: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tmargin-left: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-splitbutton {\\n\\t/* The button should display as a regular drop-down if the action button\\n\\tis forced to fire the same action as the arrow button. */\\n\\t&.ck-splitbutton_flatten {\\n\\t\\t&:hover,\\n\\t\\t&.ck-splitbutton_open {\\n\\t\\t\\t& > .ck-splitbutton__action:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\\n\\t\\t\\t\\tbackground-color: var(--ck-color-button-on-background);\\n\\n\\t\\t\\t\\t&::after {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-splitbutton_open:hover {\\n\\t\\t\\t& > .ck-splitbutton__action:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\\n\\t\\t\\t\\tbackground-color: var(--ck-color-button-on-hover-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{transition:box-shadow .2s ease}@media (forced-colors:none){.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}}@media (forced-colors:active){.ck.ck-color-grid__tile{height:unset;min-height:unset;min-width:unset;padding:0 var(--ck-spacing-small);width:unset}.ck.ck-color-grid__tile .ck-button__label{display:inline-block}}@media (prefers-reduced-motion:reduce){.ck.ck-color-grid__tile{transition:none}}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\"],\"names\":[],\"mappings\":\"AAKA,kBACC,YACD,CCCA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBACC,8BAkED,CC3EC,4BACC,wBDgBA,QAAS,CAJT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CAJV,oCCTA,CDgBA,8HAIC,QACD,CAEA,+DACC,gDACD,CAEA,8BACC,8FACD,CAEA,gGAEC,iGACD,CCjCD,CAZA,8BACC,wBDqDA,YAAa,CAEb,gBAAiB,CADjB,eAAgB,CAEhB,iCAAkC,CAJlC,WClDA,CDwDA,0CACC,oBACD,CCzDD,CD4DA,uCAhDD,wBAiDE,eAkBF,CAjBC,CAEA,oCACC,YAAa,CACb,gBACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAGC,0CACC,aACD,CAIF,yBACC,oCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-color-grid {\\n\\tdisplay: grid;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css\\\";\\n\\n:root {\\n\\t--ck-color-grid-tile-size: 24px;\\n\\n\\t/* Not using global colors here because these may change but some colors in a pallette\\n\\t * require special treatment. For instance, this ensures no matter what the UI text color is,\\n\\t * the check icon will look good on the black color tile. */\\n\\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\\n}\\n\\n.ck.ck-color-grid {\\n\\tgrid-gap: 5px;\\n\\tpadding: 8px;\\n}\\n\\n.ck.ck-color-grid__tile {\\n\\ttransition: .2s ease box-shadow;\\n\\n\\t@mixin ck-media-default-colors {\\n\\t\\twidth: var(--ck-color-grid-tile-size);\\n\\t\\theight: var(--ck-color-grid-tile-size);\\n\\t\\tmin-width: var(--ck-color-grid-tile-size);\\n\\t\\tmin-height: var(--ck-color-grid-tile-size);\\n\\t\\tpadding: 0;\\n\\t\\tborder: 0;\\n\\n\\t\\t&.ck-on,\\n\\t\\t&:focus:not( .ck-disabled ),\\n\\t\\t&:hover:not( .ck-disabled ) {\\n\\t\\t\\t/* Disable the default .ck-button's border ring. */\\n\\t\\t\\tborder: 0;\\n\\t\\t}\\n\\n\\t\\t&.ck-color-selector__color-tile_bordered {\\n\\t\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\\n\\t\\t}\\n\\n\\t\\t&:focus:not( .ck-disabled ),\\n\\t\\t&:hover:not( .ck-disabled ) {\\n\\t\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * In high contrast mode, the colors are replaced with text labels.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/14907.\\n\\t */\\n\\t@mixin ck-media-forced-colors {\\n\\t\\twidth: unset;\\n\\t\\theight: unset;\\n\\t\\tmin-width: unset;\\n\\t\\tmin-height: unset;\\n\\t\\tpadding: 0 var(--ck-spacing-small);\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\ttransition: none;\\n\\t}\\n\\n\\t&.ck-disabled {\\n\\t\\tcursor: unset;\\n\\t\\ttransition: unset;\\n\\t}\\n\\n\\t& .ck.ck-icon {\\n\\t\\tdisplay: none;\\n\\t\\tcolor: var(--ck-color-color-grid-check-icon);\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-color-grid__label {\\n\\tpadding: 0 var(--ck-spacing-standard);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-forced-colors {\\n\\t@media (forced-colors: active) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\\n@define-mixin ck-media-default-colors {\\n\\t@media (forced-colors: none) {\\n\\t\\t& {\\n\\t\\t\\t@mixin-content;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CChEF,gJDyEG,aCvEH,CFAA\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n.ck.ck-link-actions {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-link-actions__preview {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-link-actions__preview {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(.ck-link-actions__preview) {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n@import \\\"../mixins/_focus.css\\\";\\n@import \\\"../mixins/_shadow.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n.ck.ck-link-actions {\\n\\t& .ck-button.ck-link-actions__preview {\\n\\t\\tpadding-left: 0;\\n\\t\\tpadding-right: 0;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tpadding: 0 var(--ck-spacing-medium);\\n\\t\\t\\tcolor: var(--ck-color-link-default);\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\tcursor: pointer;\\n\\n\\t\\t\\t/* Match the box model of the link editor form's input so the balloon\\n\\t\\t\\tdoes not change width when moving between actions and the form. */\\n\\t\\t\\tmax-width: var(--ck-input-width);\\n\\t\\t\\tmin-width: 3em;\\n\\t\\t\\ttext-align: center;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&,\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-button:not(:first-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-button:not(:last-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\t& .ck-button.ck-link-actions__preview {\\n\\t\\t\\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\\n\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(.ck-link-actions__preview) {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-dialog .ck.ck-dialog__actions{display:flex;justify-content:flex-end;padding:var(--ck-spacing-large)}.ck.ck-dialog .ck.ck-dialog__actions>*+*{margin-left:var(--ck-spacing-large)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialogactions.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialogactions.css\"],\"names\":[],\"mappings\":\"AAMC,qCACC,YAAa,CACb,wBAAyB,CCDzB,+BDED,CCAC,yCACC,mCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-dialog {\\n\\t& .ck.ck-dialog__actions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: flex-end;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-dialog {\\n\\t& .ck.ck-dialog__actions {\\n\\t\\tpadding: var(--ck-spacing-large);\\n\\n\\t\\t& > * + * {\\n\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-textarea{overflow-x:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css\"],\"names\":[],\"mappings\":\"AASA,aACC,iBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/*\\n * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.\\n * This bug is especially visible when rows=1.\\n */\\n.ck-textarea {\\n\\toverflow-x: hidden\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\"],\"names\":[],\"mappings\":\"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n.ck.ck-text-alternative-form {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tdisplay: inline-block;\\n\\t}\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css\"],\"names\":[],\"mappings\":\"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-content {\\n\\t& .image {\\n\\t\\tdisplay: table;\\n\\t\\tclear: both;\\n\\t\\ttext-align: center;\\n\\n\\t\\t/* Make sure there is some space between the content and the image. Center image by default. */\\n\\t\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\t \\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\t\\tmargin: 0.9em auto;\\n\\n\\t\\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\\n\\t\\tmin-width: 50px;\\n\\n\\t\\t& img {\\n\\t\\t\\t/* Prevent unnecessary margins caused by line-height (see #44). */\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t/* Center the image if its width is smaller than the content's width. */\\n\\t\\t\\tmargin: 0 auto;\\n\\n\\t\\t\\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\\n\\t\\t\\tmin-width: 100%;\\n\\n\\t\\t\\t/* Keep proportions of the block image if the height is set and the image is wider than the editor width.\\n\\t\\t\\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\\n\\t\\t\\theight: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t& .image-inline {\\n\\t\\t/*\\n\\t\\t * Normally, the .image-inline would have \\\"display: inline-block\\\" and \\\"img { width: 100% }\\\" (to follow the wrapper while resizing).\\n\\t\\t * Unfortunately, together with \\\"srcset\\\", it gets automatically stretched up to the width of the editing root.\\n\\t\\t * This strange behavior does not happen with inline-flex.\\n\\t\\t */\\n\\t\\tdisplay: inline-flex;\\n\\n\\t\\t/* While being resized, don't allow the image to exceed the width of the editing root. */\\n\\t\\tmax-width: 100%;\\n\\n\\t\\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\\n\\t\\talign-items: flex-start;\\n\\n\\t\\t/* When the picture is present it must act as a flex container to let the img resize properly */\\n\\t\\t& picture {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t/* When the picture is present, it must act like a resizable img. */\\n\\t\\t& picture,\\n\\t\\t& img {\\n\\t\\t\\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tflex-shrink: 1;\\n\\n\\t\\t\\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Inhertit the content styles padding of the
in case the integration overrides `text-align: center`\\n\\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\\n\\t * caret does, and not at the edge of
.\\n\\t */\\n\\t& .image > figcaption.ck-placeholder::before {\\n\\t\\tpadding-left: inherit;\\n\\t\\tpadding-right: inherit;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the image caption placeholder doesn't overflow the placeholder area.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\\n\\t\\t */\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t/*\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\\n\\t */\\n\\t& .image {\\n\\t\\tz-index: 1;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the selected image always stays on top of its siblings.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected {\\n\\t\\t\\tz-index: 2;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\\n\\t */\\n\\t& .image-inline {\\n\\t\\tz-index: 1;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the selected inline image always stays on top of its siblings.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected {\\n\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Make sure the native browser selection style is not displayed.\\n\\t\\t\\t * Inline image widgets have their own styles for the selected state and\\n\\t\\t\\t * leaving this up to the browser is asking for a visual collision.\\n\\t\\t\\t */\\n\\t\\t\\t& ::selection {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\\n\\t& .image-inline img {\\n\\t\\theight: auto;\\n\\t}\\n\\n\\t/* The inline image nested in the table should have its original size if not resized.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\\n\\t& td,\\n\\t& th {\\n\\t\\t& .image-inline img {\\n\\t\\t\\tmax-width: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}@media (prefers-reduced-motion:reduce){.ck .ck-insert-table-dropdown-grid-box{transition:none}}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css\"],\"names\":[],\"mappings\":\"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAcD,CAZC,uCATD,uCAUE,eAWF,CAVC,CAEA,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: wrap;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-insert-table-dropdown-padding: 10px;\\n\\t--ck-insert-table-dropdown-box-height: 11px;\\n\\t--ck-insert-table-dropdown-box-width: 12px;\\n\\t--ck-insert-table-dropdown-box-margin: 1px;\\n}\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\\n\\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\\n\\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\\n}\\n\\n.ck .ck-insert-table-dropdown__label,\\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\\n\\ttext-align: center;\\n}\\n\\n.ck .ck-insert-table-dropdown-grid-box {\\n\\tmin-width: var(--ck-insert-table-dropdown-box-width);\\n\\tmin-height: var(--ck-insert-table-dropdown-box-height);\\n\\tmargin: var(--ck-insert-table-dropdown-box-margin);\\n\\tborder: 1px solid var(--ck-color-base-border);\\n\\tborder-radius: 1px;\\n\\toutline: none;\\n\\ttransition: none;\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\ttransition: none;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\tborder-color: var(--ck-color-focus-border);\\n\\t\\tbackground: var(--ck-color-focus-outer-shadow);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css\"],\"names\":[],\"mappings\":\"AAKA,MACC,gEACD,CAWE,8QAGC,2DAA4D,CAC5D,8CAA+C,CAC/C,mBACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\\n}\\n\\n.ck-widget.table {\\n\\t& td,\\n\\t& th {\\n\\t\\t/**\\n\\t\\t * While setting outline is fine, the border should not be modified here\\n\\t\\t * because it overrides the default table cell border color which is not expected.\\n\\t\\t * So do not use `@mixin ck-focus-ring;` here, or any other border styles.\\n\\t\\t * See more: https://github.com/ckeditor/ckeditor5/issues/16979\\n\\t\\t */\\n\\t\\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\\n\\t\\t&.ck-editor__nested-editable:focus {\\n\\t\\t\\t/* A very slight background to highlight the focused cell */\\n\\t\\t\\tbackground: var(--ck-color-selector-focused-cell-background);\\n\\t\\t\\toutline: 1px solid var(--ck-color-focus-border);\\n\\t\\t\\toutline-offset: -1px; /* progressive enhancement - no IE support */\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;background:var(--ck-color-button-default-background);border:1px solid transparent;border-radius:0;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}@media (prefers-reduced-motion:reduce){.ck.ck-button,a.ck.ck-button{transition:none}}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit;opacity:.5}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-medium)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background);color:var(--ck-color-button-on-color)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background);color:var(--ck-color-button-action-text)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],\"names\":[],\"mappings\":\"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CEhCC,iDFWC,oBETD,CAFA,iDFeC,qBEbD,CFgBA,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CGzBD,6BA6BC,uBAAwB,CC7BxB,oDAAqC,CDuBrC,4BAA6B,CExB7B,eAAgB,CFOhB,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAwID,CC1IE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CCdA,wIAEC,qCAED,CF0BA,uCA/BD,6BAgCE,eA6GF,CA5GC,CAEA,oFGpCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHyCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CDzEA,qFCmEE,eDjEF,CAFA,qFCuEE,gBDrEF,CCyEA,yEACC,aAAc,CAUd,UACD,CDvFA,6FC+EE,mCD7EF,CAFA,6FCmFE,oCDjFF,CCyFC,oIIxFD,oDJ4FC,CAOA,gLKnGD,kCLqGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAYD,CD5HA,2HCqHG,qCDnHH,CAFA,2HCyHG,oCDvHH,CC8HC,mHACC,WACD,CAID,yCChIA,+CAAqC,CDmIpC,qCACD,CCjIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDuHA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CChJC,mDAAqC,CDoJrC,wCACD,CClJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDwID,uCAEC,eACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../mixins/_unselectable.css\\\";\\n@import \\\"../../mixins/_dir.css\\\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-unselectable;\\n\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n\\talign-items: center;\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\tjustify-content: left;\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\tjustify-content: right;\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Center the icon horizontally in a button without text. */\\n\\t&:not(.ck-button_with-text) {\\n\\t\\tjustify-content: center;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_focus.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n@import \\\"../../../mixins/_disabled.css\\\";\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../mixins/_button.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-button-colors --ck-color-button-default;\\n\\t@mixin ck-rounded-corners;\\n\\n\\twhite-space: nowrap;\\n\\tcursor: default;\\n\\tvertical-align: middle;\\n\\tpadding: var(--ck-spacing-tiny);\\n\\ttext-align: center;\\n\\n\\t/* A very important piece of styling. Go to variable declaration to learn more. */\\n\\tmin-width: var(--ck-ui-component-min-height);\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Normalize the height of the line. Removing this will break consistent height\\n\\tamong text and text-less buttons (with icons). */\\n\\tline-height: 1;\\n\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t/* Avoid flickering when the foucs border shows up. */\\n\\tborder: 1px solid transparent;\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\\n\\t-webkit-appearance: none;\\n\\n\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\ttransition: none;\\n\\t}\\n\\n\\t&:active,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t/* Allow icon coloring using the text \\\"color\\\" property. */\\n\\t& .ck-button__icon {\\n\\t\\t& use,\\n\\t\\t& use * {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\t\\tfont-size: inherit;\\n\\t\\tfont-weight: inherit;\\n\\t\\tcolor: inherit;\\n\\t\\tcursor: inherit;\\n\\n\\t\\t/* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and\\n\\t\\twithout labels (but with icons) have different sizes in Chrome */\\n\\t\\tvertical-align: middle;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__keystroke {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\topacity: .5;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t&.ck-disabled {\\n\\t\\t&:active,\\n\\t\\t&:focus {\\n\\t\\t\\t/* The disabled button should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t& .ck-button__keystroke {\\n\\t\\t\\topacity: .3;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\\n\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-keystroke {\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* A style of the button which is currently on, e.g. its feature is active. */\\n\\t&.ck-on {\\n\\t\\t@mixin ck-button-colors --ck-color-button-on;\\n\\n\\t\\tcolor: var(--ck-color-button-on-color);\\n\\t}\\n\\n\\t&.ck-button-save {\\n\\t\\tcolor: var(--ck-color-button-save);\\n\\t}\\n\\n\\t&.ck-button-cancel {\\n\\t\\tcolor: var(--ck-color-button-cancel);\\n\\t}\\n}\\n\\n/* A style of the button which handles the primary action. */\\n.ck.ck-button-action,\\na.ck.ck-button-action {\\n\\t@mixin ck-button-colors --ck-color-button-action;\\n\\n\\tcolor: var(--ck-color-button-action-text);\\n}\\n\\n.ck.ck-button-bold,\\na.ck.ck-button-bold {\\n\\tfont-weight: bold;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements a button of given background color.\\n *\\n * @param {String} $background - Background color of the button.\\n * @param {String} $border - Border color of the button.\\n */\\n@define-mixin ck-button-colors $prefix {\\n\\tbackground: var($(prefix)-background);\\n\\n\\t&:not(.ck-disabled) {\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var($(prefix)-hover-background);\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbackground: var($(prefix)-active-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t&.ck-disabled {\\n\\t\\tbackground: var($(prefix)-disabled-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css\"],\"names\":[],\"mappings\":\"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-content code {\\n\\tbackground-color: hsla(0, 0%, 78%, 0.3);\\n\\tpadding: .15em;\\n\\tborder-radius: 2px;\\n}\\n\\n.ck.ck-editor__editable .ck-code_selected {\\n\\tbackground-color: hsla(0, 0%, 78%, 0.5);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:\"\";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:\"\";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\"],\"names\":[],\"mappings\":\"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CCjFA,mDDwEE,sFAAuF,CADvF,+JAAoK,CAFpK,SCnEF,CAFA,mDD+EE,sFAAuF,CADvF,+JAAmK,CAFnK,UC1EF\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\tdisplay: inline;\\n\\t\\tposition: relative;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& span {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t& > .ck-widget__type-around {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-clipboard-drop-target-line {\\n\\tposition: absolute;\\n\\tpointer-events: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n:root {\\n\\t--ck-clipboard-drop-target-dot-width: 12px;\\n\\t--ck-clipboard-drop-target-dot-height: 8px;\\n\\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border);\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\t& span {\\n\\t\\t\\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tbackground: var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tmargin-left: -1px;\\n\\n\\t\\t\\t/* The triangle above the marker */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: '';\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\theight: 0;\\n\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\n\\t\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t\\t\\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\\n\\t\\t\\t\\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget that it a drop target.\\n\\t */\\n\\t& .ck-widget.ck-clipboard-drop-target-range {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\tzoom: 0.6;\\n\\t\\toutline: none !important;\\n\\t}\\n}\\n\\n.ck.ck-clipboard-drop-target-line {\\n\\theight: 0;\\n\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\tbackground: var(--ck-clipboard-drop-target-color);\\n\\tmargin-top: -1px;\\n\\n\\t&::before {\\n\\t\\tcontent: '';\\n\\t\\tposition: absolute;\\n\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tborder-style: solid;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tleft: -1px;\\n\\n\\t\\t\\tborder-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tright: -1px;\\n\\n\\t\\t\\tborder-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;\\n\\t\\t\\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Markdown-it plugin to render GitHub-style task lists; see\n//\n// https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments\n// https://github.com/blog/1825-task-lists-in-all-markdown-documents\n\nvar disableCheckboxes = true;\nvar useLabelWrapper = false;\nvar useLabelAfter = false;\n\nmodule.exports = function(md, options) {\n\tif (options) {\n\t\tdisableCheckboxes = !options.enabled;\n\t\tuseLabelWrapper = !!options.label;\n\t\tuseLabelAfter = !!options.labelAfter;\n\t}\n\n\tmd.core.ruler.after('inline', 'github-task-lists', function(state) {\n\t\tvar tokens = state.tokens;\n\t\tfor (var i = 2; i < tokens.length; i++) {\n\t\t\tif (isTodoItem(tokens, i)) {\n\t\t\t\ttodoify(tokens[i], state.Token);\n\t\t\t\tattrSet(tokens[i-2], 'class', 'task-list-item' + (!disableCheckboxes ? ' enabled' : ''));\n\t\t\t\tattrSet(tokens[parentToken(tokens, i-2)], 'class', 'contains-task-list');\n\t\t\t}\n\t\t}\n\t});\n};\n\nfunction attrSet(token, name, value) {\n\tvar index = token.attrIndex(name);\n\tvar attr = [name, value];\n\n\tif (index < 0) {\n\t\ttoken.attrPush(attr);\n\t} else {\n\t\ttoken.attrs[index] = attr;\n\t}\n}\n\nfunction parentToken(tokens, index) {\n\tvar targetLevel = tokens[index].level - 1;\n\tfor (var i = index - 1; i >= 0; i--) {\n\t\tif (tokens[i].level === targetLevel) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction isTodoItem(tokens, index) {\n\treturn isInline(tokens[index]) &&\n\t isParagraph(tokens[index - 1]) &&\n\t isListItem(tokens[index - 2]) &&\n\t startsWithTodoMarkdown(tokens[index]);\n}\n\nfunction todoify(token, TokenConstructor) {\n\ttoken.children.unshift(makeCheckbox(token, TokenConstructor));\n\ttoken.children[1].content = token.children[1].content.slice(3);\n\ttoken.content = token.content.slice(3);\n\n\tif (useLabelWrapper) {\n\t\tif (useLabelAfter) {\n\t\t\ttoken.children.pop();\n\n\t\t\t// Use large random number as id property of the checkbox.\n\t\t\tvar id = 'task-item-' + Math.ceil(Math.random() * (10000 * 1000) - 1000);\n\t\t\ttoken.children[0].content = token.children[0].content.slice(0, -1) + ' id=\"' + id + '\">';\n\t\t\ttoken.children.push(afterLabel(token.content, id, TokenConstructor));\n\t\t} else {\n\t\t\ttoken.children.unshift(beginLabel(TokenConstructor));\n\t\t\ttoken.children.push(endLabel(TokenConstructor));\n\t\t}\n\t}\n}\n\nfunction makeCheckbox(token, TokenConstructor) {\n\tvar checkbox = new TokenConstructor('html_inline', '', 0);\n\tvar disabledAttr = disableCheckboxes ? ' disabled=\"\" ' : '';\n\tif (token.content.indexOf('[ ] ') === 0) {\n\t\tcheckbox.content = '';\n\t} else if (token.content.indexOf('[x] ') === 0 || token.content.indexOf('[X] ') === 0) {\n\t\tcheckbox.content = '';\n\t}\n\treturn checkbox;\n}\n\n// these next two functions are kind of hacky; probably should really be a\n// true block-level token with .tag=='label'\nfunction beginLabel(TokenConstructor) {\n\tvar token = new TokenConstructor('html_inline', '', 0);\n\ttoken.content = '';\n\treturn token;\n}\n\nfunction afterLabel(content, id, TokenConstructor) {\n\tvar token = new TokenConstructor('html_inline', '', 0);\n\ttoken.content = '';\n\ttoken.attrs = [{for: id}];\n\treturn token;\n}\n\nfunction isInline(token) { return token.type === 'inline'; }\nfunction isParagraph(token) { return token.type === 'paragraph_open'; }\nfunction isListItem(token) { return token.type === 'list_item_open'; }\n\nfunction startsWithTodoMarkdown(token) {\n\t// leading whitespace in a list item is already trimmed off by markdown-it\n\treturn token.content.indexOf('[ ] ') === 0 || token.content.indexOf('[x] ') === 0 || token.content.indexOf('[X] ') === 0;\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--ck-accessibility-help-dialog-max-width:600px;--ck-accessibility-help-dialog-max-height:400px;--ck-accessibility-help-dialog-border-color:#ccced1;--ck-accessibility-help-dialog-code-background-color:#ededed;--ck-accessibility-help-dialog-kbd-shadow-color:#9c9c9c}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content{border:1px solid transparent;max-height:var(--ck-accessibility-help-dialog-max-height);max-width:var(--ck-accessibility-help-dialog-max-width);overflow:auto;padding:var(--ck-spacing-large);user-select:text}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content *{white-space:normal}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content .ck-label{display:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3{font-size:1.2em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4{font-size:1em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content p,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content table{margin:1em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl{border-bottom:none;border-top:1px solid var(--ck-accessibility-help-dialog-border-color);display:grid;grid-template-columns:2fr 1fr}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{border-bottom:1px solid var(--ck-accessibility-help-dialog-border-color);padding:.4em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{grid-column-start:1}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd{grid-column-start:2;text-align:right}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{background:var(--ck-accessibility-help-dialog-code-background-color);border-radius:2px;display:inline-block;font-size:.9em;line-height:1;padding:.4em;text-align:center;vertical-align:middle}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code{font-family:monospace}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{box-shadow:0 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);margin:0 1px;min-width:1.8em}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd+kbd{margin-left:2px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/accessibilityhelp.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],\"names\":[],\"mappings\":\"AAQA,MACC,8CAA+C,CAC/C,+CAAgD,CAChD,mDAA8D,CAC9D,4DAAyE,CACzE,uDACD,CAEA,wEAOC,4BAA6B,CAJ7B,yDAA0D,CAD1D,uDAAwD,CAExD,aAAc,CAHd,+BAAgC,CAIhC,gBAgFD,CA5EC,8ECdA,2BAA2B,CCF3B,2CAA8B,CDC9B,YDkBA,CAEA,0EACC,kBACD,CAGA,kFACC,YACD,CAEA,2EAEC,eAAgB,CADhB,eAED,CAEA,2EAEC,aAAc,CADd,eAED,CAEA,8SAIC,YACD,CAEA,2EAIC,kBAAmB,CADnB,qEAAsE,CAFtE,YAAa,CACb,6BAiBD,CAbC,4JACC,wEAAyE,CACzE,cACD,CAEA,8EACC,mBACD,CAEA,8EACC,mBAAoB,CACpB,gBACD,CAGD,yJAEC,oEAAqE,CAIrE,iBAAkB,CALlB,oBAAqB,CAOrB,cAAe,CAHf,aAAc,CAFd,YAAa,CAIb,iBAAkB,CAHlB,qBAKD,CAEA,6EACC,qBACD,CAEA,4EAEC,yEAA4E,CAC5E,YAAa,CAFb,eAOD,CAHC,gFACC,eACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_focus.css\\\";\\n@import \\\"../../../mixins/_shadow.css\\\";\\n\\n:root {\\n\\t--ck-accessibility-help-dialog-max-width: 600px;\\n\\t--ck-accessibility-help-dialog-max-height: 400px;\\n\\t--ck-accessibility-help-dialog-border-color: hsl(220, 6%, 81%);\\n\\t--ck-accessibility-help-dialog-code-background-color: hsl(0deg 0% 92.94%);\\n\\t--ck-accessibility-help-dialog-kbd-shadow-color: hsl(0deg 0% 61%);\\n}\\n\\n.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content {\\n\\tpadding: var(--ck-spacing-large);\\n\\tmax-width: var(--ck-accessibility-help-dialog-max-width);\\n\\tmax-height: var(--ck-accessibility-help-dialog-max-height);\\n\\toverflow: auto;\\n\\tuser-select: text;\\n\\n\\tborder: 1px solid transparent;\\n\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t* {\\n\\t\\twhite-space: normal;\\n\\t}\\n\\n\\t/* Hide the main label of the content container. */\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t& h3 {\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 1.2em;\\n\\t}\\n\\n\\t& h4 {\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 1em;\\n\\t}\\n\\n\\t& p,\\n\\t& h3,\\n\\t& h4,\\n\\t& table {\\n\\t\\tmargin: 1em 0;\\n\\t}\\n\\n\\t& dl {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: 2fr 1fr;\\n\\t\\tborder-top: 1px solid var(--ck-accessibility-help-dialog-border-color);\\n\\t\\tborder-bottom: none;\\n\\n\\t\\t& dt, & dd {\\n\\t\\t\\tborder-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color);\\n\\t\\t\\tpadding: .4em 0;\\n\\t\\t}\\n\\n\\t\\t& dt {\\n\\t\\t\\tgrid-column-start: 1;\\n\\t\\t}\\n\\n\\t\\t& dd {\\n\\t\\t\\tgrid-column-start: 2;\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& kbd, & code {\\n\\t\\tdisplay: inline-block;\\n\\t\\tbackground: var(--ck-accessibility-help-dialog-code-background-color);\\n\\t\\tpadding: .4em;\\n\\t\\tvertical-align: middle;\\n\\t\\tline-height: 1;\\n\\t\\tborder-radius: 2px;\\n\\t\\ttext-align: center;\\n\\t\\tfont-size: .9em;\\n\\t}\\n\\n\\t& code {\\n\\t\\tfont-family: monospace;\\n\\t}\\n\\n\\t& kbd {\\n\\t\\tmin-width: 1.8em;\\n\\t\\tbox-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);\\n\\t\\tmargin: 0 1px;\\n\\n\\t\\t& + kbd {\\n\\t\\t\\tmargin-left: 2px;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;border-radius:0;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);border-radius:0;height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}@media (prefers-reduced-motion:reduce){.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{transition:none}}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],\"names\":[],\"mappings\":\"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CC3BA,0DDgCE,4CC9BF,CAFA,0DDqCE,2CCnCF,CDuCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CEpD9B,eAAgB,CFmDf,iFAAsF,CAEtF,0CA2BD,CE9EA,yIAEC,qCAED,CDXA,2DD8CE,gBC5CF,CAFA,2DDmDE,iBCjDF,CD2DC,2EAOC,yDAA0D,CE/D5D,eAAgB,CF8Dd,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAUD,CErED,6LAEC,qCAAsC,CFsDpC,8CEpDH,CF8DE,uCAZD,2EAaE,eAEF,CADC,CAGD,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DGpFA,kCHsFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CC/GF,2FDsHI,2DCpHJ,CAFA,2FD0HI,oECxHJ\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t& .ck-button__toggle {\\n\\t\\tdisplay: block;\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@import \\\"../../../mixins/_rounded.css\\\";\\n@import \\\"../../../mixins/_disabled.css\\\";\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\\nof the component, floating–point numbers have been used which, for the default font size\\n(see: --ck-font-size-base), will generate simple integers. */\\n:root {\\n\\t/* 34px at 13px font-size */\\n\\t--ck-switch-button-toggle-width: 2.6153846154em;\\n\\t/* 14px at 13px font-size */\\n\\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\\n\\t--ck-switch-button-translation: calc(\\n\\t\\tvar(--ck-switch-button-toggle-width) -\\n\\t\\tvar(--ck-switch-button-toggle-inner-size) -\\n\\t\\t2px /* Border */\\n\\t);\\n\\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\\n}\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t/* Unlike a regular button, the switch button text color and background should never change.\\n\\t * Changing toggle switch (background, outline) is enough to carry the information about the\\n\\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\\n\\t */\\n\\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\\n\\t\\tcolor: inherit;\\n\\t\\tbackground: transparent;\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__toggle {\\n\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Make sure the toggle is always to the right as far as possible. */\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Make sure the toggle is always to the left as far as possible. */\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\n\\t\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\t\\t/* Gently animate the background color of the toggle switch */\\n\\t\\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\\n\\t\\tborder: 1px solid transparent;\\n\\t\\twidth: var(--ck-switch-button-toggle-width);\\n\\t\\tbackground: var(--ck-color-switch-button-off-background);\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: calc(.5 * var(--ck-border-radius));\\n\\t\\t\\t}\\n\\n\\t\\t\\twidth: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\theight: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\tbackground: var(--ck-color-switch-button-inner-background);\\n\\n\\t\\t\\t/* Gently animate the inner part of the toggle switch */\\n\\t\\t\\ttransition: all 300ms ease;\\n\\n\\t\\t\\t@media (prefers-reduced-motion: reduce) {\\n\\t\\t\\t\\ttransition: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-off-hover-background);\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-button__toggle {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\\n\\t&:focus {\\n\\t\\tborder-color: transparent;\\n\\t\\toutline: none;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t& .ck-button__toggle {\\n\\t\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\\n\\t\\t\\toutline-offset: 1px;\\n\\t\\t\\toutline: var(--ck-focus-ring);\\n\\t\\t}\\n\\t}\\n\\n\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t&.ck-on {\\n\\t\\t& .ck-button__toggle {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-on-background);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground: var(--ck-color-switch-button-on-hover-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\t/*\\n\\t\\t\\t\\t* Move the toggle switch to the right. It will be animated.\\n\\t\\t\\t\\t*/\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\ttransform: translateX( var( --ck-switch-button-translation ) );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n@define-mixin ck-dir $direction {\\n\\t[dir=\\\"$(direction)\\\"] & {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t.ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css\"],\"names\":[],\"mappings\":\"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\\n */\\n.ck .ck-balloon-rotator__content .ck-toolbar {\\n\\tjustify-content: center;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\n\\t/* Let's keep similar appearance to `ck-toolbar`. */\\n\\t& > * {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Gives counter more breath than buttons. */\\n\\t& .ck-balloon-rotator__counter {\\n\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t/* We need to use smaller margin because of previous button's right margin. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n.ck .ck-balloon-rotator__content {\\n\\n\\t/* Disable default annotation shadow inside rotator with fake panels. */\\n\\t& .ck.ck-annotation-wrapper {\\n\\t\\tbox-shadow: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css\"],\"names\":[],\"mappings\":\"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck.ck-block-toolbar-button {\\n\\tposition: absolute;\\n\\tz-index: var(--ck-z-default);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n:root {\\n\\t--ck-color-block-toolbar-button: var(--ck-color-text);\\n\\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\\n}\\n\\n.ck.ck-block-toolbar-button {\\n\\tcolor: var(--ck-color-block-toolbar-button);\\n\\tfont-size: var(--ck-block-toolbar-size);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}@media print{.ck-content .table table{height:auto}}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css\"],\"names\":[],\"mappings\":\"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAeF,aACC,yBACC,WACD,CACD,CAIA,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD\",\"sourcesContent\":[\"/*\\n * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\\n */\\n\\n.ck-content .table {\\n\\t/* Give the table widget some air and center it horizontally */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em auto;\\n\\tdisplay: table;\\n\\n\\t& table {\\n\\t\\t/* The table cells should have slight borders */\\n\\t\\tborder-collapse: collapse;\\n\\t\\tborder-spacing: 0;\\n\\n\\t\\t/* Table width and height are set on the parent
. Make sure the table inside stretches\\n\\t\\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* The outer border of the table should be slightly darker than the inner lines.\\n\\t\\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\\n\\t\\tborder: 1px double hsl(0, 0%, 70%);\\n\\n\\t\\t& td,\\n\\t\\t& th {\\n\\t\\t\\tmin-width: 2em;\\n\\t\\t\\tpadding: .4em;\\n\\n\\t\\t\\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it's not necessary here.\\n\\t\\t\\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\\n\\t\\t\\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\\n\\t\\t\\tborder: 1px solid hsl(0, 0%, 75%);\\n\\t\\t}\\n\\n\\t\\t& th {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tbackground: hsla(0, 0%, 0%, 5%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Expanding the table to the full height of the parent container is necessary because tables\\n * are rendered inside
elements, which is kinda buggy in table height calculation.\\n * While setting `height: 100%` fixes the issue in the editing mode described here:\\n * https://github.com/ckeditor/ckeditor5/issues/6186\\n *\\n * it's causing another issue with the table height in the print preview mode here:\\n * https://github.com/ckeditor/ckeditor5/issues/16856\\n *\\n * For now, resetting the height to `initial` in the print mode works as a workaround.\\n */\\n@media print {\\n\\t.ck-content .table table {\\n\\t\\theight: initial;\\n\\t}\\n}\\n\\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\\n.ck-content[dir=\\\"rtl\\\"] .table th {\\n\\ttext-align: right;\\n}\\n\\n.ck-content[dir=\\\"ltr\\\"] .table th {\\n\\ttext-align: left;\\n}\\n\\n.ck-editor__editable .ck-table-bogus-paragraph {\\n\\t/*\\n\\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\\n\\t */\\n\\tdisplay: inline-block;\\n\\n\\t/*\\n\\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\\n\\t */\\n\\twidth: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * A helper (module) giving an access to the global DOM objects such as `window` and\n * `document`. Accessing these objects using this helper allows easy and bulletproof\n * testing, i.e. stubbing native properties:\n *\n * ```ts\n * import { global } from 'ckeditor5/utils';\n *\n * // This stub will work for any code using global module.\n * testUtils.sinon.stub( global, 'window', {\n * \tinnerWidth: 10000\n * } );\n *\n * console.log( global.window.innerWidth );\n * ```\n */\nlet globalVar; // named globalVar instead of global: https://github.com/ckeditor/ckeditor5/issues/12971\n// In some environments window and document API might not be available.\ntry {\n globalVar = { window, document };\n}\ncatch (e) {\n // It's not possible to mock a window object to simulate lack of a window object without writing extremely convoluted code.\n /* istanbul ignore next -- @preserve */\n // Let's cast it to not change module's API.\n // We only handle this so loading editor in environments without window and document doesn't fail.\n // For better DX we shouldn't introduce mixed types and require developers to check the type manually.\n // This module should not be used on purpose in any environment outside browser.\n globalVar = { window: {}, document: {} };\n}\nexport default globalVar;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/* globals navigator:false */\n/**\n * @module utils/env\n */\nimport global from './dom/global.js';\n/**\n * Safely returns `userAgent` from browser's navigator API in a lower case.\n * If navigator API is not available it will return an empty string.\n */\nexport function getUserAgent() {\n // In some environments navigator API might not be available.\n try {\n return navigator.userAgent.toLowerCase();\n }\n catch (e) {\n return '';\n }\n}\nconst userAgent = /* #__PURE__ */ getUserAgent();\n/**\n * A namespace containing environment and browser information.\n */\nconst env = {\n isMac: /* #__PURE__ */ isMac(userAgent),\n isWindows: /* #__PURE__ */ isWindows(userAgent),\n isGecko: /* #__PURE__ */ isGecko(userAgent),\n isSafari: /* #__PURE__ */ isSafari(userAgent),\n isiOS: /* #__PURE__ */ isiOS(userAgent),\n isAndroid: /* #__PURE__ */ isAndroid(userAgent),\n isBlink: /* #__PURE__ */ isBlink(userAgent),\n get isMediaForcedColors() {\n return isMediaForcedColors();\n },\n get isMotionReduced() {\n return isMotionReduced();\n },\n features: {\n isRegExpUnicodePropertySupported: /* #__PURE__ */ isRegExpUnicodePropertySupported()\n }\n};\nexport default env;\n/**\n * Checks if User Agent represented by the string is running on Macintosh.\n *\n * @param userAgent **Lowercase** `navigator.userAgent` string.\n * @returns Whether User Agent is running on Macintosh or not.\n */\nexport function isMac(userAgent) {\n return userAgent.indexOf('macintosh') > -1;\n}\n/**\n * Checks if User Agent represented by the string is running on Windows.\n *\n * @param userAgent **Lowercase** `navigator.userAgent` string.\n * @returns Whether User Agent is running on Windows or not.\n */\nexport function isWindows(userAgent) {\n return userAgent.indexOf('windows') > -1;\n}\n/**\n * Checks if User Agent represented by the string is Firefox (Gecko).\n *\n * @param userAgent **Lowercase** `navigator.userAgent` string.\n * @returns Whether User Agent is Firefox or not.\n */\nexport function isGecko(userAgent) {\n return !!userAgent.match(/gecko\\/\\d+/);\n}\n/**\n * Checks if User Agent represented by the string is Safari.\n *\n * @param userAgent **Lowercase** `navigator.userAgent` string.\n * @returns Whether User Agent is Safari or not.\n */\nexport function isSafari(userAgent) {\n return userAgent.indexOf(' applewebkit/') > -1 && userAgent.indexOf('chrome') === -1;\n}\n/**\n * Checks if User Agent represented by the string is running in iOS.\n *\n * @param userAgent **Lowercase** `navigator.userAgent` string.\n * @returns Whether User Agent is running in iOS or not.\n */\nexport function isiOS(userAgent) {\n // \"Request mobile site\" || \"Request desktop site\".\n return !!userAgent.match(/iphone|ipad/i) || (isMac(userAgent) && navigator.maxTouchPoints > 0);\n}\n/**\n * Checks if User Agent represented by the string is Android mobile device.\n *\n * @param userAgent **Lowercase** `navigator.userAgent` string.\n * @returns Whether User Agent is Safari or not.\n */\nexport function isAndroid(userAgent) {\n return userAgent.indexOf('android') > -1;\n}\n/**\n * Checks if User Agent represented by the string is Blink engine.\n *\n * @param userAgent **Lowercase** `navigator.userAgent` string.\n * @returns Whether User Agent is Blink engine or not.\n */\nexport function isBlink(userAgent) {\n // The Edge browser before switching to the Blink engine used to report itself as Chrome (and \"Edge/\")\n // but after switching to the Blink it replaced \"Edge/\" with \"Edg/\".\n return userAgent.indexOf('chrome/') > -1 && userAgent.indexOf('edge/') < 0;\n}\n/**\n * Checks if the current environment supports ES2018 Unicode properties like `\\p{P}` or `\\p{L}`.\n * More information about unicode properties might be found\n * [in Unicode Standard Annex #44](https://www.unicode.org/reports/tr44/#GC_Values_Table).\n */\nexport function isRegExpUnicodePropertySupported() {\n let isSupported = false;\n // Feature detection for Unicode properties. Added in ES2018. Currently Firefox does not support it.\n // See https://github.com/ckeditor/ckeditor5-mention/issues/44#issuecomment-487002174.\n try {\n // Usage of regular expression literal cause error during build (ckeditor/ckeditor5-dev#534).\n isSupported = 'ć'.search(new RegExp('[\\\\p{L}]', 'u')) === 0;\n }\n catch (error) {\n // Firefox throws a SyntaxError when the group is unsupported.\n }\n return isSupported;\n}\n/**\n * Checks if the user agent has enabled a forced colors mode (e.g. Windows High Contrast mode).\n *\n * Returns `false` in environments where `window` global object is not available.\n */\nexport function isMediaForcedColors() {\n return global.window.matchMedia ? global.window.matchMedia('(forced-colors: active)').matches : false;\n}\n/**\n * Checks if the user enabled \"prefers reduced motion\" setting in browser.\n *\n * Returns `false` in environments where `window` global object is not available.\n */\nexport function isMotionReduced() {\n return global.window.matchMedia ? global.window.matchMedia('(prefers-reduced-motion)').matches : false;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/fastdiff\n */\n/**\n * Finds positions of the first and last change in the given string/array and generates a set of changes:\n *\n * ```ts\n * fastDiff( '12a', '12xyza' );\n * // [ { index: 2, type: 'insert', values: [ 'x', 'y', 'z' ] } ]\n *\n * fastDiff( '12a', '12aa' );\n * // [ { index: 3, type: 'insert', values: [ 'a' ] } ]\n *\n * fastDiff( '12xyza', '12a' );\n * // [ { index: 2, type: 'delete', howMany: 3 } ]\n *\n * fastDiff( [ '1', '2', 'a', 'a' ], [ '1', '2', 'a' ] );\n * // [ { index: 3, type: 'delete', howMany: 1 } ]\n *\n * fastDiff( [ '1', '2', 'a', 'b', 'c', '3' ], [ '2', 'a', 'b' ] );\n * // [ { index: 0, type: 'insert', values: [ '2', 'a', 'b' ] }, { index: 3, type: 'delete', howMany: 6 } ]\n * ```\n *\n * Passed arrays can contain any type of data, however to compare them correctly custom comparator function\n * should be passed as a third parameter:\n *\n * ```ts\n * fastDiff( [ { value: 1 }, { value: 2 } ], [ { value: 1 }, { value: 3 } ], ( a, b ) => {\n * \treturn a.value === b.value;\n * } );\n * // [ { index: 1, type: 'insert', values: [ { value: 3 } ] }, { index: 2, type: 'delete', howMany: 1 } ]\n * ```\n *\n * The resulted set of changes can be applied to the input in order to transform it into the output, for example:\n *\n * ```ts\n * let input = '12abc3';\n * const output = '2ab';\n * const changes = fastDiff( input, output );\n *\n * changes.forEach( change => {\n * \tif ( change.type == 'insert' ) {\n * \t\tinput = input.substring( 0, change.index ) + change.values.join( '' ) + input.substring( change.index );\n * \t} else if ( change.type == 'delete' ) {\n * \t\tinput = input.substring( 0, change.index ) + input.substring( change.index + change.howMany );\n * \t}\n * } );\n *\n * // input equals output now\n * ```\n *\n * or in case of arrays:\n *\n * ```ts\n * let input = [ '1', '2', 'a', 'b', 'c', '3' ];\n * const output = [ '2', 'a', 'b' ];\n * const changes = fastDiff( input, output );\n *\n * changes.forEach( change => {\n * \tif ( change.type == 'insert' ) {\n * \t\tinput = input.slice( 0, change.index ).concat( change.values, input.slice( change.index ) );\n * \t} else if ( change.type == 'delete' ) {\n * \t\tinput = input.slice( 0, change.index ).concat( input.slice( change.index + change.howMany ) );\n * \t}\n * } );\n *\n * // input equals output now\n * ```\n *\n * By passing `true` as the fourth parameter (`atomicChanges`) the output of this function will become compatible with\n * the {@link module:utils/diff~diff `diff()`} function:\n *\n * ```ts\n * fastDiff( '12a', '12xyza', undefined, true );\n * // [ 'equal', 'equal', 'insert', 'insert', 'insert', 'equal' ]\n * ```\n *\n * The default output format of this function is compatible with the output format of\n * {@link module:utils/difftochanges~diffToChanges `diffToChanges()`}. The `diffToChanges()` input format is, in turn,\n * compatible with the output of {@link module:utils/diff~diff `diff()`}:\n *\n * ```ts\n * const a = '1234';\n * const b = '12xyz34';\n *\n * // Both calls will return the same results (grouped changes format).\n * fastDiff( a, b );\n * diffToChanges( diff( a, b ) );\n *\n * // Again, both calls will return the same results (atomic changes format).\n * fastDiff( a, b, undefined, true );\n * diff( a, b );\n * ```\n *\n * @typeParam T The type of array elements.\n * @typeParam AtomicChanges The type of `atomicChanges` parameter (selects the result type).\n * @param a Input array or string.\n * @param b Input array or string.\n * @param cmp Optional function used to compare array values, by default `===` (strict equal operator) is used.\n * @param atomicChanges Whether an array of `inset|delete|equal` operations should\n * be returned instead of changes set. This makes this function compatible with {@link module:utils/diff~diff `diff()`}.\n * Defaults to `false`.\n * @returns Array of changes. The elements are either {@link module:utils/diff~DiffResult} or {@link module:utils/difftochanges~Change},\n * depending on `atomicChanges` parameter.\n */\nexport default function fastDiff(a, b, cmp, atomicChanges) {\n // Set the comparator function.\n cmp = cmp || function (a, b) {\n return a === b;\n };\n // Convert the string (or any array-like object - eg. NodeList) to an array by using the slice() method because,\n // unlike Array.from(), it returns array of UTF-16 code units instead of the code points of a string.\n // One code point might be a surrogate pair of two code units. All text offsets are expected to be in code units.\n // See ckeditor/ckeditor5#3147.\n //\n // We need to make sure here that fastDiff() works identical to diff().\n const arrayA = Array.isArray(a) ? a : Array.prototype.slice.call(a);\n const arrayB = Array.isArray(b) ? b : Array.prototype.slice.call(b);\n // Find first and last change.\n const changeIndexes = findChangeBoundaryIndexes(arrayA, arrayB, cmp);\n // Transform into changes array.\n const result = atomicChanges ?\n changeIndexesToAtomicChanges(changeIndexes, arrayB.length) :\n changeIndexesToChanges(arrayB, changeIndexes);\n return result;\n}\n/**\n * Finds position of the first and last change in the given arrays. For example:\n *\n * ```ts\n * const indexes = findChangeBoundaryIndexes( [ '1', '2', '3', '4' ], [ '1', '3', '4', '2', '4' ] );\n * console.log( indexes ); // { firstIndex: 1, lastIndexOld: 3, lastIndexNew: 4 }\n * ```\n *\n * The above indexes means that in the first array the modified part is `1[23]4` and in the second array it is `1[342]4`.\n * Based on such indexes, array with `insert`/`delete` operations which allows transforming first value into the second one\n * can be generated.\n */\nfunction findChangeBoundaryIndexes(arr1, arr2, cmp) {\n // Find the first difference between passed values.\n const firstIndex = findFirstDifferenceIndex(arr1, arr2, cmp);\n // If arrays are equal return -1 indexes object.\n if (firstIndex === -1) {\n return { firstIndex: -1, lastIndexOld: -1, lastIndexNew: -1 };\n }\n // Remove the common part of each value and reverse them to make it simpler to find the last difference between them.\n const oldArrayReversed = cutAndReverse(arr1, firstIndex);\n const newArrayReversed = cutAndReverse(arr2, firstIndex);\n // Find the first difference between reversed values.\n // It should be treated as \"how many elements from the end the last difference occurred\".\n //\n // For example:\n //\n // \t\t\t\tinitial\t->\tafter cut\t-> reversed:\n // oldValue:\t'321ba'\t->\t'21ba'\t\t-> 'ab12'\n // newValue:\t'31xba'\t->\t'1xba'\t\t-> 'abx1'\n // lastIndex:\t\t\t\t\t\t\t-> 2\n //\n // So the last change occurred two characters from the end of the arrays.\n const lastIndex = findFirstDifferenceIndex(oldArrayReversed, newArrayReversed, cmp);\n // Use `lastIndex` to calculate proper offset, starting from the beginning (`lastIndex` kind of starts from the end).\n const lastIndexOld = arr1.length - lastIndex;\n const lastIndexNew = arr2.length - lastIndex;\n return { firstIndex, lastIndexOld, lastIndexNew };\n}\n/**\n * Returns a first index on which given arrays differ. If both arrays are the same, -1 is returned.\n */\nfunction findFirstDifferenceIndex(arr1, arr2, cmp) {\n for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) {\n if (arr1[i] === undefined || arr2[i] === undefined || !cmp(arr1[i], arr2[i])) {\n return i;\n }\n }\n return -1; // Return -1 if arrays are equal.\n}\n/**\n * Returns a copy of the given array with `howMany` elements removed starting from the beginning and in reversed order.\n *\n * @param arr Array to be processed.\n * @param howMany How many elements from array beginning to remove.\n * @returns Shortened and reversed array.\n */\nfunction cutAndReverse(arr, howMany) {\n return arr.slice(howMany).reverse();\n}\n/**\n * Generates changes array based on change indexes from `findChangeBoundaryIndexes` function. This function will\n * generate array with 0 (no changes), 1 (deletion or insertion) or 2 records (insertion and deletion).\n *\n * @param newArray New array for which change indexes were calculated.\n * @param changeIndexes Change indexes object from `findChangeBoundaryIndexes` function.\n * @returns Array of changes compatible with {@link module:utils/difftochanges~diffToChanges} format.\n */\nfunction changeIndexesToChanges(newArray, changeIndexes) {\n const result = [];\n const { firstIndex, lastIndexOld, lastIndexNew } = changeIndexes;\n // Order operations as 'insert', 'delete' array to keep compatibility with {@link module:utils/difftochanges~diffToChanges}\n // in most cases. However, 'diffToChanges' does not stick to any order so in some cases\n // (for example replacing '12345' with 'abcd') it will generate 'delete', 'insert' order.\n if (lastIndexNew - firstIndex > 0) {\n result.push({\n index: firstIndex,\n type: 'insert',\n values: newArray.slice(firstIndex, lastIndexNew)\n });\n }\n if (lastIndexOld - firstIndex > 0) {\n result.push({\n index: firstIndex + (lastIndexNew - firstIndex),\n type: 'delete',\n howMany: lastIndexOld - firstIndex\n });\n }\n return result;\n}\n/**\n * Generates array with set `equal|insert|delete` operations based on change indexes from `findChangeBoundaryIndexes` function.\n *\n * @param changeIndexes Change indexes object from `findChangeBoundaryIndexes` function.\n * @param newLength Length of the new array on which `findChangeBoundaryIndexes` calculated change indexes.\n * @returns Array of changes compatible with {@link module:utils/diff~diff} format.\n */\nfunction changeIndexesToAtomicChanges(changeIndexes, newLength) {\n const { firstIndex, lastIndexOld, lastIndexNew } = changeIndexes;\n // No changes.\n if (firstIndex === -1) {\n return Array(newLength).fill('equal');\n }\n let result = [];\n if (firstIndex > 0) {\n result = result.concat(Array(firstIndex).fill('equal'));\n }\n if (lastIndexNew - firstIndex > 0) {\n result = result.concat(Array(lastIndexNew - firstIndex).fill('insert'));\n }\n if (lastIndexOld - firstIndex > 0) {\n result = result.concat(Array(lastIndexOld - firstIndex).fill('delete'));\n }\n if (lastIndexNew < newLength) {\n result = result.concat(Array(newLength - lastIndexNew).fill('equal'));\n }\n return result;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/diff\n */\nimport fastDiff from './fastdiff.js';\n// The following code is based on the \"O(NP) Sequence Comparison Algorithm\"\n// by Sun Wu, Udi Manber, Gene Myers, Webb Miller.\n/**\n * Calculates the difference between two arrays or strings producing an array containing a list of changes\n * necessary to transform input into output.\n *\n * ```ts\n * diff( 'aba', 'acca' ); // [ 'equal', 'insert', 'insert', 'delete', 'equal' ]\n * ```\n *\n * This function is based on the \"O(NP) Sequence Comparison Algorithm\" by Sun Wu, Udi Manber, Gene Myers, Webb Miller.\n * Unfortunately, while it gives the most precise results, its to complex for longer strings/arrow (above 200 items).\n * Therefore, `diff()` automatically switches to {@link module:utils/fastdiff~fastDiff `fastDiff()`} when detecting\n * such a scenario. The return formats of both functions are identical.\n *\n * @param a Input array or string.\n * @param b Output array or string.\n * @param cmp Optional function used to compare array values, by default === is used.\n * @returns Array of changes.\n */\nexport default function diff(a, b, cmp) {\n // Set the comparator function.\n cmp = cmp || function (a, b) {\n return a === b;\n };\n const aLength = a.length;\n const bLength = b.length;\n // Perform `fastDiff` for longer strings/arrays (see #269).\n if (aLength > 200 || bLength > 200 || aLength + bLength > 300) {\n return diff.fastDiff(a, b, cmp, true);\n }\n // Temporary action type statics.\n let _insert, _delete;\n // Swapped the arrays to use the shorter one as the first one.\n if (bLength < aLength) {\n const tmp = a;\n a = b;\n b = tmp;\n // We swap the action types as well.\n _insert = 'delete';\n _delete = 'insert';\n }\n else {\n _insert = 'insert';\n _delete = 'delete';\n }\n const m = a.length;\n const n = b.length;\n const delta = n - m;\n // Edit scripts, for each diagonal.\n const es = {};\n // Furthest points, the furthest y we can get on each diagonal.\n const fp = {};\n function snake(k) {\n // We use -1 as an alternative below to handle initial values ( instead of filling the fp with -1 first ).\n // Furthest points (y) on the diagonal below k.\n const y1 = (fp[k - 1] !== undefined ? fp[k - 1] : -1) + 1;\n // Furthest points (y) on the diagonal above k.\n const y2 = fp[k + 1] !== undefined ? fp[k + 1] : -1;\n // The way we should go to get further.\n const dir = y1 > y2 ? -1 : 1;\n // Clone previous changes array (if any).\n if (es[k + dir]) {\n es[k] = es[k + dir].slice(0);\n }\n // Create changes array.\n if (!es[k]) {\n es[k] = [];\n }\n // Push the action.\n es[k].push(y1 > y2 ? _insert : _delete);\n // Set the beginning coordinates.\n let y = Math.max(y1, y2);\n let x = y - k;\n // Traverse the diagonal as long as the values match.\n while (x < m && y < n && cmp(a[x], b[y])) {\n x++;\n y++;\n // Push no change action.\n es[k].push('equal');\n }\n return y;\n }\n let p = 0;\n let k;\n // Traverse the graph until we reach the end of the longer string.\n do {\n // Updates furthest points and edit scripts for diagonals below delta.\n for (k = -p; k < delta; k++) {\n fp[k] = snake(k);\n }\n // Updates furthest points and edit scripts for diagonals above delta.\n for (k = delta + p; k > delta; k--) {\n fp[k] = snake(k);\n }\n // Updates furthest point and edit script for the delta diagonal.\n // note that the delta diagonal is the one which goes through the sink (m, n).\n fp[delta] = snake(delta);\n p++;\n } while (fp[delta] !== n);\n // Return the final list of edit changes.\n // We remove the first item that represents the action for the injected nulls.\n return es[delta].slice(1);\n}\n// Store the API in static property to easily overwrite it in tests.\n// Too bad dependency injection does not work in Webpack + ES 6 (const) + Babel.\ndiff.fastDiff = fastDiff;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/spy\n */\n/**\n * Creates a spy function (ala Sinon.js) that can be used to inspect call to it.\n *\n * The following are the present features:\n *\n * * spy.called: property set to `true` if the function has been called at least once.\n *\n * @returns The spy function.\n */\nfunction spy() {\n return function spy() {\n spy.called = true;\n };\n}\nexport default spy;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/eventinfo\n */\nimport spy from './spy.js';\n/**\n * The event object passed to event callbacks. It is used to provide information about the event as well as a tool to\n * manipulate it.\n */\nexport default class EventInfo {\n /**\n * @param source The emitter.\n * @param name The event name.\n */\n constructor(source, name) {\n this.source = source;\n this.name = name;\n this.path = [];\n // The following methods are defined in the constructor because they must be re-created per instance.\n this.stop = spy();\n this.off = spy();\n }\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/uid\n */\n/**\n * A hash table of hex numbers to avoid using toString() in uid() which is costly.\n * [ '00', '01', '02', ..., 'fe', 'ff' ]\n */\nconst HEX_NUMBERS = new Array(256).fill('')\n .map((_, index) => ('0' + (index).toString(16)).slice(-2));\n/**\n * Returns a unique id. The id starts with an \"e\" character and a randomly generated string of\n * 32 alphanumeric characters.\n *\n * **Note**: The characters the unique id is built from correspond to the hex number notation\n * (from \"0\" to \"9\", from \"a\" to \"f\"). In other words, each id corresponds to an \"e\" followed\n * by 16 8-bit numbers next to each other.\n *\n * @returns An unique id string.\n */\nexport default function uid() {\n // Let's create some positive random 32bit integers first.\n const [r1, r2, r3, r4] = crypto.getRandomValues(new Uint32Array(4));\n // Make sure that id does not start with number.\n return 'e' +\n HEX_NUMBERS[r1 >> 0 & 0xFF] +\n HEX_NUMBERS[r1 >> 8 & 0xFF] +\n HEX_NUMBERS[r1 >> 16 & 0xFF] +\n HEX_NUMBERS[r1 >> 24 & 0xFF] +\n HEX_NUMBERS[r2 >> 0 & 0xFF] +\n HEX_NUMBERS[r2 >> 8 & 0xFF] +\n HEX_NUMBERS[r2 >> 16 & 0xFF] +\n HEX_NUMBERS[r2 >> 24 & 0xFF] +\n HEX_NUMBERS[r3 >> 0 & 0xFF] +\n HEX_NUMBERS[r3 >> 8 & 0xFF] +\n HEX_NUMBERS[r3 >> 16 & 0xFF] +\n HEX_NUMBERS[r3 >> 24 & 0xFF] +\n HEX_NUMBERS[r4 >> 0 & 0xFF] +\n HEX_NUMBERS[r4 >> 8 & 0xFF] +\n HEX_NUMBERS[r4 >> 16 & 0xFF] +\n HEX_NUMBERS[r4 >> 24 & 0xFF];\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * Provides group of constants to use instead of hardcoding numeric priority values.\n */\nconst priorities = {\n get(priority = 'normal') {\n if (typeof priority != 'number') {\n return this[priority] || this.normal;\n }\n else {\n return priority;\n }\n },\n highest: 100000,\n high: 1000,\n normal: 0,\n low: -1000,\n lowest: -100000\n};\nexport default priorities;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\nimport priorities from './priorities.js';\n/**\n * Inserts any object with priority at correct index by priority so registered objects are always sorted from highest to lowest priority.\n *\n * @param objects Array of objects with priority to insert object to.\n * @param objectToInsert Object with `priority` property.\n */\nexport default function insertToPriorityArray(objects, objectToInsert) {\n const priority = priorities.get(objectToInsert.priority);\n // Binary search for better performance in large tables.\n let left = 0;\n let right = objects.length;\n while (left < right) {\n const mid = (left + right) >> 1; // Use bitwise operator for faster floor division by 2.\n const midPriority = priorities.get(objects[mid].priority);\n if (midPriority < priority) {\n right = mid;\n }\n else {\n left = mid + 1;\n }\n }\n objects.splice(left, 0, objectToInsert);\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/ckeditorerror\n */\n/* globals console */\n/**\n * URL to the documentation with error codes.\n */\nexport const DOCUMENTATION_URL = 'https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html';\n/**\n * The CKEditor error class.\n *\n * You should throw `CKEditorError` when:\n *\n * * An unexpected situation occurred and the editor (most probably) will not work properly. Such exception will be handled\n * by the {@link module:watchdog/watchdog~Watchdog watchdog} (if it is integrated),\n * * If the editor is incorrectly integrated or the editor API is used in the wrong way. This way you will give\n * feedback to the developer as soon as possible. Keep in mind that for common integration issues which should not\n * stop editor initialization (like missing upload adapter, wrong name of a toolbar component) we use\n * {@link module:utils/ckeditorerror~logWarning `logWarning()`} and\n * {@link module:utils/ckeditorerror~logError `logError()`}\n * to improve developers experience and let them see the a working editor as soon as possible.\n *\n * ```ts\n * /**\n * * Error thrown when a plugin cannot be loaded due to JavaScript errors, lack of plugins with a given name, etc.\n * *\n * * @error plugin-load\n * * @param pluginName The name of the plugin that could not be loaded.\n * * @param moduleName The name of the module which tried to load this plugin.\n * *\\/\n * throw new CKEditorError( 'plugin-load', {\n * \tpluginName: 'foo',\n * \tmoduleName: 'bar'\n * } );\n * ```\n */\nexport default class CKEditorError extends Error {\n /**\n * Creates an instance of the CKEditorError class.\n *\n * @param errorName The error id in an `error-name` format. A link to this error documentation page will be added\n * to the thrown error's `message`.\n * @param context A context of the error by which the {@link module:watchdog/watchdog~Watchdog watchdog}\n * is able to determine which editor crashed. It should be an editor instance or a property connected to it. It can be also\n * a `null` value if the editor should not be restarted in case of the error (e.g. during the editor initialization).\n * The error context should be checked using the `areConnectedThroughProperties( editor, context )` utility\n * to check if the object works as the context.\n * @param data Additional data describing the error. A stringified version of this object\n * will be appended to the error message, so the data are quickly visible in the console. The original\n * data object will also be later available under the {@link #data} property.\n */\n constructor(errorName, context, data) {\n super(getErrorMessage(errorName, data));\n this.name = 'CKEditorError';\n this.context = context;\n this.data = data;\n }\n /**\n * Checks if the error is of the `CKEditorError` type.\n */\n is(type) {\n return type === 'CKEditorError';\n }\n /**\n * A utility that ensures that the thrown error is a {@link module:utils/ckeditorerror~CKEditorError} one.\n * It is useful when combined with the {@link module:watchdog/watchdog~Watchdog} feature, which can restart the editor in case\n * of a {@link module:utils/ckeditorerror~CKEditorError} error.\n *\n * @param err The error to rethrow.\n * @param context An object connected through properties with the editor instance. This context will be used\n * by the watchdog to verify which editor should be restarted.\n */\n static rethrowUnexpectedError(err, context) {\n if (err.is && err.is('CKEditorError')) {\n throw err;\n }\n /**\n * An unexpected error occurred inside the CKEditor 5 codebase. This error will look like the original one\n * to make the debugging easier.\n *\n * This error is only useful when the editor is initialized using the {@link module:watchdog/watchdog~Watchdog} feature.\n * In case of such error (or any {@link module:utils/ckeditorerror~CKEditorError} error) the watchdog should restart the editor.\n *\n * @error unexpected-error\n */\n const error = new CKEditorError(err.message, context);\n // Restore the original stack trace to make the error look like the original one.\n // See https://github.com/ckeditor/ckeditor5/issues/5595 for more details.\n error.stack = err.stack;\n throw error;\n }\n}\n/**\n * Logs a warning to the console with a properly formatted message and adds a link to the documentation.\n * Use whenever you want to log a warning to the console.\n *\n * ```ts\n * /**\n * * There was a problem processing the configuration of the toolbar. The item with the given\n * * name does not exist, so it was omitted when rendering the toolbar.\n * *\n * * @error toolbarview-item-unavailable\n * * @param {String} name The name of the component.\n * *\\/\n * logWarning( 'toolbarview-item-unavailable', { name } );\n * ```\n *\n * See also {@link module:utils/ckeditorerror~CKEditorError} for an explanation when to throw an error and when to log\n * a warning or an error to the console.\n *\n * @param errorName The error name to be logged.\n * @param data Additional data to be logged.\n */\nexport function logWarning(errorName, data) {\n console.warn(...formatConsoleArguments(errorName, data));\n}\n/**\n * Logs an error to the console with a properly formatted message and adds a link to the documentation.\n * Use whenever you want to log an error to the console.\n *\n * ```ts\n * /**\n * * There was a problem processing the configuration of the toolbar. The item with the given\n * * name does not exist, so it was omitted when rendering the toolbar.\n * *\n * * @error toolbarview-item-unavailable\n * * @param {String} name The name of the component.\n * *\\/\n * logError( 'toolbarview-item-unavailable', { name } );\n * ```\n *\n * **Note**: In most cases logging a warning using {@link module:utils/ckeditorerror~logWarning} is enough.\n *\n * See also {@link module:utils/ckeditorerror~CKEditorError} for an explanation when to use each method.\n *\n * @param errorName The error name to be logged.\n * @param data Additional data to be logged.\n */\nexport function logError(errorName, data) {\n console.error(...formatConsoleArguments(errorName, data));\n}\n/**\n * Returns formatted link to documentation message.\n */\nfunction getLinkToDocumentationMessage(errorName) {\n return `\\nRead more: ${DOCUMENTATION_URL}#error-${errorName}`;\n}\n/**\n * Returns formatted error message.\n */\nfunction getErrorMessage(errorName, data) {\n const processedObjects = new WeakSet();\n const circularReferencesReplacer = (key, value) => {\n if (typeof value === 'object' && value !== null) {\n if (processedObjects.has(value)) {\n return `[object ${value.constructor.name}]`;\n }\n processedObjects.add(value);\n }\n return value;\n };\n const stringifiedData = data ? ` ${JSON.stringify(data, circularReferencesReplacer)}` : '';\n const documentationLink = getLinkToDocumentationMessage(errorName);\n return errorName + stringifiedData + documentationLink;\n}\n/**\n * Returns formatted console error arguments.\n */\nfunction formatConsoleArguments(errorName, data) {\n const documentationMessage = getLinkToDocumentationMessage(errorName);\n return data ? [errorName, data, documentationMessage] : [errorName, documentationMessage];\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/version\n */\nimport CKEditorError from './ckeditorerror.js';\nconst version = '44.3.0';\nexport default version;\n// The second argument is not a month. It is `monthIndex` and starts from `0`.\nexport const releaseDate = new Date(2025, 2, 5);\n/* istanbul ignore next -- @preserve */\nif (globalThis.CKEDITOR_VERSION) {\n /**\n * This error is thrown when, due to a mistake in the way CKEditor 5 was installed,\n * imported, or initialized, some of its modules were evaluated and executed twice.\n * Duplicate modules inevitably lead to runtime errors and increased bundle size.\n *\n * # Check dependency versions\n *\n * First, make sure that you use the latest version of all CKEditor 5 dependencies.\n * Depending on the installation method, you should check the versions of the `ckeditor5`,\n * `ckeditor5-premium-features`, or `@ckeditor/ckeditor5-` packages. If you cannot update\n * to the latest version, ensure that all the CKEditor 5 packages are\n * in the same version.\n *\n * If you use third-party plugins, make sure to update them, too. If they are incompatible\n * with the version of CKEditor 5 you use, you may need to downgrade the CKEditor 5 packages\n * (which we do not recommend). Ask the plugin's author to upgrade the dependencies,\n * or fork their project and update it yourself.\n *\n * # Check imports\n *\n * The next step is to look at how you import CKEditor 5 into your project.\n *\n * **The {@glink updating/nim-migration/migration-to-new-installation-methods new installation methods}\n * are designed to prevent module duplication, so if you are not using them yet, you should consider\n * updating your project**. However, several legacy installation methods are still supported for backward\n * compatibility, and mixing them may result in module duplication.\n *\n * These are the most common import methods of the CKEditor 5 packages.\n *\n * - **New installation methods (NIM)** – Imports from the `ckeditor5` and `ckeditor5-premium-features` packages.\n * - **Optimized build** for the new installation methods – Imports from the `@ckeditor/ckeditor5-/dist/index.js`.\n * - **Predefined builds** (legacy) – Imports from the `@ckeditor/ckeditor5-build-` packages.\n * - **Default imports** (legacy) – Imports from the `@ckeditor/ckeditor5-` packages (default export).\n * - **`src`** (legacy) – Imports from the `@ckeditor/ckeditor5-/src/*`.\n * - **DLL builds** (legacy) – Imports from the `ckeditor5/build/` and `@ckeditor/ckeditor5-/build/*`.\n *\n * The best way to avoid duplicate modules is to avoid mixing these installation methods. For example, if you use imports\n * specific to the optimized build, you should use them for all CKEditor 5 packages. In addition, since\n * the Predefined and DLL builds already include the core of the editor, they cannot be used with other types of imports.\n *\n * Here is a matrix showing which installation methods are compatible with each other:\n *\n * | | NIM | Optimized build | Predefined builds | Default imports | `src` | DLL builds |\n * |------------------|-----|-----------------|-------------------|-----------------|-------|------------|\n * | NIM | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |\n * | Optimized builds | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |\n * | Predefined build | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |\n * | Default imports | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |\n * | `src` | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |\n * | DLL builds | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |\n *\n * If you use any third-party plugins, make sure the way you import them is compatible with\n * the way you import CKEditor 5.\n *\n *
\n * New installation methods and optimized builds\n *\n * If you use the {@glink updating/nim-migration/migration-to-new-installation-methods new installation methods},\n * you should only import code from the `ckeditor5` and `ckeditor5-premium-features` packages.\n * Do not import code from the `@ckeditor/ckeditor5-` packages unless you follow\n * the {@glink getting-started/setup/optimizing-build-size Optimizing build size} guide and the imports from\n * the `@ckeditor/ckeditor5-` packages end with `/dist/index.js`.\n *\n * If you use a CDN, ensure that some files are not included twice in your project.\n *\n * Examples of valid and invalid import paths:\n *\n * ```js\n * import { ClassicEditor, Highlight } from 'ckeditor5'; // ✅\n * import { Highlight } from '@ckeditor/ckeditor5-highlight/dist/index.js'; // ✅\n * import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js'; // ❌\n * import { Highlight } from '@ckeditor/ckeditor5-highlight'; // ❌\n * import '@ckeditor/ckeditor5-highlight/build/highlight.js'; // ❌\n * ```\n *
\n *\n *
\n * (Legacy) Predefined builds\n *\n * If you use the {@glink getting-started/legacy/installation-methods/predefined-builds Predefined builds},\n * you cannot import any additional plugins. These builds already include the editor's core\n * and selected plugins and importing additional ones will cause some modules to be bundled and loaded twice.\n *\n * Examples of valid and invalid import paths:\n *\n * ```js\n * import ClassicEditor from '@ckeditor/ckeditor5-build-classic'; // ✅\n * import { Highlight } from 'ckeditor5'; // ❌\n * import { Highlight } from '@ckeditor/ckeditor5-highlight/dist/index.js'; // ❌\n * import { Highlight } from '@ckeditor/ckeditor5-highlight'; // ❌\n * import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight'; // ❌\n * import '@ckeditor/ckeditor5-highlight/build/highlight'; // ❌\n * ```\n *\n * If you are missing some features from the\n * {@glink getting-started/legacy/installation-methods/predefined-builds#plugins-included-in-the-predefined-builds list of plugins},\n * you should switch to the {@glink updating/nim-migration/migration-to-new-installation-methods new installation methods}\n * which do not have this limitation.\n * If you cannot migrate to the new installation methods, try the\n * {@glink getting-started/legacy/installation-methods/predefined-builds#superbuild superbuild} instead.\n * This build contains all the editor features.\n *
\n *\n *
\n * (Legacy) Default imports and `src` imports\n *\n * If you use the {@glink getting-started/legacy/installation-methods/quick-start-other legacy customized installation}\n * method, you should only import code from the `@ckeditor/ckeditor5-` packages. While you can import code from\n * the `@ckeditor/ckeditor5-/src/*` files, it is not recommended as it can make migration to the new installation\n * methods more difficult.\n *\n * If you use this installation method, you should not import code from the `ckeditor5`, `ckeditor5-premium-features`,\n * or `@ckeditor/ckeditor5-build-` packages.\n *\n * Examples of valid and invalid import paths:\n *\n * ```js\n * import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic'; // ✅\n * import { Highlight } from '@ckeditor/ckeditor5-highlight'; // ✅\n * import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js'; // ✅ (not recommended)\n * import { Highlight } from 'ckeditor5'; // ❌\n * import { Highlight } from '@ckeditor/ckeditor5-highlight/dist/index.js'; // ❌\n * import '@ckeditor/ckeditor5-highlight/build/highlight'; // ❌\n * ```\n *
\n *\n *
\n * (Legacy) DLL builds\n *\n * If you are using the {@glink getting-started/legacy/advanced/alternative-setups/dll-builds legacy DLL builds},\n * you should not import any non-DLL modules.\n *\n * Examples of valid and invalid import paths:\n *\n * ```js\n * import 'ckeditor5/build/ckeditor5-dll.js';// ✅\n * import '@ckeditor/ckeditor5-editor-classic/build/editor-classic.js';// ✅\n * import '@ckeditor/ckeditor5-highlight/build/highlight.js';// ✅\n * import { Highlight } from 'ckeditor5'; // ❌\n * import { Highlight } from '@ckeditor/ckeditor5-highlight/dist/index.js'; // ❌\n * import { Highlight } from '@ckeditor/ckeditor5-highlight'; // ❌\n * import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js'; // ❌\n * ```\n *
\n *\n * # Reinstall `node_modules`\n *\n * Usually, npm and other package managers deduplicate all packages - for example, `ckeditor5` is only installed once\n * in `node_modules/`. However, it is known to fail to do so occasionally.\n *\n * To rule out this possibility, you can try the following:\n *\n * 1. Remove the `node_modules` directory.\n * 2. Remove the `package-lock.json`, `yarn.lock`, or `pnpm-lock.yaml` files (depending on the package manager used).\n * 3. Run `npm install` to reinstall all packages.\n * 4. Run `npm ls` to check how many times packages like `@ckeditor/ckeditor5-core` are installed.\n * If they are installed more than once, verify which package causes that.\n *\n * @error ckeditor-duplicated-modules\n */\n throw new CKEditorError('ckeditor-duplicated-modules', null);\n}\nelse {\n globalThis.CKEDITOR_VERSION = version;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/emittermixin\n */\nimport EventInfo from './eventinfo.js';\nimport uid from './uid.js';\nimport priorities from './priorities.js';\nimport insertToPriorityArray from './inserttopriorityarray.js';\n// To check if component is loaded more than once.\nimport './version.js';\nimport CKEditorError from './ckeditorerror.js';\nconst _listeningTo = Symbol('listeningTo');\nconst _emitterId = Symbol('emitterId');\nconst _delegations = Symbol('delegations');\nconst defaultEmitterClass = /* #__PURE__ */ EmitterMixin(Object);\nexport default function EmitterMixin(base) {\n if (!base) {\n return defaultEmitterClass;\n }\n class Mixin extends base {\n on(event, callback, options) {\n this.listenTo(this, event, callback, options);\n }\n once(event, callback, options) {\n let wasFired = false;\n const onceCallback = (event, ...args) => {\n // Ensure the callback is called only once even if the callback itself leads to re-firing the event\n // (which would call the callback again).\n if (!wasFired) {\n wasFired = true;\n // Go off() at the first call.\n event.off();\n // Go with the original callback.\n callback.call(this, event, ...args);\n }\n };\n // Make a similar on() call, simply replacing the callback.\n this.listenTo(this, event, onceCallback, options);\n }\n off(event, callback) {\n this.stopListening(this, event, callback);\n }\n listenTo(emitter, event, callback, options = {}) {\n let emitterInfo, eventCallbacks;\n // _listeningTo contains a list of emitters that this object is listening to.\n // This list has the following format:\n //\n // _listeningTo: {\n // emitterId: {\n // emitter: emitter,\n // callbacks: {\n // event1: [ callback1, callback2, ... ]\n // ....\n // }\n // },\n // ...\n // }\n if (!this[_listeningTo]) {\n this[_listeningTo] = {};\n }\n const emitters = this[_listeningTo];\n if (!_getEmitterId(emitter)) {\n _setEmitterId(emitter);\n }\n const emitterId = _getEmitterId(emitter);\n if (!(emitterInfo = emitters[emitterId])) {\n emitterInfo = emitters[emitterId] = {\n emitter,\n callbacks: {}\n };\n }\n if (!(eventCallbacks = emitterInfo.callbacks[event])) {\n eventCallbacks = emitterInfo.callbacks[event] = [];\n }\n eventCallbacks.push(callback);\n // Finally register the callback to the event.\n addEventListener(this, emitter, event, callback, options);\n }\n stopListening(emitter, event, callback) {\n const emitters = this[_listeningTo];\n let emitterId = emitter && _getEmitterId(emitter);\n const emitterInfo = (emitters && emitterId) ? emitters[emitterId] : undefined;\n const eventCallbacks = (emitterInfo && event) ? emitterInfo.callbacks[event] : undefined;\n // Stop if nothing has been listened.\n if (!emitters || (emitter && !emitterInfo) || (event && !eventCallbacks)) {\n return;\n }\n // All params provided. off() that single callback.\n if (callback) {\n removeEventListener(this, emitter, event, callback);\n // We must remove callbacks as well in order to prevent memory leaks.\n // See https://github.com/ckeditor/ckeditor5/pull/8480\n const index = eventCallbacks.indexOf(callback);\n if (index !== -1) {\n if (eventCallbacks.length === 1) {\n delete emitterInfo.callbacks[event];\n }\n else {\n removeEventListener(this, emitter, event, callback);\n }\n }\n }\n // Only `emitter` and `event` provided. off() all callbacks for that event.\n else if (eventCallbacks) {\n while ((callback = eventCallbacks.pop())) {\n removeEventListener(this, emitter, event, callback);\n }\n delete emitterInfo.callbacks[event];\n }\n // Only `emitter` provided. off() all events for that emitter.\n else if (emitterInfo) {\n for (event in emitterInfo.callbacks) {\n this.stopListening(emitter, event);\n }\n delete emitters[emitterId];\n }\n // No params provided. off() all emitters.\n else {\n for (emitterId in emitters) {\n this.stopListening(emitters[emitterId].emitter);\n }\n delete this[_listeningTo];\n }\n }\n fire(eventOrInfo, ...args) {\n try {\n const eventInfo = eventOrInfo instanceof EventInfo ? eventOrInfo : new EventInfo(this, eventOrInfo);\n const event = eventInfo.name;\n let callbacks = getCallbacksForEvent(this, event);\n // Record that the event passed this emitter on its path.\n eventInfo.path.push(this);\n // Handle event listener callbacks first.\n if (callbacks) {\n // Copying callbacks array is the easiest and most secure way of preventing infinite loops, when event callbacks\n // are added while processing other callbacks. Previous solution involved adding counters (unique ids) but\n // failed if callbacks were added to the queue before currently processed callback.\n // If this proves to be too inefficient, another method is to change `.on()` so callbacks are stored if same\n // event is currently processed. Then, `.fire()` at the end, would have to add all stored events.\n callbacks = callbacks.slice();\n for (let i = 0; i < callbacks.length; i++) {\n const fn = callbacks[i].callback;\n fn.call(this, eventInfo, ...args);\n // Remove the callback from future requests if off() has been called.\n if (eventInfo.off.called) {\n // Remove the called mark for the next calls.\n delete eventInfo.off.called;\n this._removeEventListener(event, fn);\n }\n // Do not execute next callbacks if stop() was called.\n if (eventInfo.stop.called) {\n break;\n }\n }\n }\n // Delegate event to other emitters if needed.\n const delegations = this[_delegations];\n if (delegations) {\n const destinations = delegations.get(event);\n const passAllDestinations = delegations.get('*');\n if (destinations) {\n fireDelegatedEvents(destinations, eventInfo, args);\n }\n if (passAllDestinations) {\n fireDelegatedEvents(passAllDestinations, eventInfo, args);\n }\n }\n return eventInfo.return;\n }\n catch (err) {\n // @if CK_DEBUG // throw err;\n /* istanbul ignore next -- @preserve */\n CKEditorError.rethrowUnexpectedError(err, this);\n }\n }\n delegate(...events) {\n return {\n to: (emitter, nameOrFunction) => {\n if (!this[_delegations]) {\n this[_delegations] = new Map();\n }\n // Originally there was a for..of loop which unfortunately caused an error in Babel that didn't allow\n // build an application. See: https://github.com/ckeditor/ckeditor5-react/issues/40.\n events.forEach(eventName => {\n const destinations = this[_delegations].get(eventName);\n if (!destinations) {\n this[_delegations].set(eventName, new Map([[emitter, nameOrFunction]]));\n }\n else {\n destinations.set(emitter, nameOrFunction);\n }\n });\n }\n };\n }\n stopDelegating(event, emitter) {\n if (!this[_delegations]) {\n return;\n }\n if (!event) {\n this[_delegations].clear();\n }\n else if (!emitter) {\n this[_delegations].delete(event);\n }\n else {\n const destinations = this[_delegations].get(event);\n if (destinations) {\n destinations.delete(emitter);\n }\n }\n }\n _addEventListener(event, callback, options) {\n createEventNamespace(this, event);\n const lists = getCallbacksListsForNamespace(this, event);\n const priority = priorities.get(options.priority);\n const callbackDefinition = {\n callback,\n priority\n };\n // Add the callback to all callbacks list.\n for (const callbacks of lists) {\n // Add the callback to the list in the right priority position.\n insertToPriorityArray(callbacks, callbackDefinition);\n }\n }\n _removeEventListener(event, callback) {\n const lists = getCallbacksListsForNamespace(this, event);\n for (const callbacks of lists) {\n for (let i = 0; i < callbacks.length; i++) {\n if (callbacks[i].callback == callback) {\n // Remove the callback from the list (fixing the next index).\n callbacks.splice(i, 1);\n i--;\n }\n }\n }\n }\n }\n return Mixin;\n}\n// Backward compatibility with `mix`\n([\n 'on', 'once', 'off', 'listenTo',\n 'stopListening', 'fire', 'delegate', 'stopDelegating',\n '_addEventListener', '_removeEventListener'\n]).forEach(key => {\n EmitterMixin[key] = defaultEmitterClass.prototype[key];\n});\n/**\n * Checks if `listeningEmitter` listens to an emitter with given `listenedToEmitterId` and if so, returns that emitter.\n * If not, returns `null`.\n *\n * @internal\n * @param listeningEmitter An emitter that listens.\n * @param listenedToEmitterId Unique emitter id of emitter listened to.\n */\nexport function _getEmitterListenedTo(listeningEmitter, listenedToEmitterId) {\n const listeningTo = listeningEmitter[_listeningTo];\n if (listeningTo && listeningTo[listenedToEmitterId]) {\n return listeningTo[listenedToEmitterId].emitter;\n }\n return null;\n}\n/**\n * Sets emitter's unique id.\n *\n * **Note:** `_emitterId` can be set only once.\n *\n * @internal\n * @param emitter An emitter for which id will be set.\n * @param id Unique id to set. If not passed, random unique id will be set.\n */\nexport function _setEmitterId(emitter, id) {\n if (!emitter[_emitterId]) {\n emitter[_emitterId] = id || uid();\n }\n}\n/**\n * Returns emitter's unique id.\n *\n * @internal\n * @param emitter An emitter which id will be returned.\n */\nexport function _getEmitterId(emitter) {\n return emitter[_emitterId];\n}\n/**\n * Gets the internal `_events` property of the given object.\n * `_events` property store all lists with callbacks for registered event names.\n * If there were no events registered on the object, empty `_events` object is created.\n */\nfunction getEvents(source) {\n if (!source._events) {\n Object.defineProperty(source, '_events', {\n value: {}\n });\n }\n return source._events;\n}\n/**\n * Creates event node for generic-specific events relation architecture.\n */\nfunction makeEventNode() {\n return {\n callbacks: [],\n childEvents: []\n };\n}\n/**\n * Creates an architecture for generic-specific events relation.\n * If needed, creates all events for given eventName, i.e. if the first registered event\n * is foo:bar:abc, it will create foo:bar:abc, foo:bar and foo event and tie them together.\n * It also copies callbacks from more generic events to more specific events when\n * specific events are created.\n */\nfunction createEventNamespace(source, eventName) {\n const events = getEvents(source);\n // First, check if the event we want to add to the structure already exists.\n if (events[eventName]) {\n // If it exists, we don't have to do anything.\n return;\n }\n // In other case, we have to create the structure for the event.\n // Note, that we might need to create intermediate events too.\n // I.e. if foo:bar:abc is being registered and we only have foo in the structure,\n // we need to also register foo:bar.\n // Currently processed event name.\n let name = eventName;\n // Name of the event that is a child event for currently processed event.\n let childEventName = null;\n // Array containing all newly created specific events.\n const newEventNodes = [];\n // While loop can't check for ':' index because we have to handle generic events too.\n // In each loop, we truncate event name, going from the most specific name to the generic one.\n // I.e. foo:bar:abc -> foo:bar -> foo.\n while (name !== '') {\n if (events[name]) {\n // If the currently processed event name is already registered, we can be sure\n // that it already has all the structure created, so we can break the loop here\n // as no more events need to be registered.\n break;\n }\n // If this event is not yet registered, create a new object for it.\n events[name] = makeEventNode();\n // Add it to the array with newly created events.\n newEventNodes.push(events[name]);\n // Add previously processed event name as a child of this event.\n if (childEventName) {\n events[name].childEvents.push(childEventName);\n }\n childEventName = name;\n // If `.lastIndexOf()` returns -1, `.substr()` will return '' which will break the loop.\n name = name.substr(0, name.lastIndexOf(':'));\n }\n if (name !== '') {\n // If name is not empty, we found an already registered event that was a parent of the\n // event we wanted to register.\n // Copy that event's callbacks to newly registered events.\n for (const node of newEventNodes) {\n node.callbacks = events[name].callbacks.slice();\n }\n // Add last newly created event to the already registered event.\n events[name].childEvents.push(childEventName);\n }\n}\n/**\n * Gets an array containing callbacks list for a given event and it's more specific events.\n * I.e. if given event is foo:bar and there is also foo:bar:abc event registered, this will\n * return callback list of foo:bar and foo:bar:abc (but not foo).\n */\nfunction getCallbacksListsForNamespace(source, eventName) {\n const eventNode = getEvents(source)[eventName];\n if (!eventNode) {\n return [];\n }\n let callbacksLists = [eventNode.callbacks];\n for (let i = 0; i < eventNode.childEvents.length; i++) {\n const childCallbacksLists = getCallbacksListsForNamespace(source, eventNode.childEvents[i]);\n callbacksLists = callbacksLists.concat(childCallbacksLists);\n }\n return callbacksLists;\n}\n/**\n * Get the list of callbacks for a given event, but only if there any callbacks have been registered.\n * If there are no callbacks registered for given event, it checks if this is a specific event and looks\n * for callbacks for it's more generic version.\n */\nfunction getCallbacksForEvent(source, eventName) {\n if (!source._events) {\n return null;\n }\n let currentEventName = eventName;\n do {\n const event = source._events[currentEventName];\n if (event && event.callbacks && event.callbacks.length) {\n return event.callbacks;\n }\n const colonIndex = currentEventName.lastIndexOf(':');\n currentEventName = colonIndex > -1 ? currentEventName.substring(0, colonIndex) : '';\n } while (currentEventName);\n return null;\n}\n/**\n * Fires delegated events for given map of destinations.\n *\n * @param destinations A map containing `[ {@link module:utils/emittermixin~Emitter}, \"event name\" ]` pair destinations.\n * @param eventInfo The original event info object.\n * @param fireArgs Arguments the original event was fired with.\n */\nfunction fireDelegatedEvents(destinations, eventInfo, fireArgs) {\n for (let [emitter, name] of destinations) {\n if (!name) {\n name = eventInfo.name;\n }\n else if (typeof name == 'function') {\n name = name(eventInfo.name);\n }\n const delegatedInfo = new EventInfo(eventInfo.source, name);\n delegatedInfo.path = [...eventInfo.path];\n emitter.fire(delegatedInfo, ...fireArgs);\n }\n}\n/**\n * Helper for registering event callback on the emitter.\n */\nfunction addEventListener(listener, emitter, event, callback, options) {\n if (emitter._addEventListener) {\n emitter._addEventListener(event, callback, options);\n }\n else {\n // Allow listening on objects that do not implement Emitter interface.\n // This is needed in some tests that are using mocks instead of the real objects with EmitterMixin mixed.\n (listener._addEventListener).call(emitter, event, callback, options);\n }\n}\n/**\n * Helper for removing event callback from the emitter.\n */\nfunction removeEventListener(listener, emitter, event, callback) {\n if (emitter._removeEventListener) {\n emitter._removeEventListener(event, callback);\n }\n else {\n // Allow listening on objects that do not implement Emitter interface.\n // This is needed in some tests that are using mocks instead of the real objects with EmitterMixin mixed.\n listener._removeEventListener.call(emitter, event, callback);\n }\n}\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/* eslint-disable @typescript-eslint/unified-signatures */\n/**\n * @module utils/observablemixin\n */\nimport EmitterMixin from './emittermixin.js';\nimport CKEditorError from './ckeditorerror.js';\nimport { isObject } from 'lodash-es';\nconst observablePropertiesSymbol = Symbol('observableProperties');\nconst boundObservablesSymbol = Symbol('boundObservables');\nconst boundPropertiesSymbol = Symbol('boundProperties');\nconst decoratedMethods = Symbol('decoratedMethods');\nconst decoratedOriginal = Symbol('decoratedOriginal');\nconst defaultObservableClass = /* #__PURE__ */ ObservableMixin(/* #__PURE__ */ EmitterMixin());\nexport default function ObservableMixin(base) {\n if (!base) {\n return defaultObservableClass;\n }\n class Mixin extends base {\n set(name, value) {\n // If the first parameter is an Object, iterate over its properties.\n if (isObject(name)) {\n Object.keys(name).forEach(property => {\n this.set(property, name[property]);\n }, this);\n return;\n }\n initObservable(this);\n const properties = this[observablePropertiesSymbol];\n if ((name in this) && !properties.has(name)) {\n /**\n * Cannot override an existing property.\n *\n * This error is thrown when trying to {@link module:utils/observablemixin~Observable#set set} a property with\n * a name of an already existing property. For example:\n *\n * ```ts\n * let observable = new Model();\n * observable.property = 1;\n * observable.set( 'property', 2 );\t\t\t// throws\n *\n * observable.set( 'property', 1 );\n * observable.set( 'property', 2 );\t\t\t// ok, because this is an existing property.\n * ```\n *\n * @error observable-set-cannot-override\n */\n throw new CKEditorError('observable-set-cannot-override', this);\n }\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n get() {\n return properties.get(name);\n },\n set(value) {\n const oldValue = properties.get(name);\n // Fire `set` event before the new value will be set to make it possible\n // to override observable property without affecting `change` event.\n // See https://github.com/ckeditor/ckeditor5-utils/issues/171.\n let newValue = this.fire(`set:${name}`, name, value, oldValue);\n if (newValue === undefined) {\n newValue = value;\n }\n // Allow undefined as an initial value like A.define( 'x', undefined ) (#132).\n // Note: When properties map has no such own property, then its value is undefined.\n if (oldValue !== newValue || !properties.has(name)) {\n properties.set(name, newValue);\n this.fire(`change:${name}`, name, newValue, oldValue);\n }\n }\n });\n this[name] = value;\n }\n bind(...bindProperties) {\n if (!bindProperties.length || !isStringArray(bindProperties)) {\n /**\n * All properties must be strings.\n *\n * @error observable-bind-wrong-properties\n */\n throw new CKEditorError('observable-bind-wrong-properties', this);\n }\n if ((new Set(bindProperties)).size !== bindProperties.length) {\n /**\n * Properties must be unique.\n *\n * @error observable-bind-duplicate-properties\n */\n throw new CKEditorError('observable-bind-duplicate-properties', this);\n }\n initObservable(this);\n const boundProperties = this[boundPropertiesSymbol];\n bindProperties.forEach(propertyName => {\n if (boundProperties.has(propertyName)) {\n /**\n * Cannot bind the same property more than once.\n *\n * @error observable-bind-rebind\n */\n throw new CKEditorError('observable-bind-rebind', this);\n }\n });\n const bindings = new Map();\n bindProperties.forEach(a => {\n const binding = { property: a, to: [] };\n boundProperties.set(a, binding);\n bindings.set(a, binding);\n });\n return {\n to: bindTo,\n toMany: bindToMany,\n _observable: this,\n _bindProperties: bindProperties,\n _to: [],\n _bindings: bindings\n };\n }\n unbind(...unbindProperties) {\n // Nothing to do here if not inited yet.\n if (!(this[observablePropertiesSymbol])) {\n return;\n }\n const boundProperties = this[boundPropertiesSymbol];\n const boundObservables = this[boundObservablesSymbol];\n if (unbindProperties.length) {\n if (!isStringArray(unbindProperties)) {\n /**\n * Properties must be strings.\n *\n * @error observable-unbind-wrong-properties\n */\n throw new CKEditorError('observable-unbind-wrong-properties', this);\n }\n unbindProperties.forEach(propertyName => {\n const binding = boundProperties.get(propertyName);\n // Nothing to do if the binding is not defined\n if (!binding) {\n return;\n }\n binding.to.forEach(([toObservable, toProperty]) => {\n const toProperties = boundObservables.get(toObservable);\n const toPropertyBindings = toProperties[toProperty];\n toPropertyBindings.delete(binding);\n if (!toPropertyBindings.size) {\n delete toProperties[toProperty];\n }\n if (!Object.keys(toProperties).length) {\n boundObservables.delete(toObservable);\n this.stopListening(toObservable, 'change');\n }\n });\n boundProperties.delete(propertyName);\n });\n }\n else {\n boundObservables.forEach((bindings, boundObservable) => {\n this.stopListening(boundObservable, 'change');\n });\n boundObservables.clear();\n boundProperties.clear();\n }\n }\n decorate(methodName) {\n initObservable(this);\n const originalMethod = this[methodName];\n if (!originalMethod) {\n /**\n * Cannot decorate an undefined method.\n *\n * @error observablemixin-cannot-decorate-undefined\n * @param {Object} object The object which method should be decorated.\n * @param {String} methodName Name of the method which does not exist.\n */\n throw new CKEditorError('observablemixin-cannot-decorate-undefined', this, { object: this, methodName });\n }\n this.on(methodName, (evt, args) => {\n evt.return = originalMethod.apply(this, args);\n });\n this[methodName] = function (...args) {\n return this.fire(methodName, args);\n };\n this[methodName][decoratedOriginal] = originalMethod;\n if (!this[decoratedMethods]) {\n this[decoratedMethods] = [];\n }\n this[decoratedMethods].push(methodName);\n }\n // Override the EmitterMixin stopListening method to be able to clean (and restore) decorated methods.\n // This is needed in case of:\n // 1. Have x.foo() decorated.\n // 2. Call x.stopListening()\n // 3. Call x.foo(). Problem: nothing happens (the original foo() method is not executed)\n stopListening(emitter, event, callback) {\n // Removing all listeners so let's clean the decorated methods to the original state.\n if (!emitter && this[decoratedMethods]) {\n for (const methodName of this[decoratedMethods]) {\n this[methodName] = this[methodName][decoratedOriginal];\n }\n delete this[decoratedMethods];\n }\n super.stopListening(emitter, event, callback);\n }\n }\n return Mixin;\n}\n// Backward compatibility with `mix`\n([\n 'set', 'bind', 'unbind', 'decorate',\n 'on', 'once', 'off', 'listenTo',\n 'stopListening', 'fire', 'delegate', 'stopDelegating',\n '_addEventListener', '_removeEventListener'\n]).forEach(key => {\n ObservableMixin[key] = defaultObservableClass.prototype[key];\n});\n// Init symbol properties needed for the observable mechanism to work.\nfunction initObservable(observable) {\n // Do nothing if already inited.\n if (observable[observablePropertiesSymbol]) {\n return;\n }\n // The internal hash containing the observable's state.\n Object.defineProperty(observable, observablePropertiesSymbol, {\n value: new Map()\n });\n // Map containing bindings to external observables. It shares the binding objects\n // (`{ observable: A, property: 'a', to: ... }`) with {@link module:utils/observablemixin~Observable#_boundProperties} and\n // it is used to observe external observables to update own properties accordingly.\n // See {@link module:utils/observablemixin~Observable#bind}.\n //\n //\t\tA.bind( 'a', 'b', 'c' ).to( B, 'x', 'y', 'x' );\n //\t\tconsole.log( A._boundObservables );\n //\n //\t\t\tMap( {\n //\t\t\t\tB: {\n //\t\t\t\t\tx: Set( [\n //\t\t\t\t\t\t{ observable: A, property: 'a', to: [ [ B, 'x' ] ] },\n //\t\t\t\t\t\t{ observable: A, property: 'c', to: [ [ B, 'x' ] ] }\n //\t\t\t\t\t] ),\n //\t\t\t\t\ty: Set( [\n //\t\t\t\t\t\t{ observable: A, property: 'b', to: [ [ B, 'y' ] ] },\n //\t\t\t\t\t] )\n //\t\t\t\t}\n //\t\t\t} )\n //\n //\t\tA.bind( 'd' ).to( B, 'z' ).to( C, 'w' ).as( callback );\n //\t\tconsole.log( A._boundObservables );\n //\n //\t\t\tMap( {\n //\t\t\t\tB: {\n //\t\t\t\t\tx: Set( [\n //\t\t\t\t\t\t{ observable: A, property: 'a', to: [ [ B, 'x' ] ] },\n //\t\t\t\t\t\t{ observable: A, property: 'c', to: [ [ B, 'x' ] ] }\n //\t\t\t\t\t] ),\n //\t\t\t\t\ty: Set( [\n //\t\t\t\t\t\t{ observable: A, property: 'b', to: [ [ B, 'y' ] ] },\n //\t\t\t\t\t] ),\n //\t\t\t\t\tz: Set( [\n //\t\t\t\t\t\t{ observable: A, property: 'd', to: [ [ B, 'z' ], [ C, 'w' ] ], callback: callback }\n //\t\t\t\t\t] )\n //\t\t\t\t},\n //\t\t\t\tC: {\n //\t\t\t\t\tw: Set( [\n //\t\t\t\t\t\t{ observable: A, property: 'd', to: [ [ B, 'z' ], [ C, 'w' ] ], callback: callback }\n //\t\t\t\t\t] )\n //\t\t\t\t}\n //\t\t\t} )\n //\n Object.defineProperty(observable, boundObservablesSymbol, {\n value: new Map()\n });\n // Object that stores which properties of this observable are bound and how. It shares\n // the binding objects (`{ observable: A, property: 'a', to: ... }`) with\n // {@link module:utils/observablemixin~Observable#_boundObservables}. This data structure is\n // a reverse of {@link module:utils/observablemixin~Observable#_boundObservables} and it is helpful for\n // {@link module:utils/observablemixin~Observable#unbind}.\n //\n // See {@link module:utils/observablemixin~Observable#bind}.\n //\n //\t\tA.bind( 'a', 'b', 'c' ).to( B, 'x', 'y', 'x' );\n //\t\tconsole.log( A._boundProperties );\n //\n //\t\t\tMap( {\n //\t\t\t\ta: { observable: A, property: 'a', to: [ [ B, 'x' ] ] },\n //\t\t\t\tb: { observable: A, property: 'b', to: [ [ B, 'y' ] ] },\n //\t\t\t\tc: { observable: A, property: 'c', to: [ [ B, 'x' ] ] }\n //\t\t\t} )\n //\n //\t\tA.bind( 'd' ).to( B, 'z' ).to( C, 'w' ).as( callback );\n //\t\tconsole.log( A._boundProperties );\n //\n //\t\t\tMap( {\n //\t\t\t\ta: { observable: A, property: 'a', to: [ [ B, 'x' ] ] },\n //\t\t\t\tb: { observable: A, property: 'b', to: [ [ B, 'y' ] ] },\n //\t\t\t\tc: { observable: A, property: 'c', to: [ [ B, 'x' ] ] },\n //\t\t\t\td: { observable: A, property: 'd', to: [ [ B, 'z' ], [ C, 'w' ] ], callback: callback }\n //\t\t\t} )\n Object.defineProperty(observable, boundPropertiesSymbol, {\n value: new Map()\n });\n}\n/**\n * A chaining for {@link module:utils/observablemixin~Observable#bind} providing `.to()` interface.\n *\n * @param args Arguments of the `.to( args )` binding.\n */\nfunction bindTo(...args) {\n const parsedArgs = parseBindToArgs(...args);\n const bindingsKeys = Array.from(this._bindings.keys());\n const numberOfBindings = bindingsKeys.length;\n // Eliminate A.bind( 'x' ).to( B, C )\n if (!parsedArgs.callback && parsedArgs.to.length > 1) {\n /**\n * Binding multiple observables only possible with callback.\n *\n * @error observable-bind-to-no-callback\n */\n throw new CKEditorError('observable-bind-to-no-callback', this);\n }\n // Eliminate A.bind( 'x', 'y' ).to( B, callback )\n if (numberOfBindings > 1 && parsedArgs.callback) {\n /**\n * Cannot bind multiple properties and use a callback in one binding.\n *\n * @error observable-bind-to-extra-callback\n */\n throw new CKEditorError('observable-bind-to-extra-callback', this);\n }\n parsedArgs.to.forEach(to => {\n // Eliminate A.bind( 'x', 'y' ).to( B, 'a' )\n if (to.properties.length && to.properties.length !== numberOfBindings) {\n /**\n * The number of properties must match.\n *\n * @error observable-bind-to-properties-length\n */\n throw new CKEditorError('observable-bind-to-properties-length', this);\n }\n // When no to.properties specified, observing source properties instead i.e.\n // A.bind( 'x', 'y' ).to( B ) -> Observe B.x and B.y\n if (!to.properties.length) {\n to.properties = this._bindProperties;\n }\n });\n this._to = parsedArgs.to;\n // Fill {@link BindChain#_bindings} with callback. When the callback is set there's only one binding.\n if (parsedArgs.callback) {\n this._bindings.get(bindingsKeys[0]).callback = parsedArgs.callback;\n }\n attachBindToListeners(this._observable, this._to);\n // Update observable._boundProperties and observable._boundObservables.\n updateBindToBound(this);\n // Set initial values of bound properties.\n this._bindProperties.forEach(propertyName => {\n updateBoundObservableProperty(this._observable, propertyName);\n });\n}\n/**\n * Binds to an attribute in a set of iterable observables.\n */\nfunction bindToMany(observables, attribute, callback) {\n if (this._bindings.size > 1) {\n /**\n * Binding one attribute to many observables only possible with one attribute.\n *\n * @error observable-bind-to-many-not-one-binding\n */\n throw new CKEditorError('observable-bind-to-many-not-one-binding', this);\n }\n this.to(\n // Bind to #attribute of each observable...\n ...getBindingTargets(observables, attribute), \n // ...using given callback to parse attribute values.\n callback);\n}\n/**\n * Returns an array of binding components for\n * {@link Observable#bind} from a set of iterable observables.\n */\nfunction getBindingTargets(observables, attribute) {\n const observableAndAttributePairs = observables.map(observable => [observable, attribute]);\n // Merge pairs to one-dimension array of observables and attributes.\n return Array.prototype.concat.apply([], observableAndAttributePairs);\n}\n/**\n * Check if all entries of the array are of `String` type.\n */\nfunction isStringArray(arr) {\n return arr.every(a => typeof a == 'string');\n}\n/**\n * Parses and validates {@link Observable#bind}`.to( args )` arguments and returns\n * an object with a parsed structure. For example\n *\n * ```ts\n * A.bind( 'x' ).to( B, 'a', C, 'b', call );\n * ```\n *\n * becomes\n *\n * ```ts\n * {\n * \tto: [\n * \t\t{ observable: B, properties: [ 'a' ] },\n * \t\t{ observable: C, properties: [ 'b' ] },\n * \t],\n * \tcallback: call\n * }\n *\n * @param args Arguments of {@link Observable#bind}`.to( args )`.\n */\nfunction parseBindToArgs(...args) {\n // Eliminate A.bind( 'x' ).to()\n if (!args.length) {\n /**\n * Invalid argument syntax in `to()`.\n *\n * @error observable-bind-to-parse-error\n */\n throw new CKEditorError('observable-bind-to-parse-error', null);\n }\n const parsed = { to: [] };\n let lastObservable;\n if (typeof args[args.length - 1] == 'function') {\n parsed.callback = args.pop();\n }\n args.forEach(a => {\n if (typeof a == 'string') {\n lastObservable.properties.push(a);\n }\n else if (typeof a == 'object') {\n lastObservable = { observable: a, properties: [] };\n parsed.to.push(lastObservable);\n }\n else {\n throw new CKEditorError('observable-bind-to-parse-error', null);\n }\n });\n return parsed;\n}\n/**\n * Synchronizes {@link module:utils/observable#_boundObservables} with {@link Binding}.\n *\n * @param binding A binding to store in {@link Observable#_boundObservables}.\n * @param toObservable A observable, which is a new component of `binding`.\n * @param toPropertyName A name of `toObservable`'s property, a new component of the `binding`.\n */\nfunction updateBoundObservables(observable, binding, toObservable, toPropertyName) {\n const boundObservables = observable[boundObservablesSymbol];\n const bindingsToObservable = boundObservables.get(toObservable);\n const bindings = bindingsToObservable || {};\n if (!bindings[toPropertyName]) {\n bindings[toPropertyName] = new Set();\n }\n // Pass the binding to a corresponding Set in `observable._boundObservables`.\n bindings[toPropertyName].add(binding);\n if (!bindingsToObservable) {\n boundObservables.set(toObservable, bindings);\n }\n}\n/**\n * Synchronizes {@link Observable#_boundProperties} and {@link Observable#_boundObservables}\n * with {@link BindChain}.\n *\n * Assuming the following binding being created\n *\n * ```ts\n * A.bind( 'a', 'b' ).to( B, 'x', 'y' );\n * ```\n *\n * the following bindings were initialized by {@link Observable#bind} in {@link BindChain#_bindings}:\n *\n * ```ts\n * {\n * \ta: { observable: A, property: 'a', to: [] },\n * \tb: { observable: A, property: 'b', to: [] },\n * }\n * ```\n *\n * Iterate over all bindings in this chain and fill their `to` properties with\n * corresponding to( ... ) arguments (components of the binding), so\n *\n * ```ts\n * {\n * \ta: { observable: A, property: 'a', to: [ B, 'x' ] },\n * \tb: { observable: A, property: 'b', to: [ B, 'y' ] },\n * }\n * ```\n *\n * Then update the structure of {@link Observable#_boundObservables} with updated\n * binding, so it becomes:\n *\n * ```ts\n * Map( {\n * \tB: {\n * \t\tx: Set( [\n * \t\t\t{ observable: A, property: 'a', to: [ [ B, 'x' ] ] }\n * \t\t] ),\n * \t\ty: Set( [\n * \t\t\t{ observable: A, property: 'b', to: [ [ B, 'y' ] ] },\n * \t\t] )\n * \t}\n * } )\n * ```\n *\n * @param chain The binding initialized by {@link Observable#bind}.\n */\nfunction updateBindToBound(chain) {\n let toProperty;\n chain._bindings.forEach((binding, propertyName) => {\n // Note: For a binding without a callback, this will run only once\n // like in A.bind( 'x', 'y' ).to( B, 'a', 'b' )\n // TODO: ES6 destructuring.\n chain._to.forEach(to => {\n toProperty = to.properties[binding.callback ? 0 : chain._bindProperties.indexOf(propertyName)];\n binding.to.push([to.observable, toProperty]);\n updateBoundObservables(chain._observable, binding, to.observable, toProperty);\n });\n });\n}\n/**\n * Updates an property of a {@link Observable} with a value\n * determined by an entry in {@link Observable#_boundProperties}.\n *\n * @param observable A observable which property is to be updated.\n * @param propertyName An property to be updated.\n */\nfunction updateBoundObservableProperty(observable, propertyName) {\n const boundProperties = observable[boundPropertiesSymbol];\n const binding = boundProperties.get(propertyName);\n let propertyValue;\n // When a binding with callback is created like\n //\n // \t\tA.bind( 'a' ).to( B, 'b', C, 'c', callback );\n //\n // collect B.b and C.c, then pass them to callback to set A.a.\n if (binding.callback) {\n propertyValue = binding.callback.apply(observable, binding.to.map(to => to[0][to[1]]));\n }\n else {\n propertyValue = binding.to[0];\n propertyValue = propertyValue[0][propertyValue[1]];\n }\n if (Object.prototype.hasOwnProperty.call(observable, propertyName)) {\n observable[propertyName] = propertyValue;\n }\n else {\n observable.set(propertyName, propertyValue);\n }\n}\n/**\n * Starts listening to changes in {@link BindChain._to} observables to update\n * {@link BindChain._observable} {@link BindChain._bindProperties}. Also sets the\n * initial state of {@link BindChain._observable}.\n *\n * @param chain The chain initialized by {@link Observable#bind}.\n */\nfunction attachBindToListeners(observable, toBindings) {\n toBindings.forEach(to => {\n const boundObservables = observable[boundObservablesSymbol];\n let bindings;\n // If there's already a chain between the observables (`observable` listens to\n // `to.observable`), there's no need to create another `change` event listener.\n if (!boundObservables.get(to.observable)) {\n observable.listenTo(to.observable, 'change', (evt, propertyName) => {\n bindings = boundObservables.get(to.observable)[propertyName];\n // Note: to.observable will fire for any property change, react\n // to changes of properties which are bound only.\n if (bindings) {\n bindings.forEach(binding => {\n updateBoundObservableProperty(observable, binding.property);\n });\n }\n });\n }\n });\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/count\n */\n/**\n * Returns the number of items return by the iterator.\n *\n * ```ts\n * count( [ 1, 2, 3, 4, 5 ] ); // 5;\n * ```\n *\n * @param iterable Any iterable.\n * @returns Number of items returned by that iterable.\n */\nexport default function count(iterable) {\n let count = 0;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const _ of iterable) {\n count++;\n }\n return count;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/comparearrays\n */\n/**\n * Compares how given arrays relate to each other. One array can be: same as another array, prefix of another array\n * or completely different. If arrays are different, first index at which they differ is returned. Otherwise,\n * a flag specifying the relation is returned. Flags are negative numbers, so whenever a number >= 0 is returned\n * it means that arrays differ.\n *\n * ```ts\n * compareArrays( [ 0, 2 ], [ 0, 2 ] );\t\t// 'same'\n * compareArrays( [ 0, 2 ], [ 0, 2, 1 ] );\t\t// 'prefix'\n * compareArrays( [ 0, 2 ], [ 0 ] );\t\t\t// 'extension'\n * compareArrays( [ 0, 2 ], [ 1, 2 ] );\t\t// 0\n * compareArrays( [ 0, 2 ], [ 0, 1 ] );\t\t// 1\n * ```\n *\n * @param a Array that is compared.\n * @param b Array to compare with.\n * @returns How array `a` is related to `b`.\n */\nexport default function compareArrays(a, b) {\n const minLen = Math.min(a.length, b.length);\n for (let i = 0; i < minLen; i++) {\n if (a[i] != b[i]) {\n // The arrays are different.\n return i;\n }\n }\n // Both arrays were same at all points.\n if (a.length == b.length) {\n // If their length is also same, they are the same.\n return 'same';\n }\n else if (a.length < b.length) {\n // Compared array is shorter so it is a prefix of the other array.\n return 'prefix';\n }\n else {\n // Compared array is longer so it is an extension of the other array.\n return 'extension';\n }\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/isiterable\n */\n/**\n * Checks if value implements iterator interface.\n *\n * @param value The value to check.\n * @returns True if value implements iterator interface.\n */\nexport default function isIterable(value) {\n return !!(value && value[Symbol.iterator]);\n}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/createelement\n */\nimport isIterable from '../isiterable.js';\nimport { isString } from 'lodash-es';\n/**\n * Creates an HTML or SVG element with attributes and children elements.\n *\n * ```ts\n * createElement( document, 'p' ); //

\n * createElement( document, 'mask', { xmlns: 'http://www.w3.org/2000/svg' } ); // \n * ```\n *\n * @param doc Document used to create the element.\n * @param name Name of the element.\n * @param attributes Object where keys represent attribute keys and values represent attribute values.\n * @param children Child or any iterable of children. Strings will be automatically turned into Text nodes.\n * @returns HTML or SVG element.\n */\nexport default function createElement(doc, name, attributes = {}, children = []) {\n const namespace = attributes && attributes.xmlns;\n const element = namespace ? doc.createElementNS(namespace, name) : doc.createElement(name);\n for (const key in attributes) {\n element.setAttribute(key, attributes[key]);\n }\n if (isString(children) || !isIterable(children)) {\n children = [children];\n }\n for (let child of children) {\n if (isString(child)) {\n child = doc.createTextNode(child);\n }\n element.appendChild(child);\n }\n return element;\n}\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\nfunction cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n}\n\nexport default cloneDeepWith;\n","import isObjectLike from './isObjectLike.js';\nimport isPlainObject from './isPlainObject.js';\n\n/**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\nfunction isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n}\n\nexport default isElement;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/config\n */\nimport { isPlainObject, isElement, cloneDeepWith } from 'lodash-es';\n/**\n * Handles a configuration dictionary.\n *\n * @typeParam Cfg A type of the configuration dictionary.\n */\nexport default class Config {\n /**\n * Creates an instance of the {@link ~Config} class.\n *\n * @param configurations The initial configurations to be set. Usually, provided by the user.\n * @param defaultConfigurations The default configurations. Usually, provided by the system.\n */\n constructor(configurations, defaultConfigurations) {\n this._config = Object.create(null);\n // Set default configuration.\n if (defaultConfigurations) {\n // Clone the configuration to make sure that the properties will not be shared\n // between editors and make the watchdog feature work correctly.\n this.define(cloneConfig(defaultConfigurations));\n }\n // Set initial configuration.\n if (configurations) {\n this._setObjectToTarget(this._config, configurations);\n }\n }\n set(name, value) {\n this._setToTarget(this._config, name, value);\n }\n define(name, value) {\n const isDefine = true;\n this._setToTarget(this._config, name, value, isDefine);\n }\n /**\n * Gets the value for a configuration entry.\n *\n * ```ts\n * config.get( 'name' );\n * ```\n *\n * Deep configurations can be retrieved by separating each part with a dot.\n *\n * ```ts\n * config.get( 'toolbar.collapsed' );\n * ```\n *\n * @param name The configuration name. Configuration names are case-sensitive.\n * @returns The configuration value or `undefined` if the configuration entry was not found.\n */\n get(name) {\n return this._getFromSource(this._config, name);\n }\n /**\n * Iterates over all top level configuration names.\n */\n *names() {\n for (const name of Object.keys(this._config)) {\n yield name;\n }\n }\n /**\n * Saves passed configuration to the specified target (nested object).\n *\n * @param target Nested config object.\n * @param name The configuration name or an object from which take properties as\n * configuration entries. Configuration names are case-sensitive.\n * @param value The configuration value. Used if a name is passed.\n * @param isDefine Define if passed configuration should overwrite existing one.\n */\n _setToTarget(target, name, value, isDefine = false) {\n // In case of an object, iterate through it and call `_setToTarget` again for each property.\n if (isPlainObject(name)) {\n this._setObjectToTarget(target, name, isDefine);\n return;\n }\n // The configuration name should be split into parts if it has dots. E.g. `resize.width` -> [`resize`, `width`].\n const parts = name.split('.');\n // Take the name of the configuration out of the parts. E.g. `resize.width` -> `width`.\n name = parts.pop();\n // Iterate over parts to check if currently stored configuration has proper structure.\n for (const part of parts) {\n // If there is no object for specified part then create one.\n if (!isPlainObject(target[part])) {\n target[part] = Object.create(null);\n }\n // Nested object becomes a target.\n target = target[part];\n }\n // In case of value is an object.\n if (isPlainObject(value)) {\n // We take care of proper config structure.\n if (!isPlainObject(target[name])) {\n target[name] = Object.create(null);\n }\n target = target[name];\n // And iterate through this object calling `_setToTarget` again for each property.\n this._setObjectToTarget(target, value, isDefine);\n return;\n }\n // Do nothing if we are defining configuration for non empty name.\n if (isDefine && typeof target[name] != 'undefined') {\n return;\n }\n target[name] = value;\n }\n /**\n * Get specified configuration from specified source (nested object).\n *\n * @param source level of nested object.\n * @param name The configuration name. Configuration names are case-sensitive.\n * @returns The configuration value or `undefined` if the configuration entry was not found.\n */\n _getFromSource(source, name) {\n // The configuration name should be split into parts if it has dots. E.g. `resize.width` -> [`resize`, `width`].\n const parts = name.split('.');\n // Take the name of the configuration out of the parts. E.g. `resize.width` -> `width`.\n name = parts.pop();\n // Iterate over parts to check if currently stored configuration has proper structure.\n for (const part of parts) {\n if (!isPlainObject(source[part])) {\n source = null;\n break;\n }\n // Nested object becomes a source.\n source = source[part];\n }\n // Always returns undefined for non existing configuration.\n return source ? cloneConfig(source[name]) : undefined;\n }\n /**\n * Iterates through passed object and calls {@link #_setToTarget} method with object key and value for each property.\n *\n * @param target Nested config object.\n * @param configuration Configuration data set\n * @param isDefine Defines if passed configuration is default configuration or not.\n */\n _setObjectToTarget(target, configuration, isDefine) {\n Object.keys(configuration).forEach(key => {\n this._setToTarget(target, key, configuration[key], isDefine);\n });\n }\n}\n/**\n * Clones configuration object or value.\n */\nfunction cloneConfig(source) {\n return cloneDeepWith(source, leaveItemReferences);\n}\n/**\n * A customized function for cloneDeepWith.\n * In case if it's a DOM Element it will leave references to DOM Elements instead of cloning them.\n * If it's a function it will leave reference to actuall function.\n */\nfunction leaveItemReferences(value) {\n return isElement(value) || typeof value === 'function' ? value : undefined;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/isnode\n */\n/**\n * Checks if the object is a native DOM Node.\n */\nexport default function isNode(obj) {\n if (obj) {\n if (obj.defaultView) {\n return obj instanceof obj.defaultView.Document;\n }\n else if (obj.ownerDocument && obj.ownerDocument.defaultView) {\n return obj instanceof obj.ownerDocument.defaultView.Node;\n }\n }\n return false;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/iswindow\n */\n/**\n * Checks if the object is a native DOM Window.\n */\nexport default function isWindow(obj) {\n const stringifiedObject = Object.prototype.toString.apply(obj);\n // Returns `true` for the `window` object in browser environments.\n if (stringifiedObject == '[object Window]') {\n return true;\n }\n // Returns `true` for the `window` object in the Electron environment.\n if (stringifiedObject == '[object global]') {\n return true;\n }\n return false;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/emittermixin\n */\nimport EmitterMixin, { _getEmitterListenedTo, _setEmitterId } from '../emittermixin.js';\nimport uid from '../uid.js';\nimport isNode from './isnode.js';\nimport isWindow from './iswindow.js';\nconst defaultEmitterClass = /* #__PURE__ */ DomEmitterMixin(/* #__PURE__ */ EmitterMixin());\nexport default function DomEmitterMixin(base) {\n if (!base) {\n return defaultEmitterClass;\n }\n class Mixin extends base {\n listenTo(emitter, event, callback, options = {}) {\n // Check if emitter is an instance of DOM Node. If so, use corresponding ProxyEmitter (or create one if not existing).\n if (isNode(emitter) || isWindow(emitter)) {\n const proxyOptions = {\n capture: !!options.useCapture,\n passive: !!options.usePassive\n };\n const proxyEmitter = this._getProxyEmitter(emitter, proxyOptions) || new ProxyEmitter(emitter, proxyOptions);\n this.listenTo(proxyEmitter, event, callback, options);\n }\n else {\n // Execute parent class method with Emitter (or ProxyEmitter) instance.\n super.listenTo(emitter, event, callback, options);\n }\n }\n stopListening(emitter, event, callback) {\n // Check if the emitter is an instance of DOM Node. If so, forward the call to the corresponding ProxyEmitters.\n if (isNode(emitter) || isWindow(emitter)) {\n const proxyEmitters = this._getAllProxyEmitters(emitter);\n for (const proxy of proxyEmitters) {\n this.stopListening(proxy, event, callback);\n }\n }\n else {\n // Execute parent class method with Emitter (or ProxyEmitter) instance.\n super.stopListening(emitter, event, callback);\n }\n }\n /**\n * Retrieves ProxyEmitter instance for given DOM Node residing in this Host and given options.\n *\n * @param node DOM Node of the ProxyEmitter.\n * @param options Additional options.\n * @param options.useCapture Indicates that events of this type will be dispatched to the registered\n * listener before being dispatched to any EventTarget beneath it in the DOM tree.\n * @param options.usePassive Indicates that the function specified by listener will never call preventDefault()\n * and prevents blocking browser's main thread by this event handler.\n * @returns ProxyEmitter instance bound to the DOM Node.\n */\n _getProxyEmitter(node, options) {\n return _getEmitterListenedTo(this, getProxyEmitterId(node, options));\n }\n /**\n * Retrieves all the ProxyEmitter instances for given DOM Node residing in this Host.\n *\n * @param node DOM Node of the ProxyEmitter.\n */\n _getAllProxyEmitters(node) {\n return [\n { capture: false, passive: false },\n { capture: false, passive: true },\n { capture: true, passive: false },\n { capture: true, passive: true }\n ].map(options => this._getProxyEmitter(node, options)).filter(proxy => !!proxy);\n }\n }\n return Mixin;\n}\n// Backward compatibility with `mix`\n([\n '_getProxyEmitter', '_getAllProxyEmitters',\n 'on', 'once', 'off', 'listenTo',\n 'stopListening', 'fire', 'delegate', 'stopDelegating',\n '_addEventListener', '_removeEventListener'\n]).forEach(key => {\n DomEmitterMixin[key] = defaultEmitterClass.prototype[key];\n});\n/**\n * Creates a ProxyEmitter instance. Such an instance is a bridge between a DOM Node firing events\n * and any Host listening to them. It is backwards compatible with {@link module:utils/emittermixin~Emitter#on}.\n * There is a separate instance for each combination of modes (useCapture & usePassive). The mode is concatenated with\n * UID stored in HTMLElement to give each instance unique identifier.\n *\n * listenTo( click, ... )\n * +-----------------------------------------+\n * | stopListening( ... ) |\n * +----------------------------+ | addEventListener( click, ... )\n * | Host | | +---------------------------------------------+\n * +----------------------------+ | | removeEventListener( click, ... ) |\n * | _listeningTo: { | +----------v-------------+ |\n * | UID+mode: { | | ProxyEmitter | |\n * | emitter: ProxyEmitter, | +------------------------+ +------------v----------+\n * | callbacks: { | | events: { | | Node (HTMLElement) |\n * | click: [ callbacks ] | | click: [ callbacks ] | +-----------------------+\n * | } | | }, | | data-ck-expando: UID |\n * | } | | _domNode: Node, | +-----------------------+\n * | } | | _domListeners: {}, | |\n * | +------------------------+ | | _emitterId: UID+mode | |\n * | | DomEmitterMixin | | +--------------^---------+ |\n * | +------------------------+ | | | |\n * +--------------^-------------+ | +---------------------------------------------+\n * | | click (DOM Event)\n * +-----------------------------------------+\n * fire( click, DOM Event )\n */\nclass ProxyEmitter extends /* #__PURE__ */ EmitterMixin() {\n /**\n * @param node DOM Node that fires events.\n * @param options Additional options.\n * @param options.useCapture Indicates that events of this type will be dispatched to the registered\n * listener before being dispatched to any EventTarget beneath it in the DOM tree.\n * @param options.usePassive Indicates that the function specified by listener will never call preventDefault()\n * and prevents blocking browser's main thread by this event handler.\n */\n constructor(node, options) {\n super();\n // Set emitter ID to match DOM Node \"expando\" property.\n _setEmitterId(this, getProxyEmitterId(node, options));\n // Remember the DOM Node this ProxyEmitter is bound to.\n this._domNode = node;\n // And given options.\n this._options = options;\n }\n /**\n * Registers a callback function to be executed when an event is fired.\n *\n * It attaches a native DOM listener to the DOM Node. When fired,\n * a corresponding Emitter event will also fire with DOM Event object as an argument.\n *\n * **Note**: This is automatically called by the\n * {@link module:utils/emittermixin~Emitter#listenTo `Emitter#listenTo()`}.\n *\n * @param event The name of the event.\n */\n attach(event) {\n // If the DOM Listener for given event already exist it is pointless\n // to attach another one.\n if (this._domListeners && this._domListeners[event]) {\n return;\n }\n const domListener = this._createDomListener(event);\n // Attach the native DOM listener to DOM Node.\n this._domNode.addEventListener(event, domListener, this._options);\n if (!this._domListeners) {\n this._domListeners = {};\n }\n // Store the native DOM listener in this ProxyEmitter. It will be helpful\n // when stopping listening to the event.\n this._domListeners[event] = domListener;\n }\n /**\n * Stops executing the callback on the given event.\n *\n * **Note**: This is automatically called by the\n * {@link module:utils/emittermixin~Emitter#stopListening `Emitter#stopListening()`}.\n *\n * @param event The name of the event.\n */\n detach(event) {\n let events;\n // Remove native DOM listeners which are orphans. If no callbacks\n // are awaiting given event, detach native DOM listener from DOM Node.\n // See: {@link attach}.\n if (this._domListeners[event] && (!(events = this._events[event]) || !events.callbacks.length)) {\n this._domListeners[event].removeListener();\n }\n }\n /**\n * Adds callback to emitter for given event.\n *\n * @internal\n * @param event The name of the event.\n * @param callback The function to be called on event.\n * @param options Additional options.\n */\n _addEventListener(event, callback, options) {\n this.attach(event);\n EmitterMixin().prototype._addEventListener.call(this, event, callback, options);\n }\n /**\n * Removes callback from emitter for given event.\n *\n * @internal\n * @param event The name of the event.\n * @param callback The function to stop being called.\n */\n _removeEventListener(event, callback) {\n EmitterMixin().prototype._removeEventListener.call(this, event, callback);\n this.detach(event);\n }\n /**\n * Creates a native DOM listener callback. When the native DOM event\n * is fired it will fire corresponding event on this ProxyEmitter.\n * Note: A native DOM Event is passed as an argument.\n *\n * @param event The name of the event.\n * @returns The DOM listener callback.\n */\n _createDomListener(event) {\n const domListener = (domEvt) => {\n this.fire(event, domEvt);\n };\n // Supply the DOM listener callback with a function that will help\n // detach it from the DOM Node, when it is no longer necessary.\n // See: {@link detach}.\n domListener.removeListener = () => {\n this._domNode.removeEventListener(event, domListener, this._options);\n delete this._domListeners[event];\n };\n return domListener;\n }\n}\n/**\n * Gets an unique DOM Node identifier. The identifier will be set if not defined.\n *\n * @returns UID for given DOM Node.\n */\nfunction getNodeUID(node) {\n return node['data-ck-expando'] || (node['data-ck-expando'] = uid());\n}\n/**\n * Gets id of the ProxyEmitter for the given node.\n */\nfunction getProxyEmitterId(node, options) {\n let id = getNodeUID(node);\n for (const option of Object.keys(options).sort()) {\n if (options[option]) {\n id += '-' + option;\n }\n }\n return id;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/* globals Node */\n/**\n * @module utils/dom/getancestors\n */\n/**\n * Returns all ancestors of given DOM node, starting from the top-most (root). Includes the given node itself. If the\n * node is a part of `DocumentFragment` that `DocumentFragment` will be returned. In contrary, if the node is\n * appended to a `Document`, that `Document` will not be returned (algorithms operating on DOM tree care for `Document#documentElement`\n * at most, which will be returned).\n *\n * @param node DOM node.\n * @returns Array of given `node` parents.\n */\nexport default function getAncestors(node) {\n const nodes = [];\n let currentNode = node;\n // We are interested in `Node`s `DocumentFragment`s only.\n while (currentNode && currentNode.nodeType != Node.DOCUMENT_NODE) {\n nodes.unshift(currentNode);\n currentNode = currentNode.parentNode;\n }\n return nodes;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/getborderwidths\n */\n/**\n * Returns an object containing CSS border widths of a specified HTML element.\n *\n * @param element An element which has CSS borders.\n * @returns An object containing `top`, `left`, `right` and `bottom` properties\n * with numerical values of the `border-[top,left,right,bottom]-width` CSS styles.\n */\nexport default function getBorderWidths(element) {\n // Call getComputedStyle on the window the element document belongs to.\n const style = element.ownerDocument.defaultView.getComputedStyle(element);\n return {\n top: parseInt(style.borderTopWidth, 10),\n right: parseInt(style.borderRightWidth, 10),\n bottom: parseInt(style.borderBottomWidth, 10),\n left: parseInt(style.borderLeftWidth, 10)\n };\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/getrangefrommouseevent\n */\n/**\n * Returns a DOM range from a given point specified by a mouse event.\n *\n * @param domEvent The mouse event.\n * @returns The DOM range.\n */\nexport default function getRangeFromMouseEvent(domEvent) {\n if (!domEvent.target) {\n return null;\n }\n const domDoc = domEvent.target.ownerDocument;\n const x = domEvent.clientX;\n const y = domEvent.clientY;\n let domRange = null;\n // Webkit & Blink.\n if (domDoc.caretRangeFromPoint && domDoc.caretRangeFromPoint(x, y)) {\n domRange = domDoc.caretRangeFromPoint(x, y);\n }\n // FF.\n else if (domEvent.rangeParent) {\n domRange = domDoc.createRange();\n domRange.setStart(domEvent.rangeParent, domEvent.rangeOffset);\n domRange.collapse(true);\n }\n return domRange;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/istext\n */\n/**\n * Checks if the object is a native DOM Text node.\n */\nexport default function isText(obj) {\n return Object.prototype.toString.call(obj) == '[object Text]';\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/isrange\n */\n/**\n * Checks if the object is a native DOM Range.\n */\nexport default function isRange(obj) {\n return Object.prototype.toString.apply(obj) == '[object Range]';\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/getpositionedancestor\n */\nimport global from './global.js';\n/**\n * For a given element, returns the nearest ancestor element which CSS position is not \"static\".\n *\n * @param element The native DOM element to be checked.\n */\nexport default function getPositionedAncestor(element) {\n if (!element || !element.parentNode) {\n return null;\n }\n if (element.offsetParent === global.document.body) {\n return null;\n }\n return element.offsetParent;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/rect\n */\nimport isRange from './isrange.js';\nimport isWindow from './iswindow.js';\nimport getBorderWidths from './getborderwidths.js';\nimport isText from './istext.js';\nimport getPositionedAncestor from './getpositionedancestor.js';\nimport global from './global.js';\nconst rectProperties = ['top', 'right', 'bottom', 'left', 'width', 'height'];\n/**\n * A helper class representing a `ClientRect` object, e.g. value returned by\n * the native `object.getBoundingClientRect()` method. Provides a set of methods\n * to manipulate the rect and compare it against other rect instances.\n */\nexport default class Rect {\n /**\n * Creates an instance of rect.\n *\n * ```ts\n * // Rect of an HTMLElement.\n * const rectA = new Rect( document.body );\n *\n * // Rect of a DOM Range.\n * const rectB = new Rect( document.getSelection().getRangeAt( 0 ) );\n *\n * // Rect of a window (web browser viewport).\n * const rectC = new Rect( window );\n *\n * // Rect out of an object.\n * const rectD = new Rect( { top: 0, right: 10, bottom: 10, left: 0, width: 10, height: 10 } );\n *\n * // Rect out of another Rect instance.\n * const rectE = new Rect( rectD );\n *\n * // Rect out of a ClientRect.\n * const rectF = new Rect( document.body.getClientRects().item( 0 ) );\n * ```\n *\n * **Note**: By default a rect of an HTML element includes its CSS borders and scrollbars (if any)\n * ant the rect of a `window` includes scrollbars too. Use {@link #excludeScrollbarsAndBorders}\n * to get the inner part of the rect.\n *\n * @param source A source object to create the rect.\n */\n constructor(source) {\n const isSourceRange = isRange(source);\n Object.defineProperty(this, '_source', {\n // If the source is a Rect instance, copy it's #_source.\n value: source._source || source,\n writable: true,\n enumerable: false\n });\n if (isDomElement(source) || isSourceRange) {\n // The `Rect` class depends on `getBoundingClientRect` and `getClientRects` DOM methods. If the source\n // of a rect in an HTML element or a DOM range but it does not belong to any rendered DOM tree, these methods\n // will fail to obtain the geometry and the rect instance makes little sense to the features using it.\n // To get rid of this warning make sure the source passed to the constructor is a descendant of `window.document.body`.\n // @if CK_DEBUG // const sourceNode = isSourceRange ? source.startContainer : source;\n // @if CK_DEBUG // if ( !sourceNode.ownerDocument || !sourceNode.ownerDocument.body.contains( sourceNode ) ) {\n // @if CK_DEBUG // \tconsole.warn(\n // @if CK_DEBUG // \t\t'rect-source-not-in-dom: The source of this rect does not belong to any rendered DOM tree.',\n // @if CK_DEBUG // \t\t{ source } );\n // @if CK_DEBUG // }\n if (isSourceRange) {\n const rangeRects = Rect.getDomRangeRects(source);\n copyRectProperties(this, Rect.getBoundingRect(rangeRects));\n }\n else {\n copyRectProperties(this, source.getBoundingClientRect());\n }\n }\n else if (isWindow(source)) {\n const { innerWidth, innerHeight } = source;\n copyRectProperties(this, {\n top: 0,\n right: innerWidth,\n bottom: innerHeight,\n left: 0,\n width: innerWidth,\n height: innerHeight\n });\n }\n else {\n copyRectProperties(this, source);\n }\n }\n /**\n * Returns a clone of the rect.\n *\n * @returns A cloned rect.\n */\n clone() {\n return new Rect(this);\n }\n /**\n * Moves the rect so that its upper–left corner lands in desired `[ x, y ]` location.\n *\n * @param x Desired horizontal location.\n * @param y Desired vertical location.\n * @returns A rect which has been moved.\n */\n moveTo(x, y) {\n this.top = y;\n this.right = x + this.width;\n this.bottom = y + this.height;\n this.left = x;\n return this;\n }\n /**\n * Moves the rect in–place by a dedicated offset.\n *\n * @param x A horizontal offset.\n * @param y A vertical offset\n * @returns A rect which has been moved.\n */\n moveBy(x, y) {\n this.top += y;\n this.right += x;\n this.left += x;\n this.bottom += y;\n return this;\n }\n /**\n * Returns a new rect a a result of intersection with another rect.\n */\n getIntersection(anotherRect) {\n const rect = {\n top: Math.max(this.top, anotherRect.top),\n right: Math.min(this.right, anotherRect.right),\n bottom: Math.min(this.bottom, anotherRect.bottom),\n left: Math.max(this.left, anotherRect.left),\n width: 0,\n height: 0\n };\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n if (rect.width < 0 || rect.height < 0) {\n return null;\n }\n else {\n const newRect = new Rect(rect);\n newRect._source = this._source;\n return newRect;\n }\n }\n /**\n * Returns the area of intersection with another rect.\n *\n * @returns Area of intersection.\n */\n getIntersectionArea(anotherRect) {\n const rect = this.getIntersection(anotherRect);\n if (rect) {\n return rect.getArea();\n }\n else {\n return 0;\n }\n }\n /**\n * Returns the area of the rect.\n */\n getArea() {\n return this.width * this.height;\n }\n /**\n * Returns a new rect, a part of the original rect, which is actually visible to the user and is relative to the,`body`,\n * e.g. an original rect cropped by parent element rects which have `overflow` set in CSS\n * other than `\"visible\"`.\n *\n * If there's no such visible rect, which is when the rect is limited by one or many of\n * the ancestors, `null` is returned.\n *\n * **Note**: This method does not consider the boundaries of the viewport (window).\n * To get a rect cropped by all ancestors and the viewport, use an intersection such as:\n *\n * ```ts\n * const visibleInViewportRect = new Rect( window ).getIntersection( new Rect( source ).getVisible() );\n * ```\n *\n * @returns A visible rect instance or `null`, if there's none.\n */\n getVisible() {\n const source = this._source;\n let visibleRect = this.clone();\n // There's no ancestor to crop with the overflow.\n if (isBody(source)) {\n return visibleRect;\n }\n let child = source;\n let parent = source.parentNode || source.commonAncestorContainer;\n let absolutelyPositionedChildElement;\n // Check the ancestors all the way up to the .\n while (parent && !isBody(parent)) {\n const isParentOverflowVisible = getElementOverflow(parent) === 'visible';\n if (child instanceof HTMLElement && getElementPosition(child) === 'absolute') {\n absolutelyPositionedChildElement = child;\n }\n const parentElementPosition = getElementPosition(parent);\n // The child will be cropped only if it has `position: absolute` and the parent has `position: relative` + some overflow.\n // Otherwise there's no chance of visual clipping and the parent can be skipped\n // https://github.com/ckeditor/ckeditor5/issues/14107.\n //\n // condition: isParentOverflowVisible\n // \t\t+---------------------------+\n //\t\t| #parent\t\t\t\t\t|\n //\t\t| (overflow: visible)\t\t|\n //\t\t|\t\t\t\t+-----------+---------------+\n //\t\t|\t\t\t\t| child\t\t\t\t\t\t|\n //\t\t|\t\t\t\t+-----------+---------------+\n //\t\t+---------------------------+\n //\n // condition: absolutelyPositionedChildElement && parentElementPosition === 'relative' && isParentOverflowVisible\n // \t\t+---------------------------+\n //\t\t| parent\t\t\t\t\t|\n //\t\t| (position: relative;)\t\t|\n //\t\t| (overflow: visible;)\t\t|\n //\t\t|\t\t\t\t+-----------+---------------+\n //\t\t|\t\t\t\t| child \t\t\t\t\t|\n //\t\t|\t\t\t\t| (position: absolute;)\t\t|\n //\t\t|\t\t\t\t+-----------+---------------+\n //\t\t+---------------------------+\n //\n // condition: absolutelyPositionedChildElement && parentElementPosition !== 'relative'\n // \t\t+---------------------------+\n //\t\t| parent\t\t\t\t\t|\n //\t\t| (position: static;)\t\t|\n //\t\t|\t\t\t\t+-----------+---------------+\n //\t\t|\t\t\t\t| child \t\t\t\t\t|\n //\t\t|\t\t\t\t| (position: absolute;)\t\t|\n //\t\t|\t\t\t\t+-----------+---------------+\n //\t\t+---------------------------+\n if (isParentOverflowVisible ||\n absolutelyPositionedChildElement && ((parentElementPosition === 'relative' && isParentOverflowVisible) ||\n parentElementPosition !== 'relative')) {\n child = parent;\n parent = parent.parentNode;\n continue;\n }\n const parentRect = new Rect(parent);\n const intersectionRect = visibleRect.getIntersection(parentRect);\n if (intersectionRect) {\n if (intersectionRect.getArea() < visibleRect.getArea()) {\n // Reduce the visible rect to the intersection.\n visibleRect = intersectionRect;\n }\n }\n else {\n // There's no intersection, the rect is completely invisible.\n return null;\n }\n child = parent;\n parent = parent.parentNode;\n }\n return visibleRect;\n }\n /**\n * Checks if all property values ({@link #top}, {@link #left}, {@link #right},\n * {@link #bottom}, {@link #width} and {@link #height}) are the equal in both rect\n * instances.\n *\n * @param anotherRect A rect instance to compare with.\n * @returns `true` when Rects are equal. `false` otherwise.\n */\n isEqual(anotherRect) {\n for (const prop of rectProperties) {\n if (this[prop] !== anotherRect[prop]) {\n return false;\n }\n }\n return true;\n }\n /**\n * Checks whether a rect fully contains another rect instance.\n *\n * @param anotherRect\n * @returns `true` if contains, `false` otherwise.\n */\n contains(anotherRect) {\n const intersectRect = this.getIntersection(anotherRect);\n return !!(intersectRect && intersectRect.isEqual(anotherRect));\n }\n /**\n * Recalculates screen coordinates to coordinates relative to the positioned ancestor offset.\n */\n toAbsoluteRect() {\n const { scrollX, scrollY } = global.window;\n const absoluteRect = this.clone().moveBy(scrollX, scrollY);\n if (isDomElement(absoluteRect._source)) {\n const positionedAncestor = getPositionedAncestor(absoluteRect._source);\n if (positionedAncestor) {\n shiftRectToCompensatePositionedAncestor(absoluteRect, positionedAncestor);\n }\n }\n return absoluteRect;\n }\n /**\n * Excludes scrollbars and CSS borders from the rect.\n *\n * * Borders are removed when {@link #_source} is an HTML element.\n * * Scrollbars are excluded from HTML elements and the `window`.\n *\n * @returns A rect which has been updated.\n */\n excludeScrollbarsAndBorders() {\n const source = this._source;\n let scrollBarWidth, scrollBarHeight, direction;\n if (isWindow(source)) {\n scrollBarWidth = source.innerWidth - source.document.documentElement.clientWidth;\n scrollBarHeight = source.innerHeight - source.document.documentElement.clientHeight;\n direction = source.getComputedStyle(source.document.documentElement).direction;\n }\n else {\n const borderWidths = getBorderWidths(source);\n scrollBarWidth = source.offsetWidth - source.clientWidth - borderWidths.left - borderWidths.right;\n scrollBarHeight = source.offsetHeight - source.clientHeight - borderWidths.top - borderWidths.bottom;\n direction = source.ownerDocument.defaultView.getComputedStyle(source).direction;\n this.left += borderWidths.left;\n this.top += borderWidths.top;\n this.right -= borderWidths.right;\n this.bottom -= borderWidths.bottom;\n this.width = this.right - this.left;\n this.height = this.bottom - this.top;\n }\n this.width -= scrollBarWidth;\n if (direction === 'ltr') {\n this.right -= scrollBarWidth;\n }\n else {\n this.left += scrollBarWidth;\n }\n this.height -= scrollBarHeight;\n this.bottom -= scrollBarHeight;\n return this;\n }\n /**\n * Returns an array of rects of the given native DOM Range.\n *\n * @param range A native DOM range.\n * @returns DOM Range rects.\n */\n static getDomRangeRects(range) {\n const rects = [];\n // Safari does not iterate over ClientRectList using for...of loop.\n const clientRects = Array.from(range.getClientRects());\n if (clientRects.length) {\n for (const rect of clientRects) {\n rects.push(new Rect(rect));\n }\n }\n // If there's no client rects for the Range, use parent container's bounding rect\n // instead and adjust rect's width to simulate the actual geometry of such range.\n // https://github.com/ckeditor/ckeditor5-utils/issues/153\n // https://github.com/ckeditor/ckeditor5-ui/issues/317\n else {\n let startContainer = range.startContainer;\n if (isText(startContainer)) {\n startContainer = startContainer.parentNode;\n }\n const rect = new Rect(startContainer.getBoundingClientRect());\n rect.right = rect.left;\n rect.width = 0;\n rects.push(rect);\n }\n return rects;\n }\n /**\n * Returns a bounding rectangle that contains all the given `rects`.\n *\n * @param rects A list of rectangles that should be contained in the result rectangle.\n * @returns Bounding rectangle or `null` if no `rects` were given.\n */\n static getBoundingRect(rects) {\n const boundingRectData = {\n left: Number.POSITIVE_INFINITY,\n top: Number.POSITIVE_INFINITY,\n right: Number.NEGATIVE_INFINITY,\n bottom: Number.NEGATIVE_INFINITY,\n width: 0,\n height: 0\n };\n let rectangleCount = 0;\n for (const rect of rects) {\n rectangleCount++;\n boundingRectData.left = Math.min(boundingRectData.left, rect.left);\n boundingRectData.top = Math.min(boundingRectData.top, rect.top);\n boundingRectData.right = Math.max(boundingRectData.right, rect.right);\n boundingRectData.bottom = Math.max(boundingRectData.bottom, rect.bottom);\n }\n if (rectangleCount == 0) {\n return null;\n }\n boundingRectData.width = boundingRectData.right - boundingRectData.left;\n boundingRectData.height = boundingRectData.bottom - boundingRectData.top;\n return new Rect(boundingRectData);\n }\n}\n/**\n * Acquires all the rect properties from the passed source.\n */\nfunction copyRectProperties(rect, source) {\n for (const p of rectProperties) {\n rect[p] = source[p];\n }\n}\n/**\n * Checks if provided object is a HTML element.\n */\nfunction isBody(value) {\n if (!isDomElement(value)) {\n return false;\n }\n return value === value.ownerDocument.body;\n}\n/**\n * Checks if provided object \"looks like\" a DOM Element and has API required by `Rect` class.\n */\nfunction isDomElement(value) {\n // Note: earlier we used `isElement()` from lodash library, however that function is less performant because\n // it makes complicated checks to make sure that given value is a DOM element.\n return value !== null && typeof value === 'object' && value.nodeType === 1 && typeof value.getBoundingClientRect === 'function';\n}\n/**\n * Returns the value of the `position` style of an `HTMLElement`.\n */\nfunction getElementPosition(element) {\n return element instanceof HTMLElement ? element.ownerDocument.defaultView.getComputedStyle(element).position : 'static';\n}\n/**\n * Returns the value of the `overflow` style of an `HTMLElement` or a `Range`.\n */\nfunction getElementOverflow(element) {\n return element instanceof HTMLElement ? element.ownerDocument.defaultView.getComputedStyle(element).overflow : 'visible';\n}\n/**\n * For a given absolute Rect coordinates object and a positioned element ancestor, it updates its\n * coordinates that make up for the position and the scroll of the ancestor.\n *\n * This is necessary because while Rects (and DOMRects) are relative to the browser's viewport, their coordinates\n * are used in real–life to position elements with `position: absolute`, which are scoped by any positioned\n * (and scrollable) ancestors.\n */\nfunction shiftRectToCompensatePositionedAncestor(rect, positionedElementAncestor) {\n const ancestorPosition = new Rect(positionedElementAncestor);\n const ancestorBorderWidths = getBorderWidths(positionedElementAncestor);\n let moveX = 0;\n let moveY = 0;\n // (https://github.com/ckeditor/ckeditor5-ui-default/issues/126)\n // If there's some positioned ancestor of the panel, then its `Rect` must be taken into\n // consideration. `Rect` is always relative to the viewport while `position: absolute` works\n // with respect to that positioned ancestor.\n moveX -= ancestorPosition.left;\n moveY -= ancestorPosition.top;\n // (https://github.com/ckeditor/ckeditor5-utils/issues/139)\n // If there's some positioned ancestor of the panel, not only its position must be taken into\n // consideration (see above) but also its internal scrolls. Scroll have an impact here because `Rect`\n // is relative to the viewport (it doesn't care about scrolling), while `position: absolute`\n // must compensate that scrolling.\n moveX += positionedElementAncestor.scrollLeft;\n moveY += positionedElementAncestor.scrollTop;\n // (https://github.com/ckeditor/ckeditor5-utils/issues/139)\n // If there's some positioned ancestor of the panel, then its `Rect` includes its CSS `borderWidth`\n // while `position: absolute` positioning does not consider it.\n // E.g. `{ position: absolute, top: 0, left: 0 }` means upper left corner of the element,\n // not upper-left corner of its border.\n moveX -= ancestorBorderWidths.left;\n moveY -= ancestorBorderWidths.top;\n rect.moveBy(moveX, moveY);\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/resizeobserver\n */\nimport global from './global.js';\n/**\n * A helper class which instances allow performing custom actions when native DOM elements are resized.\n *\n * ```ts\n * const editableElement = editor.editing.view.getDomRoot();\n *\n * const observer = new ResizeObserver( editableElement, entry => {\n * \tconsole.log( 'The editable element has been resized in DOM.' );\n * \tconsole.log( entry.target ); // -> editableElement\n * \tconsole.log( entry.contentRect.width ); // -> e.g. '423px'\n * } );\n * ```\n *\n * It uses the [native DOM resize observer](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)\n * under the hood.\n */\nclass ResizeObserver {\n /**\n * Creates an instance of the `ResizeObserver` class.\n *\n * @param element A DOM element that is to be observed for resizing. Note that\n * the element must be visible (i.e. not detached from DOM) for the observer to work.\n * @param callback A function called when the observed element was resized. It passes\n * the [`ResizeObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry)\n * object with information about the resize event.\n */\n constructor(element, callback) {\n // **Note**: For the maximum performance, this class ensures only a single instance of the native\n // observer is used no matter how many instances of this class were created.\n if (!ResizeObserver._observerInstance) {\n ResizeObserver._createObserver();\n }\n this._element = element;\n this._callback = callback;\n ResizeObserver._addElementCallback(element, callback);\n ResizeObserver._observerInstance.observe(element);\n }\n /**\n * The element observed by this observer.\n */\n get element() {\n return this._element;\n }\n /**\n * Destroys the observer which disables the `callback` passed to the {@link #constructor}.\n */\n destroy() {\n ResizeObserver._deleteElementCallback(this._element, this._callback);\n }\n /**\n * Registers a new resize callback for the DOM element.\n */\n static _addElementCallback(element, callback) {\n if (!ResizeObserver._elementCallbacks) {\n ResizeObserver._elementCallbacks = new Map();\n }\n let callbacks = ResizeObserver._elementCallbacks.get(element);\n if (!callbacks) {\n callbacks = new Set();\n ResizeObserver._elementCallbacks.set(element, callbacks);\n }\n callbacks.add(callback);\n }\n /**\n * Removes a resize callback from the DOM element. If no callbacks are left\n * for the element, it removes the element from the native observer.\n */\n static _deleteElementCallback(element, callback) {\n const callbacks = ResizeObserver._getElementCallbacks(element);\n // Remove the element callback. Check if exist first in case someone\n // called destroy() twice.\n if (callbacks) {\n callbacks.delete(callback);\n // If no callbacks left for the element, also remove the element.\n if (!callbacks.size) {\n ResizeObserver._elementCallbacks.delete(element);\n ResizeObserver._observerInstance.unobserve(element);\n }\n }\n if (ResizeObserver._elementCallbacks && !ResizeObserver._elementCallbacks.size) {\n ResizeObserver._observerInstance = null;\n ResizeObserver._elementCallbacks = null;\n }\n }\n /**\n * Returns are registered resize callbacks for the DOM element.\n */\n static _getElementCallbacks(element) {\n if (!ResizeObserver._elementCallbacks) {\n return null;\n }\n return ResizeObserver._elementCallbacks.get(element);\n }\n /**\n * Creates the single native observer shared across all `ResizeObserver` instances.\n */\n static _createObserver() {\n ResizeObserver._observerInstance = new global.window.ResizeObserver(entries => {\n for (const entry of entries) {\n const callbacks = ResizeObserver._getElementCallbacks(entry.target);\n if (callbacks) {\n for (const callback of callbacks) {\n callback(entry);\n }\n }\n }\n });\n }\n}\n/**\n * The single native observer instance shared across all {@link module:utils/dom/resizeobserver~ResizeObserver} instances.\n */\nResizeObserver._observerInstance = null;\n/**\n * A mapping of native DOM elements and their callbacks shared across all\n * {@link module:utils/dom/resizeobserver~ResizeObserver} instances.\n */\nResizeObserver._elementCallbacks = null;\nexport default ResizeObserver;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/setdatainelement\n */\n/* globals HTMLTextAreaElement */\n/**\n * Sets data in a given element.\n *\n * @param el The element in which the data will be set.\n * @param data The data string.\n */\nexport default function setDataInElement(el, data) {\n if (el instanceof HTMLTextAreaElement) {\n el.value = data;\n }\n el.innerHTML = data;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/tounit\n */\n/**\n * Returns a helper function, which adds a desired trailing\n * `unit` to the passed value.\n *\n * @param unit An unit like \"px\" or \"em\".\n */\nexport default function toUnit(unit) {\n return value => value + unit;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/indexof\n */\n/**\n * Returns index of the node in the parent element.\n *\n * @param node Node which index is tested.\n * @returns Index of the node in the parent element. Returns 0 if node has no parent.\n */\nexport default function indexOf(node) {\n let index = 0;\n while (node.previousSibling) {\n node = node.previousSibling;\n index++;\n }\n return index;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/insertat\n */\n/**\n * Inserts node to the parent at given index.\n *\n * @param parentElement Parent element.\n * @param index Insertions index.\n * @param nodeToInsert Node to insert.\n */\nexport default function insertAt(parentElement, index, nodeToInsert) {\n parentElement.insertBefore(nodeToInsert, parentElement.childNodes[index] || null);\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/* globals Node */\n/**\n * @module utils/dom/iscomment\n */\n/**\n * Checks whether the object is a native DOM Comment node.\n */\nexport default function isComment(obj) {\n return obj && obj.nodeType === Node.COMMENT_NODE;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/isvisible\n */\nimport isText from './istext.js';\n/**\n * Checks whether the element is visible to the user in DOM:\n *\n * * connected to the root of the document,\n * * has no `display: none`,\n * * has no ancestors with `display: none`.\n *\n * **Note**: This helper does not check whether the element is hidden by cropping, overflow, etc..\n * To check that, use {@link module:utils/dom/rect~Rect} instead.\n */\nexport default function isVisible(element) {\n if (!element) {\n return false;\n }\n if (isText(element)) {\n return isVisible(element.parentElement);\n }\n if (element.getClientRects) {\n return !!(element.getClientRects().length);\n }\n return false;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/position\n */\nimport global from './global.js';\nimport Rect from './rect.js';\nimport getPositionedAncestor from './getpositionedancestor.js';\nimport { isFunction } from 'lodash-es';\n// @if CK_DEBUG_POSITION // const {\n// @if CK_DEBUG_POSITION // \tdefault: RectDrawer,\n// @if CK_DEBUG_POSITION // \tdiagonalStylesBlack,\n// @if CK_DEBUG_POSITION // \tdiagonalStylesGreen,\n// @if CK_DEBUG_POSITION // \tdiagonalStylesRed\n// @if CK_DEBUG_POSITION // } = require( '@ckeditor/ckeditor5-utils/tests/_utils/rectdrawer' );\n// @if CK_DEBUG_POSITION // const TARGET_RECT_STYLE = {\n// @if CK_DEBUG_POSITION // \toutlineWidth: '2px', outlineStyle: 'dashed', outlineColor: 'blue', outlineOffset: '2px'\n// @if CK_DEBUG_POSITION // };\n// @if CK_DEBUG_POSITION // const VISIBLE_TARGET_RECT_STYLE = {\n// @if CK_DEBUG_POSITION //\t\t...diagonalStylesBlack,\n// @if CK_DEBUG_POSITION //\t\topacity: '1',\n// @if CK_DEBUG_POSITION //\t\tbackgroundColor: '#00000033',\n// @if CK_DEBUG_POSITION //\t\toutlineWidth: '2px'\n// @if CK_DEBUG_POSITION // };\n// @if CK_DEBUG_POSITION // const VIEWPORT_RECT_STYLE = {\n// @if CK_DEBUG_POSITION // \toutlineWidth: '2px',\n// @if CK_DEBUG_POSITION // \toutlineOffset: '-2px',\n// @if CK_DEBUG_POSITION // \toutlineStyle: 'solid',\n// @if CK_DEBUG_POSITION // \toutlineColor: 'red'\n// @if CK_DEBUG_POSITION // };\n// @if CK_DEBUG_POSITION // const VISIBLE_LIMITER_RECT_STYLE = {\n// @if CK_DEBUG_POSITION // \t...diagonalStylesGreen,\n// @if CK_DEBUG_POSITION // \toutlineWidth: '2px',\n// @if CK_DEBUG_POSITION // \toutlineOffset: '-2px'\n// @if CK_DEBUG_POSITION // };\n// @if CK_DEBUG_POSITION // const ELEMENT_RECT_STYLE = {\n// @if CK_DEBUG_POSITION // \toutlineWidth: '2px', outlineColor: 'orange', outlineOffset: '-2px'\n// @if CK_DEBUG_POSITION // };\n// @if CK_DEBUG_POSITION // const CHOSEN_POSITION_RECT_STYLE = {\n// @if CK_DEBUG_POSITION // \topacity: .5, outlineColor: 'magenta', backgroundColor: 'magenta'\n// @if CK_DEBUG_POSITION // };\n/**\n * Calculates the `position: absolute` coordinates of a given element so it can be positioned with respect to the\n * target in the visually most efficient way, taking various restrictions like viewport or limiter geometry\n * into consideration.\n *\n * **Note**: If there are no position coordinates found that meet the requirements (arguments of this helper),\n * `null` is returned.\n *\n * ```ts\n * // The element which is to be positioned.\n * const element = document.body.querySelector( '#toolbar' );\n *\n * // A target to which the element is positioned relatively.\n * const target = document.body.querySelector( '#container' );\n *\n * // Finding the optimal coordinates for the positioning.\n * const { left, top, name } = getOptimalPosition( {\n * \telement: element,\n * \ttarget: target,\n *\n * \t// The algorithm will chose among these positions to meet the requirements such\n * \t// as \"limiter\" element or \"fitInViewport\", set below. The positions are considered\n * \t// in the order of the array.\n * \tpositions: [\n * \t\t//\n * \t \t//\t[ Target ]\n * \t\t//\t+-----------------+\n * \t\t//\t| Element |\n * \t\t//\t+-----------------+\n * \t\t//\n * \t\ttargetRect => ( {\n * \t\t\ttop: targetRect.bottom,\n * \t\t\tleft: targetRect.left,\n * \t\t\tname: 'mySouthEastPosition'\n * \t\t} ),\n *\n * \t\t//\n * \t\t//\t+-----------------+\n * \t\t//\t| Element |\n * \t\t//\t+-----------------+\n * \t\t//\t[ Target ]\n * \t\t//\n * \t\t( targetRect, elementRect ) => ( {\n * \t\t\ttop: targetRect.top - elementRect.height,\n * \t\t\tleft: targetRect.left,\n * \t\t\tname: 'myNorthEastPosition'\n * \t\t} )\n * \t],\n *\n * \t// Find a position such guarantees the element remains within visible boundaries of .\n * \tlimiter: document.body,\n *\n * \t// Find a position such guarantees the element remains within visible boundaries of the browser viewport.\n * \tfitInViewport: true\n * } );\n *\n * // The best position which fits into document.body and the viewport. May be useful\n * // to set proper class on the `element`.\n * console.log( name ); // -> \"myNorthEastPosition\"\n *\n * // Using the absolute coordinates which has been found to position the element\n * // as in the diagram depicting the \"myNorthEastPosition\" position.\n * element.style.top = top;\n * element.style.left = left;\n * ```\n *\n * @param options The input data and configuration of the helper.\n */\nexport function getOptimalPosition({ element, target, positions, limiter, fitInViewport, viewportOffsetConfig }) {\n // If the {@link module:utils/dom/position~Options#target} is a function, use what it returns.\n // https://github.com/ckeditor/ckeditor5-utils/issues/157\n if (isFunction(target)) {\n target = target();\n }\n // If the {@link module:utils/dom/position~Options#limiter} is a function, use what it returns.\n // https://github.com/ckeditor/ckeditor5-ui/issues/260\n if (isFunction(limiter)) {\n limiter = limiter();\n }\n const positionedElementAncestor = getPositionedAncestor(element);\n const constrainedViewportRect = getConstrainedViewportRect(viewportOffsetConfig);\n const elementRect = new Rect(element);\n const visibleTargetRect = getVisibleViewportIntersectionRect(target, constrainedViewportRect);\n let bestPosition;\n // @if CK_DEBUG_POSITION // const targetRect = new Rect( target );\n // @if CK_DEBUG_POSITION // RectDrawer.clear();\n // @if CK_DEBUG_POSITION // RectDrawer.draw( targetRect, TARGET_RECT_STYLE, 'Target' );\n // @if CK_DEBUG_POSITION // if ( constrainedViewportRect ) {\n // @if CK_DEBUG_POSITION //\t\tRectDrawer.draw( constrainedViewportRect, VIEWPORT_RECT_STYLE, 'Viewport' );\n // @if CK_DEBUG_POSITION // }\n // If the target got cropped by ancestors or went off the screen, positioning does not make any sense.\n if (!visibleTargetRect || !constrainedViewportRect.getIntersection(visibleTargetRect)) {\n return null;\n }\n // @if CK_DEBUG_POSITION //\tRectDrawer.draw( visibleTargetRect, VISIBLE_TARGET_RECT_STYLE, 'VisTgt' );\n const positionOptions = {\n targetRect: visibleTargetRect,\n elementRect,\n positionedElementAncestor,\n viewportRect: constrainedViewportRect\n };\n // If there are no limits, just grab the very first position and be done with that drama.\n if (!limiter && !fitInViewport) {\n bestPosition = new PositionObject(positions[0], positionOptions);\n }\n else {\n if (limiter) {\n const visibleLimiterRect = getVisibleViewportIntersectionRect(limiter, constrainedViewportRect);\n if (visibleLimiterRect) {\n positionOptions.limiterRect = visibleLimiterRect;\n // @if CK_DEBUG_POSITION // RectDrawer.draw( visibleLimiterRect, VISIBLE_LIMITER_RECT_STYLE, 'VisLim' );\n }\n }\n // If there's no best position found, i.e. when all intersections have no area because\n // rects have no width or height, then just return `null`\n bestPosition = getBestPosition(positions, positionOptions);\n }\n return bestPosition;\n}\n/**\n * Returns intersection of visible source `Rect` with Viewport `Rect`. In case when source `Rect` is not visible\n * or there is no intersection between source `Rect` and Viewport `Rect`, `null` will be returned.\n */\nfunction getVisibleViewportIntersectionRect(source, viewportRect) {\n const visibleSourceRect = new Rect(source).getVisible();\n if (!visibleSourceRect) {\n return null;\n }\n return visibleSourceRect.getIntersection(viewportRect);\n}\n/**\n * Returns a viewport `Rect` shrunk by the viewport offset config from all sides.\n */\nfunction getConstrainedViewportRect(viewportOffsetConfig) {\n viewportOffsetConfig = Object.assign({ top: 0, bottom: 0, left: 0, right: 0 }, viewportOffsetConfig);\n const viewportRect = new Rect(global.window);\n viewportRect.top += viewportOffsetConfig.top;\n viewportRect.height -= viewportOffsetConfig.top;\n viewportRect.bottom -= viewportOffsetConfig.bottom;\n viewportRect.height -= viewportOffsetConfig.bottom;\n return viewportRect;\n}\n/**\n * For a given array of positioning functions, returns such that provides the best\n * fit of the `elementRect` into the `limiterRect` and `viewportRect`.\n */\nfunction getBestPosition(positions, options) {\n const { elementRect } = options;\n // This is when element is fully visible.\n const elementRectArea = elementRect.getArea();\n const positionInstances = positions\n .map(positioningFunction => new PositionObject(positioningFunction, options))\n // Some positioning functions may return `null` if they don't want to participate.\n .filter(position => !!position.name);\n let maxFitFactor = 0;\n let bestPosition = null;\n for (const position of positionInstances) {\n const { limiterIntersectionArea, viewportIntersectionArea } = position;\n // If a such position is found that element is fully contained by the limiter then, obviously,\n // there will be no better one, so finishing.\n if (limiterIntersectionArea === elementRectArea) {\n // @if CK_DEBUG_POSITION //\tRectDrawer.draw( position._rect, CHOSEN_POSITION_RECT_STYLE, [\n // @if CK_DEBUG_POSITION //\t\tposition.name,\n // @if CK_DEBUG_POSITION //\t\t'100% fit',\n // @if CK_DEBUG_POSITION //\t].join( '\\n' ) );\n return position;\n }\n // To maximize both viewport and limiter intersection areas we use distance on _viewportIntersectionArea\n // and _limiterIntersectionArea plane (without sqrt because we are looking for max value).\n const fitFactor = viewportIntersectionArea ** 2 + limiterIntersectionArea ** 2;\n // @if CK_DEBUG_POSITION //\tRectDrawer.draw( position._rect, { opacity: .4 }, [\n // @if CK_DEBUG_POSITION //\t\tposition.name,\n // @if CK_DEBUG_POSITION //\t\t'Vi=' + Math.round( viewportIntersectionArea ),\n // @if CK_DEBUG_POSITION //\t\t'Li=' + Math.round( limiterIntersectionArea )\n // @if CK_DEBUG_POSITION //\t].join( '\\n' ) );\n if (fitFactor > maxFitFactor) {\n maxFitFactor = fitFactor;\n bestPosition = position;\n }\n }\n // @if CK_DEBUG_POSITION // if ( bestPosition ) {\n // @if CK_DEBUG_POSITION // \tRectDrawer.draw( bestPosition._rect, CHOSEN_POSITION_RECT_STYLE );\n // @if CK_DEBUG_POSITION // }\n return bestPosition;\n}\n/**\n * A position class which instances are created and used by the {@link module:utils/dom/position~getOptimalPosition} helper.\n *\n * {@link module:utils/dom/position~Position#top} and {@link module:utils/dom/position~Position#left} properties of the position instance\n * translate directly to the `top` and `left` properties in CSS \"`position: absolute` coordinate system\". If set on the positioned element\n * in DOM, they will make it display it in the right place in the viewport.\n */\nclass PositionObject {\n /**\n * Creates an instance of the {@link module:utils/dom/position~PositionObject} class.\n *\n * @param positioningFunction function The function that defines the expected\n * coordinates the positioned element should move to.\n * @param options options object.\n * @param options.elementRect The positioned element rect.\n * @param options.targetRect The target element rect.\n * @param options.viewportRect The viewport rect.\n * @param options.limiterRect The limiter rect.\n * @param options.positionedElementAncestor Nearest element ancestor element which CSS position is not \"static\".\n */\n constructor(positioningFunction, options) {\n const positioningFunctionOutput = positioningFunction(options.targetRect, options.elementRect, options.viewportRect, options.limiterRect);\n // Nameless position for a function that didn't participate.\n if (!positioningFunctionOutput) {\n return;\n }\n const { left, top, name, config } = positioningFunctionOutput;\n this.name = name;\n this.config = config;\n this._positioningFunctionCoordinates = { left, top };\n this._options = options;\n }\n /**\n * The left value in pixels in the CSS `position: absolute` coordinate system.\n * Set it on the positioned element in DOM to move it to the position.\n */\n get left() {\n return this._absoluteRect.left;\n }\n /**\n * The top value in pixels in the CSS `position: absolute` coordinate system.\n * Set it on the positioned element in DOM to move it to the position.\n */\n get top() {\n return this._absoluteRect.top;\n }\n /**\n * An intersection area between positioned element and limiter within viewport constraints.\n */\n get limiterIntersectionArea() {\n const limiterRect = this._options.limiterRect;\n if (limiterRect) {\n return limiterRect.getIntersectionArea(this._rect);\n }\n return 0;\n }\n /**\n * An intersection area between positioned element and viewport.\n */\n get viewportIntersectionArea() {\n const viewportRect = this._options.viewportRect;\n return viewportRect.getIntersectionArea(this._rect);\n }\n /**\n * An already positioned element rect. A clone of the element rect passed to the constructor\n * but placed in the viewport according to the positioning function.\n */\n get _rect() {\n if (this._cachedRect) {\n return this._cachedRect;\n }\n this._cachedRect = this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left, this._positioningFunctionCoordinates.top);\n return this._cachedRect;\n }\n /**\n * An already absolutely positioned element rect. See ({@link #_rect}).\n */\n get _absoluteRect() {\n if (this._cachedAbsoluteRect) {\n return this._cachedAbsoluteRect;\n }\n this._cachedAbsoluteRect = this._rect.toAbsoluteRect();\n return this._cachedAbsoluteRect;\n }\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/remove\n */\n/**\n * Removes given node from parent.\n *\n * @param node Node to remove.\n */\nexport default function remove(node) {\n const parent = node.parentNode;\n if (parent) {\n parent.removeChild(node);\n }\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n/**\n * @module utils/dom/scroll\n */\nimport isRange from './isrange.js';\nimport Rect from './rect.js';\nimport isText from './istext.js';\n/**\n * Makes any page `HTMLElement` or `Range` (`target`) visible inside the browser viewport.\n * This helper will scroll all `target` ancestors and the web browser viewport to reveal the target to\n * the user. If the `target` is already visible, nothing will happen.\n *\n * @param options Additional configuration of the scrolling behavior.\n * @param options.target A target, which supposed to become visible to the user.\n * @param options.viewportOffset An offset from the edge of the viewport (in pixels)\n * the `target` will be moved by if the viewport is scrolled. It enhances the user experience\n * by keeping the `target` some distance from the edge of the viewport and thus making it easier to\n * read or edit by the user.\n * @param options.ancestorOffset An offset from the boundary of scrollable ancestors (if any)\n * the `target` will be moved by if the viewport is scrolled. It enhances the user experience\n * by keeping the `target` some distance from the edge of the ancestors and thus making it easier to\n * read or edit by the user.\n * @param options.alignToTop When set `true`, the helper will make sure the `target` is scrolled up\n * to the top boundary of the viewport and/or scrollable ancestors if scrolled up. When not set\n * (default), the `target` will be revealed by scrolling as little as possible. This option will\n * not affect `targets` that must be scrolled down because they will appear at the top of the boundary\n * anyway.\n *\n * ```\n * scrollViewportToShowTarget() with scrollViewportToShowTarget() with\n * Initial state alignToTop unset (default) alignToTop = true\n *\n * ┌────────────────────────────────┬─┐ ┌────────────────────────────────┬─┐ ┌────────────────────────────────┬─┐\n * │ │▲│ │ │▲│ │ [ Target to be revealed ] │▲│\n * │ │ │ │ │ │ │ │ │\n * │ │█│ │ │ │ │ │ │\n * │ │█│ │ │ │ │ │ │\n * │ │ │ │ │█│ │ │ │\n * │ │ │ │ │█│ │ │█│\n * │ │ │ │ │ │ │ │█│\n * │ │▼│ │ [ Target to be revealed ] │▼│ │ │▼│\n * └────────────────────────────────┴─┘ └────────────────────────────────┴─┘ └────────────────────────────────┴─┘\n *\n *\n * [ Target to be revealed ]\n *```\n *\n * @param options.forceScroll When set `true`, the `target` will be aligned to the top of the viewport\n * and scrollable ancestors whether it is already visible or not. This option will only work when `alignToTop`\n * is `true`\n */\nexport function scrollViewportToShowTarget({ target, viewportOffset = 0, ancestorOffset = 0, alignToTop, forceScroll }) {\n const targetWindow = getWindow(target);\n let currentWindow = targetWindow;\n let currentFrame = null;\n viewportOffset = normalizeViewportOffset(viewportOffset);\n // Iterate over all windows, starting from target's parent window up to window#top.\n while (currentWindow) {\n let firstAncestorToScroll;\n // Let's scroll target's ancestors first to reveal it. Then, once the ancestor scrolls\n // settled down, the algorithm can eventually scroll the viewport of the current window.\n //\n // Note: If the current window is target's **original** window (e.g. the first one),\n // start scrolling the closest parent of the target. If not, scroll the closest parent\n // of an iframe that resides in the current window.\n if (currentWindow == targetWindow) {\n firstAncestorToScroll = getParentElement(target);\n }\n else {\n firstAncestorToScroll = getParentElement(currentFrame);\n }\n // Scroll the target's ancestors first. Once done, scrolling the viewport is easy.\n scrollAncestorsToShowRect({\n parent: firstAncestorToScroll,\n getRect: () => {\n // Note: If the target does not belong to the current window **directly**,\n // i.e. it resides in an iframe belonging to the window, obtain the target's rect\n // in the coordinates of the current window. By default, a Rect returns geometry\n // relative to the current window's viewport. To make it work in a parent window,\n // it must be shifted.\n return getRectRelativeToWindow(target, currentWindow);\n },\n alignToTop,\n ancestorOffset,\n forceScroll\n });\n // Obtain the rect of the target after it has been scrolled within its ancestors.\n // It's time to scroll the viewport.\n let targetRect = getRectRelativeToWindow(target, currentWindow);\n // Detect situation where the target is higher than the first scrollable ancestor.\n // In such case scrolling the viewport to reveal the target might be malfunctioning because\n // the target `.top` position is lower than the ancestor's `.top` position. If it's large enough it can be negative.\n // It causes the `scrollWindowToShowRect` to scroll the viewport to the negative top position which is not possible\n // and leads to the viewport being scrolled to the absolute top of the document. To prevent this, the target's rect\n // must be shifted to the ancestor's top position. It should not affect the target's visibility because the ancestor\n // is already scrolled to reveal the target.\n // See more: https://github.com/ckeditor/ckeditor5/issues/17079\n const ancestorWindowRelativeRect = getRectRelativeToWindow(firstAncestorToScroll, currentWindow);\n if (targetRect.height > ancestorWindowRelativeRect.height) {\n const ancestorTargetIntersection = targetRect.getIntersection(ancestorWindowRelativeRect);\n if (ancestorTargetIntersection) {\n targetRect = ancestorTargetIntersection;\n }\n }\n scrollWindowToShowRect({\n window: currentWindow,\n rect: targetRect,\n viewportOffset,\n alignToTop,\n forceScroll\n });\n if (currentWindow.parent != currentWindow) {\n // Keep the reference to the