From 1b55cc7c1256116a6a2a589c7cd85f513ce78822 Mon Sep 17 00:00:00 2001 From: Amin Arria Date: Fri, 8 Mar 2024 17:29:18 +0100 Subject: [PATCH] Some more improvements to the umbrella (#354) * Add default release for umbrella * Move configs to umbrella config * Setup esbuild and tailwind for umbrella * Formatting * Fix entrypoint for new umbrella release --------- Co-authored-by: Manuel Camejo --- .gitignore | 7 + apps/arena/config/config.exs | 50 - apps/arena/config/dev.exs | 68 - apps/arena/config/prod.exs | 20 - apps/arena/config/runtime.exs | 112 - apps/arena/config/test.exs | 20 - apps/arena/devops/entrypoint.sh | 2 +- apps/champions/config/config.exs | 20 - apps/champions/config/dev.exs | 4 - apps/champions/config/test.exs | 4 - apps/game_backend/config/config.exs | 27 - apps/game_backend/config/dev.exs | 11 - apps/game_backend/config/test.exs | 17 - apps/game_client/config/config.exs | 62 - apps/game_client/config/dev.exs | 72 - apps/game_client/config/prod.exs | 20 - apps/game_client/config/runtime.exs | 102 - apps/game_client/config/test.exs | 20 - apps/game_client/priv/static/assets/app.css | 1662 - apps/game_client/priv/static/assets/app.js | 43109 ------------------ apps/gateway/config/config.exs | 44 - apps/gateway/config/dev.exs | 1 - apps/gateway/config/test.exs | 7 - config/config.exs | 141 +- config/dev.exs | 156 + config/prod.exs | 48 + config/runtime.exs | 221 + config/test.exs | 64 + mix.exs | 18 +- 29 files changed, 652 insertions(+), 45457 deletions(-) delete mode 100644 apps/arena/config/config.exs delete mode 100644 apps/arena/config/dev.exs delete mode 100644 apps/arena/config/prod.exs delete mode 100644 apps/arena/config/runtime.exs delete mode 100644 apps/arena/config/test.exs delete mode 100644 apps/champions/config/config.exs delete mode 100644 apps/champions/config/dev.exs delete mode 100644 apps/champions/config/test.exs delete mode 100644 apps/game_backend/config/config.exs delete mode 100644 apps/game_backend/config/dev.exs delete mode 100644 apps/game_backend/config/test.exs delete mode 100644 apps/game_client/config/config.exs delete mode 100644 apps/game_client/config/dev.exs delete mode 100644 apps/game_client/config/prod.exs delete mode 100644 apps/game_client/config/runtime.exs delete mode 100644 apps/game_client/config/test.exs delete mode 100644 apps/game_client/priv/static/assets/app.css delete mode 100644 apps/game_client/priv/static/assets/app.js delete mode 100644 apps/gateway/config/config.exs delete mode 100644 apps/gateway/config/dev.exs delete mode 100644 apps/gateway/config/test.exs diff --git a/.gitignore b/.gitignore index 8d7724315..f5801801c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # The directory Mix will write compiled artifacts to. /_build/ +/target/ # If you run "mix test --cover", coverage assets end up here. /cover/ @@ -24,5 +25,11 @@ erl_crash.dump apps/*/_build/* +# Ignore assets that are produced by build tools. +/apps/*/priv/static/assets/ + +# Ignore digested assets cache. +/apps/*/priv/static/cache_manifest.json + # Devenv build folder .devenv* diff --git a/apps/arena/config/config.exs b/apps/arena/config/config.exs deleted file mode 100644 index 716b031fd..000000000 --- a/apps/arena/config/config.exs +++ /dev/null @@ -1,50 +0,0 @@ -# This file is responsible for configuring your application -# and its dependencies with the aid of the Config module. -# -# This configuration file is loaded before any dependency and -# is restricted to this project. - -# General application configuration -import Config - -# Configures the endpoint -dispatch = [ - _: [ - {"/play/:game_id/:client_id", Arena.GameSocketHandler, []}, - {"/join/:client_id/:character_name", Arena.SocketHandler, []}, - {:_, Plug.Cowboy.Handler, {ArenaWeb.Endpoint, []}} - ] -] - -# Configures the endpoint -config :arena, ArenaWeb.Endpoint, - url: [host: "localhost"], - adapter: Phoenix.Endpoint.Cowboy2Adapter, - render_errors: [ - formats: [html: ArenaWeb.ErrorHTML, json: ArenaWeb.ErrorJSON], - layout: false - ], - pubsub_server: Arena.PubSub, - live_view: [signing_salt: "XED/NEZq"], - http: [dispatch: dispatch] - -# Configures the mailer -# -# By default it uses the "Local" adapter which stores the emails -# locally. You can see the emails in your browser, at "/dev/mailbox". -# -# For production it's recommended to configure a different adapter -# at the `config/runtime.exs`. -config :arena, Arena.Mailer, adapter: Swoosh.Adapters.Local - -# Configures Elixir's Logger -config :logger, :console, - format: "$time $metadata[$level] $message\n", - metadata: [:request_id] - -# Use Jason for JSON parsing in Phoenix -config :phoenix, :json_library, Jason - -# Import environment specific config. This must remain at the bottom -# of this file so it overrides the configuration defined above. -import_config "#{config_env()}.exs" diff --git a/apps/arena/config/dev.exs b/apps/arena/config/dev.exs deleted file mode 100644 index fd77e81c9..000000000 --- a/apps/arena/config/dev.exs +++ /dev/null @@ -1,68 +0,0 @@ -import Config - -# For development, we disable any cache and enable -# debugging and code reloading. -# -# The watchers configuration can be used to run external -# watchers to your application. For example, we can use it -# to bundle .js and .css sources. -config :arena, ArenaWeb.Endpoint, - # Binding to loopback ipv4 address prevents access from other machines. - # Change to `ip: {0, 0, 0, 0}` to allow access from other machines. - http: [ip: {127, 0, 0, 1}, port: 4000], - check_origin: false, - code_reloader: true, - debug_errors: true, - secret_key_base: "0zq8I9ztj7kj4cLdFmvduHwXQJJi9yzNUAUFAlKHkdXS/nJkxUvNPjlSdJPDSUf5" - -# ## SSL Support -# -# In order to use HTTPS in development, a self-signed -# certificate can be generated by running the following -# Mix task: -# -# mix phx.gen.cert -# -# Run `mix help phx.gen.cert` for more information. -# -# The `http:` config above can be replaced with: -# -# https: [ -# port: 4000, -# cipher_suite: :strong, -# keyfile: "priv/cert/selfsigned_key.pem", -# certfile: "priv/cert/selfsigned.pem" -# ], -# -# If desired, both `http:` and `https:` keys can be -# configured to run both http and https servers on -# different ports. - -# Watch static and templates for browser reloading. -config :arena, ArenaWeb.Endpoint, - live_reload: [ - patterns: [ - ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$", - ~r"priv/gettext/.*(po)$", - ~r"lib/arena_web/(controllers|live|components)/.*(ex|heex)$" - ] - ] - -# Enable dev routes for dashboard and mailbox -config :arena, dev_routes: true - -# Do not include metadata nor timestamps in development logs -config :logger, :console, format: "[$level] $message\n" - -# Set a higher stacktrace during development. Avoid configuring such -# in production as building large stacktraces may be expensive. -config :phoenix, :stacktrace_depth, 20 - -# Initialize plugs at runtime for faster development compilation -config :phoenix, :plug_init_mode, :runtime - -# Include HEEx debug annotations as HTML comments in rendered markup -config :phoenix_live_view, :debug_heex_annotations, true - -# Disable swoosh api client as it is only required for production adapters. -config :swoosh, :api_client, false diff --git a/apps/arena/config/prod.exs b/apps/arena/config/prod.exs deleted file mode 100644 index aaa5ffd56..000000000 --- a/apps/arena/config/prod.exs +++ /dev/null @@ -1,20 +0,0 @@ -import Config - -# Note we also include the path to a cache manifest -# containing the digested version of static files. This -# manifest is generated by the `mix assets.deploy` task, -# which you should run after static files are built and -# before starting your production server. -config :arena, ArenaWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json" - -# Configures Swoosh API Client -config :swoosh, api_client: Swoosh.ApiClient.Finch, finch_name: Arena.Finch - -# Disable Swoosh Local Memory Storage -config :swoosh, local: false - -# Do not print debug messages in production -config :logger, level: :info - -# Runtime production configuration, including reading -# of environment variables, is done on config/runtime.exs. diff --git a/apps/arena/config/runtime.exs b/apps/arena/config/runtime.exs deleted file mode 100644 index d636bba51..000000000 --- a/apps/arena/config/runtime.exs +++ /dev/null @@ -1,112 +0,0 @@ -import Config - -# config/runtime.exs is executed for all environments, including -# during releases. It is executed after compilation and before the -# system starts, so it is typically used to load production configuration -# and secrets from environment variables or elsewhere. Do not define -# any compile-time configuration in here, as it won't be applied. -# The block below contains prod specific runtime configuration. - -# ## Using releases -# -# If you use `mix release`, you need to explicitly enable the server -# by passing the PHX_SERVER=true when you start it: -# -# PHX_SERVER=true bin/arena start -# -# Alternatively, you can use `mix phx.gen.release` to generate a `bin/server` -# script that automatically sets the env var above. -if System.get_env("PHX_SERVER") do - config :arena, ArenaWeb.Endpoint, server: true -end - -if System.get_env("USE_PROXY") do - ToxiproxyEx.populate!([ - %{ - name: "game_proxy", - listen: "0.0.0.0:5000", - upstream: "127.0.0.1:4000" - } - ]) -end - -if config_env() == :prod do - # The secret key base is used to sign/encrypt cookies and other secrets. - # A default value is used in config/dev.exs and config/test.exs but you - # want to use a different value for prod and you most likely don't want - # to check this value into version control, so we use an environment - # variable instead. - secret_key_base = - System.get_env("SECRET_KEY_BASE") || - raise """ - environment variable SECRET_KEY_BASE is missing. - You can generate one by calling: mix phx.gen.secret - """ - - host = System.get_env("PHX_HOST") || "example.com" - port = String.to_integer(System.get_env("PORT") || "3000") - - config :arena, :dns_cluster_query, System.get_env("DNS_CLUSTER_QUERY") - - config :arena, ArenaWeb.Endpoint, - url: [host: host, port: 443, scheme: "https"], - http: [ - # Enable IPv6 and bind on all interfaces. - # Set it to {0, 0, 0, 0, 0, 0, 0, 1} for local network only access. - # See the documentation on https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html - # for details about using IPv6 vs IPv4 and loopback vs public addresses. - ip: {0, 0, 0, 0, 0, 0, 0, 0}, - port: port - ], - secret_key_base: secret_key_base - - # ## SSL Support - # - # To get SSL working, you will need to add the `https` key - # to your endpoint configuration: - # - # config :arena, ArenaWeb.Endpoint, - # https: [ - # ..., - # port: 443, - # cipher_suite: :strong, - # keyfile: System.get_env("SOME_APP_SSL_KEY_PATH"), - # certfile: System.get_env("SOME_APP_SSL_CERT_PATH") - # ] - # - # The `cipher_suite` is set to `:strong` to support only the - # latest and more secure SSL ciphers. This means old browsers - # and clients may not be supported. You can set it to - # `:compatible` for wider support. - # - # `:keyfile` and `:certfile` expect an absolute path to the key - # and cert in disk or a relative path inside priv, for example - # "priv/ssl/server.key". For all supported SSL configuration - # options, see https://hexdocs.pm/plug/Plug.SSL.html#configure/1 - # - # We also recommend setting `force_ssl` in your endpoint, ensuring - # no data is ever sent via http, always redirecting to https: - # - # config :arena, ArenaWeb.Endpoint, - # force_ssl: [hsts: true] - # - # Check `Plug.SSL` for all available options in `force_ssl`. - - # ## Configuring the mailer - # - # In production you need to configure the mailer to use a different adapter. - # Also, you may need to configure the Swoosh API client of your choice if you - # are not using SMTP. Here is an example of the configuration: - # - # config :arena, Arena.Mailer, - # adapter: Swoosh.Adapters.Mailgun, - # api_key: System.get_env("MAILGUN_API_KEY"), - # domain: System.get_env("MAILGUN_DOMAIN") - # - # For this example you need include a HTTP client required by Swoosh API client. - # Swoosh supports Hackney and Finch out of the box: - # - # config :swoosh, :api_client, Swoosh.ApiClient.Hackney - # - # See https://hexdocs.pm/swoosh/Swoosh.html#module-installation for details. -end diff --git a/apps/arena/config/test.exs b/apps/arena/config/test.exs deleted file mode 100644 index 6cf726a34..000000000 --- a/apps/arena/config/test.exs +++ /dev/null @@ -1,20 +0,0 @@ -import Config - -# We don't run a server during test. If one is required, -# you can enable the server option below. -config :arena, ArenaWeb.Endpoint, - http: [ip: {127, 0, 0, 1}, port: 4002], - secret_key_base: "QK4nHna6CWP5+KH2khYXzdIAM2GmQ1B7xwDP6fdjhQro1659xfFvC+69Joj/dKyw", - server: false - -# In test we don't send emails. -config :arena, Arena.Mailer, adapter: Swoosh.Adapters.Test - -# Disable swoosh api client as it is only required for production adapters. -config :swoosh, :api_client, false - -# Print only warnings and errors during test -config :logger, level: :warning - -# Initialize plugs at runtime for faster test compilation -config :phoenix, :plug_init_mode, :runtime diff --git a/apps/arena/devops/entrypoint.sh b/apps/arena/devops/entrypoint.sh index 5b4b3eafc..4236f3beb 100755 --- a/apps/arena/devops/entrypoint.sh +++ b/apps/arena/devops/entrypoint.sh @@ -1,4 +1,4 @@ #!/bin/sh set -ex -$HOME/mirra_backend/apps/arena/_build/prod/rel/arena/bin/arena start +$HOME/mirra_backend/_build/prod/rel/arena/bin/arena start diff --git a/apps/champions/config/config.exs b/apps/champions/config/config.exs deleted file mode 100644 index b91265db2..000000000 --- a/apps/champions/config/config.exs +++ /dev/null @@ -1,20 +0,0 @@ -# This file is responsible for configuring your application -# and its dependencies with the aid of the Config module. -# -# This configuration file is loaded before any dependency and -# is restricted to this project. - -# General application configuration -import Config - -# Configures Elixir's Logger -config :logger, :console, - format: "$time $metadata[$level] $message\n", - metadata: [:request_id] - -# Use Jason for JSON parsing in Phoenix -config :phoenix, :json_library, Jason - -# Import environment specific config. This must remain at the bottom -# of this file so it overrides the configuration defined above. -import_config "#{config_env()}.exs" diff --git a/apps/champions/config/dev.exs b/apps/champions/config/dev.exs deleted file mode 100644 index 9d501fa42..000000000 --- a/apps/champions/config/dev.exs +++ /dev/null @@ -1,4 +0,0 @@ -import Config - -# Do not include metadata nor timestamps in development logs -config :logger, :console, format: "[$level] $message\n" diff --git a/apps/champions/config/test.exs b/apps/champions/config/test.exs deleted file mode 100644 index 471175209..000000000 --- a/apps/champions/config/test.exs +++ /dev/null @@ -1,4 +0,0 @@ -import Config - -# Print only warnings and errors during test -config :logger, level: :warning diff --git a/apps/game_backend/config/config.exs b/apps/game_backend/config/config.exs deleted file mode 100644 index 733834870..000000000 --- a/apps/game_backend/config/config.exs +++ /dev/null @@ -1,27 +0,0 @@ -# This file is responsible for configuring your application -# and its dependencies with the aid of the Config module. -# -# This configuration file is loaded before any dependency and -# is restricted to this project. - -# General application configuration -import Config - -config :game_backend, - ecto_repos: [GameBackend.Repo], - generators: [timestamp_type: :utc_datetime] - -# Configures Ecto migrations -config :game_backend, GameBackend.Repo, migration_primary_key: [type: :binary_id] - -# Configures Elixir's Logger -config :logger, :console, - format: "$time $metadata[$level] $message\n", - metadata: [:request_id] - -# Use Jason for JSON parsing in Phoenix -config :phoenix, :json_library, Jason - -# Import environment specific config. This must remain at the bottom -# of this file so it overrides the configuration defined above. -import_config "#{config_env()}.exs" diff --git a/apps/game_backend/config/dev.exs b/apps/game_backend/config/dev.exs deleted file mode 100644 index 0313bd35e..000000000 --- a/apps/game_backend/config/dev.exs +++ /dev/null @@ -1,11 +0,0 @@ -import Config - -# Configure your database -config :game_backend, GameBackend.Repo, - username: "postgres", - password: "postgres", - hostname: "localhost", - database: "game_backend_dev", - stacktrace: true, - show_sensitive_data_on_connection_error: true, - pool_size: 10 diff --git a/apps/game_backend/config/test.exs b/apps/game_backend/config/test.exs deleted file mode 100644 index 4dfe506b9..000000000 --- a/apps/game_backend/config/test.exs +++ /dev/null @@ -1,17 +0,0 @@ -import Config - -# Configure your database -# -# The MIX_TEST_PARTITION environment variable can be used -# to provide built-in test partitioning in CI environment. -# Run `mix help test` for more information. -config :game_backend, GameBackend.Repo, - username: "postgres", - password: "postgres", - hostname: "localhost", - database: "game_backend_test#{System.get_env("MIX_TEST_PARTITION")}", - pool: Ecto.Adapters.SQL.Sandbox, - pool_size: 10 - -# Print only warnings and errors during test -config :logger, level: :warning diff --git a/apps/game_client/config/config.exs b/apps/game_client/config/config.exs deleted file mode 100644 index cf7bfda2f..000000000 --- a/apps/game_client/config/config.exs +++ /dev/null @@ -1,62 +0,0 @@ -# This file is responsible for configuring your application -# and its dependencies with the aid of the Config module. -# -# This configuration file is loaded before any dependency and -# is restricted to this project. - -# General application configuration -import Config - -# Configures the endpoint -config :game_client, GameClientWeb.Endpoint, - url: [host: "localhost"], - adapter: Phoenix.Endpoint.Cowboy2Adapter, - render_errors: [ - formats: [html: GameClientWeb.ErrorHTML, json: GameClientWeb.ErrorJSON], - layout: false - ], - pubsub_server: GameClient.PubSub, - live_view: [signing_salt: "XED/NEZq"] - -# Configures the mailer -# -# By default it uses the "Local" adapter which stores the emails -# locally. You can see the emails in your browser, at "/dev/mailbox". -# -# For production it's recommended to configure a different adapter -# at the `config/runtime.exs`. -config :game_client, GameClient.Mailer, adapter: Swoosh.Adapters.Local - -# Configure esbuild (the version is required) -config :esbuild, - version: "0.17.11", - default: [ - args: - ~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*), - cd: Path.expand("../assets", __DIR__), - env: %{"NODE_PATH" => Path.expand("../../../deps", __DIR__)} - ] - -# Configure tailwind (the version is required) -config :tailwind, - version: "3.3.2", - default: [ - args: ~w( - --config=tailwind.config.js - --input=css/app.css - --output=../priv/static/assets/app.css - ), - cd: Path.expand("../assets", __DIR__) - ] - -# Configures Elixir's Logger -config :logger, :console, - format: "$time $metadata[$level] $message\n", - metadata: [:request_id] - -# Use Jason for JSON parsing in Phoenix -config :phoenix, :json_library, Jason - -# Import environment specific config. This must remain at the bottom -# of this file so it overrides the configuration defined above. -import_config "#{config_env()}.exs" diff --git a/apps/game_client/config/dev.exs b/apps/game_client/config/dev.exs deleted file mode 100644 index e4582a03e..000000000 --- a/apps/game_client/config/dev.exs +++ /dev/null @@ -1,72 +0,0 @@ -import Config - -# For development, we disable any cache and enable -# debugging and code reloading. -# -# The watchers configuration can be used to run external -# watchers to your application. For example, we can use it -# to bundle .js and .css sources. -config :game_client, GameClientWeb.Endpoint, - # Binding to loopback ipv4 address prevents access from other machines. - # Change to `ip: {0, 0, 0, 0}` to allow access from other machines. - http: [ip: {127, 0, 0, 1}, port: 3000], - check_origin: false, - code_reloader: true, - debug_errors: true, - secret_key_base: "0zq8I9ztj7kj4cLdFmvduHwXQJJi9yzNUAUFAlKHkdXS/nJkxUvNPjlSdJPDSUf5", - watchers: [ - # esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]}, - # tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]} - ] - -# ## SSL Support -# -# In order to use HTTPS in development, a self-signed -# certificate can be generated by running the following -# Mix task: -# -# mix phx.gen.cert -# -# Run `mix help phx.gen.cert` for more information. -# -# The `http:` config above can be replaced with: -# -# https: [ -# port: 4000, -# cipher_suite: :strong, -# keyfile: "priv/cert/selfsigned_key.pem", -# certfile: "priv/cert/selfsigned.pem" -# ], -# -# If desired, both `http:` and `https:` keys can be -# configured to run both http and https servers on -# different ports. - -# Watch static and templates for browser reloading. -config :game_client, GameClientWeb.Endpoint, - live_reload: [ - patterns: [ - ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$", - ~r"priv/gettext/.*(po)$", - ~r"lib/game_client_web/(controllers|live|components)/.*(ex|heex)$" - ] - ] - -# Enable dev routes for dashboard and mailbox -config :game_client, dev_routes: true - -# Do not include metadata nor timestamps in development logs -config :logger, :console, format: "[$level] $message\n" - -# Set a higher stacktrace during development. Avoid configuring such -# in production as building large stacktraces may be expensive. -config :phoenix, :stacktrace_depth, 20 - -# Initialize plugs at runtime for faster development compilation -config :phoenix, :plug_init_mode, :runtime - -# Include HEEx debug annotations as HTML comments in rendered markup -config :phoenix_live_view, :debug_heex_annotations, true - -# Disable swoosh api client as it is only required for production adapters. -config :swoosh, :api_client, false diff --git a/apps/game_client/config/prod.exs b/apps/game_client/config/prod.exs deleted file mode 100644 index c4bd9cb98..000000000 --- a/apps/game_client/config/prod.exs +++ /dev/null @@ -1,20 +0,0 @@ -import Config - -# Note we also include the path to a cache manifest -# containing the digested version of static files. This -# manifest is generated by the `mix assets.deploy` task, -# which you should run after static files are built and -# before starting your production server. -config :game_client, GameClientWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json" - -# Configures Swoosh API Client -config :swoosh, api_client: Swoosh.ApiClient.Finch, finch_name: GameClient.Finch - -# Disable Swoosh Local Memory Storage -config :swoosh, local: false - -# Do not print debug messages in production -config :logger, level: :info - -# Runtime production configuration, including reading -# of environment variables, is done on config/runtime.exs. diff --git a/apps/game_client/config/runtime.exs b/apps/game_client/config/runtime.exs deleted file mode 100644 index 41c25b5c9..000000000 --- a/apps/game_client/config/runtime.exs +++ /dev/null @@ -1,102 +0,0 @@ -import Config - -# config/runtime.exs is executed for all environments, including -# during releases. It is executed after compilation and before the -# system starts, so it is typically used to load production configuration -# and secrets from environment variables or elsewhere. Do not define -# any compile-time configuration in here, as it won't be applied. -# The block below contains prod specific runtime configuration. - -# ## Using releases -# -# If you use `mix release`, you need to explicitly enable the server -# by passing the PHX_SERVER=true when you start it: -# -# PHX_SERVER=true bin/game_client start -# -# Alternatively, you can use `mix phx.gen.release` to generate a `bin/server` -# script that automatically sets the env var above. -if System.get_env("PHX_SERVER") do - config :game_client, GameClientWeb.Endpoint, server: true -end - -if config_env() == :prod do - # The secret key base is used to sign/encrypt cookies and other secrets. - # A default value is used in config/dev.exs and config/test.exs but you - # want to use a different value for prod and you most likely don't want - # to check this value into version control, so we use an environment - # variable instead. - secret_key_base = - System.get_env("SECRET_KEY_BASE") || - raise """ - environment variable SECRET_KEY_BASE is missing. - You can generate one by calling: mix phx.gen.secret - """ - - host = System.get_env("PHX_HOST") || "example.com" - port = String.to_integer(System.get_env("PORT") || "3000") - - config :game_client, :dns_cluster_query, System.get_env("DNS_CLUSTER_QUERY") - - config :game_client, GameClientWeb.Endpoint, - url: [host: host, port: 443, scheme: "https"], - http: [ - # Enable IPv6 and bind on all interfaces. - # Set it to {0, 0, 0, 0, 0, 0, 0, 1} for local network only access. - # See the documentation on https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html - # for details about using IPv6 vs IPv4 and loopback vs public addresses. - ip: {0, 0, 0, 0, 0, 0, 0, 0}, - port: port - ], - secret_key_base: secret_key_base - - # ## SSL Support - # - # To get SSL working, you will need to add the `https` key - # to your endpoint configuration: - # - # config :game_client, GameClientWeb.Endpoint, - # https: [ - # ..., - # port: 443, - # cipher_suite: :strong, - # keyfile: System.get_env("SOME_APP_SSL_KEY_PATH"), - # certfile: System.get_env("SOME_APP_SSL_CERT_PATH") - # ] - # - # The `cipher_suite` is set to `:strong` to support only the - # latest and more secure SSL ciphers. This means old browsers - # and clients may not be supported. You can set it to - # `:compatible` for wider support. - # - # `:keyfile` and `:certfile` expect an absolute path to the key - # and cert in disk or a relative path inside priv, for example - # "priv/ssl/server.key". For all supported SSL configuration - # options, see https://hexdocs.pm/plug/Plug.SSL.html#configure/1 - # - # We also recommend setting `force_ssl` in your endpoint, ensuring - # no data is ever sent via http, always redirecting to https: - # - # config :game_client, GameClientWeb.Endpoint, - # force_ssl: [hsts: true] - # - # Check `Plug.SSL` for all available options in `force_ssl`. - - # ## Configuring the mailer - # - # In production you need to configure the mailer to use a different adapter. - # Also, you may need to configure the Swoosh API client of your choice if you - # are not using SMTP. Here is an example of the configuration: - # - # config :game_client, GameClient.Mailer, - # adapter: Swoosh.Adapters.Mailgun, - # api_key: System.get_env("MAILGUN_API_KEY"), - # domain: System.get_env("MAILGUN_DOMAIN") - # - # For this example you need include a HTTP client required by Swoosh API client. - # Swoosh supports Hackney and Finch out of the box: - # - # config :swoosh, :api_client, Swoosh.ApiClient.Hackney - # - # See https://hexdocs.pm/swoosh/Swoosh.html#module-installation for details. -end diff --git a/apps/game_client/config/test.exs b/apps/game_client/config/test.exs deleted file mode 100644 index c8575dbc5..000000000 --- a/apps/game_client/config/test.exs +++ /dev/null @@ -1,20 +0,0 @@ -import Config - -# We don't run a server during test. If one is required, -# you can enable the server option below. -config :game_client, GameClientWeb.Endpoint, - http: [ip: {127, 0, 0, 1}, port: 4002], - secret_key_base: "QK4nHna6CWP5+KH2khYXzdIAM2GmQ1B7xwDP6fdjhQro1659xfFvC+69Joj/dKyw", - server: false - -# In test we don't send emails. -config :game_client, GameClient.Mailer, adapter: Swoosh.Adapters.Test - -# Disable swoosh api client as it is only required for production adapters. -config :swoosh, :api_client, false - -# Print only warnings and errors during test -config :logger, level: :warning - -# Initialize plugs at runtime for faster test compilation -config :phoenix, :plug_init_mode, :runtime diff --git a/apps/game_client/priv/static/assets/app.css b/apps/game_client/priv/static/assets/app.css deleted file mode 100644 index 532d7f568..000000000 --- a/apps/game_client/priv/static/assets/app.css +++ /dev/null @@ -1,1662 +0,0 @@ -/* -! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com -*/ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -6. Use the user's configured `sans` font-variation-settings by default. -*/ - -html { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ - -o-tab-size: 4; - tab-size: 4; - /* 3 */ - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - /* 4 */ - font-feature-settings: normal; - /* 5 */ - font-variation-settings: normal; - /* 6 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font family by default. -2. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-size: 1em; - /* 2 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ - -[hidden] { - display: none; -} - -[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - border-radius: 0px; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - line-height: 1.5rem; - --tw-shadow: 0 0 #0000; -} - -[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); - border-color: #2563eb; -} - -input::-moz-placeholder, textarea::-moz-placeholder { - color: #6b7280; - opacity: 1; -} - -input::placeholder,textarea::placeholder { - color: #6b7280; - opacity: 1; -} - -::-webkit-datetime-edit-fields-wrapper { - padding: 0; -} - -::-webkit-date-and-time-value { - min-height: 1.5em; -} - -::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { - padding-top: 0; - padding-bottom: 0; -} - -select { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); - background-position: right 0.5rem center; - background-repeat: no-repeat; - background-size: 1.5em 1.5em; - padding-right: 2.5rem; - -webkit-print-color-adjust: exact; - print-color-adjust: exact; -} - -[multiple] { - background-image: initial; - background-position: initial; - background-repeat: unset; - background-size: initial; - padding-right: 0.75rem; - -webkit-print-color-adjust: unset; - print-color-adjust: unset; -} - -[type='checkbox'],[type='radio'] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - padding: 0; - -webkit-print-color-adjust: exact; - print-color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #2563eb; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - --tw-shadow: 0 0 #0000; -} - -[type='checkbox'] { - border-radius: 0px; -} - -[type='radio'] { - border-radius: 100%; -} - -[type='checkbox']:focus,[type='radio']:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 2px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); -} - -[type='checkbox']:checked,[type='radio']:checked { - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); -} - -[type='radio']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); -} - -[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='checkbox']:indeterminate { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='file'] { - background: unset; - border-color: inherit; - border-width: 0; - border-radius: 0; - padding: 0; - font-size: unset; - line-height: inherit; -} - -[type='file']:focus { - outline: 1px solid ButtonText; - outline: 1px auto -webkit-focus-ring-color; -} - -*, ::before, ::after { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; -} - -::backdrop { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; -} - -.container { - width: 100%; -} - -@media (min-width: 640px) { - .container { - max-width: 640px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 768px; - } -} - -@media (min-width: 1024px) { - .container { - max-width: 1024px; - } -} - -@media (min-width: 1280px) { - .container { - max-width: 1280px; - } -} - -@media (min-width: 1536px) { - .container { - max-width: 1536px; - } -} - -.hero-arrow-left-solid { - --hero-arrow-left-solid: url('data:image/svg+xml;utf8,'); - -webkit-mask: var(--hero-arrow-left-solid); - mask: var(--hero-arrow-left-solid); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - background-color: currentColor; - vertical-align: middle; - display: inline-block; - width: 1.25rem; - height: 1.25rem; -} - -.hero-arrow-path { - --hero-arrow-path: url('data:image/svg+xml;utf8,'); - -webkit-mask: var(--hero-arrow-path); - mask: var(--hero-arrow-path); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - background-color: currentColor; - vertical-align: middle; - display: inline-block; - width: 1.25rem; - height: 1.25rem; -} - -.hero-exclamation-circle-mini { - --hero-exclamation-circle-mini: url('data:image/svg+xml;utf8,'); - -webkit-mask: var(--hero-exclamation-circle-mini); - mask: var(--hero-exclamation-circle-mini); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - background-color: currentColor; - vertical-align: middle; - display: inline-block; - width: 1.25rem; - height: 1.25rem; -} - -.hero-information-circle-mini { - --hero-information-circle-mini: url('data:image/svg+xml;utf8,'); - -webkit-mask: var(--hero-information-circle-mini); - mask: var(--hero-information-circle-mini); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - background-color: currentColor; - vertical-align: middle; - display: inline-block; - width: 1.25rem; - height: 1.25rem; -} - -.hero-x-mark-solid { - --hero-x-mark-solid: url('data:image/svg+xml;utf8,'); - -webkit-mask: var(--hero-x-mark-solid); - mask: var(--hero-x-mark-solid); - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - background-color: currentColor; - vertical-align: middle; - display: inline-block; - width: 1.25rem; - height: 1.25rem; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.static { - position: static; -} - -.fixed { - position: fixed; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.inset-0 { - inset: 0px; -} - -.-inset-y-px { - top: -1px; - bottom: -1px; -} - -.-left-4 { - left: -1rem; -} - -.-right-4 { - right: -1rem; -} - -.left-0 { - left: 0px; -} - -.right-0 { - right: 0px; -} - -.right-1 { - right: 0.25rem; -} - -.right-2 { - right: 0.5rem; -} - -.right-5 { - right: 1.25rem; -} - -.top-1 { - top: 0.25rem; -} - -.top-2 { - top: 0.5rem; -} - -.top-6 { - top: 1.5rem; -} - -.z-50 { - z-index: 50; -} - -.-m-3 { - margin: -0.75rem; -} - -.-my-4 { - margin-top: -1rem; - margin-bottom: -1rem; -} - -.mb-2 { - margin-bottom: 0.5rem; -} - -.mb-20 { - margin-bottom: 5rem; -} - -.mb-4 { - margin-bottom: 1rem; -} - -.mb-6 { - margin-bottom: 1.5rem; -} - -.ml-1 { - margin-left: 0.25rem; -} - -.ml-2 { - margin-left: 0.5rem; -} - -.ml-4 { - margin-left: 1rem; -} - -.mr-2 { - margin-right: 0.5rem; -} - -.mt-0 { - margin-top: 0px; -} - -.mt-0\.5 { - margin-top: 0.125rem; -} - -.mt-10 { - margin-top: 2.5rem; -} - -.mt-11 { - margin-top: 2.75rem; -} - -.mt-14 { - margin-top: 3.5rem; -} - -.mt-16 { - margin-top: 4rem; -} - -.mt-2 { - margin-top: 0.5rem; -} - -.mt-3 { - margin-top: 0.75rem; -} - -.block { - display: block; -} - -.flex { - display: flex; -} - -.table { - display: table; -} - -.contents { - display: contents; -} - -.hidden { - display: none; -} - -.h-3 { - height: 0.75rem; -} - -.h-4 { - height: 1rem; -} - -.h-5 { - height: 1.25rem; -} - -.max-h-\[40rem\] { - max-height: 40rem; -} - -.min-h-\[6rem\] { - min-height: 6rem; -} - -.min-h-full { - min-height: 100%; -} - -.w-1\/4 { - width: 25%; -} - -.w-14 { - width: 3.5rem; -} - -.w-3 { - width: 0.75rem; -} - -.w-4 { - width: 1rem; -} - -.w-5 { - width: 1.25rem; -} - -.w-80 { - width: 20rem; -} - -.w-\[40rem\] { - width: 40rem; -} - -.w-full { - width: 100%; -} - -.max-w-2xl { - max-width: 42rem; -} - -.max-w-3xl { - max-width: 48rem; -} - -.max-w-full { - max-width: 100%; -} - -.flex-none { - flex: none; -} - -.translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-y-4 { - --tw-translate-y: 1rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -@keyframes spin { - to { - transform: rotate(360deg); - } -} - -.animate-spin { - animation: spin 1s linear infinite; -} - -.flex-col { - flex-direction: column; -} - -.items-center { - align-items: center; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.gap-1 { - gap: 0.25rem; -} - -.gap-1\.5 { - gap: 0.375rem; -} - -.gap-3 { - gap: 0.75rem; -} - -.gap-4 { - gap: 1rem; -} - -.gap-6 { - gap: 1.5rem; -} - -.space-y-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(2rem * var(--tw-space-y-reverse)); -} - -.divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} - -.divide-zinc-100 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(244 244 245 / var(--tw-divide-opacity)); -} - -.overflow-hidden { - overflow: hidden; -} - -.overflow-scroll { - overflow: scroll; -} - -.overflow-y-auto { - overflow-y: auto; -} - -.whitespace-nowrap { - white-space: nowrap; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-2xl { - border-radius: 1rem; -} - -.rounded-lg { - border-radius: 0.5rem; -} - -.rounded-md { - border-radius: 0.375rem; -} - -.border { - border-width: 1px; -} - -.border-b { - border-bottom-width: 1px; -} - -.border-t { - border-top-width: 1px; -} - -.border-gray-300 { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.border-rose-400 { - --tw-border-opacity: 1; - border-color: rgb(251 113 133 / var(--tw-border-opacity)); -} - -.border-slate-800 { - --tw-border-opacity: 1; - border-color: rgb(30 41 59 / var(--tw-border-opacity)); -} - -.border-zinc-200 { - --tw-border-opacity: 1; - border-color: rgb(228 228 231 / var(--tw-border-opacity)); -} - -.border-zinc-300 { - --tw-border-opacity: 1; - border-color: rgb(212 212 216 / var(--tw-border-opacity)); -} - -.bg-emerald-50 { - --tw-bg-opacity: 1; - background-color: rgb(236 253 245 / var(--tw-bg-opacity)); -} - -.bg-rose-50 { - --tw-bg-opacity: 1; - background-color: rgb(255 241 242 / var(--tw-bg-opacity)); -} - -.bg-slate-900 { - --tw-bg-opacity: 1; - background-color: rgb(15 23 42 / var(--tw-bg-opacity)); -} - -.bg-slate-950 { - --tw-bg-opacity: 1; - background-color: rgb(2 6 23 / var(--tw-bg-opacity)); -} - -.bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.bg-zinc-50\/90 { - background-color: rgb(250 250 250 / 0.9); -} - -.bg-zinc-900 { - --tw-bg-opacity: 1; - background-color: rgb(24 24 27 / var(--tw-bg-opacity)); -} - -.fill-cyan-900 { - fill: #164e63; -} - -.fill-rose-900 { - fill: #881337; -} - -.p-0 { - padding: 0px; -} - -.p-14 { - padding: 3.5rem; -} - -.p-2 { - padding: 0.5rem; -} - -.p-3 { - padding: 0.75rem; -} - -.p-4 { - padding: 1rem; -} - -.px-10 { - padding-left: 2.5rem; - padding-right: 2.5rem; -} - -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.px-5 { - padding-left: 1.25rem; - padding-right: 1.25rem; -} - -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.py-4 { - padding-top: 1rem; - padding-bottom: 1rem; -} - -.pb-4 { - padding-bottom: 1rem; -} - -.pr-6 { - padding-right: 1.5rem; -} - -.text-left { - text-align: left; -} - -.text-right { - text-align: right; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} - -.font-bold { - font-weight: 700; -} - -.font-light { - font-weight: 300; -} - -.font-medium { - font-weight: 500; -} - -.font-normal { - font-weight: 400; -} - -.font-semibold { - font-weight: 600; -} - -.uppercase { - text-transform: uppercase; -} - -.leading-5 { - line-height: 1.25rem; -} - -.leading-6 { - line-height: 1.5rem; -} - -.leading-8 { - line-height: 2rem; -} - -.text-emerald-800 { - --tw-text-opacity: 1; - color: rgb(6 95 70 / var(--tw-text-opacity)); -} - -.text-gray-200 { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity)); -} - -.text-rose-600 { - --tw-text-opacity: 1; - color: rgb(225 29 72 / var(--tw-text-opacity)); -} - -.text-rose-900 { - --tw-text-opacity: 1; - color: rgb(136 19 55 / var(--tw-text-opacity)); -} - -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.text-yellow-400 { - --tw-text-opacity: 1; - color: rgb(250 204 21 / var(--tw-text-opacity)); -} - -.text-zinc-500 { - --tw-text-opacity: 1; - color: rgb(113 113 122 / var(--tw-text-opacity)); -} - -.text-zinc-600 { - --tw-text-opacity: 1; - color: rgb(82 82 91 / var(--tw-text-opacity)); -} - -.text-zinc-700 { - --tw-text-opacity: 1; - color: rgb(63 63 70 / var(--tw-text-opacity)); -} - -.text-zinc-800 { - --tw-text-opacity: 1; - color: rgb(39 39 42 / var(--tw-text-opacity)); -} - -.text-zinc-900 { - --tw-text-opacity: 1; - color: rgb(24 24 27 / var(--tw-text-opacity)); -} - -.antialiased { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.opacity-0 { - opacity: 0; -} - -.opacity-100 { - opacity: 1; -} - -.opacity-20 { - opacity: 0.2; -} - -.opacity-40 { - opacity: 0.4; -} - -.shadow-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-md { - --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-zinc-700\/10 { - --tw-shadow-color: rgb(63 63 70 / 0.1); - --tw-shadow: var(--tw-shadow-colored); -} - -.outline { - outline-style: solid; -} - -.ring-1 { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.ring-emerald-500 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity)); -} - -.ring-rose-500 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity)); -} - -.ring-zinc-700\/10 { - --tw-ring-color: rgb(63 63 70 / 0.1); -} - -.transition { - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-all { - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-opacity { - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.duration-200 { - transition-duration: 200ms; -} - -.duration-300 { - transition-duration: 300ms; -} - -.ease-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} - -.ease-out { - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -.\[scrollbar-gutter\:stable\] { - scrollbar-gutter: stable; -} - -/* This file is for your main application CSS */ - -.hover\:cursor-pointer:hover { - cursor: pointer; -} - -.hover\:bg-zinc-50:hover { - --tw-bg-opacity: 1; - background-color: rgb(250 250 250 / var(--tw-bg-opacity)); -} - -.hover\:bg-zinc-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(63 63 70 / var(--tw-bg-opacity)); -} - -.hover\:text-zinc-700:hover { - --tw-text-opacity: 1; - color: rgb(63 63 70 / var(--tw-text-opacity)); -} - -.hover\:opacity-40:hover { - opacity: 0.4; -} - -.focus\:border-rose-400:focus { - --tw-border-opacity: 1; - border-color: rgb(251 113 133 / var(--tw-border-opacity)); -} - -.focus\:border-zinc-400:focus { - --tw-border-opacity: 1; - border-color: rgb(161 161 170 / var(--tw-border-opacity)); -} - -.focus\:ring-0:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.active\:text-white\/80:active { - color: rgb(255 255 255 / 0.8); -} - -.group:hover .group-hover\:bg-zinc-50 { - --tw-bg-opacity: 1; - background-color: rgb(250 250 250 / var(--tw-bg-opacity)); -} - -.group:hover .group-hover\:opacity-70 { - opacity: 0.7; -} - -.phx-no-feedback.phx-no-feedback\:hidden { - display: none; -} - -.phx-no-feedback.phx-no-feedback\:border-zinc-300 { - --tw-border-opacity: 1; - border-color: rgb(212 212 216 / var(--tw-border-opacity)); -} - -.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus { - --tw-border-opacity: 1; - border-color: rgb(161 161 170 / var(--tw-border-opacity)); -} - -.phx-no-feedback .phx-no-feedback\:hidden { - display: none; -} - -.phx-no-feedback .phx-no-feedback\:border-zinc-300 { - --tw-border-opacity: 1; - border-color: rgb(212 212 216 / var(--tw-border-opacity)); -} - -.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus { - --tw-border-opacity: 1; - border-color: rgb(161 161 170 / var(--tw-border-opacity)); -} - -.phx-submit-loading.phx-submit-loading\:opacity-75 { - opacity: 0.75; -} - -.phx-submit-loading .phx-submit-loading\:opacity-75 { - opacity: 0.75; -} - -@media (min-width: 640px) { - .sm\:w-96 { - width: 24rem; - } - - .sm\:w-full { - width: 100%; - } - - .sm\:translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-100 { - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:gap-8 { - gap: 2rem; - } - - .sm\:overflow-visible { - overflow: visible; - } - - .sm\:rounded-l-xl { - border-top-left-radius: 0.75rem; - border-bottom-left-radius: 0.75rem; - } - - .sm\:rounded-r-xl { - border-top-right-radius: 0.75rem; - border-bottom-right-radius: 0.75rem; - } - - .sm\:p-6 { - padding: 1.5rem; - } - - .sm\:px-0 { - padding-left: 0px; - padding-right: 0px; - } - - .sm\:text-sm { - font-size: 0.875rem; - line-height: 1.25rem; - } - - .sm\:leading-6 { - line-height: 1.5rem; - } -} - -@media (min-width: 1024px) { - .lg\:py-8 { - padding-top: 2rem; - padding-bottom: 2rem; - } -} diff --git a/apps/game_client/priv/static/assets/app.js b/apps/game_client/priv/static/assets/app.js deleted file mode 100644 index 574fae63d..000000000 --- a/apps/game_client/priv/static/assets/app.js +++ /dev/null @@ -1,43109 +0,0 @@ -(() => { - var __create = Object.create; - var __defProp = Object.defineProperty; - var __defProps = Object.defineProperties; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropDescs = Object.getOwnPropertyDescriptors; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __getOwnPropSymbols = Object.getOwnPropertySymbols; - var __getProtoOf = Object.getPrototypeOf; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __propIsEnum = Object.prototype.propertyIsEnumerable; - var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; - var __spreadValues = (a3, b3) => { - for (var prop in b3 || (b3 = {})) - if (__hasOwnProp.call(b3, prop)) - __defNormalProp(a3, prop, b3[prop]); - if (__getOwnPropSymbols) - for (var prop of __getOwnPropSymbols(b3)) { - if (__propIsEnum.call(b3, prop)) - __defNormalProp(a3, prop, b3[prop]); - } - return a3; - }; - var __spreadProps = (a3, b3) => __defProps(a3, __getOwnPropDescs(b3)); - var __objRest = (source, exclude) => { - var target = {}; - for (var prop in source) - if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) - target[prop] = source[prop]; - if (source != null && __getOwnPropSymbols) - for (var prop of __getOwnPropSymbols(source)) { - if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) - target[prop] = source[prop]; - } - return target; - }; - var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; - var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; - }; - var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod - )); - - // vendor/topbar.js - var require_topbar = __commonJS({ - "vendor/topbar.js"(exports2, module2) { - (function(window2, document2) { - "use strict"; - (function() { - var lastTime = 0; - var vendors = ["ms", "moz", "webkit", "o"]; - for (var x2 = 0; x2 < vendors.length && !window2.requestAnimationFrame; ++x2) { - window2.requestAnimationFrame = window2[vendors[x2] + "RequestAnimationFrame"]; - window2.cancelAnimationFrame = window2[vendors[x2] + "CancelAnimationFrame"] || window2[vendors[x2] + "CancelRequestAnimationFrame"]; - } - if (!window2.requestAnimationFrame) - window2.requestAnimationFrame = function(callback, element) { - var currTime = (/* @__PURE__ */ new Date()).getTime(); - var timeToCall = Math.max(0, 16 - (currTime - lastTime)); - var id = window2.setTimeout(function() { - callback(currTime + timeToCall); - }, timeToCall); - lastTime = currTime + timeToCall; - return id; - }; - if (!window2.cancelAnimationFrame) - window2.cancelAnimationFrame = function(id) { - clearTimeout(id); - }; - })(); - var canvas, currentProgress, showing, progressTimerId = null, fadeTimerId = null, delayTimerId = null, addEvent = function(elem, type, handler) { - if (elem.addEventListener) - elem.addEventListener(type, handler, false); - else if (elem.attachEvent) - elem.attachEvent("on" + type, handler); - else - elem["on" + type] = handler; - }, options = { - autoRun: true, - barThickness: 3, - barColors: { - 0: "rgba(26, 188, 156, .9)", - ".25": "rgba(52, 152, 219, .9)", - ".50": "rgba(241, 196, 15, .9)", - ".75": "rgba(230, 126, 34, .9)", - "1.0": "rgba(211, 84, 0, .9)" - }, - shadowBlur: 10, - shadowColor: "rgba(0, 0, 0, .6)", - className: null - }, repaint = function() { - canvas.width = window2.innerWidth; - canvas.height = options.barThickness * 5; - var ctx = canvas.getContext("2d"); - ctx.shadowBlur = options.shadowBlur; - ctx.shadowColor = options.shadowColor; - var lineGradient = ctx.createLinearGradient(0, 0, canvas.width, 0); - for (var stop in options.barColors) - lineGradient.addColorStop(stop, options.barColors[stop]); - ctx.lineWidth = options.barThickness; - ctx.beginPath(); - ctx.moveTo(0, options.barThickness / 2); - ctx.lineTo( - Math.ceil(currentProgress * canvas.width), - options.barThickness / 2 - ); - ctx.strokeStyle = lineGradient; - ctx.stroke(); - }, createCanvas = function() { - canvas = document2.createElement("canvas"); - var style = canvas.style; - style.position = "fixed"; - style.top = style.left = style.right = style.margin = style.padding = 0; - style.zIndex = 100001; - style.display = "none"; - if (options.className) - canvas.classList.add(options.className); - document2.body.appendChild(canvas); - addEvent(window2, "resize", repaint); - }, topbar2 = { - config: function(opts) { - for (var key in opts) - if (options.hasOwnProperty(key)) - options[key] = opts[key]; - }, - show: function(delay) { - if (showing) - return; - if (delay) { - if (delayTimerId) - return; - delayTimerId = setTimeout(() => topbar2.show(), delay); - } else { - showing = true; - if (fadeTimerId !== null) - window2.cancelAnimationFrame(fadeTimerId); - if (!canvas) - createCanvas(); - canvas.style.opacity = 1; - canvas.style.display = "block"; - topbar2.progress(0); - if (options.autoRun) { - (function loop() { - progressTimerId = window2.requestAnimationFrame(loop); - topbar2.progress( - "+" + 0.05 * Math.pow(1 - Math.sqrt(currentProgress), 2) - ); - })(); - } - } - }, - progress: function(to) { - if (typeof to === "undefined") - return currentProgress; - if (typeof to === "string") { - to = (to.indexOf("+") >= 0 || to.indexOf("-") >= 0 ? currentProgress : 0) + parseFloat(to); - } - currentProgress = to > 1 ? 1 : to; - repaint(); - return currentProgress; - }, - hide: function() { - clearTimeout(delayTimerId); - delayTimerId = null; - if (!showing) - return; - showing = false; - if (progressTimerId != null) { - window2.cancelAnimationFrame(progressTimerId); - progressTimerId = null; - } - (function loop() { - if (topbar2.progress("+.1") >= 1) { - canvas.style.opacity -= 0.05; - if (canvas.style.opacity <= 0.05) { - canvas.style.display = "none"; - fadeTimerId = null; - return; - } - } - fadeTimerId = window2.requestAnimationFrame(loop); - })(); - } - }; - if (typeof module2 === "object" && typeof module2.exports === "object") { - module2.exports = topbar2; - } else if (typeof define === "function" && define.amd) { - define(function() { - return topbar2; - }); - } else { - this.topbar = topbar2; - } - }).call(exports2, window, document); - } - }); - - // node_modules/eventemitter3/index.js - var require_eventemitter3 = __commonJS({ - "node_modules/eventemitter3/index.js"(exports2, module2) { - "use strict"; - var has = Object.prototype.hasOwnProperty; - var prefix = "~"; - function Events() { - } - if (Object.create) { - Events.prototype = /* @__PURE__ */ Object.create(null); - if (!new Events().__proto__) - prefix = false; - } - function EE(fn, context2, once) { - this.fn = fn; - this.context = context2; - this.once = once || false; - } - function addListener(emitter, event, fn, context2, once) { - if (typeof fn !== "function") { - throw new TypeError("The listener must be a function"); - } - var listener = new EE(fn, context2 || emitter, once), evt = prefix ? prefix + event : event; - if (!emitter._events[evt]) - emitter._events[evt] = listener, emitter._eventsCount++; - else if (!emitter._events[evt].fn) - emitter._events[evt].push(listener); - else - emitter._events[evt] = [emitter._events[evt], listener]; - return emitter; - } - function clearEvent(emitter, evt) { - if (--emitter._eventsCount === 0) - emitter._events = new Events(); - else - delete emitter._events[evt]; - } - function EventEmitter() { - this._events = new Events(); - this._eventsCount = 0; - } - EventEmitter.prototype.eventNames = function eventNames() { - var names = [], events, name; - if (this._eventsCount === 0) - return names; - for (name in events = this._events) { - if (has.call(events, name)) - names.push(prefix ? name.slice(1) : name); - } - if (Object.getOwnPropertySymbols) { - return names.concat(Object.getOwnPropertySymbols(events)); - } - return names; - }; - EventEmitter.prototype.listeners = function listeners(event) { - var evt = prefix ? prefix + event : event, handlers = this._events[evt]; - if (!handlers) - return []; - if (handlers.fn) - return [handlers.fn]; - for (var i2 = 0, l2 = handlers.length, ee = new Array(l2); i2 < l2; i2++) { - ee[i2] = handlers[i2].fn; - } - return ee; - }; - EventEmitter.prototype.listenerCount = function listenerCount(event) { - var evt = prefix ? prefix + event : event, listeners = this._events[evt]; - if (!listeners) - return 0; - if (listeners.fn) - return 1; - return listeners.length; - }; - EventEmitter.prototype.emit = function emit(event, a1, a22, a3, a4, a5) { - var evt = prefix ? prefix + event : event; - if (!this._events[evt]) - return false; - var listeners = this._events[evt], len = arguments.length, args, i2; - if (listeners.fn) { - if (listeners.once) - this.removeListener(event, listeners.fn, void 0, true); - switch (len) { - case 1: - return listeners.fn.call(listeners.context), true; - case 2: - return listeners.fn.call(listeners.context, a1), true; - case 3: - return listeners.fn.call(listeners.context, a1, a22), true; - case 4: - return listeners.fn.call(listeners.context, a1, a22, a3), true; - case 5: - return listeners.fn.call(listeners.context, a1, a22, a3, a4), true; - case 6: - return listeners.fn.call(listeners.context, a1, a22, a3, a4, a5), true; - } - for (i2 = 1, args = new Array(len - 1); i2 < len; i2++) { - args[i2 - 1] = arguments[i2]; - } - listeners.fn.apply(listeners.context, args); - } else { - var length = listeners.length, j2; - for (i2 = 0; i2 < length; i2++) { - if (listeners[i2].once) - this.removeListener(event, listeners[i2].fn, void 0, true); - switch (len) { - case 1: - listeners[i2].fn.call(listeners[i2].context); - break; - case 2: - listeners[i2].fn.call(listeners[i2].context, a1); - break; - case 3: - listeners[i2].fn.call(listeners[i2].context, a1, a22); - break; - case 4: - listeners[i2].fn.call(listeners[i2].context, a1, a22, a3); - break; - default: - if (!args) - for (j2 = 1, args = new Array(len - 1); j2 < len; j2++) { - args[j2 - 1] = arguments[j2]; - } - listeners[i2].fn.apply(listeners[i2].context, args); - } - } - } - return true; - }; - EventEmitter.prototype.on = function on(event, fn, context2) { - return addListener(this, event, fn, context2, false); - }; - EventEmitter.prototype.once = function once(event, fn, context2) { - return addListener(this, event, fn, context2, true); - }; - EventEmitter.prototype.removeListener = function removeListener(event, fn, context2, once) { - var evt = prefix ? prefix + event : event; - if (!this._events[evt]) - return this; - if (!fn) { - clearEvent(this, evt); - return this; - } - var listeners = this._events[evt]; - if (listeners.fn) { - if (listeners.fn === fn && (!once || listeners.once) && (!context2 || listeners.context === context2)) { - clearEvent(this, evt); - } - } else { - for (var i2 = 0, events = [], length = listeners.length; i2 < length; i2++) { - if (listeners[i2].fn !== fn || once && !listeners[i2].once || context2 && listeners[i2].context !== context2) { - events.push(listeners[i2]); - } - } - if (events.length) - this._events[evt] = events.length === 1 ? events[0] : events; - else - clearEvent(this, evt); - } - return this; - }; - EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { - var evt; - if (event) { - evt = prefix ? prefix + event : event; - if (this._events[evt]) - clearEvent(this, evt); - } else { - this._events = new Events(); - this._eventsCount = 0; - } - return this; - }; - EventEmitter.prototype.off = EventEmitter.prototype.removeListener; - EventEmitter.prototype.addListener = EventEmitter.prototype.on; - EventEmitter.prefixed = prefix; - EventEmitter.EventEmitter = EventEmitter; - if ("undefined" !== typeof module2) { - module2.exports = EventEmitter; - } - } - }); - - // node_modules/earcut/src/earcut.js - var require_earcut = __commonJS({ - "node_modules/earcut/src/earcut.js"(exports2, module2) { - "use strict"; - module2.exports = earcut; - module2.exports.default = earcut; - function earcut(data, holeIndices, dim) { - dim = dim || 2; - var hasHoles = holeIndices && holeIndices.length, outerLen = hasHoles ? holeIndices[0] * dim : data.length, outerNode = linkedList(data, 0, outerLen, dim, true), triangles = []; - if (!outerNode || outerNode.next === outerNode.prev) - return triangles; - var minX, minY, maxX, maxY, x2, y2, invSize; - if (hasHoles) - outerNode = eliminateHoles(data, holeIndices, outerNode, dim); - if (data.length > 80 * dim) { - minX = maxX = data[0]; - minY = maxY = data[1]; - for (var i2 = dim; i2 < outerLen; i2 += dim) { - x2 = data[i2]; - y2 = data[i2 + 1]; - if (x2 < minX) - minX = x2; - if (y2 < minY) - minY = y2; - if (x2 > maxX) - maxX = x2; - if (y2 > maxY) - maxY = y2; - } - invSize = Math.max(maxX - minX, maxY - minY); - invSize = invSize !== 0 ? 32767 / invSize : 0; - } - earcutLinked(outerNode, triangles, dim, minX, minY, invSize, 0); - return triangles; - } - function linkedList(data, start, end, dim, clockwise) { - var i2, last; - if (clockwise === signedArea(data, start, end, dim) > 0) { - for (i2 = start; i2 < end; i2 += dim) - last = insertNode(i2, data[i2], data[i2 + 1], last); - } else { - for (i2 = end - dim; i2 >= start; i2 -= dim) - last = insertNode(i2, data[i2], data[i2 + 1], last); - } - if (last && equals(last, last.next)) { - removeNode(last); - last = last.next; - } - return last; - } - function filterPoints(start, end) { - if (!start) - return start; - if (!end) - end = start; - var p2 = start, again; - do { - again = false; - if (!p2.steiner && (equals(p2, p2.next) || area(p2.prev, p2, p2.next) === 0)) { - removeNode(p2); - p2 = end = p2.prev; - if (p2 === p2.next) - break; - again = true; - } else { - p2 = p2.next; - } - } while (again || p2 !== end); - return end; - } - function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) { - if (!ear) - return; - if (!pass && invSize) - indexCurve(ear, minX, minY, invSize); - var stop = ear, prev, next; - while (ear.prev !== ear.next) { - prev = ear.prev; - next = ear.next; - if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) { - triangles.push(prev.i / dim | 0); - triangles.push(ear.i / dim | 0); - triangles.push(next.i / dim | 0); - removeNode(ear); - ear = next.next; - stop = next.next; - continue; - } - ear = next; - if (ear === stop) { - if (!pass) { - earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1); - } else if (pass === 1) { - ear = cureLocalIntersections(filterPoints(ear), triangles, dim); - earcutLinked(ear, triangles, dim, minX, minY, invSize, 2); - } else if (pass === 2) { - splitEarcut(ear, triangles, dim, minX, minY, invSize); - } - break; - } - } - } - function isEar(ear) { - var a3 = ear.prev, b3 = ear, c3 = ear.next; - if (area(a3, b3, c3) >= 0) - return false; - var ax = a3.x, bx = b3.x, cx = c3.x, ay = a3.y, by = b3.y, cy = c3.y; - var x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy; - var p2 = c3.next; - while (p2 !== a3) { - if (p2.x >= x0 && p2.x <= x1 && p2.y >= y0 && p2.y <= y1 && pointInTriangle(ax, ay, bx, by, cx, cy, p2.x, p2.y) && area(p2.prev, p2, p2.next) >= 0) - return false; - p2 = p2.next; - } - return true; - } - function isEarHashed(ear, minX, minY, invSize) { - var a3 = ear.prev, b3 = ear, c3 = ear.next; - if (area(a3, b3, c3) >= 0) - return false; - var ax = a3.x, bx = b3.x, cx = c3.x, ay = a3.y, by = b3.y, cy = c3.y; - var x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy; - var minZ = zOrder(x0, y0, minX, minY, invSize), maxZ = zOrder(x1, y1, minX, minY, invSize); - var p2 = ear.prevZ, n2 = ear.nextZ; - while (p2 && p2.z >= minZ && n2 && n2.z <= maxZ) { - if (p2.x >= x0 && p2.x <= x1 && p2.y >= y0 && p2.y <= y1 && p2 !== a3 && p2 !== c3 && pointInTriangle(ax, ay, bx, by, cx, cy, p2.x, p2.y) && area(p2.prev, p2, p2.next) >= 0) - return false; - p2 = p2.prevZ; - if (n2.x >= x0 && n2.x <= x1 && n2.y >= y0 && n2.y <= y1 && n2 !== a3 && n2 !== c3 && pointInTriangle(ax, ay, bx, by, cx, cy, n2.x, n2.y) && area(n2.prev, n2, n2.next) >= 0) - return false; - n2 = n2.nextZ; - } - while (p2 && p2.z >= minZ) { - if (p2.x >= x0 && p2.x <= x1 && p2.y >= y0 && p2.y <= y1 && p2 !== a3 && p2 !== c3 && pointInTriangle(ax, ay, bx, by, cx, cy, p2.x, p2.y) && area(p2.prev, p2, p2.next) >= 0) - return false; - p2 = p2.prevZ; - } - while (n2 && n2.z <= maxZ) { - if (n2.x >= x0 && n2.x <= x1 && n2.y >= y0 && n2.y <= y1 && n2 !== a3 && n2 !== c3 && pointInTriangle(ax, ay, bx, by, cx, cy, n2.x, n2.y) && area(n2.prev, n2, n2.next) >= 0) - return false; - n2 = n2.nextZ; - } - return true; - } - function cureLocalIntersections(start, triangles, dim) { - var p2 = start; - do { - var a3 = p2.prev, b3 = p2.next.next; - if (!equals(a3, b3) && intersects(a3, p2, p2.next, b3) && locallyInside(a3, b3) && locallyInside(b3, a3)) { - triangles.push(a3.i / dim | 0); - triangles.push(p2.i / dim | 0); - triangles.push(b3.i / dim | 0); - removeNode(p2); - removeNode(p2.next); - p2 = start = b3; - } - p2 = p2.next; - } while (p2 !== start); - return filterPoints(p2); - } - function splitEarcut(start, triangles, dim, minX, minY, invSize) { - var a3 = start; - do { - var b3 = a3.next.next; - while (b3 !== a3.prev) { - if (a3.i !== b3.i && isValidDiagonal(a3, b3)) { - var c3 = splitPolygon(a3, b3); - a3 = filterPoints(a3, a3.next); - c3 = filterPoints(c3, c3.next); - earcutLinked(a3, triangles, dim, minX, minY, invSize, 0); - earcutLinked(c3, triangles, dim, minX, minY, invSize, 0); - return; - } - b3 = b3.next; - } - a3 = a3.next; - } while (a3 !== start); - } - function eliminateHoles(data, holeIndices, outerNode, dim) { - var queue = [], i2, len, start, end, list; - for (i2 = 0, len = holeIndices.length; i2 < len; i2++) { - start = holeIndices[i2] * dim; - end = i2 < len - 1 ? holeIndices[i2 + 1] * dim : data.length; - list = linkedList(data, start, end, dim, false); - if (list === list.next) - list.steiner = true; - queue.push(getLeftmost(list)); - } - queue.sort(compareX); - for (i2 = 0; i2 < queue.length; i2++) { - outerNode = eliminateHole(queue[i2], outerNode); - } - return outerNode; - } - function compareX(a3, b3) { - return a3.x - b3.x; - } - function eliminateHole(hole, outerNode) { - var bridge = findHoleBridge(hole, outerNode); - if (!bridge) { - return outerNode; - } - var bridgeReverse = splitPolygon(bridge, hole); - filterPoints(bridgeReverse, bridgeReverse.next); - return filterPoints(bridge, bridge.next); - } - function findHoleBridge(hole, outerNode) { - var p2 = outerNode, hx = hole.x, hy = hole.y, qx = -Infinity, m2; - do { - if (hy <= p2.y && hy >= p2.next.y && p2.next.y !== p2.y) { - var x2 = p2.x + (hy - p2.y) * (p2.next.x - p2.x) / (p2.next.y - p2.y); - if (x2 <= hx && x2 > qx) { - qx = x2; - m2 = p2.x < p2.next.x ? p2 : p2.next; - if (x2 === hx) - return m2; - } - } - p2 = p2.next; - } while (p2 !== outerNode); - if (!m2) - return null; - var stop = m2, mx = m2.x, my = m2.y, tanMin = Infinity, tan; - p2 = m2; - do { - if (hx >= p2.x && p2.x >= mx && hx !== p2.x && pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p2.x, p2.y)) { - tan = Math.abs(hy - p2.y) / (hx - p2.x); - if (locallyInside(p2, hole) && (tan < tanMin || tan === tanMin && (p2.x > m2.x || p2.x === m2.x && sectorContainsSector(m2, p2)))) { - m2 = p2; - tanMin = tan; - } - } - p2 = p2.next; - } while (p2 !== stop); - return m2; - } - function sectorContainsSector(m2, p2) { - return area(m2.prev, m2, p2.prev) < 0 && area(p2.next, m2, m2.next) < 0; - } - function indexCurve(start, minX, minY, invSize) { - var p2 = start; - do { - if (p2.z === 0) - p2.z = zOrder(p2.x, p2.y, minX, minY, invSize); - p2.prevZ = p2.prev; - p2.nextZ = p2.next; - p2 = p2.next; - } while (p2 !== start); - p2.prevZ.nextZ = null; - p2.prevZ = null; - sortLinked(p2); - } - function sortLinked(list) { - var i2, p2, q, e3, tail, numMerges, pSize, qSize, inSize = 1; - do { - p2 = list; - list = null; - tail = null; - numMerges = 0; - while (p2) { - numMerges++; - q = p2; - pSize = 0; - for (i2 = 0; i2 < inSize; i2++) { - pSize++; - q = q.nextZ; - if (!q) - break; - } - qSize = inSize; - while (pSize > 0 || qSize > 0 && q) { - if (pSize !== 0 && (qSize === 0 || !q || p2.z <= q.z)) { - e3 = p2; - p2 = p2.nextZ; - pSize--; - } else { - e3 = q; - q = q.nextZ; - qSize--; - } - if (tail) - tail.nextZ = e3; - else - list = e3; - e3.prevZ = tail; - tail = e3; - } - p2 = q; - } - tail.nextZ = null; - inSize *= 2; - } while (numMerges > 1); - return list; - } - function zOrder(x2, y2, minX, minY, invSize) { - x2 = (x2 - minX) * invSize | 0; - y2 = (y2 - minY) * invSize | 0; - x2 = (x2 | x2 << 8) & 16711935; - x2 = (x2 | x2 << 4) & 252645135; - x2 = (x2 | x2 << 2) & 858993459; - x2 = (x2 | x2 << 1) & 1431655765; - y2 = (y2 | y2 << 8) & 16711935; - y2 = (y2 | y2 << 4) & 252645135; - y2 = (y2 | y2 << 2) & 858993459; - y2 = (y2 | y2 << 1) & 1431655765; - return x2 | y2 << 1; - } - function getLeftmost(start) { - var p2 = start, leftmost = start; - do { - if (p2.x < leftmost.x || p2.x === leftmost.x && p2.y < leftmost.y) - leftmost = p2; - p2 = p2.next; - } while (p2 !== start); - return leftmost; - } - function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) { - return (cx - px) * (ay - py) >= (ax - px) * (cy - py) && (ax - px) * (by - py) >= (bx - px) * (ay - py) && (bx - px) * (cy - py) >= (cx - px) * (by - py); - } - function isValidDiagonal(a3, b3) { - return a3.next.i !== b3.i && a3.prev.i !== b3.i && !intersectsPolygon(a3, b3) && // dones't intersect other edges - (locallyInside(a3, b3) && locallyInside(b3, a3) && middleInside(a3, b3) && // locally visible - (area(a3.prev, a3, b3.prev) || area(a3, b3.prev, b3)) || // does not create opposite-facing sectors - equals(a3, b3) && area(a3.prev, a3, a3.next) > 0 && area(b3.prev, b3, b3.next) > 0); - } - function area(p2, q, r2) { - return (q.y - p2.y) * (r2.x - q.x) - (q.x - p2.x) * (r2.y - q.y); - } - function equals(p1, p2) { - return p1.x === p2.x && p1.y === p2.y; - } - function intersects(p1, q1, p2, q2) { - var o1 = sign2(area(p1, q1, p2)); - var o2 = sign2(area(p1, q1, q2)); - var o3 = sign2(area(p2, q2, p1)); - var o4 = sign2(area(p2, q2, q1)); - if (o1 !== o2 && o3 !== o4) - return true; - if (o1 === 0 && onSegment(p1, p2, q1)) - return true; - if (o2 === 0 && onSegment(p1, q2, q1)) - return true; - if (o3 === 0 && onSegment(p2, p1, q2)) - return true; - if (o4 === 0 && onSegment(p2, q1, q2)) - return true; - return false; - } - function onSegment(p2, q, r2) { - return q.x <= Math.max(p2.x, r2.x) && q.x >= Math.min(p2.x, r2.x) && q.y <= Math.max(p2.y, r2.y) && q.y >= Math.min(p2.y, r2.y); - } - function sign2(num) { - return num > 0 ? 1 : num < 0 ? -1 : 0; - } - function intersectsPolygon(a3, b3) { - var p2 = a3; - do { - if (p2.i !== a3.i && p2.next.i !== a3.i && p2.i !== b3.i && p2.next.i !== b3.i && intersects(p2, p2.next, a3, b3)) - return true; - p2 = p2.next; - } while (p2 !== a3); - return false; - } - function locallyInside(a3, b3) { - return area(a3.prev, a3, a3.next) < 0 ? area(a3, b3, a3.next) >= 0 && area(a3, a3.prev, b3) >= 0 : area(a3, b3, a3.prev) < 0 || area(a3, a3.next, b3) < 0; - } - function middleInside(a3, b3) { - var p2 = a3, inside = false, px = (a3.x + b3.x) / 2, py = (a3.y + b3.y) / 2; - do { - if (p2.y > py !== p2.next.y > py && p2.next.y !== p2.y && px < (p2.next.x - p2.x) * (py - p2.y) / (p2.next.y - p2.y) + p2.x) - inside = !inside; - p2 = p2.next; - } while (p2 !== a3); - return inside; - } - function splitPolygon(a3, b3) { - var a22 = new Node2(a3.i, a3.x, a3.y), b22 = new Node2(b3.i, b3.x, b3.y), an = a3.next, bp = b3.prev; - a3.next = b3; - b3.prev = a3; - a22.next = an; - an.prev = a22; - b22.next = a22; - a22.prev = b22; - bp.next = b22; - b22.prev = bp; - return b22; - } - function insertNode(i2, x2, y2, last) { - var p2 = new Node2(i2, x2, y2); - if (!last) { - p2.prev = p2; - p2.next = p2; - } else { - p2.next = last.next; - p2.prev = last; - last.next.prev = p2; - last.next = p2; - } - return p2; - } - function removeNode(p2) { - p2.next.prev = p2.prev; - p2.prev.next = p2.next; - if (p2.prevZ) - p2.prevZ.nextZ = p2.nextZ; - if (p2.nextZ) - p2.nextZ.prevZ = p2.prevZ; - } - function Node2(i2, x2, y2) { - this.i = i2; - this.x = x2; - this.y = y2; - this.prev = null; - this.next = null; - this.z = 0; - this.prevZ = null; - this.nextZ = null; - this.steiner = false; - } - earcut.deviation = function(data, holeIndices, dim, triangles) { - var hasHoles = holeIndices && holeIndices.length; - var outerLen = hasHoles ? holeIndices[0] * dim : data.length; - var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim)); - if (hasHoles) { - for (var i2 = 0, len = holeIndices.length; i2 < len; i2++) { - var start = holeIndices[i2] * dim; - var end = i2 < len - 1 ? holeIndices[i2 + 1] * dim : data.length; - polygonArea -= Math.abs(signedArea(data, start, end, dim)); - } - } - var trianglesArea = 0; - for (i2 = 0; i2 < triangles.length; i2 += 3) { - var a3 = triangles[i2] * dim; - var b3 = triangles[i2 + 1] * dim; - var c3 = triangles[i2 + 2] * dim; - trianglesArea += Math.abs( - (data[a3] - data[c3]) * (data[b3 + 1] - data[a3 + 1]) - (data[a3] - data[b3]) * (data[c3 + 1] - data[a3 + 1]) - ); - } - return polygonArea === 0 && trianglesArea === 0 ? 0 : Math.abs((trianglesArea - polygonArea) / polygonArea); - }; - function signedArea(data, start, end, dim) { - var sum = 0; - for (var i2 = start, j2 = end - dim; i2 < end; i2 += dim) { - sum += (data[j2] - data[i2]) * (data[i2 + 1] + data[j2 + 1]); - j2 = i2; - } - return sum; - } - earcut.flatten = function(data) { - var dim = data[0][0].length, result = { vertices: [], holes: [], dimensions: dim }, holeIndex = 0; - for (var i2 = 0; i2 < data.length; i2++) { - for (var j2 = 0; j2 < data[i2].length; j2++) { - for (var d3 = 0; d3 < dim; d3++) - result.vertices.push(data[i2][j2][d3]); - } - if (i2 > 0) { - holeIndex += data[i2 - 1].length; - result.holes.push(holeIndex); - } - } - return result; - }; - } - }); - - // node_modules/punycode/punycode.js - var require_punycode = __commonJS({ - "node_modules/punycode/punycode.js"(exports2, module2) { - (function(root) { - var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; - var freeModule = typeof module2 == "object" && module2 && !module2.nodeType && module2; - var freeGlobal = typeof global == "object" && global; - if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) { - root = freeGlobal; - } - var punycode, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = "-", regexPunycode = /^xn--/, regexNonASCII = /[^\x20-\x7E]/, regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, errors = { - "overflow": "Overflow: input needs wider integers to process", - "not-basic": "Illegal input >= 0x80 (not a basic code point)", - "invalid-input": "Invalid input" - }, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = String.fromCharCode, key; - function error(type) { - throw new RangeError(errors[type]); - } - function map4(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - function mapDomain(string, fn) { - var parts = string.split("@"); - var result = ""; - if (parts.length > 1) { - result = parts[0] + "@"; - string = parts[1]; - } - string = string.replace(regexSeparators, "."); - var labels = string.split("."); - var encoded = map4(labels, fn).join("."); - return result + encoded; - } - function ucs2decode(string) { - var output = [], counter = 0, length = string.length, value, extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 55296 && value <= 56319 && counter < length) { - extra = string.charCodeAt(counter++); - if ((extra & 64512) == 56320) { - output.push(((value & 1023) << 10) + (extra & 1023) + 65536); - } else { - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - function ucs2encode(array) { - return map4(array, function(value) { - var output = ""; - if (value > 65535) { - value -= 65536; - output += stringFromCharCode(value >>> 10 & 1023 | 55296); - value = 56320 | value & 1023; - } - output += stringFromCharCode(value); - return output; - }).join(""); - } - function basicToDigit(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - } - function digitToBasic(digit, flag) { - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - } - function adapt(delta, numPoints, firstTime) { - var k2 = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; delta > baseMinusTMin * tMax >> 1; k2 += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k2 + (baseMinusTMin + 1) * delta / (delta + skew)); - } - function decode(input) { - var output = [], inputLength = input.length, out, i2 = 0, n2 = initialN, bias = initialBias, basic, j2, index, oldi, w2, k2, digit, t2, baseMinusT; - basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - for (j2 = 0; j2 < basic; ++j2) { - if (input.charCodeAt(j2) >= 128) { - error("not-basic"); - } - output.push(input.charCodeAt(j2)); - } - for (index = basic > 0 ? basic + 1 : 0; index < inputLength; ) { - for (oldi = i2, w2 = 1, k2 = base; ; k2 += base) { - if (index >= inputLength) { - error("invalid-input"); - } - digit = basicToDigit(input.charCodeAt(index++)); - if (digit >= base || digit > floor((maxInt - i2) / w2)) { - error("overflow"); - } - i2 += digit * w2; - t2 = k2 <= bias ? tMin : k2 >= bias + tMax ? tMax : k2 - bias; - if (digit < t2) { - break; - } - baseMinusT = base - t2; - if (w2 > floor(maxInt / baseMinusT)) { - error("overflow"); - } - w2 *= baseMinusT; - } - out = output.length + 1; - bias = adapt(i2 - oldi, out, oldi == 0); - if (floor(i2 / out) > maxInt - n2) { - error("overflow"); - } - n2 += floor(i2 / out); - i2 %= out; - output.splice(i2++, 0, n2); - } - return ucs2encode(output); - } - function encode(input) { - var n2, delta, handledCPCount, basicLength, bias, j2, m2, q, k2, t2, currentValue, output = [], inputLength, handledCPCountPlusOne, baseMinusT, qMinusT; - input = ucs2decode(input); - inputLength = input.length; - n2 = initialN; - delta = 0; - bias = initialBias; - for (j2 = 0; j2 < inputLength; ++j2) { - currentValue = input[j2]; - if (currentValue < 128) { - output.push(stringFromCharCode(currentValue)); - } - } - handledCPCount = basicLength = output.length; - if (basicLength) { - output.push(delimiter); - } - while (handledCPCount < inputLength) { - for (m2 = maxInt, j2 = 0; j2 < inputLength; ++j2) { - currentValue = input[j2]; - if (currentValue >= n2 && currentValue < m2) { - m2 = currentValue; - } - } - handledCPCountPlusOne = handledCPCount + 1; - if (m2 - n2 > floor((maxInt - delta) / handledCPCountPlusOne)) { - error("overflow"); - } - delta += (m2 - n2) * handledCPCountPlusOne; - n2 = m2; - for (j2 = 0; j2 < inputLength; ++j2) { - currentValue = input[j2]; - if (currentValue < n2 && ++delta > maxInt) { - error("overflow"); - } - if (currentValue == n2) { - for (q = delta, k2 = base; ; k2 += base) { - t2 = k2 <= bias ? tMin : k2 >= bias + tMax ? tMax : k2 - bias; - if (q < t2) { - break; - } - qMinusT = q - t2; - baseMinusT = base - t2; - output.push( - stringFromCharCode(digitToBasic(t2 + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - ++delta; - ++n2; - } - return output.join(""); - } - function toUnicode(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; - }); - } - function toASCII(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) ? "xn--" + encode(string) : string; - }); - } - punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - "version": "1.4.1", - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - "ucs2": { - "decode": ucs2decode, - "encode": ucs2encode - }, - "decode": decode, - "encode": encode, - "toASCII": toASCII, - "toUnicode": toUnicode - }; - if (typeof define == "function" && typeof define.amd == "object" && define.amd) { - define("punycode", function() { - return punycode; - }); - } else if (freeExports && freeModule) { - if (module2.exports == freeExports) { - freeModule.exports = punycode; - } else { - for (key in punycode) { - punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); - } - } - } else { - root.punycode = punycode; - } - })(exports2); - } - }); - - // node_modules/has-symbols/shams.js - var require_shams = __commonJS({ - "node_modules/has-symbols/shams.js"(exports2, module2) { - "use strict"; - module2.exports = function hasSymbols() { - if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") { - return false; - } - if (typeof Symbol.iterator === "symbol") { - return true; - } - var obj = {}; - var sym = Symbol("test"); - var symObj = Object(sym); - if (typeof sym === "string") { - return false; - } - if (Object.prototype.toString.call(sym) !== "[object Symbol]") { - return false; - } - if (Object.prototype.toString.call(symObj) !== "[object Symbol]") { - return false; - } - var symVal = 42; - obj[sym] = symVal; - for (sym in obj) { - return false; - } - if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) { - return false; - } - if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) { - return false; - } - var syms = Object.getOwnPropertySymbols(obj); - if (syms.length !== 1 || syms[0] !== sym) { - return false; - } - if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { - return false; - } - if (typeof Object.getOwnPropertyDescriptor === "function") { - var descriptor = Object.getOwnPropertyDescriptor(obj, sym); - if (descriptor.value !== symVal || descriptor.enumerable !== true) { - return false; - } - } - return true; - }; - } - }); - - // node_modules/has-symbols/index.js - var require_has_symbols = __commonJS({ - "node_modules/has-symbols/index.js"(exports2, module2) { - "use strict"; - var origSymbol = typeof Symbol !== "undefined" && Symbol; - var hasSymbolSham = require_shams(); - module2.exports = function hasNativeSymbols() { - if (typeof origSymbol !== "function") { - return false; - } - if (typeof Symbol !== "function") { - return false; - } - if (typeof origSymbol("foo") !== "symbol") { - return false; - } - if (typeof Symbol("bar") !== "symbol") { - return false; - } - return hasSymbolSham(); - }; - } - }); - - // node_modules/has-proto/index.js - var require_has_proto = __commonJS({ - "node_modules/has-proto/index.js"(exports2, module2) { - "use strict"; - var test = { - foo: {} - }; - var $Object = Object; - module2.exports = function hasProto() { - return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object); - }; - } - }); - - // node_modules/function-bind/implementation.js - var require_implementation = __commonJS({ - "node_modules/function-bind/implementation.js"(exports2, module2) { - "use strict"; - var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; - var toStr = Object.prototype.toString; - var max = Math.max; - var funcType = "[object Function]"; - var concatty = function concatty2(a3, b3) { - var arr = []; - for (var i2 = 0; i2 < a3.length; i2 += 1) { - arr[i2] = a3[i2]; - } - for (var j2 = 0; j2 < b3.length; j2 += 1) { - arr[j2 + a3.length] = b3[j2]; - } - return arr; - }; - var slicy = function slicy2(arrLike, offset) { - var arr = []; - for (var i2 = offset || 0, j2 = 0; i2 < arrLike.length; i2 += 1, j2 += 1) { - arr[j2] = arrLike[i2]; - } - return arr; - }; - var joiny = function(arr, joiner) { - var str = ""; - for (var i2 = 0; i2 < arr.length; i2 += 1) { - str += arr[i2]; - if (i2 + 1 < arr.length) { - str += joiner; - } - } - return str; - }; - module2.exports = function bind(that) { - var target = this; - if (typeof target !== "function" || toStr.apply(target) !== funcType) { - throw new TypeError(ERROR_MESSAGE + target); - } - var args = slicy(arguments, 1); - var bound; - var binder = function() { - if (this instanceof bound) { - var result = target.apply( - this, - concatty(args, arguments) - ); - if (Object(result) === result) { - return result; - } - return this; - } - return target.apply( - that, - concatty(args, arguments) - ); - }; - var boundLength = max(0, target.length - args.length); - var boundArgs = []; - for (var i2 = 0; i2 < boundLength; i2++) { - boundArgs[i2] = "$" + i2; - } - bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder); - if (target.prototype) { - var Empty = function Empty2() { - }; - Empty.prototype = target.prototype; - bound.prototype = new Empty(); - Empty.prototype = null; - } - return bound; - }; - } - }); - - // node_modules/function-bind/index.js - var require_function_bind = __commonJS({ - "node_modules/function-bind/index.js"(exports2, module2) { - "use strict"; - var implementation = require_implementation(); - module2.exports = Function.prototype.bind || implementation; - } - }); - - // node_modules/hasown/index.js - var require_hasown = __commonJS({ - "node_modules/hasown/index.js"(exports2, module2) { - "use strict"; - var call = Function.prototype.call; - var $hasOwn = Object.prototype.hasOwnProperty; - var bind = require_function_bind(); - module2.exports = bind.call(call, $hasOwn); - } - }); - - // node_modules/get-intrinsic/index.js - var require_get_intrinsic = __commonJS({ - "node_modules/get-intrinsic/index.js"(exports2, module2) { - "use strict"; - var undefined2; - var $SyntaxError = SyntaxError; - var $Function = Function; - var $TypeError = TypeError; - var getEvalledConstructor = function(expressionSyntax) { - try { - return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); - } catch (e3) { - } - }; - var $gOPD = Object.getOwnPropertyDescriptor; - if ($gOPD) { - try { - $gOPD({}, ""); - } catch (e3) { - $gOPD = null; - } - } - var throwTypeError = function() { - throw new $TypeError(); - }; - var ThrowTypeError = $gOPD ? function() { - try { - arguments.callee; - return throwTypeError; - } catch (calleeThrows) { - try { - return $gOPD(arguments, "callee").get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }() : throwTypeError; - var hasSymbols = require_has_symbols()(); - var hasProto = require_has_proto()(); - var getProto = Object.getPrototypeOf || (hasProto ? function(x2) { - return x2.__proto__; - } : null); - var needsEval = {}; - var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array); - var INTRINSICS = { - "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError, - "%Array%": Array, - "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer, - "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2, - "%AsyncFromSyncIteratorPrototype%": undefined2, - "%AsyncFunction%": needsEval, - "%AsyncGenerator%": needsEval, - "%AsyncGeneratorFunction%": needsEval, - "%AsyncIteratorPrototype%": needsEval, - "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics, - "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt, - "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array, - "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array, - "%Boolean%": Boolean, - "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView, - "%Date%": Date, - "%decodeURI%": decodeURI, - "%decodeURIComponent%": decodeURIComponent, - "%encodeURI%": encodeURI, - "%encodeURIComponent%": encodeURIComponent, - "%Error%": Error, - "%eval%": eval, - // eslint-disable-line no-eval - "%EvalError%": EvalError, - "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, - "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, - "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, - "%Function%": $Function, - "%GeneratorFunction%": needsEval, - "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, - "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, - "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array, - "%isFinite%": isFinite, - "%isNaN%": isNaN, - "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2, - "%JSON%": typeof JSON === "object" ? JSON : undefined2, - "%Map%": typeof Map === "undefined" ? undefined2 : Map, - "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()), - "%Math%": Math, - "%Number%": Number, - "%Object%": Object, - "%parseFloat%": parseFloat, - "%parseInt%": parseInt, - "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise, - "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy, - "%RangeError%": RangeError, - "%ReferenceError%": ReferenceError, - "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect, - "%RegExp%": RegExp, - "%Set%": typeof Set === "undefined" ? undefined2 : Set, - "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()), - "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer, - "%String%": String, - "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2, - "%Symbol%": hasSymbols ? Symbol : undefined2, - "%SyntaxError%": $SyntaxError, - "%ThrowTypeError%": ThrowTypeError, - "%TypedArray%": TypedArray, - "%TypeError%": $TypeError, - "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array, - "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray, - "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array, - "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array, - "%URIError%": URIError, - "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap, - "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef, - "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet - }; - if (getProto) { - try { - null.error; - } catch (e3) { - errorProto = getProto(getProto(e3)); - INTRINSICS["%Error.prototype%"] = errorProto; - } - } - var errorProto; - var doEval = function doEval2(name) { - var value; - if (name === "%AsyncFunction%") { - value = getEvalledConstructor("async function () {}"); - } else if (name === "%GeneratorFunction%") { - value = getEvalledConstructor("function* () {}"); - } else if (name === "%AsyncGeneratorFunction%") { - value = getEvalledConstructor("async function* () {}"); - } else if (name === "%AsyncGenerator%") { - var fn = doEval2("%AsyncGeneratorFunction%"); - if (fn) { - value = fn.prototype; - } - } else if (name === "%AsyncIteratorPrototype%") { - var gen = doEval2("%AsyncGenerator%"); - if (gen && getProto) { - value = getProto(gen.prototype); - } - } - INTRINSICS[name] = value; - return value; - }; - var LEGACY_ALIASES = { - "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], - "%ArrayPrototype%": ["Array", "prototype"], - "%ArrayProto_entries%": ["Array", "prototype", "entries"], - "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], - "%ArrayProto_keys%": ["Array", "prototype", "keys"], - "%ArrayProto_values%": ["Array", "prototype", "values"], - "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"], - "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"], - "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"], - "%BooleanPrototype%": ["Boolean", "prototype"], - "%DataViewPrototype%": ["DataView", "prototype"], - "%DatePrototype%": ["Date", "prototype"], - "%ErrorPrototype%": ["Error", "prototype"], - "%EvalErrorPrototype%": ["EvalError", "prototype"], - "%Float32ArrayPrototype%": ["Float32Array", "prototype"], - "%Float64ArrayPrototype%": ["Float64Array", "prototype"], - "%FunctionPrototype%": ["Function", "prototype"], - "%Generator%": ["GeneratorFunction", "prototype"], - "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"], - "%Int8ArrayPrototype%": ["Int8Array", "prototype"], - "%Int16ArrayPrototype%": ["Int16Array", "prototype"], - "%Int32ArrayPrototype%": ["Int32Array", "prototype"], - "%JSONParse%": ["JSON", "parse"], - "%JSONStringify%": ["JSON", "stringify"], - "%MapPrototype%": ["Map", "prototype"], - "%NumberPrototype%": ["Number", "prototype"], - "%ObjectPrototype%": ["Object", "prototype"], - "%ObjProto_toString%": ["Object", "prototype", "toString"], - "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], - "%PromisePrototype%": ["Promise", "prototype"], - "%PromiseProto_then%": ["Promise", "prototype", "then"], - "%Promise_all%": ["Promise", "all"], - "%Promise_reject%": ["Promise", "reject"], - "%Promise_resolve%": ["Promise", "resolve"], - "%RangeErrorPrototype%": ["RangeError", "prototype"], - "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"], - "%RegExpPrototype%": ["RegExp", "prototype"], - "%SetPrototype%": ["Set", "prototype"], - "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"], - "%StringPrototype%": ["String", "prototype"], - "%SymbolPrototype%": ["Symbol", "prototype"], - "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], - "%TypedArrayPrototype%": ["TypedArray", "prototype"], - "%TypeErrorPrototype%": ["TypeError", "prototype"], - "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], - "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"], - "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], - "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], - "%URIErrorPrototype%": ["URIError", "prototype"], - "%WeakMapPrototype%": ["WeakMap", "prototype"], - "%WeakSetPrototype%": ["WeakSet", "prototype"] - }; - var bind = require_function_bind(); - var hasOwn = require_hasown(); - var $concat = bind.call(Function.call, Array.prototype.concat); - var $spliceApply = bind.call(Function.apply, Array.prototype.splice); - var $replace = bind.call(Function.call, String.prototype.replace); - var $strSlice = bind.call(Function.call, String.prototype.slice); - var $exec = bind.call(Function.call, RegExp.prototype.exec); - var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; - var reEscapeChar = /\\(\\)?/g; - var stringToPath = function stringToPath2(string) { - var first = $strSlice(string, 0, 1); - var last = $strSlice(string, -1); - if (first === "%" && last !== "%") { - throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`"); - } else if (last === "%" && first !== "%") { - throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`"); - } - var result = []; - $replace(string, rePropName, function(match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match; - }); - return result; - }; - var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = "%" + alias[0] + "%"; - } - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (value === needsEval) { - value = doEval(intrinsicName); - } - if (typeof value === "undefined" && !allowMissing) { - throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!"); - } - return { - alias, - name: intrinsicName, - value - }; - } - throw new $SyntaxError("intrinsic " + name + " does not exist!"); - }; - module2.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== "string" || name.length === 0) { - throw new $TypeError("intrinsic name must be a non-empty string"); - } - if (arguments.length > 1 && typeof allowMissing !== "boolean") { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - if ($exec(/^%?[^%]*%?$/, name) === null) { - throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); - } - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ""; - var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - for (var i2 = 1, isOwn = true; i2 < parts.length; i2 += 1) { - var part = parts[i2]; - var first = $strSlice(part, 0, 1); - var last = $strSlice(part, -1); - if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) { - throw new $SyntaxError("property names with quotes must have matching quotes"); - } - if (part === "constructor" || !isOwn) { - skipFurtherCaching = true; - } - intrinsicBaseName += "." + part; - intrinsicRealName = "%" + intrinsicBaseName + "%"; - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if (!(part in value)) { - if (!allowMissing) { - throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available."); - } - return void 0; - } - if ($gOPD && i2 + 1 >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - if (isOwn && "get" in desc && !("originalValue" in desc.get)) { - value = desc.get; - } else { - value = value[part]; - } - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; - }; - } - }); - - // node_modules/has-property-descriptors/index.js - var require_has_property_descriptors = __commonJS({ - "node_modules/has-property-descriptors/index.js"(exports2, module2) { - "use strict"; - var GetIntrinsic = require_get_intrinsic(); - var $defineProperty = GetIntrinsic("%Object.defineProperty%", true); - var hasPropertyDescriptors = function hasPropertyDescriptors2() { - if ($defineProperty) { - try { - $defineProperty({}, "a", { value: 1 }); - return true; - } catch (e3) { - return false; - } - } - return false; - }; - hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { - if (!hasPropertyDescriptors()) { - return null; - } - try { - return $defineProperty([], "length", { value: 1 }).length !== 1; - } catch (e3) { - return true; - } - }; - module2.exports = hasPropertyDescriptors; - } - }); - - // node_modules/gopd/index.js - var require_gopd = __commonJS({ - "node_modules/gopd/index.js"(exports2, module2) { - "use strict"; - var GetIntrinsic = require_get_intrinsic(); - var $gOPD = GetIntrinsic("%Object.getOwnPropertyDescriptor%", true); - if ($gOPD) { - try { - $gOPD([], "length"); - } catch (e3) { - $gOPD = null; - } - } - module2.exports = $gOPD; - } - }); - - // node_modules/define-data-property/index.js - var require_define_data_property = __commonJS({ - "node_modules/define-data-property/index.js"(exports2, module2) { - "use strict"; - var hasPropertyDescriptors = require_has_property_descriptors()(); - var GetIntrinsic = require_get_intrinsic(); - var $defineProperty = hasPropertyDescriptors && GetIntrinsic("%Object.defineProperty%", true); - if ($defineProperty) { - try { - $defineProperty({}, "a", { value: 1 }); - } catch (e3) { - $defineProperty = false; - } - } - var $SyntaxError = GetIntrinsic("%SyntaxError%"); - var $TypeError = GetIntrinsic("%TypeError%"); - var gopd = require_gopd(); - module2.exports = function defineDataProperty(obj, property, value) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") { - throw new $TypeError("`obj` must be an object or a function`"); - } - if (typeof property !== "string" && typeof property !== "symbol") { - throw new $TypeError("`property` must be a string or a symbol`"); - } - if (arguments.length > 3 && typeof arguments[3] !== "boolean" && arguments[3] !== null) { - throw new $TypeError("`nonEnumerable`, if provided, must be a boolean or null"); - } - if (arguments.length > 4 && typeof arguments[4] !== "boolean" && arguments[4] !== null) { - throw new $TypeError("`nonWritable`, if provided, must be a boolean or null"); - } - if (arguments.length > 5 && typeof arguments[5] !== "boolean" && arguments[5] !== null) { - throw new $TypeError("`nonConfigurable`, if provided, must be a boolean or null"); - } - if (arguments.length > 6 && typeof arguments[6] !== "boolean") { - throw new $TypeError("`loose`, if provided, must be a boolean"); - } - var nonEnumerable = arguments.length > 3 ? arguments[3] : null; - var nonWritable = arguments.length > 4 ? arguments[4] : null; - var nonConfigurable = arguments.length > 5 ? arguments[5] : null; - var loose = arguments.length > 6 ? arguments[6] : false; - var desc = !!gopd && gopd(obj, property); - if ($defineProperty) { - $defineProperty(obj, property, { - configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable, - enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable, - value, - writable: nonWritable === null && desc ? desc.writable : !nonWritable - }); - } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) { - obj[property] = value; - } else { - throw new $SyntaxError("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable."); - } - }; - } - }); - - // node_modules/set-function-length/index.js - var require_set_function_length = __commonJS({ - "node_modules/set-function-length/index.js"(exports2, module2) { - "use strict"; - var GetIntrinsic = require_get_intrinsic(); - var define2 = require_define_data_property(); - var hasDescriptors = require_has_property_descriptors()(); - var gOPD = require_gopd(); - var $TypeError = GetIntrinsic("%TypeError%"); - var $floor = GetIntrinsic("%Math.floor%"); - module2.exports = function setFunctionLength(fn, length) { - if (typeof fn !== "function") { - throw new $TypeError("`fn` is not a function"); - } - if (typeof length !== "number" || length < 0 || length > 4294967295 || $floor(length) !== length) { - throw new $TypeError("`length` must be a positive 32-bit integer"); - } - var loose = arguments.length > 2 && !!arguments[2]; - var functionLengthIsConfigurable = true; - var functionLengthIsWritable = true; - if ("length" in fn && gOPD) { - var desc = gOPD(fn, "length"); - if (desc && !desc.configurable) { - functionLengthIsConfigurable = false; - } - if (desc && !desc.writable) { - functionLengthIsWritable = false; - } - } - if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) { - if (hasDescriptors) { - define2( - /** @type {Parameters[0]} */ - fn, - "length", - length, - true, - true - ); - } else { - define2( - /** @type {Parameters[0]} */ - fn, - "length", - length - ); - } - } - return fn; - }; - } - }); - - // node_modules/call-bind/index.js - var require_call_bind = __commonJS({ - "node_modules/call-bind/index.js"(exports2, module2) { - "use strict"; - var bind = require_function_bind(); - var GetIntrinsic = require_get_intrinsic(); - var setFunctionLength = require_set_function_length(); - var $TypeError = GetIntrinsic("%TypeError%"); - var $apply = GetIntrinsic("%Function.prototype.apply%"); - var $call = GetIntrinsic("%Function.prototype.call%"); - var $reflectApply = GetIntrinsic("%Reflect.apply%", true) || bind.call($call, $apply); - var $defineProperty = GetIntrinsic("%Object.defineProperty%", true); - var $max = GetIntrinsic("%Math.max%"); - if ($defineProperty) { - try { - $defineProperty({}, "a", { value: 1 }); - } catch (e3) { - $defineProperty = null; - } - } - module2.exports = function callBind(originalFunction) { - if (typeof originalFunction !== "function") { - throw new $TypeError("a function is required"); - } - var func = $reflectApply(bind, $call, arguments); - return setFunctionLength( - func, - 1 + $max(0, originalFunction.length - (arguments.length - 1)), - true - ); - }; - var applyBind = function applyBind2() { - return $reflectApply(bind, $apply, arguments); - }; - if ($defineProperty) { - $defineProperty(module2.exports, "apply", { value: applyBind }); - } else { - module2.exports.apply = applyBind; - } - } - }); - - // node_modules/call-bind/callBound.js - var require_callBound = __commonJS({ - "node_modules/call-bind/callBound.js"(exports2, module2) { - "use strict"; - var GetIntrinsic = require_get_intrinsic(); - var callBind = require_call_bind(); - var $indexOf = callBind(GetIntrinsic("String.prototype.indexOf")); - module2.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) { - return callBind(intrinsic); - } - return intrinsic; - }; - } - }); - - // (disabled):node_modules/object-inspect/util.inspect - var require_util = __commonJS({ - "(disabled):node_modules/object-inspect/util.inspect"() { - } - }); - - // node_modules/object-inspect/index.js - var require_object_inspect = __commonJS({ - "node_modules/object-inspect/index.js"(exports2, module2) { - var hasMap = typeof Map === "function" && Map.prototype; - var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null; - var mapSize2 = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null; - var mapForEach = hasMap && Map.prototype.forEach; - var hasSet = typeof Set === "function" && Set.prototype; - var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null; - var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null; - var setForEach = hasSet && Set.prototype.forEach; - var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype; - var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; - var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype; - var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; - var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype; - var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; - var booleanValueOf = Boolean.prototype.valueOf; - var objectToString = Object.prototype.toString; - var functionToString = Function.prototype.toString; - var $match = String.prototype.match; - var $slice = String.prototype.slice; - var $replace = String.prototype.replace; - var $toUpperCase = String.prototype.toUpperCase; - var $toLowerCase = String.prototype.toLowerCase; - var $test = RegExp.prototype.test; - var $concat = Array.prototype.concat; - var $join = Array.prototype.join; - var $arrSlice = Array.prototype.slice; - var $floor = Math.floor; - var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null; - var gOPS = Object.getOwnPropertySymbols; - var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null; - var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object"; - var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null; - var isEnumerable = Object.prototype.propertyIsEnumerable; - var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) { - return O.__proto__; - } : null); - function addNumericSeparator(num, str) { - if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) { - return str; - } - var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; - if (typeof num === "number") { - var int = num < 0 ? -$floor(-num) : $floor(num); - if (int !== num) { - var intStr = String(int); - var dec = $slice.call(str, intStr.length + 1); - return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, ""); - } - } - return $replace.call(str, sepRegex, "$&_"); - } - var utilInspect = require_util(); - var inspectCustom = utilInspect.custom; - var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; - module2.exports = function inspect_(obj, options, depth, seen) { - var opts = options || {}; - if (has(opts, "quoteStyle") && (opts.quoteStyle !== "single" && opts.quoteStyle !== "double")) { - throw new TypeError('option "quoteStyle" must be "single" or "double"'); - } - if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) { - throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); - } - var customInspect = has(opts, "customInspect") ? opts.customInspect : true; - if (typeof customInspect !== "boolean" && customInspect !== "symbol") { - throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`"); - } - if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) { - throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); - } - if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") { - throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); - } - var numericSeparator = opts.numericSeparator; - if (typeof obj === "undefined") { - return "undefined"; - } - if (obj === null) { - return "null"; - } - if (typeof obj === "boolean") { - return obj ? "true" : "false"; - } - if (typeof obj === "string") { - return inspectString(obj, opts); - } - if (typeof obj === "number") { - if (obj === 0) { - return Infinity / obj > 0 ? "0" : "-0"; - } - var str = String(obj); - return numericSeparator ? addNumericSeparator(obj, str) : str; - } - if (typeof obj === "bigint") { - var bigIntStr = String(obj) + "n"; - return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; - } - var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth; - if (typeof depth === "undefined") { - depth = 0; - } - if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") { - return isArray(obj) ? "[Array]" : "[Object]"; - } - var indent = getIndent(opts, depth); - if (typeof seen === "undefined") { - seen = []; - } else if (indexOf(seen, obj) >= 0) { - return "[Circular]"; - } - function inspect(value, from, noIndent) { - if (from) { - seen = $arrSlice.call(seen); - seen.push(from); - } - if (noIndent) { - var newOpts = { - depth: opts.depth - }; - if (has(opts, "quoteStyle")) { - newOpts.quoteStyle = opts.quoteStyle; - } - return inspect_(value, newOpts, depth + 1, seen); - } - return inspect_(value, opts, depth + 1, seen); - } - if (typeof obj === "function" && !isRegExp(obj)) { - var name = nameOf(obj); - var keys = arrObjKeys(obj, inspect); - return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : ""); - } - if (isSymbol(obj)) { - var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj); - return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString; - } - if (isElement(obj)) { - var s2 = "<" + $toLowerCase.call(String(obj.nodeName)); - var attrs = obj.attributes || []; - for (var i2 = 0; i2 < attrs.length; i2++) { - s2 += " " + attrs[i2].name + "=" + wrapQuotes(quote(attrs[i2].value), "double", opts); - } - s2 += ">"; - if (obj.childNodes && obj.childNodes.length) { - s2 += "..."; - } - s2 += ""; - return s2; - } - if (isArray(obj)) { - if (obj.length === 0) { - return "[]"; - } - var xs = arrObjKeys(obj, inspect); - if (indent && !singleLineValues(xs)) { - return "[" + indentedJoin(xs, indent) + "]"; - } - return "[ " + $join.call(xs, ", ") + " ]"; - } - if (isError(obj)) { - var parts = arrObjKeys(obj, inspect); - if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) { - return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"; - } - if (parts.length === 0) { - return "[" + String(obj) + "]"; - } - return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }"; - } - if (typeof obj === "object" && customInspect) { - if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) { - return utilInspect(obj, { depth: maxDepth - depth }); - } else if (customInspect !== "symbol" && typeof obj.inspect === "function") { - return obj.inspect(); - } - } - if (isMap(obj)) { - var mapParts = []; - if (mapForEach) { - mapForEach.call(obj, function(value, key) { - mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj)); - }); - } - return collectionOf("Map", mapSize2.call(obj), mapParts, indent); - } - if (isSet(obj)) { - var setParts = []; - if (setForEach) { - setForEach.call(obj, function(value) { - setParts.push(inspect(value, obj)); - }); - } - return collectionOf("Set", setSize.call(obj), setParts, indent); - } - if (isWeakMap(obj)) { - return weakCollectionOf("WeakMap"); - } - if (isWeakSet(obj)) { - return weakCollectionOf("WeakSet"); - } - if (isWeakRef(obj)) { - return weakCollectionOf("WeakRef"); - } - if (isNumber(obj)) { - return markBoxed(inspect(Number(obj))); - } - if (isBigInt(obj)) { - return markBoxed(inspect(bigIntValueOf.call(obj))); - } - if (isBoolean(obj)) { - return markBoxed(booleanValueOf.call(obj)); - } - if (isString(obj)) { - return markBoxed(inspect(String(obj))); - } - if (typeof window !== "undefined" && obj === window) { - return "{ [object Window] }"; - } - if (obj === global) { - return "{ [object globalThis] }"; - } - if (!isDate(obj) && !isRegExp(obj)) { - var ys = arrObjKeys(obj, inspect); - var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; - var protoTag = obj instanceof Object ? "" : "null prototype"; - var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : ""; - var constructorTag = isPlainObject || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : ""; - var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : ""); - if (ys.length === 0) { - return tag + "{}"; - } - if (indent) { - return tag + "{" + indentedJoin(ys, indent) + "}"; - } - return tag + "{ " + $join.call(ys, ", ") + " }"; - } - return String(obj); - }; - function wrapQuotes(s2, defaultStyle, opts) { - var quoteChar = (opts.quoteStyle || defaultStyle) === "double" ? '"' : "'"; - return quoteChar + s2 + quoteChar; - } - function quote(s2) { - return $replace.call(String(s2), /"/g, """); - } - function isArray(obj) { - return toStr(obj) === "[object Array]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isDate(obj) { - return toStr(obj) === "[object Date]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isRegExp(obj) { - return toStr(obj) === "[object RegExp]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isError(obj) { - return toStr(obj) === "[object Error]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isString(obj) { - return toStr(obj) === "[object String]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isNumber(obj) { - return toStr(obj) === "[object Number]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isBoolean(obj) { - return toStr(obj) === "[object Boolean]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isSymbol(obj) { - if (hasShammedSymbols) { - return obj && typeof obj === "object" && obj instanceof Symbol; - } - if (typeof obj === "symbol") { - return true; - } - if (!obj || typeof obj !== "object" || !symToString) { - return false; - } - try { - symToString.call(obj); - return true; - } catch (e3) { - } - return false; - } - function isBigInt(obj) { - if (!obj || typeof obj !== "object" || !bigIntValueOf) { - return false; - } - try { - bigIntValueOf.call(obj); - return true; - } catch (e3) { - } - return false; - } - var hasOwn = Object.prototype.hasOwnProperty || function(key) { - return key in this; - }; - function has(obj, key) { - return hasOwn.call(obj, key); - } - function toStr(obj) { - return objectToString.call(obj); - } - function nameOf(f3) { - if (f3.name) { - return f3.name; - } - var m2 = $match.call(functionToString.call(f3), /^function\s*([\w$]+)/); - if (m2) { - return m2[1]; - } - return null; - } - function indexOf(xs, x2) { - if (xs.indexOf) { - return xs.indexOf(x2); - } - for (var i2 = 0, l2 = xs.length; i2 < l2; i2++) { - if (xs[i2] === x2) { - return i2; - } - } - return -1; - } - function isMap(x2) { - if (!mapSize2 || !x2 || typeof x2 !== "object") { - return false; - } - try { - mapSize2.call(x2); - try { - setSize.call(x2); - } catch (s2) { - return true; - } - return x2 instanceof Map; - } catch (e3) { - } - return false; - } - function isWeakMap(x2) { - if (!weakMapHas || !x2 || typeof x2 !== "object") { - return false; - } - try { - weakMapHas.call(x2, weakMapHas); - try { - weakSetHas.call(x2, weakSetHas); - } catch (s2) { - return true; - } - return x2 instanceof WeakMap; - } catch (e3) { - } - return false; - } - function isWeakRef(x2) { - if (!weakRefDeref || !x2 || typeof x2 !== "object") { - return false; - } - try { - weakRefDeref.call(x2); - return true; - } catch (e3) { - } - return false; - } - function isSet(x2) { - if (!setSize || !x2 || typeof x2 !== "object") { - return false; - } - try { - setSize.call(x2); - try { - mapSize2.call(x2); - } catch (m2) { - return true; - } - return x2 instanceof Set; - } catch (e3) { - } - return false; - } - function isWeakSet(x2) { - if (!weakSetHas || !x2 || typeof x2 !== "object") { - return false; - } - try { - weakSetHas.call(x2, weakSetHas); - try { - weakMapHas.call(x2, weakMapHas); - } catch (s2) { - return true; - } - return x2 instanceof WeakSet; - } catch (e3) { - } - return false; - } - function isElement(x2) { - if (!x2 || typeof x2 !== "object") { - return false; - } - if (typeof HTMLElement !== "undefined" && x2 instanceof HTMLElement) { - return true; - } - return typeof x2.nodeName === "string" && typeof x2.getAttribute === "function"; - } - function inspectString(str, opts) { - if (str.length > opts.maxStringLength) { - var remaining = str.length - opts.maxStringLength; - var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : ""); - return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; - } - var s2 = $replace.call($replace.call(str, /(['\\])/g, "\\$1"), /[\x00-\x1f]/g, lowbyte); - return wrapQuotes(s2, "single", opts); - } - function lowbyte(c3) { - var n2 = c3.charCodeAt(0); - var x2 = { - 8: "b", - 9: "t", - 10: "n", - 12: "f", - 13: "r" - }[n2]; - if (x2) { - return "\\" + x2; - } - return "\\x" + (n2 < 16 ? "0" : "") + $toUpperCase.call(n2.toString(16)); - } - function markBoxed(str) { - return "Object(" + str + ")"; - } - function weakCollectionOf(type) { - return type + " { ? }"; - } - function collectionOf(type, size, entries, indent) { - var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", "); - return type + " (" + size + ") {" + joinedEntries + "}"; - } - function singleLineValues(xs) { - for (var i2 = 0; i2 < xs.length; i2++) { - if (indexOf(xs[i2], "\n") >= 0) { - return false; - } - } - return true; - } - function getIndent(opts, depth) { - var baseIndent; - if (opts.indent === " ") { - baseIndent = " "; - } else if (typeof opts.indent === "number" && opts.indent > 0) { - baseIndent = $join.call(Array(opts.indent + 1), " "); - } else { - return null; - } - return { - base: baseIndent, - prev: $join.call(Array(depth + 1), baseIndent) - }; - } - function indentedJoin(xs, indent) { - if (xs.length === 0) { - return ""; - } - var lineJoiner = "\n" + indent.prev + indent.base; - return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev; - } - function arrObjKeys(obj, inspect) { - var isArr = isArray(obj); - var xs = []; - if (isArr) { - xs.length = obj.length; - for (var i2 = 0; i2 < obj.length; i2++) { - xs[i2] = has(obj, i2) ? inspect(obj[i2], obj) : ""; - } - } - var syms = typeof gOPS === "function" ? gOPS(obj) : []; - var symMap; - if (hasShammedSymbols) { - symMap = {}; - for (var k2 = 0; k2 < syms.length; k2++) { - symMap["$" + syms[k2]] = syms[k2]; - } - } - for (var key in obj) { - if (!has(obj, key)) { - continue; - } - if (isArr && String(Number(key)) === key && key < obj.length) { - continue; - } - if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) { - continue; - } else if ($test.call(/[^\w$]/, key)) { - xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj)); - } else { - xs.push(key + ": " + inspect(obj[key], obj)); - } - } - if (typeof gOPS === "function") { - for (var j2 = 0; j2 < syms.length; j2++) { - if (isEnumerable.call(obj, syms[j2])) { - xs.push("[" + inspect(syms[j2]) + "]: " + inspect(obj[syms[j2]], obj)); - } - } - } - return xs; - } - } - }); - - // node_modules/side-channel/index.js - var require_side_channel = __commonJS({ - "node_modules/side-channel/index.js"(exports2, module2) { - "use strict"; - var GetIntrinsic = require_get_intrinsic(); - var callBound = require_callBound(); - var inspect = require_object_inspect(); - var $TypeError = GetIntrinsic("%TypeError%"); - var $WeakMap = GetIntrinsic("%WeakMap%", true); - var $Map = GetIntrinsic("%Map%", true); - var $weakMapGet = callBound("WeakMap.prototype.get", true); - var $weakMapSet = callBound("WeakMap.prototype.set", true); - var $weakMapHas = callBound("WeakMap.prototype.has", true); - var $mapGet = callBound("Map.prototype.get", true); - var $mapSet = callBound("Map.prototype.set", true); - var $mapHas = callBound("Map.prototype.has", true); - var listGetNode = function(list, key) { - for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) { - if (curr.key === key) { - prev.next = curr.next; - curr.next = list.next; - list.next = curr; - return curr; - } - } - }; - var listGet = function(objects, key) { - var node = listGetNode(objects, key); - return node && node.value; - }; - var listSet = function(objects, key, value) { - var node = listGetNode(objects, key); - if (node) { - node.value = value; - } else { - objects.next = { - // eslint-disable-line no-param-reassign - key, - next: objects.next, - value - }; - } - }; - var listHas = function(objects, key) { - return !!listGetNode(objects, key); - }; - module2.exports = function getSideChannel() { - var $wm; - var $m; - var $o; - var channel = { - assert: function(key) { - if (!channel.has(key)) { - throw new $TypeError("Side channel does not contain " + inspect(key)); - } - }, - get: function(key) { - if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { - if ($wm) { - return $weakMapGet($wm, key); - } - } else if ($Map) { - if ($m) { - return $mapGet($m, key); - } - } else { - if ($o) { - return listGet($o, key); - } - } - }, - has: function(key) { - if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { - if ($wm) { - return $weakMapHas($wm, key); - } - } else if ($Map) { - if ($m) { - return $mapHas($m, key); - } - } else { - if ($o) { - return listHas($o, key); - } - } - return false; - }, - set: function(key, value) { - if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { - if (!$wm) { - $wm = new $WeakMap(); - } - $weakMapSet($wm, key, value); - } else if ($Map) { - if (!$m) { - $m = new $Map(); - } - $mapSet($m, key, value); - } else { - if (!$o) { - $o = { key: {}, next: null }; - } - listSet($o, key, value); - } - } - }; - return channel; - }; - } - }); - - // node_modules/qs/lib/formats.js - var require_formats = __commonJS({ - "node_modules/qs/lib/formats.js"(exports2, module2) { - "use strict"; - var replace = String.prototype.replace; - var percentTwenties = /%20/g; - var Format = { - RFC1738: "RFC1738", - RFC3986: "RFC3986" - }; - module2.exports = { - "default": Format.RFC3986, - formatters: { - RFC1738: function(value) { - return replace.call(value, percentTwenties, "+"); - }, - RFC3986: function(value) { - return String(value); - } - }, - RFC1738: Format.RFC1738, - RFC3986: Format.RFC3986 - }; - } - }); - - // node_modules/qs/lib/utils.js - var require_utils = __commonJS({ - "node_modules/qs/lib/utils.js"(exports2, module2) { - "use strict"; - var formats2 = require_formats(); - var has = Object.prototype.hasOwnProperty; - var isArray = Array.isArray; - var hexTable = function() { - var array = []; - for (var i2 = 0; i2 < 256; ++i2) { - array.push("%" + ((i2 < 16 ? "0" : "") + i2.toString(16)).toUpperCase()); - } - return array; - }(); - var compactQueue = function compactQueue2(queue) { - while (queue.length > 1) { - var item = queue.pop(); - var obj = item.obj[item.prop]; - if (isArray(obj)) { - var compacted = []; - for (var j2 = 0; j2 < obj.length; ++j2) { - if (typeof obj[j2] !== "undefined") { - compacted.push(obj[j2]); - } - } - item.obj[item.prop] = compacted; - } - } - }; - var arrayToObject = function arrayToObject2(source, options) { - var obj = options && options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - for (var i2 = 0; i2 < source.length; ++i2) { - if (typeof source[i2] !== "undefined") { - obj[i2] = source[i2]; - } - } - return obj; - }; - var merge = function merge2(target, source, options) { - if (!source) { - return target; - } - if (typeof source !== "object") { - if (isArray(target)) { - target.push(source); - } else if (target && typeof target === "object") { - if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) { - target[source] = true; - } - } else { - return [target, source]; - } - return target; - } - if (!target || typeof target !== "object") { - return [target].concat(source); - } - var mergeTarget = target; - if (isArray(target) && !isArray(source)) { - mergeTarget = arrayToObject(target, options); - } - if (isArray(target) && isArray(source)) { - source.forEach(function(item, i2) { - if (has.call(target, i2)) { - var targetItem = target[i2]; - if (targetItem && typeof targetItem === "object" && item && typeof item === "object") { - target[i2] = merge2(targetItem, item, options); - } else { - target.push(item); - } - } else { - target[i2] = item; - } - }); - return target; - } - return Object.keys(source).reduce(function(acc, key) { - var value = source[key]; - if (has.call(acc, key)) { - acc[key] = merge2(acc[key], value, options); - } else { - acc[key] = value; - } - return acc; - }, mergeTarget); - }; - var assign = function assignSingleSource(target, source) { - return Object.keys(source).reduce(function(acc, key) { - acc[key] = source[key]; - return acc; - }, target); - }; - var decode = function(str, decoder, charset) { - var strWithoutPlus = str.replace(/\+/g, " "); - if (charset === "iso-8859-1") { - return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); - } - try { - return decodeURIComponent(strWithoutPlus); - } catch (e3) { - return strWithoutPlus; - } - }; - var encode = function encode2(str, defaultEncoder, charset, kind, format2) { - if (str.length === 0) { - return str; - } - var string = str; - if (typeof str === "symbol") { - string = Symbol.prototype.toString.call(str); - } else if (typeof str !== "string") { - string = String(str); - } - if (charset === "iso-8859-1") { - return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) { - return "%26%23" + parseInt($0.slice(2), 16) + "%3B"; - }); - } - var out = ""; - for (var i2 = 0; i2 < string.length; ++i2) { - var c3 = string.charCodeAt(i2); - if (c3 === 45 || c3 === 46 || c3 === 95 || c3 === 126 || c3 >= 48 && c3 <= 57 || c3 >= 65 && c3 <= 90 || c3 >= 97 && c3 <= 122 || format2 === formats2.RFC1738 && (c3 === 40 || c3 === 41)) { - out += string.charAt(i2); - continue; - } - if (c3 < 128) { - out = out + hexTable[c3]; - continue; - } - if (c3 < 2048) { - out = out + (hexTable[192 | c3 >> 6] + hexTable[128 | c3 & 63]); - continue; - } - if (c3 < 55296 || c3 >= 57344) { - out = out + (hexTable[224 | c3 >> 12] + hexTable[128 | c3 >> 6 & 63] + hexTable[128 | c3 & 63]); - continue; - } - i2 += 1; - c3 = 65536 + ((c3 & 1023) << 10 | string.charCodeAt(i2) & 1023); - out += hexTable[240 | c3 >> 18] + hexTable[128 | c3 >> 12 & 63] + hexTable[128 | c3 >> 6 & 63] + hexTable[128 | c3 & 63]; - } - return out; - }; - var compact = function compact2(value) { - var queue = [{ obj: { o: value }, prop: "o" }]; - var refs = []; - for (var i2 = 0; i2 < queue.length; ++i2) { - var item = queue[i2]; - var obj = item.obj[item.prop]; - var keys = Object.keys(obj); - for (var j2 = 0; j2 < keys.length; ++j2) { - var key = keys[j2]; - var val = obj[key]; - if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) { - queue.push({ obj, prop: key }); - refs.push(val); - } - } - } - compactQueue(queue); - return value; - }; - var isRegExp = function isRegExp2(obj) { - return Object.prototype.toString.call(obj) === "[object RegExp]"; - }; - var isBuffer = function isBuffer2(obj) { - if (!obj || typeof obj !== "object") { - return false; - } - return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); - }; - var combine = function combine2(a3, b3) { - return [].concat(a3, b3); - }; - var maybeMap = function maybeMap2(val, fn) { - if (isArray(val)) { - var mapped = []; - for (var i2 = 0; i2 < val.length; i2 += 1) { - mapped.push(fn(val[i2])); - } - return mapped; - } - return fn(val); - }; - module2.exports = { - arrayToObject, - assign, - combine, - compact, - decode, - encode, - isBuffer, - isRegExp, - maybeMap, - merge - }; - } - }); - - // node_modules/qs/lib/stringify.js - var require_stringify = __commonJS({ - "node_modules/qs/lib/stringify.js"(exports2, module2) { - "use strict"; - var getSideChannel = require_side_channel(); - var utils = require_utils(); - var formats2 = require_formats(); - var has = Object.prototype.hasOwnProperty; - var arrayPrefixGenerators = { - brackets: function brackets(prefix) { - return prefix + "[]"; - }, - comma: "comma", - indices: function indices2(prefix, key) { - return prefix + "[" + key + "]"; - }, - repeat: function repeat(prefix) { - return prefix; - } - }; - var isArray = Array.isArray; - var push = Array.prototype.push; - var pushToArray = function(arr, valueOrArray) { - push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); - }; - var toISO = Date.prototype.toISOString; - var defaultFormat = formats2["default"]; - var defaults = { - addQueryPrefix: false, - allowDots: false, - charset: "utf-8", - charsetSentinel: false, - delimiter: "&", - encode: true, - encoder: utils.encode, - encodeValuesOnly: false, - format: defaultFormat, - formatter: formats2.formatters[defaultFormat], - // deprecated - indices: false, - serializeDate: function serializeDate(date) { - return toISO.call(date); - }, - skipNulls: false, - strictNullHandling: false - }; - var isNonNullishPrimitive = function isNonNullishPrimitive2(v2) { - return typeof v2 === "string" || typeof v2 === "number" || typeof v2 === "boolean" || typeof v2 === "symbol" || typeof v2 === "bigint"; - }; - var sentinel = {}; - var stringify = function stringify2(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format2, formatter, encodeValuesOnly, charset, sideChannel) { - var obj = object; - var tmpSc = sideChannel; - var step = 0; - var findFlag = false; - while ((tmpSc = tmpSc.get(sentinel)) !== void 0 && !findFlag) { - var pos = tmpSc.get(object); - step += 1; - if (typeof pos !== "undefined") { - if (pos === step) { - throw new RangeError("Cyclic object value"); - } else { - findFlag = true; - } - } - if (typeof tmpSc.get(sentinel) === "undefined") { - step = 0; - } - } - if (typeof filter === "function") { - obj = filter(prefix, obj); - } else if (obj instanceof Date) { - obj = serializeDate(obj); - } else if (generateArrayPrefix === "comma" && isArray(obj)) { - obj = utils.maybeMap(obj, function(value2) { - if (value2 instanceof Date) { - return serializeDate(value2); - } - return value2; - }); - } - if (obj === null) { - if (strictNullHandling) { - return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, "key", format2) : prefix; - } - obj = ""; - } - if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { - if (encoder) { - var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, "key", format2); - return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults.encoder, charset, "value", format2))]; - } - return [formatter(prefix) + "=" + formatter(String(obj))]; - } - var values = []; - if (typeof obj === "undefined") { - return values; - } - var objKeys; - if (generateArrayPrefix === "comma" && isArray(obj)) { - if (encodeValuesOnly && encoder) { - obj = utils.maybeMap(obj, encoder); - } - objKeys = [{ value: obj.length > 0 ? obj.join(",") || null : void 0 }]; - } else if (isArray(filter)) { - objKeys = filter; - } else { - var keys = Object.keys(obj); - objKeys = sort ? keys.sort(sort) : keys; - } - var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + "[]" : prefix; - for (var j2 = 0; j2 < objKeys.length; ++j2) { - var key = objKeys[j2]; - var value = typeof key === "object" && typeof key.value !== "undefined" ? key.value : obj[key]; - if (skipNulls && value === null) { - continue; - } - var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + key : "[" + key + "]"); - sideChannel.set(object, step); - var valueSideChannel = getSideChannel(); - valueSideChannel.set(sentinel, sideChannel); - pushToArray(values, stringify2( - value, - keyPrefix, - generateArrayPrefix, - commaRoundTrip, - strictNullHandling, - skipNulls, - generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder, - filter, - sort, - allowDots, - serializeDate, - format2, - formatter, - encodeValuesOnly, - charset, - valueSideChannel - )); - } - return values; - }; - var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) { - if (!opts) { - return defaults; - } - if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") { - throw new TypeError("Encoder has to be a function."); - } - var charset = opts.charset || defaults.charset; - if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { - throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); - } - var format2 = formats2["default"]; - if (typeof opts.format !== "undefined") { - if (!has.call(formats2.formatters, opts.format)) { - throw new TypeError("Unknown format option provided."); - } - format2 = opts.format; - } - var formatter = formats2.formatters[format2]; - var filter = defaults.filter; - if (typeof opts.filter === "function" || isArray(opts.filter)) { - filter = opts.filter; - } - return { - addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix, - allowDots: typeof opts.allowDots === "undefined" ? defaults.allowDots : !!opts.allowDots, - charset, - charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel, - delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter, - encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode, - encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder, - encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly, - filter, - format: format2, - formatter, - serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults.serializeDate, - skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults.skipNulls, - sort: typeof opts.sort === "function" ? opts.sort : null, - strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling - }; - }; - module2.exports = function(object, opts) { - var obj = object; - var options = normalizeStringifyOptions(opts); - var objKeys; - var filter; - if (typeof options.filter === "function") { - filter = options.filter; - obj = filter("", obj); - } else if (isArray(options.filter)) { - filter = options.filter; - objKeys = filter; - } - var keys = []; - if (typeof obj !== "object" || obj === null) { - return ""; - } - var arrayFormat; - if (opts && opts.arrayFormat in arrayPrefixGenerators) { - arrayFormat = opts.arrayFormat; - } else if (opts && "indices" in opts) { - arrayFormat = opts.indices ? "indices" : "repeat"; - } else { - arrayFormat = "indices"; - } - var generateArrayPrefix = arrayPrefixGenerators[arrayFormat]; - if (opts && "commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") { - throw new TypeError("`commaRoundTrip` must be a boolean, or absent"); - } - var commaRoundTrip = generateArrayPrefix === "comma" && opts && opts.commaRoundTrip; - if (!objKeys) { - objKeys = Object.keys(obj); - } - if (options.sort) { - objKeys.sort(options.sort); - } - var sideChannel = getSideChannel(); - for (var i2 = 0; i2 < objKeys.length; ++i2) { - var key = objKeys[i2]; - if (options.skipNulls && obj[key] === null) { - continue; - } - pushToArray(keys, stringify( - obj[key], - key, - generateArrayPrefix, - commaRoundTrip, - options.strictNullHandling, - options.skipNulls, - options.encode ? options.encoder : null, - options.filter, - options.sort, - options.allowDots, - options.serializeDate, - options.format, - options.formatter, - options.encodeValuesOnly, - options.charset, - sideChannel - )); - } - var joined = keys.join(options.delimiter); - var prefix = options.addQueryPrefix === true ? "?" : ""; - if (options.charsetSentinel) { - if (options.charset === "iso-8859-1") { - prefix += "utf8=%26%2310003%3B&"; - } else { - prefix += "utf8=%E2%9C%93&"; - } - } - return joined.length > 0 ? prefix + joined : ""; - }; - } - }); - - // node_modules/qs/lib/parse.js - var require_parse = __commonJS({ - "node_modules/qs/lib/parse.js"(exports2, module2) { - "use strict"; - var utils = require_utils(); - var has = Object.prototype.hasOwnProperty; - var isArray = Array.isArray; - var defaults = { - allowDots: false, - allowPrototypes: false, - allowSparse: false, - arrayLimit: 20, - charset: "utf-8", - charsetSentinel: false, - comma: false, - decoder: utils.decode, - delimiter: "&", - depth: 5, - ignoreQueryPrefix: false, - interpretNumericEntities: false, - parameterLimit: 1e3, - parseArrays: true, - plainObjects: false, - strictNullHandling: false - }; - var interpretNumericEntities = function(str) { - return str.replace(/&#(\d+);/g, function($0, numberStr) { - return String.fromCharCode(parseInt(numberStr, 10)); - }); - }; - var parseArrayValue = function(val, options) { - if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) { - return val.split(","); - } - return val; - }; - var isoSentinel = "utf8=%26%2310003%3B"; - var charsetSentinel = "utf8=%E2%9C%93"; - var parseValues = function parseQueryStringValues(str, options) { - var obj = { __proto__: null }; - var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str; - var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit; - var parts = cleanStr.split(options.delimiter, limit); - var skipIndex = -1; - var i2; - var charset = options.charset; - if (options.charsetSentinel) { - for (i2 = 0; i2 < parts.length; ++i2) { - if (parts[i2].indexOf("utf8=") === 0) { - if (parts[i2] === charsetSentinel) { - charset = "utf-8"; - } else if (parts[i2] === isoSentinel) { - charset = "iso-8859-1"; - } - skipIndex = i2; - i2 = parts.length; - } - } - } - for (i2 = 0; i2 < parts.length; ++i2) { - if (i2 === skipIndex) { - continue; - } - var part = parts[i2]; - var bracketEqualsPos = part.indexOf("]="); - var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1; - var key, val; - if (pos === -1) { - key = options.decoder(part, defaults.decoder, charset, "key"); - val = options.strictNullHandling ? null : ""; - } else { - key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key"); - val = utils.maybeMap( - parseArrayValue(part.slice(pos + 1), options), - function(encodedVal) { - return options.decoder(encodedVal, defaults.decoder, charset, "value"); - } - ); - } - if (val && options.interpretNumericEntities && charset === "iso-8859-1") { - val = interpretNumericEntities(val); - } - if (part.indexOf("[]=") > -1) { - val = isArray(val) ? [val] : val; - } - if (has.call(obj, key)) { - obj[key] = utils.combine(obj[key], val); - } else { - obj[key] = val; - } - } - return obj; - }; - var parseObject = function(chain, val, options, valuesParsed) { - var leaf = valuesParsed ? val : parseArrayValue(val, options); - for (var i2 = chain.length - 1; i2 >= 0; --i2) { - var obj; - var root = chain[i2]; - if (root === "[]" && options.parseArrays) { - obj = [].concat(leaf); - } else { - obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root; - var index = parseInt(cleanRoot, 10); - if (!options.parseArrays && cleanRoot === "") { - obj = { 0: leaf }; - } else if (!isNaN(index) && root !== cleanRoot && String(index) === cleanRoot && index >= 0 && (options.parseArrays && index <= options.arrayLimit)) { - obj = []; - obj[index] = leaf; - } else if (cleanRoot !== "__proto__") { - obj[cleanRoot] = leaf; - } - } - leaf = obj; - } - return leaf; - }; - var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) { - if (!givenKey) { - return; - } - var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey; - var brackets = /(\[[^[\]]*])/; - var child = /(\[[^[\]]*])/g; - var segment = options.depth > 0 && brackets.exec(key); - var parent = segment ? key.slice(0, segment.index) : key; - var keys = []; - if (parent) { - if (!options.plainObjects && has.call(Object.prototype, parent)) { - if (!options.allowPrototypes) { - return; - } - } - keys.push(parent); - } - var i2 = 0; - while (options.depth > 0 && (segment = child.exec(key)) !== null && i2 < options.depth) { - i2 += 1; - if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { - if (!options.allowPrototypes) { - return; - } - } - keys.push(segment[1]); - } - if (segment) { - keys.push("[" + key.slice(segment.index) + "]"); - } - return parseObject(keys, val, options, valuesParsed); - }; - var normalizeParseOptions = function normalizeParseOptions2(opts) { - if (!opts) { - return defaults; - } - if (opts.decoder !== null && opts.decoder !== void 0 && typeof opts.decoder !== "function") { - throw new TypeError("Decoder has to be a function."); - } - if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { - throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); - } - var charset = typeof opts.charset === "undefined" ? defaults.charset : opts.charset; - return { - allowDots: typeof opts.allowDots === "undefined" ? defaults.allowDots : !!opts.allowDots, - allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults.allowPrototypes, - allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults.allowSparse, - arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults.arrayLimit, - charset, - charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel, - comma: typeof opts.comma === "boolean" ? opts.comma : defaults.comma, - decoder: typeof opts.decoder === "function" ? opts.decoder : defaults.decoder, - delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter, - // eslint-disable-next-line no-implicit-coercion, no-extra-parens - depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults.depth, - ignoreQueryPrefix: opts.ignoreQueryPrefix === true, - interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults.interpretNumericEntities, - parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults.parameterLimit, - parseArrays: opts.parseArrays !== false, - plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults.plainObjects, - strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling - }; - }; - module2.exports = function(str, opts) { - var options = normalizeParseOptions(opts); - if (str === "" || str === null || typeof str === "undefined") { - return options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - } - var tempObj = typeof str === "string" ? parseValues(str, options) : str; - var obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - var keys = Object.keys(tempObj); - for (var i2 = 0; i2 < keys.length; ++i2) { - var key = keys[i2]; - var newObj = parseKeys(key, tempObj[key], options, typeof str === "string"); - obj = utils.merge(obj, newObj, options); - } - if (options.allowSparse === true) { - return obj; - } - return utils.compact(obj); - }; - } - }); - - // node_modules/qs/lib/index.js - var require_lib = __commonJS({ - "node_modules/qs/lib/index.js"(exports2, module2) { - "use strict"; - var stringify = require_stringify(); - var parse2 = require_parse(); - var formats2 = require_formats(); - module2.exports = { - formats: formats2, - parse: parse2, - stringify - }; - } - }); - - // node_modules/url/url.js - var require_url = __commonJS({ - "node_modules/url/url.js"(exports2) { - "use strict"; - var punycode = require_punycode(); - function Url() { - this.protocol = null; - this.slashes = null; - this.auth = null; - this.host = null; - this.port = null; - this.hostname = null; - this.hash = null; - this.search = null; - this.query = null; - this.pathname = null; - this.path = null; - this.href = null; - } - var protocolPattern = /^([a-z0-9.+-]+:)/i; - var portPattern = /:[0-9]*$/; - var simplePathPattern = /^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/; - var delims = [ - "<", - ">", - '"', - "`", - " ", - "\r", - "\n", - " " - ]; - var unwise = [ - "{", - "}", - "|", - "\\", - "^", - "`" - ].concat(delims); - var autoEscape = ["'"].concat(unwise); - var nonHostChars = [ - "%", - "/", - "?", - ";", - "#" - ].concat(autoEscape); - var hostEndingChars = [ - "/", - "?", - "#" - ]; - var hostnameMaxLen = 255; - var hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/; - var hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/; - var unsafeProtocol = { - javascript: true, - "javascript:": true - }; - var hostlessProtocol = { - javascript: true, - "javascript:": true - }; - var slashedProtocol = { - http: true, - https: true, - ftp: true, - gopher: true, - file: true, - "http:": true, - "https:": true, - "ftp:": true, - "gopher:": true, - "file:": true - }; - var querystring = require_lib(); - function urlParse(url2, parseQueryString, slashesDenoteHost) { - if (url2 && typeof url2 === "object" && url2 instanceof Url) { - return url2; - } - var u2 = new Url(); - u2.parse(url2, parseQueryString, slashesDenoteHost); - return u2; - } - Url.prototype.parse = function(url2, parseQueryString, slashesDenoteHost) { - if (typeof url2 !== "string") { - throw new TypeError("Parameter 'url' must be a string, not " + typeof url2); - } - var queryIndex = url2.indexOf("?"), splitter = queryIndex !== -1 && queryIndex < url2.indexOf("#") ? "?" : "#", uSplit = url2.split(splitter), slashRegex = /\\/g; - uSplit[0] = uSplit[0].replace(slashRegex, "/"); - url2 = uSplit.join(splitter); - var rest = url2; - rest = rest.trim(); - if (!slashesDenoteHost && url2.split("#").length === 1) { - var simplePath = simplePathPattern.exec(rest); - if (simplePath) { - this.path = rest; - this.href = rest; - this.pathname = simplePath[1]; - if (simplePath[2]) { - this.search = simplePath[2]; - if (parseQueryString) { - this.query = querystring.parse(this.search.substr(1)); - } else { - this.query = this.search.substr(1); - } - } else if (parseQueryString) { - this.search = ""; - this.query = {}; - } - return this; - } - } - var proto2 = protocolPattern.exec(rest); - if (proto2) { - proto2 = proto2[0]; - var lowerProto = proto2.toLowerCase(); - this.protocol = lowerProto; - rest = rest.substr(proto2.length); - } - if (slashesDenoteHost || proto2 || rest.match(/^\/\/[^@/]+@[^@/]+/)) { - var slashes = rest.substr(0, 2) === "//"; - if (slashes && !(proto2 && hostlessProtocol[proto2])) { - rest = rest.substr(2); - this.slashes = true; - } - } - if (!hostlessProtocol[proto2] && (slashes || proto2 && !slashedProtocol[proto2])) { - var hostEnd = -1; - for (var i2 = 0; i2 < hostEndingChars.length; i2++) { - var hec = rest.indexOf(hostEndingChars[i2]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { - hostEnd = hec; - } - } - var auth, atSign; - if (hostEnd === -1) { - atSign = rest.lastIndexOf("@"); - } else { - atSign = rest.lastIndexOf("@", hostEnd); - } - if (atSign !== -1) { - auth = rest.slice(0, atSign); - rest = rest.slice(atSign + 1); - this.auth = decodeURIComponent(auth); - } - hostEnd = -1; - for (var i2 = 0; i2 < nonHostChars.length; i2++) { - var hec = rest.indexOf(nonHostChars[i2]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { - hostEnd = hec; - } - } - if (hostEnd === -1) { - hostEnd = rest.length; - } - this.host = rest.slice(0, hostEnd); - rest = rest.slice(hostEnd); - this.parseHost(); - this.hostname = this.hostname || ""; - var ipv6Hostname = this.hostname[0] === "[" && this.hostname[this.hostname.length - 1] === "]"; - if (!ipv6Hostname) { - var hostparts = this.hostname.split(/\./); - for (var i2 = 0, l2 = hostparts.length; i2 < l2; i2++) { - var part = hostparts[i2]; - if (!part) { - continue; - } - if (!part.match(hostnamePartPattern)) { - var newpart = ""; - for (var j2 = 0, k2 = part.length; j2 < k2; j2++) { - if (part.charCodeAt(j2) > 127) { - newpart += "x"; - } else { - newpart += part[j2]; - } - } - if (!newpart.match(hostnamePartPattern)) { - var validParts = hostparts.slice(0, i2); - var notHost = hostparts.slice(i2 + 1); - var bit = part.match(hostnamePartStart); - if (bit) { - validParts.push(bit[1]); - notHost.unshift(bit[2]); - } - if (notHost.length) { - rest = "/" + notHost.join(".") + rest; - } - this.hostname = validParts.join("."); - break; - } - } - } - } - if (this.hostname.length > hostnameMaxLen) { - this.hostname = ""; - } else { - this.hostname = this.hostname.toLowerCase(); - } - if (!ipv6Hostname) { - this.hostname = punycode.toASCII(this.hostname); - } - var p2 = this.port ? ":" + this.port : ""; - var h2 = this.hostname || ""; - this.host = h2 + p2; - this.href += this.host; - if (ipv6Hostname) { - this.hostname = this.hostname.substr(1, this.hostname.length - 2); - if (rest[0] !== "/") { - rest = "/" + rest; - } - } - } - if (!unsafeProtocol[lowerProto]) { - for (var i2 = 0, l2 = autoEscape.length; i2 < l2; i2++) { - var ae = autoEscape[i2]; - if (rest.indexOf(ae) === -1) { - continue; - } - var esc = encodeURIComponent(ae); - if (esc === ae) { - esc = escape(ae); - } - rest = rest.split(ae).join(esc); - } - } - var hash = rest.indexOf("#"); - if (hash !== -1) { - this.hash = rest.substr(hash); - rest = rest.slice(0, hash); - } - var qm = rest.indexOf("?"); - if (qm !== -1) { - this.search = rest.substr(qm); - this.query = rest.substr(qm + 1); - if (parseQueryString) { - this.query = querystring.parse(this.query); - } - rest = rest.slice(0, qm); - } else if (parseQueryString) { - this.search = ""; - this.query = {}; - } - if (rest) { - this.pathname = rest; - } - if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) { - this.pathname = "/"; - } - if (this.pathname || this.search) { - var p2 = this.pathname || ""; - var s2 = this.search || ""; - this.path = p2 + s2; - } - this.href = this.format(); - return this; - }; - function urlFormat(obj) { - if (typeof obj === "string") { - obj = urlParse(obj); - } - if (!(obj instanceof Url)) { - return Url.prototype.format.call(obj); - } - return obj.format(); - } - Url.prototype.format = function() { - var auth = this.auth || ""; - if (auth) { - auth = encodeURIComponent(auth); - auth = auth.replace(/%3A/i, ":"); - auth += "@"; - } - var protocol = this.protocol || "", pathname = this.pathname || "", hash = this.hash || "", host = false, query = ""; - if (this.host) { - host = auth + this.host; - } else if (this.hostname) { - host = auth + (this.hostname.indexOf(":") === -1 ? this.hostname : "[" + this.hostname + "]"); - if (this.port) { - host += ":" + this.port; - } - } - if (this.query && typeof this.query === "object" && Object.keys(this.query).length) { - query = querystring.stringify(this.query, { - arrayFormat: "repeat", - addQueryPrefix: false - }); - } - var search = this.search || query && "?" + query || ""; - if (protocol && protocol.substr(-1) !== ":") { - protocol += ":"; - } - if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) { - host = "//" + (host || ""); - if (pathname && pathname.charAt(0) !== "/") { - pathname = "/" + pathname; - } - } else if (!host) { - host = ""; - } - if (hash && hash.charAt(0) !== "#") { - hash = "#" + hash; - } - if (search && search.charAt(0) !== "?") { - search = "?" + search; - } - pathname = pathname.replace(/[?#]/g, function(match) { - return encodeURIComponent(match); - }); - search = search.replace("#", "%23"); - return protocol + host + pathname + search + hash; - }; - function urlResolve(source, relative) { - return urlParse(source, false, true).resolve(relative); - } - Url.prototype.resolve = function(relative) { - return this.resolveObject(urlParse(relative, false, true)).format(); - }; - function urlResolveObject(source, relative) { - if (!source) { - return relative; - } - return urlParse(source, false, true).resolveObject(relative); - } - Url.prototype.resolveObject = function(relative) { - if (typeof relative === "string") { - var rel = new Url(); - rel.parse(relative, false, true); - relative = rel; - } - var result = new Url(); - var tkeys = Object.keys(this); - for (var tk = 0; tk < tkeys.length; tk++) { - var tkey = tkeys[tk]; - result[tkey] = this[tkey]; - } - result.hash = relative.hash; - if (relative.href === "") { - result.href = result.format(); - return result; - } - if (relative.slashes && !relative.protocol) { - var rkeys = Object.keys(relative); - for (var rk = 0; rk < rkeys.length; rk++) { - var rkey = rkeys[rk]; - if (rkey !== "protocol") { - result[rkey] = relative[rkey]; - } - } - if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) { - result.pathname = "/"; - result.path = result.pathname; - } - result.href = result.format(); - return result; - } - if (relative.protocol && relative.protocol !== result.protocol) { - if (!slashedProtocol[relative.protocol]) { - var keys = Object.keys(relative); - for (var v2 = 0; v2 < keys.length; v2++) { - var k2 = keys[v2]; - result[k2] = relative[k2]; - } - result.href = result.format(); - return result; - } - result.protocol = relative.protocol; - if (!relative.host && !hostlessProtocol[relative.protocol]) { - var relPath = (relative.pathname || "").split("/"); - while (relPath.length && !(relative.host = relPath.shift())) { - } - if (!relative.host) { - relative.host = ""; - } - if (!relative.hostname) { - relative.hostname = ""; - } - if (relPath[0] !== "") { - relPath.unshift(""); - } - if (relPath.length < 2) { - relPath.unshift(""); - } - result.pathname = relPath.join("/"); - } else { - result.pathname = relative.pathname; - } - result.search = relative.search; - result.query = relative.query; - result.host = relative.host || ""; - result.auth = relative.auth; - result.hostname = relative.hostname || relative.host; - result.port = relative.port; - if (result.pathname || result.search) { - var p2 = result.pathname || ""; - var s2 = result.search || ""; - result.path = p2 + s2; - } - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; - } - var isSourceAbs = result.pathname && result.pathname.charAt(0) === "/", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === "/", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split("/") || [], relPath = relative.pathname && relative.pathname.split("/") || [], psychotic = result.protocol && !slashedProtocol[result.protocol]; - if (psychotic) { - result.hostname = ""; - result.port = null; - if (result.host) { - if (srcPath[0] === "") { - srcPath[0] = result.host; - } else { - srcPath.unshift(result.host); - } - } - result.host = ""; - if (relative.protocol) { - relative.hostname = null; - relative.port = null; - if (relative.host) { - if (relPath[0] === "") { - relPath[0] = relative.host; - } else { - relPath.unshift(relative.host); - } - } - relative.host = null; - } - mustEndAbs = mustEndAbs && (relPath[0] === "" || srcPath[0] === ""); - } - if (isRelAbs) { - result.host = relative.host || relative.host === "" ? relative.host : result.host; - result.hostname = relative.hostname || relative.hostname === "" ? relative.hostname : result.hostname; - result.search = relative.search; - result.query = relative.query; - srcPath = relPath; - } else if (relPath.length) { - if (!srcPath) { - srcPath = []; - } - srcPath.pop(); - srcPath = srcPath.concat(relPath); - result.search = relative.search; - result.query = relative.query; - } else if (relative.search != null) { - if (psychotic) { - result.host = srcPath.shift(); - result.hostname = result.host; - var authInHost = result.host && result.host.indexOf("@") > 0 ? result.host.split("@") : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.hostname = authInHost.shift(); - result.host = result.hostname; - } - } - result.search = relative.search; - result.query = relative.query; - if (result.pathname !== null || result.search !== null) { - result.path = (result.pathname ? result.pathname : "") + (result.search ? result.search : ""); - } - result.href = result.format(); - return result; - } - if (!srcPath.length) { - result.pathname = null; - if (result.search) { - result.path = "/" + result.search; - } else { - result.path = null; - } - result.href = result.format(); - return result; - } - var last = srcPath.slice(-1)[0]; - var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === "." || last === "..") || last === ""; - var up = 0; - for (var i2 = srcPath.length; i2 >= 0; i2--) { - last = srcPath[i2]; - if (last === ".") { - srcPath.splice(i2, 1); - } else if (last === "..") { - srcPath.splice(i2, 1); - up++; - } else if (up) { - srcPath.splice(i2, 1); - up--; - } - } - if (!mustEndAbs && !removeAllDots) { - for (; up--; up) { - srcPath.unshift(".."); - } - } - if (mustEndAbs && srcPath[0] !== "" && (!srcPath[0] || srcPath[0].charAt(0) !== "/")) { - srcPath.unshift(""); - } - if (hasTrailingSlash && srcPath.join("/").substr(-1) !== "/") { - srcPath.push(""); - } - var isAbsolute = srcPath[0] === "" || srcPath[0] && srcPath[0].charAt(0) === "/"; - if (psychotic) { - result.hostname = isAbsolute ? "" : srcPath.length ? srcPath.shift() : ""; - result.host = result.hostname; - var authInHost = result.host && result.host.indexOf("@") > 0 ? result.host.split("@") : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.hostname = authInHost.shift(); - result.host = result.hostname; - } - } - mustEndAbs = mustEndAbs || result.host && srcPath.length; - if (mustEndAbs && !isAbsolute) { - srcPath.unshift(""); - } - if (srcPath.length > 0) { - result.pathname = srcPath.join("/"); - } else { - result.pathname = null; - result.path = null; - } - if (result.pathname !== null || result.search !== null) { - result.path = (result.pathname ? result.pathname : "") + (result.search ? result.search : ""); - } - result.auth = relative.auth || result.auth; - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; - }; - Url.prototype.parseHost = function() { - var host = this.host; - var port = portPattern.exec(host); - if (port) { - port = port[0]; - if (port !== ":") { - this.port = port.substr(1); - } - host = host.substr(0, host.length - port.length); - } - if (host) { - this.hostname = host; - } - }; - exports2.parse = urlParse; - exports2.resolve = urlResolve; - exports2.resolveObject = urlResolveObject; - exports2.format = urlFormat; - exports2.Url = Url; - } - }); - - // node_modules/google-protobuf/google-protobuf.js - var require_google_protobuf = __commonJS({ - "node_modules/google-protobuf/google-protobuf.js"(exports, module) { - var $jscomp = $jscomp || {}; - $jscomp.scope = {}; - $jscomp.findInternal = function(a3, b3, c3) { - a3 instanceof String && (a3 = String(a3)); - for (var d3 = a3.length, e3 = 0; e3 < d3; e3++) { - var f3 = a3[e3]; - if (b3.call(c3, f3, e3, a3)) - return { i: e3, v: f3 }; - } - return { i: -1, v: void 0 }; - }; - $jscomp.ASSUME_ES5 = false; - $jscomp.ASSUME_NO_NATIVE_MAP = false; - $jscomp.ASSUME_NO_NATIVE_SET = false; - $jscomp.SIMPLE_FROUND_POLYFILL = false; - $jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function(a3, b3, c3) { - a3 != Array.prototype && a3 != Object.prototype && (a3[b3] = c3.value); - }; - $jscomp.getGlobal = function(a3) { - return "undefined" != typeof window && window === a3 ? a3 : "undefined" != typeof global && null != global ? global : a3; - }; - $jscomp.global = $jscomp.getGlobal(exports); - $jscomp.polyfill = function(a3, b3, c3, d3) { - if (b3) { - c3 = $jscomp.global; - a3 = a3.split("."); - for (d3 = 0; d3 < a3.length - 1; d3++) { - var e3 = a3[d3]; - e3 in c3 || (c3[e3] = {}); - c3 = c3[e3]; - } - a3 = a3[a3.length - 1]; - d3 = c3[a3]; - b3 = b3(d3); - b3 != d3 && null != b3 && $jscomp.defineProperty(c3, a3, { configurable: true, writable: true, value: b3 }); - } - }; - $jscomp.polyfill("Array.prototype.findIndex", function(a3) { - return a3 ? a3 : function(a4, c3) { - return $jscomp.findInternal(this, a4, c3).i; - }; - }, "es6", "es3"); - $jscomp.checkStringArgs = function(a3, b3, c3) { - if (null == a3) - throw new TypeError("The 'this' value for String.prototype." + c3 + " must not be null or undefined"); - if (b3 instanceof RegExp) - throw new TypeError("First argument to String.prototype." + c3 + " must not be a regular expression"); - return a3 + ""; - }; - $jscomp.polyfill("String.prototype.endsWith", function(a3) { - return a3 ? a3 : function(a4, c3) { - var b3 = $jscomp.checkStringArgs(this, a4, "endsWith"); - a4 += ""; - void 0 === c3 && (c3 = b3.length); - c3 = Math.max(0, Math.min(c3 | 0, b3.length)); - for (var e3 = a4.length; 0 < e3 && 0 < c3; ) - if (b3[--c3] != a4[--e3]) - return false; - return 0 >= e3; - }; - }, "es6", "es3"); - $jscomp.polyfill("Array.prototype.find", function(a3) { - return a3 ? a3 : function(a4, c3) { - return $jscomp.findInternal(this, a4, c3).v; - }; - }, "es6", "es3"); - $jscomp.polyfill("String.prototype.startsWith", function(a3) { - return a3 ? a3 : function(a4, c3) { - var b3 = $jscomp.checkStringArgs(this, a4, "startsWith"); - a4 += ""; - var e3 = b3.length, f3 = a4.length; - c3 = Math.max(0, Math.min(c3 | 0, b3.length)); - for (var g2 = 0; g2 < f3 && c3 < e3; ) - if (b3[c3++] != a4[g2++]) - return false; - return g2 >= f3; - }; - }, "es6", "es3"); - $jscomp.polyfill("String.prototype.repeat", function(a3) { - return a3 ? a3 : function(a4) { - var b3 = $jscomp.checkStringArgs(this, null, "repeat"); - if (0 > a4 || 1342177279 < a4) - throw new RangeError("Invalid count value"); - a4 |= 0; - for (var d3 = ""; a4; ) - if (a4 & 1 && (d3 += b3), a4 >>>= 1) - b3 += b3; - return d3; - }; - }, "es6", "es3"); - var COMPILED = true; - var goog = goog || {}; - goog.global = exports || self; - goog.exportPath_ = function(a3, b3, c3) { - a3 = a3.split("."); - c3 = c3 || goog.global; - a3[0] in c3 || "undefined" == typeof c3.execScript || c3.execScript("var " + a3[0]); - for (var d3; a3.length && (d3 = a3.shift()); ) - a3.length || void 0 === b3 ? c3 = c3[d3] && c3[d3] !== Object.prototype[d3] ? c3[d3] : c3[d3] = {} : c3[d3] = b3; - }; - goog.define = function(a3, b3) { - if (!COMPILED) { - var c3 = goog.global.CLOSURE_UNCOMPILED_DEFINES, d3 = goog.global.CLOSURE_DEFINES; - c3 && void 0 === c3.nodeType && Object.prototype.hasOwnProperty.call(c3, a3) ? b3 = c3[a3] : d3 && void 0 === d3.nodeType && Object.prototype.hasOwnProperty.call(d3, a3) && (b3 = d3[a3]); - } - return b3; - }; - goog.FEATURESET_YEAR = 2012; - goog.DEBUG = true; - goog.LOCALE = "en"; - goog.TRUSTED_SITE = true; - goog.STRICT_MODE_COMPATIBLE = false; - goog.DISALLOW_TEST_ONLY_CODE = COMPILED && !goog.DEBUG; - goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = false; - goog.provide = function(a3) { - if (goog.isInModuleLoader_()) - throw Error("goog.provide cannot be used within a module."); - if (!COMPILED && goog.isProvided_(a3)) - throw Error('Namespace "' + a3 + '" already declared.'); - goog.constructNamespace_(a3); - }; - goog.constructNamespace_ = function(a3, b3) { - if (!COMPILED) { - delete goog.implicitNamespaces_[a3]; - for (var c3 = a3; (c3 = c3.substring(0, c3.lastIndexOf("."))) && !goog.getObjectByName(c3); ) - goog.implicitNamespaces_[c3] = true; - } - goog.exportPath_(a3, b3); - }; - goog.getScriptNonce = function(a3) { - if (a3 && a3 != goog.global) - return goog.getScriptNonce_(a3.document); - null === goog.cspNonce_ && (goog.cspNonce_ = goog.getScriptNonce_(goog.global.document)); - return goog.cspNonce_; - }; - goog.NONCE_PATTERN_ = /^[\w+/_-]+[=]{0,2}$/; - goog.cspNonce_ = null; - goog.getScriptNonce_ = function(a3) { - return (a3 = a3.querySelector && a3.querySelector("script[nonce]")) && (a3 = a3.nonce || a3.getAttribute("nonce")) && goog.NONCE_PATTERN_.test(a3) ? a3 : ""; - }; - goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/; - goog.module = function(a3) { - if ("string" !== typeof a3 || !a3 || -1 == a3.search(goog.VALID_MODULE_RE_)) - throw Error("Invalid module identifier"); - if (!goog.isInGoogModuleLoader_()) - throw Error("Module " + a3 + " has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide."); - if (goog.moduleLoaderState_.moduleName) - throw Error("goog.module may only be called once per module."); - goog.moduleLoaderState_.moduleName = a3; - if (!COMPILED) { - if (goog.isProvided_(a3)) - throw Error('Namespace "' + a3 + '" already declared.'); - delete goog.implicitNamespaces_[a3]; - } - }; - goog.module.get = function(a3) { - return goog.module.getInternal_(a3); - }; - goog.module.getInternal_ = function(a3) { - if (!COMPILED) { - if (a3 in goog.loadedModules_) - return goog.loadedModules_[a3].exports; - if (!goog.implicitNamespaces_[a3]) - return a3 = goog.getObjectByName(a3), null != a3 ? a3 : null; - } - return null; - }; - goog.ModuleType = { ES6: "es6", GOOG: "goog" }; - goog.moduleLoaderState_ = null; - goog.isInModuleLoader_ = function() { - return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_(); - }; - goog.isInGoogModuleLoader_ = function() { - return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.GOOG; - }; - goog.isInEs6ModuleLoader_ = function() { - if (goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.ES6) - return true; - var a3 = goog.global.$jscomp; - return a3 ? "function" != typeof a3.getCurrentModulePath ? false : !!a3.getCurrentModulePath() : false; - }; - goog.module.declareLegacyNamespace = function() { - if (!COMPILED && !goog.isInGoogModuleLoader_()) - throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module"); - if (!COMPILED && !goog.moduleLoaderState_.moduleName) - throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace."); - goog.moduleLoaderState_.declareLegacyNamespace = true; - }; - goog.declareModuleId = function(a3) { - if (!COMPILED) { - if (!goog.isInEs6ModuleLoader_()) - throw Error("goog.declareModuleId may only be called from within an ES6 module"); - if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName) - throw Error("goog.declareModuleId may only be called once per module."); - if (a3 in goog.loadedModules_) - throw Error('Module with namespace "' + a3 + '" already exists.'); - } - if (goog.moduleLoaderState_) - goog.moduleLoaderState_.moduleName = a3; - else { - var b3 = goog.global.$jscomp; - if (!b3 || "function" != typeof b3.getCurrentModulePath) - throw Error('Module with namespace "' + a3 + '" has been loaded incorrectly.'); - b3 = b3.require(b3.getCurrentModulePath()); - goog.loadedModules_[a3] = { exports: b3, type: goog.ModuleType.ES6, moduleId: a3 }; - } - }; - goog.setTestOnly = function(a3) { - if (goog.DISALLOW_TEST_ONLY_CODE) - throw a3 = a3 || "", Error("Importing test-only code into non-debug environment" + (a3 ? ": " + a3 : ".")); - }; - goog.forwardDeclare = function(a3) { - }; - COMPILED || (goog.isProvided_ = function(a3) { - return a3 in goog.loadedModules_ || !goog.implicitNamespaces_[a3] && null != goog.getObjectByName(a3); - }, goog.implicitNamespaces_ = { "goog.module": true }); - goog.getObjectByName = function(a3, b3) { - a3 = a3.split("."); - b3 = b3 || goog.global; - for (var c3 = 0; c3 < a3.length; c3++) - if (b3 = b3[a3[c3]], null == b3) - return null; - return b3; - }; - goog.globalize = function(a3, b3) { - b3 = b3 || goog.global; - for (var c3 in a3) - b3[c3] = a3[c3]; - }; - goog.addDependency = function(a3, b3, c3, d3) { - !COMPILED && goog.DEPENDENCIES_ENABLED && goog.debugLoader_.addDependency(a3, b3, c3, d3); - }; - goog.ENABLE_DEBUG_LOADER = true; - goog.logToConsole_ = function(a3) { - goog.global.console && goog.global.console.error(a3); - }; - goog.require = function(a3) { - if (!COMPILED) { - goog.ENABLE_DEBUG_LOADER && goog.debugLoader_.requested(a3); - if (goog.isProvided_(a3)) { - if (goog.isInModuleLoader_()) - return goog.module.getInternal_(a3); - } else if (goog.ENABLE_DEBUG_LOADER) { - var b3 = goog.moduleLoaderState_; - goog.moduleLoaderState_ = null; - try { - goog.debugLoader_.load_(a3); - } finally { - goog.moduleLoaderState_ = b3; - } - } - return null; - } - }; - goog.requireType = function(a3) { - return {}; - }; - goog.basePath = ""; - goog.nullFunction = function() { - }; - goog.abstractMethod = function() { - throw Error("unimplemented abstract method"); - }; - goog.addSingletonGetter = function(a3) { - a3.instance_ = void 0; - a3.getInstance = function() { - if (a3.instance_) - return a3.instance_; - goog.DEBUG && (goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = a3); - return a3.instance_ = new a3(); - }; - }; - goog.instantiatedSingletons_ = []; - goog.LOAD_MODULE_USING_EVAL = true; - goog.SEAL_MODULE_EXPORTS = goog.DEBUG; - goog.loadedModules_ = {}; - goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER; - goog.TRANSPILE = "detect"; - goog.ASSUME_ES_MODULES_TRANSPILED = false; - goog.TRANSPILE_TO_LANGUAGE = ""; - goog.TRANSPILER = "transpile.js"; - goog.hasBadLetScoping = null; - goog.useSafari10Workaround = function() { - if (null == goog.hasBadLetScoping) { - try { - var a = !eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";'); - } catch (b3) { - a = false; - } - goog.hasBadLetScoping = a; - } - return goog.hasBadLetScoping; - }; - goog.workaroundSafari10EvalBug = function(a3) { - return "(function(){" + a3 + "\n;})();\n"; - }; - goog.loadModule = function(a3) { - var b3 = goog.moduleLoaderState_; - try { - goog.moduleLoaderState_ = { moduleName: "", declareLegacyNamespace: false, type: goog.ModuleType.GOOG }; - if (goog.isFunction(a3)) - var c3 = a3.call(void 0, {}); - else if ("string" === typeof a3) - goog.useSafari10Workaround() && (a3 = goog.workaroundSafari10EvalBug(a3)), c3 = goog.loadModuleFromSource_.call(void 0, a3); - else - throw Error("Invalid module definition"); - var d3 = goog.moduleLoaderState_.moduleName; - if ("string" === typeof d3 && d3) - goog.moduleLoaderState_.declareLegacyNamespace ? goog.constructNamespace_( - d3, - c3 - ) : goog.SEAL_MODULE_EXPORTS && Object.seal && "object" == typeof c3 && null != c3 && Object.seal(c3), goog.loadedModules_[d3] = { exports: c3, type: goog.ModuleType.GOOG, moduleId: goog.moduleLoaderState_.moduleName }; - else - throw Error('Invalid module name "' + d3 + '"'); - } finally { - goog.moduleLoaderState_ = b3; - } - }; - goog.loadModuleFromSource_ = function(a) { - eval(a); - return {}; - }; - goog.normalizePath_ = function(a3) { - a3 = a3.split("/"); - for (var b3 = 0; b3 < a3.length; ) - "." == a3[b3] ? a3.splice(b3, 1) : b3 && ".." == a3[b3] && a3[b3 - 1] && ".." != a3[b3 - 1] ? a3.splice(--b3, 2) : b3++; - return a3.join("/"); - }; - goog.loadFileSync_ = function(a3) { - if (goog.global.CLOSURE_LOAD_FILE_SYNC) - return goog.global.CLOSURE_LOAD_FILE_SYNC(a3); - try { - var b3 = new goog.global.XMLHttpRequest(); - b3.open("get", a3, false); - b3.send(); - return 0 == b3.status || 200 == b3.status ? b3.responseText : null; - } catch (c3) { - return null; - } - }; - goog.transpile_ = function(a3, b3, c3) { - var d3 = goog.global.$jscomp; - d3 || (goog.global.$jscomp = d3 = {}); - var e3 = d3.transpile; - if (!e3) { - var f3 = goog.basePath + goog.TRANSPILER, g2 = goog.loadFileSync_(f3); - if (g2) { - (function() { - (0, eval)(g2 + "\n//# sourceURL=" + f3); - }).call(goog.global); - if (goog.global.$gwtExport && goog.global.$gwtExport.$jscomp && !goog.global.$gwtExport.$jscomp.transpile) - throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: ' + JSON.stringify(goog.global.$gwtExport)); - goog.global.$jscomp.transpile = goog.global.$gwtExport.$jscomp.transpile; - d3 = goog.global.$jscomp; - e3 = d3.transpile; - } - } - e3 || (e3 = d3.transpile = function(a4, b4) { - goog.logToConsole_(b4 + " requires transpilation but no transpiler was found."); - return a4; - }); - return e3(a3, b3, c3); - }; - goog.typeOf = function(a3) { - var b3 = typeof a3; - if ("object" == b3) - if (a3) { - if (a3 instanceof Array) - return "array"; - if (a3 instanceof Object) - return b3; - var c3 = Object.prototype.toString.call(a3); - if ("[object Window]" == c3) - return "object"; - if ("[object Array]" == c3 || "number" == typeof a3.length && "undefined" != typeof a3.splice && "undefined" != typeof a3.propertyIsEnumerable && !a3.propertyIsEnumerable("splice")) - return "array"; - if ("[object Function]" == c3 || "undefined" != typeof a3.call && "undefined" != typeof a3.propertyIsEnumerable && !a3.propertyIsEnumerable("call")) - return "function"; - } else - return "null"; - else if ("function" == b3 && "undefined" == typeof a3.call) - return "object"; - return b3; - }; - goog.isArray = function(a3) { - return "array" == goog.typeOf(a3); - }; - goog.isArrayLike = function(a3) { - var b3 = goog.typeOf(a3); - return "array" == b3 || "object" == b3 && "number" == typeof a3.length; - }; - goog.isDateLike = function(a3) { - return goog.isObject(a3) && "function" == typeof a3.getFullYear; - }; - goog.isFunction = function(a3) { - return "function" == goog.typeOf(a3); - }; - goog.isObject = function(a3) { - var b3 = typeof a3; - return "object" == b3 && null != a3 || "function" == b3; - }; - goog.getUid = function(a3) { - return Object.prototype.hasOwnProperty.call(a3, goog.UID_PROPERTY_) && a3[goog.UID_PROPERTY_] || (a3[goog.UID_PROPERTY_] = ++goog.uidCounter_); - }; - goog.hasUid = function(a3) { - return !!a3[goog.UID_PROPERTY_]; - }; - goog.removeUid = function(a3) { - null !== a3 && "removeAttribute" in a3 && a3.removeAttribute(goog.UID_PROPERTY_); - try { - delete a3[goog.UID_PROPERTY_]; - } catch (b3) { - } - }; - goog.UID_PROPERTY_ = "closure_uid_" + (1e9 * Math.random() >>> 0); - goog.uidCounter_ = 0; - goog.getHashCode = goog.getUid; - goog.removeHashCode = goog.removeUid; - goog.cloneObject = function(a3) { - var b3 = goog.typeOf(a3); - if ("object" == b3 || "array" == b3) { - if ("function" === typeof a3.clone) - return a3.clone(); - b3 = "array" == b3 ? [] : {}; - for (var c3 in a3) - b3[c3] = goog.cloneObject(a3[c3]); - return b3; - } - return a3; - }; - goog.bindNative_ = function(a3, b3, c3) { - return a3.call.apply(a3.bind, arguments); - }; - goog.bindJs_ = function(a3, b3, c3) { - if (!a3) - throw Error(); - if (2 < arguments.length) { - var d3 = Array.prototype.slice.call(arguments, 2); - return function() { - var c4 = Array.prototype.slice.call(arguments); - Array.prototype.unshift.apply(c4, d3); - return a3.apply(b3, c4); - }; - } - return function() { - return a3.apply(b3, arguments); - }; - }; - goog.bind = function(a3, b3, c3) { - Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? goog.bind = goog.bindNative_ : goog.bind = goog.bindJs_; - return goog.bind.apply(null, arguments); - }; - goog.partial = function(a3, b3) { - var c3 = Array.prototype.slice.call(arguments, 1); - return function() { - var b4 = c3.slice(); - b4.push.apply(b4, arguments); - return a3.apply(this, b4); - }; - }; - goog.mixin = function(a3, b3) { - for (var c3 in b3) - a3[c3] = b3[c3]; - }; - goog.now = goog.TRUSTED_SITE && Date.now || function() { - return +/* @__PURE__ */ new Date(); - }; - goog.globalEval = function(a3) { - if (goog.global.execScript) - goog.global.execScript(a3, "JavaScript"); - else if (goog.global.eval) { - if (null == goog.evalWorksForGlobals_) { - try { - goog.global.eval("var _evalTest_ = 1;"); - } catch (d3) { - } - if ("undefined" != typeof goog.global._evalTest_) { - try { - delete goog.global._evalTest_; - } catch (d3) { - } - goog.evalWorksForGlobals_ = true; - } else - goog.evalWorksForGlobals_ = false; - } - if (goog.evalWorksForGlobals_) - goog.global.eval(a3); - else { - var b3 = goog.global.document, c3 = b3.createElement("script"); - c3.type = "text/javascript"; - c3.defer = false; - c3.appendChild(b3.createTextNode(a3)); - b3.head.appendChild(c3); - b3.head.removeChild(c3); - } - } else - throw Error("goog.globalEval not available"); - }; - goog.evalWorksForGlobals_ = null; - goog.getCssName = function(a3, b3) { - if ("." == String(a3).charAt(0)) - throw Error('className passed in goog.getCssName must not start with ".". You passed: ' + a3); - var c3 = function(a4) { - return goog.cssNameMapping_[a4] || a4; - }, d3 = function(a4) { - a4 = a4.split("-"); - for (var b4 = [], d4 = 0; d4 < a4.length; d4++) - b4.push(c3(a4[d4])); - return b4.join("-"); - }; - d3 = goog.cssNameMapping_ ? "BY_WHOLE" == goog.cssNameMappingStyle_ ? c3 : d3 : function(a4) { - return a4; - }; - a3 = b3 ? a3 + "-" + d3(b3) : d3(a3); - return goog.global.CLOSURE_CSS_NAME_MAP_FN ? goog.global.CLOSURE_CSS_NAME_MAP_FN(a3) : a3; - }; - goog.setCssNameMapping = function(a3, b3) { - goog.cssNameMapping_ = a3; - goog.cssNameMappingStyle_ = b3; - }; - !COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING && (goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING); - goog.getMsg = function(a3, b3, c3) { - c3 && c3.html && (a3 = a3.replace(/{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()'); - }); - a("es7", function() { - return b("2 ** 2 == 4"); - }); - a("es8", function() { - return b("async () => 1, true"); - }); - a("es9", function() { - return b("({...rest} = {}), true"); - }); - a("es_next", function() { - return false; - }); - return { target: c, map: d }; - }, goog.Transpiler.prototype.needsTranspile = function(a3, b3) { - if ("always" == goog.TRANSPILE) - return true; - if ("never" == goog.TRANSPILE) - return false; - if (!this.requiresTranspilation_) { - var c3 = this.createRequiresTranspilation_(); - this.requiresTranspilation_ = c3.map; - this.transpilationTarget_ = this.transpilationTarget_ || c3.target; - } - if (a3 in this.requiresTranspilation_) - return this.requiresTranspilation_[a3] ? true : !goog.inHtmlDocument_() || "es6" != b3 || "noModule" in goog.global.document.createElement("script") ? false : true; - throw Error("Unknown language mode: " + a3); - }, goog.Transpiler.prototype.transpile = function(a3, b3) { - return goog.transpile_(a3, b3, this.transpilationTarget_); - }, goog.transpiler_ = new goog.Transpiler(), goog.protectScriptTag_ = function(a3) { - return a3.replace(/<\/(SCRIPT)/ig, "\\x3c/$1"); - }, goog.DebugLoader_ = function() { - this.dependencies_ = {}; - this.idToPath_ = {}; - this.written_ = {}; - this.loadingDeps_ = []; - this.depsToLoad_ = []; - this.paused_ = false; - this.factory_ = new goog.DependencyFactory(goog.transpiler_); - this.deferredCallbacks_ = {}; - this.deferredQueue_ = []; - }, goog.DebugLoader_.prototype.bootstrap = function(a3, b3) { - function c3() { - d3 && (goog.global.setTimeout(d3, 0), d3 = null); - } - var d3 = b3; - if (a3.length) { - b3 = []; - for (var e3 = 0; e3 < a3.length; e3++) { - var f3 = this.getPathFromDeps_(a3[e3]); - if (!f3) - throw Error("Unregonized namespace: " + a3[e3]); - b3.push(this.dependencies_[f3]); - } - f3 = goog.require; - var g2 = 0; - for (e3 = 0; e3 < a3.length; e3++) - f3(a3[e3]), b3[e3].onLoad(function() { - ++g2 == a3.length && c3(); - }); - } else - c3(); - }, goog.DebugLoader_.prototype.loadClosureDeps = function() { - this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath + "deps.js"), "deps.js", [], [], {}, false)); - this.loadDeps_(); - }, goog.DebugLoader_.prototype.requested = function(a3, b3) { - (a3 = this.getPathFromDeps_(a3)) && (b3 || this.areDepsLoaded_(this.dependencies_[a3].requires)) && (b3 = this.deferredCallbacks_[a3]) && (delete this.deferredCallbacks_[a3], b3()); - }, goog.DebugLoader_.prototype.setDependencyFactory = function(a3) { - this.factory_ = a3; - }, goog.DebugLoader_.prototype.load_ = function(a3) { - if (this.getPathFromDeps_(a3)) { - var b3 = this, c3 = [], d3 = function(a4) { - var e3 = b3.getPathFromDeps_(a4); - if (!e3) - throw Error("Bad dependency path or symbol: " + a4); - if (!b3.written_[e3]) { - b3.written_[e3] = true; - a4 = b3.dependencies_[e3]; - for (e3 = 0; e3 < a4.requires.length; e3++) - goog.isProvided_(a4.requires[e3]) || d3(a4.requires[e3]); - c3.push(a4); - } - }; - d3(a3); - a3 = !!this.depsToLoad_.length; - this.depsToLoad_ = this.depsToLoad_.concat(c3); - this.paused_ || a3 || this.loadDeps_(); - } else - throw a3 = "goog.require could not find: " + a3, goog.logToConsole_(a3), Error(a3); - }, goog.DebugLoader_.prototype.loadDeps_ = function() { - for (var a3 = this, b3 = this.paused_; this.depsToLoad_.length && !b3; ) - (function() { - var c3 = false, d3 = a3.depsToLoad_.shift(), e3 = false; - a3.loading_(d3); - var f3 = { pause: function() { - if (c3) - throw Error("Cannot call pause after the call to load."); - b3 = true; - }, resume: function() { - c3 ? a3.resume_() : b3 = false; - }, loaded: function() { - if (e3) - throw Error("Double call to loaded."); - e3 = true; - a3.loaded_(d3); - }, pending: function() { - for (var b4 = [], c4 = 0; c4 < a3.loadingDeps_.length; c4++) - b4.push(a3.loadingDeps_[c4]); - return b4; - }, setModuleState: function(a4) { - goog.moduleLoaderState_ = { type: a4, moduleName: "", declareLegacyNamespace: false }; - }, registerEs6ModuleExports: function(a4, b4, c4) { - c4 && (goog.loadedModules_[c4] = { exports: b4, type: goog.ModuleType.ES6, moduleId: c4 || "" }); - }, registerGoogModuleExports: function(a4, b4) { - goog.loadedModules_[a4] = { exports: b4, type: goog.ModuleType.GOOG, moduleId: a4 }; - }, clearModuleState: function() { - goog.moduleLoaderState_ = null; - }, defer: function(b4) { - if (c3) - throw Error("Cannot register with defer after the call to load."); - a3.defer_( - d3, - b4 - ); - }, areDepsLoaded: function() { - return a3.areDepsLoaded_(d3.requires); - } }; - try { - d3.load(f3); - } finally { - c3 = true; - } - })(); - b3 && this.pause_(); - }, goog.DebugLoader_.prototype.pause_ = function() { - this.paused_ = true; - }, goog.DebugLoader_.prototype.resume_ = function() { - this.paused_ && (this.paused_ = false, this.loadDeps_()); - }, goog.DebugLoader_.prototype.loading_ = function(a3) { - this.loadingDeps_.push(a3); - }, goog.DebugLoader_.prototype.loaded_ = function(a3) { - for (var b3 = 0; b3 < this.loadingDeps_.length; b3++) - if (this.loadingDeps_[b3] == a3) { - this.loadingDeps_.splice(b3, 1); - break; - } - for (b3 = 0; b3 < this.deferredQueue_.length; b3++) - if (this.deferredQueue_[b3] == a3.path) { - this.deferredQueue_.splice(b3, 1); - break; - } - if (this.loadingDeps_.length == this.deferredQueue_.length && !this.depsToLoad_.length) - for (; this.deferredQueue_.length; ) - this.requested(this.deferredQueue_.shift(), true); - a3.loaded(); - }, goog.DebugLoader_.prototype.areDepsLoaded_ = function(a3) { - for (var b3 = 0; b3 < a3.length; b3++) { - var c3 = this.getPathFromDeps_(a3[b3]); - if (!c3 || !(c3 in this.deferredCallbacks_ || goog.isProvided_(a3[b3]))) - return false; - } - return true; - }, goog.DebugLoader_.prototype.getPathFromDeps_ = function(a3) { - return a3 in this.idToPath_ ? this.idToPath_[a3] : a3 in this.dependencies_ ? a3 : null; - }, goog.DebugLoader_.prototype.defer_ = function(a3, b3) { - this.deferredCallbacks_[a3.path] = b3; - this.deferredQueue_.push(a3.path); - }, goog.LoadController = function() { - }, goog.LoadController.prototype.pause = function() { - }, goog.LoadController.prototype.resume = function() { - }, goog.LoadController.prototype.loaded = function() { - }, goog.LoadController.prototype.pending = function() { - }, goog.LoadController.prototype.registerEs6ModuleExports = function(a3, b3, c3) { - }, goog.LoadController.prototype.setModuleState = function(a3) { - }, goog.LoadController.prototype.clearModuleState = function() { - }, goog.LoadController.prototype.defer = function(a3) { - }, goog.LoadController.prototype.areDepsLoaded = function() { - }, goog.Dependency = function(a3, b3, c3, d3, e3) { - this.path = a3; - this.relativePath = b3; - this.provides = c3; - this.requires = d3; - this.loadFlags = e3; - this.loaded_ = false; - this.loadCallbacks_ = []; - }, goog.Dependency.prototype.getPathName = function() { - var a3 = this.path, b3 = a3.indexOf("://"); - 0 <= b3 && (a3 = a3.substring(b3 + 3), b3 = a3.indexOf("/"), 0 <= b3 && (a3 = a3.substring(b3 + 1))); - return a3; - }, goog.Dependency.prototype.onLoad = function(a3) { - this.loaded_ ? a3() : this.loadCallbacks_.push(a3); - }, goog.Dependency.prototype.loaded = function() { - this.loaded_ = true; - var a3 = this.loadCallbacks_; - this.loadCallbacks_ = []; - for (var b3 = 0; b3 < a3.length; b3++) - a3[b3](); - }, goog.Dependency.defer_ = false, goog.Dependency.callbackMap_ = {}, goog.Dependency.registerCallback_ = function(a3) { - var b3 = Math.random().toString(32); - goog.Dependency.callbackMap_[b3] = a3; - return b3; - }, goog.Dependency.unregisterCallback_ = function(a3) { - delete goog.Dependency.callbackMap_[a3]; - }, goog.Dependency.callback_ = function(a3, b3) { - if (a3 in goog.Dependency.callbackMap_) { - for (var c3 = goog.Dependency.callbackMap_[a3], d3 = [], e3 = 1; e3 < arguments.length; e3++) - d3.push(arguments[e3]); - c3.apply(void 0, d3); - } else - throw Error("Callback key " + a3 + " does not exist (was base.js loaded more than once?)."); - }, goog.Dependency.prototype.load = function(a3) { - if (goog.global.CLOSURE_IMPORT_SCRIPT) - goog.global.CLOSURE_IMPORT_SCRIPT(this.path) ? a3.loaded() : a3.pause(); - else if (goog.inHtmlDocument_()) { - var b3 = goog.global.document; - if ("complete" == b3.readyState && !goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) { - if (/\bdeps.js$/.test(this.path)) { - a3.loaded(); - return; - } - throw Error('Cannot write "' + this.path + '" after document load'); - } - if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && goog.isDocumentLoading_()) { - var c3 = goog.Dependency.registerCallback_(function(b4) { - goog.DebugLoader_.IS_OLD_IE_ && "complete" != b4.readyState || (goog.Dependency.unregisterCallback_(c3), a3.loaded()); - }), d3 = !goog.DebugLoader_.IS_OLD_IE_ && goog.getScriptNonce() ? ' nonce="' + goog.getScriptNonce() + '"' : ""; - d3 = '