From 9eea80002673eb1359a2d4369c65a89c42c2f707 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 28 May 2020 10:16:09 -0500 Subject: [PATCH 001/249] Refactor notification settings --- CHANGELOG.md | 3 ++ docs/API/pleroma_api.md | 7 ++--- lib/pleroma/notification.ex | 29 ++++++------------- lib/pleroma/user/notification_setting.ex | 14 ++++----- lib/pleroma/web/api_spec/schemas/account.ex | 14 ++++----- test/notification_test.exs | 17 +++-------- .../mastodon_api/views/account_view_test.exs | 7 ++--- test/web/twitter_api/util_controller_test.exs | 16 +++++----- 8 files changed, 41 insertions(+), 66 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dabc2a85a..fba236608 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
API Changes - **Breaking:** Emoji API: changed methods and renamed routes. +- **Breaking:** Notification Settings API for suppressing notification + now supports the following controls: `from_followers`, `from_following`, + and `from_strangers`.
### Removed diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 70d4755b7..2cb0792db 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -287,10 +287,9 @@ See [Admin-API](admin_api.md) * Method `PUT` * Authentication: required * Params: - * `followers`: BOOLEAN field, receives notifications from followers - * `follows`: BOOLEAN field, receives notifications from people the user follows - * `remote`: BOOLEAN field, receives notifications from people on remote instances - * `local`: BOOLEAN field, receives notifications from people on the local instance + * `from_followers`: BOOLEAN field, receives notifications from followers + * `from_following`: BOOLEAN field, receives notifications from people the user follows + * `from_strangers`: BOOLEAN field, receives notifications from people without an established relationship * `privacy_option`: BOOLEAN field. When set to true, it removes the contents of a message from the push notification. * Response: JSON. Returns `{"status": "success"}` if the update was successful, otherwise returns `{"error": "error_msg"}` diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 7eca55ac9..ca556f0bb 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -459,10 +459,9 @@ defmodule Pleroma.Notification do def skip?(%Activity{} = activity, %User{} = user) do [ :self, - :followers, - :follows, - :non_followers, - :non_follows, + :from_followers, + :from_following, + :from_strangers, :recently_followed ] |> Enum.find(&skip?(&1, activity, user)) @@ -476,9 +475,9 @@ defmodule Pleroma.Notification do end def skip?( - :followers, + :from_followers, %Activity{} = activity, - %User{notification_settings: %{followers: false}} = user + %User{notification_settings: %{from_followers: false}} = user ) do actor = activity.data["actor"] follower = User.get_cached_by_ap_id(actor) @@ -486,9 +485,9 @@ defmodule Pleroma.Notification do end def skip?( - :non_followers, + :from_strangers, %Activity{} = activity, - %User{notification_settings: %{non_followers: false}} = user + %User{notification_settings: %{from_strangers: false}} = user ) do actor = activity.data["actor"] follower = User.get_cached_by_ap_id(actor) @@ -496,25 +495,15 @@ defmodule Pleroma.Notification do end def skip?( - :follows, + :from_following, %Activity{} = activity, - %User{notification_settings: %{follows: false}} = user + %User{notification_settings: %{from_following: false}} = user ) do actor = activity.data["actor"] followed = User.get_cached_by_ap_id(actor) User.following?(user, followed) end - def skip?( - :non_follows, - %Activity{} = activity, - %User{notification_settings: %{non_follows: false}} = user - ) do - actor = activity.data["actor"] - followed = User.get_cached_by_ap_id(actor) - !User.following?(user, followed) - end - # To do: consider defining recency in hours and checking FollowingRelationship with a single SQL def skip?(:recently_followed, %Activity{data: %{"type" => "Follow"}} = activity, %User{} = user) do actor = activity.data["actor"] diff --git a/lib/pleroma/user/notification_setting.ex b/lib/pleroma/user/notification_setting.ex index 4bd55e139..e47ac4cab 100644 --- a/lib/pleroma/user/notification_setting.ex +++ b/lib/pleroma/user/notification_setting.ex @@ -10,20 +10,18 @@ defmodule Pleroma.User.NotificationSetting do @primary_key false embedded_schema do - field(:followers, :boolean, default: true) - field(:follows, :boolean, default: true) - field(:non_follows, :boolean, default: true) - field(:non_followers, :boolean, default: true) + field(:from_followers, :boolean, default: true) + field(:from_following, :boolean, default: true) + field(:from_strangers, :boolean, default: true) field(:privacy_option, :boolean, default: false) end def changeset(schema, params) do schema |> cast(prepare_attrs(params), [ - :followers, - :follows, - :non_follows, - :non_followers, + :from_followers, + :from_following, + :from_strangers, :privacy_option ]) end diff --git a/lib/pleroma/web/api_spec/schemas/account.ex b/lib/pleroma/web/api_spec/schemas/account.ex index d54e2158d..ed90ef3db 100644 --- a/lib/pleroma/web/api_spec/schemas/account.ex +++ b/lib/pleroma/web/api_spec/schemas/account.ex @@ -57,10 +57,9 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do notification_settings: %Schema{ type: :object, properties: %{ - followers: %Schema{type: :boolean}, - follows: %Schema{type: :boolean}, - non_followers: %Schema{type: :boolean}, - non_follows: %Schema{type: :boolean}, + from_followers: %Schema{type: :boolean}, + from_following: %Schema{type: :boolean}, + from_strangers: %Schema{type: :boolean}, privacy_option: %Schema{type: :boolean} } }, @@ -123,10 +122,9 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do "unread_conversation_count" => 0, "tags" => [], "notification_settings" => %{ - "followers" => true, - "follows" => true, - "non_followers" => true, - "non_follows" => true, + "from_followers" => true, + "from_following" => true, + "from_strangers" => true, "privacy_option" => false }, "relationship" => %{ diff --git a/test/notification_test.exs b/test/notification_test.exs index 37c255fee..fd59aceb5 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -237,19 +237,19 @@ defmodule Pleroma.NotificationTest do follower = insert(:user) followed = - insert(:user, notification_settings: %Pleroma.User.NotificationSetting{followers: false}) + insert(:user, notification_settings: %Pleroma.User.NotificationSetting{from_followers: false}) User.follow(follower, followed) {:ok, activity} = CommonAPI.post(follower, %{status: "hey @#{followed.nickname}"}) refute Notification.create_notification(activity, followed) end - test "it disables notifications from non-followers" do + test "it disables notifications from strangers" do follower = insert(:user) followed = insert(:user, - notification_settings: %Pleroma.User.NotificationSetting{non_followers: false} + notification_settings: %Pleroma.User.NotificationSetting{from_strangers: false} ) {:ok, activity} = CommonAPI.post(follower, %{status: "hey @#{followed.nickname}"}) @@ -258,7 +258,7 @@ defmodule Pleroma.NotificationTest do test "it disables notifications from people the user follows" do follower = - insert(:user, notification_settings: %Pleroma.User.NotificationSetting{follows: false}) + insert(:user, notification_settings: %Pleroma.User.NotificationSetting{from_following: false}) followed = insert(:user) User.follow(follower, followed) @@ -267,15 +267,6 @@ defmodule Pleroma.NotificationTest do refute Notification.create_notification(activity, follower) end - test "it disables notifications from people the user does not follow" do - follower = - insert(:user, notification_settings: %Pleroma.User.NotificationSetting{non_follows: false}) - - followed = insert(:user) - {:ok, activity} = CommonAPI.post(followed, %{status: "hey @#{follower.nickname}"}) - refute Notification.create_notification(activity, follower) - end - test "it doesn't create a notification for user if he is the activity author" do activity = insert(:note_activity) author = User.get_cached_by_ap_id(activity.data["actor"]) diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 487ec26c2..2e01689ff 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -94,10 +94,9 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do user = insert(:user) notification_settings = %{ - followers: true, - follows: true, - non_followers: true, - non_follows: true, + from_followers: true, + from_following: true, + from_strangers: true, privacy_option: false } diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index ad919d341..1133107f4 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -191,7 +191,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do test "it updates notification settings", %{user: user, conn: conn} do conn |> put("/api/pleroma/notification_settings", %{ - "followers" => false, + "from_followers" => false, "bar" => 1 }) |> json_response(:ok) @@ -199,10 +199,9 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do user = refresh_record(user) assert %Pleroma.User.NotificationSetting{ - followers: false, - follows: true, - non_follows: true, - non_followers: true, + from_followers: false, + from_following: true, + from_strangers: true, privacy_option: false } == user.notification_settings end @@ -215,10 +214,9 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do user = refresh_record(user) assert %Pleroma.User.NotificationSetting{ - followers: true, - follows: true, - non_follows: true, - non_followers: true, + from_followers: true, + from_following: true, + from_strangers: true, privacy_option: true } == user.notification_settings end From 4c82f657c5aaba6aacbc8ef927c1727509195839 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 28 May 2020 13:22:28 -0500 Subject: [PATCH 002/249] Formatting --- test/notification_test.exs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/notification_test.exs b/test/notification_test.exs index fd59aceb5..a1a7cee2a 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -237,7 +237,9 @@ defmodule Pleroma.NotificationTest do follower = insert(:user) followed = - insert(:user, notification_settings: %Pleroma.User.NotificationSetting{from_followers: false}) + insert(:user, + notification_settings: %Pleroma.User.NotificationSetting{from_followers: false} + ) User.follow(follower, followed) {:ok, activity} = CommonAPI.post(follower, %{status: "hey @#{followed.nickname}"}) @@ -258,7 +260,9 @@ defmodule Pleroma.NotificationTest do test "it disables notifications from people the user follows" do follower = - insert(:user, notification_settings: %Pleroma.User.NotificationSetting{from_following: false}) + insert(:user, + notification_settings: %Pleroma.User.NotificationSetting{from_following: false} + ) followed = insert(:user) User.follow(follower, followed) From d4b20c96c4030ebb5eb908dc6efcf45be7a8355d Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 28 May 2020 15:34:11 -0500 Subject: [PATCH 003/249] Migrate old notification settings to new variants --- ...439_users_update_notification_settings.exs | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 priv/repo/migrations/20200528160439_users_update_notification_settings.exs diff --git a/priv/repo/migrations/20200528160439_users_update_notification_settings.exs b/priv/repo/migrations/20200528160439_users_update_notification_settings.exs new file mode 100644 index 000000000..561f7a2c4 --- /dev/null +++ b/priv/repo/migrations/20200528160439_users_update_notification_settings.exs @@ -0,0 +1,43 @@ +defmodule Pleroma.Repo.Migrations.UsersUpdateNotificationSettings do + use Ecto.Migration + + def up do + execute( + "UPDATE users SET notification_settings = notification_settings - 'followers' || jsonb_build_object('from_followers', notification_settings->'followers') +where notification_settings ? 'followers' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'follows' || jsonb_build_object('from_following', notification_settings->'follows') +where notification_settings ? 'follows' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'non_followers' || jsonb_build_object('from_strangers', notification_settings->'non_followers') +where notification_settings ? 'non_followers' +and local" + ) + end + + def down do + execute( + "UPDATE users SET notification_settings = notification_settings - 'from_followers' || jsonb_build_object('followers', notification_settings->'from_followers') +where notification_settings ? 'from_followers' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'from_following' || jsonb_build_object('follows', notification_settings->'from_following') +where notification_settings ? 'from_following' +and local" + ) + + execute( + "UPDATE users SET notification_settings = notification_settings - 'from_strangers' || jsonb_build_object('non_follows', notification_settings->'from_strangers') +where notification_settings ? 'from_strangers' +and local" + ) + end +end From a8d967762ec5436ca9b478fbbedfec39b5d9e35e Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Tue, 23 Jun 2020 15:09:01 +0300 Subject: [PATCH 004/249] migrate to oban 2.0-rc1 --- config/config.exs | 3 +- config/test.exs | 4 +-- lib/pleroma/application.ex | 14 +++++++- .../workers/attachments_cleanup_worker.ex | 11 +++--- lib/pleroma/workers/background_worker.ex | 34 +++++++++---------- .../workers/cron/clear_oauth_token_worker.ex | 2 +- .../workers/cron/digest_emails_worker.ex | 2 +- .../workers/cron/new_users_digest_worker.ex | 2 +- .../cron/purge_expired_activities_worker.ex | 2 +- lib/pleroma/workers/cron/stats_worker.ex | 2 +- lib/pleroma/workers/mailer_worker.ex | 2 +- lib/pleroma/workers/publisher_worker.ex | 6 ++-- lib/pleroma/workers/receiver_worker.ex | 2 +- lib/pleroma/workers/remote_fetcher_worker.ex | 8 +---- .../workers/scheduled_activity_worker.ex | 2 +- lib/pleroma/workers/transmogrifier_worker.ex | 2 +- lib/pleroma/workers/web_pusher_worker.ex | 2 +- lib/pleroma/workers/worker_helper.ex | 4 ++- mix.exs | 2 +- mix.lock | 8 ++--- test/activity_expiration_test.exs | 2 +- test/support/oban_helpers.ex | 2 +- test/web/activity_pub/activity_pub_test.exs | 2 +- .../cron/clear_oauth_token_worker_test.exs | 2 +- .../cron/digest_emails_worker_test.exs | 4 +-- .../cron/new_users_digest_worker_test.exs | 4 +-- .../purge_expired_activities_worker_test.exs | 4 +-- .../scheduled_activity_worker_test.exs | 7 ++-- 28 files changed, 72 insertions(+), 69 deletions(-) diff --git a/config/config.exs b/config/config.exs index e0888fa9a..dcf4291d6 100644 --- a/config/config.exs +++ b/config/config.exs @@ -494,8 +494,7 @@ config :pleroma, Pleroma.User, config :pleroma, Oban, repo: Pleroma.Repo, - verbose: false, - prune: {:maxlen, 1500}, + log: false, queues: [ activity_expiration: 10, federator_incoming: 50, diff --git a/config/test.exs b/config/test.exs index e38b9967d..054fac355 100644 --- a/config/test.exs +++ b/config/test.exs @@ -79,8 +79,8 @@ config :web_push_encryption, :http_client, Pleroma.Web.WebPushHttpClientMock config :pleroma, Oban, queues: false, - prune: :disabled, - crontab: false + crontab: false, + plugins: false config :pleroma, Pleroma.ScheduledActivity, daily_user_limit: 2, diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 9615af122..fb2731f97 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -80,7 +80,7 @@ defmodule Pleroma.Application do [ Pleroma.Stats, Pleroma.JobQueueMonitor, - {Oban, Config.get(Oban)} + {Oban, oban_config()} ] ++ task_children(@env) ++ streamer_child(@env) ++ @@ -138,6 +138,18 @@ defmodule Pleroma.Application do Pleroma.Web.Endpoint.Instrumenter.setup() end + defp oban_config do + config = Config.get(Oban) + + if Code.ensure_loaded?(IEx) and IEx.started?() do + config + |> Keyword.put(:crontab, false) + |> Keyword.put(:queues, false) + else + config + end + end + defp cachex_children do [ build_cachex("used_captcha", ttl_interval: seconds_valid_interval()), diff --git a/lib/pleroma/workers/attachments_cleanup_worker.ex b/lib/pleroma/workers/attachments_cleanup_worker.ex index 8deeabda0..58226b395 100644 --- a/lib/pleroma/workers/attachments_cleanup_worker.ex +++ b/lib/pleroma/workers/attachments_cleanup_worker.ex @@ -11,13 +11,12 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do use Pleroma.Workers.WorkerHelper, queue: "attachments_cleanup" @impl Oban.Worker - def perform( - %{ + def perform(%Job{ + args: %{ "op" => "cleanup_attachments", "object" => %{"data" => %{"attachment" => [_ | _] = attachments, "actor" => actor}} - }, - _job - ) do + } + }) do attachments |> Enum.flat_map(fn item -> Enum.map(item["url"], & &1["href"]) end) |> fetch_objects @@ -28,7 +27,7 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do {:ok, :success} end - def perform(%{"op" => "cleanup_attachments", "object" => _object}, _job), do: {:ok, :skip} + def perform(%Job{args: %{"op" => "cleanup_attachments", "object" => _object}}), do: {:ok, :skip} defp do_clean({object_ids, attachment_urls}) do uploader = Pleroma.Config.get([Pleroma.Upload, :uploader]) diff --git a/lib/pleroma/workers/background_worker.ex b/lib/pleroma/workers/background_worker.ex index 57c3a9c3a..cec5a7462 100644 --- a/lib/pleroma/workers/background_worker.ex +++ b/lib/pleroma/workers/background_worker.ex @@ -11,59 +11,59 @@ defmodule Pleroma.Workers.BackgroundWorker do @impl Oban.Worker - def perform(%{"op" => "deactivate_user", "user_id" => user_id, "status" => status}, _job) do + def perform(%Job{args: %{"op" => "deactivate_user", "user_id" => user_id, "status" => status}}) do user = User.get_cached_by_id(user_id) User.perform(:deactivate_async, user, status) end - def perform(%{"op" => "delete_user", "user_id" => user_id}, _job) do + def perform(%Job{args: %{"op" => "delete_user", "user_id" => user_id}}) do user = User.get_cached_by_id(user_id) User.perform(:delete, user) end - def perform(%{"op" => "force_password_reset", "user_id" => user_id}, _job) do + def perform(%Job{args: %{"op" => "force_password_reset", "user_id" => user_id}}) do user = User.get_cached_by_id(user_id) User.perform(:force_password_reset, user) end - def perform( - %{ + def perform(%Job{ + args: %{ "op" => "blocks_import", "blocker_id" => blocker_id, "blocked_identifiers" => blocked_identifiers - }, - _job - ) do + } + }) do blocker = User.get_cached_by_id(blocker_id) {:ok, User.perform(:blocks_import, blocker, blocked_identifiers)} end - def perform( - %{ + def perform(%Job{ + args: %{ "op" => "follow_import", "follower_id" => follower_id, "followed_identifiers" => followed_identifiers - }, - _job - ) do + } + }) do follower = User.get_cached_by_id(follower_id) {:ok, User.perform(:follow_import, follower, followed_identifiers)} end - def perform(%{"op" => "media_proxy_preload", "message" => message}, _job) do + def perform(%Job{args: %{"op" => "media_proxy_preload", "message" => message}}) do MediaProxyWarmingPolicy.perform(:preload, message) end - def perform(%{"op" => "media_proxy_prefetch", "url" => url}, _job) do + def perform(%Job{args: %{"op" => "media_proxy_prefetch", "url" => url}}) do MediaProxyWarmingPolicy.perform(:prefetch, url) end - def perform(%{"op" => "fetch_data_for_activity", "activity_id" => activity_id}, _job) do + def perform(%Job{args: %{"op" => "fetch_data_for_activity", "activity_id" => activity_id}}) do activity = Activity.get_by_id(activity_id) Pleroma.Web.RichMedia.Helpers.perform(:fetch, activity) end - def perform(%{"op" => "move_following", "origin_id" => origin_id, "target_id" => target_id}, _) do + def perform(%Job{ + args: %{"op" => "move_following", "origin_id" => origin_id, "target_id" => target_id} + }) do origin = User.get_cached_by_id(origin_id) target = User.get_cached_by_id(target_id) diff --git a/lib/pleroma/workers/cron/clear_oauth_token_worker.ex b/lib/pleroma/workers/cron/clear_oauth_token_worker.ex index a4c3b9516..d41be4e87 100644 --- a/lib/pleroma/workers/cron/clear_oauth_token_worker.ex +++ b/lib/pleroma/workers/cron/clear_oauth_token_worker.ex @@ -13,7 +13,7 @@ defmodule Pleroma.Workers.Cron.ClearOauthTokenWorker do alias Pleroma.Web.OAuth.Token @impl Oban.Worker - def perform(_opts, _job) do + def perform(_job) do if Config.get([:oauth2, :clean_expired_tokens], false) do Token.delete_expired_tokens() else diff --git a/lib/pleroma/workers/cron/digest_emails_worker.ex b/lib/pleroma/workers/cron/digest_emails_worker.ex index 7f09ff3cf..ee646229f 100644 --- a/lib/pleroma/workers/cron/digest_emails_worker.ex +++ b/lib/pleroma/workers/cron/digest_emails_worker.ex @@ -19,7 +19,7 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorker do require Logger @impl Oban.Worker - def perform(_opts, _job) do + def perform(_job) do config = Config.get([:email_notifications, :digest]) if config[:active] do diff --git a/lib/pleroma/workers/cron/new_users_digest_worker.ex b/lib/pleroma/workers/cron/new_users_digest_worker.ex index 5c816b3fe..abc8a5e95 100644 --- a/lib/pleroma/workers/cron/new_users_digest_worker.ex +++ b/lib/pleroma/workers/cron/new_users_digest_worker.ex @@ -12,7 +12,7 @@ defmodule Pleroma.Workers.Cron.NewUsersDigestWorker do use Pleroma.Workers.WorkerHelper, queue: "new_users_digest" @impl Oban.Worker - def perform(_args, _job) do + def perform(_job) do if Pleroma.Config.get([Pleroma.Emails.NewUsersDigestEmail, :enabled]) do today = NaiveDateTime.utc_now() |> Timex.beginning_of_day() diff --git a/lib/pleroma/workers/cron/purge_expired_activities_worker.ex b/lib/pleroma/workers/cron/purge_expired_activities_worker.ex index 84b3b84de..e926c5dc8 100644 --- a/lib/pleroma/workers/cron/purge_expired_activities_worker.ex +++ b/lib/pleroma/workers/cron/purge_expired_activities_worker.ex @@ -20,7 +20,7 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker do @interval :timer.minutes(1) @impl Oban.Worker - def perform(_opts, _job) do + def perform(_job) do if Config.get([ActivityExpiration, :enabled]) do Enum.each(ActivityExpiration.due_expirations(@interval), &delete_activity/1) else diff --git a/lib/pleroma/workers/cron/stats_worker.ex b/lib/pleroma/workers/cron/stats_worker.ex index e9b8d59c4..e54bd9a7f 100644 --- a/lib/pleroma/workers/cron/stats_worker.ex +++ b/lib/pleroma/workers/cron/stats_worker.ex @@ -10,7 +10,7 @@ defmodule Pleroma.Workers.Cron.StatsWorker do use Oban.Worker, queue: "background" @impl Oban.Worker - def perform(_opts, _job) do + def perform(_job) do Pleroma.Stats.do_collect() end end diff --git a/lib/pleroma/workers/mailer_worker.ex b/lib/pleroma/workers/mailer_worker.ex index 6955338a5..32273cfa5 100644 --- a/lib/pleroma/workers/mailer_worker.ex +++ b/lib/pleroma/workers/mailer_worker.ex @@ -6,7 +6,7 @@ defmodule Pleroma.Workers.MailerWorker do use Pleroma.Workers.WorkerHelper, queue: "mailer" @impl Oban.Worker - def perform(%{"op" => "email", "encoded_email" => encoded_email, "config" => config}, _job) do + def perform(%Job{args: %{"op" => "email", "encoded_email" => encoded_email, "config" => config}}) do encoded_email |> Base.decode64!() |> :erlang.binary_to_term() diff --git a/lib/pleroma/workers/publisher_worker.ex b/lib/pleroma/workers/publisher_worker.ex index daf79efc0..e739c3cd0 100644 --- a/lib/pleroma/workers/publisher_worker.ex +++ b/lib/pleroma/workers/publisher_worker.ex @@ -8,17 +8,17 @@ defmodule Pleroma.Workers.PublisherWorker do use Pleroma.Workers.WorkerHelper, queue: "federator_outgoing" - def backoff(attempt) when is_integer(attempt) do + def backoff(%Job{attempt: attempt}) when is_integer(attempt) do Pleroma.Workers.WorkerHelper.sidekiq_backoff(attempt, 5) end @impl Oban.Worker - def perform(%{"op" => "publish", "activity_id" => activity_id}, _job) do + def perform(%Job{args: %{"op" => "publish", "activity_id" => activity_id}}) do activity = Activity.get_by_id(activity_id) Federator.perform(:publish, activity) end - def perform(%{"op" => "publish_one", "module" => module_name, "params" => params}, _job) do + def perform(%Job{args: %{"op" => "publish_one", "module" => module_name, "params" => params}}) do params = Map.new(params, fn {k, v} -> {String.to_atom(k), v} end) Federator.perform(:publish_one, String.to_atom(module_name), params) end diff --git a/lib/pleroma/workers/receiver_worker.ex b/lib/pleroma/workers/receiver_worker.ex index f7a7124f3..1b97af1a8 100644 --- a/lib/pleroma/workers/receiver_worker.ex +++ b/lib/pleroma/workers/receiver_worker.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Workers.ReceiverWorker do use Pleroma.Workers.WorkerHelper, queue: "federator_incoming" @impl Oban.Worker - def perform(%{"op" => "incoming_ap_doc", "params" => params}, _job) do + def perform(%Job{args: %{"op" => "incoming_ap_doc", "params" => params}}) do Federator.perform(:incoming_ap_doc, params) end end diff --git a/lib/pleroma/workers/remote_fetcher_worker.ex b/lib/pleroma/workers/remote_fetcher_worker.ex index ec6534f21..27e2e3386 100644 --- a/lib/pleroma/workers/remote_fetcher_worker.ex +++ b/lib/pleroma/workers/remote_fetcher_worker.ex @@ -8,13 +8,7 @@ defmodule Pleroma.Workers.RemoteFetcherWorker do use Pleroma.Workers.WorkerHelper, queue: "remote_fetcher" @impl Oban.Worker - def perform( - %{ - "op" => "fetch_remote", - "id" => id - } = args, - _job - ) do + def perform(%Job{args: %{"op" => "fetch_remote", "id" => id} = args}) do {:ok, _object} = Fetcher.fetch_object_from_id(id, depth: args["depth"]) end end diff --git a/lib/pleroma/workers/scheduled_activity_worker.ex b/lib/pleroma/workers/scheduled_activity_worker.ex index 97d1efbfb..dd9986fe4 100644 --- a/lib/pleroma/workers/scheduled_activity_worker.ex +++ b/lib/pleroma/workers/scheduled_activity_worker.ex @@ -17,7 +17,7 @@ defmodule Pleroma.Workers.ScheduledActivityWorker do require Logger @impl Oban.Worker - def perform(%{"activity_id" => activity_id}, _job) do + def perform(%Job{args: %{"activity_id" => activity_id}}) do if Config.get([ScheduledActivity, :enabled]) do case Pleroma.Repo.get(ScheduledActivity, activity_id) do %ScheduledActivity{} = scheduled_activity -> diff --git a/lib/pleroma/workers/transmogrifier_worker.ex b/lib/pleroma/workers/transmogrifier_worker.ex index 11239ca5e..15f36375c 100644 --- a/lib/pleroma/workers/transmogrifier_worker.ex +++ b/lib/pleroma/workers/transmogrifier_worker.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Workers.TransmogrifierWorker do use Pleroma.Workers.WorkerHelper, queue: "transmogrifier" @impl Oban.Worker - def perform(%{"op" => "user_upgrade", "user_id" => user_id}, _job) do + def perform(%Job{args: %{"op" => "user_upgrade", "user_id" => user_id}}) do user = User.get_cached_by_id(user_id) Pleroma.Web.ActivityPub.Transmogrifier.perform(:user_upgrade, user) end diff --git a/lib/pleroma/workers/web_pusher_worker.ex b/lib/pleroma/workers/web_pusher_worker.ex index 58ad25e39..0cfdc6a6f 100644 --- a/lib/pleroma/workers/web_pusher_worker.ex +++ b/lib/pleroma/workers/web_pusher_worker.ex @@ -9,7 +9,7 @@ defmodule Pleroma.Workers.WebPusherWorker do use Pleroma.Workers.WorkerHelper, queue: "web_push" @impl Oban.Worker - def perform(%{"op" => "web_push", "notification_id" => notification_id}, _job) do + def perform(%Job{args: %{"op" => "web_push", "notification_id" => notification_id}}) do notification = Notification |> Repo.get(notification_id) diff --git a/lib/pleroma/workers/worker_helper.ex b/lib/pleroma/workers/worker_helper.ex index d1f90c35b..7d1289be2 100644 --- a/lib/pleroma/workers/worker_helper.ex +++ b/lib/pleroma/workers/worker_helper.ex @@ -32,6 +32,8 @@ defmodule Pleroma.Workers.WorkerHelper do queue: unquote(queue), max_attempts: 1 + alias Oban.Job + def enqueue(op, params, worker_args \\ []) do params = Map.merge(%{"op" => op}, params) queue_atom = String.to_atom(unquote(queue)) @@ -39,7 +41,7 @@ defmodule Pleroma.Workers.WorkerHelper do unquote(caller_module) |> apply(:new, [params, worker_args]) - |> Pleroma.Repo.insert() + |> Oban.insert() end end end diff --git a/mix.exs b/mix.exs index 4d13e95d7..e93dc7753 100644 --- a/mix.exs +++ b/mix.exs @@ -124,7 +124,7 @@ defmodule Pleroma.Mixfile do {:ecto_enum, "~> 1.4"}, {:ecto_sql, "~> 3.3.2"}, {:postgrex, ">= 0.13.5"}, - {:oban, "~> 1.2"}, + {:oban, "~> 2.0.0-rc.1"}, {:gettext, "~> 0.15"}, {:pbkdf2_elixir, "~> 1.0"}, {:bcrypt_elixir, "~> 2.0"}, diff --git a/mix.lock b/mix.lock index 5383c2c6e..705e911f8 100644 --- a/mix.lock +++ b/mix.lock @@ -23,11 +23,11 @@ "crontab": {:hex, :crontab, "1.1.8", "2ce0e74777dfcadb28a1debbea707e58b879e6aa0ffbf9c9bb540887bce43617", [:mix], [{:ecto, "~> 1.0 or ~> 2.0 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm"}, "crypt": {:git, "https://github.com/msantos/crypt", "f63a705f92c26955977ee62a313012e309a4d77a", [ref: "f63a705f92c26955977ee62a313012e309a4d77a"]}, "custom_base": {:hex, :custom_base, "0.2.1", "4a832a42ea0552299d81652aa0b1f775d462175293e99dfbe4d7dbaab785a706", [:mix], [], "hexpm", "8df019facc5ec9603e94f7270f1ac73ddf339f56ade76a721eaa57c1493ba463"}, - "db_connection": {:hex, :db_connection, "2.2.1", "caee17725495f5129cb7faebde001dc4406796f12a62b8949f4ac69315080566", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm", "2b02ece62d9f983fcd40954e443b7d9e6589664380e5546b2b9b523cd0fb59e1"}, + "db_connection": {:hex, :db_connection, "2.2.2", "3bbca41b199e1598245b716248964926303b5d4609ff065125ce98bcd368939e", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm", "642af240d8a8affb93b4ba5a6fcd2bbcbdc327e1a524b825d383711536f8070c"}, "decimal": {:hex, :decimal, "1.8.1", "a4ef3f5f3428bdbc0d35374029ffcf4ede8533536fa79896dd450168d9acdf3c", [:mix], [], "hexpm", "3cb154b00225ac687f6cbd4acc4b7960027c757a5152b369923ead9ddbca7aec"}, "deep_merge": {:hex, :deep_merge, "1.0.0", "b4aa1a0d1acac393bdf38b2291af38cb1d4a52806cf7a4906f718e1feb5ee961", [:mix], [], "hexpm", "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, - "ecto": {:hex, :ecto, "3.4.4", "a2c881e80dc756d648197ae0d936216c0308370332c5e77a2325a10293eef845", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "cc4bd3ad62abc3b21fb629f0f7a3dab23a192fca837d257dd08449fba7373561"}, + "ecto": {:hex, :ecto, "3.4.5", "2bcd262f57b2c888b0bd7f7a28c8a48aa11dc1a2c6a858e45dd8f8426d504265", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8c6d1d4d524559e9b7a062f0498e2c206122552d63eacff0a6567ffe7a8e8691"}, "ecto_enum": {:hex, :ecto_enum, "1.4.0", "d14b00e04b974afc69c251632d1e49594d899067ee2b376277efd8233027aec8", [:mix], [{:ecto, ">= 3.0.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "> 3.0.0", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:mariaex, ">= 0.0.0", [hex: :mariaex, repo: "hexpm", optional: true]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"}, "ecto_sql": {:hex, :ecto_sql, "3.3.4", "aa18af12eb875fbcda2f75e608b3bd534ebf020fc4f6448e4672fcdcbb081244", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.4 or ~> 3.3.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.3.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5eccbdbf92e3c6f213007a82d5dbba4cd9bb659d1a21331f89f408e4c0efd7a8"}, "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm", "d522695b93b7f0b4c0fcb2dfe73a6b905b1c301226a5a55cb42e5b14d509e050"}, @@ -75,7 +75,7 @@ "myhtmlex": {:git, "https://git.pleroma.social/pleroma/myhtmlex.git", "ad0097e2f61d4953bfef20fb6abddf23b87111e6", [ref: "ad0097e2f61d4953bfef20fb6abddf23b87111e6", submodules: true]}, "nimble_parsec": {:hex, :nimble_parsec, "0.5.3", "def21c10a9ed70ce22754fdeea0810dafd53c2db3219a0cd54cf5526377af1c6", [:mix], [], "hexpm", "589b5af56f4afca65217a1f3eb3fee7e79b09c40c742fddc1c312b3ac0b3399f"}, "nodex": {:git, "https://git.pleroma.social/pleroma/nodex", "cb6730f943cfc6aad674c92161be23a8411f15d1", [ref: "cb6730f943cfc6aad674c92161be23a8411f15d1"]}, - "oban": {:hex, :oban, "1.2.0", "7cca94d341be43d220571e28f69131c4afc21095b25257397f50973d3fc59b07", [:mix], [{:ecto_sql, "~> 3.1", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.14", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ba5f8b3f7d76967b3e23cf8014f6a13e4ccb33431e4808f036709a7f822362ee"}, + "oban": {:hex, :oban, "2.0.0-rc.1", "be0be1769578ff8da1818fd9685838d49bd9c83660cd593c48ac6633638171e0", [:mix], [{:ecto_sql, "~> 3.1", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.14", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "3ae0dacbd39babd82468f290073b5e58618df0cca1b48cc60d8c1ff1757d4c01"}, "open_api_spex": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git", "f296ac0924ba3cf79c7a588c4c252889df4c2edd", [ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"]}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "pbkdf2_elixir": {:hex, :pbkdf2_elixir, "1.2.1", "9cbe354b58121075bd20eb83076900a3832324b7dd171a6895fab57b6bb2752c", [:mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}], "hexpm", "d3b40a4a4630f0b442f19eca891fcfeeee4c40871936fed2f68e1c4faa30481f"}, @@ -90,7 +90,7 @@ "plug_static_index_html": {:hex, :plug_static_index_html, "1.0.0", "840123d4d3975585133485ea86af73cb2600afd7f2a976f9f5fd8b3808e636a0", [:mix], [{:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "79fd4fcf34d110605c26560cbae8f23c603ec4158c08298bd4360fdea90bb5cf"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm", "fec8660eb7733ee4117b85f55799fd3833eb769a6df71ccf8903e8dc5447cfce"}, "poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm", "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"}, - "postgrex": {:hex, :postgrex, "0.15.3", "5806baa8a19a68c4d07c7a624ccdb9b57e89cbc573f1b98099e3741214746ae4", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "4737ce62a31747b4c63c12b20c62307e51bb4fcd730ca0c32c280991e0606c90"}, + "postgrex": {:hex, :postgrex, "0.15.5", "aec40306a622d459b01bff890fa42f1430dac61593b122754144ad9033a2152f", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "ed90c81e1525f65a2ba2279dbcebf030d6d13328daa2f8088b9661eb9143af7f"}, "pot": {:hex, :pot, "0.10.2", "9895c83bcff8cd22d9f5bc79dfc88a188176b261b618ad70d93faf5c5ca36e67", [:rebar3], [], "hexpm", "ac589a8e296b7802681e93cd0a436faec117ea63e9916709c628df31e17e91e2"}, "prometheus": {:hex, :prometheus, "4.5.0", "8f4a2246fe0beb50af0f77c5e0a5bb78fe575c34a9655d7f8bc743aad1c6bf76", [:mix, :rebar3], [], "hexpm", "679b5215480fff612b8351f45c839d995a07ce403e42ff02f1c6b20960d41a4e"}, "prometheus_ecto": {:hex, :prometheus_ecto, "1.4.3", "3dd4da1812b8e0dbee81ea58bb3b62ed7588f2eae0c9e97e434c46807ff82311", [:mix], [{:ecto, "~> 2.0 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:prometheus_ex, "~> 1.1 or ~> 2.0 or ~> 3.0", [hex: :prometheus_ex, repo: "hexpm", optional: false]}], "hexpm", "8d66289f77f913b37eda81fd287340c17e61a447549deb28efc254532b2bed82"}, diff --git a/test/activity_expiration_test.exs b/test/activity_expiration_test.exs index e899d4509..d75c06cc7 100644 --- a/test/activity_expiration_test.exs +++ b/test/activity_expiration_test.exs @@ -44,7 +44,7 @@ defmodule Pleroma.ActivityExpirationTest do %{activity_id: activity.id, scheduled_at: naive_datetime} ) - Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(:ops, :pid) + Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{}) refute Pleroma.Repo.get(Pleroma.Activity, activity.id) refute Pleroma.Repo.get(Pleroma.ActivityExpiration, expiration.id) diff --git a/test/support/oban_helpers.ex b/test/support/oban_helpers.ex index e96994c57..9f90a821c 100644 --- a/test/support/oban_helpers.ex +++ b/test/support/oban_helpers.ex @@ -20,7 +20,7 @@ defmodule Pleroma.Tests.ObanHelpers do end def perform(%Oban.Job{} = job) do - res = apply(String.to_existing_atom("Elixir." <> job.worker), :perform, [job.args, job]) + res = apply(String.to_existing_atom("Elixir." <> job.worker), :perform, [job]) Repo.delete(job) res end diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 7693f6400..8a1cd6f12 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1457,7 +1457,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do assert_enqueued(worker: Pleroma.Workers.BackgroundWorker, args: params) - Pleroma.Workers.BackgroundWorker.perform(params, nil) + Pleroma.Workers.BackgroundWorker.perform(%Oban.Job{args: params}) refute User.following?(follower, old_user) assert User.following?(follower, new_user) diff --git a/test/workers/cron/clear_oauth_token_worker_test.exs b/test/workers/cron/clear_oauth_token_worker_test.exs index df82dc75d..67836f34f 100644 --- a/test/workers/cron/clear_oauth_token_worker_test.exs +++ b/test/workers/cron/clear_oauth_token_worker_test.exs @@ -16,7 +16,7 @@ defmodule Pleroma.Workers.Cron.ClearOauthTokenWorkerTest do ) Pleroma.Config.put([:oauth2, :clean_expired_tokens], true) - ClearOauthTokenWorker.perform(:opts, :job) + ClearOauthTokenWorker.perform(%Oban.Job{}) assert Pleroma.Repo.all(Pleroma.Web.OAuth.Token) == [] end end diff --git a/test/workers/cron/digest_emails_worker_test.exs b/test/workers/cron/digest_emails_worker_test.exs index f9bc50db5..65887192e 100644 --- a/test/workers/cron/digest_emails_worker_test.exs +++ b/test/workers/cron/digest_emails_worker_test.exs @@ -35,7 +35,7 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do end test "it sends digest emails", %{user2: user2} do - Pleroma.Workers.Cron.DigestEmailsWorker.perform(:opts, :pid) + Pleroma.Workers.Cron.DigestEmailsWorker.perform(%Oban.Job{}) # Performing job(s) enqueued at previous step ObanHelpers.perform_all() @@ -47,7 +47,7 @@ defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do test "it doesn't fail when a user has no email", %{user2: user2} do {:ok, _} = user2 |> Ecto.Changeset.change(%{email: nil}) |> Pleroma.Repo.update() - Pleroma.Workers.Cron.DigestEmailsWorker.perform(:opts, :pid) + Pleroma.Workers.Cron.DigestEmailsWorker.perform(%Oban.Job{}) # Performing job(s) enqueued at previous step ObanHelpers.perform_all() end diff --git a/test/workers/cron/new_users_digest_worker_test.exs b/test/workers/cron/new_users_digest_worker_test.exs index ee589bb55..129534cb1 100644 --- a/test/workers/cron/new_users_digest_worker_test.exs +++ b/test/workers/cron/new_users_digest_worker_test.exs @@ -17,7 +17,7 @@ defmodule Pleroma.Workers.Cron.NewUsersDigestWorkerTest do user2 = insert(:user, %{inserted_at: yesterday}) CommonAPI.post(user, %{status: "cofe"}) - NewUsersDigestWorker.perform(nil, nil) + NewUsersDigestWorker.perform(%Oban.Job{}) ObanHelpers.perform_all() assert_received {:email, email} @@ -39,7 +39,7 @@ defmodule Pleroma.Workers.Cron.NewUsersDigestWorkerTest do CommonAPI.post(user, %{status: "cofe"}) - NewUsersDigestWorker.perform(nil, nil) + NewUsersDigestWorker.perform(%Oban.Job{}) ObanHelpers.perform_all() end end diff --git a/test/workers/cron/purge_expired_activities_worker_test.exs b/test/workers/cron/purge_expired_activities_worker_test.exs index 6d2991a60..5b2ffbc4c 100644 --- a/test/workers/cron/purge_expired_activities_worker_test.exs +++ b/test/workers/cron/purge_expired_activities_worker_test.exs @@ -33,7 +33,7 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do %{activity_id: activity.id, scheduled_at: naive_datetime} ) - Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(:ops, :pid) + Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{}) refute Pleroma.Repo.get(Pleroma.Activity, activity.id) refute Pleroma.Repo.get(Pleroma.ActivityExpiration, expiration.id) @@ -62,7 +62,7 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do |> Ecto.Changeset.change(%{scheduled_at: past_date}) |> Repo.update!() - Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(:ops, :pid) + Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{}) assert [%{data: %{"type" => "Delete", "deleted_activity_id" => ^id}}] = Pleroma.Repo.all(Pleroma.Activity) diff --git a/test/workers/scheduled_activity_worker_test.exs b/test/workers/scheduled_activity_worker_test.exs index b312d975b..f3eddf7b1 100644 --- a/test/workers/scheduled_activity_worker_test.exs +++ b/test/workers/scheduled_activity_worker_test.exs @@ -32,10 +32,7 @@ defmodule Pleroma.Workers.ScheduledActivityWorkerTest do params: %{status: "hi"} ) - ScheduledActivityWorker.perform( - %{"activity_id" => scheduled_activity.id}, - :pid - ) + ScheduledActivityWorker.perform(%Oban.Job{args: %{"activity_id" => scheduled_activity.id}}) refute Repo.get(ScheduledActivity, scheduled_activity.id) activity = Repo.all(Pleroma.Activity) |> Enum.find(&(&1.actor == user.ap_id)) @@ -46,7 +43,7 @@ defmodule Pleroma.Workers.ScheduledActivityWorkerTest do Pleroma.Config.put([ScheduledActivity, :enabled], true) assert capture_log([level: :error], fn -> - ScheduledActivityWorker.perform(%{"activity_id" => 42}, :pid) + ScheduledActivityWorker.perform(%Oban.Job{args: %{"activity_id" => 42}}) end) =~ "Couldn't find scheduled activity" end end From 71e233268a290dcfba1b1bf1fdcb2eca4840f2d7 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Tue, 23 Jun 2020 21:47:01 +0300 Subject: [PATCH 005/249] oban 2.0-rc2 --- mix.exs | 4 ++-- mix.lock | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mix.exs b/mix.exs index e93dc7753..c7a811b9d 100644 --- a/mix.exs +++ b/mix.exs @@ -122,9 +122,9 @@ defmodule Pleroma.Mixfile do {:phoenix_pubsub, "~> 1.1"}, {:phoenix_ecto, "~> 4.0"}, {:ecto_enum, "~> 1.4"}, - {:ecto_sql, "~> 3.3.2"}, + {:ecto_sql, "~> 3.4.4"}, {:postgrex, ">= 0.13.5"}, - {:oban, "~> 2.0.0-rc.1"}, + {:oban, "~> 2.0.0-rc.2"}, {:gettext, "~> 0.15"}, {:pbkdf2_elixir, "~> 1.0"}, {:bcrypt_elixir, "~> 2.0"}, diff --git a/mix.lock b/mix.lock index 705e911f8..639c54b4a 100644 --- a/mix.lock +++ b/mix.lock @@ -29,7 +29,7 @@ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "ecto": {:hex, :ecto, "3.4.5", "2bcd262f57b2c888b0bd7f7a28c8a48aa11dc1a2c6a858e45dd8f8426d504265", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8c6d1d4d524559e9b7a062f0498e2c206122552d63eacff0a6567ffe7a8e8691"}, "ecto_enum": {:hex, :ecto_enum, "1.4.0", "d14b00e04b974afc69c251632d1e49594d899067ee2b376277efd8233027aec8", [:mix], [{:ecto, ">= 3.0.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "> 3.0.0", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:mariaex, ">= 0.0.0", [hex: :mariaex, repo: "hexpm", optional: true]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"}, - "ecto_sql": {:hex, :ecto_sql, "3.3.4", "aa18af12eb875fbcda2f75e608b3bd534ebf020fc4f6448e4672fcdcbb081244", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.4 or ~> 3.3.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.3.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5eccbdbf92e3c6f213007a82d5dbba4cd9bb659d1a21331f89f408e4c0efd7a8"}, + "ecto_sql": {:hex, :ecto_sql, "3.4.4", "d28bac2d420f708993baed522054870086fd45016a9d09bb2cd521b9c48d32ea", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.4.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.3.0 or ~> 0.4.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.0", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "edb49af715dd72f213b66adfd0f668a43c17ed510b5d9ac7528569b23af57fe8"}, "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm", "d522695b93b7f0b4c0fcb2dfe73a6b905b1c301226a5a55cb42e5b14d509e050"}, "esshd": {:hex, :esshd, "0.1.1", "d4dd4c46698093a40a56afecce8a46e246eb35463c457c246dacba2e056f31b5", [:mix], [], "hexpm", "d73e341e3009d390aa36387dc8862860bf9f874c94d9fd92ade2926376f49981"}, "eternal": {:hex, :eternal, "1.2.1", "d5b6b2499ba876c57be2581b5b999ee9bdf861c647401066d3eeed111d096bc4", [:mix], [], "hexpm", "b14f1dc204321429479c569cfbe8fb287541184ed040956c8862cb7a677b8406"}, @@ -75,7 +75,7 @@ "myhtmlex": {:git, "https://git.pleroma.social/pleroma/myhtmlex.git", "ad0097e2f61d4953bfef20fb6abddf23b87111e6", [ref: "ad0097e2f61d4953bfef20fb6abddf23b87111e6", submodules: true]}, "nimble_parsec": {:hex, :nimble_parsec, "0.5.3", "def21c10a9ed70ce22754fdeea0810dafd53c2db3219a0cd54cf5526377af1c6", [:mix], [], "hexpm", "589b5af56f4afca65217a1f3eb3fee7e79b09c40c742fddc1c312b3ac0b3399f"}, "nodex": {:git, "https://git.pleroma.social/pleroma/nodex", "cb6730f943cfc6aad674c92161be23a8411f15d1", [ref: "cb6730f943cfc6aad674c92161be23a8411f15d1"]}, - "oban": {:hex, :oban, "2.0.0-rc.1", "be0be1769578ff8da1818fd9685838d49bd9c83660cd593c48ac6633638171e0", [:mix], [{:ecto_sql, "~> 3.1", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.14", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "3ae0dacbd39babd82468f290073b5e58618df0cca1b48cc60d8c1ff1757d4c01"}, + "oban": {:hex, :oban, "2.0.0-rc.2", "4a3ba53af98a9aaeee7e53209bbdb18a80972952d4c2ccc6ac61ffd30fa96e8a", [:mix], [{:ecto_sql, ">= 3.4.3", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.14", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8a01ace5b6cd142fea547a554b7b752be7ea8fb08e7ffee57405d3b28561560c"}, "open_api_spex": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git", "f296ac0924ba3cf79c7a588c4c252889df4c2edd", [ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"]}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "pbkdf2_elixir": {:hex, :pbkdf2_elixir, "1.2.1", "9cbe354b58121075bd20eb83076900a3832324b7dd171a6895fab57b6bb2752c", [:mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}], "hexpm", "d3b40a4a4630f0b442f19eca891fcfeeee4c40871936fed2f68e1c4faa30481f"}, @@ -106,7 +106,7 @@ "sweet_xml": {:hex, :sweet_xml, "0.6.6", "fc3e91ec5dd7c787b6195757fbcf0abc670cee1e4172687b45183032221b66b8", [:mix], [], "hexpm", "2e1ec458f892ffa81f9f8386e3f35a1af6db7a7a37748a64478f13163a1f3573"}, "swoosh": {:hex, :swoosh, "0.23.5", "bfd9404bbf5069b1be2ffd317923ce57e58b332e25dbca2a35dedd7820dfee5a", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}], "hexpm", "e3928e1d2889a308aaf3e42755809ac21cffd77cb58eef01cbfdab4ce2fd1e21"}, "syslog": {:hex, :syslog, "1.1.0", "6419a232bea84f07b56dc575225007ffe34d9fdc91abe6f1b2f254fd71d8efc2", [:rebar3], [], "hexpm", "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1"}, - "telemetry": {:hex, :telemetry, "0.4.1", "ae2718484892448a24470e6aa341bc847c3277bfb8d4e9289f7474d752c09c7f", [:rebar3], [], "hexpm", "4738382e36a0a9a2b6e25d67c960e40e1a2c95560b9f936d8e29de8cd858480f"}, + "telemetry": {:hex, :telemetry, "0.4.2", "2808c992455e08d6177322f14d3bdb6b625fbcfd233a73505870d8738a2f4599", [:rebar3], [], "hexpm", "2d1419bd9dda6a206d7b5852179511722e2b18812310d304620c7bd92a13fcef"}, "tesla": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/tesla.git", "61b7503cef33f00834f78ddfafe0d5d9dec2270b", [ref: "61b7503cef33f00834f78ddfafe0d5d9dec2270b"]}, "timex": {:hex, :timex, "3.6.1", "efdf56d0e67a6b956cc57774353b0329c8ab7726766a11547e529357ffdc1d56", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5 or ~> 1.0.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "f354efb2400dd7a80fd9eb6c8419068c4f632da4ac47f3d8822d6e33f08bc852"}, "trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"}, From cc837f9d157f9d43a015a8908f5e2ee178442041 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Wed, 24 Jun 2020 21:21:33 +0300 Subject: [PATCH 006/249] fixed config/descpiption.exs --- config/description.exs | 9 +-------- lib/pleroma/application.ex | 14 +------------- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/config/description.exs b/config/description.exs index f9523936a..ff777391e 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1996,18 +1996,11 @@ config :pleroma, :config_description, [ """, children: [ %{ - key: :verbose, + key: :log, type: {:dropdown, :atom}, description: "Logs verbose mode", suggestions: [false, :error, :warn, :info, :debug] }, - %{ - key: :prune, - type: [:atom, :tuple], - description: - "Non-retryable jobs [pruning settings](https://github.com/sorentwo/oban#pruning)", - suggestions: [:disabled, {:maxlen, 1500}, {:maxage, 60 * 60}] - }, %{ key: :queues, type: {:keyword, :integer}, diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index fb2731f97..9615af122 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -80,7 +80,7 @@ defmodule Pleroma.Application do [ Pleroma.Stats, Pleroma.JobQueueMonitor, - {Oban, oban_config()} + {Oban, Config.get(Oban)} ] ++ task_children(@env) ++ streamer_child(@env) ++ @@ -138,18 +138,6 @@ defmodule Pleroma.Application do Pleroma.Web.Endpoint.Instrumenter.setup() end - defp oban_config do - config = Config.get(Oban) - - if Code.ensure_loaded?(IEx) and IEx.started?() do - config - |> Keyword.put(:crontab, false) - |> Keyword.put(:queues, false) - else - config - end - end - defp cachex_children do [ build_cachex("used_captcha", ttl_interval: seconds_valid_interval()), From fd5e797379155e5a85deb88dc79f8fbca483948e Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 26 Jun 2020 11:24:28 -0500 Subject: [PATCH 007/249] Simplify notification filtering settings further --- CHANGELOG.md | 5 +-- docs/API/pleroma_api.md | 4 +- lib/pleroma/notification.ex | 28 ++---------- lib/pleroma/user/notification_setting.ex | 8 +--- lib/pleroma/web/api_spec/schemas/account.ex | 8 +--- ...439_users_update_notification_settings.exs | 43 ------------------- test/notification_test.exs | 28 +----------- .../mastodon_api/views/account_view_test.exs | 4 +- test/web/twitter_api/util_controller_test.exs | 10 ++--- 9 files changed, 15 insertions(+), 123 deletions(-) delete mode 100644 priv/repo/migrations/20200528160439_users_update_notification_settings.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index 82915dcfb..1d835fee2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,9 +17,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). API Changes - **Breaking:** Emoji API: changed methods and renamed routes. -- **Breaking:** Notification Settings API for suppressing notification - now supports the following controls: `from_followers`, `from_following`, - and `from_strangers`. +- **Breaking:** Notification Settings API for suppressing notifications + has been simplified down to `block_from_strangers`.
diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 9ad1f5c1b..6d8a88a44 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -287,9 +287,7 @@ See [Admin-API](admin_api.md) * Method `PUT` * Authentication: required * Params: - * `from_followers`: BOOLEAN field, receives notifications from followers - * `from_following`: BOOLEAN field, receives notifications from people the user follows - * `from_strangers`: BOOLEAN field, receives notifications from people without an established relationship + * `block_from_strangers`: BOOLEAN field, blocks notifications from accounts you do not follow * `privacy_option`: BOOLEAN field. When set to true, it removes the contents of a message from the push notification. * Response: JSON. Returns `{"status": "success"}` if the update was successful, otherwise returns `{"error": "error_msg"}` diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 9d09cf082..8a28a1821 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -550,9 +550,7 @@ defmodule Pleroma.Notification do [ :self, :invisible, - :from_followers, - :from_following, - :from_strangers, + :block_from_strangers, :recently_followed ] |> Enum.find(&skip?(&1, activity, user)) @@ -572,35 +570,15 @@ defmodule Pleroma.Notification do end def skip?( - :from_followers, + :block_from_strangers, %Activity{} = activity, - %User{notification_settings: %{from_followers: false}} = user - ) do - actor = activity.data["actor"] - follower = User.get_cached_by_ap_id(actor) - User.following?(follower, user) - end - - def skip?( - :from_strangers, - %Activity{} = activity, - %User{notification_settings: %{from_strangers: false}} = user + %User{notification_settings: %{block_from_strangers: true}} = user ) do actor = activity.data["actor"] follower = User.get_cached_by_ap_id(actor) !User.following?(follower, user) end - def skip?( - :from_following, - %Activity{} = activity, - %User{notification_settings: %{from_following: false}} = user - ) do - actor = activity.data["actor"] - followed = User.get_cached_by_ap_id(actor) - User.following?(user, followed) - end - # To do: consider defining recency in hours and checking FollowingRelationship with a single SQL def skip?(:recently_followed, %Activity{data: %{"type" => "Follow"}} = activity, %User{} = user) do actor = activity.data["actor"] diff --git a/lib/pleroma/user/notification_setting.ex b/lib/pleroma/user/notification_setting.ex index e47ac4cab..ffe9860de 100644 --- a/lib/pleroma/user/notification_setting.ex +++ b/lib/pleroma/user/notification_setting.ex @@ -10,18 +10,14 @@ defmodule Pleroma.User.NotificationSetting do @primary_key false embedded_schema do - field(:from_followers, :boolean, default: true) - field(:from_following, :boolean, default: true) - field(:from_strangers, :boolean, default: true) + field(:block_from_strangers, :boolean, default: false) field(:privacy_option, :boolean, default: false) end def changeset(schema, params) do schema |> cast(prepare_attrs(params), [ - :from_followers, - :from_following, - :from_strangers, + :block_from_strangers, :privacy_option ]) end diff --git a/lib/pleroma/web/api_spec/schemas/account.ex b/lib/pleroma/web/api_spec/schemas/account.ex index ed90ef3db..91bb1ba88 100644 --- a/lib/pleroma/web/api_spec/schemas/account.ex +++ b/lib/pleroma/web/api_spec/schemas/account.ex @@ -57,9 +57,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do notification_settings: %Schema{ type: :object, properties: %{ - from_followers: %Schema{type: :boolean}, - from_following: %Schema{type: :boolean}, - from_strangers: %Schema{type: :boolean}, + block_from_strangers: %Schema{type: :boolean}, privacy_option: %Schema{type: :boolean} } }, @@ -122,9 +120,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do "unread_conversation_count" => 0, "tags" => [], "notification_settings" => %{ - "from_followers" => true, - "from_following" => true, - "from_strangers" => true, + "block_from_strangers" => false, "privacy_option" => false }, "relationship" => %{ diff --git a/priv/repo/migrations/20200528160439_users_update_notification_settings.exs b/priv/repo/migrations/20200528160439_users_update_notification_settings.exs deleted file mode 100644 index 561f7a2c4..000000000 --- a/priv/repo/migrations/20200528160439_users_update_notification_settings.exs +++ /dev/null @@ -1,43 +0,0 @@ -defmodule Pleroma.Repo.Migrations.UsersUpdateNotificationSettings do - use Ecto.Migration - - def up do - execute( - "UPDATE users SET notification_settings = notification_settings - 'followers' || jsonb_build_object('from_followers', notification_settings->'followers') -where notification_settings ? 'followers' -and local" - ) - - execute( - "UPDATE users SET notification_settings = notification_settings - 'follows' || jsonb_build_object('from_following', notification_settings->'follows') -where notification_settings ? 'follows' -and local" - ) - - execute( - "UPDATE users SET notification_settings = notification_settings - 'non_followers' || jsonb_build_object('from_strangers', notification_settings->'non_followers') -where notification_settings ? 'non_followers' -and local" - ) - end - - def down do - execute( - "UPDATE users SET notification_settings = notification_settings - 'from_followers' || jsonb_build_object('followers', notification_settings->'from_followers') -where notification_settings ? 'from_followers' -and local" - ) - - execute( - "UPDATE users SET notification_settings = notification_settings - 'from_following' || jsonb_build_object('follows', notification_settings->'from_following') -where notification_settings ? 'from_following' -and local" - ) - - execute( - "UPDATE users SET notification_settings = notification_settings - 'from_strangers' || jsonb_build_object('non_follows', notification_settings->'from_strangers') -where notification_settings ? 'from_strangers' -and local" - ) - end -end diff --git a/test/notification_test.exs b/test/notification_test.exs index d7df9c36c..d8cb9360a 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -236,44 +236,18 @@ defmodule Pleroma.NotificationTest do assert Notification.create_notification(activity, muter) end - test "it disables notifications from followers" do - follower = insert(:user) - - followed = - insert(:user, - notification_settings: %Pleroma.User.NotificationSetting{from_followers: false} - ) - - User.follow(follower, followed) - {:ok, activity} = CommonAPI.post(follower, %{status: "hey @#{followed.nickname}"}) - refute Notification.create_notification(activity, followed) - end - test "it disables notifications from strangers" do follower = insert(:user) followed = insert(:user, - notification_settings: %Pleroma.User.NotificationSetting{from_strangers: false} + notification_settings: %Pleroma.User.NotificationSetting{block_from_strangers: true} ) {:ok, activity} = CommonAPI.post(follower, %{status: "hey @#{followed.nickname}"}) refute Notification.create_notification(activity, followed) end - test "it disables notifications from people the user follows" do - follower = - insert(:user, - notification_settings: %Pleroma.User.NotificationSetting{from_following: false} - ) - - followed = insert(:user) - User.follow(follower, followed) - follower = Repo.get(User, follower.id) - {:ok, activity} = CommonAPI.post(followed, %{status: "hey @#{follower.nickname}"}) - refute Notification.create_notification(activity, follower) - end - test "it doesn't create a notification for user if he is the activity author" do activity = insert(:note_activity) author = User.get_cached_by_ap_id(activity.data["actor"]) diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 572830194..b6d820b3f 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -96,9 +96,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do user = insert(:user) notification_settings = %{ - from_followers: true, - from_following: true, - from_strangers: true, + block_from_strangers: false, privacy_option: false } diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index 1133107f4..da3f6fa61 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -191,7 +191,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do test "it updates notification settings", %{user: user, conn: conn} do conn |> put("/api/pleroma/notification_settings", %{ - "from_followers" => false, + "block_from_strangers" => true, "bar" => 1 }) |> json_response(:ok) @@ -199,9 +199,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do user = refresh_record(user) assert %Pleroma.User.NotificationSetting{ - from_followers: false, - from_following: true, - from_strangers: true, + block_from_strangers: true, privacy_option: false } == user.notification_settings end @@ -214,9 +212,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do user = refresh_record(user) assert %Pleroma.User.NotificationSetting{ - from_followers: true, - from_following: true, - from_strangers: true, + block_from_strangers: false, privacy_option: true } == user.notification_settings end From 69848d5c97c9e5d4c14fb5613eb174cb81d5026d Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 26 Jun 2020 12:45:46 -0500 Subject: [PATCH 008/249] Rename notification "privacy_option" setting --- docs/API/pleroma_api.md | 2 +- .../tasks/pleroma/notification_settings.ex | 18 +++++++++--------- lib/pleroma/user/notification_setting.ex | 4 ++-- lib/pleroma/web/api_spec/schemas/account.ex | 4 ++-- lib/pleroma/web/push/impl.ex | 2 +- ...359_rename_notification_privacy_option.exs | 19 +++++++++++++++++++ test/user/notification_setting_test.exs | 4 ++-- .../mastodon_api/views/account_view_test.exs | 2 +- test/web/push/impl_test.exs | 8 ++++---- test/web/twitter_api/util_controller_test.exs | 8 ++++---- 10 files changed, 45 insertions(+), 26 deletions(-) create mode 100644 priv/repo/migrations/20200626163359_rename_notification_privacy_option.exs diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 6d8a88a44..5bd38ad36 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -288,7 +288,7 @@ See [Admin-API](admin_api.md) * Authentication: required * Params: * `block_from_strangers`: BOOLEAN field, blocks notifications from accounts you do not follow - * `privacy_option`: BOOLEAN field. When set to true, it removes the contents of a message from the push notification. + * `hide_notification_contents`: BOOLEAN field. When set to true, it removes the contents of a message from the push notification. * Response: JSON. Returns `{"status": "success"}` if the update was successful, otherwise returns `{"error": "error_msg"}` ## `/api/pleroma/healthcheck` diff --git a/lib/mix/tasks/pleroma/notification_settings.ex b/lib/mix/tasks/pleroma/notification_settings.ex index 7d65f0587..00f5ba7bf 100644 --- a/lib/mix/tasks/pleroma/notification_settings.ex +++ b/lib/mix/tasks/pleroma/notification_settings.ex @@ -3,8 +3,8 @@ defmodule Mix.Tasks.Pleroma.NotificationSettings do @moduledoc """ Example: - > mix pleroma.notification_settings --privacy-option=false --nickname-users="parallel588" # set false only for parallel588 user - > mix pleroma.notification_settings --privacy-option=true # set true for all users + > mix pleroma.notification_settings --hide-notification-contents=false --nickname-users="parallel588" # set false only for parallel588 user + > mix pleroma.notification_settings --hide-notification-contents=true # set true for all users """ @@ -19,16 +19,16 @@ defmodule Mix.Tasks.Pleroma.NotificationSettings do OptionParser.parse( args, strict: [ - privacy_option: :boolean, + hide_notification_contents: :boolean, email_users: :string, nickname_users: :string ] ) - privacy_option = Keyword.get(options, :privacy_option) + hide_notification_contents = Keyword.get(options, :hide_notification_contents) - if not is_nil(privacy_option) do - privacy_option + if not is_nil(hide_notification_contents) do + hide_notification_contents |> build_query(options) |> Pleroma.Repo.update_all([]) end @@ -36,15 +36,15 @@ defmodule Mix.Tasks.Pleroma.NotificationSettings do shell_info("Done") end - defp build_query(privacy_option, options) do + defp build_query(hide_notification_contents, options) do query = from(u in Pleroma.User, update: [ set: [ notification_settings: fragment( - "jsonb_set(notification_settings, '{privacy_option}', ?)", - ^privacy_option + "jsonb_set(notification_settings, '{hide_notification_contents}', ?)", + ^hide_notification_contents ) ] ] diff --git a/lib/pleroma/user/notification_setting.ex b/lib/pleroma/user/notification_setting.ex index ffe9860de..7d9e8a000 100644 --- a/lib/pleroma/user/notification_setting.ex +++ b/lib/pleroma/user/notification_setting.ex @@ -11,14 +11,14 @@ defmodule Pleroma.User.NotificationSetting do embedded_schema do field(:block_from_strangers, :boolean, default: false) - field(:privacy_option, :boolean, default: false) + field(:hide_notification_contents, :boolean, default: false) end def changeset(schema, params) do schema |> cast(prepare_attrs(params), [ :block_from_strangers, - :privacy_option + :hide_notification_contents ]) end diff --git a/lib/pleroma/web/api_spec/schemas/account.ex b/lib/pleroma/web/api_spec/schemas/account.ex index 91bb1ba88..71d402b18 100644 --- a/lib/pleroma/web/api_spec/schemas/account.ex +++ b/lib/pleroma/web/api_spec/schemas/account.ex @@ -58,7 +58,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do type: :object, properties: %{ block_from_strangers: %Schema{type: :boolean}, - privacy_option: %Schema{type: :boolean} + hide_notification_contents: %Schema{type: :boolean} } }, relationship: AccountRelationship, @@ -121,7 +121,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do "tags" => [], "notification_settings" => %{ "block_from_strangers" => false, - "privacy_option" => false + "hide_notification_contents" => false }, "relationship" => %{ "blocked_by" => false, diff --git a/lib/pleroma/web/push/impl.ex b/lib/pleroma/web/push/impl.ex index cdb827e76..16368485e 100644 --- a/lib/pleroma/web/push/impl.ex +++ b/lib/pleroma/web/push/impl.ex @@ -104,7 +104,7 @@ defmodule Pleroma.Web.Push.Impl do def build_content( %{ - user: %{notification_settings: %{privacy_option: true}} + user: %{notification_settings: %{hide_notification_contents: true}} } = notification, _actor, _object, diff --git a/priv/repo/migrations/20200626163359_rename_notification_privacy_option.exs b/priv/repo/migrations/20200626163359_rename_notification_privacy_option.exs new file mode 100644 index 000000000..06d7f7272 --- /dev/null +++ b/priv/repo/migrations/20200626163359_rename_notification_privacy_option.exs @@ -0,0 +1,19 @@ +defmodule Pleroma.Repo.Migrations.RenameNotificationPrivacyOption do + use Ecto.Migration + + def up do + execute( + "UPDATE users SET notification_settings = notification_settings - 'privacy_option' || jsonb_build_object('hide_notification_contents', notification_settings->'privacy_option') +where notification_settings ? 'privacy_option' +and local" + ) + end + + def down do + execute( + "UPDATE users SET notification_settings = notification_settings - 'hide_notification_contents' || jsonb_build_object('privacy_option', notification_settings->'hide_notification_contents') +where notification_settings ? 'hide_notification_contents' +and local" + ) + end +end diff --git a/test/user/notification_setting_test.exs b/test/user/notification_setting_test.exs index 95bca22c4..308da216a 100644 --- a/test/user/notification_setting_test.exs +++ b/test/user/notification_setting_test.exs @@ -8,11 +8,11 @@ defmodule Pleroma.User.NotificationSettingTest do alias Pleroma.User.NotificationSetting describe "changeset/2" do - test "sets valid privacy option" do + test "sets option to hide notification contents" do changeset = NotificationSetting.changeset( %NotificationSetting{}, - %{"privacy_option" => true} + %{"hide_notification_contents" => true} ) assert %Ecto.Changeset{valid?: true} = changeset diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index b6d820b3f..ce45cb9e9 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -97,7 +97,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do notification_settings = %{ block_from_strangers: false, - privacy_option: false + hide_notification_contents: false } privacy = user.default_scope diff --git a/test/web/push/impl_test.exs b/test/web/push/impl_test.exs index b48952b29..15de5e853 100644 --- a/test/web/push/impl_test.exs +++ b/test/web/push/impl_test.exs @@ -238,9 +238,9 @@ defmodule Pleroma.Web.Push.ImplTest do } end - test "hides details for notifications when privacy option enabled" do + test "hides contents of notifications when option enabled" do user = insert(:user, nickname: "Bob") - user2 = insert(:user, nickname: "Rob", notification_settings: %{privacy_option: true}) + user2 = insert(:user, nickname: "Rob", notification_settings: %{hide_notification_contents: true}) {:ok, activity} = CommonAPI.post(user, %{ @@ -284,9 +284,9 @@ defmodule Pleroma.Web.Push.ImplTest do } end - test "returns regular content for notifications with privacy option disabled" do + test "returns regular content when hiding contents option disabled" do user = insert(:user, nickname: "Bob") - user2 = insert(:user, nickname: "Rob", notification_settings: %{privacy_option: false}) + user2 = insert(:user, nickname: "Rob", notification_settings: %{hide_notification_contents: false}) {:ok, activity} = CommonAPI.post(user, %{ diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index da3f6fa61..b8ddadb50 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -200,20 +200,20 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do assert %Pleroma.User.NotificationSetting{ block_from_strangers: true, - privacy_option: false + hide_notification_contents: false } == user.notification_settings end - test "it updates notification privacy option", %{user: user, conn: conn} do + test "it updates notification settings to enable hiding contents", %{user: user, conn: conn} do conn - |> put("/api/pleroma/notification_settings", %{"privacy_option" => "1"}) + |> put("/api/pleroma/notification_settings", %{"hide_notification_contents" => "1"}) |> json_response(:ok) user = refresh_record(user) assert %Pleroma.User.NotificationSetting{ block_from_strangers: false, - privacy_option: true + hide_notification_contents: true } == user.notification_settings end end From 76313e81627f4563ba2d3bf9f7bb5e6b8a20975b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 26 Jun 2020 12:48:05 -0500 Subject: [PATCH 009/249] Document breaking change of hide_notification_details setting --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d835fee2..1d640f292 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** Emoji API: changed methods and renamed routes. - **Breaking:** Notification Settings API for suppressing notifications has been simplified down to `block_from_strangers`. +- **Breaking:** Notification Settings API option for hiding push notification + contents has been renamed to `hide_notification_contents`
From ce85db41a30d95555bbd44d8931c4a3a357938d8 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 26 Jun 2020 14:35:04 -0500 Subject: [PATCH 010/249] Lint --- test/web/push/impl_test.exs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/web/push/impl_test.exs b/test/web/push/impl_test.exs index 15de5e853..aeb5c1fbd 100644 --- a/test/web/push/impl_test.exs +++ b/test/web/push/impl_test.exs @@ -240,7 +240,9 @@ defmodule Pleroma.Web.Push.ImplTest do test "hides contents of notifications when option enabled" do user = insert(:user, nickname: "Bob") - user2 = insert(:user, nickname: "Rob", notification_settings: %{hide_notification_contents: true}) + + user2 = + insert(:user, nickname: "Rob", notification_settings: %{hide_notification_contents: true}) {:ok, activity} = CommonAPI.post(user, %{ @@ -286,7 +288,9 @@ defmodule Pleroma.Web.Push.ImplTest do test "returns regular content when hiding contents option disabled" do user = insert(:user, nickname: "Bob") - user2 = insert(:user, nickname: "Rob", notification_settings: %{hide_notification_contents: false}) + + user2 = + insert(:user, nickname: "Rob", notification_settings: %{hide_notification_contents: false}) {:ok, activity} = CommonAPI.post(user, %{ From 8daacc911498d827fd68ea3d34eb1be9ae4a1ffe Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 23 Jun 2020 14:17:23 -0500 Subject: [PATCH 011/249] AutoLinker --> Linkify, update to latest version https://git.pleroma.social/pleroma/elixir-libraries/linkify --- CHANGELOG.md | 1 + config/config.exs | 18 ++++++-------- config/description.exs | 26 +++++++++++++------- docs/configuration/cheatsheet.md | 35 +++++++++++++-------------- lib/pleroma/config/config_db.ex | 2 +- lib/pleroma/formatter.ex | 26 +++++++++++--------- lib/pleroma/web/rich_media/helpers.ex | 4 +-- mix.exs | 4 +-- mix.lock | 2 +- 9 files changed, 63 insertions(+), 55 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71963d206..4d3bda99e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - MFR policy to set global expiration for all local Create activities - OGP rich media parser merged with TwitterCard - Configuration: `:instance, rewrite_policy` moved to `:mrf, policies`, `:instance, :mrf_transparency` moved to `:mrf, :transparency`, `:instance, :mrf_transparency_exclusions` moved to `:mrf, :transparency_exclusions`. Old config namespace is deprecated. +- **Breaking:** Configuration: `:auto_linker, :opts` moved to `:pleroma, Pleroma.Formatter`. Old config namespace is deprecated.
API Changes diff --git a/config/config.exs b/config/config.exs index 5aad26e95..a74a6a5ba 100644 --- a/config/config.exs +++ b/config/config.exs @@ -520,16 +520,14 @@ config :pleroma, :workers, federator_outgoing: 5 ] -config :auto_linker, - opts: [ - extra: true, - # TODO: Set to :no_scheme when it works properly - validate_tld: true, - class: false, - strip_prefix: false, - new_window: false, - rel: "ugc" - ] +config :pleroma, Pleroma.Formatter, + class: false, + rel: "ugc", + new_window: false, + truncate: false, + strip_prefix: false, + extra: true, + validate_tld: :no_scheme config :pleroma, :ldap, enabled: System.get_env("LDAP_ENABLED") == "true", diff --git a/config/description.exs b/config/description.exs index f54ac2a2a..204de8324 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2157,44 +2157,52 @@ config :pleroma, :config_description, [ ] }, %{ - group: :auto_linker, - key: :opts, + group: :pleroma, + key: Pleroma.Formatter, type: :group, - description: "Configuration for the auto_linker library", + description: + "Configuration for Pleroma's link formatter which parses mentions, hashtags, and URLs.", children: [ %{ key: :class, type: [:string, false], - description: "Specify the class to be added to the generated link. Disable to clear", + description: "Specify the class to be added to the generated link. Disable to clear.", suggestions: ["auto-linker", false] }, %{ key: :rel, type: [:string, false], - description: "Override the rel attribute. Disable to clear", + description: "Override the rel attribute. Disable to clear.", suggestions: ["ugc", "noopener noreferrer", false] }, %{ key: :new_window, type: :boolean, - description: "Link urls will open in new window/tab" + description: "Link URLs will open in new window/tab." }, %{ key: :truncate, type: [:integer, false], description: - "Set to a number to truncate urls longer then the number. Truncated urls will end in `..`", + "Set to a number to truncate URLs longer then the number. Truncated URLs will end in `...`", suggestions: [15, false] }, %{ key: :strip_prefix, type: :boolean, - description: "Strip the scheme prefix" + description: "Strip the scheme prefix." }, %{ key: :extra, type: :boolean, - description: "Link urls with rarely used schemes (magnet, ipfs, irc, etc.)" + description: "Link URLs with rarely used schemes (magnet, ipfs, irc, etc.)" + }, + %{ + key: :validate_tld, + type: [:atom, :boolean], + description: + "Set to false to disable TLD validation for URLs/emails. Can be set to :no_scheme to validate TLDs only for URLs without a scheme (e.g `example.com` will be validated, but `http://example.loki` won't)", + suggestions: [:no_scheme, true] } ] }, diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 6759d5e93..22b28d423 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -908,30 +908,29 @@ Configure OAuth 2 provider capabilities: ### :uri_schemes * `valid_schemes`: List of the scheme part that is considered valid to be an URL. -### :auto_linker +### Pleroma.Formatter -Configuration for the `auto_linker` library: +Configuration for Pleroma's link formatter which parses mentions, hashtags, and URLs. -* `class: "auto-linker"` - specify the class to be added to the generated link. false to clear. -* `rel: "noopener noreferrer"` - override the rel attribute. false to clear. -* `new_window: true` - set to false to remove `target='_blank'` attribute. -* `scheme: false` - Set to true to link urls with schema `http://google.com`. -* `truncate: false` - Set to a number to truncate urls longer then the number. Truncated urls will end in `..`. -* `strip_prefix: true` - Strip the scheme prefix. -* `extra: false` - link urls with rarely used schemes (magnet, ipfs, irc, etc.). +* `class` - specify the class to be added to the generated link (default: `false`) +* `rel` - specify the rel attribute (default: `ugc`) +* `new_window` - adds `target="_blank"` attribute (default: `false`) +* `truncate` - Set to a number to truncate URLs longer then the number. Truncated URLs will end in `...` (default: `false`) +* `strip_prefix` - Strip the scheme prefix (default: `false`) +* `extra` - link URLs with rarely used schemes (magnet, ipfs, irc, etc.) (default: `true`) +* `validate_tld` - Set to false to disable TLD validation for URLs/emails. Can be set to :no_scheme to validate TLDs only for urls without a scheme (e.g `example.com` will be validated, but `http://example.loki` won't) (default: `:no_scheme`) Example: ```elixir -config :auto_linker, - opts: [ - scheme: true, - extra: true, - class: false, - strip_prefix: false, - new_window: false, - rel: "ugc" - ] +config :pleroma, Pleroma.Formatter, + class: false, + rel: "ugc", + new_window: false, + truncate: false, + strip_prefix: false, + extra: true, + validate_tld: :no_scheme ``` ## Custom Runtime Modules (`:modules`) diff --git a/lib/pleroma/config/config_db.ex b/lib/pleroma/config/config_db.ex index 1a89d8895..f8141ced8 100644 --- a/lib/pleroma/config/config_db.ex +++ b/lib/pleroma/config/config_db.ex @@ -156,7 +156,7 @@ defmodule Pleroma.ConfigDB do {:quack, :meta}, {:mime, :types}, {:cors_plug, [:max_age, :methods, :expose, :headers]}, - {:auto_linker, :opts}, + {:linkify, :opts}, {:swarm, :node_blacklist}, {:logger, :backends} ] diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index 02a93a8dc..0c450eae4 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -10,11 +10,15 @@ defmodule Pleroma.Formatter do @link_regex ~r"((?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~%:/?#[\]@!\$&'\(\)\*\+,;=.]+)|[0-9a-z+\-\.]+:[0-9a-z$-_.+!*'(),]+"ui @markdown_characters_regex ~r/(`|\*|_|{|}|[|]|\(|\)|#|\+|-|\.|!)/ - @auto_linker_config hashtag: true, - hashtag_handler: &Pleroma.Formatter.hashtag_handler/4, - mention: true, - mention_handler: &Pleroma.Formatter.mention_handler/4, - scheme: true + defp linkify_opts do + Pleroma.Config.get(Pleroma.Formatter) ++ + [ + hashtag: true, + hashtag_handler: &Pleroma.Formatter.hashtag_handler/4, + mention: true, + mention_handler: &Pleroma.Formatter.mention_handler/4 + ] + end def escape_mention_handler("@" <> nickname = mention, buffer, _, _) do case User.get_cached_by_nickname(nickname) do @@ -80,19 +84,19 @@ defmodule Pleroma.Formatter do @spec linkify(String.t(), keyword()) :: {String.t(), [{String.t(), User.t()}], [{String.t(), String.t()}]} def linkify(text, options \\ []) do - options = options ++ @auto_linker_config + options = linkify_opts() ++ options if options[:safe_mention] && Regex.named_captures(@safe_mention_regex, text) do %{"mentions" => mentions, "rest" => rest} = Regex.named_captures(@safe_mention_regex, text) acc = %{mentions: MapSet.new(), tags: MapSet.new()} - {text_mentions, %{mentions: mentions}} = AutoLinker.link_map(mentions, acc, options) - {text_rest, %{tags: tags}} = AutoLinker.link_map(rest, acc, options) + {text_mentions, %{mentions: mentions}} = Linkify.link_map(mentions, acc, options) + {text_rest, %{tags: tags}} = Linkify.link_map(rest, acc, options) {text_mentions <> text_rest, MapSet.to_list(mentions), MapSet.to_list(tags)} else acc = %{mentions: MapSet.new(), tags: MapSet.new()} - {text, %{mentions: mentions, tags: tags}} = AutoLinker.link_map(text, acc, options) + {text, %{mentions: mentions, tags: tags}} = Linkify.link_map(text, acc, options) {text, MapSet.to_list(mentions), MapSet.to_list(tags)} end @@ -111,9 +115,9 @@ defmodule Pleroma.Formatter do if options[:safe_mention] && Regex.named_captures(@safe_mention_regex, text) do %{"mentions" => mentions, "rest" => rest} = Regex.named_captures(@safe_mention_regex, text) - AutoLinker.link(mentions, options) <> AutoLinker.link(rest, options) + Linkify.link(mentions, options) <> Linkify.link(rest, options) else - AutoLinker.link(text, options) + Linkify.link(text, options) end end diff --git a/lib/pleroma/web/rich_media/helpers.ex b/lib/pleroma/web/rich_media/helpers.ex index 1729141e9..747f2dc6b 100644 --- a/lib/pleroma/web/rich_media/helpers.ex +++ b/lib/pleroma/web/rich_media/helpers.ex @@ -11,10 +11,10 @@ defmodule Pleroma.Web.RichMedia.Helpers do @spec validate_page_url(URI.t() | binary()) :: :ok | :error defp validate_page_url(page_url) when is_binary(page_url) do - validate_tld = Application.get_env(:auto_linker, :opts)[:validate_tld] + validate_tld = Pleroma.Config.get([Pleroma.Formatter, :validate_tld]) page_url - |> AutoLinker.Parser.url?(scheme: true, validate_tld: validate_tld) + |> Linkify.Parser.url?(validate_tld: validate_tld) |> parse_uri(page_url) end diff --git a/mix.exs b/mix.exs index b638be541..c773a3162 100644 --- a/mix.exs +++ b/mix.exs @@ -167,9 +167,7 @@ defmodule Pleroma.Mixfile do {:floki, "~> 0.25"}, {:timex, "~> 3.5"}, {:ueberauth, "~> 0.4"}, - {:auto_linker, - git: "https://git.pleroma.social/pleroma/auto_linker.git", - ref: "95e8188490e97505c56636c1379ffdf036c1fdde"}, + {:linkify, "~> 0.1.0"}, {:http_signatures, git: "https://git.pleroma.social/pleroma/http_signatures.git", ref: "293d77bb6f4a67ac8bde1428735c3b42f22cbb30"}, diff --git a/mix.lock b/mix.lock index 5ad49391d..458cda6cf 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,5 @@ %{ "accept": {:hex, :accept, "0.3.5", "b33b127abca7cc948bbe6caa4c263369abf1347cfa9d8e699c6d214660f10cd1", [:rebar3], [], "hexpm", "11b18c220bcc2eab63b5470c038ef10eb6783bcb1fcdb11aa4137defa5ac1bb8"}, - "auto_linker": {:git, "https://git.pleroma.social/pleroma/auto_linker.git", "95e8188490e97505c56636c1379ffdf036c1fdde", [ref: "95e8188490e97505c56636c1379ffdf036c1fdde"]}, "base62": {:hex, :base62, "1.2.1", "4866763e08555a7b3917064e9eef9194c41667276c51b59de2bc42c6ea65f806", [:mix], [{:custom_base, "~> 0.2.1", [hex: :custom_base, repo: "hexpm", optional: false]}], "hexpm", "3b29948de2013d3f93aa898c884a9dff847e7aec75d9d6d8c1dc4c61c2716c42"}, "base64url": {:hex, :base64url, "0.0.1", "36a90125f5948e3afd7be97662a1504b934dd5dac78451ca6e9abf85a10286be", [:rebar], [], "hexpm"}, "bbcode": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/bbcode.git", "f2d267675e9a7e1ad1ea9beb4cc23382762b66c2", [ref: "v0.2.0"]}, @@ -62,6 +61,7 @@ "jose": {:hex, :jose, "1.10.1", "16d8e460dae7203c6d1efa3f277e25b5af8b659febfc2f2eb4bacf87f128b80a", [:mix, :rebar3], [], "hexpm", "3c7ddc8a9394b92891db7c2771da94bf819834a1a4c92e30857b7d582e2f8257"}, "jumper": {:hex, :jumper, "1.0.1", "3c00542ef1a83532b72269fab9f0f0c82bf23a35e27d278bfd9ed0865cecabff", [:mix], [], "hexpm", "318c59078ac220e966d27af3646026db9b5a5e6703cb2aa3e26bcfaba65b7433"}, "libring": {:hex, :libring, "1.4.0", "41246ba2f3fbc76b3971f6bce83119dfec1eee17e977a48d8a9cfaaf58c2a8d6", [:mix], [], "hexpm"}, + "linkify": {:hex, :linkify, "0.1.0", "a2d35de64271c7fbbc7d8773adb9f595592b7fbaa581271c7733f39d3058bfa4", [:mix], [], "hexpm", "d3140ef8dbdcc53ef93a6a5374c11fffe0189f00d132161e9d020a417780bee7"}, "makeup": {:hex, :makeup, "1.0.0", "671df94cf5a594b739ce03b0d0316aa64312cee2574b6a44becb83cd90fb05dc", [:mix], [{:nimble_parsec, "~> 0.5.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "a10c6eb62cca416019663129699769f0c2ccf39428b3bb3c0cb38c718a0c186d"}, "makeup_elixir": {:hex, :makeup_elixir, "0.14.0", "cf8b7c66ad1cff4c14679698d532f0b5d45a3968ffbcbfd590339cb57742f1ae", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "d4b316c7222a85bbaa2fd7c6e90e37e953257ad196dc229505137c5e505e9eff"}, "meck": {:hex, :meck, "0.8.13", "ffedb39f99b0b99703b8601c6f17c7f76313ee12de6b646e671e3188401f7866", [:rebar3], [], "hexpm", "d34f013c156db51ad57cc556891b9720e6a1c1df5fe2e15af999c84d6cebeb1a"}, From 8ad166e8e385b7baea79dc3949b438edba25c69f Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 12:46:28 +0200 Subject: [PATCH 012/249] Migrations: Add `accepts_chat_messages` to users. --- .../20200703101031_add_chat_acceptance_to_users.exs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs diff --git a/priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs b/priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs new file mode 100644 index 000000000..4ae3c4201 --- /dev/null +++ b/priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs @@ -0,0 +1,12 @@ +defmodule Pleroma.Repo.Migrations.AddChatAcceptanceToUsers do + use Ecto.Migration + + def change do + alter table(:users) do + add(:accepts_chat_messages, :boolean, nullable: false, default: false) + end + + # Looks stupid but makes the update much faster + execute("update users set accepts_chat_messages = local where local = true") + end +end From 98bfdba108d4213eea82dc4d63edb8bb834118fb Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 12:47:05 +0200 Subject: [PATCH 013/249] User: On registration, set `accepts_chat_messages` to true. --- lib/pleroma/user.ex | 5 ++++- test/user_test.exs | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 8a54546d6..79e094a79 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -138,6 +138,7 @@ defmodule Pleroma.User do field(:also_known_as, {:array, :string}, default: []) field(:inbox, :string) field(:shared_inbox, :string) + field(:accepts_chat_messages, :boolean, default: false) embeds_one( :notification_settings, @@ -623,6 +624,7 @@ defmodule Pleroma.User do def register_changeset(struct, params \\ %{}, opts \\ []) do bio_limit = Pleroma.Config.get([:instance, :user_bio_length], 5000) name_limit = Pleroma.Config.get([:instance, :user_name_length], 100) + params = Map.put_new(params, :accepts_chat_messages, true) need_confirmation? = if is_nil(opts[:need_confirmation]) do @@ -641,7 +643,8 @@ defmodule Pleroma.User do :nickname, :password, :password_confirmation, - :emoji + :emoji, + :accepts_chat_messages ]) |> validate_required([:name, :nickname, :password, :password_confirmation]) |> validate_confirmation(:password) diff --git a/test/user_test.exs b/test/user_test.exs index 7126bb539..9788e09d9 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -486,6 +486,15 @@ defmodule Pleroma.UserTest do } setup do: clear_config([:instance, :account_activation_required], true) + test "it sets the 'accepts_chat_messages' set to true" do + changeset = User.register_changeset(%User{}, @full_user_data) + assert changeset.valid? + + {:ok, user} = Repo.insert(changeset) + + assert user.accepts_chat_messages + end + test "it creates unconfirmed user" do changeset = User.register_changeset(%User{}, @full_user_data) assert changeset.valid? From 3250228be9719b0afa24c97b64f56d2275c4fe67 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 13:07:33 +0200 Subject: [PATCH 014/249] AccountView: Add 'accepts_chat_messages' to view. --- lib/pleroma/web/mastodon_api/views/account_view.ex | 3 ++- test/web/mastodon_api/views/account_view_test.exs | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex index a6e64b4ab..6a643bfcc 100644 --- a/lib/pleroma/web/mastodon_api/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -245,7 +245,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do hide_favorites: user.hide_favorites, relationship: relationship, skip_thread_containment: user.skip_thread_containment, - background_image: image_url(user.background) |> MediaProxy.url() + background_image: image_url(user.background) |> MediaProxy.url(), + accepts_chat_messages: user.accepts_chat_messages } } |> maybe_put_role(user, opts[:for]) diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 80b1f734c..3234a26a2 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -85,7 +85,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do hide_followers_count: false, hide_follows_count: false, relationship: %{}, - skip_thread_containment: false + skip_thread_containment: false, + accepts_chat_messages: false } } @@ -162,7 +163,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do hide_followers_count: false, hide_follows_count: false, relationship: %{}, - skip_thread_containment: false + skip_thread_containment: false, + accepts_chat_messages: false } } From 37fdb05058d17abde11fd3e55ce896464c7d22e4 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 13:12:23 +0200 Subject: [PATCH 015/249] User, Migration: Change `accepts_chat_messages` to be nullable This is to model the ambiguous state of most users. --- lib/pleroma/user.ex | 2 +- .../20200703101031_add_chat_acceptance_to_users.exs | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 79e094a79..7a684b192 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -138,7 +138,7 @@ defmodule Pleroma.User do field(:also_known_as, {:array, :string}, default: []) field(:inbox, :string) field(:shared_inbox, :string) - field(:accepts_chat_messages, :boolean, default: false) + field(:accepts_chat_messages, :boolean, default: nil) embeds_one( :notification_settings, diff --git a/priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs b/priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs index 4ae3c4201..8dfda89f1 100644 --- a/priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs +++ b/priv/repo/migrations/20200703101031_add_chat_acceptance_to_users.exs @@ -1,12 +1,17 @@ defmodule Pleroma.Repo.Migrations.AddChatAcceptanceToUsers do use Ecto.Migration - def change do + def up do alter table(:users) do - add(:accepts_chat_messages, :boolean, nullable: false, default: false) + add(:accepts_chat_messages, :boolean, nullable: true) end - # Looks stupid but makes the update much faster - execute("update users set accepts_chat_messages = local where local = true") + execute("update users set accepts_chat_messages = true where local = true") + end + + def down do + alter table(:users) do + remove(:accepts_chat_messages) + end end end From db76c26469f234ca36e9c16deb01de63055535ae Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 13:24:16 +0200 Subject: [PATCH 016/249] AccountViewTest: Fix test. --- test/web/mastodon_api/views/account_view_test.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 3234a26a2..4aba6aaf1 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -86,7 +86,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do hide_follows_count: false, relationship: %{}, skip_thread_containment: false, - accepts_chat_messages: false + accepts_chat_messages: nil } } @@ -164,7 +164,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do hide_follows_count: false, relationship: %{}, skip_thread_containment: false, - accepts_chat_messages: false + accepts_chat_messages: nil } } From 26a7cc3f003d79d6026d67a3a8370516b13c2c90 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 13:38:59 +0200 Subject: [PATCH 017/249] UserView: Add acceptsChatMessages field --- lib/pleroma/web/activity_pub/views/user_view.ex | 10 ++++++++++ test/web/activity_pub/views/user_view_test.exs | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/lib/pleroma/web/activity_pub/views/user_view.ex b/lib/pleroma/web/activity_pub/views/user_view.ex index 4a02b09a1..d062d6230 100644 --- a/lib/pleroma/web/activity_pub/views/user_view.ex +++ b/lib/pleroma/web/activity_pub/views/user_view.ex @@ -81,6 +81,15 @@ defmodule Pleroma.Web.ActivityPub.UserView do fields = Enum.map(user.fields, &Map.put(&1, "type", "PropertyValue")) + chat_message_acceptance = + if is_boolean(user.accepts_chat_messages) do + %{ + "acceptsChatMessages" => user.accepts_chat_messages + } + else + %{} + end + %{ "id" => user.ap_id, "type" => user.actor_type, @@ -103,6 +112,7 @@ defmodule Pleroma.Web.ActivityPub.UserView do "tag" => emoji_tags, "discoverable" => user.discoverable } + |> Map.merge(chat_message_acceptance) |> Map.merge(maybe_make_image(&User.avatar_url/2, "icon", user)) |> Map.merge(maybe_make_image(&User.banner_url/2, "image", user)) |> Map.merge(Utils.make_json_ld_header()) diff --git a/test/web/activity_pub/views/user_view_test.exs b/test/web/activity_pub/views/user_view_test.exs index bec15a996..3b4a1bcde 100644 --- a/test/web/activity_pub/views/user_view_test.exs +++ b/test/web/activity_pub/views/user_view_test.exs @@ -158,4 +158,16 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do assert %{"totalItems" => 1} = UserView.render("following.json", %{user: user}) end end + + describe "acceptsChatMessages" do + test "it returns this value if it is set" do + true_user = insert(:user, accepts_chat_messages: true) + false_user = insert(:user, accepts_chat_messages: false) + nil_user = insert(:user, accepts_chat_messages: nil) + + assert %{"acceptsChatMessages" => true} = UserView.render("user.json", user: true_user) + assert %{"acceptsChatMessages" => false} = UserView.render("user.json", user: false_user) + refute Map.has_key?(UserView.render("user.json", user: nil_user), "acceptsChatMessages") + end + end end From 8289ec67a80697a1a4843c0ea50e66b01bf3bb00 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 13:39:21 +0200 Subject: [PATCH 018/249] Litepub: Add acceptsChatMessages to schema. --- priv/static/schemas/litepub-0.1.jsonld | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/static/schemas/litepub-0.1.jsonld b/priv/static/schemas/litepub-0.1.jsonld index 7cc3fee40..c1bcad0f8 100644 --- a/priv/static/schemas/litepub-0.1.jsonld +++ b/priv/static/schemas/litepub-0.1.jsonld @@ -13,6 +13,7 @@ }, "discoverable": "toot:discoverable", "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", + "acceptsChatMessages": "litepub:acceptsChatMessages", "ostatus": "http://ostatus.org#", "schema": "http://schema.org#", "toot": "http://joinmastodon.org/ns#", From 5c0bf4c4721f03bd854d4466e77aa08e260c9299 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 13:58:34 +0200 Subject: [PATCH 019/249] ActivityPub: Ingest information about chat acceptance. --- lib/pleroma/user.ex | 3 +- lib/pleroma/web/activity_pub/activity_pub.ex | 4 +- .../tesla_mock/admin@mastdon.example.org.json | 1 + test/web/activity_pub/activity_pub_test.exs | 63 ++++++++++--------- 4 files changed, 41 insertions(+), 30 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 7a684b192..a4130c89f 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -437,7 +437,8 @@ defmodule Pleroma.User do :discoverable, :invisible, :actor_type, - :also_known_as + :also_known_as, + :accepts_chat_messages ] ) |> validate_required([:name, :ap_id]) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 94117202c..86428b861 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1224,6 +1224,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do end) locked = data["manuallyApprovesFollowers"] || false + accepts_chat_messages = data["acceptsChatMessages"] data = Transmogrifier.maybe_fix_user_object(data) discoverable = data["discoverable"] || false invisible = data["invisible"] || false @@ -1262,7 +1263,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do also_known_as: Map.get(data, "alsoKnownAs", []), public_key: public_key, inbox: data["inbox"], - shared_inbox: shared_inbox + shared_inbox: shared_inbox, + accepts_chat_messages: accepts_chat_messages } # nickname can be nil because of virtual actors diff --git a/test/fixtures/tesla_mock/admin@mastdon.example.org.json b/test/fixtures/tesla_mock/admin@mastdon.example.org.json index 9fdd6557c..f5cf174be 100644 --- a/test/fixtures/tesla_mock/admin@mastdon.example.org.json +++ b/test/fixtures/tesla_mock/admin@mastdon.example.org.json @@ -26,6 +26,7 @@ "summary": "\u003cp\u003e\u003c/p\u003e", "url": "http://mastodon.example.org/@admin", "manuallyApprovesFollowers": false, + "acceptsChatMessages": true, "publicKey": { "id": "http://mastodon.example.org/users/admin#main-key", "owner": "http://mastodon.example.org/users/admin", diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 575e0c5db..ef69f3d91 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -184,38 +184,45 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do assert User.invisible?(user) end - test "it fetches the appropriate tag-restricted posts" do - user = insert(:user) + test "it returns a user that accepts chat messages" do + user_id = "http://mastodon.example.org/users/admin" + {:ok, user} = ActivityPub.make_user_from_ap_id(user_id) - {:ok, status_one} = CommonAPI.post(user, %{status: ". #test"}) - {:ok, status_two} = CommonAPI.post(user, %{status: ". #essais"}) - {:ok, status_three} = CommonAPI.post(user, %{status: ". #test #reject"}) - - fetch_one = ActivityPub.fetch_activities([], %{type: "Create", tag: "test"}) - - fetch_two = ActivityPub.fetch_activities([], %{type: "Create", tag: ["test", "essais"]}) - - fetch_three = - ActivityPub.fetch_activities([], %{ - type: "Create", - tag: ["test", "essais"], - tag_reject: ["reject"] - }) - - fetch_four = - ActivityPub.fetch_activities([], %{ - type: "Create", - tag: ["test"], - tag_all: ["test", "reject"] - }) - - assert fetch_one == [status_one, status_three] - assert fetch_two == [status_one, status_two, status_three] - assert fetch_three == [status_one, status_two] - assert fetch_four == [status_three] + assert user.accepts_chat_messages end end + test "it fetches the appropriate tag-restricted posts" do + user = insert(:user) + + {:ok, status_one} = CommonAPI.post(user, %{status: ". #test"}) + {:ok, status_two} = CommonAPI.post(user, %{status: ". #essais"}) + {:ok, status_three} = CommonAPI.post(user, %{status: ". #test #reject"}) + + fetch_one = ActivityPub.fetch_activities([], %{type: "Create", tag: "test"}) + + fetch_two = ActivityPub.fetch_activities([], %{type: "Create", tag: ["test", "essais"]}) + + fetch_three = + ActivityPub.fetch_activities([], %{ + type: "Create", + tag: ["test", "essais"], + tag_reject: ["reject"] + }) + + fetch_four = + ActivityPub.fetch_activities([], %{ + type: "Create", + tag: ["test"], + tag_all: ["test", "reject"] + }) + + assert fetch_one == [status_one, status_three] + assert fetch_two == [status_one, status_two, status_three] + assert fetch_three == [status_one, status_two] + assert fetch_four == [status_three] + end + describe "insertion" do test "drops activities beyond a certain limit" do limit = Config.get([:instance, :remote_limit]) From b374fd622b120668bb828155e32f9b4f4a142911 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 14:24:54 +0200 Subject: [PATCH 020/249] Docs: Document the added `accepts_chat_messages` user property. --- docs/API/differences_in_mastoapi_responses.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index 72b5984ae..755db0e65 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -71,6 +71,7 @@ Has these additional fields under the `pleroma` object: - `unread_conversation_count`: The count of unread conversations. Only returned to the account owner. - `unread_notifications_count`: The count of unread notifications. Only returned to the account owner. - `notification_settings`: object, can be absent. See `/api/pleroma/notification_settings` for the parameters/keys returned. +- `accepts_chat_messages`: boolean, but can be null if we don't have that information about a user ### Source From 3ca9af1f9fef081830820b5bea90f789e460b83a Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 14:31:04 +0200 Subject: [PATCH 021/249] Account Schema: Add `accepts_chat_messages` --- lib/pleroma/web/api_spec/schemas/account.ex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/api_spec/schemas/account.ex b/lib/pleroma/web/api_spec/schemas/account.ex index 84f18f1b6..3a84a1593 100644 --- a/lib/pleroma/web/api_spec/schemas/account.ex +++ b/lib/pleroma/web/api_spec/schemas/account.ex @@ -102,7 +102,8 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do type: :object, description: "A generic map of settings for frontends. Opaque to the backend. Only returned in `verify_credentials` and `update_credentials`" - } + }, + accepts_chat_messages: %Schema{type: :boolean, nullable: true} } }, source: %Schema{ @@ -169,6 +170,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do "is_admin" => false, "is_moderator" => false, "skip_thread_containment" => false, + "accepts_chat_messages" => true, "chat_token" => "SFMyNTY.g3QAAAACZAAEZGF0YW0AAAASOXRLaTNlc2JHN09RZ1oyOTIwZAAGc2lnbmVkbgYARNplS3EB.Mb_Iaqew2bN1I1o79B_iP7encmVCpTKC4OtHZRxdjKc", "unread_conversation_count" => 0, From 4a7b89e37217af4d98746bb934b8264d7a8de51d Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 15:13:27 +0200 Subject: [PATCH 022/249] ChatMessageValidator: Additional validation. --- .../object_validators/chat_message_validator.ex | 6 ++++++ test/web/activity_pub/object_validator_test.exs | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/lib/pleroma/web/activity_pub/object_validators/chat_message_validator.ex b/lib/pleroma/web/activity_pub/object_validators/chat_message_validator.ex index c481d79e0..91b475393 100644 --- a/lib/pleroma/web/activity_pub/object_validators/chat_message_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/chat_message_validator.ex @@ -93,12 +93,14 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.ChatMessageValidator do - If both users are in our system - If at least one of the users in this ChatMessage is a local user - If the recipient is not blocking the actor + - If the recipient is explicitly not accepting chat messages """ def validate_local_concern(cng) do with actor_ap <- get_field(cng, :actor), {_, %User{} = actor} <- {:find_actor, User.get_cached_by_ap_id(actor_ap)}, {_, %User{} = recipient} <- {:find_recipient, User.get_cached_by_ap_id(get_field(cng, :to) |> hd())}, + {_, false} <- {:not_accepting_chats?, recipient.accepts_chat_messages == false}, {_, false} <- {:blocking_actor?, User.blocks?(recipient, actor)}, {_, true} <- {:local?, Enum.any?([actor, recipient], & &1.local)} do cng @@ -107,6 +109,10 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.ChatMessageValidator do cng |> add_error(:actor, "actor is blocked by recipient") + {:not_accepting_chats?, true} -> + cng + |> add_error(:to, "recipient does not accept chat messages") + {:local?, false} -> cng |> add_error(:actor, "actor and recipient are both remote") diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index f38bf7e08..c1a872297 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -223,6 +223,17 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do refute match?({:ok, _object, _meta}, ObjectValidator.validate(valid_chat_message, [])) end + test "does not validate if the recipient is not accepting chat messages", %{ + valid_chat_message: valid_chat_message, + recipient: recipient + } do + recipient + |> Ecto.Changeset.change(%{accepts_chat_messages: false}) + |> Pleroma.Repo.update!() + + refute match?({:ok, _object, _meta}, ObjectValidator.validate(valid_chat_message, [])) + end + test "does not validate if the actor or the recipient is not in our system", %{ valid_chat_message: valid_chat_message } do From e3b5559780f798945eea59170afa9ef41bbf59b3 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 15:54:25 +0200 Subject: [PATCH 023/249] AccountController: Make setting accepts_chat_messages possible. --- lib/pleroma/user.ex | 3 ++- lib/pleroma/web/api_spec/operations/account_operation.ex | 9 +++++++-- .../web/mastodon_api/controllers/account_controller.ex | 3 ++- .../account_controller/update_credentials_test.exs | 7 +++++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index a4130c89f..712bc3047 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -483,7 +483,8 @@ defmodule Pleroma.User do :pleroma_settings_store, :discoverable, :actor_type, - :also_known_as + :also_known_as, + :accepts_chat_messages ] ) |> unique_constraint(:nickname) diff --git a/lib/pleroma/web/api_spec/operations/account_operation.ex b/lib/pleroma/web/api_spec/operations/account_operation.ex index 9bde8fc0d..3c05fa55f 100644 --- a/lib/pleroma/web/api_spec/operations/account_operation.ex +++ b/lib/pleroma/web/api_spec/operations/account_operation.ex @@ -61,7 +61,7 @@ defmodule Pleroma.Web.ApiSpec.AccountOperation do description: "Update the user's display and preferences.", operationId: "AccountController.update_credentials", security: [%{"oAuth" => ["write:accounts"]}], - requestBody: request_body("Parameters", update_creadentials_request(), required: true), + requestBody: request_body("Parameters", update_credentials_request(), required: true), responses: %{ 200 => Operation.response("Account", "application/json", Account), 403 => Operation.response("Error", "application/json", ApiError) @@ -458,7 +458,7 @@ defmodule Pleroma.Web.ApiSpec.AccountOperation do } end - defp update_creadentials_request do + defp update_credentials_request do %Schema{ title: "AccountUpdateCredentialsRequest", description: "POST body for creating an account", @@ -492,6 +492,11 @@ defmodule Pleroma.Web.ApiSpec.AccountOperation do nullable: true, description: "Whether manual approval of follow requests is required." }, + accepts_chat_messages: %Schema{ + allOf: [BooleanLike], + nullable: true, + description: "Whether the user accepts receiving chat messages." + }, fields_attributes: %Schema{ nullable: true, oneOf: [ diff --git a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex index b5008d69b..7ff767db6 100644 --- a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex @@ -160,7 +160,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do :show_role, :skip_thread_containment, :allow_following_move, - :discoverable + :discoverable, + :accepts_chat_messages ] |> Enum.reduce(%{}, fn key, acc -> Maps.put_if_present(acc, key, params[key], &{:ok, truthy_param?(&1)}) diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index f67d294ba..37e33bc33 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -108,6 +108,13 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do assert user_data["locked"] == true end + test "updates the user's chat acceptance status", %{conn: conn} do + conn = patch(conn, "/api/v1/accounts/update_credentials", %{accepts_chat_messages: "false"}) + + assert user_data = json_response_and_validate_schema(conn, 200) + assert user_data["pleroma"]["accepts_chat_messages"] == false + end + test "updates the user's allow_following_move", %{user: user, conn: conn} do assert user.allow_following_move == true From 01695716c8d8916e8a9ddc3c07edfd45c7d5c8f2 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 15:55:18 +0200 Subject: [PATCH 024/249] Docs: Document `accepts_chat_messages` setting. --- docs/API/differences_in_mastoapi_responses.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index 755db0e65..4514a7d59 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -186,6 +186,7 @@ Additional parameters can be added to the JSON body/Form data: - `pleroma_background_image` - sets the background image of the user. - `discoverable` - if true, discovery of this account in search results and other services is allowed. - `actor_type` - the type of this account. +- `accepts_chat_messages` - if false, this account will reject all chat messages. ### Pleroma Settings Store From ef4c16f6f19c0544ed22972c78195547b4cf3f5d Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 15:59:42 +0200 Subject: [PATCH 025/249] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26f878a76..81265a7a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added +- Chats: Added `accepts_chat_messages` field to user, exposed in APIs and federation. - Chats: Added support for federated chats. For details, see the docs. - ActivityPub: Added support for existing AP ids for instances migrated from Mastodon. - Instance: Add `background_image` to configuration and `/api/v1/instance` From 4d3d867f10779bd4804acdb8ff398d41daafc4ea Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 3 Jul 2020 10:37:07 -0500 Subject: [PATCH 026/249] Update Oban to 2.0-rc3 --- mix.exs | 2 +- mix.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.exs b/mix.exs index a82e7d53b..69d9f8632 100644 --- a/mix.exs +++ b/mix.exs @@ -124,7 +124,7 @@ defmodule Pleroma.Mixfile do {:ecto_enum, "~> 1.4"}, {:ecto_sql, "~> 3.4.4"}, {:postgrex, ">= 0.13.5"}, - {:oban, "~> 2.0.0-rc.2"}, + {:oban, "~> 2.0.0-rc.3"}, {:gettext, "~> 0.15"}, {:pbkdf2_elixir, "~> 1.0"}, {:bcrypt_elixir, "~> 2.0"}, diff --git a/mix.lock b/mix.lock index 781b7f2f2..88005451a 100644 --- a/mix.lock +++ b/mix.lock @@ -75,7 +75,7 @@ "myhtmlex": {:git, "https://git.pleroma.social/pleroma/myhtmlex.git", "ad0097e2f61d4953bfef20fb6abddf23b87111e6", [ref: "ad0097e2f61d4953bfef20fb6abddf23b87111e6", submodules: true]}, "nimble_parsec": {:hex, :nimble_parsec, "0.5.3", "def21c10a9ed70ce22754fdeea0810dafd53c2db3219a0cd54cf5526377af1c6", [:mix], [], "hexpm", "589b5af56f4afca65217a1f3eb3fee7e79b09c40c742fddc1c312b3ac0b3399f"}, "nodex": {:git, "https://git.pleroma.social/pleroma/nodex", "cb6730f943cfc6aad674c92161be23a8411f15d1", [ref: "cb6730f943cfc6aad674c92161be23a8411f15d1"]}, - "oban": {:hex, :oban, "2.0.0-rc.2", "4a3ba53af98a9aaeee7e53209bbdb18a80972952d4c2ccc6ac61ffd30fa96e8a", [:mix], [{:ecto_sql, ">= 3.4.3", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.14", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "8a01ace5b6cd142fea547a554b7b752be7ea8fb08e7ffee57405d3b28561560c"}, + "oban": {:hex, :oban, "2.0.0-rc.3", "964629fabc21939d7258a05a38f74b676bd4eebcf4932389e8ad9f1a18431bd2", [:mix], [{:ecto_sql, ">= 3.4.3", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.14", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "82c9688e066610a88776aac527022a320faed9b5918093061caf2767863cc3c5"}, "open_api_spex": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git", "f296ac0924ba3cf79c7a588c4c252889df4c2edd", [ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"]}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "pbkdf2_elixir": {:hex, :pbkdf2_elixir, "1.2.1", "9cbe354b58121075bd20eb83076900a3832324b7dd171a6895fab57b6bb2752c", [:mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}], "hexpm", "d3b40a4a4630f0b442f19eca891fcfeeee4c40871936fed2f68e1c4faa30481f"}, From bc956d0c419f156915dbf0185d6dd9c98dd7a6fe Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 3 Jul 2020 11:29:17 -0500 Subject: [PATCH 027/249] Document Oban update --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85401809a..f1c0209fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - MFR policy to set global expiration for all local Create activities - OGP rich media parser merged with TwitterCard - Configuration: `:instance, rewrite_policy` moved to `:mrf, policies`, `:instance, :mrf_transparency` moved to `:mrf, :transparency`, `:instance, :mrf_transparency_exclusions` moved to `:mrf, :transparency_exclusions`. Old config namespace is deprecated. +- Update Oban to version 2.0
API Changes From e8710a3f8730be85443344640d2e46cd74667d6b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 3 Jul 2020 13:49:02 -0500 Subject: [PATCH 028/249] Revert "Document Oban update" This reverts commit bc956d0c419f156915dbf0185d6dd9c98dd7a6fe. --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1c0209fa..85401809a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - MFR policy to set global expiration for all local Create activities - OGP rich media parser merged with TwitterCard - Configuration: `:instance, rewrite_policy` moved to `:mrf, policies`, `:instance, :mrf_transparency` moved to `:mrf, :transparency`, `:instance, :mrf_transparency_exclusions` moved to `:mrf, :transparency_exclusions`. Old config namespace is deprecated. -- Update Oban to version 2.0
API Changes From 208baf157ad0c8be470566d5d51d0214c229e6a5 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 6 Jul 2020 11:38:40 +0200 Subject: [PATCH 029/249] ActivityPub: Add new 'capabilities' to user. --- lib/pleroma/web/activity_pub/activity_pub.ex | 3 ++- lib/pleroma/web/activity_pub/views/user_view.ex | 6 +++--- priv/static/schemas/litepub-0.1.jsonld | 2 +- .../tesla_mock/admin@mastdon.example.org.json | 4 +++- test/web/activity_pub/views/user_view_test.exs | 13 ++++++++++--- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 86428b861..17c9d8f21 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1224,7 +1224,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do end) locked = data["manuallyApprovesFollowers"] || false - accepts_chat_messages = data["acceptsChatMessages"] + capabilities = data["capabilities"] || %{} + accepts_chat_messages = capabilities["acceptsChatMessages"] data = Transmogrifier.maybe_fix_user_object(data) discoverable = data["discoverable"] || false invisible = data["invisible"] || false diff --git a/lib/pleroma/web/activity_pub/views/user_view.ex b/lib/pleroma/web/activity_pub/views/user_view.ex index d062d6230..3a4564912 100644 --- a/lib/pleroma/web/activity_pub/views/user_view.ex +++ b/lib/pleroma/web/activity_pub/views/user_view.ex @@ -81,7 +81,7 @@ defmodule Pleroma.Web.ActivityPub.UserView do fields = Enum.map(user.fields, &Map.put(&1, "type", "PropertyValue")) - chat_message_acceptance = + capabilities = if is_boolean(user.accepts_chat_messages) do %{ "acceptsChatMessages" => user.accepts_chat_messages @@ -110,9 +110,9 @@ defmodule Pleroma.Web.ActivityPub.UserView do "endpoints" => endpoints, "attachment" => fields, "tag" => emoji_tags, - "discoverable" => user.discoverable + "discoverable" => user.discoverable, + "capabilities" => capabilities } - |> Map.merge(chat_message_acceptance) |> Map.merge(maybe_make_image(&User.avatar_url/2, "icon", user)) |> Map.merge(maybe_make_image(&User.banner_url/2, "image", user)) |> Map.merge(Utils.make_json_ld_header()) diff --git a/priv/static/schemas/litepub-0.1.jsonld b/priv/static/schemas/litepub-0.1.jsonld index c1bcad0f8..e7722cf72 100644 --- a/priv/static/schemas/litepub-0.1.jsonld +++ b/priv/static/schemas/litepub-0.1.jsonld @@ -13,7 +13,7 @@ }, "discoverable": "toot:discoverable", "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", - "acceptsChatMessages": "litepub:acceptsChatMessages", + "capabilities": "litepub:capabilities", "ostatus": "http://ostatus.org#", "schema": "http://schema.org#", "toot": "http://joinmastodon.org/ns#", diff --git a/test/fixtures/tesla_mock/admin@mastdon.example.org.json b/test/fixtures/tesla_mock/admin@mastdon.example.org.json index f5cf174be..a911b979a 100644 --- a/test/fixtures/tesla_mock/admin@mastdon.example.org.json +++ b/test/fixtures/tesla_mock/admin@mastdon.example.org.json @@ -26,7 +26,9 @@ "summary": "\u003cp\u003e\u003c/p\u003e", "url": "http://mastodon.example.org/@admin", "manuallyApprovesFollowers": false, - "acceptsChatMessages": true, + "capabilities": { + "acceptsChatMessages": true + }, "publicKey": { "id": "http://mastodon.example.org/users/admin#main-key", "owner": "http://mastodon.example.org/users/admin", diff --git a/test/web/activity_pub/views/user_view_test.exs b/test/web/activity_pub/views/user_view_test.exs index 3b4a1bcde..98c7c9d09 100644 --- a/test/web/activity_pub/views/user_view_test.exs +++ b/test/web/activity_pub/views/user_view_test.exs @@ -165,9 +165,16 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do false_user = insert(:user, accepts_chat_messages: false) nil_user = insert(:user, accepts_chat_messages: nil) - assert %{"acceptsChatMessages" => true} = UserView.render("user.json", user: true_user) - assert %{"acceptsChatMessages" => false} = UserView.render("user.json", user: false_user) - refute Map.has_key?(UserView.render("user.json", user: nil_user), "acceptsChatMessages") + assert %{"capabilities" => %{"acceptsChatMessages" => true}} = + UserView.render("user.json", user: true_user) + + assert %{"capabilities" => %{"acceptsChatMessages" => false}} = + UserView.render("user.json", user: false_user) + + refute Map.has_key?( + UserView.render("user.json", user: nil_user)["capabilities"], + "acceptsChatMessages" + ) end end end From 704a3830556d94e0dbc39873480e9ba95a143be9 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 8 Jul 2020 13:14:18 +0300 Subject: [PATCH 030/249] Improved search results for localized nickname match. Tweaked user search to rank nickname matches higher than name matches. --- lib/pleroma/user/search.ex | 8 +++++++- test/tasks/user_test.exs | 16 ++++++++-------- test/user_search_test.exs | 35 +++++++++++++++++++++++++++++------ 3 files changed, 44 insertions(+), 15 deletions(-) diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index 42ff1de78..7ff1c7e24 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -88,15 +88,21 @@ defmodule Pleroma.User.Search do |> Enum.join(" | ") end + # Considers nickname match, localized nickname match, name match; preferences nickname match defp trigram_rank(query, query_string) do from( u in query, select_merge: %{ search_rank: fragment( - "similarity(?, trim(? || ' ' || coalesce(?, '')))", + "similarity(?, ?) + \ + similarity(?, regexp_replace(?, '@.+', '')) + \ + similarity(?, trim(coalesce(?, '')))", ^query_string, u.nickname, + ^query_string, + u.nickname, + ^query_string, u.name ) } diff --git a/test/tasks/user_test.exs b/test/tasks/user_test.exs index 9220d23fc..7bb49b038 100644 --- a/test/tasks/user_test.exs +++ b/test/tasks/user_test.exs @@ -464,17 +464,17 @@ defmodule Mix.Tasks.Pleroma.UserTest do moot = insert(:user, nickname: "moot") kawen = insert(:user, nickname: "kawen", name: "fediverse expert moon") - {:ok, user} = User.follow(user, kawen) + {:ok, user} = User.follow(user, moon) assert [moon.id, kawen.id] == User.Search.search("moon") |> Enum.map(& &1.id) - res = User.search("moo") |> Enum.map(& &1.id) - assert moon.id in res - assert moot.id in res - assert kawen.id in res - assert [moon.id, kawen.id] == User.Search.search("moon fediverse") |> Enum.map(& &1.id) - assert [kawen.id, moon.id] == - User.Search.search("moon fediverse", for_user: user) |> Enum.map(& &1.id) + res = User.search("moo") |> Enum.map(& &1.id) + assert Enum.sort([moon.id, moot.id, kawen.id]) == Enum.sort(res) + + assert [kawen.id, moon.id] == User.Search.search("expert fediverse") |> Enum.map(& &1.id) + + assert [moon.id, kawen.id] == + User.Search.search("expert fediverse", for_user: user) |> Enum.map(& &1.id) end end diff --git a/test/user_search_test.exs b/test/user_search_test.exs index f030523d3..758822072 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -46,30 +46,53 @@ defmodule Pleroma.UserSearchTest do assert length(User.search("john", limit: 3, offset: 3)) == 2 end - test "finds a user by full or partial nickname" do + defp clear_virtual_fields(user) do + Map.merge(user, %{search_rank: nil, search_type: nil}) + end + + test "finds a user by full nickname or its leading fragment" do user = insert(:user, %{nickname: "john"}) Enum.each(["john", "jo", "j"], fn query -> assert user == User.search(query) |> List.first() - |> Map.put(:search_rank, nil) - |> Map.put(:search_type, nil) + |> clear_virtual_fields() end) end - test "finds a user by full or partial name" do + test "finds a user by full name or leading fragment(s) of its words" do user = insert(:user, %{name: "John Doe"}) Enum.each(["John Doe", "JOHN", "doe", "j d", "j", "d"], fn query -> assert user == User.search(query) |> List.first() - |> Map.put(:search_rank, nil) - |> Map.put(:search_type, nil) + |> clear_virtual_fields() end) end + test "is not [yet] capable of matching by non-leading fragments (e.g. by domain)" do + user1 = insert(:user, %{nickname: "iamthedude"}) + insert(:user, %{nickname: "arandom@dude.com"}) + + assert [] == User.search("dude") + + # Matching by leading fragment works, though + user1_id = user1.id + assert ^user1_id = User.search("iam") |> List.first() |> Map.get(:id) + end + + test "ranks full nickname match higher than full name match" do + nicknamed_user = insert(:user, %{nickname: "hj@shigusegubu.club"}) + named_user = insert(:user, %{nickname: "xyz@sample.com", name: "HJ"}) + + results = User.search("hj") + + assert [nicknamed_user.id, named_user.id] == Enum.map(results, & &1.id) + assert Enum.at(results, 0).search_rank > Enum.at(results, 1).search_rank + end + test "finds users, considering density of matched tokens" do u1 = insert(:user, %{name: "Bar Bar plus Word Word"}) u2 = insert(:user, %{name: "Word Word Bar Bar Bar"}) From 72ad3a66f48d4500be1f25dd7b02b834399d3bbe Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 3 Jul 2020 19:18:08 +0300 Subject: [PATCH 031/249] don't fully start pleroma in mix tasks --- lib/mix/pleroma.ex | 20 +++++++++++++++++++- lib/mix/tasks/pleroma/digest.ex | 2 ++ lib/mix/tasks/pleroma/email.ex | 1 + lib/mix/tasks/pleroma/relay.ex | 3 +++ lib/pleroma/application.ex | 3 ++- 5 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index 3ad6edbfb..553c74c25 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -3,6 +3,8 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Pleroma do + @apps [:restarter, :ecto, :ecto_sql, :postgrex, :db_connection, :cachex] + @cachex_childs ["object", "user"] @doc "Common functions to be reused in mix tasks" def start_pleroma do Application.put_env(:phoenix, :serve_endpoints, false, persistent: true) @@ -11,7 +13,23 @@ defmodule Mix.Pleroma do Application.put_env(:logger, :console, level: :debug) end - {:ok, _} = Application.ensure_all_started(:pleroma) + apps = + if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do + [:gun | @apps] + else + [:hackney | @apps] + end + + Enum.each(apps, &Application.ensure_all_started/1) + + childs = [Pleroma.Repo, Pleroma.Config.TransferTask, Pleroma.Web.Endpoint] + + cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, [])) + + Supervisor.start_link(childs ++ cachex_childs, + strategy: :one_for_one, + name: Pleroma.Supervisor + ) if Pleroma.Config.get(:env) not in [:test, :benchmark] do pleroma_rebooted?() diff --git a/lib/mix/tasks/pleroma/digest.ex b/lib/mix/tasks/pleroma/digest.ex index 3595f912d..8bde2d4f2 100644 --- a/lib/mix/tasks/pleroma/digest.ex +++ b/lib/mix/tasks/pleroma/digest.ex @@ -7,6 +7,8 @@ defmodule Mix.Tasks.Pleroma.Digest do def run(["test", nickname | opts]) do Mix.Pleroma.start_pleroma() + Application.ensure_all_started(:timex) + Application.ensure_all_started(:swoosh) user = Pleroma.User.get_by_nickname(nickname) diff --git a/lib/mix/tasks/pleroma/email.ex b/lib/mix/tasks/pleroma/email.ex index d3fac6ec8..16fe31431 100644 --- a/lib/mix/tasks/pleroma/email.ex +++ b/lib/mix/tasks/pleroma/email.ex @@ -7,6 +7,7 @@ defmodule Mix.Tasks.Pleroma.Email do def run(["test" | args]) do Mix.Pleroma.start_pleroma() + Application.ensure_all_started(:swoosh) {options, [], []} = OptionParser.parse( diff --git a/lib/mix/tasks/pleroma/relay.ex b/lib/mix/tasks/pleroma/relay.ex index c3312507e..b67d256c3 100644 --- a/lib/mix/tasks/pleroma/relay.ex +++ b/lib/mix/tasks/pleroma/relay.ex @@ -12,6 +12,7 @@ defmodule Mix.Tasks.Pleroma.Relay do def run(["follow", target]) do start_pleroma() + Application.ensure_all_started(:flake_id) with {:ok, _activity} <- Relay.follow(target) do # put this task to sleep to allow the genserver to push out the messages @@ -23,6 +24,7 @@ defmodule Mix.Tasks.Pleroma.Relay do def run(["unfollow", target]) do start_pleroma() + Application.ensure_all_started(:flake_id) with {:ok, _activity} <- Relay.unfollow(target) do # put this task to sleep to allow the genserver to push out the messages @@ -34,6 +36,7 @@ defmodule Mix.Tasks.Pleroma.Relay do def run(["list"]) do start_pleroma() + Application.ensure_all_started(:flake_id) with {:ok, list} <- Relay.list(true) do list |> Enum.each(&shell_info(&1)) diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 9615af122..7eb629abf 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -162,7 +162,8 @@ defmodule Pleroma.Application do defp seconds_valid_interval, do: :timer.seconds(Config.get!([Pleroma.Captcha, :seconds_valid])) - defp build_cachex(type, opts), + @spec build_cachex(String.t(), keyword()) :: map() + def build_cachex(type, opts), do: %{ id: String.to_atom("cachex_" <> type), start: {Cachex, :start_link, [String.to_atom(type <> "_cache"), opts]}, From b28cc154596ad9cbf5ef9708a5967672c61ddbdc Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 3 Jul 2020 20:12:00 +0300 Subject: [PATCH 032/249] don't restart pleroma in mix tasks --- lib/mix/pleroma.ex | 6 +++++- lib/pleroma/config/transfer_task.ex | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index 553c74c25..0fbb6f1cd 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -22,7 +22,11 @@ defmodule Mix.Pleroma do Enum.each(apps, &Application.ensure_all_started/1) - childs = [Pleroma.Repo, Pleroma.Config.TransferTask, Pleroma.Web.Endpoint] + childs = [ + Pleroma.Repo, + {Pleroma.Config.TransferTask, false}, + Pleroma.Web.Endpoint + ] cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, [])) diff --git a/lib/pleroma/config/transfer_task.ex b/lib/pleroma/config/transfer_task.ex index eb86b8ff4..a0d7b7d71 100644 --- a/lib/pleroma/config/transfer_task.ex +++ b/lib/pleroma/config/transfer_task.ex @@ -31,8 +31,8 @@ defmodule Pleroma.Config.TransferTask do {:pleroma, :gopher, [:enabled]} ] - def start_link(_) do - load_and_update_env() + def start_link(restart_pleroma? \\ true) do + load_and_update_env([], restart_pleroma?) if Config.get(:env) == :test, do: Ecto.Adapters.SQL.Sandbox.checkin(Repo) :ignore end From af9eb7a2b10d2994f915f8a33c2f5f7a7db1128e Mon Sep 17 00:00:00 2001 From: stwf Date: Wed, 8 Jul 2020 11:32:04 -0400 Subject: [PATCH 033/249] re-enable federation tests --- .gitlab-ci.yml | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b4bd59b43..6a2be879e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,21 +63,19 @@ unit-testing: - mix ecto.migrate - mix coveralls --preload-modules -# Removed to fix CI issue. In this early state it wasn't adding much value anyway. -# TODO Fix and reinstate federated testing -# federated-testing: -# stage: test -# cache: *testing_cache_policy -# services: -# - name: minibikini/postgres-with-rum:12 -# alias: postgres -# command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] -# script: -# - mix deps.get -# - mix ecto.create -# - mix ecto.migrate -# - epmd -daemon -# - mix test --trace --only federated +federated-testing: + stage: test + cache: *testing_cache_policy + services: + - name: minibikini/postgres-with-rum:12 + alias: postgres + command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] + script: + - mix deps.get + - mix ecto.create + - mix ecto.migrate + - epmd -daemon + - mix test --trace --only federated unit-testing-rum: stage: test From 123352ffa1c80aab658fca0c2276d1c06de43a02 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 8 Jul 2020 22:50:15 +0300 Subject: [PATCH 034/249] Removed unused trigram index on `users`. Fixed `users_fts_index` usage. --- lib/pleroma/user/search.ex | 16 +++++++++++----- .../20200708193702_drop_user_trigram_index.exs | 18 ++++++++++++++++++ test/user_search_test.exs | 12 ++++-------- 3 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 priv/repo/migrations/20200708193702_drop_user_trigram_index.exs diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index 7ff1c7e24..d4fd31069 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -69,11 +69,15 @@ defmodule Pleroma.User.Search do u in query, where: fragment( + # The fragment must _exactly_ match `users_fts_index`, otherwise the index won't work """ - (to_tsvector('simple', ?) || to_tsvector('simple', ?)) @@ to_tsquery('simple', ?) + ( + setweight(to_tsvector('simple', regexp_replace(?, '\\W', ' ', 'g')), 'A') || + setweight(to_tsvector('simple', regexp_replace(coalesce(?, ''), '\\W', ' ', 'g')), 'B') + ) @@ to_tsquery('simple', ?) """, - u.name, u.nickname, + u.name, ^query_string ) ) @@ -95,9 +99,11 @@ defmodule Pleroma.User.Search do select_merge: %{ search_rank: fragment( - "similarity(?, ?) + \ - similarity(?, regexp_replace(?, '@.+', '')) + \ - similarity(?, trim(coalesce(?, '')))", + """ + similarity(?, ?) + + similarity(?, regexp_replace(?, '@.+', '')) + + similarity(?, trim(coalesce(?, ''))) + """, ^query_string, u.nickname, ^query_string, diff --git a/priv/repo/migrations/20200708193702_drop_user_trigram_index.exs b/priv/repo/migrations/20200708193702_drop_user_trigram_index.exs new file mode 100644 index 000000000..94efe323a --- /dev/null +++ b/priv/repo/migrations/20200708193702_drop_user_trigram_index.exs @@ -0,0 +1,18 @@ +defmodule Pleroma.Repo.Migrations.DropUserTrigramIndex do + @moduledoc "Drops unused trigram index on `users` (FTS index is being used instead)" + + use Ecto.Migration + + def up do + drop_if_exists(index(:users, [], name: :users_trigram_index)) + end + + def down do + create_if_not_exists( + index(:users, ["(trim(nickname || ' ' || coalesce(name, ''))) gist_trgm_ops"], + name: :users_trigram_index, + using: :gist + ) + ) + end +end diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 758822072..559ba5966 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -72,15 +72,11 @@ defmodule Pleroma.UserSearchTest do end) end - test "is not [yet] capable of matching by non-leading fragments (e.g. by domain)" do - user1 = insert(:user, %{nickname: "iamthedude"}) - insert(:user, %{nickname: "arandom@dude.com"}) + test "matches by leading fragment of user domain" do + user = insert(:user, %{nickname: "arandom@dude.com"}) + insert(:user, %{nickname: "iamthedude"}) - assert [] == User.search("dude") - - # Matching by leading fragment works, though - user1_id = user1.id - assert ^user1_id = User.search("iam") |> List.first() |> Map.get(:id) + assert [user.id] == User.search("dud") |> Enum.map(& &1.id) end test "ranks full nickname match higher than full name match" do From 33e62856367b2789fa287830676edd843ad0e5d4 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Thu, 9 Jul 2020 01:33:23 +0300 Subject: [PATCH 035/249] Update types for :headers and :options settings in MediaProxy Invalidation group --- config/description.exs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/config/description.exs b/config/description.exs index 370af80a6..337f0d307 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1791,15 +1791,20 @@ config :pleroma, :config_description, [ }, %{ key: :headers, - type: {:list, :tuple}, - description: "HTTP headers of request.", + type: {:keyword, :string}, + description: "HTTP headers of request", suggestions: [{"x-refresh", 1}] }, %{ key: :options, type: :keyword, - description: "Request options.", - suggestions: [params: %{ts: "xxx"}] + description: "Request options", + children: [ + %{ + key: :params, + type: {:keyword, :string} + } + ] } ] }, From 4cbafcef0c3a0ce9ddf888b558c6691afb96ad94 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 9 Jul 2020 11:17:43 +0300 Subject: [PATCH 036/249] load default config in mix tasks --- lib/mix/pleroma.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index 0fbb6f1cd..de16cc52c 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -7,6 +7,7 @@ defmodule Mix.Pleroma do @cachex_childs ["object", "user"] @doc "Common functions to be reused in mix tasks" def start_pleroma do + Pleroma.Config.Holder.save_default() Application.put_env(:phoenix, :serve_endpoints, false, persistent: true) if Pleroma.Config.get(:env) != :test do From c2be0da79fcc95399647b292e0b9a4119d3dcdf1 Mon Sep 17 00:00:00 2001 From: eugenijm Date: Mon, 18 May 2020 22:56:09 +0300 Subject: [PATCH 037/249] Admin API: fix `GET /api/pleroma/admin/users/:nickname/credentials` returning 404 when getting the credentials of a remote user while `:instance, :limit_to_local_content` is set to `:unauthenticated` --- CHANGELOG.md | 1 + .../web/admin_api/controllers/admin_api_controller.ex | 10 +++++----- .../controllers/admin_api_controller_test.exs | 9 +++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92d8c3d8e..c713f1970 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -79,6 +79,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - `blob:` urls not being allowed by connect-src CSP - Mastodon API: fix `GET /api/v1/notifications` not returning the full result set - Rich Media Previews for Twitter links +- Admin API: fix `GET /api/pleroma/admin/users/:nickname/credentials` returning 404 when getting the credentials of a remote user while `:instance, :limit_to_local_content` is set to `:unauthenticated` ## [Unreleased (patch)] diff --git a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex index f9545d895..e5f14269a 100644 --- a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex @@ -206,8 +206,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do end end - def user_show(conn, %{"nickname" => nickname}) do - with %User{} = user <- User.get_cached_by_nickname_or_id(nickname) do + def user_show(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname}) do + with %User{} = user <- User.get_cached_by_nickname_or_id(nickname, for: admin) do conn |> put_view(AccountView) |> render("show.json", %{user: user}) @@ -233,11 +233,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do |> render("index.json", %{activities: activities, as: :activity}) end - def list_user_statuses(conn, %{"nickname" => nickname} = params) do + def list_user_statuses(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname} = params) do with_reblogs = params["with_reblogs"] == "true" || params["with_reblogs"] == true godmode = params["godmode"] == "true" || params["godmode"] == true - with %User{} = user <- User.get_cached_by_nickname_or_id(nickname) do + with %User{} = user <- User.get_cached_by_nickname_or_id(nickname, for: admin) do {_, page_size} = page_params(params) activities = @@ -526,7 +526,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do @doc "Show a given user's credentials" def show_user_credentials(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname}) do - with %User{} = user <- User.get_cached_by_nickname_or_id(nickname) do + with %User{} = user <- User.get_cached_by_nickname_or_id(nickname, for: admin) do conn |> put_view(AccountView) |> render("credentials.json", %{user: user, for: admin}) diff --git a/test/web/admin_api/controllers/admin_api_controller_test.exs b/test/web/admin_api/controllers/admin_api_controller_test.exs index 48fb108ec..c2433f23c 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -1514,6 +1514,15 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do end end + test "gets a remote users when [:instance, :limit_to_local_content] is set to :unauthenticated", + %{conn: conn} do + clear_config(Pleroma.Config.get([:instance, :limit_to_local_content]), :unauthenticated) + user = insert(:user, %{local: false, nickname: "u@peer1.com"}) + conn = get(conn, "/api/pleroma/admin/users/#{user.nickname}/credentials") + + assert json_response(conn, 200) + end + describe "GET /users/:nickname/credentials" do test "gets the user credentials", %{conn: conn} do user = insert(:user) From c2edfd16e063cda117181da66d9b4fec87c121ac Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 9 Jul 2020 18:59:15 +0300 Subject: [PATCH 038/249] fix for user revoke invite task --- docs/administration/CLI_tasks/user.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/administration/CLI_tasks/user.md b/docs/administration/CLI_tasks/user.md index 1e6f4a8b4..3b4c421a7 100644 --- a/docs/administration/CLI_tasks/user.md +++ b/docs/administration/CLI_tasks/user.md @@ -57,11 +57,11 @@ mix pleroma.user invites ## Revoke invite ```sh tab="OTP" - ./bin/pleroma_ctl user revoke_invite + ./bin/pleroma_ctl user revoke_invite ``` ```sh tab="From Source" -mix pleroma.user revoke_invite +mix pleroma.user revoke_invite ``` From d5fcec8315a5f48d94a083b38abcc615834dc532 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 9 Jul 2020 18:59:48 +0300 Subject: [PATCH 039/249] fix for info after tag/untag user --- lib/mix/tasks/pleroma/user.ex | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index bca7e87bf..a9370b5e7 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -15,6 +15,8 @@ defmodule Mix.Tasks.Pleroma.User do @moduledoc File.read!("docs/administration/CLI_tasks/user.md") def run(["new", nickname, email | rest]) do + Application.ensure_all_started(:flake_id) + {options, [], []} = OptionParser.parse( rest, @@ -97,6 +99,7 @@ defmodule Mix.Tasks.Pleroma.User do def run(["rm", nickname]) do start_pleroma() + Application.ensure_all_started(:flake_id) with %User{local: true} = user <- User.get_cached_by_nickname(nickname), {:ok, delete_data, _} <- Builder.delete(user, user.ap_id), @@ -232,7 +235,7 @@ defmodule Mix.Tasks.Pleroma.User do with %User{} = user <- User.get_cached_by_nickname(nickname) do user = user |> User.tag(tags) - shell_info("Tags of #{user.nickname}: #{inspect(tags)}") + shell_info("Tags of #{user.nickname}: #{inspect(user.tags)}") else _ -> shell_error("Could not change user tags for #{nickname}") @@ -245,7 +248,7 @@ defmodule Mix.Tasks.Pleroma.User do with %User{} = user <- User.get_cached_by_nickname(nickname) do user = user |> User.untag(tags) - shell_info("Tags of #{user.nickname}: #{inspect(tags)}") + shell_info("Tags of #{user.nickname}: #{inspect(user.tags)}") else _ -> shell_error("Could not change user tags for #{nickname}") @@ -328,6 +331,7 @@ defmodule Mix.Tasks.Pleroma.User do def run(["delete_activities", nickname]) do start_pleroma() + Application.ensure_all_started(:flake_id) with %User{local: true} = user <- User.get_cached_by_nickname(nickname) do User.delete_user_activities(user) From 79707e879d3af359be9e1f6ac10717cc9cb72b2c Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 9 Jul 2020 19:13:16 +0300 Subject: [PATCH 040/249] cleap up --- lib/mix/pleroma.ex | 20 +++++++++++++++----- lib/mix/tasks/pleroma/digest.ex | 2 -- lib/mix/tasks/pleroma/email.ex | 1 - lib/mix/tasks/pleroma/relay.ex | 3 --- lib/mix/tasks/pleroma/user.ex | 4 ---- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index de16cc52c..9f0bf6ecb 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -3,8 +3,18 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Pleroma do - @apps [:restarter, :ecto, :ecto_sql, :postgrex, :db_connection, :cachex] - @cachex_childs ["object", "user"] + @apps [ + :restarter, + :ecto, + :ecto_sql, + :postgrex, + :db_connection, + :cachex, + :flake_id, + :swoosh, + :timex + ] + @cachex_children ["object", "user"] @doc "Common functions to be reused in mix tasks" def start_pleroma do Pleroma.Config.Holder.save_default() @@ -23,15 +33,15 @@ defmodule Mix.Pleroma do Enum.each(apps, &Application.ensure_all_started/1) - childs = [ + children = [ Pleroma.Repo, {Pleroma.Config.TransferTask, false}, Pleroma.Web.Endpoint ] - cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, [])) + cachex_children = Enum.map(@cachex_children, &Pleroma.Application.build_cachex(&1, [])) - Supervisor.start_link(childs ++ cachex_childs, + Supervisor.start_link(children ++ cachex_children, strategy: :one_for_one, name: Pleroma.Supervisor ) diff --git a/lib/mix/tasks/pleroma/digest.ex b/lib/mix/tasks/pleroma/digest.ex index 8bde2d4f2..3595f912d 100644 --- a/lib/mix/tasks/pleroma/digest.ex +++ b/lib/mix/tasks/pleroma/digest.ex @@ -7,8 +7,6 @@ defmodule Mix.Tasks.Pleroma.Digest do def run(["test", nickname | opts]) do Mix.Pleroma.start_pleroma() - Application.ensure_all_started(:timex) - Application.ensure_all_started(:swoosh) user = Pleroma.User.get_by_nickname(nickname) diff --git a/lib/mix/tasks/pleroma/email.ex b/lib/mix/tasks/pleroma/email.ex index 16fe31431..d3fac6ec8 100644 --- a/lib/mix/tasks/pleroma/email.ex +++ b/lib/mix/tasks/pleroma/email.ex @@ -7,7 +7,6 @@ defmodule Mix.Tasks.Pleroma.Email do def run(["test" | args]) do Mix.Pleroma.start_pleroma() - Application.ensure_all_started(:swoosh) {options, [], []} = OptionParser.parse( diff --git a/lib/mix/tasks/pleroma/relay.ex b/lib/mix/tasks/pleroma/relay.ex index b67d256c3..c3312507e 100644 --- a/lib/mix/tasks/pleroma/relay.ex +++ b/lib/mix/tasks/pleroma/relay.ex @@ -12,7 +12,6 @@ defmodule Mix.Tasks.Pleroma.Relay do def run(["follow", target]) do start_pleroma() - Application.ensure_all_started(:flake_id) with {:ok, _activity} <- Relay.follow(target) do # put this task to sleep to allow the genserver to push out the messages @@ -24,7 +23,6 @@ defmodule Mix.Tasks.Pleroma.Relay do def run(["unfollow", target]) do start_pleroma() - Application.ensure_all_started(:flake_id) with {:ok, _activity} <- Relay.unfollow(target) do # put this task to sleep to allow the genserver to push out the messages @@ -36,7 +34,6 @@ defmodule Mix.Tasks.Pleroma.Relay do def run(["list"]) do start_pleroma() - Application.ensure_all_started(:flake_id) with {:ok, list} <- Relay.list(true) do list |> Enum.each(&shell_info(&1)) diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index a9370b5e7..01824aa18 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -15,8 +15,6 @@ defmodule Mix.Tasks.Pleroma.User do @moduledoc File.read!("docs/administration/CLI_tasks/user.md") def run(["new", nickname, email | rest]) do - Application.ensure_all_started(:flake_id) - {options, [], []} = OptionParser.parse( rest, @@ -99,7 +97,6 @@ defmodule Mix.Tasks.Pleroma.User do def run(["rm", nickname]) do start_pleroma() - Application.ensure_all_started(:flake_id) with %User{local: true} = user <- User.get_cached_by_nickname(nickname), {:ok, delete_data, _} <- Builder.delete(user, user.ap_id), @@ -331,7 +328,6 @@ defmodule Mix.Tasks.Pleroma.User do def run(["delete_activities", nickname]) do start_pleroma() - Application.ensure_all_started(:flake_id) with %User{local: true} = user <- User.get_cached_by_nickname(nickname) do User.delete_user_activities(user) From cc7153cd828afef1564b58649875b5529c078054 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Thu, 9 Jul 2020 19:07:07 +0200 Subject: [PATCH 041/249] user: Add support for custom emojis in profile fields --- lib/pleroma/user.ex | 18 ++++++++++---- .../update_credentials_test.exs | 24 +++++++++++++++++++ 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 9d1314f81..19b361b88 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -527,11 +527,21 @@ defmodule Pleroma.User do end defp put_emoji(changeset) do - bio = get_change(changeset, :bio) - name = get_change(changeset, :name) + emojified_fields = [:bio, :name, :raw_fields] + + if Enum.any?(changeset.changes, fn {k, _} -> k in emojified_fields end) do + bio = Emoji.Formatter.get_emoji_map(get_field(changeset, :bio)) + name = Emoji.Formatter.get_emoji_map(get_field(changeset, :name)) + + emoji = Map.merge(bio, name) + + emoji = + changeset + |> get_field(:raw_fields) + |> Enum.reduce(emoji, fn x, acc -> + Map.merge(acc, Emoji.Formatter.get_emoji_map(x["name"] <> x["value"])) + end) - if bio || name do - emoji = Map.merge(Emoji.Formatter.get_emoji_map(bio), Emoji.Formatter.get_emoji_map(name)) put_change(changeset, :emoji, emoji) else changeset diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index b55bb76a7..ee5ec9053 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -344,6 +344,30 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do ] end + test "emojis in fields labels", %{conn: conn} do + fields = [ + %{"name" => ":firefox:", "value" => "is best 2hu"}, + %{"name" => "they wins", "value" => ":blank:"} + ] + + account_data = + conn + |> patch("/api/v1/accounts/update_credentials", %{"fields_attributes" => fields}) + |> json_response_and_validate_schema(200) + + assert account_data["fields"] == [ + %{"name" => ":firefox:", "value" => "is best 2hu"}, + %{"name" => "they wins", "value" => ":blank:"} + ] + + assert account_data["source"]["fields"] == [ + %{"name" => ":firefox:", "value" => "is best 2hu"}, + %{"name" => "they wins", "value" => ":blank:"} + ] + + assert [%{"shortcode" => "blank"}, %{"shortcode" => "firefox"}] = account_data["emojis"] + end + test "update fields via x-www-form-urlencoded", %{conn: conn} do fields = [ From 08211eff22d4aab8ee73dbe16212d2aed1f6789b Mon Sep 17 00:00:00 2001 From: stwf Date: Wed, 8 Jul 2020 15:56:03 -0400 Subject: [PATCH 042/249] Re-enable the federated tests, increase timeout --- test/support/cluster.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/support/cluster.ex b/test/support/cluster.ex index deb37f361..524194cf4 100644 --- a/test/support/cluster.ex +++ b/test/support/cluster.ex @@ -97,7 +97,7 @@ defmodule Pleroma.Cluster do silence_logger_warnings(fn -> node_configs |> Enum.map(&Task.async(fn -> start_slave(&1) end)) - |> Enum.map(&Task.await(&1, 60_000)) + |> Enum.map(&Task.await(&1, 90_000)) end) end From 6b9210e886e16f806563f20ac82c0fe56f12a615 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Fri, 10 Jul 2020 03:07:55 +0300 Subject: [PATCH 043/249] Update type for :groups setting --- config/description.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/description.exs b/config/description.exs index 337f0d307..c2cd40587 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2527,7 +2527,7 @@ config :pleroma, :config_description, [ %{ key: :styling, type: :map, - description: "a map with color settings for email templates.", + description: "A map with color settings for email templates.", suggestions: [ %{ link_color: "#d8a070", @@ -2633,7 +2633,7 @@ config :pleroma, :config_description, [ }, %{ key: :groups, - type: {:keyword, :string, {:list, :string}}, + type: {:keyword, {:list, :string}}, description: "Emojis are ordered in groups (tags). This is an array of key-value pairs where the key is the group name" <> " and the value is the location or array of locations. * can be used as a wildcard.", From ac9f18de11d3d0583dfae3c6b25c56828357624a Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Fri, 10 Jul 2020 03:32:53 +0300 Subject: [PATCH 044/249] Update type for :replace settings --- config/description.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/description.exs b/config/description.exs index c2cd40587..0a0a8e95c 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1601,7 +1601,7 @@ config :pleroma, :config_description, [ }, %{ key: :replace, - type: [{:tuple, :string, :string}, {:tuple, :regex, :string}], + type: {:keyword, :string, :regex}, description: "A list of tuples containing {pattern, replacement}. Each pattern can be a string or a regular expression.", suggestions: [{"foo", "bar"}, {~r/foo/iu, "bar"}] From b1b8f5f11a6b74c09490235b30d1b31a54909437 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 10 Jul 2020 09:16:53 +0300 Subject: [PATCH 045/249] docs and descriptions for s3 settings --- config/description.exs | 32 ++++++++++++++++++++++++++++---- docs/configuration/cheatsheet.md | 25 ++++++++++++++++++++++--- 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/config/description.exs b/config/description.exs index 03b84bfc8..f461feb04 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2579,8 +2579,7 @@ config :pleroma, :config_description, [ %{ key: :enabled, type: :boolean, - description: "Enables new users admin digest email when `true`", - suggestions: [false] + description: "Enables new users admin digest email when `true`" } ] }, @@ -3444,8 +3443,7 @@ config :pleroma, :config_description, [ key: :strict, type: :boolean, description: - "Enables strict input validation (useful in development, not recommended in production)", - suggestions: [false] + "Enables strict input validation (useful in development, not recommended in production)" } ] }, @@ -3461,5 +3459,31 @@ config :pleroma, :config_description, [ description: "Allow/disallow displaying and getting instances favicons" } ] + }, + %{ + group: :ex_aws, + key: :s3, + type: :group, + descriptions: "S3 service related settings", + children: [ + %{ + key: :access_key_id, + type: :string, + description: "S3 access key ID", + suggestions: ["AKIAQ8UKHTGIYN7DMWWJ"] + }, + %{ + key: :secret_access_key, + type: :string, + description: "Secret access key", + suggestions: ["JFGt+fgH1UQ7vLUQjpW+WvjTdV/UNzVxcwn7DkaeFKtBS5LvoXvIiME4NQBsT6ZZ"] + }, + %{ + key: :host, + type: :string, + description: "S3 host", + suggestions: ["s3.eu-central-1.amazonaws.com"] + } + ] } ] diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index d775534b6..1a0603892 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -476,7 +476,6 @@ For each pool, the options are: * `:timeout` - timeout while `gun` will wait for response * `:max_overflow` - additional workers if pool is under load - ## Captcha ### Pleroma.Captcha @@ -494,7 +493,7 @@ A built-in captcha provider. Enabled by default. #### Pleroma.Captcha.Kocaptcha Kocaptcha is a very simple captcha service with a single API endpoint, -the source code is here: https://github.com/koto-bank/kocaptcha. The default endpoint +the source code is here: [kocaptcha](https://github.com/koto-bank/kocaptcha). The default endpoint `https://captcha.kotobank.ch` is hosted by the developer. * `endpoint`: the Kocaptcha endpoint to use. @@ -502,6 +501,7 @@ the source code is here: https://github.com/koto-bank/kocaptcha. The default end ## Uploads ### Pleroma.Upload + * `uploader`: Which one of the [uploaders](#uploaders) to use. * `filters`: List of [upload filters](#upload-filters) to use. * `link_name`: When enabled Pleroma will add a `name` parameter to the url of the upload, for example `https://instance.tld/media/corndog.png?name=corndog.png`. This is needed to provide the correct filename in Content-Disposition headers when using filters like `Pleroma.Upload.Filter.Dedupe` @@ -514,10 +514,15 @@ the source code is here: https://github.com/koto-bank/kocaptcha. The default end `strip_exif` has been replaced by `Pleroma.Upload.Filter.Mogrify`. ### Uploaders + #### Pleroma.Uploaders.Local + * `uploads`: Which directory to store the user-uploads in, relative to pleroma’s working directory. #### Pleroma.Uploaders.S3 + +Don't forget to configure [Ex AWS S3](#ex-aws-s3-settings) + * `bucket`: S3 bucket name. * `bucket_namespace`: S3 bucket namespace. * `public_endpoint`: S3 endpoint that the user finally accesses(ex. "https://s3.dualstack.ap-northeast-1.amazonaws.com") @@ -526,6 +531,20 @@ For example, when using CDN to S3 virtual host format, set "". At this time, write CNAME to CDN in public_endpoint. * `streaming_enabled`: Enable streaming uploads, when enabled the file will be sent to the server in chunks as it's being read. This may be unsupported by some providers, try disabling this if you have upload problems. +#### Ex AWS S3 settings + +* `access_key_id`: Access key ID +* `secret_access_key`: Secret access key +* `host`: S3 host + +Example: + +```elixir +config :ex_aws, :s3, + access_key_id: "xxxxxxxxxx", + secret_access_key: "yyyyyyyyyy", + host: "s3.eu-central-1.amazonaws.com" +``` ### Upload filters @@ -983,7 +1002,7 @@ Restrict access for unauthenticated users to timelines (public and federated), u * `local` * `remote` -Note: setting `restrict_unauthenticated/timelines/local` to `true` has no practical sense if `restrict_unauthenticated/timelines/federated` is set to `false` (since local public activities will still be delivered to unauthenticated users as part of federated timeline). +Note: setting `restrict_unauthenticated/timelines/local` to `true` has no practical sense if `restrict_unauthenticated/timelines/federated` is set to `false` (since local public activities will still be delivered to unauthenticated users as part of federated timeline). ## Pleroma.Web.ApiSpec.CastAndValidate From b6688030fad62cc8be32faf928ff6ec418940efc Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 10 Jul 2020 10:35:59 +0300 Subject: [PATCH 046/249] prometheus update for OTP 23 --- mix.exs | 1 + mix.lock | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index e2ab53bde..126aa4709 100644 --- a/mix.exs +++ b/mix.exs @@ -178,6 +178,7 @@ defmodule Pleroma.Mixfile do ref: "293d77bb6f4a67ac8bde1428735c3b42f22cbb30"}, {:telemetry, "~> 0.3"}, {:poolboy, "~> 1.5"}, + {:prometheus, "~> 4.6"}, {:prometheus_ex, "~> 3.0"}, {:prometheus_plugs, "~> 1.1"}, {:prometheus_phoenix, "~> 1.3"}, diff --git a/mix.lock b/mix.lock index 4f2777fa7..30464ddf2 100644 --- a/mix.lock +++ b/mix.lock @@ -92,7 +92,7 @@ "poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm", "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"}, "postgrex": {:hex, :postgrex, "0.15.3", "5806baa8a19a68c4d07c7a624ccdb9b57e89cbc573f1b98099e3741214746ae4", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "4737ce62a31747b4c63c12b20c62307e51bb4fcd730ca0c32c280991e0606c90"}, "pot": {:hex, :pot, "0.10.2", "9895c83bcff8cd22d9f5bc79dfc88a188176b261b618ad70d93faf5c5ca36e67", [:rebar3], [], "hexpm", "ac589a8e296b7802681e93cd0a436faec117ea63e9916709c628df31e17e91e2"}, - "prometheus": {:hex, :prometheus, "4.5.0", "8f4a2246fe0beb50af0f77c5e0a5bb78fe575c34a9655d7f8bc743aad1c6bf76", [:mix, :rebar3], [], "hexpm", "679b5215480fff612b8351f45c839d995a07ce403e42ff02f1c6b20960d41a4e"}, + "prometheus": {:hex, :prometheus, "4.6.0", "20510f381db1ccab818b4cf2fac5fa6ab5cc91bc364a154399901c001465f46f", [:mix, :rebar3], [], "hexpm", "4905fd2992f8038eccd7aa0cd22f40637ed618c0bed1f75c05aacec15b7545de"}, "prometheus_ecto": {:hex, :prometheus_ecto, "1.4.3", "3dd4da1812b8e0dbee81ea58bb3b62ed7588f2eae0c9e97e434c46807ff82311", [:mix], [{:ecto, "~> 2.0 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:prometheus_ex, "~> 1.1 or ~> 2.0 or ~> 3.0", [hex: :prometheus_ex, repo: "hexpm", optional: false]}], "hexpm", "8d66289f77f913b37eda81fd287340c17e61a447549deb28efc254532b2bed82"}, "prometheus_ex": {:hex, :prometheus_ex, "3.0.5", "fa58cfd983487fc5ead331e9a3e0aa622c67232b3ec71710ced122c4c453a02f", [:mix], [{:prometheus, "~> 4.0", [hex: :prometheus, repo: "hexpm", optional: false]}], "hexpm", "9fd13404a48437e044b288b41f76e64acd9735fb8b0e3809f494811dfa66d0fb"}, "prometheus_phoenix": {:hex, :prometheus_phoenix, "1.3.0", "c4b527e0b3a9ef1af26bdcfbfad3998f37795b9185d475ca610fe4388fdd3bb5", [:mix], [{:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}, {:prometheus_ex, "~> 1.3 or ~> 2.0 or ~> 3.0", [hex: :prometheus_ex, repo: "hexpm", optional: false]}], "hexpm", "c4d1404ac4e9d3d963da601db2a7d8ea31194f0017057fabf0cfb9bf5a6c8c75"}, From 11c9654a32830b2e36efd42324069c637719555e Mon Sep 17 00:00:00 2001 From: Ben Is Date: Wed, 8 Jul 2020 22:51:39 +0000 Subject: [PATCH 047/249] Translated using Weblate (Polish) Currently translated at 66.0% (70 of 106 strings) Translation: Pleroma/Pleroma backend Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma/pl/ --- priv/gettext/pl/LC_MESSAGES/errors.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/priv/gettext/pl/LC_MESSAGES/errors.po b/priv/gettext/pl/LC_MESSAGES/errors.po index 7bc39c52a..7241d8a0a 100644 --- a/priv/gettext/pl/LC_MESSAGES/errors.po +++ b/priv/gettext/pl/LC_MESSAGES/errors.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-13 16:37+0000\n" -"PO-Revision-Date: 2020-05-16 17:13+0000\n" -"Last-Translator: Jędrzej Tomaszewski \n" +"PO-Revision-Date: 2020-07-09 14:40+0000\n" +"Last-Translator: Ben Is \n" "Language-Team: Polish \n" "Language: pl\n" @@ -50,7 +50,7 @@ msgstr "jest zarezerwowany" ## From Ecto.Changeset.validate_confirmation/3 msgid "does not match confirmation" -msgstr "" +msgstr "nie pasuje do potwierdzenia" ## From Ecto.Changeset.no_assoc_constraint/3 msgid "is still associated with this entry" From b6de9b1987438a3b790c3bc1cd687a7575206e9d Mon Sep 17 00:00:00 2001 From: Ben Is Date: Wed, 8 Jul 2020 00:00:40 +0000 Subject: [PATCH 048/249] Translated using Weblate (Italian) Currently translated at 100.0% (106 of 106 strings) Translation: Pleroma/Pleroma backend Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma/it/ --- priv/gettext/it/LC_MESSAGES/errors.po | 223 +++++++++++++------------- 1 file changed, 114 insertions(+), 109 deletions(-) diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po index 726be628b..406a297d1 100644 --- a/priv/gettext/it/LC_MESSAGES/errors.po +++ b/priv/gettext/it/LC_MESSAGES/errors.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-06-19 14:33+0000\n" -"PO-Revision-Date: 2020-06-19 20:38+0000\n" +"PO-Revision-Date: 2020-07-09 14:40+0000\n" "Last-Translator: Ben Is \n" "Language-Team: Italian \n" @@ -29,258 +29,258 @@ msgstr "non può essere nullo" ## From Ecto.Changeset.unique_constraint/3 msgid "has already been taken" -msgstr "" +msgstr "è stato già creato" ## From Ecto.Changeset.put_change/3 msgid "is invalid" -msgstr "" +msgstr "non è valido" ## From Ecto.Changeset.validate_format/3 msgid "has invalid format" -msgstr "" +msgstr "è in un formato invalido" ## From Ecto.Changeset.validate_subset/3 msgid "has an invalid entry" -msgstr "" +msgstr "ha una voce invalida" ## From Ecto.Changeset.validate_exclusion/3 msgid "is reserved" -msgstr "" +msgstr "è vietato" ## From Ecto.Changeset.validate_confirmation/3 msgid "does not match confirmation" -msgstr "" +msgstr "non corrisponde alla verifica" ## From Ecto.Changeset.no_assoc_constraint/3 msgid "is still associated with this entry" -msgstr "" +msgstr "è ancora associato con questa voce" msgid "are still associated with this entry" -msgstr "" +msgstr "sono ancora associati con questa voce" ## From Ecto.Changeset.validate_length/3 msgid "should be %{count} character(s)" msgid_plural "should be %{count} character(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dovrebbe essere %{count} carattere" +msgstr[1] "dovrebbero essere %{count} caratteri" msgid "should have %{count} item(s)" msgid_plural "should have %{count} item(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dovrebbe avere %{count} voce" +msgstr[1] "dovrebbe avere %{count} voci" msgid "should be at least %{count} character(s)" msgid_plural "should be at least %{count} character(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dovrebbe contenere almeno %{count} carattere" +msgstr[1] "dovrebbe contenere almeno %{count} caratteri" msgid "should have at least %{count} item(s)" msgid_plural "should have at least %{count} item(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dovrebbe avere almeno %{count} voce" +msgstr[1] "dovrebbe avere almeno %{count} voci" msgid "should be at most %{count} character(s)" msgid_plural "should be at most %{count} character(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dovrebbe avere al massimo %{count} carattere" +msgstr[1] "dovrebbe avere al massimo %{count} caratteri" msgid "should have at most %{count} item(s)" msgid_plural "should have at most %{count} item(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dovrebbe avere al massimo %{count} voce" +msgstr[1] "dovrebbe avere al massimo %{count} voci" ## From Ecto.Changeset.validate_number/3 msgid "must be less than %{number}" -msgstr "" +msgstr "dev'essere minore di %{number}" msgid "must be greater than %{number}" -msgstr "" +msgstr "dev'essere maggiore di %{number}" msgid "must be less than or equal to %{number}" -msgstr "" +msgstr "dev'essere minore o uguale a %{number}" msgid "must be greater than or equal to %{number}" -msgstr "" +msgstr "dev'essere maggiore o uguale a %{number}" msgid "must be equal to %{number}" -msgstr "" +msgstr "dev'essere uguale a %{number}" #: lib/pleroma/web/common_api/common_api.ex:421 #, elixir-format msgid "Account not found" -msgstr "" +msgstr "Profilo non trovato" #: lib/pleroma/web/common_api/common_api.ex:249 #, elixir-format msgid "Already voted" -msgstr "" +msgstr "Hai già votato" #: lib/pleroma/web/oauth/oauth_controller.ex:360 #, elixir-format msgid "Bad request" -msgstr "" +msgstr "Richiesta invalida" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:425 #, elixir-format msgid "Can't delete object" -msgstr "" +msgstr "Non puoi eliminare quest'oggetto" #: lib/pleroma/web/mastodon_api/controllers/status_controller.ex:196 #, elixir-format msgid "Can't delete this post" -msgstr "" +msgstr "Non puoi eliminare questo messaggio" #: lib/pleroma/web/controller_helper.ex:95 #: lib/pleroma/web/controller_helper.ex:101 #, elixir-format msgid "Can't display this activity" -msgstr "" +msgstr "Non puoi vedere questo elemento" #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:227 #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:254 #, elixir-format msgid "Can't find user" -msgstr "" +msgstr "Non trovo questo utente" #: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:114 #, elixir-format msgid "Can't get favorites" -msgstr "" +msgstr "Non posso ricevere i gradimenti" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:437 #, elixir-format msgid "Can't like object" -msgstr "" +msgstr "Non posso gradire quest'oggetto" #: lib/pleroma/web/common_api/utils.ex:556 #, elixir-format msgid "Cannot post an empty status without attachments" -msgstr "" +msgstr "Non puoi pubblicare un messaggio vuoto senza allegati" #: lib/pleroma/web/common_api/utils.ex:504 #, elixir-format msgid "Comment must be up to %{max_size} characters" -msgstr "" +msgstr "I commenti posso al massimo consistere di %{max_size} caratteri" #: lib/pleroma/config/config_db.ex:222 #, elixir-format msgid "Config with params %{params} not found" -msgstr "" +msgstr "Configurazione con parametri %{max_size} non trovata" #: lib/pleroma/web/common_api/common_api.ex:95 #, elixir-format msgid "Could not delete" -msgstr "" +msgstr "Non eliminato" #: lib/pleroma/web/common_api/common_api.ex:141 #, elixir-format msgid "Could not favorite" -msgstr "" +msgstr "Non gradito" #: lib/pleroma/web/common_api/common_api.ex:370 #, elixir-format msgid "Could not pin" -msgstr "" +msgstr "Non intestato" #: lib/pleroma/web/common_api/common_api.ex:112 #, elixir-format msgid "Could not repeat" -msgstr "" +msgstr "Non ripetuto" #: lib/pleroma/web/common_api/common_api.ex:188 #, elixir-format msgid "Could not unfavorite" -msgstr "" +msgstr "Non sgradito" #: lib/pleroma/web/common_api/common_api.ex:380 #, elixir-format msgid "Could not unpin" -msgstr "" +msgstr "Non de-intestato" #: lib/pleroma/web/common_api/common_api.ex:126 #, elixir-format msgid "Could not unrepeat" -msgstr "" +msgstr "Non de-ripetuto" #: lib/pleroma/web/common_api/common_api.ex:428 #: lib/pleroma/web/common_api/common_api.ex:437 #, elixir-format msgid "Could not update state" -msgstr "" +msgstr "Non aggiornato" #: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:202 #, elixir-format msgid "Error." -msgstr "" +msgstr "Errore." #: lib/pleroma/web/twitter_api/twitter_api.ex:106 #, elixir-format msgid "Invalid CAPTCHA" -msgstr "" +msgstr "CAPTCHA invalido" #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:117 #: lib/pleroma/web/oauth/oauth_controller.ex:569 #, elixir-format msgid "Invalid credentials" -msgstr "" +msgstr "Credenziali invalide" #: lib/pleroma/plugs/ensure_authenticated_plug.ex:38 #, elixir-format msgid "Invalid credentials." -msgstr "" +msgstr "Credenziali invalide." #: lib/pleroma/web/common_api/common_api.ex:265 #, elixir-format msgid "Invalid indices" -msgstr "" +msgstr "Indici invalidi" #: lib/pleroma/web/admin_api/admin_api_controller.ex:1147 #, elixir-format msgid "Invalid parameters" -msgstr "" +msgstr "Parametri invalidi" #: lib/pleroma/web/common_api/utils.ex:411 #, elixir-format msgid "Invalid password." -msgstr "" +msgstr "Parola d'ordine invalida." #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:187 #, elixir-format msgid "Invalid request" -msgstr "" +msgstr "Richiesta invalida" #: lib/pleroma/web/twitter_api/twitter_api.ex:109 #, elixir-format msgid "Kocaptcha service unavailable" -msgstr "" +msgstr "Servizio Kocaptcha non disponibile" #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:113 #, elixir-format msgid "Missing parameters" -msgstr "" +msgstr "Parametri mancanti" #: lib/pleroma/web/common_api/utils.ex:540 #, elixir-format msgid "No such conversation" -msgstr "" +msgstr "Conversazione inesistente" #: lib/pleroma/web/admin_api/admin_api_controller.ex:439 #: lib/pleroma/web/admin_api/admin_api_controller.ex:465 lib/pleroma/web/admin_api/admin_api_controller.ex:507 #, elixir-format msgid "No such permission_group" -msgstr "" +msgstr "permission_group non esistente" #: lib/pleroma/plugs/uploaded_media.ex:74 #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:485 lib/pleroma/web/admin_api/admin_api_controller.ex:1135 #: lib/pleroma/web/feed/user_controller.ex:73 lib/pleroma/web/ostatus/ostatus_controller.ex:143 #, elixir-format msgid "Not found" -msgstr "" +msgstr "Non trovato" #: lib/pleroma/web/common_api/common_api.ex:241 #, elixir-format msgid "Poll's author can't vote" -msgstr "" +msgstr "L'autore del sondaggio non può votare" #: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:20 #: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:37 lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:49 @@ -288,215 +288,215 @@ msgstr "" #: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:71 #, elixir-format msgid "Record not found" -msgstr "" +msgstr "Voce non trovata" #: lib/pleroma/web/admin_api/admin_api_controller.ex:1153 #: lib/pleroma/web/feed/user_controller.ex:79 lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:32 #: lib/pleroma/web/ostatus/ostatus_controller.ex:149 #, elixir-format msgid "Something went wrong" -msgstr "" +msgstr "C'è stato un problema" #: lib/pleroma/web/common_api/activity_draft.ex:107 #, elixir-format msgid "The message visibility must be direct" -msgstr "" +msgstr "Il messaggio dev'essere privato" #: lib/pleroma/web/common_api/utils.ex:566 #, elixir-format msgid "The status is over the character limit" -msgstr "" +msgstr "Il messaggio ha superato la lunghezza massima" #: lib/pleroma/plugs/ensure_public_or_authenticated_plug.ex:31 #, elixir-format msgid "This resource requires authentication." -msgstr "" +msgstr "Accedi per leggere." #: lib/pleroma/plugs/rate_limiter/rate_limiter.ex:206 #, elixir-format msgid "Throttled" -msgstr "" +msgstr "Strozzato" #: lib/pleroma/web/common_api/common_api.ex:266 #, elixir-format msgid "Too many choices" -msgstr "" +msgstr "Troppe alternative" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:442 #, elixir-format msgid "Unhandled activity type" -msgstr "" +msgstr "Tipo di attività non gestibile" #: lib/pleroma/web/admin_api/admin_api_controller.ex:536 #, elixir-format msgid "You can't revoke your own admin status." -msgstr "" +msgstr "Non puoi divestirti da solo." #: lib/pleroma/web/oauth/oauth_controller.ex:218 #: lib/pleroma/web/oauth/oauth_controller.ex:309 #, elixir-format msgid "Your account is currently disabled" -msgstr "" +msgstr "Il tuo profilo è attualmente disabilitato" #: lib/pleroma/web/oauth/oauth_controller.ex:180 #: lib/pleroma/web/oauth/oauth_controller.ex:332 #, elixir-format msgid "Your login is missing a confirmed e-mail address" -msgstr "" +msgstr "Devi aggiungere un indirizzo email valido" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:389 #, elixir-format msgid "can't read inbox of %{nickname} as %{as_nickname}" -msgstr "" +msgstr "non puoi leggere i messaggi privati di %{nickname} come %{as_nickname}" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:472 #, elixir-format msgid "can't update outbox of %{nickname} as %{as_nickname}" -msgstr "" +msgstr "non puoi aggiornare gli inviati di %{nickname} come %{as_nickname}" #: lib/pleroma/web/common_api/common_api.ex:388 #, elixir-format msgid "conversation is already muted" -msgstr "" +msgstr "la conversazione è già zittita" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:316 #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:491 #, elixir-format msgid "error" -msgstr "" +msgstr "errore" #: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:29 #, elixir-format msgid "mascots can only be images" -msgstr "" +msgstr "le mascotte possono solo essere immagini" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:60 #, elixir-format msgid "not found" -msgstr "" +msgstr "non trovato" #: lib/pleroma/web/oauth/oauth_controller.ex:395 #, elixir-format msgid "Bad OAuth request." -msgstr "" +msgstr "Richiesta OAuth malformata." #: lib/pleroma/web/twitter_api/twitter_api.ex:115 #, elixir-format msgid "CAPTCHA already used" -msgstr "" +msgstr "CAPTCHA già utilizzato" #: lib/pleroma/web/twitter_api/twitter_api.ex:112 #, elixir-format msgid "CAPTCHA expired" -msgstr "" +msgstr "CAPTCHA scaduto" #: lib/pleroma/plugs/uploaded_media.ex:55 #, elixir-format msgid "Failed" -msgstr "" +msgstr "Fallito" #: lib/pleroma/web/oauth/oauth_controller.ex:411 #, elixir-format msgid "Failed to authenticate: %{message}." -msgstr "" +msgstr "Autenticazione fallita per: %{message}." #: lib/pleroma/web/oauth/oauth_controller.ex:442 #, elixir-format msgid "Failed to set up user account." -msgstr "" +msgstr "Profilo utente non creato." #: lib/pleroma/plugs/oauth_scopes_plug.ex:38 #, elixir-format msgid "Insufficient permissions: %{permissions}." -msgstr "" +msgstr "Permessi insufficienti: %{permissions}." #: lib/pleroma/plugs/uploaded_media.ex:94 #, elixir-format msgid "Internal Error" -msgstr "" +msgstr "Errore interno" #: lib/pleroma/web/oauth/fallback_controller.ex:22 #: lib/pleroma/web/oauth/fallback_controller.ex:29 #, elixir-format msgid "Invalid Username/Password" -msgstr "" +msgstr "Nome utente/parola d'ordine invalidi" #: lib/pleroma/web/twitter_api/twitter_api.ex:118 #, elixir-format msgid "Invalid answer data" -msgstr "" +msgstr "Risposta malformata" #: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:128 #, elixir-format msgid "Nodeinfo schema version not handled" -msgstr "" +msgstr "Versione schema nodeinfo non compatibile" #: lib/pleroma/web/oauth/oauth_controller.ex:169 #, elixir-format msgid "This action is outside the authorized scopes" -msgstr "" +msgstr "Quest'azione non è consentita in questa visibilità" #: lib/pleroma/web/oauth/fallback_controller.ex:14 #, elixir-format msgid "Unknown error, please check the details and try again." -msgstr "" +msgstr "Errore sconosciuto, controlla i dettagli e riprova." #: lib/pleroma/web/oauth/oauth_controller.ex:116 #: lib/pleroma/web/oauth/oauth_controller.ex:155 #, elixir-format msgid "Unlisted redirect_uri." -msgstr "" +msgstr "redirect_uri nascosto." #: lib/pleroma/web/oauth/oauth_controller.ex:391 #, elixir-format msgid "Unsupported OAuth provider: %{provider}." -msgstr "" +msgstr "Gestore OAuth non supportato: %{provider}." #: lib/pleroma/uploaders/uploader.ex:72 #, elixir-format msgid "Uploader callback timeout" -msgstr "" +msgstr "Callback caricatmento scaduta" #: lib/pleroma/web/uploader_controller.ex:23 #, elixir-format msgid "bad request" -msgstr "" +msgstr "richiesta malformata" #: lib/pleroma/web/twitter_api/twitter_api.ex:103 #, elixir-format msgid "CAPTCHA Error" -msgstr "" +msgstr "Errore CAPTCHA" #: lib/pleroma/web/common_api/common_api.ex:200 #, elixir-format msgid "Could not add reaction emoji" -msgstr "" +msgstr "Reazione emoji non riuscita" #: lib/pleroma/web/common_api/common_api.ex:211 #, elixir-format msgid "Could not remove reaction emoji" -msgstr "" +msgstr "Rimozione reazione non riuscita" #: lib/pleroma/web/twitter_api/twitter_api.ex:129 #, elixir-format msgid "Invalid CAPTCHA (Missing parameter: %{name})" -msgstr "" +msgstr "CAPTCHA invalido (Parametro mancante: %{name})" #: lib/pleroma/web/mastodon_api/controllers/list_controller.ex:92 #, elixir-format msgid "List not found" -msgstr "" +msgstr "Lista non trovata" #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:124 #, elixir-format msgid "Missing parameter: %{name}" -msgstr "" +msgstr "Parametro mancante: %{name}" #: lib/pleroma/web/oauth/oauth_controller.ex:207 #: lib/pleroma/web/oauth/oauth_controller.ex:322 #, elixir-format msgid "Password reset is required" -msgstr "" +msgstr "Necessario reimpostare parola d'ordine" #: lib/pleroma/tests/auth_test_controller.ex:9 #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:6 lib/pleroma/web/admin_api/admin_api_controller.ex:6 @@ -528,53 +528,58 @@ msgstr "" #, elixir-format msgid "Security violation: OAuth scopes check was neither handled nor explicitly skipped." msgstr "" +"Sicurezza violata: il controllo autorizzazioni di OAuth non è stato svolto " +"né saltato." #: lib/pleroma/plugs/ensure_authenticated_plug.ex:28 #, elixir-format msgid "Two-factor authentication enabled, you must use a access token." msgstr "" +"Autenticazione bifattoriale abilitata, devi utilizzare una chiave d'accesso." #: lib/pleroma/web/pleroma_api/controllers/emoji_api_controller.ex:210 #, elixir-format msgid "Unexpected error occurred while adding file to pack." -msgstr "" +msgstr "Errore inaspettato durante l'aggiunta del file al pacchetto." #: lib/pleroma/web/pleroma_api/controllers/emoji_api_controller.ex:138 #, elixir-format msgid "Unexpected error occurred while creating pack." -msgstr "" +msgstr "Errore inaspettato durante la creazione del pacchetto." #: lib/pleroma/web/pleroma_api/controllers/emoji_api_controller.ex:278 #, elixir-format msgid "Unexpected error occurred while removing file from pack." -msgstr "" +msgstr "Errore inaspettato durante la rimozione del file dal pacchetto." #: lib/pleroma/web/pleroma_api/controllers/emoji_api_controller.ex:250 #, elixir-format msgid "Unexpected error occurred while updating file in pack." -msgstr "" +msgstr "Errore inaspettato durante l'aggiornamento del file nel pacchetto." #: lib/pleroma/web/pleroma_api/controllers/emoji_api_controller.ex:179 #, elixir-format msgid "Unexpected error occurred while updating pack metadata." -msgstr "" +msgstr "Errore inaspettato durante l'aggiornamento dei metadati del pacchetto." #: lib/pleroma/plugs/user_is_admin_plug.ex:40 #, elixir-format msgid "User is not an admin or OAuth admin scope is not granted." msgstr "" +"L'utente non è un amministratore o non ha ricevuto questa autorizzazione " +"OAuth." #: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:61 #, elixir-format msgid "Web push subscription is disabled on this Pleroma instance" -msgstr "" +msgstr "Gli aggiornamenti web push non sono disponibili in questa stanza" #: lib/pleroma/web/admin_api/admin_api_controller.ex:502 #, elixir-format msgid "You can't revoke your own admin/moderator status." -msgstr "" +msgstr "Non puoi divestire te stesso." #: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:105 #, elixir-format msgid "authorization required for timeline view" -msgstr "" +msgstr "autorizzazione richiesta per vedere la sequenza" From 328062308a2cfbed151a63d8166853a1965c59db Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 10 Jul 2020 11:41:10 +0200 Subject: [PATCH 049/249] Update frontend --- priv/static/index.html | 2 +- .../css/app.493b9b5acee37ba97824.css.map | 1 - ...97824.css => app.77b1644622e3bae24b6b.css} | 5 +- .../css/app.77b1644622e3bae24b6b.css.map | 1 + .../static/font/fontello.1594134783339.woff | Bin 14772 -> 0 bytes .../static/font/fontello.1594134783339.woff2 | Bin 12416 -> 0 bytes ...4783339.eot => fontello.1594374054351.eot} | Bin 24332 -> 24524 bytes ...4783339.svg => fontello.1594374054351.svg} | 2 + ...4783339.ttf => fontello.1594374054351.ttf} | Bin 24164 -> 24356 bytes .../static/font/fontello.1594374054351.woff | Bin 0 -> 14912 bytes .../static/font/fontello.1594374054351.woff2 | Bin 0 -> 12540 bytes priv/static/static/fontello.1594374054351.css | 158 ++++++++++++++++++ priv/static/static/fontello.json | 6 + ...cd678d2f.js => 10.2823375ec309b971aaea.js} | 4 +- ....js.map => 10.2823375ec309b971aaea.js.map} | 2 +- ...caef9adb.js => 11.2cb4b0f72a4654070a58.js} | 4 +- ....js.map => 11.2cb4b0f72a4654070a58.js.map} | 2 +- ...3f0c6e1f.js => 12.500b3e4676dd47599a58.js} | 4 +- ....js.map => 12.500b3e4676dd47599a58.js.map} | 2 +- ...42678085.js => 13.3ef79a2643680080d28f.js} | 4 +- ....js.map => 13.3ef79a2643680080d28f.js.map} | 2 +- ...d2a4cfbc.js => 14.b7f6eb3ea71d2ac2bb41.js} | 4 +- .../static/js/14.b7f6eb3ea71d2ac2bb41.js.map | 1 + .../static/js/14.cc092634462fd2a4cfbc.js.map | 1 - ...26398e00.js => 15.d814a29a970070494722.js} | 4 +- .../static/js/15.d814a29a970070494722.js.map | 1 + .../static/js/15.e9ddc5dfd38426398e00.js.map | 1 - ...3264469e.js => 16.017fa510b293035ac370.js} | 4 +- .../static/js/16.017fa510b293035ac370.js.map | 1 + .../static/js/16.476e7809b8593264469e.js.map | 1 - .../static/js/17.acbe4c09f05ae56c76a2.js.map | 1 - ...e56c76a2.js => 17.c63932b65417ee7346a3.js} | 4 +- .../static/js/17.c63932b65417ee7346a3.js.map | 1 + .../static/js/18.a8ccd7f2a47c5c94b3b9.js.map | 1 - ...5c94b3b9.js => 18.fd12f9746a55aa24a8b7.js} | 4 +- .../static/js/18.fd12f9746a55aa24a8b7.js.map | 1 + ...d5e45872.js => 19.3adebd64964c92700074.js} | 4 +- .../static/js/19.3adebd64964c92700074.js.map | 1 + .../static/js/19.5894e9c12b4fd5e45872.js.map | 1 - .../static/js/2.d81ca020d6885c6c3b03.js | 2 + .../static/js/2.d81ca020d6885c6c3b03.js.map | 1 + .../static/js/2.f8dee9318a6f84ea92c3.js | 2 - .../static/js/2.f8dee9318a6f84ea92c3.js.map | 1 - .../static/js/20.43b5b27b0f68474f3b72.js.map | 1 - ...474f3b72.js => 20.e0c3ad29d59470506c04.js} | 4 +- .../static/js/20.e0c3ad29d59470506c04.js.map | 1 + .../static/js/21.72b45b01be9d0f4c62ce.js.map | 1 - ...0f4c62ce.js => 21.849ecc09a1d58bdc64c6.js} | 4 +- .../static/js/21.849ecc09a1d58bdc64c6.js.map | 1 + .../static/js/22.26f13a22ad57a0d14670.js.map | 1 - ...a0d14670.js => 22.8782f133c9f66d3f2bbe.js} | 4 +- .../static/js/22.8782f133c9f66d3f2bbe.js.map | 1 + ...a806f887.js => 23.2653bf91bc77c2ed0160.js} | 4 +- .../static/js/23.2653bf91bc77c2ed0160.js.map | 1 + .../static/js/23.91a60b775352a806f887.js.map | 1 - .../static/js/24.c8d8438aac954d4707ac.js.map | 1 - ...4d4707ac.js => 24.f931d864a2297d880a9a.js} | 4 +- .../static/js/24.f931d864a2297d880a9a.js.map | 1 + .../static/js/25.79ac9e020d571b67f02a.js.map | 1 - ...1b67f02a.js => 25.886acc9ba83c64659279.js} | 4 +- .../static/js/25.886acc9ba83c64659279.js.map | 1 + .../static/js/26.3af8f54349f672f2c7c8.js.map | 1 - ...72f2c7c8.js => 26.e15b1645079c72c60586.js} | 4 +- .../static/js/26.e15b1645079c72c60586.js.map | 1 + .../static/js/27.51287d408313da67b0b8.js.map | 1 - ...da67b0b8.js => 27.7b41e5953f74af7fddd1.js} | 4 +- .../static/js/27.7b41e5953f74af7fddd1.js.map | 1 + ...8a81332d.js => 28.4f39e562aaceaa01e883.js} | 4 +- .../static/js/28.4f39e562aaceaa01e883.js.map | 1 + .../static/js/28.be5118beb1098a81332d.js.map | 1 - .../static/js/29.084f6fb0987d3862d410.js.map | 1 - ...3862d410.js => 29.137e2a68b558eed58152.js} | 4 +- .../static/js/29.137e2a68b558eed58152.js.map | 1 + ...40e12e850.js => 3.56898c1005d9ba1b8d4a.js} | 8 +- ...0.js.map => 3.56898c1005d9ba1b8d4a.js.map} | 2 +- .../static/js/30.6e6d63411def2e175d11.js.map | 1 - ...2e175d11.js => 30.73e09f3b43617410dec7.js} | 4 +- .../static/js/30.73e09f3b43617410dec7.js.map | 1 + ...90b36e3f5.js => 4.2d3bef896b463484e6eb.js} | 4 +- ...5.js.map => 4.2d3bef896b463484e6eb.js.map} | 2 +- ...2d54ffdc9.js => 5.2b4a2787bacdd3d910db.js} | 4 +- ...9.js.map => 5.2b4a2787bacdd3d910db.js.map} | 2 +- ...44f0ba121.js => 6.9c94bc0cc78979694cf4.js} | 4 +- ...1.js.map => 6.9c94bc0cc78979694cf4.js.map} | 2 +- ...f668601a6.js => 7.b4ac57fd946a3a189047.js} | 4 +- ...6.js.map => 7.b4ac57fd946a3a189047.js.map} | 2 +- ...4a6b96a29.js => 8.e03e32ca713d01db0433.js} | 4 +- ...9.js.map => 8.e03e32ca713d01db0433.js.map} | 2 +- ...aee67515e.js => 9.72d903ca8e0c5a532b87.js} | 4 +- .../static/js/9.72d903ca8e0c5a532b87.js.map | 1 + .../static/js/9.ef4eb9703f9aee67515e.js.map | 1 - .../static/js/app.1e68e208590653dab5aa.js | 2 + .../static/js/app.1e68e208590653dab5aa.js.map | 1 + .../static/js/app.53001fa190f37cf2743e.js | 2 - .../static/js/app.53001fa190f37cf2743e.js.map | 1 - ...js => vendors~app.247dc52c7abe6a0dab87.js} | 16 +- .../vendors~app.247dc52c7abe6a0dab87.js.map | 1 + .../vendors~app.8837fb59589d1dd6acda.js.map | 1 - priv/static/static/terms-of-service.html | 2 +- priv/static/sw-pleroma.js | 4 +- priv/static/sw-pleroma.js.map | 2 +- 101 files changed, 277 insertions(+), 108 deletions(-) delete mode 100644 priv/static/static/css/app.493b9b5acee37ba97824.css.map rename priv/static/static/css/{app.493b9b5acee37ba97824.css => app.77b1644622e3bae24b6b.css} (98%) create mode 100644 priv/static/static/css/app.77b1644622e3bae24b6b.css.map delete mode 100644 priv/static/static/font/fontello.1594134783339.woff delete mode 100644 priv/static/static/font/fontello.1594134783339.woff2 rename priv/static/static/font/{fontello.1594134783339.eot => fontello.1594374054351.eot} (89%) rename priv/static/static/font/{fontello.1594134783339.svg => fontello.1594374054351.svg} (98%) rename priv/static/static/font/{fontello.1594134783339.ttf => fontello.1594374054351.ttf} (89%) create mode 100644 priv/static/static/font/fontello.1594374054351.woff create mode 100644 priv/static/static/font/fontello.1594374054351.woff2 create mode 100644 priv/static/static/fontello.1594374054351.css rename priv/static/static/js/{10.4a22c77e34edcd678d2f.js => 10.2823375ec309b971aaea.js} (99%) rename priv/static/static/js/{10.4a22c77e34edcd678d2f.js.map => 10.2823375ec309b971aaea.js.map} (56%) rename priv/static/static/js/{11.787aa24e4fd5caef9adb.js => 11.2cb4b0f72a4654070a58.js} (99%) rename priv/static/static/js/{11.787aa24e4fd5caef9adb.js.map => 11.2cb4b0f72a4654070a58.js.map} (56%) rename priv/static/static/js/{12.35a510cf14233f0c6e1f.js => 12.500b3e4676dd47599a58.js} (99%) rename priv/static/static/js/{12.35a510cf14233f0c6e1f.js.map => 12.500b3e4676dd47599a58.js.map} (56%) rename priv/static/static/js/{13.7931a609d62a42678085.js => 13.3ef79a2643680080d28f.js} (99%) rename priv/static/static/js/{13.7931a609d62a42678085.js.map => 13.3ef79a2643680080d28f.js.map} (56%) rename priv/static/static/js/{14.cc092634462fd2a4cfbc.js => 14.b7f6eb3ea71d2ac2bb41.js} (99%) create mode 100644 priv/static/static/js/14.b7f6eb3ea71d2ac2bb41.js.map delete mode 100644 priv/static/static/js/14.cc092634462fd2a4cfbc.js.map rename priv/static/static/js/{15.e9ddc5dfd38426398e00.js => 15.d814a29a970070494722.js} (98%) create mode 100644 priv/static/static/js/15.d814a29a970070494722.js.map delete mode 100644 priv/static/static/js/15.e9ddc5dfd38426398e00.js.map rename priv/static/static/js/{16.476e7809b8593264469e.js => 16.017fa510b293035ac370.js} (99%) create mode 100644 priv/static/static/js/16.017fa510b293035ac370.js.map delete mode 100644 priv/static/static/js/16.476e7809b8593264469e.js.map delete mode 100644 priv/static/static/js/17.acbe4c09f05ae56c76a2.js.map rename priv/static/static/js/{17.acbe4c09f05ae56c76a2.js => 17.c63932b65417ee7346a3.js} (94%) create mode 100644 priv/static/static/js/17.c63932b65417ee7346a3.js.map delete mode 100644 priv/static/static/js/18.a8ccd7f2a47c5c94b3b9.js.map rename priv/static/static/js/{18.a8ccd7f2a47c5c94b3b9.js => 18.fd12f9746a55aa24a8b7.js} (99%) create mode 100644 priv/static/static/js/18.fd12f9746a55aa24a8b7.js.map rename priv/static/static/js/{19.5894e9c12b4fd5e45872.js => 19.3adebd64964c92700074.js} (99%) create mode 100644 priv/static/static/js/19.3adebd64964c92700074.js.map delete mode 100644 priv/static/static/js/19.5894e9c12b4fd5e45872.js.map create mode 100644 priv/static/static/js/2.d81ca020d6885c6c3b03.js create mode 100644 priv/static/static/js/2.d81ca020d6885c6c3b03.js.map delete mode 100644 priv/static/static/js/2.f8dee9318a6f84ea92c3.js delete mode 100644 priv/static/static/js/2.f8dee9318a6f84ea92c3.js.map delete mode 100644 priv/static/static/js/20.43b5b27b0f68474f3b72.js.map rename priv/static/static/js/{20.43b5b27b0f68474f3b72.js => 20.e0c3ad29d59470506c04.js} (99%) create mode 100644 priv/static/static/js/20.e0c3ad29d59470506c04.js.map delete mode 100644 priv/static/static/js/21.72b45b01be9d0f4c62ce.js.map rename priv/static/static/js/{21.72b45b01be9d0f4c62ce.js => 21.849ecc09a1d58bdc64c6.js} (99%) create mode 100644 priv/static/static/js/21.849ecc09a1d58bdc64c6.js.map delete mode 100644 priv/static/static/js/22.26f13a22ad57a0d14670.js.map rename priv/static/static/js/{22.26f13a22ad57a0d14670.js => 22.8782f133c9f66d3f2bbe.js} (99%) create mode 100644 priv/static/static/js/22.8782f133c9f66d3f2bbe.js.map rename priv/static/static/js/{23.91a60b775352a806f887.js => 23.2653bf91bc77c2ed0160.js} (99%) create mode 100644 priv/static/static/js/23.2653bf91bc77c2ed0160.js.map delete mode 100644 priv/static/static/js/23.91a60b775352a806f887.js.map delete mode 100644 priv/static/static/js/24.c8d8438aac954d4707ac.js.map rename priv/static/static/js/{24.c8d8438aac954d4707ac.js => 24.f931d864a2297d880a9a.js} (99%) create mode 100644 priv/static/static/js/24.f931d864a2297d880a9a.js.map delete mode 100644 priv/static/static/js/25.79ac9e020d571b67f02a.js.map rename priv/static/static/js/{25.79ac9e020d571b67f02a.js => 25.886acc9ba83c64659279.js} (99%) create mode 100644 priv/static/static/js/25.886acc9ba83c64659279.js.map delete mode 100644 priv/static/static/js/26.3af8f54349f672f2c7c8.js.map rename priv/static/static/js/{26.3af8f54349f672f2c7c8.js => 26.e15b1645079c72c60586.js} (99%) create mode 100644 priv/static/static/js/26.e15b1645079c72c60586.js.map delete mode 100644 priv/static/static/js/27.51287d408313da67b0b8.js.map rename priv/static/static/js/{27.51287d408313da67b0b8.js => 27.7b41e5953f74af7fddd1.js} (94%) create mode 100644 priv/static/static/js/27.7b41e5953f74af7fddd1.js.map rename priv/static/static/js/{28.be5118beb1098a81332d.js => 28.4f39e562aaceaa01e883.js} (99%) create mode 100644 priv/static/static/js/28.4f39e562aaceaa01e883.js.map delete mode 100644 priv/static/static/js/28.be5118beb1098a81332d.js.map delete mode 100644 priv/static/static/js/29.084f6fb0987d3862d410.js.map rename priv/static/static/js/{29.084f6fb0987d3862d410.js => 29.137e2a68b558eed58152.js} (99%) create mode 100644 priv/static/static/js/29.137e2a68b558eed58152.js.map rename priv/static/static/js/{3.e1f7d368d5840e12e850.js => 3.56898c1005d9ba1b8d4a.js} (99%) rename priv/static/static/js/{3.e1f7d368d5840e12e850.js.map => 3.56898c1005d9ba1b8d4a.js.map} (99%) delete mode 100644 priv/static/static/js/30.6e6d63411def2e175d11.js.map rename priv/static/static/js/{30.6e6d63411def2e175d11.js => 30.73e09f3b43617410dec7.js} (99%) create mode 100644 priv/static/static/js/30.73e09f3b43617410dec7.js.map rename priv/static/static/js/{4.c3f92d0b6ff90b36e3f5.js => 4.2d3bef896b463484e6eb.js} (77%) rename priv/static/static/js/{4.c3f92d0b6ff90b36e3f5.js.map => 4.2d3bef896b463484e6eb.js.map} (99%) rename priv/static/static/js/{5.d30e50cd5c52d54ffdc9.js => 5.2b4a2787bacdd3d910db.js} (98%) rename priv/static/static/js/{5.d30e50cd5c52d54ffdc9.js.map => 5.2b4a2787bacdd3d910db.js.map} (57%) rename priv/static/static/js/{6.fa6d5c2d85d44f0ba121.js => 6.9c94bc0cc78979694cf4.js} (98%) rename priv/static/static/js/{6.fa6d5c2d85d44f0ba121.js.map => 6.9c94bc0cc78979694cf4.js.map} (57%) rename priv/static/static/js/{7.d558a086622f668601a6.js => 7.b4ac57fd946a3a189047.js} (99%) rename priv/static/static/js/{7.d558a086622f668601a6.js.map => 7.b4ac57fd946a3a189047.js.map} (57%) rename priv/static/static/js/{8.615136ce6c34a6b96a29.js => 8.e03e32ca713d01db0433.js} (99%) rename priv/static/static/js/{8.615136ce6c34a6b96a29.js.map => 8.e03e32ca713d01db0433.js.map} (57%) rename priv/static/static/js/{9.ef4eb9703f9aee67515e.js => 9.72d903ca8e0c5a532b87.js} (99%) create mode 100644 priv/static/static/js/9.72d903ca8e0c5a532b87.js.map delete mode 100644 priv/static/static/js/9.ef4eb9703f9aee67515e.js.map create mode 100644 priv/static/static/js/app.1e68e208590653dab5aa.js create mode 100644 priv/static/static/js/app.1e68e208590653dab5aa.js.map delete mode 100644 priv/static/static/js/app.53001fa190f37cf2743e.js delete mode 100644 priv/static/static/js/app.53001fa190f37cf2743e.js.map rename priv/static/static/js/{vendors~app.8837fb59589d1dd6acda.js => vendors~app.247dc52c7abe6a0dab87.js} (62%) create mode 100644 priv/static/static/js/vendors~app.247dc52c7abe6a0dab87.js.map delete mode 100644 priv/static/static/js/vendors~app.8837fb59589d1dd6acda.js.map diff --git a/priv/static/index.html b/priv/static/index.html index 3ef4baa26..80820166a 100644 --- a/priv/static/index.html +++ b/priv/static/index.html @@ -1 +1 @@ -Pleroma
\ No newline at end of file +Pleroma
\ No newline at end of file diff --git a/priv/static/static/css/app.493b9b5acee37ba97824.css.map b/priv/static/static/css/app.493b9b5acee37ba97824.css.map deleted file mode 100644 index 91399d605..000000000 --- a/priv/static/static/css/app.493b9b5acee37ba97824.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/components/tab_switcher/tab_switcher.scss","webpack:///./src/hocs/with_load_more/with_load_more.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C","file":"static/css/app.493b9b5acee37ba97824.css","sourcesContent":[".tab-switcher {\n display: -ms-flexbox;\n display: flex;\n}\n.tab-switcher .tab-icon {\n font-size: 2em;\n display: block;\n}\n.tab-switcher.top-tabs {\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.top-tabs > .tabs {\n width: 100%;\n overflow-y: hidden;\n overflow-x: auto;\n padding-top: 5px;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.tab-switcher.top-tabs > .tabs::after, .tab-switcher.top-tabs > .tabs::before {\n content: \"\";\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper {\n height: 28px;\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper:not(.active)::after {\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab {\n width: 100%;\n min-width: 1px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding-bottom: 99px;\n margin-bottom: -93px;\n}\n.tab-switcher.top-tabs .contents.scrollable-tabs {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n}\n.tab-switcher.side-tabs {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs {\n overflow-x: auto;\n }\n}\n.tab-switcher.side-tabs > .contents {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher.side-tabs > .tabs {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n overflow-y: auto;\n overflow-x: hidden;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.side-tabs > .tabs::after, .tab-switcher.side-tabs > .tabs::before {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-preferred-size: 0.5em;\n flex-basis: 0.5em;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs::after {\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.tab-switcher.side-tabs > .tabs::before {\n -ms-flex-positive: 0;\n flex-grow: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 10em;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 1em;\n }\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:not(.active)::after {\n top: 0;\n right: 0;\n bottom: 0;\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper::before {\n -ms-flex: 0 0 6px;\n flex: 0 0 6px;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:last-child .tab {\n margin-bottom: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab {\n -ms-flex: 1;\n flex: 1;\n box-sizing: content-box;\n min-width: 10em;\n min-width: 1px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n padding-left: 1em;\n padding-right: calc(1em + 200px);\n margin-right: -200px;\n margin-left: 1em;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab {\n padding-left: 0.25em;\n padding-right: calc(.25em + 200px);\n margin-right: calc(.25em - 200px);\n margin-left: 0.25em;\n }\n .tab-switcher.side-tabs > .tabs .tab .text {\n display: none;\n }\n}\n.tab-switcher .contents {\n -ms-flex: 1 0 auto;\n flex: 1 0 auto;\n min-height: 0px;\n}\n.tab-switcher .contents .hidden {\n display: none;\n}\n.tab-switcher .contents .full-height:not(.hidden) {\n height: 100%;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher .contents .full-height:not(.hidden) > *:not(.mobile-label) {\n -ms-flex: 1;\n flex: 1;\n}\n.tab-switcher .contents.scrollable-tabs {\n overflow-y: auto;\n}\n.tab-switcher .tab {\n position: relative;\n white-space: nowrap;\n padding: 6px 1em;\n background-color: #182230;\n background-color: var(--tab, #182230);\n}\n.tab-switcher .tab, .tab-switcher .tab:active .tab-icon {\n color: #b9b9ba;\n color: var(--tabText, #b9b9ba);\n}\n.tab-switcher .tab:not(.active) {\n z-index: 4;\n}\n.tab-switcher .tab:not(.active):hover {\n z-index: 6;\n}\n.tab-switcher .tab.active {\n background: transparent;\n z-index: 5;\n color: #b9b9ba;\n color: var(--tabActiveText, #b9b9ba);\n}\n.tab-switcher .tab img {\n max-height: 26px;\n vertical-align: top;\n margin-top: -5px;\n}\n.tab-switcher .tabs {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-sizing: border-box;\n}\n.tab-switcher .tabs::after, .tab-switcher .tabs::before {\n display: block;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher .tab-wrapper {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.tab-switcher .tab-wrapper:not(.active)::after {\n content: \"\";\n position: absolute;\n z-index: 7;\n}\n.tab-switcher .mobile-label {\n padding-left: 0.3em;\n padding-bottom: 0.25em;\n margin-top: 0.5em;\n margin-left: 0.2em;\n margin-bottom: 0.25em;\n border-bottom: 1px solid var(--border, #222);\n}\n@media all and (min-width: 800px) {\n .tab-switcher .mobile-label {\n display: none;\n }\n}",".with-load-more-footer {\n padding: 10px;\n text-align: center;\n border-top: 1px solid;\n border-top-color: #222;\n border-top-color: var(--border, #222);\n}\n.with-load-more-footer .error {\n font-size: 14px;\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/css/app.493b9b5acee37ba97824.css b/priv/static/static/css/app.77b1644622e3bae24b6b.css similarity index 98% rename from priv/static/static/css/app.493b9b5acee37ba97824.css rename to priv/static/static/css/app.77b1644622e3bae24b6b.css index f30033af6..8038882c0 100644 --- a/priv/static/static/css/app.493b9b5acee37ba97824.css +++ b/priv/static/static/css/app.77b1644622e3bae24b6b.css @@ -239,5 +239,8 @@ .with-load-more-footer .error { font-size: 14px; } +.with-load-more-footer a { + cursor: pointer; +} -/*# sourceMappingURL=app.493b9b5acee37ba97824.css.map*/ \ No newline at end of file +/*# sourceMappingURL=app.77b1644622e3bae24b6b.css.map*/ \ No newline at end of file diff --git a/priv/static/static/css/app.77b1644622e3bae24b6b.css.map b/priv/static/static/css/app.77b1644622e3bae24b6b.css.map new file mode 100644 index 000000000..4b042ef35 --- /dev/null +++ b/priv/static/static/css/app.77b1644622e3bae24b6b.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/tab_switcher/tab_switcher.scss","webpack:///./src/hocs/with_load_more/with_load_more.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C","file":"static/css/app.77b1644622e3bae24b6b.css","sourcesContent":[".tab-switcher {\n display: -ms-flexbox;\n display: flex;\n}\n.tab-switcher .tab-icon {\n font-size: 2em;\n display: block;\n}\n.tab-switcher.top-tabs {\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.top-tabs > .tabs {\n width: 100%;\n overflow-y: hidden;\n overflow-x: auto;\n padding-top: 5px;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.tab-switcher.top-tabs > .tabs::after, .tab-switcher.top-tabs > .tabs::before {\n content: \"\";\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper {\n height: 28px;\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper:not(.active)::after {\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab {\n width: 100%;\n min-width: 1px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding-bottom: 99px;\n margin-bottom: -93px;\n}\n.tab-switcher.top-tabs .contents.scrollable-tabs {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n}\n.tab-switcher.side-tabs {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs {\n overflow-x: auto;\n }\n}\n.tab-switcher.side-tabs > .contents {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher.side-tabs > .tabs {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n overflow-y: auto;\n overflow-x: hidden;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.side-tabs > .tabs::after, .tab-switcher.side-tabs > .tabs::before {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-preferred-size: 0.5em;\n flex-basis: 0.5em;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs::after {\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.tab-switcher.side-tabs > .tabs::before {\n -ms-flex-positive: 0;\n flex-grow: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 10em;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 1em;\n }\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:not(.active)::after {\n top: 0;\n right: 0;\n bottom: 0;\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper::before {\n -ms-flex: 0 0 6px;\n flex: 0 0 6px;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:last-child .tab {\n margin-bottom: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab {\n -ms-flex: 1;\n flex: 1;\n box-sizing: content-box;\n min-width: 10em;\n min-width: 1px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n padding-left: 1em;\n padding-right: calc(1em + 200px);\n margin-right: -200px;\n margin-left: 1em;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab {\n padding-left: 0.25em;\n padding-right: calc(.25em + 200px);\n margin-right: calc(.25em - 200px);\n margin-left: 0.25em;\n }\n .tab-switcher.side-tabs > .tabs .tab .text {\n display: none;\n }\n}\n.tab-switcher .contents {\n -ms-flex: 1 0 auto;\n flex: 1 0 auto;\n min-height: 0px;\n}\n.tab-switcher .contents .hidden {\n display: none;\n}\n.tab-switcher .contents .full-height:not(.hidden) {\n height: 100%;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher .contents .full-height:not(.hidden) > *:not(.mobile-label) {\n -ms-flex: 1;\n flex: 1;\n}\n.tab-switcher .contents.scrollable-tabs {\n overflow-y: auto;\n}\n.tab-switcher .tab {\n position: relative;\n white-space: nowrap;\n padding: 6px 1em;\n background-color: #182230;\n background-color: var(--tab, #182230);\n}\n.tab-switcher .tab, .tab-switcher .tab:active .tab-icon {\n color: #b9b9ba;\n color: var(--tabText, #b9b9ba);\n}\n.tab-switcher .tab:not(.active) {\n z-index: 4;\n}\n.tab-switcher .tab:not(.active):hover {\n z-index: 6;\n}\n.tab-switcher .tab.active {\n background: transparent;\n z-index: 5;\n color: #b9b9ba;\n color: var(--tabActiveText, #b9b9ba);\n}\n.tab-switcher .tab img {\n max-height: 26px;\n vertical-align: top;\n margin-top: -5px;\n}\n.tab-switcher .tabs {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-sizing: border-box;\n}\n.tab-switcher .tabs::after, .tab-switcher .tabs::before {\n display: block;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher .tab-wrapper {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.tab-switcher .tab-wrapper:not(.active)::after {\n content: \"\";\n position: absolute;\n z-index: 7;\n}\n.tab-switcher .mobile-label {\n padding-left: 0.3em;\n padding-bottom: 0.25em;\n margin-top: 0.5em;\n margin-left: 0.2em;\n margin-bottom: 0.25em;\n border-bottom: 1px solid var(--border, #222);\n}\n@media all and (min-width: 800px) {\n .tab-switcher .mobile-label {\n display: none;\n }\n}",".with-load-more-footer {\n padding: 10px;\n text-align: center;\n border-top: 1px solid;\n border-top-color: #222;\n border-top-color: var(--border, #222);\n}\n.with-load-more-footer .error {\n font-size: 14px;\n}\n.with-load-more-footer a {\n cursor: pointer;\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/font/fontello.1594134783339.woff b/priv/static/static/font/fontello.1594134783339.woff deleted file mode 100644 index 89a337131b11f8cdb6513888c020e317b37c4187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14772 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 y5+jp*vk>WyiTSj?TFH3Z}TBO?0~N zjNh*%pAKk6r=we>`J?0o(nHRUn{C?#&KH0t2`FiFwK`fN{Kvw8@?nbSxoASOEJTxE zB%kDR_w;QQRtMhE#0DKIbaXa5@^z(N!1jq247(kDB71mb2B>h6H{5WzTUVci>&cG* z+^X2w-Q&J=!3x-G$j^#ht>UINjgmJ`NK>qyjY+?l^JF_1?FMTBfAEz~8bs^cA+Q1p z7-4{bAiq%><%W{`A&?BojZRvQSR7w8a0Ab~$aRTq5vPjDyGG^$9=OfD!N$ zNFy~VfNJN@RX_%?JEnk4(t8TXB7LNQY|=ReoFZLT0Oi}=P(ThTl}rYddv{Y|0H^8W zs{-;!_Z5&2>``N6KsDH-n#$k|saXMqq*PlOoFy$$KoMz+0?v_cC_vsv2g~3*@Ff?A zdN*TOeTBRH8yRsk5$&!*GzR$+%vK8xX-LE>zILeChvnT+PCEC zZ3->=4lVDeU%|(Wt@*zyO_b*|tMtD7IbRzHNQ1UnQ@Bq*8Ic*W5^0R=kDQOvM~y@m zMz6%Q#jM4ih+T+_jq}94GBg?%`_fUnf9b0$0fgodCPen##>F%Znj9CQEi;+}x@&0xTV;0mb%0t8H zuF0l%!09Q*)AFULyc%eI3iPcgQ_@*!LRpjI%?Xy~kouwhvvSeZd_Mu5Rlpiw*<1xa^`0yFWkabg-{*a0t}V=k zeBqkTA24c5%;QZn6% s%ewx$h5E+&nA7CE(BN)(%K~fze|}q+QOgQDx- + + diff --git a/priv/static/static/font/fontello.1594134783339.ttf b/priv/static/static/font/fontello.1594374054351.ttf similarity index 89% rename from priv/static/static/font/fontello.1594134783339.ttf rename to priv/static/static/font/fontello.1594374054351.ttf index 458e88f9e623bcc6d289dc965512734c271cbd3e..be55bef817f9dfd9bd2048d7f813b615eb18b076 100644 GIT binary patch delta 921 zcmZvaUr19?9LK-s-c3u*%0`xMSck2R)mhOZfC^>GhnSD zKO=ND3!CONO5QL&_S42jJXOqbstt@5gEfH<_R>kiXnGrDtbhVKXdy$GPv_ZS1Ic|5 zTmQdy7yoIVVQxTfqMRYmj`ECt5MqJAQz?Rv$*Yz9Vs0JaBalXFkN{QAmm`4;V0T0U zdeZw6$RvFvfh^Kl37jTfk^tq~U6(*MDHTivlzVqm!i`+&e3w8Tsb2#5z#e_I2&e>m zR8bL}AvH>%kd!Jbg0rM05-1{VlE69AbqR>;Xk!ta2fpRtp!fnzfL9T^qj&RxK;R8u z%PT1og+%B~so^|Fhr%ufkA`R0=vX*Z(ITz}9Jq32bV`y;u1aG$sqA>R!N|#3N@7AJ z3sod5A~`*8lxa9_Ez55!uQLi(!|zo#RaRel&&s&9lFrGQr$Q-L+&wWn?lLh)LY>85 zZ!lOpZ?GwYb>xc8Rx{a2ao70#;~ry(rF|M+f9@BBdhxyM_SM5hKM>CQ=u_}DV{7iO zdiE{(%5G|*RmBde3)RbUEpe-wlbZQ>O}s1q rt+qkCaAGhaGk5{b-q+>fJZ1TCxu0Xj-ePM3lV7LHf79Dru^sUT{2lXI delta 732 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 MfZ$w7e!3w44+->Jn*aa+ literal 0 HcmV?d00001 diff --git a/priv/static/static/font/fontello.1594374054351.woff2 b/priv/static/static/font/fontello.1594374054351.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cb214aab32d219b21787573093927178ce0eaf1c GIT binary patch literal 12540 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 0 aparecerá como si estuviera puesto a cero",inset_classic:"Las sombras interiores estarán usando {0}"},components:{panel:"Panel",panelHeader:"Cabecera del panel",topBar:"Barra superior",avatar:"Avatar del usuario (en la vista del perfil)",avatarStatus:"Avatar del usuario (en la vista de la entrada)",popup:"Ventanas y textos emergentes (popups & tooltips)",button:"Botones",buttonHover:"Botón (encima)",buttonPressed:"Botón (presionado)",buttonPressedHover:"Botón (presionado+encima)",input:"Campo de entrada"}},fonts:{_tab_label:"Fuentes",help:'Seleccione la fuente a utilizar para los elementos de la interfaz de usuario. Para "personalizar", debe ingresar el nombre exacto de la fuente tal como aparece en el sistema.',components:{interface:"Interfaz",input:"Campos de entrada",post:"Texto de publicaciones",postCode:"Texto monoespaciado en publicación (texto enriquecido)"},family:"Nombre de la fuente",size:"Tamaño (en px)",weight:"Peso (negrita)",custom:"Personalizado"},preview:{header:"Vista previa",content:"Contenido",error:"Ejemplo de error",button:"Botón",text:"Un montón de {0} y {1}",mono:"contenido",input:"Acaba de aterrizar en L.A.",faint_link:"manual útil",fine_print:"¡Lea nuestro {0} para aprender nada útil!",header_faint:"Esto está bien",checkbox:"He revisado los términos y condiciones",link:"un bonito enlace"}},version:{title:"Versión",backend_version:"Versión del Backend",frontend_version:"Versión del Frontend"}},time:{day:"{0} día",days:"{0} días",day_short:"{0}d",days_short:"{0}d",hour:"{0} hora",hours:"{0} horas",hour_short:"{0}h",hours_short:"{0}h",in_future:"en {0}",in_past:"hace {0}",minute:"{0} minuto",minutes:"{0} minutos",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} mes",months:"{0} meses",month_short:"{0}m",months_short:"{0}m",now:"justo ahora",now_short:"ahora",second:"{0} segundo",seconds:"{0} segundos",second_short:"{0}s",seconds_short:"{0}s",week:"{0} semana",weeks:"{0} semanas",week_short:"{0}sem",weeks_short:"{0}sem",year:"{0} año",years:"{0} años",year_short:"{0}a",years_short:"{0}a"},timeline:{collapse:"Colapsar",conversation:"Conversación",error_fetching:"Error al cargar las actualizaciones",load_older:"Cargar actualizaciones anteriores",no_retweet_hint:"La publicación está marcada como solo para seguidores o directa y no se puede repetir",repeated:"repetida",show_new:"Mostrar lo nuevo",up_to_date:"Actualizado",no_more_statuses:"No hay más estados",no_statuses:"Sin estados"},status:{favorites:"Favoritos",repeats:"Repetidos",delete:"Eliminar publicación",pin:"Fijar en tu perfil",unpin:"Desclavar de tu perfil",pinned:"Fijado",delete_confirm:"¿Realmente quieres borrar la publicación?",reply_to:"Respondiendo a",replies_list:"Respuestas:",mute_conversation:"Silenciar la conversación",unmute_conversation:"Mostrar la conversación"},user_card:{approve:"Aprobar",block:"Bloquear",blocked:"¡Bloqueado!",deny:"Denegar",favorites:"Favoritos",follow:"Seguir",follow_sent:"¡Solicitud enviada!",follow_progress:"Solicitando…",follow_again:"¿Enviar solicitud de nuevo?",follow_unfollow:"Dejar de seguir",followees:"Siguiendo",followers:"Seguidores",following:"¡Siguiendo!",follows_you:"¡Te sigue!",its_you:"¡Eres tú!",media:"Media",mention:"Mencionar",mute:"Silenciar",muted:"Silenciado",per_day:"por día",remote_follow:"Seguir",report:"Reportar",statuses:"Estados",subscribe:"Suscribirse",unsubscribe:"Desuscribirse",unblock:"Desbloquear",unblock_progress:"Desbloqueando...",block_progress:"Bloqueando...",unmute:"Quitar silencio",unmute_progress:"Quitando silencio...",mute_progress:"Silenciando...",admin_menu:{moderation:"Moderación",grant_admin:"Conceder permisos de Administrador",revoke_admin:"Revocar permisos de Administrador",grant_moderator:"Conceder permisos de Moderador",revoke_moderator:"Revocar permisos de Moderador",activate_account:"Activar cuenta",deactivate_account:"Desactivar cuenta",delete_account:"Eliminar cuenta",force_nsfw:"Marcar todas las publicaciones como NSFW (no es seguro/apropiado para el trabajo)",strip_media:"Eliminar archivos multimedia de las publicaciones",force_unlisted:"Forzar que se publique en el modo -Sin Listar-",sandbox:"Forzar que se publique solo para tus seguidores",disable_remote_subscription:"No permitir que usuarios de instancias remotas te siga.",disable_any_subscription:"No permitir que ningún usuario te siga",quarantine:"No permitir publicaciones de usuarios de instancias remotas",delete_user:"Eliminar usuario",delete_user_confirmation:"¿Estás completamente seguro? Esta acción no se puede deshacer."}},user_profile:{timeline_title:"Linea Temporal del Usuario",profile_does_not_exist:"Lo sentimos, este perfil no existe.",profile_loading_error:"Lo sentimos, hubo un error al cargar este perfil."},user_reporting:{title:"Reportando a {0}",add_comment_description:"El informe será enviado a los moderadores de su instancia. Puedes proporcionar una explicación de por qué estás reportando esta cuenta a continuación:",additional_comments:"Comentarios adicionales",forward_description:"La cuenta es de otro servidor. ¿Enviar una copia del informe allí también?",forward_to:"Reenviar a {0}",submit:"Enviar",generic_error:"Se produjo un error al procesar la solicitud."},who_to_follow:{more:"Más",who_to_follow:"A quién seguir"},tool_tip:{media_upload:"Subir Medios",repeat:"Repetir",reply:"Contestar",favorite:"Favorito",user_settings:"Ajustes de usuario"},upload:{error:{base:"Subida fallida.",file_too_big:"Archivo demasiado grande [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Inténtalo más tarde"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Personas",hashtags:"Etiquetas",person_talking:"{count} personas hablando",people_talking:"{count} gente hablando",no_results:"Sin resultados"},password_reset:{forgot_password:"¿Contraseña olvidada?",password_reset:"Restablecer la contraseña",instruction:"Ingrese su dirección de correo electrónico o nombre de usuario. Le enviaremos un enlace para restablecer su contraseña.",placeholder:"Su correo electrónico o nombre de usuario",check_email:"Revise su correo electrónico para obtener un enlace para restablecer su contraseña.",return_home:"Volver a la página de inicio",not_found:"No pudimos encontrar ese correo electrónico o nombre de usuario.",too_many_requests:"Has alcanzado el límite de intentos, vuelve a intentarlo más tarde.",password_reset_disabled:"El restablecimiento de contraseñas está deshabilitado. Póngase en contacto con el administrador de su instancia."}}}}]); -//# sourceMappingURL=10.4a22c77e34edcd678d2f.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{561:function(e){e.exports={chat:{title:"Chat"},exporter:{export:"Exportar",processing:"Procesando. Pronto se te pedirá que descargues tu archivo"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Proxy de medios",scope_options:"Opciones del alcance de la visibilidad",text_limit:"Límite de caracteres",title:"Características",who_to_follow:"A quién seguir"},finder:{error_fetching_user:"Error al buscar usuario",find_user:"Encontrar usuario"},general:{apply:"Aplicar",submit:"Enviar",more:"Más",generic_error:"Ha ocurrido un error",optional:"opcional",show_more:"Mostrar más",show_less:"Mostrar menos",cancel:"Cancelar",disable:"Inhabilitar",enable:"Habilitar",confirm:"Confirmar",verify:"Verificar"},image_cropper:{crop_picture:"Recortar la foto",save:"Guardar",save_without_cropping:"Guardar sin recortar",cancel:"Cancelar"},importer:{submit:"Enviar",success:"Importado con éxito",error:"Se ha producido un error al importar el archivo."},login:{login:"Identificarse",description:"Identificarse con OAuth",logout:"Cerrar sesión",password:"Contraseña",placeholder:"p.ej. lain",register:"Registrarse",username:"Usuario",hint:"Inicia sesión para unirte a la discusión",authentication_code:"Código de autenticación",enter_recovery_code:"Inserta el código de recuperación",enter_two_factor_code:"Inserta el código de dos factores",recovery_code:"Código de recuperación",heading:{totp:"Autenticación de dos factores",recovery:"Recuperación de dos factores"}},media_modal:{previous:"Anterior",next:"Siguiente"},nav:{about:"Acerca de",administration:"Administración",back:"Volver",chat:"Chat Local",friend_requests:"Solicitudes de seguimiento",mentions:"Menciones",interactions:"Interacciones",dms:"Mensajes Directos",public_tl:"Línea Temporal Pública",timeline:"Línea Temporal",twkn:"Toda La Red Conocida",user_search:"Búsqueda de Usuarios",search:"Buscar",who_to_follow:"A quién seguir",preferences:"Preferencias"},notifications:{broken_favorite:"Estado desconocido, buscándolo...",favorited_you:"le gusta tu estado",followed_you:"empezó a seguirte",load_older:"Cargar notificaciones antiguas",notifications:"Notificaciones",read:"¡Leído!",repeated_you:"repitió tu estado",no_more_notifications:"No hay más notificaciones"},polls:{add_poll:"Añadir encuesta",add_option:"Añadir opción",option:"Opción",votes:"votos",vote:"Votar",type:"Tipo de encuesta",single_choice:"Elección única",multiple_choices:"Elección múltiple",expiry:"Tiempo de vida de la encuesta",expires_in:"La encuesta termina en {0}",expired:"La encuesta terminó hace {0}",not_enough_options:"Muy pocas opciones únicas en la encuesta"},emoji:{stickers:"Pegatinas",emoji:"Emoji",keep_open:"Mantener el selector abierto",search_emoji:"Buscar un emoji",add_emoji:"Insertar un emoji",custom:"Emojis personalizados",unicode:"Emojis unicode"},stickers:{add_sticker:"Añadir Pegatina"},interactions:{favs_repeats:"Favoritos y Repetidos",follows:"Nuevos seguidores",load_older:"Cargar interacciones más antiguas"},post_status:{new_status:"Publicar un nuevo estado",account_not_locked_warning:"Tu cuenta no está {0}. Cualquiera puede seguirte y leer las entradas para Solo-Seguidores.",account_not_locked_warning_link:"bloqueada",attachments_sensitive:"Contenido sensible",content_type:{"text/plain":"Texto Plano","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Tema (opcional)",default:"Acabo de aterrizar en L.A.",direct_warning_to_all:"Esta publicación será visible para todos los usuarios mencionados.",direct_warning_to_first_only:"Esta publicación solo será visible para los usuarios mencionados al comienzo del mensaje.",posting:"Publicando",scope_notice:{public:"Esta publicación será visible para todo el mundo",private:"Esta publicación solo será visible para tus seguidores.",unlisted:"Esta publicación no será visible en la Línea Temporal Pública ni en Toda La Red Conocida"},scope:{direct:"Directo - Solo para los usuarios mencionados",private:"Solo-seguidores - Solo tus seguidores leerán la publicación",public:"Público - Entradas visibles en las Líneas Temporales Públicas",unlisted:"Sin listar - Entradas no visibles en las Líneas Temporales Públicas"}},registration:{bio:"Biografía",email:"Correo electrónico",fullname:"Nombre a mostrar",password_confirm:"Confirmar contraseña",registration:"Registro",token:"Token de invitación",captcha:"CAPTCHA",new_captcha:"Haz click en la imagen para obtener un nuevo captcha",username_placeholder:"p.ej. lain",fullname_placeholder:"p.ej. Lain Iwakura",bio_placeholder:"e.g.\nHola, soy un ejemplo.\nAquí puedes poner algo representativo tuyo... o no.",validations:{username_required:"no puede estar vacío",fullname_required:"no puede estar vacío",email_required:"no puede estar vacío",password_required:"no puede estar vacío",password_confirmation_required:"no puede estar vacío",password_confirmation_match:"la contraseña no coincide"}},selectable_list:{select_all:"Seleccionar todo"},settings:{app_name:"Nombre de la aplicación",security:"Seguridad",enter_current_password_to_confirm:"Introduce la contraseña actual para confirmar tu identidad",mfa:{otp:"OTP",setup_otp:"Configurar OTP",wait_pre_setup_otp:"preconfiguración OTP",confirm_and_enable:"Confirmar y habilitar OTP",title:"Autentificación de dos factores",generate_new_recovery_codes:"Generar códigos de recuperación nuevos",warning_of_generate_new_codes:"Cuando generas nuevos códigos de recuperación, los antiguos dejarán de funcionar.",recovery_codes:"Códigos de recuperación.",waiting_a_recovery_codes:"Recibiendo códigos de respaldo",recovery_codes_warning:"Anote los códigos o guárdelos en un lugar seguro, de lo contrario no los volverá a ver. Si pierde el acceso a su aplicación 2FA y los códigos de recuperación, su cuenta quedará bloqueada.",authentication_methods:"Métodos de autentificación",scan:{title:"Escanear",desc:"Usando su aplicación de dos factores, escanee este código QR o ingrese la clave de texto:",secret_code:"Clave"},verify:{desc:"Para habilitar la autenticación de dos factores, ingrese el código de su aplicación 2FA:"}},attachmentRadius:"Adjuntos",attachments:"Adjuntos",autoload:"Habilitar carga automática al llegar al final de la página",avatar:"Avatar",avatarAltRadius:"Avatares (Notificaciones)",avatarRadius:"Avatares",background:"Fondo",bio:"Biografía",block_export:"Exportar usuarios bloqueados",block_export_button:"Exporta la lista de tus usuarios bloqueados a un archivo csv",block_import:"Importar usuarios bloqueados",block_import_error:"Error importando la lista de usuarios bloqueados",blocks_imported:"¡Lista de usuarios bloqueados importada! El procesado puede tardar un poco.",blocks_tab:"Bloqueados",btnRadius:"Botones",cBlue:"Azul (Responder, seguir)",cGreen:"Verde (Retweet)",cOrange:"Naranja (Favorito)",cRed:"Rojo (Cancelar)",change_password:"Cambiar contraseña",change_password_error:"Hubo un problema cambiando la contraseña.",changed_password:"¡Contraseña cambiada correctamente!",collapse_subject:"Colapsar entradas con tema",composing:"Redactando",confirm_new_password:"Confirmar la nueva contraseña",current_avatar:"Tu avatar actual",current_password:"Contraseña actual",current_profile_banner:"Tu cabecera actual",data_import_export_tab:"Importar / Exportar Datos",default_vis:"Alcance de visibilidad por defecto",delete_account:"Eliminar la cuenta",discoverable:"Permitir la aparición de esta cuenta en los resultados de búsqueda y otros servicios",delete_account_description:"Eliminar para siempre la cuenta y todos los mensajes.",pad_emoji:"Rellenar con espacios al agregar emojis desde el selector",delete_account_error:"Hubo un error al eliminar tu cuenta. Si el fallo persiste, ponte en contacto con el administrador de tu instancia.",delete_account_instructions:"Escribe tu contraseña para confirmar la eliminación de tu cuenta.",avatar_size_instruction:"El tamaño mínimo recomendado para el avatar es de 150X150 píxeles.",export_theme:"Exportar tema",filtering:"Filtrado",filtering_explanation:"Todos los estados que contengan estas palabras serán silenciados, una por línea",follow_export:"Exportar personas que tú sigues",follow_export_button:"Exporta tus seguidores a un fichero csv",follow_import:"Importar personas que tú sigues",follow_import_error:"Error al importar el fichero",follows_imported:"¡Importado! Procesarlos llevará tiempo.",foreground:"Primer plano",general:"General",hide_attachments_in_convo:"Ocultar adjuntos en las conversaciones",hide_attachments_in_tl:"Ocultar adjuntos en la línea temporal",hide_muted_posts:"Ocultar las publicaciones de los usuarios silenciados",max_thumbnails:"Cantidad máxima de miniaturas por publicación",hide_isp:"Ocultar el panel específico de la instancia",preload_images:"Precargar las imágenes",use_one_click_nsfw:"Abrir los adjuntos NSFW con un solo click.",hide_post_stats:"Ocultar las estadísticas de las entradas (p.ej. el número de favoritos)",hide_user_stats:"Ocultar las estadísticas del usuario (p.ej. el número de seguidores)",hide_filtered_statuses:"Ocultar estados filtrados",import_blocks_from_a_csv_file:"Importar lista de usuarios bloqueados dese un archivo csv",import_followers_from_a_csv_file:"Importar personas que tú sigues a partir de un archivo csv",import_theme:"Importar tema",inputRadius:"Campos de entrada",checkboxRadius:"Casillas de verificación",instance_default:"(por defecto: {value})",instance_default_simple:"(por defecto)",interface:"Interfaz",interfaceLanguage:"Idioma",invalid_theme_imported:"El archivo importado no es un tema válido de Pleroma. No se han realizado cambios.",limited_availability:"No disponible en tu navegador",links:"Enlaces",lock_account_description:"Restringir el acceso a tu cuenta solo a seguidores admitidos",loop_video:"Vídeos en bucle",loop_video_silent_only:'Bucle solo en vídeos sin sonido (p.ej. "gifs" de Mastodon)',mutes_tab:"Silenciados",play_videos_in_modal:"Reproducir los vídeos en un marco emergente",use_contain_fit:"No recortar los adjuntos en miniaturas",name:"Nombre",name_bio:"Nombre y Biografía",new_password:"Nueva contraseña",notification_visibility:"Tipos de notificaciones a mostrar",notification_visibility_follows:"Nuevos seguidores",notification_visibility_likes:"Me gustan (Likes)",notification_visibility_mentions:"Menciones",notification_visibility_repeats:"Repeticiones (Repeats)",no_rich_text_description:"Eliminar el formato de texto enriquecido de todas las entradas",no_blocks:"No hay usuarios bloqueados",no_mutes:"No hay usuarios silenciados",hide_follows_description:"No mostrar a quién sigo",hide_followers_description:"No mostrar quién me sigue",hide_follows_count_description:"No mostrar el número de cuentas que sigo",hide_followers_count_description:"No mostrar el número de cuentas que me siguen",show_admin_badge:"Mostrar la insignia de Administrador en mi perfil",show_moderator_badge:"Mostrar la insignia de Moderador en mi perfil",nsfw_clickthrough:"Activar el clic para ocultar los adjuntos NSFW",oauth_tokens:"Tokens de OAuth",token:"Token",refresh_token:"Actualizar el token",valid_until:"Válido hasta",revoke_token:"Revocar",panelRadius:"Paneles",pause_on_unfocused:"Parar la transmisión cuando no estés en foco.",presets:"Por defecto",profile_background:"Fondo del Perfil",profile_banner:"Cabecera del Perfil",profile_tab:"Perfil",radii_help:"Establezca el redondeo de las esquinas de la interfaz (en píxeles)",replies_in_timeline:"Réplicas en la línea temporal",reply_link_preview:"Activar la previsualización del enlace de responder al pasar el ratón por encima",reply_visibility_all:"Mostrar todas las réplicas",reply_visibility_following:"Solo mostrar réplicas para mí o usuarios a los que sigo",reply_visibility_self:"Solo mostrar réplicas para mí",autohide_floating_post_button:"Ocultar automáticamente el botón 'Nueva Publicación' (para móviles)",saving_err:"Error al guardar los ajustes",saving_ok:"Ajustes guardados",search_user_to_block:"Buscar usuarios a bloquear",search_user_to_mute:"Buscar usuarios a silenciar",security_tab:"Seguridad",scope_copy:"Copiar la visibilidad de la publicación cuando contestamos (En los mensajes directos (MDs) siempre se copia)",minimal_scopes_mode:"Minimizar las opciones de publicación",set_new_avatar:"Cambiar avatar",set_new_profile_background:"Cambiar el fondo del perfil",set_new_profile_banner:"Cambiar la cabecera del perfil",settings:"Ajustes",subject_input_always_show:"Mostrar siempre el campo del tema",subject_line_behavior:"Copiar el tema en las respuestas",subject_line_email:'Como email: "re: tema"',subject_line_mastodon:"Como mastodon: copiar como es",subject_line_noop:"No copiar",post_status_content_type:"Formato de publicación",stop_gifs:"Iniciar GIFs al pasar el ratón",streaming:"Habilitar la transmisión automática de nuevas publicaciones cuando se desplaza hacia la parte superior",text:"Texto",theme:"Tema",theme_help:"Use códigos de color hexadecimales (#rrggbb) para personalizar su tema de colores.",theme_help_v2_1:'También puede invalidar los colores y la opacidad de ciertos componentes si activa la casilla de verificación. Use el botón "Borrar todo" para deshacer los cambios.',theme_help_v2_2:"Los iconos debajo de algunas entradas son indicadores de contraste de fondo/texto, desplace el ratón por encima para obtener información más detallada. Tenga en cuenta que cuando se utilizan indicadores de contraste de transparencia se muestra el peor caso posible.",tooltipRadius:"Información/alertas",upload_a_photo:"Subir una foto",user_settings:"Ajustes del Usuario",values:{false:"no",true:"sí"},notifications:"Notificaciones",notification_setting:"Recibir notificaciones de:",notification_setting_follows:"Usuarios que sigues",notification_setting_non_follows:"Usuarios que no sigues",notification_setting_followers:"Usuarios que te siguen",notification_setting_non_followers:"Usuarios que no te siguen",notification_mutes:"Para dejar de recibir notificaciones de un usuario específico, siléncialo.",notification_blocks:"El bloqueo de un usuario detiene todas las notificaciones y también las cancela.",enable_web_push_notifications:"Habilitar las notificiaciones en el navegador",style:{switcher:{keep_color:"Mantener colores",keep_shadows:"Mantener sombras",keep_opacity:"Mantener opacidad",keep_roundness:"Mantener redondeces",keep_fonts:"Mantener fuentes",save_load_hint:'Las opciones "Mantener" conservan las opciones configuradas actualmente al seleccionar o cargar temas, también almacena dichas opciones al exportar un tema. Cuando se desactiven todas las casillas de verificación, el tema de exportación lo guardará todo.',reset:"Reiniciar",clear_all:"Limpiar todo",clear_opacity:"Limpiar opacidad"},common:{color:"Color",opacity:"Opacidad",contrast:{hint:"El ratio de contraste es {ratio}. {level} {context}",level:{aa:"Cumple con la pauta de nivel AA (mínimo)",aaa:"Cumple con la pauta de nivel AAA (recomendado)",bad:"No cumple con las pautas de accesibilidad"},context:{"18pt":"para textos grandes (+18pt)",text:"para textos"}}},common_colors:{_tab_label:"Común",main:"Colores comunes",foreground_hint:'Vea la pestaña "Avanzado" para un control más detallado',rgbo:"Iconos, acentos, insignias"},advanced_colors:{_tab_label:"Avanzado",alert:"Fondo de Alertas",alert_error:"Error",badge:"Fondo de Insignias",badge_notification:"Notificaciones",panel_header:"Cabecera del panel",top_bar:"Barra superior",borders:"Bordes",buttons:"Botones",inputs:"Campos de entrada",faint_text:"Texto desvanecido"},radii:{_tab_label:"Redondez"},shadows:{_tab_label:"Sombra e iluminación",component:"Componente",override:"Sobreescribir",shadow_id:"Sombra #{value}",blur:"Difuminar",spread:"Cantidad",inset:"Sombra interior",hint:"Para las sombras, también puede usar --variable como un valor de color para usar las variables CSS3. Tenga en cuenta que establecer la opacidad no funcionará en este caso.",filter_hint:{always_drop_shadow:"Advertencia, esta sombra siempre usa {0} cuando el navegador lo soporta.",drop_shadow_syntax:"{0} no soporta el parámetro {1} y la palabra clave {2}.",avatar_inset:"Tenga en cuenta que la combinación de sombras interiores como no-interiores en los avatares, puede dar resultados inesperados con los avatares transparentes.",spread_zero:"Sombras con una cantidad > 0 aparecerá como si estuviera puesto a cero",inset_classic:"Las sombras interiores estarán usando {0}"},components:{panel:"Panel",panelHeader:"Cabecera del panel",topBar:"Barra superior",avatar:"Avatar del usuario (en la vista del perfil)",avatarStatus:"Avatar del usuario (en la vista de la entrada)",popup:"Ventanas y textos emergentes (popups & tooltips)",button:"Botones",buttonHover:"Botón (encima)",buttonPressed:"Botón (presionado)",buttonPressedHover:"Botón (presionado+encima)",input:"Campo de entrada"}},fonts:{_tab_label:"Fuentes",help:'Seleccione la fuente a utilizar para los elementos de la interfaz de usuario. Para "personalizar", debe ingresar el nombre exacto de la fuente tal como aparece en el sistema.',components:{interface:"Interfaz",input:"Campos de entrada",post:"Texto de publicaciones",postCode:"Texto monoespaciado en publicación (texto enriquecido)"},family:"Nombre de la fuente",size:"Tamaño (en px)",weight:"Peso (negrita)",custom:"Personalizado"},preview:{header:"Vista previa",content:"Contenido",error:"Ejemplo de error",button:"Botón",text:"Un montón de {0} y {1}",mono:"contenido",input:"Acaba de aterrizar en L.A.",faint_link:"manual útil",fine_print:"¡Lea nuestro {0} para aprender nada útil!",header_faint:"Esto está bien",checkbox:"He revisado los términos y condiciones",link:"un bonito enlace"}},version:{title:"Versión",backend_version:"Versión del Backend",frontend_version:"Versión del Frontend"}},time:{day:"{0} día",days:"{0} días",day_short:"{0}d",days_short:"{0}d",hour:"{0} hora",hours:"{0} horas",hour_short:"{0}h",hours_short:"{0}h",in_future:"en {0}",in_past:"hace {0}",minute:"{0} minuto",minutes:"{0} minutos",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} mes",months:"{0} meses",month_short:"{0}m",months_short:"{0}m",now:"justo ahora",now_short:"ahora",second:"{0} segundo",seconds:"{0} segundos",second_short:"{0}s",seconds_short:"{0}s",week:"{0} semana",weeks:"{0} semanas",week_short:"{0}sem",weeks_short:"{0}sem",year:"{0} año",years:"{0} años",year_short:"{0}a",years_short:"{0}a"},timeline:{collapse:"Colapsar",conversation:"Conversación",error_fetching:"Error al cargar las actualizaciones",load_older:"Cargar actualizaciones anteriores",no_retweet_hint:"La publicación está marcada como solo para seguidores o directa y no se puede repetir",repeated:"repetida",show_new:"Mostrar lo nuevo",up_to_date:"Actualizado",no_more_statuses:"No hay más estados",no_statuses:"Sin estados"},status:{favorites:"Favoritos",repeats:"Repetidos",delete:"Eliminar publicación",pin:"Fijar en tu perfil",unpin:"Desclavar de tu perfil",pinned:"Fijado",delete_confirm:"¿Realmente quieres borrar la publicación?",reply_to:"Respondiendo a",replies_list:"Respuestas:",mute_conversation:"Silenciar la conversación",unmute_conversation:"Mostrar la conversación"},user_card:{approve:"Aprobar",block:"Bloquear",blocked:"¡Bloqueado!",deny:"Denegar",favorites:"Favoritos",follow:"Seguir",follow_sent:"¡Solicitud enviada!",follow_progress:"Solicitando…",follow_again:"¿Enviar solicitud de nuevo?",follow_unfollow:"Dejar de seguir",followees:"Siguiendo",followers:"Seguidores",following:"¡Siguiendo!",follows_you:"¡Te sigue!",its_you:"¡Eres tú!",media:"Media",mention:"Mencionar",mute:"Silenciar",muted:"Silenciado",per_day:"por día",remote_follow:"Seguir",report:"Reportar",statuses:"Estados",subscribe:"Suscribirse",unsubscribe:"Desuscribirse",unblock:"Desbloquear",unblock_progress:"Desbloqueando...",block_progress:"Bloqueando...",unmute:"Quitar silencio",unmute_progress:"Quitando silencio...",mute_progress:"Silenciando...",admin_menu:{moderation:"Moderación",grant_admin:"Conceder permisos de Administrador",revoke_admin:"Revocar permisos de Administrador",grant_moderator:"Conceder permisos de Moderador",revoke_moderator:"Revocar permisos de Moderador",activate_account:"Activar cuenta",deactivate_account:"Desactivar cuenta",delete_account:"Eliminar cuenta",force_nsfw:"Marcar todas las publicaciones como NSFW (no es seguro/apropiado para el trabajo)",strip_media:"Eliminar archivos multimedia de las publicaciones",force_unlisted:"Forzar que se publique en el modo -Sin Listar-",sandbox:"Forzar que se publique solo para tus seguidores",disable_remote_subscription:"No permitir que usuarios de instancias remotas te siga.",disable_any_subscription:"No permitir que ningún usuario te siga",quarantine:"No permitir publicaciones de usuarios de instancias remotas",delete_user:"Eliminar usuario",delete_user_confirmation:"¿Estás completamente seguro? Esta acción no se puede deshacer."}},user_profile:{timeline_title:"Linea Temporal del Usuario",profile_does_not_exist:"Lo sentimos, este perfil no existe.",profile_loading_error:"Lo sentimos, hubo un error al cargar este perfil."},user_reporting:{title:"Reportando a {0}",add_comment_description:"El informe será enviado a los moderadores de su instancia. Puedes proporcionar una explicación de por qué estás reportando esta cuenta a continuación:",additional_comments:"Comentarios adicionales",forward_description:"La cuenta es de otro servidor. ¿Enviar una copia del informe allí también?",forward_to:"Reenviar a {0}",submit:"Enviar",generic_error:"Se produjo un error al procesar la solicitud."},who_to_follow:{more:"Más",who_to_follow:"A quién seguir"},tool_tip:{media_upload:"Subir Medios",repeat:"Repetir",reply:"Contestar",favorite:"Favorito",user_settings:"Ajustes de usuario"},upload:{error:{base:"Subida fallida.",file_too_big:"Archivo demasiado grande [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Inténtalo más tarde"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Personas",hashtags:"Etiquetas",person_talking:"{count} personas hablando",people_talking:"{count} gente hablando",no_results:"Sin resultados"},password_reset:{forgot_password:"¿Contraseña olvidada?",password_reset:"Restablecer la contraseña",instruction:"Ingrese su dirección de correo electrónico o nombre de usuario. Le enviaremos un enlace para restablecer su contraseña.",placeholder:"Su correo electrónico o nombre de usuario",check_email:"Revise su correo electrónico para obtener un enlace para restablecer su contraseña.",return_home:"Volver a la página de inicio",not_found:"No pudimos encontrar ese correo electrónico o nombre de usuario.",too_many_requests:"Has alcanzado el límite de intentos, vuelve a intentarlo más tarde.",password_reset_disabled:"El restablecimiento de contraseñas está deshabilitado. Póngase en contacto con el administrador de su instancia."}}}}]); +//# sourceMappingURL=10.2823375ec309b971aaea.js.map \ No newline at end of file diff --git a/priv/static/static/js/10.4a22c77e34edcd678d2f.js.map b/priv/static/static/js/10.2823375ec309b971aaea.js.map similarity index 56% rename from priv/static/static/js/10.4a22c77e34edcd678d2f.js.map rename to priv/static/static/js/10.2823375ec309b971aaea.js.map index 9c8b5e658..8933e2336 100644 --- a/priv/static/static/js/10.4a22c77e34edcd678d2f.js.map +++ b/priv/static/static/js/10.2823375ec309b971aaea.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/10.4a22c77e34edcd678d2f.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/10.2823375ec309b971aaea.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/11.787aa24e4fd5caef9adb.js b/priv/static/static/js/11.2cb4b0f72a4654070a58.js similarity index 99% rename from priv/static/static/js/11.787aa24e4fd5caef9adb.js rename to priv/static/static/js/11.2cb4b0f72a4654070a58.js index 938cbb64e..03b0234f2 100644 --- a/priv/static/static/js/11.787aa24e4fd5caef9adb.js +++ b/priv/static/static/js/11.2cb4b0f72a4654070a58.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{544:function(e){e.exports={finder:{error_fetching_user:"Viga kasutaja leidmisel",find_user:"Otsi kasutajaid"},general:{submit:"Postita",verify:"Kinnita",confirm:"Kinnita",enable:"Luba",disable:"Keela",cancel:"Tühista",dismiss:"Olgu",show_less:"Kuva vähem",show_more:"Kuva rohkem",optional:"valikuline",generic_error:"Esines viga",more:"Rohkem",apply:"Rakenda"},login:{login:"Logi sisse",logout:"Logi välja",password:"Parool",placeholder:"nt lain",register:"Registreeru",username:"Kasutajanimi",heading:{recovery:"Kaheastmelise autentimise taaste",totp:"Kaheastmeline autentimine"},recovery_code:"Taastekood",enter_two_factor_code:"Sisesta kaheastmelise autentimise kood",enter_recovery_code:"Sisesta taastekood",authentication_code:"Autentimiskood",hint:"Logi sisse, et liituda vestlusega",description:"Logi sisse OAuthiga"},nav:{mentions:"Mainimised",public_tl:"Avalik Ajajoon",timeline:"Ajajoon",twkn:"Kogu Teadaolev Võrgustik",preferences:"Eelistused",who_to_follow:"Keda jälgida",search:"Otsing",user_search:"Kasutajaotsing",dms:"Privaatsõnumid",interactions:"Interaktsioonid",friend_requests:"Jägimistaotlused",chat:"Kohalik vestlus",back:"Tagasi",administration:"Administreerimine",about:"Meist"},notifications:{followed_you:"alustas sinu jälgimist",notifications:"Teated",read:"Loe!",reacted_with:"reageeris {0}",migrated_to:"kolis",no_more_notifications:"Rohkem teateid ei ole",repeated_you:"taaspostitas su staatuse",load_older:"Laadi vanemad teated",follow_request:"soovib Teid jälgida",favorited_you:"lisas su staatuse lemmikuks",broken_favorite:"Tundmatu staatus, otsin…"},post_status:{default:"Just sõitsin elektrirongiga Tallinnast Pääskülla.",posting:"Postitan",scope:{unlisted:"Peidetud - Ära postita avalikele ajajoontele",public:"Avalil - Postita avalikele ajajoontele",private:"Jälgijatele - Postita ainult jälgijatele",direct:"Privaatne - Postita ainult mainitud kasutajatele"},scope_notice:{unlisted:"See postitus ei ole nähtav avalikul ega kogu võrgu ajajoonel",private:"See postitus on nähtav ainult Teie jälgijatele",public:"See postitus on nähtav kõigile"},direct_warning_to_first_only:"See postitus on nähtav ainult kirja alguses mainitud kasutajatele.",direct_warning_to_all:"See postitus on nähtav kõikidele mainitud kasutajatele.",content_warning:"Pealkiri (valikuline)",content_type:{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"Lihttekst"},attachments_sensitive:"Märgi manused sensitiivseks",account_not_locked_warning_link:"lukus",account_not_locked_warning:"Teie konto ei ole {0}. Kõik võivad Teid jälgida, et näha Teie ainult-jälgijatele postitusi.",new_status:"Postita uus staatus"},registration:{bio:"Bio",email:"E-post",fullname:"Kuvatav nimi",password_confirm:"Parooli kinnitamine",registration:"Registreerimine",validations:{password_confirmation_match:"peaks olema sama kui salasõna",password_confirmation_required:"ei saa jätta tühjaks",password_required:"ei saa jätta tühjaks",email_required:"ei saa jätta tühjaks",fullname_required:"ei saa jätta tühjaks",username_required:"ei saa jätta tühjaks"},fullname_placeholder:"Näiteks Lain Iwakura",username_placeholder:"Näiteks lain",new_captcha:"Vajuta pildile, et saada uus captcha",captcha:"CAPTCHA",token:"Kutse võti"},settings:{attachments:"Manused",autoload:"Luba ajajoone automaatne uuendamine kui ajajoon on põhja keritud",avatar:"Profiilipilt",bio:"Bio",current_avatar:"Sinu praegune profiilipilt",current_profile_banner:"Praegune profiilibänner",filtering:"Sisu filtreerimine",filtering_explanation:"Kõiki staatuseid, mis sisaldavad neid sõnu, ei kuvata. Üks sõna reale",hide_attachments_in_convo:"Peida manused vastlustes",hide_attachments_in_tl:"Peida manused ajajoonel",name:"Nimi",name_bio:"Nimi ja Bio",nsfw_clickthrough:"Peida tööks-mittesobivad(NSFW) manuste hiireklõpsu taha",profile_background:"Profiilitaust",profile_banner:"Profiilibänner",reply_link_preview:"Luba algpostituse kuvamine vastustes",set_new_avatar:"Vali uus profiilipilt",set_new_profile_background:"Vali uus profiilitaust",set_new_profile_banner:"Vali uus profiilibänner",settings:"Sätted",theme:"Teema",user_settings:"Kasutaja sätted",subject_line_noop:"Ära kopeeri",subject_line_mastodon:"Nagu mastodon: kopeeri nagu on",subject_line_email:'Nagu e-post: "vs: pealkiri"',subject_line_behavior:"Kopeeri pealkiri vastamisel",subject_input_always_show:"Alati kuva pealkirja välja",minimal_scopes_mode:"Peida postituse nähtavussätted",scope_copy:"Kopeeri nähtavussätted vastamisel (Privaatsed on alati kopeeritud)",security_tab:"Turvalisus",search_user_to_mute:"Otsi, keda soovid vaigistada",search_user_to_block:"Otsi, keda soovid blokeerida",saving_ok:"Sätted salvestatud",saving_err:"Sätete salvestamine ebaõnnestus",autohide_floating_post_button:"Automaatselt peida uue postituse nupp (mobiilil)",reply_visibility_self:"Näita ainult vastuseid, mis on suunatud mulle",reply_visibility_following:"Näita ainult vastuseid, mis on suunatud mulle või kasutajatele, keda jälgin",reply_visibility_all:"Näita kõiki vastuseid",replies_in_timeline:"Vastused ajajoonel",radii_help:"Liidese ümardamine (pikslites)",profile_tab:"Profiil",presets:"Salvestatud sätted",pause_on_unfocused:"Peata reaalajas voog kui leht pole fookuses",panelRadius:"Paneelid",revoke_token:"Keela",valid_until:"Kehtiv kuni",refresh_token:"Värskendustoken",token:"Token",oauth_tokens:"OAuth tokenid",show_moderator_badge:"Näita Moderaator silti mu profiilil",show_admin_badge:"Näita Admin silti mu profiilil",hide_followers_count_description:"Ära näita minu jälgijate arvu",hide_follows_count_description:"Ära näita minu jälgimiste arvu",hide_followers_description:"Ära näita minu jälgijaid",hide_follows_description:"Ära näita minu jälgimisi",no_mutes:"Vaigistusi pole",no_blocks:"Blokeeringuid pole",no_rich_text_description:"Muuda kõik postitused lihttekstiks",notification_visibility_emoji_reactions:"Reaktsioonid",notification_visibility_moves:"Kasutaja kolimised",notification_visibility_repeats:"Taaspostitused",notification_visibility_mentions:"Mainimised",notification_visibility_likes:"Lemmikud",notification_visibility_follows:"Jälgimised",notification_visibility:"Milliseid teateid kuvatakse",new_password:"Uus salasõna",new_email:"Uus e-post",use_contain_fit:"Näita eelvaadetes täis suuruses pilte",play_videos_in_modal:"Näita videoid eraldi raamis",mutes_tab:"Vaigistused",loop_video_silent_only:'Loop videod, millel pole heli (nt. Mastodoni "gifid")',loop_video:"Loop videod",lock_account_description:"Piira oma konto ainult lubatud jälgijatele",links:"Lingid",limited_availability:"Pole Teie veebilehitsejas saadaval",invalid_theme_imported:"Valitud fail ei ole Pleroma kujundus. Kujundusele muudatusi ei tehtud.",interfaceLanguage:"Liidese keel",interface:"Liides",instance_default_simple:"(vaikimisi)",instance_default:"(vaikimisi: {value})",checkboxRadius:"Märkeruudud",inputRadius:"Sisestuskastid",import_theme:"Lae sätted",import_followers_from_a_csv_file:"Impordi jälgimised csv failist",import_blocks_from_a_csv_file:"Impordi blokeeringud csv failist",hide_filtered_statuses:"Peida filtreeritud staatused",hide_user_stats:"Peida kasutaja statistika (nt. jälgijate arv)",hide_post_stats:"Peida postituse statistika (nt. lemmikute arv)",use_one_click_nsfw:"Ava NSFW manused ühe klikiga",preload_images:"Piltide eellaadimine",hide_isp:"Peida instantsipõhine paneel",max_thumbnails:"Maksimaalne lubatud eelvaadete arv postituste kohta",hide_muted_posts:"Peida vaigistatud kasutajate postitused",general:"Üldine",foreground:"Esiplaan",accent:"Rõhk",follows_imported:"Jälgimised imporditud! Nende töötlemine võtab natuke aega.",follow_import_error:"Jälgimiste importimisel tekkis viga",follow_import:"Impordi jälgimised",follow_export_button:"Ekspordi oma jälgimised csv failiks",follow_export:"Ekspordi jälgimised",export_theme:"Salvesta sätted",emoji_reactions_on_timeline:"Näita reaktsioone ajajoonel",pad_emoji:"Lisa emotikonidele tühikud ette ja järgi neid menüüst valides",avatar_size_instruction:"Profiilipildi soovitatud minimaalne suurus on 150x150 pikslit.",domain_mutes:"Domeenid",discoverable:"Luba selle konto ilmumine otsingutulemustes ning muudes teenustes",delete_account_instructions:"Konto kustutamise kinnitamiseks sisestage oma salasõna.",delete_account_error:"Teie konto kustutamisel tekkis viga. Kui see jätkub, palun võtke kontakti administraatoriga.",delete_account_description:"Jäädavalt kustuta oma andmed ja konto.",delete_account:"Kustuta konto",default_vis:"Vaikimisi nähtavus",data_import_export_tab:"Andmete import / eksport",current_password:"Praegune salasõna",confirm_new_password:"Kinnita uus salasõna",composing:"Koostamine",collapse_subject:"Peida postituste pealkirjad",changed_password:"Salasõna edukalt muudetud!",change_password_error:"Esines viga salasõna muutmisel.",change_password:"Muuda salasõna",changed_email:"E-post edukalt muudetud!",change_email_error:"Esines viga e-posti muutmisel.",change_email:"Muuda e-posti",cRed:"Punane (Tühista)",cOrange:"Oranž (Lisa lemmikuks)",cGreen:"Roheline (Taaspostita)",cBlue:"Sinine (Vasta, jälgi)",btnRadius:"Nupud",blocks_tab:"Blokeeringud",blocks_imported:"Blokeeringud imporditud! Nende töötlemine võtab natuke aega.",block_import_error:"Blokeeringute importimisel esines viga",block_import:"Blokeeringute import",block_export_button:"Ekspordi oma blokeeringud csv failiks",block_export:"Blokeeringute eksport",background:"Taust",avatarRadius:"Profiilipildid",avatarAltRadius:"Profiilipildid (Teated)",attachmentRadius:"Manused",allow_following_move:"Luba automaatjälgimine kui jälgitav konto kolib",mfa:{verify:{desc:"Et lubada kaheastmelist autentimist, sisestage kood oma äpist:"},scan:{desc:"Kasutades oma kaheastmelise autentimise äppi, skännige see QR kood või sisestage tekstiline võti:",secret_code:"Võti",title:"Skänni"},authentication_methods:"Autentimismeetodid",recovery_codes_warning:"Kirjutage need koodid üles ning hoidke need kindlas kohas. Kui Te kaotate ligipääsu oma kaheastmelise autentimise äppile ning nendele koodidele, ei ole Teil võimalik oma kontosse sisse logida.",waiting_a_recovery_codes:"Laen taastekoode…",recovery_codes:"Taastekoodid.",warning_of_generate_new_codes:"Kui Te loote uued taastekoodid, Teie vanad koodid ei tööta enam.",generate_new_recovery_codes:"Loo uued taastekoodid",title:"Kaheastmeline autentimine",confirm_and_enable:"Kinnita & luba OTP",wait_pre_setup_otp:"sean üles OTP",setup_otp:"Sea üles OTP",otp:"OTP"},enter_current_password_to_confirm:"Sisetage isiku tõestamiseks oma salasõna",security:"Turvalisus",app_name:"Rakenduse nimi",style:{switcher:{help:{snapshot_present:"Kujunduse eelvaade on laetud, nii et kõik väärtused on üle kirjutatud. Te saate laadida ka kujunduse päris sisu.",older_version_imported:"Teie imporditud fail oli loodud vanemas versioonis.",future_version_imported:"Teie imporditud fail oli loodud uuemas versioonis.",v2_imported:"Teie imporditud fail oli vanema versiooni jaoks. Me üritame hoida ühilduvust, kuid ikkagi võib esineda erinevusi.",upgraded_from_v2:"PleromaFE-d uuendati, teie kujundus võib välja näha natuke erinev, kui mäletate."},use_source:"Uus versioon",use_snapshot:"Vana versioon",keep_as_is:"Jäta nii, nagu on",load_theme:"Lae kujundus",clear_opacity:"Tühista läbipaistvus",clear_all:"Tühista kõik",reset:"Taasta algne",keep_fonts:"Jäta fondid",keep_roundness:"Jäta ümarus",keep_opacity:"Jäta läbipaistvus",keep_shadows:"Jäta varjud",keep_color:"Jäta värvid"}},enable_web_push_notifications:"Luba veebipõhised push-teated",notification_blocks:"Kasutaja blokeerimisel ei tule neilt enam teateid ning nendele teilt ka mitte.",notification_setting_privacy_option:"Peida saatja ning sisu push-teadetelt",notification_setting:"Saa teateid nendelt:",notifications:"Teated",notification_mutes:"Kui soovid mõnelt kasutajalt mitte teateid saada, kasuta vaigistust.",notification_setting_privacy:"Privaatsus",notification_setting_non_followers:"Kasutajatelt, kes sind ei jälgi",notification_setting_followers:"Kasutajatelt, kes jälgivad sind",notification_setting_non_follows:"Kasutajatelt, keda sa ei jälgi",notification_setting_follows:"Kasutajatelt, keda jälgid",notification_setting_filters:"Filtrid",greentext:"Meemi nooled",fun:"Naljad",values:{true:"jah",false:"ei"},upload_a_photo:"Lae üles foto",type_domains_to_mute:"Trüki siia domeene, mida vaigistada",tooltipRadius:"Vihjed/hoiatused",theme_help_v2_1:'Te saate ka mõndade komponentide värvust ning läbipaistvust üle kirjutada vajutades ruudule. Kasuta "Tühista kõik" nuppu, et need tühistada.',theme_help:"Kasuta hex värvikoode (#rrggbb) oma kujunduse isikupärastamiseks.",text:"Tekst",useStreamingApiWarning:"(Pole soovituslik, eksperimentaalne, on teada, et jätab postitusi vahele)",useStreamingApi:"Saa postitusi ning teateid reaalajas",user_mutes:"Kasutajad",streaming:"Luba uute postituste automaatvoog kui oled lehekülje alguses",stop_gifs:"Mängi GIFid hiirega ületades",post_status_content_type:"Postituse sisutüüp"},timeline:{conversation:"Vestlus",error_fetching:"Viga uuenduste laadimisel",load_older:"Kuva vanemaid staatuseid",show_new:"Näita uusi",up_to_date:"Uuendatud"},user_card:{block:"Blokeeri",blocked:"Blokeeritud!",follow:"Jälgi",followees:"Jälgitavaid",followers:"Jälgijaid",following:"Jälgin!",follows_you:"Jälgib sind!",mute:"Vaigista",muted:"Vaigistatud",per_day:"päevas",statuses:"Staatuseid"},about:{mrf:{mrf_policies_desc:"MRF poliitikad mõjutavad selle instansi föderatsiooni käitumist. Järgmised poliitikad on lubatud:",simple:{media_nsfw_desc:"See instants määrab nendest instantsidest postituste meedia sensitiivseks:",media_nsfw:"Meedia määratakse sensitiivseks",media_removal_desc:"See instants eemaldab meedia postitustelt nendest instantsidest:",media_removal:"Meedia eemaldamine",ftl_removal_desc:'See instants eemaldab postitused nendelt instantsidest "Kogu teatud võrgu" ajajoonelt:',ftl_removal:'"Kogu teatud võrgu" ajajoonelt eemaldamine',quarantine_desc:"See instants saadab ainult avalikke postitusi järgmistele instantsidele:",quarantine:"Karantiini",reject_desc:"See instants ei luba sõnumeid nendest instantsidest:",reject:"Keela",accept_desc:"See instants lubab sõnumeid ainult nendest instantsidest:",accept:"Luba",simple_policies:"Instansi-omased poliitikad"},mrf_policies:"Lubatud MRF poliitikad",keyword:{is_replaced_by:"→",replace:"Vaheta",reject:"Lükka tagasi",ftl_removal:'"Kogu teatud võrgu" ajajoonelt eemaldamine',keyword_policies:"Võtmesõna poliitikad"},federation:"Föderatsioon"},staff:"Personal"},selectable_list:{select_all:"Vali kõik"},remote_user_resolver:{error:"Ei leitud.",searching_for:"Otsin",remote_user_resolver:"Kaugkasutaja leidja"},interactions:{load_older:"Laadi vanemad interaktsioonid",moves:"Kasutaja kolimised",follows:"Uued jälgimised",favs_repeats:"Taaspostitused ja lemmikud"},emoji:{load_all:"Laen kõik {emojiAmount} emotikoni",load_all_hint:"Laadisin esimesed {saneAmount} emotikoni, kõike laadides võib esineda probleeme jõudlusega.",unicode:"Unicode emotikonid",custom:"Kohandatud emotikonid",add_emoji:"Lisa emotikon",search_emoji:"Otsi emotikone",keep_open:"Hoia valija lahti",emoji:"Emotikonid",stickers:"Kleepsud"},polls:{not_enough_options:"Liiga vähe unikaalseid valikuid hääletuses",expired:"Hääletus lõppes {0} tagasi",expires_in:"Hääletus lõppeb {0}",expiry:"Hääletuse vanus",multiple_choices:"Mitu vastust",single_choice:"Üks vastus",type:"Hääletuse tüüp",vote:"Hääleta",votes:"häält",option:"Valik",add_option:"Lisa valik",add_poll:"Lisa küsitlus"},media_modal:{next:"Järgmine",previous:"Eelmine"},importer:{error:"Faili importimisel tekkis viga.",success:"Import õnnestus.",submit:"Esita"},image_cropper:{cancel:"Tühista",save_without_cropping:"Salvesta muudatusteta",save:"Salvesta",crop_picture:"Modifitseeri pilti"},features_panel:{who_to_follow:"Keda jälgida",title:"Featuurid",text_limit:"Tekstilimiit",scope_options:"Ulatuse valikud",media_proxy:"Meedia proksi",gopher:"Gopher",chat:"Vestlus"},exporter:{processing:"Töötlemine, Teilt küsitakse varsti faili allalaadimist",export:"Ekspordi"},domain_mute_card:{unmute_progress:"Eemaldan vaigistuse…",unmute:"Ära vaigista",mute_progress:"Vaigistan…",mute:"Vaigista"},chat:{title:"Vestlus"}}}}]); -//# sourceMappingURL=11.787aa24e4fd5caef9adb.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{562:function(e){e.exports={finder:{error_fetching_user:"Viga kasutaja leidmisel",find_user:"Otsi kasutajaid"},general:{submit:"Postita",verify:"Kinnita",confirm:"Kinnita",enable:"Luba",disable:"Keela",cancel:"Tühista",dismiss:"Olgu",show_less:"Kuva vähem",show_more:"Kuva rohkem",optional:"valikuline",generic_error:"Esines viga",more:"Rohkem",apply:"Rakenda"},login:{login:"Logi sisse",logout:"Logi välja",password:"Parool",placeholder:"nt lain",register:"Registreeru",username:"Kasutajanimi",heading:{recovery:"Kaheastmelise autentimise taaste",totp:"Kaheastmeline autentimine"},recovery_code:"Taastekood",enter_two_factor_code:"Sisesta kaheastmelise autentimise kood",enter_recovery_code:"Sisesta taastekood",authentication_code:"Autentimiskood",hint:"Logi sisse, et liituda vestlusega",description:"Logi sisse OAuthiga"},nav:{mentions:"Mainimised",public_tl:"Avalik Ajajoon",timeline:"Ajajoon",twkn:"Kogu Teadaolev Võrgustik",preferences:"Eelistused",who_to_follow:"Keda jälgida",search:"Otsing",user_search:"Kasutajaotsing",dms:"Privaatsõnumid",interactions:"Interaktsioonid",friend_requests:"Jägimistaotlused",chat:"Kohalik vestlus",back:"Tagasi",administration:"Administreerimine",about:"Meist"},notifications:{followed_you:"alustas sinu jälgimist",notifications:"Teated",read:"Loe!",reacted_with:"reageeris {0}",migrated_to:"kolis",no_more_notifications:"Rohkem teateid ei ole",repeated_you:"taaspostitas su staatuse",load_older:"Laadi vanemad teated",follow_request:"soovib Teid jälgida",favorited_you:"lisas su staatuse lemmikuks",broken_favorite:"Tundmatu staatus, otsin…"},post_status:{default:"Just sõitsin elektrirongiga Tallinnast Pääskülla.",posting:"Postitan",scope:{unlisted:"Peidetud - Ära postita avalikele ajajoontele",public:"Avalil - Postita avalikele ajajoontele",private:"Jälgijatele - Postita ainult jälgijatele",direct:"Privaatne - Postita ainult mainitud kasutajatele"},scope_notice:{unlisted:"See postitus ei ole nähtav avalikul ega kogu võrgu ajajoonel",private:"See postitus on nähtav ainult Teie jälgijatele",public:"See postitus on nähtav kõigile"},direct_warning_to_first_only:"See postitus on nähtav ainult kirja alguses mainitud kasutajatele.",direct_warning_to_all:"See postitus on nähtav kõikidele mainitud kasutajatele.",content_warning:"Pealkiri (valikuline)",content_type:{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"Lihttekst"},attachments_sensitive:"Märgi manused sensitiivseks",account_not_locked_warning_link:"lukus",account_not_locked_warning:"Teie konto ei ole {0}. Kõik võivad Teid jälgida, et näha Teie ainult-jälgijatele postitusi.",new_status:"Postita uus staatus"},registration:{bio:"Bio",email:"E-post",fullname:"Kuvatav nimi",password_confirm:"Parooli kinnitamine",registration:"Registreerimine",validations:{password_confirmation_match:"peaks olema sama kui salasõna",password_confirmation_required:"ei saa jätta tühjaks",password_required:"ei saa jätta tühjaks",email_required:"ei saa jätta tühjaks",fullname_required:"ei saa jätta tühjaks",username_required:"ei saa jätta tühjaks"},fullname_placeholder:"Näiteks Lain Iwakura",username_placeholder:"Näiteks lain",new_captcha:"Vajuta pildile, et saada uus captcha",captcha:"CAPTCHA",token:"Kutse võti"},settings:{attachments:"Manused",autoload:"Luba ajajoone automaatne uuendamine kui ajajoon on põhja keritud",avatar:"Profiilipilt",bio:"Bio",current_avatar:"Sinu praegune profiilipilt",current_profile_banner:"Praegune profiilibänner",filtering:"Sisu filtreerimine",filtering_explanation:"Kõiki staatuseid, mis sisaldavad neid sõnu, ei kuvata. Üks sõna reale",hide_attachments_in_convo:"Peida manused vastlustes",hide_attachments_in_tl:"Peida manused ajajoonel",name:"Nimi",name_bio:"Nimi ja Bio",nsfw_clickthrough:"Peida tööks-mittesobivad(NSFW) manuste hiireklõpsu taha",profile_background:"Profiilitaust",profile_banner:"Profiilibänner",reply_link_preview:"Luba algpostituse kuvamine vastustes",set_new_avatar:"Vali uus profiilipilt",set_new_profile_background:"Vali uus profiilitaust",set_new_profile_banner:"Vali uus profiilibänner",settings:"Sätted",theme:"Teema",user_settings:"Kasutaja sätted",subject_line_noop:"Ära kopeeri",subject_line_mastodon:"Nagu mastodon: kopeeri nagu on",subject_line_email:'Nagu e-post: "vs: pealkiri"',subject_line_behavior:"Kopeeri pealkiri vastamisel",subject_input_always_show:"Alati kuva pealkirja välja",minimal_scopes_mode:"Peida postituse nähtavussätted",scope_copy:"Kopeeri nähtavussätted vastamisel (Privaatsed on alati kopeeritud)",security_tab:"Turvalisus",search_user_to_mute:"Otsi, keda soovid vaigistada",search_user_to_block:"Otsi, keda soovid blokeerida",saving_ok:"Sätted salvestatud",saving_err:"Sätete salvestamine ebaõnnestus",autohide_floating_post_button:"Automaatselt peida uue postituse nupp (mobiilil)",reply_visibility_self:"Näita ainult vastuseid, mis on suunatud mulle",reply_visibility_following:"Näita ainult vastuseid, mis on suunatud mulle või kasutajatele, keda jälgin",reply_visibility_all:"Näita kõiki vastuseid",replies_in_timeline:"Vastused ajajoonel",radii_help:"Liidese ümardamine (pikslites)",profile_tab:"Profiil",presets:"Salvestatud sätted",pause_on_unfocused:"Peata reaalajas voog kui leht pole fookuses",panelRadius:"Paneelid",revoke_token:"Keela",valid_until:"Kehtiv kuni",refresh_token:"Värskendustoken",token:"Token",oauth_tokens:"OAuth tokenid",show_moderator_badge:"Näita Moderaator silti mu profiilil",show_admin_badge:"Näita Admin silti mu profiilil",hide_followers_count_description:"Ära näita minu jälgijate arvu",hide_follows_count_description:"Ära näita minu jälgimiste arvu",hide_followers_description:"Ära näita minu jälgijaid",hide_follows_description:"Ära näita minu jälgimisi",no_mutes:"Vaigistusi pole",no_blocks:"Blokeeringuid pole",no_rich_text_description:"Muuda kõik postitused lihttekstiks",notification_visibility_emoji_reactions:"Reaktsioonid",notification_visibility_moves:"Kasutaja kolimised",notification_visibility_repeats:"Taaspostitused",notification_visibility_mentions:"Mainimised",notification_visibility_likes:"Lemmikud",notification_visibility_follows:"Jälgimised",notification_visibility:"Milliseid teateid kuvatakse",new_password:"Uus salasõna",new_email:"Uus e-post",use_contain_fit:"Näita eelvaadetes täis suuruses pilte",play_videos_in_modal:"Näita videoid eraldi raamis",mutes_tab:"Vaigistused",loop_video_silent_only:'Loop videod, millel pole heli (nt. Mastodoni "gifid")',loop_video:"Loop videod",lock_account_description:"Piira oma konto ainult lubatud jälgijatele",links:"Lingid",limited_availability:"Pole Teie veebilehitsejas saadaval",invalid_theme_imported:"Valitud fail ei ole Pleroma kujundus. Kujundusele muudatusi ei tehtud.",interfaceLanguage:"Liidese keel",interface:"Liides",instance_default_simple:"(vaikimisi)",instance_default:"(vaikimisi: {value})",checkboxRadius:"Märkeruudud",inputRadius:"Sisestuskastid",import_theme:"Lae sätted",import_followers_from_a_csv_file:"Impordi jälgimised csv failist",import_blocks_from_a_csv_file:"Impordi blokeeringud csv failist",hide_filtered_statuses:"Peida filtreeritud staatused",hide_user_stats:"Peida kasutaja statistika (nt. jälgijate arv)",hide_post_stats:"Peida postituse statistika (nt. lemmikute arv)",use_one_click_nsfw:"Ava NSFW manused ühe klikiga",preload_images:"Piltide eellaadimine",hide_isp:"Peida instantsipõhine paneel",max_thumbnails:"Maksimaalne lubatud eelvaadete arv postituste kohta",hide_muted_posts:"Peida vaigistatud kasutajate postitused",general:"Üldine",foreground:"Esiplaan",accent:"Rõhk",follows_imported:"Jälgimised imporditud! Nende töötlemine võtab natuke aega.",follow_import_error:"Jälgimiste importimisel tekkis viga",follow_import:"Impordi jälgimised",follow_export_button:"Ekspordi oma jälgimised csv failiks",follow_export:"Ekspordi jälgimised",export_theme:"Salvesta sätted",emoji_reactions_on_timeline:"Näita reaktsioone ajajoonel",pad_emoji:"Lisa emotikonidele tühikud ette ja järgi neid menüüst valides",avatar_size_instruction:"Profiilipildi soovitatud minimaalne suurus on 150x150 pikslit.",domain_mutes:"Domeenid",discoverable:"Luba selle konto ilmumine otsingutulemustes ning muudes teenustes",delete_account_instructions:"Konto kustutamise kinnitamiseks sisestage oma salasõna.",delete_account_error:"Teie konto kustutamisel tekkis viga. Kui see jätkub, palun võtke kontakti administraatoriga.",delete_account_description:"Jäädavalt kustuta oma andmed ja konto.",delete_account:"Kustuta konto",default_vis:"Vaikimisi nähtavus",data_import_export_tab:"Andmete import / eksport",current_password:"Praegune salasõna",confirm_new_password:"Kinnita uus salasõna",composing:"Koostamine",collapse_subject:"Peida postituste pealkirjad",changed_password:"Salasõna edukalt muudetud!",change_password_error:"Esines viga salasõna muutmisel.",change_password:"Muuda salasõna",changed_email:"E-post edukalt muudetud!",change_email_error:"Esines viga e-posti muutmisel.",change_email:"Muuda e-posti",cRed:"Punane (Tühista)",cOrange:"Oranž (Lisa lemmikuks)",cGreen:"Roheline (Taaspostita)",cBlue:"Sinine (Vasta, jälgi)",btnRadius:"Nupud",blocks_tab:"Blokeeringud",blocks_imported:"Blokeeringud imporditud! Nende töötlemine võtab natuke aega.",block_import_error:"Blokeeringute importimisel esines viga",block_import:"Blokeeringute import",block_export_button:"Ekspordi oma blokeeringud csv failiks",block_export:"Blokeeringute eksport",background:"Taust",avatarRadius:"Profiilipildid",avatarAltRadius:"Profiilipildid (Teated)",attachmentRadius:"Manused",allow_following_move:"Luba automaatjälgimine kui jälgitav konto kolib",mfa:{verify:{desc:"Et lubada kaheastmelist autentimist, sisestage kood oma äpist:"},scan:{desc:"Kasutades oma kaheastmelise autentimise äppi, skännige see QR kood või sisestage tekstiline võti:",secret_code:"Võti",title:"Skänni"},authentication_methods:"Autentimismeetodid",recovery_codes_warning:"Kirjutage need koodid üles ning hoidke need kindlas kohas. Kui Te kaotate ligipääsu oma kaheastmelise autentimise äppile ning nendele koodidele, ei ole Teil võimalik oma kontosse sisse logida.",waiting_a_recovery_codes:"Laen taastekoode…",recovery_codes:"Taastekoodid.",warning_of_generate_new_codes:"Kui Te loote uued taastekoodid, Teie vanad koodid ei tööta enam.",generate_new_recovery_codes:"Loo uued taastekoodid",title:"Kaheastmeline autentimine",confirm_and_enable:"Kinnita & luba OTP",wait_pre_setup_otp:"sean üles OTP",setup_otp:"Sea üles OTP",otp:"OTP"},enter_current_password_to_confirm:"Sisetage isiku tõestamiseks oma salasõna",security:"Turvalisus",app_name:"Rakenduse nimi",style:{switcher:{help:{snapshot_present:"Kujunduse eelvaade on laetud, nii et kõik väärtused on üle kirjutatud. Te saate laadida ka kujunduse päris sisu.",older_version_imported:"Teie imporditud fail oli loodud vanemas versioonis.",future_version_imported:"Teie imporditud fail oli loodud uuemas versioonis.",v2_imported:"Teie imporditud fail oli vanema versiooni jaoks. Me üritame hoida ühilduvust, kuid ikkagi võib esineda erinevusi.",upgraded_from_v2:"PleromaFE-d uuendati, teie kujundus võib välja näha natuke erinev, kui mäletate."},use_source:"Uus versioon",use_snapshot:"Vana versioon",keep_as_is:"Jäta nii, nagu on",load_theme:"Lae kujundus",clear_opacity:"Tühista läbipaistvus",clear_all:"Tühista kõik",reset:"Taasta algne",keep_fonts:"Jäta fondid",keep_roundness:"Jäta ümarus",keep_opacity:"Jäta läbipaistvus",keep_shadows:"Jäta varjud",keep_color:"Jäta värvid"}},enable_web_push_notifications:"Luba veebipõhised push-teated",notification_blocks:"Kasutaja blokeerimisel ei tule neilt enam teateid ning nendele teilt ka mitte.",notification_setting_privacy_option:"Peida saatja ning sisu push-teadetelt",notification_setting:"Saa teateid nendelt:",notifications:"Teated",notification_mutes:"Kui soovid mõnelt kasutajalt mitte teateid saada, kasuta vaigistust.",notification_setting_privacy:"Privaatsus",notification_setting_non_followers:"Kasutajatelt, kes sind ei jälgi",notification_setting_followers:"Kasutajatelt, kes jälgivad sind",notification_setting_non_follows:"Kasutajatelt, keda sa ei jälgi",notification_setting_follows:"Kasutajatelt, keda jälgid",notification_setting_filters:"Filtrid",greentext:"Meemi nooled",fun:"Naljad",values:{true:"jah",false:"ei"},upload_a_photo:"Lae üles foto",type_domains_to_mute:"Trüki siia domeene, mida vaigistada",tooltipRadius:"Vihjed/hoiatused",theme_help_v2_1:'Te saate ka mõndade komponentide värvust ning läbipaistvust üle kirjutada vajutades ruudule. Kasuta "Tühista kõik" nuppu, et need tühistada.',theme_help:"Kasuta hex värvikoode (#rrggbb) oma kujunduse isikupärastamiseks.",text:"Tekst",useStreamingApiWarning:"(Pole soovituslik, eksperimentaalne, on teada, et jätab postitusi vahele)",useStreamingApi:"Saa postitusi ning teateid reaalajas",user_mutes:"Kasutajad",streaming:"Luba uute postituste automaatvoog kui oled lehekülje alguses",stop_gifs:"Mängi GIFid hiirega ületades",post_status_content_type:"Postituse sisutüüp"},timeline:{conversation:"Vestlus",error_fetching:"Viga uuenduste laadimisel",load_older:"Kuva vanemaid staatuseid",show_new:"Näita uusi",up_to_date:"Uuendatud"},user_card:{block:"Blokeeri",blocked:"Blokeeritud!",follow:"Jälgi",followees:"Jälgitavaid",followers:"Jälgijaid",following:"Jälgin!",follows_you:"Jälgib sind!",mute:"Vaigista",muted:"Vaigistatud",per_day:"päevas",statuses:"Staatuseid"},about:{mrf:{mrf_policies_desc:"MRF poliitikad mõjutavad selle instansi föderatsiooni käitumist. Järgmised poliitikad on lubatud:",simple:{media_nsfw_desc:"See instants määrab nendest instantsidest postituste meedia sensitiivseks:",media_nsfw:"Meedia määratakse sensitiivseks",media_removal_desc:"See instants eemaldab meedia postitustelt nendest instantsidest:",media_removal:"Meedia eemaldamine",ftl_removal_desc:'See instants eemaldab postitused nendelt instantsidest "Kogu teatud võrgu" ajajoonelt:',ftl_removal:'"Kogu teatud võrgu" ajajoonelt eemaldamine',quarantine_desc:"See instants saadab ainult avalikke postitusi järgmistele instantsidele:",quarantine:"Karantiini",reject_desc:"See instants ei luba sõnumeid nendest instantsidest:",reject:"Keela",accept_desc:"See instants lubab sõnumeid ainult nendest instantsidest:",accept:"Luba",simple_policies:"Instansi-omased poliitikad"},mrf_policies:"Lubatud MRF poliitikad",keyword:{is_replaced_by:"→",replace:"Vaheta",reject:"Lükka tagasi",ftl_removal:'"Kogu teatud võrgu" ajajoonelt eemaldamine',keyword_policies:"Võtmesõna poliitikad"},federation:"Föderatsioon"},staff:"Personal"},selectable_list:{select_all:"Vali kõik"},remote_user_resolver:{error:"Ei leitud.",searching_for:"Otsin",remote_user_resolver:"Kaugkasutaja leidja"},interactions:{load_older:"Laadi vanemad interaktsioonid",moves:"Kasutaja kolimised",follows:"Uued jälgimised",favs_repeats:"Taaspostitused ja lemmikud"},emoji:{load_all:"Laen kõik {emojiAmount} emotikoni",load_all_hint:"Laadisin esimesed {saneAmount} emotikoni, kõike laadides võib esineda probleeme jõudlusega.",unicode:"Unicode emotikonid",custom:"Kohandatud emotikonid",add_emoji:"Lisa emotikon",search_emoji:"Otsi emotikone",keep_open:"Hoia valija lahti",emoji:"Emotikonid",stickers:"Kleepsud"},polls:{not_enough_options:"Liiga vähe unikaalseid valikuid hääletuses",expired:"Hääletus lõppes {0} tagasi",expires_in:"Hääletus lõppeb {0}",expiry:"Hääletuse vanus",multiple_choices:"Mitu vastust",single_choice:"Üks vastus",type:"Hääletuse tüüp",vote:"Hääleta",votes:"häält",option:"Valik",add_option:"Lisa valik",add_poll:"Lisa küsitlus"},media_modal:{next:"Järgmine",previous:"Eelmine"},importer:{error:"Faili importimisel tekkis viga.",success:"Import õnnestus.",submit:"Esita"},image_cropper:{cancel:"Tühista",save_without_cropping:"Salvesta muudatusteta",save:"Salvesta",crop_picture:"Modifitseeri pilti"},features_panel:{who_to_follow:"Keda jälgida",title:"Featuurid",text_limit:"Tekstilimiit",scope_options:"Ulatuse valikud",media_proxy:"Meedia proksi",gopher:"Gopher",chat:"Vestlus"},exporter:{processing:"Töötlemine, Teilt küsitakse varsti faili allalaadimist",export:"Ekspordi"},domain_mute_card:{unmute_progress:"Eemaldan vaigistuse…",unmute:"Ära vaigista",mute_progress:"Vaigistan…",mute:"Vaigista"},chat:{title:"Vestlus"}}}}]); +//# sourceMappingURL=11.2cb4b0f72a4654070a58.js.map \ No newline at end of file diff --git a/priv/static/static/js/11.787aa24e4fd5caef9adb.js.map b/priv/static/static/js/11.2cb4b0f72a4654070a58.js.map similarity index 56% rename from priv/static/static/js/11.787aa24e4fd5caef9adb.js.map rename to priv/static/static/js/11.2cb4b0f72a4654070a58.js.map index e376a0bbc..b53e5e23a 100644 --- a/priv/static/static/js/11.787aa24e4fd5caef9adb.js.map +++ b/priv/static/static/js/11.2cb4b0f72a4654070a58.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/11.787aa24e4fd5caef9adb.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/11.2cb4b0f72a4654070a58.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/12.35a510cf14233f0c6e1f.js b/priv/static/static/js/12.500b3e4676dd47599a58.js similarity index 99% rename from priv/static/static/js/12.35a510cf14233f0c6e1f.js rename to priv/static/static/js/12.500b3e4676dd47599a58.js index fe4799a2d..52dfbde92 100644 --- a/priv/static/static/js/12.35a510cf14233f0c6e1f.js +++ b/priv/static/static/js/12.500b3e4676dd47599a58.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{545:function(a){a.exports={chat:{title:"Txata"},exporter:{export:"Esportatu",processing:"Prozesatzen, zure fitxategia deskargatzeko eskatuko zaizu laster"},features_panel:{chat:"Txata",gopher:"Ghoper",media_proxy:"Media proxy",scope_options:"Ikusgaitasun aukerak",text_limit:"Testu limitea",title:"Ezaugarriak",who_to_follow:"Nori jarraitu"},finder:{error_fetching_user:"Errorea erabiltzailea eskuratzen",find_user:"Bilatu erabiltzailea"},general:{apply:"Aplikatu",submit:"Bidali",more:"Gehiago",generic_error:"Errore bat gertatu da",optional:"Hautazkoa",show_more:"Gehiago erakutsi",show_less:"Gutxiago erakutsi",cancel:"Ezeztatu",disable:"Ezgaitu",enable:"Gaitu",confirm:"Baieztatu",verify:"Egiaztatu"},image_cropper:{crop_picture:"Moztu argazkia",save:"Gorde",save_without_cropping:"Gorde moztu gabe",cancel:"Ezeztatu"},importer:{submit:"Bidali",success:"Ondo inportatu da.",error:"Errore bat gertatu da fitxategi hau inportatzerakoan."},login:{login:"Saioa hasi",description:"OAuth-ekin saioa hasi",logout:"Saioa itxi",password:"Pasahitza",placeholder:"adibidez Lain",register:"Erregistratu",username:"Erabiltzaile-izena",hint:"Hasi saioa eztabaidan parte-hartzeko",authentication_code:"Autentifikazio kodea",enter_recovery_code:"Sartu berreskuratze kodea",enter_two_factor_code:"Sartu bi-faktore kodea",recovery_code:"Berreskuratze kodea",heading:{totp:"Bi-faktore autentifikazioa",recovery:"Bi-faktore berreskuratzea"}},media_modal:{previous:"Aurrekoa",next:"Hurrengoa"},nav:{about:"Honi buruz",administration:"Administrazioa",back:"Atzera",chat:"Txat lokala",friend_requests:"Jarraitzeko eskaerak",mentions:"Aipamenak",interactions:"Interakzioak",dms:"Zuzeneko Mezuak",public_tl:"Denbora-lerro Publikoa",timeline:"Denbora-lerroa",twkn:"Ezagutzen den Sarea",user_search:"Erabiltzailea Bilatu",search:"Bilatu",who_to_follow:"Nori jarraitu",preferences:"Hobespenak"},notifications:{broken_favorite:"Egoera ezezaguna, bilatzen...",favorited_you:"zure mezua gogoko du",followed_you:"Zu jarraitzen zaitu",load_older:"Kargatu jakinarazpen zaharragoak",notifications:"Jakinarazpenak",read:"Irakurrita!",repeated_you:"zure mezua errepikatu du",no_more_notifications:"Ez dago jakinarazpen gehiago"},polls:{add_poll:"Inkesta gehitu",add_option:"Gehitu aukera",option:"Aukera",votes:"Bozkak",vote:"Bozka",type:"Inkesta mota",single_choice:"Aukera bakarra",multiple_choices:"Aukera anizkoitza",expiry:"Inkestaren iraupena",expires_in:"Inkesta {0} bukatzen da",expired:"Inkesta {0} bukatu zen",not_enough_options:"Aukera gutxiegi inkestan"},emoji:{stickers:"Pegatinak",emoji:"Emoji",keep_open:"Mantendu hautatzailea zabalik",search_emoji:"Bilatu emoji bat",add_emoji:"Emoji bat gehitu",custom:"Ohiko emojiak",unicode:"Unicode emojiak"},stickers:{add_sticker:"Pegatina gehitu"},interactions:{favs_repeats:"Errepikapen eta gogokoak",follows:"Jarraitzaile berriak",load_older:"Kargatu elkarrekintza zaharragoak"},post_status:{new_status:"Mezu berri bat idatzi",account_not_locked_warning:"Zure kontua ez dago {0}. Edozeinek jarraitzen hastearekin, zure mezuak irakur ditzake.",account_not_locked_warning_link:"Blokeatuta",attachments_sensitive:"Nabarmendu eranskinak hunkigarri gisa ",content_type:{"text/plain":"Testu arrunta","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Gaia (hautazkoa)",default:"Iadanik Los Angeles-en",direct_warning_to_all:"Mezu hau aipatutako erabiltzaile guztientzat ikusgai egongo da.",direct_warning_to_first_only:"Mezu hau ikusgai egongo da bakarrik hasieran aipatzen diren erabiltzaileei.",posting:"Argitaratzen",scope_notice:{public:"Mezu hau guztiontzat ikusgai izango da",private:"Mezu hau zure jarraitzaileek soilik ikusiko dute",unlisted:"Mezu hau ez da argitaratuko Denbora-lerro Publikoan ezta Ezagutzen den Sarean"},scope:{direct:"Zuzena: Bidali aipatutako erabiltzaileei besterik ez",private:"Jarraitzaileentzako bakarrik: Bidali jarraitzaileentzat bakarrik",public:"Publikoa: Bistaratu denbora-lerro publikoetan",unlisted:"Zerrendatu gabea: ez bidali denbora-lerro publikoetara"}},registration:{bio:"Biografia",email:"E-posta",fullname:"Erakutsi izena",password_confirm:"Pasahitza berretsi",registration:"Izena ematea",token:"Gonbidapen txartela",captcha:"CAPTCHA",new_captcha:"Klikatu irudia captcha berri bat lortzeko",username_placeholder:"Adibidez lain",fullname_placeholder:"Adibidez Lain Iwakura",bio_placeholder:"Adidibez.\nKaixo, Lain naiz.\nFedibertsoa gustokoa dut eta euskeraz hitzegiten dut.",validations:{username_required:"Ezin da hutsik utzi",fullname_required:"Ezin da hutsik utzi",email_required:"Ezin da hutsik utzi",password_required:"Ezin da hutsik utzi",password_confirmation_required:"Ezin da hutsik utzi",password_confirmation_match:"Pasahitzaren berdina izan behar du"}},selectable_list:{select_all:"Hautatu denak"},settings:{app_name:"App izena",security:"Segurtasuna",enter_current_password_to_confirm:"Sar ezazu zure egungo pasahitza zure identitatea baieztatzeko",mfa:{otp:"OTP",setup_otp:"OTP konfiguratu",wait_pre_setup_otp:"OTP aurredoitzen",confirm_and_enable:"Baieztatu eta gaitu OTP",title:"Bi-faktore autentifikazioa",generate_new_recovery_codes:"Sortu berreskuratze kode berriak",warning_of_generate_new_codes:"Berreskuratze kode berriak sortzean, zure berreskuratze kode zaharrak ez dute balioko",recovery_codes:"Berreskuratze kodea",waiting_a_recovery_codes:"Babes-kopia kodeak jasotzen...",recovery_codes_warning:"Idatzi edo gorde kodeak leku seguruan - bestela ez dituzu berriro ikusiko. Zure 2FA aplikaziorako sarbidea eta berreskuratze kodeak galduz gero, zure kontutik blokeatuta egongo zara.",authentication_methods:"Autentifikazio metodoa",scan:{title:"Eskaneatu",desc:"Zure bi-faktore aplikazioa erabiliz, eskaneatu QR kode hau edo idatzi testu-gakoa:",secret_code:"Giltza"},verify:{desc:"Bi-faktore autentifikazioa gaitzeko, sar ezazu bi-faktore kodea zure app-tik"}},attachmentRadius:"Eranskinak",attachments:"Eranskinak",autoload:"Gaitu karga automatikoa beheraino mugitzean",avatar:"Avatarra",avatarAltRadius:"Avatarra (Aipamenak)",avatarRadius:"Avatarrak",background:"Atzeko planoa",bio:"Biografia",block_export:"Blokeatu dituzunak esportatu",block_export_button:"Esportatu blokeatutakoak csv fitxategi batera",block_import:"Blokeatu dituzunak inportatu",block_import_error:"Errorea blokeatutakoak inportatzen",blocks_imported:"Blokeatutakoak inportaturik! Hauek prozesatzeak denbora hartuko du.",blocks_tab:"Blokeatutakoak",btnRadius:"Botoiak",cBlue:"Urdina (erantzun, jarraitu)",cGreen:"Berdea (Bertxiotu)",cOrange:"Laranja (Gogokoa)",cRed:"Gorria (ezeztatu)",change_password:"Pasahitza aldatu",change_password_error:"Arazao bat egon da zure pasahitza aldatzean",changed_password:"Pasahitza ondo aldatu da!",collapse_subject:"Bildu gaia daukaten mezuak",composing:"Idazten",confirm_new_password:"Baieztatu pasahitz berria",current_avatar:"Zure uneko avatarra",current_password:"Indarrean den pasahitza",current_profile_banner:"Zure profilaren banner-a",data_import_export_tab:"Datuak Inportatu / Esportatu",default_vis:"Lehenetsitako ikusgaitasunak",delete_account:"Ezabatu kontua",discoverable:"Baimendu zure kontua kanpo bilaketa-emaitzetan eta bestelako zerbitzuetan agertzea",delete_account_description:"Betirako ezabatu zure kontua eta zure mezu guztiak",pad_emoji:"Zuriuneak gehitu emoji bat aukeratzen denean",delete_account_error:"Arazo bat gertatu da zure kontua ezabatzerakoan. Arazoa jarraitu eskero, administratzailearekin harremanetan jarri.",delete_account_instructions:"Idatzi zure pasahitza kontua ezabatzeko.",avatar_size_instruction:"Avatar irudien gomendatutako gutxieneko tamaina 150x150 pixel dira.",export_theme:"Gorde aurre-ezarpena",filtering:"Iragazten",filtering_explanation:"Hitz hauek dituzten mezu guztiak isilduak izango dira. Lerro bakoitzeko bat",follow_export:"Jarraitzen dituzunak esportatu",follow_export_button:"Esportatu zure jarraitzaileak csv fitxategi batean",follow_import:"Jarraitzen dituzunak inportatu",follow_import_error:"Errorea jarraitzaileak inportatzerakoan",follows_imported:"Jarraitzaileak inportatuta! Prozesatzeak denbora pixka bat iraungo du.",foreground:"Aurreko planoa",general:"Orokorra",hide_attachments_in_convo:"Ezkutatu eranskinak elkarrizketatan ",hide_attachments_in_tl:"Ezkutatu eranskinak donbora-lerroan",hide_muted_posts:"Ezkutatu mutututako erabiltzaileen mezuak",max_thumbnails:"Mezu bakoitzeko argazki-miniatura kopuru maximoa",hide_isp:"Instantziari buruzko panela ezkutatu",preload_images:"Argazkiak aurrekargatu",use_one_click_nsfw:"Ireki eduki hunkigarria duten eranskinak klik batekin",hide_post_stats:"Ezkutatu mezuaren estatistikak (adibidez faborito kopurua)",hide_user_stats:"Ezkutatu erabiltzaile estatistikak (adibidez jarraitzaile kopurua)",hide_filtered_statuses:"Ezkutatu iragazitako mezuak",import_blocks_from_a_csv_file:"Blokeatutakoak inportatu CSV fitxategi batetik",import_followers_from_a_csv_file:"Inportatu jarraitzaileak csv fitxategi batetik",import_theme:"Kargatu aurre-ezarpena",inputRadius:"Sarrera eremuak",checkboxRadius:"Kuadrotxoak",instance_default:"(lehenetsia: {value})",instance_default_simple:"(lehenetsia)",interface:"Interfazea",interfaceLanguage:"Interfazearen hizkuntza",invalid_theme_imported:"Hautatutako fitxategia ez da onartutako Pleroma gaia. Ez da zure gaian aldaketarik burutu.",limited_availability:"Ez dago erabilgarri zure nabigatzailean",links:"Estekak",lock_account_description:"Mugatu zure kontua soilik onartutako jarraitzaileei",loop_video:"Begizta bideoak",loop_video_silent_only:"Soinu gabeko bideoak begiztatu bakarrik (adibidez Mastodon-eko gif-ak)",mutes_tab:"Mututuak",play_videos_in_modal:"Erreproduzitu bideoak zuzenean multimedia erreproduzigailuan",use_contain_fit:"Eranskinak ez moztu miniaturetan",name:"Izena",name_bio:"Izena eta biografia",new_password:"Pasahitz berria",notification_visibility:"Erakusteko jakinarazpen motak",notification_visibility_follows:"Jarraitzaileak",notification_visibility_likes:"Gogokoak",notification_visibility_mentions:"Aipamenak",notification_visibility_repeats:"Errepikapenak",no_rich_text_description:"Kendu testu-formatu aberastuak mezu guztietatik",no_blocks:"Ez daude erabiltzaile blokeatutak",no_mutes:"Ez daude erabiltzaile mututuak",hide_follows_description:"Ez erakutsi nor jarraitzen ari naizen",hide_followers_description:"Ez erakutsi nor ari den ni jarraitzen",hide_follows_count_description:"Ez erakutsi jarraitzen ari naizen kontuen kopurua",hide_followers_count_description:"Ez erakutsi nire jarraitzaileen kontuen kopurua",show_admin_badge:"Erakutsi Administratzaile etiketa nire profilan",show_moderator_badge:"Erakutsi Moderatzaile etiketa nire profilan",nsfw_clickthrough:"Gaitu klika hunkigarri eranskinak ezkutatzeko",oauth_tokens:"OAuth tokenak",token:"Tokena",refresh_token:"Berrgin Tokena",valid_until:"Baliozkoa Arte",revoke_token:"Ezeztatu",panelRadius:"Panelak",pause_on_unfocused:"Eguneraketa automatikoa gelditu fitxatik kanpo",presets:"Aurrezarpenak",profile_background:"Profilaren atzeko planoa",profile_banner:"Profilaren Banner-a",profile_tab:"Profila",radii_help:"Konfiguratu interfazearen ertzen biribiltzea (pixeletan)",replies_in_timeline:"Denbora-lerroko erantzunak",reply_link_preview:"Gaitu erantzun-estekaren aurrebista arratoiarekin",reply_visibility_all:"Erakutsi erantzun guztiak",reply_visibility_following:"Erakutsi bakarrik niri zuzendutako edo nik jarraitutako erabiltzaileen erantzunak",reply_visibility_self:"Erakutsi bakarrik niri zuzendutako erantzunak",autohide_floating_post_button:"Automatikoki ezkutatu Mezu Berriaren botoia (sakelako)",saving_err:"Errorea ezarpenak gordetzean",saving_ok:"Ezarpenak gordeta",search_user_to_block:"Bilatu zein blokeatu nahi duzun",search_user_to_mute:"Bilatu zein isilarazi nahi duzun",security_tab:"Segurtasuna",scope_copy:"Ikusgaitasun aukerak kopiatu mezua erantzuterakoan (Zuzeneko Mezuak beti kopiatzen dute)",minimal_scopes_mode:"Bildu ikusgaitasun aukerak",set_new_avatar:"Ezarri avatar berria",set_new_profile_background:"Ezarri atzeko plano berria",set_new_profile_banner:"Ezarri profil banner berria",settings:"Ezarpenak",subject_input_always_show:"Erakutsi beti gaiaren eremua",subject_line_behavior:"Gaia kopiatu erantzuterakoan",subject_line_email:'E-maila bezala: "re: gaia"',subject_line_mastodon:"Mastodon bezala: kopiatu den bezala",subject_line_noop:"Ez kopiatu",post_status_content_type:"Argitarapen formatua",stop_gifs:"GIF-a iniziatu arratoia gainean jarrita",streaming:"Gaitu mezu berrien karga goraino mugitzean",text:"Testua",theme:"Gaia",theme_help:"Erabili hex-kolore kodeak (#rrggbb) gaiaren koloreak pertsonalizatzeko.",theme_help_v2_1:'Zenbait osagaien koloreak eta opakutasuna ezeztatu ditzakezu kontrol-laukia aktibatuz, "Garbitu dena" botoia erabili aldaketak deusezteko.',theme_help_v2_2:"Sarreren batzuen azpian dauden ikonoak atzeko planoaren eta testuaren arteko kontrastearen adierazleak dira, kokatu arratoia gainean informazio zehatza eskuratzeko. Kontuan izan gardentasun kontrasteen adierazleek erabiltzen direnean, kasurik okerrena erakusten dutela.",tooltipRadius:"Argibideak/alertak",upload_a_photo:"Argazkia kargatu",user_settings:"Erabiltzaile Ezarpenak",values:{false:"ez",true:"bai"},notifications:"Jakinarazpenak",notification_setting:"Jaso pertsona honen jakinarazpenak:",notification_setting_follows:"Jarraitutako erabiltzaileak",notification_setting_non_follows:"Jarraitzen ez dituzun erabiltzaileak",notification_setting_followers:"Zu jarraitzen zaituzten erabiltzaileak",notification_setting_non_followers:"Zu jarraitzen ez zaituzten erabiltzaileak",notification_mutes:"Erabiltzaile jakin baten jakinarazpenak jasotzeari uzteko, isilarazi ezazu.",notification_blocks:"Erabiltzaile bat blokeatzeak jakinarazpen guztiak gelditzen ditu eta harpidetza ezeztatu.",enable_web_push_notifications:"Gaitu web jakinarazpenak",style:{switcher:{keep_color:"Mantendu koloreak",keep_shadows:"Mantendu itzalak",keep_opacity:"Mantendu opakotasuna",keep_roundness:"Mantendu biribiltasuna",keep_fonts:"Mantendu iturriak",save_load_hint:'"Mantendu" aukerak uneko konfiguratutako aukerak gordetzen ditu gaiak hautatzerakoan edo kargatzean, gai hauek esportatze garaian ere gordetzen ditu. Kontrol-lauki guztiak garbitzen direnean, esportazio-gaiak dena gordeko du.',reset:"Berrezarri",clear_all:"Garbitu dena",clear_opacity:"Garbitu opakotasuna"},common:{color:"Kolorea",opacity:"Opakotasuna",contrast:{hint:"Kontrastearen erlazioa {ratio} da, {level} {context}",level:{aa:"AA Mailako gidaliburua betetzen du (gutxienezkoa)",aaa:"AAA Mailako gidaliburua betetzen du (gomendatua)",bad:"ez ditu irisgarritasun arauak betetzen"},context:{"18pt":"testu handientzat (+18pt)",text:"testuentzat"}}},common_colors:{_tab_label:"Ohikoa",main:"Ohiko koloreak",foreground_hint:'Ikusi "Aurreratua" fitxa kontrol zehatzagoa lortzeko',rgbo:"Ikono, azentu eta etiketak"},advanced_colors:{_tab_label:"Aurreratua",alert:"Alerten atzeko planoa",alert_error:"Errorea",badge:"Etiketen atzeko planoa",badge_notification:"Jakinarazpenak",panel_header:"Panelaren goiburua",top_bar:"Goiko barra",borders:"Ertzak",buttons:"Botoiak",inputs:"Sarrera eremuak",faint_text:"Testu itzalita"},radii:{_tab_label:"Biribiltasuna"},shadows:{_tab_label:"Itzal eta argiak",component:"Atala",override:"Berridatzi",shadow_id:"Itzala #{value}",blur:"Lausotu",spread:"Hedapena",inset:"Barrutik",hint:"Itzaletarako ere erabil dezakezu --aldagarri kolore balio gisa CSS3 aldagaiak erabiltzeko. Kontuan izan opakutasuna ezartzeak ez duela kasu honetan funtzionatuko.",filter_hint:{always_drop_shadow:"Kontuz, itzal honek beti erabiltzen du {0} nabigatzaileak onartzen duenean.",drop_shadow_syntax:"{0} ez du onartzen {1} parametroa eta {2} gako-hitza.",avatar_inset:"Kontuan izan behar da barruko eta kanpoko itzal konbinazioak, ez esparotako emaitzak ager daitezkeela atzeko plano gardena duten Avatarretan.",spread_zero:"Hedapena > 0 duten itzalak zero izango balitz bezala agertuko dira",inset_classic:"Barruko itzalak {0} erabiliko dute"},components:{panel:"Panela",panelHeader:"Panel goiburua",topBar:"Goiko barra",avatar:"Erabiltzailearen avatarra (profilan)",avatarStatus:"Erabiltzailearen avatarra (mezuetan)",popup:"Popup-ak eta argibideak",button:"Botoia",buttonHover:"Botoia (gainean)",buttonPressed:"Botoai (sakatuta)",buttonPressedHover:"Botoia (sakatuta+gainean)",input:"Sarrera eremuak"}},fonts:{_tab_label:"Letra-tipoak",help:'Aukeratu letra-tipoak erabiltzailearen interfazean erabiltzeko. "Pertsonalizatua" letra-tipoan, sisteman agertzen den izen berdinarekin idatzi behar duzu.',components:{interface:"Interfazea",input:"Sarrera eremuak",post:"Mezuen testua",postCode:"Tarte-bakarreko testua mezuetan (testu-formatu aberastuak)"},family:"Letra-tipoaren izena",size:"Tamaina (px)",weight:"Pisua (lodiera)",custom:"Pertsonalizatua"},preview:{header:"Aurrebista",content:"Edukia",error:"Adibide errorea",button:"Botoia",text:"Hamaika {0} eta {1}",mono:"edukia",input:"Jadanik Los Angeles-en",faint_link:"laguntza",fine_print:"Irakurri gure {0} ezer erabilgarria ikasteko!",header_faint:"Ondo dago",checkbox:"Baldintzak berrikusi ditut",link:"esteka polita"}},version:{title:"Bertsioa",backend_version:"Backend Bertsioa",frontend_version:"Frontend Bertsioa"}},time:{day:"{0} egun",days:"{0} egun",day_short:"{0}e",days_short:"{0}e",hour:"{0} ordu",hours:"{0} ordu",hour_short:"{0}o",hours_short:"{0}o",in_future:"{0} barru",in_past:"duela {0}",minute:"{0} minutu",minutes:"{0} minutu",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} hilabete",months:"{0} hilabete",month_short:"{0}h",months_short:"{0}h",now:"oraintxe bertan",now_short:"orain",second:"{0} segundu",seconds:"{0} segundu",second_short:"{0}s",seconds_short:"{0}s",week:"{0} aste",weeks:"{0} aste",week_short:"{0}a",weeks_short:"{0}a",year:"{0} urte",years:"{0} urte",year_short:"{0}u",years_short:"{0}u"},timeline:{collapse:"Bildu",conversation:"Elkarrizketa",error_fetching:"Errorea eguneraketak eskuratzen",load_older:"Kargatu mezu zaharragoak",no_retweet_hint:"Mezu hau jarraitzailentzako bakarrik markatuta dago eta ezin da errepikatu",repeated:"Errepikatuta",show_new:"Berriena erakutsi",up_to_date:"Eguneratuta",no_more_statuses:"Ez daude mezu gehiago",no_statuses:"Mezurik gabe"},status:{favorites:"Gogokoak",repeats:"Errepikapenak",delete:"Mezua ezabatu",pin:"Profilan ainguratu",unpin:"Aingura ezeztatu profilatik",pinned:"Ainguratuta",delete_confirm:"Mezu hau benetan ezabatu nahi duzu?",reply_to:"Erantzuten",replies_list:"Erantzunak:",mute_conversation:"Elkarrizketa isilarazi",unmute_conversation:"Elkarrizketa aktibatu"},user_card:{approve:"Onartu",block:"Blokeatu",blocked:"Blokeatuta!",deny:"Ukatu",favorites:"Gogokoak",follow:"Jarraitu",follow_sent:"Eskaera bidalita!",follow_progress:"Eskatzen...",follow_again:"Eskaera berriro bidali?",follow_unfollow:"Jarraitzeari utzi",followees:"Jarraitzen",followers:"Jarraitzaileak",following:"Jarraitzen!",follows_you:"Jarraitzen dizu!",its_you:"Zu zara!",media:"Multimedia",mention:"Aipatu",mute:"Isilarazi",muted:"Isilduta",per_day:"eguneko",remote_follow:"Jarraitu",report:"Berri eman",statuses:"Mezuak",subscribe:"Harpidetu",unsubscribe:"Harpidetza ezeztatu",unblock:"Blokeoa kendu",unblock_progress:"Blokeoa ezeztatzen...",block_progress:"Blokeatzen...",unmute:"Isiltasuna kendu",unmute_progress:"Isiltasuna kentzen...",mute_progress:"Isiltzen...",hide_repeats:"Ezkutatu errepikapenak",show_repeats:"Erakutsi errpekiapenak",admin_menu:{moderation:"Moderazioa",grant_admin:"Administratzaile baimena",revoke_admin:"Ezeztatu administratzaile baimena",grant_moderator:"Moderatzaile baimena",revoke_moderator:"Ezeztatu moderatzaile baimena",activate_account:"Aktibatu kontua",deactivate_account:"Desaktibatu kontua",delete_account:"Ezabatu kontua",force_nsfw:"Markatu mezu guztiak hunkigarri gisa",strip_media:"Kendu multimedia mezuetatik",force_unlisted:"Behartu mezuak listatu gabekoak izatea",sandbox:"Behartu zure jarraitzaileentzako bakarrik argitaratzera",disable_remote_subscription:"Ez utzi istantzia kanpoko erabiltzaileak zuri jarraitzea",disable_any_subscription:"Ez utzi beste erabiltzaileak zuri jarraitzea",quarantine:"Ez onartu mezuak beste instantzietatik",delete_user:"Erabiltzailea ezabatu",delete_user_confirmation:"Erabat ziur zaude? Ekintza hau ezin da desegin."}},user_profile:{timeline_title:"Erabiltzailearen denbora-lerroa",profile_does_not_exist:"Barkatu, profil hau ez da existitzen.",profile_loading_error:"Barkatu, errore bat gertatu da profila kargatzean."},user_reporting:{title:"{0}-ri buruz berri ematen",add_comment_description:"Zure kexa moderatzaileei bidaliko da. Nahi baduzu zure kexaren zergatia idatz dezakezu:",additional_comments:"Iruzkin gehiago",forward_description:"Kontu hau beste instantzia batekoa da. Nahi duzu txostenaren kopia bat bidali ere?",forward_to:"{0}-ri birbidali",submit:"Bidali",generic_error:"Errore bat gertatu da zure eskaera prozesatzerakoan."},who_to_follow:{more:"Gehiago",who_to_follow:"Nori jarraitu"},tool_tip:{media_upload:"Multimedia igo",repeat:"Errepikatu",reply:"Erantzun",favorite:"Gogokoa",user_settings:"Erabiltzaile ezarpenak"},upload:{error:{base:"Igoerak huts egin du.",file_too_big:"Artxiboa haundiegia [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Saiatu berriro geroago"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Erabiltzaileak",hashtags:"Traolak",person_talking:"{count} pertsona hitzegiten",people_talking:"{count} jende hitzegiten",no_results:"Emaitzarik ez"},password_reset:{forgot_password:"Pasahitza ahaztua?",password_reset:"Pasahitza berrezarri",instruction:"Idatzi zure helbide elektronikoa edo erabiltzaile izena. Pasahitza berrezartzeko esteka bidaliko dizugu.",placeholder:"Zure e-posta edo erabiltzaile izena",check_email:"Begiratu zure posta elektronikoa pasahitza berrezarri ahal izateko.",return_home:"Itzuli hasierara",not_found:"Ezin izan dugu helbide elektroniko edo erabiltzaile hori aurkitu.",too_many_requests:"Saiakera gehiegi burutu ditzu, saiatu berriro geroxeago.",password_reset_disabled:"Pasahitza berrezartzea debekatuta dago. Mesedez, jarri harremanetan instantzia administratzailearekin.",password_reset_required:"Pasahitza berrezarri behar duzu saioa hasteko.",password_reset_required_but_mailer_is_disabled:"Pasahitza berrezarri behar duzu, baina pasahitza berrezartzeko aukera desgaituta dago. Mesedez, jarri harremanetan instantziaren administratzailearekin."}}}}]); -//# sourceMappingURL=12.35a510cf14233f0c6e1f.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{563:function(a){a.exports={chat:{title:"Txata"},exporter:{export:"Esportatu",processing:"Prozesatzen, zure fitxategia deskargatzeko eskatuko zaizu laster"},features_panel:{chat:"Txata",gopher:"Ghoper",media_proxy:"Media proxy",scope_options:"Ikusgaitasun aukerak",text_limit:"Testu limitea",title:"Ezaugarriak",who_to_follow:"Nori jarraitu"},finder:{error_fetching_user:"Errorea erabiltzailea eskuratzen",find_user:"Bilatu erabiltzailea"},general:{apply:"Aplikatu",submit:"Bidali",more:"Gehiago",generic_error:"Errore bat gertatu da",optional:"Hautazkoa",show_more:"Gehiago erakutsi",show_less:"Gutxiago erakutsi",cancel:"Ezeztatu",disable:"Ezgaitu",enable:"Gaitu",confirm:"Baieztatu",verify:"Egiaztatu"},image_cropper:{crop_picture:"Moztu argazkia",save:"Gorde",save_without_cropping:"Gorde moztu gabe",cancel:"Ezeztatu"},importer:{submit:"Bidali",success:"Ondo inportatu da.",error:"Errore bat gertatu da fitxategi hau inportatzerakoan."},login:{login:"Saioa hasi",description:"OAuth-ekin saioa hasi",logout:"Saioa itxi",password:"Pasahitza",placeholder:"adibidez Lain",register:"Erregistratu",username:"Erabiltzaile-izena",hint:"Hasi saioa eztabaidan parte-hartzeko",authentication_code:"Autentifikazio kodea",enter_recovery_code:"Sartu berreskuratze kodea",enter_two_factor_code:"Sartu bi-faktore kodea",recovery_code:"Berreskuratze kodea",heading:{totp:"Bi-faktore autentifikazioa",recovery:"Bi-faktore berreskuratzea"}},media_modal:{previous:"Aurrekoa",next:"Hurrengoa"},nav:{about:"Honi buruz",administration:"Administrazioa",back:"Atzera",chat:"Txat lokala",friend_requests:"Jarraitzeko eskaerak",mentions:"Aipamenak",interactions:"Interakzioak",dms:"Zuzeneko Mezuak",public_tl:"Denbora-lerro Publikoa",timeline:"Denbora-lerroa",twkn:"Ezagutzen den Sarea",user_search:"Erabiltzailea Bilatu",search:"Bilatu",who_to_follow:"Nori jarraitu",preferences:"Hobespenak"},notifications:{broken_favorite:"Egoera ezezaguna, bilatzen...",favorited_you:"zure mezua gogoko du",followed_you:"Zu jarraitzen zaitu",load_older:"Kargatu jakinarazpen zaharragoak",notifications:"Jakinarazpenak",read:"Irakurrita!",repeated_you:"zure mezua errepikatu du",no_more_notifications:"Ez dago jakinarazpen gehiago"},polls:{add_poll:"Inkesta gehitu",add_option:"Gehitu aukera",option:"Aukera",votes:"Bozkak",vote:"Bozka",type:"Inkesta mota",single_choice:"Aukera bakarra",multiple_choices:"Aukera anizkoitza",expiry:"Inkestaren iraupena",expires_in:"Inkesta {0} bukatzen da",expired:"Inkesta {0} bukatu zen",not_enough_options:"Aukera gutxiegi inkestan"},emoji:{stickers:"Pegatinak",emoji:"Emoji",keep_open:"Mantendu hautatzailea zabalik",search_emoji:"Bilatu emoji bat",add_emoji:"Emoji bat gehitu",custom:"Ohiko emojiak",unicode:"Unicode emojiak"},stickers:{add_sticker:"Pegatina gehitu"},interactions:{favs_repeats:"Errepikapen eta gogokoak",follows:"Jarraitzaile berriak",load_older:"Kargatu elkarrekintza zaharragoak"},post_status:{new_status:"Mezu berri bat idatzi",account_not_locked_warning:"Zure kontua ez dago {0}. Edozeinek jarraitzen hastearekin, zure mezuak irakur ditzake.",account_not_locked_warning_link:"Blokeatuta",attachments_sensitive:"Nabarmendu eranskinak hunkigarri gisa ",content_type:{"text/plain":"Testu arrunta","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Gaia (hautazkoa)",default:"Iadanik Los Angeles-en",direct_warning_to_all:"Mezu hau aipatutako erabiltzaile guztientzat ikusgai egongo da.",direct_warning_to_first_only:"Mezu hau ikusgai egongo da bakarrik hasieran aipatzen diren erabiltzaileei.",posting:"Argitaratzen",scope_notice:{public:"Mezu hau guztiontzat ikusgai izango da",private:"Mezu hau zure jarraitzaileek soilik ikusiko dute",unlisted:"Mezu hau ez da argitaratuko Denbora-lerro Publikoan ezta Ezagutzen den Sarean"},scope:{direct:"Zuzena: Bidali aipatutako erabiltzaileei besterik ez",private:"Jarraitzaileentzako bakarrik: Bidali jarraitzaileentzat bakarrik",public:"Publikoa: Bistaratu denbora-lerro publikoetan",unlisted:"Zerrendatu gabea: ez bidali denbora-lerro publikoetara"}},registration:{bio:"Biografia",email:"E-posta",fullname:"Erakutsi izena",password_confirm:"Pasahitza berretsi",registration:"Izena ematea",token:"Gonbidapen txartela",captcha:"CAPTCHA",new_captcha:"Klikatu irudia captcha berri bat lortzeko",username_placeholder:"Adibidez lain",fullname_placeholder:"Adibidez Lain Iwakura",bio_placeholder:"Adidibez.\nKaixo, Lain naiz.\nFedibertsoa gustokoa dut eta euskeraz hitzegiten dut.",validations:{username_required:"Ezin da hutsik utzi",fullname_required:"Ezin da hutsik utzi",email_required:"Ezin da hutsik utzi",password_required:"Ezin da hutsik utzi",password_confirmation_required:"Ezin da hutsik utzi",password_confirmation_match:"Pasahitzaren berdina izan behar du"}},selectable_list:{select_all:"Hautatu denak"},settings:{app_name:"App izena",security:"Segurtasuna",enter_current_password_to_confirm:"Sar ezazu zure egungo pasahitza zure identitatea baieztatzeko",mfa:{otp:"OTP",setup_otp:"OTP konfiguratu",wait_pre_setup_otp:"OTP aurredoitzen",confirm_and_enable:"Baieztatu eta gaitu OTP",title:"Bi-faktore autentifikazioa",generate_new_recovery_codes:"Sortu berreskuratze kode berriak",warning_of_generate_new_codes:"Berreskuratze kode berriak sortzean, zure berreskuratze kode zaharrak ez dute balioko",recovery_codes:"Berreskuratze kodea",waiting_a_recovery_codes:"Babes-kopia kodeak jasotzen...",recovery_codes_warning:"Idatzi edo gorde kodeak leku seguruan - bestela ez dituzu berriro ikusiko. Zure 2FA aplikaziorako sarbidea eta berreskuratze kodeak galduz gero, zure kontutik blokeatuta egongo zara.",authentication_methods:"Autentifikazio metodoa",scan:{title:"Eskaneatu",desc:"Zure bi-faktore aplikazioa erabiliz, eskaneatu QR kode hau edo idatzi testu-gakoa:",secret_code:"Giltza"},verify:{desc:"Bi-faktore autentifikazioa gaitzeko, sar ezazu bi-faktore kodea zure app-tik"}},attachmentRadius:"Eranskinak",attachments:"Eranskinak",autoload:"Gaitu karga automatikoa beheraino mugitzean",avatar:"Avatarra",avatarAltRadius:"Avatarra (Aipamenak)",avatarRadius:"Avatarrak",background:"Atzeko planoa",bio:"Biografia",block_export:"Blokeatu dituzunak esportatu",block_export_button:"Esportatu blokeatutakoak csv fitxategi batera",block_import:"Blokeatu dituzunak inportatu",block_import_error:"Errorea blokeatutakoak inportatzen",blocks_imported:"Blokeatutakoak inportaturik! Hauek prozesatzeak denbora hartuko du.",blocks_tab:"Blokeatutakoak",btnRadius:"Botoiak",cBlue:"Urdina (erantzun, jarraitu)",cGreen:"Berdea (Bertxiotu)",cOrange:"Laranja (Gogokoa)",cRed:"Gorria (ezeztatu)",change_password:"Pasahitza aldatu",change_password_error:"Arazao bat egon da zure pasahitza aldatzean",changed_password:"Pasahitza ondo aldatu da!",collapse_subject:"Bildu gaia daukaten mezuak",composing:"Idazten",confirm_new_password:"Baieztatu pasahitz berria",current_avatar:"Zure uneko avatarra",current_password:"Indarrean den pasahitza",current_profile_banner:"Zure profilaren banner-a",data_import_export_tab:"Datuak Inportatu / Esportatu",default_vis:"Lehenetsitako ikusgaitasunak",delete_account:"Ezabatu kontua",discoverable:"Baimendu zure kontua kanpo bilaketa-emaitzetan eta bestelako zerbitzuetan agertzea",delete_account_description:"Betirako ezabatu zure kontua eta zure mezu guztiak",pad_emoji:"Zuriuneak gehitu emoji bat aukeratzen denean",delete_account_error:"Arazo bat gertatu da zure kontua ezabatzerakoan. Arazoa jarraitu eskero, administratzailearekin harremanetan jarri.",delete_account_instructions:"Idatzi zure pasahitza kontua ezabatzeko.",avatar_size_instruction:"Avatar irudien gomendatutako gutxieneko tamaina 150x150 pixel dira.",export_theme:"Gorde aurre-ezarpena",filtering:"Iragazten",filtering_explanation:"Hitz hauek dituzten mezu guztiak isilduak izango dira. Lerro bakoitzeko bat",follow_export:"Jarraitzen dituzunak esportatu",follow_export_button:"Esportatu zure jarraitzaileak csv fitxategi batean",follow_import:"Jarraitzen dituzunak inportatu",follow_import_error:"Errorea jarraitzaileak inportatzerakoan",follows_imported:"Jarraitzaileak inportatuta! Prozesatzeak denbora pixka bat iraungo du.",foreground:"Aurreko planoa",general:"Orokorra",hide_attachments_in_convo:"Ezkutatu eranskinak elkarrizketatan ",hide_attachments_in_tl:"Ezkutatu eranskinak donbora-lerroan",hide_muted_posts:"Ezkutatu mutututako erabiltzaileen mezuak",max_thumbnails:"Mezu bakoitzeko argazki-miniatura kopuru maximoa",hide_isp:"Instantziari buruzko panela ezkutatu",preload_images:"Argazkiak aurrekargatu",use_one_click_nsfw:"Ireki eduki hunkigarria duten eranskinak klik batekin",hide_post_stats:"Ezkutatu mezuaren estatistikak (adibidez faborito kopurua)",hide_user_stats:"Ezkutatu erabiltzaile estatistikak (adibidez jarraitzaile kopurua)",hide_filtered_statuses:"Ezkutatu iragazitako mezuak",import_blocks_from_a_csv_file:"Blokeatutakoak inportatu CSV fitxategi batetik",import_followers_from_a_csv_file:"Inportatu jarraitzaileak csv fitxategi batetik",import_theme:"Kargatu aurre-ezarpena",inputRadius:"Sarrera eremuak",checkboxRadius:"Kuadrotxoak",instance_default:"(lehenetsia: {value})",instance_default_simple:"(lehenetsia)",interface:"Interfazea",interfaceLanguage:"Interfazearen hizkuntza",invalid_theme_imported:"Hautatutako fitxategia ez da onartutako Pleroma gaia. Ez da zure gaian aldaketarik burutu.",limited_availability:"Ez dago erabilgarri zure nabigatzailean",links:"Estekak",lock_account_description:"Mugatu zure kontua soilik onartutako jarraitzaileei",loop_video:"Begizta bideoak",loop_video_silent_only:"Soinu gabeko bideoak begiztatu bakarrik (adibidez Mastodon-eko gif-ak)",mutes_tab:"Mututuak",play_videos_in_modal:"Erreproduzitu bideoak zuzenean multimedia erreproduzigailuan",use_contain_fit:"Eranskinak ez moztu miniaturetan",name:"Izena",name_bio:"Izena eta biografia",new_password:"Pasahitz berria",notification_visibility:"Erakusteko jakinarazpen motak",notification_visibility_follows:"Jarraitzaileak",notification_visibility_likes:"Gogokoak",notification_visibility_mentions:"Aipamenak",notification_visibility_repeats:"Errepikapenak",no_rich_text_description:"Kendu testu-formatu aberastuak mezu guztietatik",no_blocks:"Ez daude erabiltzaile blokeatutak",no_mutes:"Ez daude erabiltzaile mututuak",hide_follows_description:"Ez erakutsi nor jarraitzen ari naizen",hide_followers_description:"Ez erakutsi nor ari den ni jarraitzen",hide_follows_count_description:"Ez erakutsi jarraitzen ari naizen kontuen kopurua",hide_followers_count_description:"Ez erakutsi nire jarraitzaileen kontuen kopurua",show_admin_badge:"Erakutsi Administratzaile etiketa nire profilan",show_moderator_badge:"Erakutsi Moderatzaile etiketa nire profilan",nsfw_clickthrough:"Gaitu klika hunkigarri eranskinak ezkutatzeko",oauth_tokens:"OAuth tokenak",token:"Tokena",refresh_token:"Berrgin Tokena",valid_until:"Baliozkoa Arte",revoke_token:"Ezeztatu",panelRadius:"Panelak",pause_on_unfocused:"Eguneraketa automatikoa gelditu fitxatik kanpo",presets:"Aurrezarpenak",profile_background:"Profilaren atzeko planoa",profile_banner:"Profilaren Banner-a",profile_tab:"Profila",radii_help:"Konfiguratu interfazearen ertzen biribiltzea (pixeletan)",replies_in_timeline:"Denbora-lerroko erantzunak",reply_link_preview:"Gaitu erantzun-estekaren aurrebista arratoiarekin",reply_visibility_all:"Erakutsi erantzun guztiak",reply_visibility_following:"Erakutsi bakarrik niri zuzendutako edo nik jarraitutako erabiltzaileen erantzunak",reply_visibility_self:"Erakutsi bakarrik niri zuzendutako erantzunak",autohide_floating_post_button:"Automatikoki ezkutatu Mezu Berriaren botoia (sakelako)",saving_err:"Errorea ezarpenak gordetzean",saving_ok:"Ezarpenak gordeta",search_user_to_block:"Bilatu zein blokeatu nahi duzun",search_user_to_mute:"Bilatu zein isilarazi nahi duzun",security_tab:"Segurtasuna",scope_copy:"Ikusgaitasun aukerak kopiatu mezua erantzuterakoan (Zuzeneko Mezuak beti kopiatzen dute)",minimal_scopes_mode:"Bildu ikusgaitasun aukerak",set_new_avatar:"Ezarri avatar berria",set_new_profile_background:"Ezarri atzeko plano berria",set_new_profile_banner:"Ezarri profil banner berria",settings:"Ezarpenak",subject_input_always_show:"Erakutsi beti gaiaren eremua",subject_line_behavior:"Gaia kopiatu erantzuterakoan",subject_line_email:'E-maila bezala: "re: gaia"',subject_line_mastodon:"Mastodon bezala: kopiatu den bezala",subject_line_noop:"Ez kopiatu",post_status_content_type:"Argitarapen formatua",stop_gifs:"GIF-a iniziatu arratoia gainean jarrita",streaming:"Gaitu mezu berrien karga goraino mugitzean",text:"Testua",theme:"Gaia",theme_help:"Erabili hex-kolore kodeak (#rrggbb) gaiaren koloreak pertsonalizatzeko.",theme_help_v2_1:'Zenbait osagaien koloreak eta opakutasuna ezeztatu ditzakezu kontrol-laukia aktibatuz, "Garbitu dena" botoia erabili aldaketak deusezteko.',theme_help_v2_2:"Sarreren batzuen azpian dauden ikonoak atzeko planoaren eta testuaren arteko kontrastearen adierazleak dira, kokatu arratoia gainean informazio zehatza eskuratzeko. Kontuan izan gardentasun kontrasteen adierazleek erabiltzen direnean, kasurik okerrena erakusten dutela.",tooltipRadius:"Argibideak/alertak",upload_a_photo:"Argazkia kargatu",user_settings:"Erabiltzaile Ezarpenak",values:{false:"ez",true:"bai"},notifications:"Jakinarazpenak",notification_setting:"Jaso pertsona honen jakinarazpenak:",notification_setting_follows:"Jarraitutako erabiltzaileak",notification_setting_non_follows:"Jarraitzen ez dituzun erabiltzaileak",notification_setting_followers:"Zu jarraitzen zaituzten erabiltzaileak",notification_setting_non_followers:"Zu jarraitzen ez zaituzten erabiltzaileak",notification_mutes:"Erabiltzaile jakin baten jakinarazpenak jasotzeari uzteko, isilarazi ezazu.",notification_blocks:"Erabiltzaile bat blokeatzeak jakinarazpen guztiak gelditzen ditu eta harpidetza ezeztatu.",enable_web_push_notifications:"Gaitu web jakinarazpenak",style:{switcher:{keep_color:"Mantendu koloreak",keep_shadows:"Mantendu itzalak",keep_opacity:"Mantendu opakotasuna",keep_roundness:"Mantendu biribiltasuna",keep_fonts:"Mantendu iturriak",save_load_hint:'"Mantendu" aukerak uneko konfiguratutako aukerak gordetzen ditu gaiak hautatzerakoan edo kargatzean, gai hauek esportatze garaian ere gordetzen ditu. Kontrol-lauki guztiak garbitzen direnean, esportazio-gaiak dena gordeko du.',reset:"Berrezarri",clear_all:"Garbitu dena",clear_opacity:"Garbitu opakotasuna"},common:{color:"Kolorea",opacity:"Opakotasuna",contrast:{hint:"Kontrastearen erlazioa {ratio} da, {level} {context}",level:{aa:"AA Mailako gidaliburua betetzen du (gutxienezkoa)",aaa:"AAA Mailako gidaliburua betetzen du (gomendatua)",bad:"ez ditu irisgarritasun arauak betetzen"},context:{"18pt":"testu handientzat (+18pt)",text:"testuentzat"}}},common_colors:{_tab_label:"Ohikoa",main:"Ohiko koloreak",foreground_hint:'Ikusi "Aurreratua" fitxa kontrol zehatzagoa lortzeko',rgbo:"Ikono, azentu eta etiketak"},advanced_colors:{_tab_label:"Aurreratua",alert:"Alerten atzeko planoa",alert_error:"Errorea",badge:"Etiketen atzeko planoa",badge_notification:"Jakinarazpenak",panel_header:"Panelaren goiburua",top_bar:"Goiko barra",borders:"Ertzak",buttons:"Botoiak",inputs:"Sarrera eremuak",faint_text:"Testu itzalita"},radii:{_tab_label:"Biribiltasuna"},shadows:{_tab_label:"Itzal eta argiak",component:"Atala",override:"Berridatzi",shadow_id:"Itzala #{value}",blur:"Lausotu",spread:"Hedapena",inset:"Barrutik",hint:"Itzaletarako ere erabil dezakezu --aldagarri kolore balio gisa CSS3 aldagaiak erabiltzeko. Kontuan izan opakutasuna ezartzeak ez duela kasu honetan funtzionatuko.",filter_hint:{always_drop_shadow:"Kontuz, itzal honek beti erabiltzen du {0} nabigatzaileak onartzen duenean.",drop_shadow_syntax:"{0} ez du onartzen {1} parametroa eta {2} gako-hitza.",avatar_inset:"Kontuan izan behar da barruko eta kanpoko itzal konbinazioak, ez esparotako emaitzak ager daitezkeela atzeko plano gardena duten Avatarretan.",spread_zero:"Hedapena > 0 duten itzalak zero izango balitz bezala agertuko dira",inset_classic:"Barruko itzalak {0} erabiliko dute"},components:{panel:"Panela",panelHeader:"Panel goiburua",topBar:"Goiko barra",avatar:"Erabiltzailearen avatarra (profilan)",avatarStatus:"Erabiltzailearen avatarra (mezuetan)",popup:"Popup-ak eta argibideak",button:"Botoia",buttonHover:"Botoia (gainean)",buttonPressed:"Botoai (sakatuta)",buttonPressedHover:"Botoia (sakatuta+gainean)",input:"Sarrera eremuak"}},fonts:{_tab_label:"Letra-tipoak",help:'Aukeratu letra-tipoak erabiltzailearen interfazean erabiltzeko. "Pertsonalizatua" letra-tipoan, sisteman agertzen den izen berdinarekin idatzi behar duzu.',components:{interface:"Interfazea",input:"Sarrera eremuak",post:"Mezuen testua",postCode:"Tarte-bakarreko testua mezuetan (testu-formatu aberastuak)"},family:"Letra-tipoaren izena",size:"Tamaina (px)",weight:"Pisua (lodiera)",custom:"Pertsonalizatua"},preview:{header:"Aurrebista",content:"Edukia",error:"Adibide errorea",button:"Botoia",text:"Hamaika {0} eta {1}",mono:"edukia",input:"Jadanik Los Angeles-en",faint_link:"laguntza",fine_print:"Irakurri gure {0} ezer erabilgarria ikasteko!",header_faint:"Ondo dago",checkbox:"Baldintzak berrikusi ditut",link:"esteka polita"}},version:{title:"Bertsioa",backend_version:"Backend Bertsioa",frontend_version:"Frontend Bertsioa"}},time:{day:"{0} egun",days:"{0} egun",day_short:"{0}e",days_short:"{0}e",hour:"{0} ordu",hours:"{0} ordu",hour_short:"{0}o",hours_short:"{0}o",in_future:"{0} barru",in_past:"duela {0}",minute:"{0} minutu",minutes:"{0} minutu",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} hilabete",months:"{0} hilabete",month_short:"{0}h",months_short:"{0}h",now:"oraintxe bertan",now_short:"orain",second:"{0} segundu",seconds:"{0} segundu",second_short:"{0}s",seconds_short:"{0}s",week:"{0} aste",weeks:"{0} aste",week_short:"{0}a",weeks_short:"{0}a",year:"{0} urte",years:"{0} urte",year_short:"{0}u",years_short:"{0}u"},timeline:{collapse:"Bildu",conversation:"Elkarrizketa",error_fetching:"Errorea eguneraketak eskuratzen",load_older:"Kargatu mezu zaharragoak",no_retweet_hint:"Mezu hau jarraitzailentzako bakarrik markatuta dago eta ezin da errepikatu",repeated:"Errepikatuta",show_new:"Berriena erakutsi",up_to_date:"Eguneratuta",no_more_statuses:"Ez daude mezu gehiago",no_statuses:"Mezurik gabe"},status:{favorites:"Gogokoak",repeats:"Errepikapenak",delete:"Mezua ezabatu",pin:"Profilan ainguratu",unpin:"Aingura ezeztatu profilatik",pinned:"Ainguratuta",delete_confirm:"Mezu hau benetan ezabatu nahi duzu?",reply_to:"Erantzuten",replies_list:"Erantzunak:",mute_conversation:"Elkarrizketa isilarazi",unmute_conversation:"Elkarrizketa aktibatu"},user_card:{approve:"Onartu",block:"Blokeatu",blocked:"Blokeatuta!",deny:"Ukatu",favorites:"Gogokoak",follow:"Jarraitu",follow_sent:"Eskaera bidalita!",follow_progress:"Eskatzen...",follow_again:"Eskaera berriro bidali?",follow_unfollow:"Jarraitzeari utzi",followees:"Jarraitzen",followers:"Jarraitzaileak",following:"Jarraitzen!",follows_you:"Jarraitzen dizu!",its_you:"Zu zara!",media:"Multimedia",mention:"Aipatu",mute:"Isilarazi",muted:"Isilduta",per_day:"eguneko",remote_follow:"Jarraitu",report:"Berri eman",statuses:"Mezuak",subscribe:"Harpidetu",unsubscribe:"Harpidetza ezeztatu",unblock:"Blokeoa kendu",unblock_progress:"Blokeoa ezeztatzen...",block_progress:"Blokeatzen...",unmute:"Isiltasuna kendu",unmute_progress:"Isiltasuna kentzen...",mute_progress:"Isiltzen...",hide_repeats:"Ezkutatu errepikapenak",show_repeats:"Erakutsi errpekiapenak",admin_menu:{moderation:"Moderazioa",grant_admin:"Administratzaile baimena",revoke_admin:"Ezeztatu administratzaile baimena",grant_moderator:"Moderatzaile baimena",revoke_moderator:"Ezeztatu moderatzaile baimena",activate_account:"Aktibatu kontua",deactivate_account:"Desaktibatu kontua",delete_account:"Ezabatu kontua",force_nsfw:"Markatu mezu guztiak hunkigarri gisa",strip_media:"Kendu multimedia mezuetatik",force_unlisted:"Behartu mezuak listatu gabekoak izatea",sandbox:"Behartu zure jarraitzaileentzako bakarrik argitaratzera",disable_remote_subscription:"Ez utzi istantzia kanpoko erabiltzaileak zuri jarraitzea",disable_any_subscription:"Ez utzi beste erabiltzaileak zuri jarraitzea",quarantine:"Ez onartu mezuak beste instantzietatik",delete_user:"Erabiltzailea ezabatu",delete_user_confirmation:"Erabat ziur zaude? Ekintza hau ezin da desegin."}},user_profile:{timeline_title:"Erabiltzailearen denbora-lerroa",profile_does_not_exist:"Barkatu, profil hau ez da existitzen.",profile_loading_error:"Barkatu, errore bat gertatu da profila kargatzean."},user_reporting:{title:"{0}-ri buruz berri ematen",add_comment_description:"Zure kexa moderatzaileei bidaliko da. Nahi baduzu zure kexaren zergatia idatz dezakezu:",additional_comments:"Iruzkin gehiago",forward_description:"Kontu hau beste instantzia batekoa da. Nahi duzu txostenaren kopia bat bidali ere?",forward_to:"{0}-ri birbidali",submit:"Bidali",generic_error:"Errore bat gertatu da zure eskaera prozesatzerakoan."},who_to_follow:{more:"Gehiago",who_to_follow:"Nori jarraitu"},tool_tip:{media_upload:"Multimedia igo",repeat:"Errepikatu",reply:"Erantzun",favorite:"Gogokoa",user_settings:"Erabiltzaile ezarpenak"},upload:{error:{base:"Igoerak huts egin du.",file_too_big:"Artxiboa haundiegia [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Saiatu berriro geroago"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Erabiltzaileak",hashtags:"Traolak",person_talking:"{count} pertsona hitzegiten",people_talking:"{count} jende hitzegiten",no_results:"Emaitzarik ez"},password_reset:{forgot_password:"Pasahitza ahaztua?",password_reset:"Pasahitza berrezarri",instruction:"Idatzi zure helbide elektronikoa edo erabiltzaile izena. Pasahitza berrezartzeko esteka bidaliko dizugu.",placeholder:"Zure e-posta edo erabiltzaile izena",check_email:"Begiratu zure posta elektronikoa pasahitza berrezarri ahal izateko.",return_home:"Itzuli hasierara",not_found:"Ezin izan dugu helbide elektroniko edo erabiltzaile hori aurkitu.",too_many_requests:"Saiakera gehiegi burutu ditzu, saiatu berriro geroxeago.",password_reset_disabled:"Pasahitza berrezartzea debekatuta dago. Mesedez, jarri harremanetan instantzia administratzailearekin.",password_reset_required:"Pasahitza berrezarri behar duzu saioa hasteko.",password_reset_required_but_mailer_is_disabled:"Pasahitza berrezarri behar duzu, baina pasahitza berrezartzeko aukera desgaituta dago. Mesedez, jarri harremanetan instantziaren administratzailearekin."}}}}]); +//# sourceMappingURL=12.500b3e4676dd47599a58.js.map \ No newline at end of file diff --git a/priv/static/static/js/12.35a510cf14233f0c6e1f.js.map b/priv/static/static/js/12.500b3e4676dd47599a58.js.map similarity index 56% rename from priv/static/static/js/12.35a510cf14233f0c6e1f.js.map rename to priv/static/static/js/12.500b3e4676dd47599a58.js.map index 21cc55e6f..700da90b0 100644 --- a/priv/static/static/js/12.35a510cf14233f0c6e1f.js.map +++ b/priv/static/static/js/12.500b3e4676dd47599a58.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/12.35a510cf14233f0c6e1f.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/12.500b3e4676dd47599a58.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/13.7931a609d62a42678085.js b/priv/static/static/js/13.3ef79a2643680080d28f.js similarity index 99% rename from priv/static/static/js/13.7931a609d62a42678085.js rename to priv/static/static/js/13.3ef79a2643680080d28f.js index 3fe95c23c..4070d1f3f 100644 --- a/priv/static/static/js/13.7931a609d62a42678085.js +++ b/priv/static/static/js/13.3ef79a2643680080d28f.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{546:function(t){t.exports={chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Media-välityspalvelin",scope_options:"Näkyvyyden rajaus",text_limit:"Tekstin pituusraja",title:"Ominaisuudet",who_to_follow:"Seurausehdotukset"},finder:{error_fetching_user:"Virhe hakiessa käyttäjää",find_user:"Hae käyttäjä"},general:{apply:"Aseta",submit:"Lähetä",more:"Lisää",generic_error:"Virhe tapahtui",optional:"valinnainen",show_more:"Näytä lisää",show_less:"Näytä vähemmän",dismiss:"Sulje",cancel:"Peruuta",disable:"Poista käytöstä",confirm:"Hyväksy",verify:"Varmenna",enable:"Ota käyttöön"},login:{login:"Kirjaudu sisään",description:"Kirjaudu sisään OAuthilla",logout:"Kirjaudu ulos",password:"Salasana",placeholder:"esim. Seppo",register:"Rekisteröidy",username:"Käyttäjänimi",hint:"Kirjaudu sisään liittyäksesi keskusteluun",authentication_code:"Todennuskoodi",enter_recovery_code:"Syötä palautuskoodi",recovery_code:"Palautuskoodi",heading:{totp:"Monivaihetodennus",recovery:"Monivaihepalautus"},enter_two_factor_code:"Syötä monivaihetodennuskoodi"},nav:{about:"Tietoja",back:"Takaisin",chat:"Paikallinen Chat",friend_requests:"Seurauspyynnöt",mentions:"Maininnat",interactions:"Interaktiot",dms:"Yksityisviestit",public_tl:"Julkinen Aikajana",timeline:"Aikajana",twkn:"Koko Tunnettu Verkosto",user_search:"Käyttäjähaku",who_to_follow:"Seurausehdotukset",preferences:"Asetukset",administration:"Ylläpito",search:"Haku"},notifications:{broken_favorite:"Viestiä ei löydetty…",favorited_you:"tykkäsi viestistäsi",followed_you:"seuraa sinua",load_older:"Lataa vanhempia ilmoituksia",notifications:"Ilmoitukset",read:"Lue!",repeated_you:"toisti viestisi",no_more_notifications:"Ei enempää ilmoituksia",reacted_with:"lisäsi reaktion {0}",migrated_to:"siirtyi sivulle",follow_request:"haluaa seurata sinua"},polls:{add_poll:"Lisää äänestys",add_option:"Lisää vaihtoehto",option:"Vaihtoehto",votes:"ääntä",vote:"Äänestä",type:"Äänestyksen tyyppi",single_choice:"Yksi valinta",multiple_choices:"Monivalinta",expiry:"Äänestyksen kesto",expires_in:"Päättyy {0} päästä",expired:"Päättyi {0} sitten",not_enough_option:"Liian vähän uniikkeja vaihtoehtoja äänestyksessä",not_enough_options:"Liian vähän ainutkertaisia vaihtoehtoja"},interactions:{favs_repeats:"Toistot ja tykkäykset",follows:"Uudet seuraukset",load_older:"Lataa vanhempia interaktioita",moves:"Käyttäjien siirtymiset"},post_status:{new_status:"Uusi viesti",account_not_locked_warning:"Tilisi ei ole {0}. Kuka vain voi seurata sinua nähdäksesi 'vain-seuraajille' -viestisi.",account_not_locked_warning_link:"lukittu",attachments_sensitive:"Merkkaa liitteet arkaluonteisiksi",content_type:{"text/plain":"Tavallinen teksti","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Aihe (valinnainen)",default:"Tulin juuri saunasta.",direct_warning:"Tämä viesti näkyy vain mainituille käyttäjille.",posting:"Lähetetään",scope:{direct:"Yksityisviesti - Näkyy vain mainituille käyttäjille",private:"Vain-seuraajille - Näkyy vain seuraajillesi",public:"Julkinen - Näkyy julkisilla aikajanoilla",unlisted:"Listaamaton - Ei näy julkisilla aikajanoilla"},direct_warning_to_all:"Tämä viesti näkyy vain viestissä mainituille käyttäjille.",direct_warning_to_first_only:"Tämä viesti näkyy vain viestin alussa mainituille käyttäjille.",scope_notice:{public:"Tämä viesti näkyy kaikille",private:"Tämä viesti näkyy vain sinun seuraajillesi",unlisted:"Tämä viesti ei näy Julkisella Aikajanalla tai Koko Tunnettu Verkosto -aikajanalla"}},registration:{bio:"Kuvaus",email:"Sähköposti",fullname:"Koko nimi",password_confirm:"Salasanan vahvistaminen",registration:"Rekisteröityminen",token:"Kutsuvaltuus",captcha:"Varmenne",new_captcha:"Paina kuvaa saadaksesi uuden varmenteen",validations:{username_required:"ei voi olla tyhjä",fullname_required:"ei voi olla tyhjä",email_required:"ei voi olla tyhjä",password_required:"ei voi olla tyhjä",password_confirmation_required:"ei voi olla tyhjä",password_confirmation_match:"pitää vastata salasanaa"},username_placeholder:"esim. peke",fullname_placeholder:"esim. Pekka Postaaja",bio_placeholder:"esim.\nHei, olen Pekka.\nOlen esimerkkikäyttäjä tässä verkostossa."},settings:{attachmentRadius:"Liitteet",attachments:"Liitteet",autoload:"Lataa vanhempia viestejä automaattisesti ruudun pohjalla",avatar:"Profiilikuva",avatarAltRadius:"Profiilikuvat (ilmoitukset)",avatarRadius:"Profiilikuvat",background:"Tausta",bio:"Kuvaus",btnRadius:"Napit",cBlue:"Sininen (Vastaukset, seuraukset)",cGreen:"Vihreä (Toistot)",cOrange:"Oranssi (Tykkäykset)",cRed:"Punainen (Peruminen)",change_password:"Vaihda salasana",change_password_error:"Virhe vaihtaessa salasanaa.",changed_password:"Salasana vaihdettu!",collapse_subject:"Minimoi viestit, joille on asetettu aihe",composing:"Viestien laatiminen",confirm_new_password:"Vahvista uusi salasana",current_avatar:"Nykyinen profiilikuvasi",current_password:"Nykyinen salasana",current_profile_banner:"Nykyinen julisteesi",data_import_export_tab:"Tietojen tuonti / vienti",default_vis:"Oletusnäkyvyysrajaus",delete_account:"Poista tili",delete_account_description:"Poista tilisi ja viestisi pysyvästi.",delete_account_error:"Virhe poistaessa tiliäsi. Jos virhe jatkuu, ota yhteyttä palvelimesi ylläpitoon.",delete_account_instructions:"Syötä salasanasi vahvistaaksesi tilin poiston.",emoji_reactions_on_timeline:"Näytä emojireaktiot aikajanalla",export_theme:"Tallenna teema",filtering:"Suodatus",filtering_explanation:"Kaikki viestit, jotka sisältävät näitä sanoja, suodatetaan. Yksi sana per rivi.",follow_export:"Seurausten vienti",follow_export_button:"Vie seurauksesi CSV-tiedostoon",follow_export_processing:"Käsitellään, sinua pyydetään lataamaan tiedosto hetken päästä",follow_import:"Seurausten tuonti",follow_import_error:"Virhe tuodessa seuraksia",follows_imported:"Seuraukset tuotu! Niiden käsittely vie hetken.",foreground:"Etuala",general:"Yleinen",hide_attachments_in_convo:"Piilota liitteet keskusteluissa",hide_attachments_in_tl:"Piilota liitteet aikajanalla",max_thumbnails:"Suurin sallittu määrä liitteitä esikatselussa",hide_isp:"Piilota palvelimenkohtainen ruutu",preload_images:"Esilataa kuvat",use_one_click_nsfw:"Avaa NSFW-liitteet yhdellä painalluksella",hide_post_stats:"Piilota viestien statistiikka (esim. tykkäysten määrä)",hide_user_stats:"Piilota käyttäjien statistiikka (esim. seuraajien määrä)",import_followers_from_a_csv_file:"Tuo seuraukset CSV-tiedostosta",import_theme:"Tuo tallennettu teema",inputRadius:"Syöttökentät",checkboxRadius:"Valintalaatikot",instance_default:"(oletus: {value})",instance_default_simple:"(oletus)",interface:"Käyttöliittymä",interfaceLanguage:"Käyttöliittymän kieli",invalid_theme_imported:"Tuotu tallennettu teema on epäkelpo, muutoksia ei tehty nykyiseen teemaasi.",limited_availability:"Ei saatavilla selaimessasi",links:"Linkit",lock_account_description:"Vain erikseen hyväksytyt käyttäjät voivat seurata tiliäsi",loop_video:"Uudelleentoista videot",loop_video_silent_only:'Uudelleentoista ainoastaan äänettömät videot (Video-"giffit")',play_videos_in_modal:"Toista videot modaalissa",use_contain_fit:"Älä rajaa liitteitä esikatselussa",name:"Nimi",name_bio:"Nimi ja kuvaus",new_password:"Uusi salasana",notification_visibility:"Ilmoitusten näkyvyys",notification_visibility_follows:"Seuraukset",notification_visibility_likes:"Tykkäykset",notification_visibility_mentions:"Maininnat",notification_visibility_repeats:"Toistot",notification_visibility_emoji_reactions:"Reaktiot",no_rich_text_description:"Älä näytä tekstin muotoilua",hide_network_description:"Älä näytä seurauksiani tai seuraajiani",nsfw_clickthrough:"Piilota NSFW liitteet klikkauksen taakse",oauth_tokens:"OAuth-merkit",token:"Token",refresh_token:"Päivitä token",valid_until:"Voimassa asti",revoke_token:"Peruuta",panelRadius:"Ruudut",pause_on_unfocused:"Pysäytä automaattinen viestien näyttö välilehden ollessa pois fokuksesta",presets:"Valmiit teemat",profile_background:"Taustakuva",profile_banner:"Juliste",profile_tab:"Profiili",radii_help:"Aseta reunojen pyöristys (pikseleinä)",replies_in_timeline:"Keskustelut aikajanalla",reply_link_preview:"Keskusteluiden vastauslinkkien esikatselu",reply_visibility_all:"Näytä kaikki vastaukset",reply_visibility_following:"Näytä vain vastaukset minulle tai seuraamilleni käyttäjille",reply_visibility_self:"Näytä vain vastaukset minulle",saving_err:"Virhe tallentaessa asetuksia",saving_ok:"Asetukset tallennettu",security_tab:"Tietoturva",scope_copy:"Kopioi näkyvyysrajaus vastatessa (Yksityisviestit aina kopioivat)",set_new_avatar:"Aseta uusi profiilikuva",set_new_profile_background:"Aseta uusi taustakuva",set_new_profile_banner:"Aseta uusi juliste",settings:"Asetukset",subject_input_always_show:"Näytä aihe-kenttä",subject_line_behavior:"Aihe-kentän kopiointi",subject_line_email:'Kuten sähköposti: "re: aihe"',subject_line_mastodon:"Kopioi sellaisenaan",subject_line_noop:"Älä kopioi",stop_gifs:"Toista giffit vain kohdistaessa",streaming:"Näytä uudet viestit automaattisesti ollessasi ruudun huipulla",text:"Teksti",theme:"Teema",theme_help:"Käytä heksadesimaalivärejä muokataksesi väriteemaasi.",theme_help_v2_1:'Voit asettaa tiettyjen osien värin tai läpinäkyvyyden täyttämällä valintalaatikon, käytä "Tyhjennä kaikki"-nappia tyhjentääksesi kaiken.',theme_help_v2_2:"Ikonit kenttien alla ovat kontrasti-indikaattoreita, lisätietoa kohdistamalla. Käyttäessä läpinäkyvyyttä ne näyttävät pahimman skenaarion.",tooltipRadius:"Ohje- tai huomioviestit",user_settings:"Käyttäjän asetukset",values:{false:"pois päältä",true:"päällä"},hide_follows_description:"Älä näytä ketä seuraan",show_moderator_badge:"Näytä Moderaattori-merkki profiilissani",useStreamingApi:"Vastaanota viestiejä ja ilmoituksia reaaliajassa",notification_setting_filters:"Suodattimet",notification_setting:"Vastaanota ilmoituksia seuraavista:",notification_setting_privacy_option:"Piilota lähettäjä ja sisältö sovelluksen ulkopuolisista ilmoituksista",enable_web_push_notifications:"Ota käyttöön sovelluksen ulkopuoliset ilmoitukset",app_name:"Sovelluksen nimi",security:"Turvallisuus",mfa:{otp:"OTP",setup_otp:"OTP-asetukset",wait_pre_setup_otp:"esiasetetaan OTP:ta",confirm_and_enable:"Hyväksy ja käytä OTP",title:"Monivaihetodennus",generate_new_recovery_codes:"Luo uudet palautuskoodit",authentication_methods:"Todennus",warning_of_generate_new_codes:"Luodessasi uudet palautuskoodit, vanhat koodisi lakkaavat toimimasta.",recovery_codes:"Palautuskoodit.",waiting_a_recovery_codes:"Odotetaan palautuskoodeja…",recovery_codes_warning:"Kirjoita koodit ylös tai tallenna ne turvallisesti, muuten et näe niitä uudestaan. Jos et voi käyttää monivaihetodennusta ja sinulla ei ole palautuskoodeja, et voi enää kirjautua sisään tilillesi.",scan:{title:"Skannaa",secret_code:"Avain",desc:"Käytä monivaihetodennus-sovellusta skannakksesi tämän QR-kooding, tai syötä avain:"},verify:{desc:"Kytkeäksesi päälle monivaihetodennuksen, syötä koodi monivaihetodennussovellksesta:"}},allow_following_move:"Salli automaattinen seuraaminen kun käyttäjä siirtää tilinsä",block_export:"Estojen vienti",block_export_button:"Vie estosi CSV-tiedostoon",block_import:"Estojen tuonti",block_import_error:"Virhe tuodessa estoja",blocks_imported:"Estot tuotu! Käsittely vie hetken.",blocks_tab:"Estot",change_email:"Vaihda sähköpostiosoite",change_email_error:"Virhe vaihtaessa sähköpostiosoitetta.",changed_email:"Sähköpostiosoite vaihdettu!",domain_mutes:"Sivut",avatar_size_instruction:"Suositeltu vähimmäiskoko profiilikuville on 150x150 pikseliä.",accent:"Korostus",hide_muted_posts:"Piilota mykistettyjen käyttäjien viestit",hide_filtered_statuses:"Piilota mykistetyt viestit",import_blocks_from_a_csv_file:"Tuo estot CSV-tiedostosta",no_blocks:"Ei estoja",no_mutes:"Ei mykistyksiä",notification_visibility_moves:"Käyttäjien siirtymiset",hide_followers_description:"Älä näytä ketkä seuraavat minua",hide_follows_count_description:"Älä näytä seurauksien määrää",hide_followers_count_description:"Älä näytä seuraajien määrää",show_admin_badge:"Näytä Ylläpitäjä-merkki proofilissani",autohide_floating_post_button:"Piilota Uusi Viesti -nappi automaattisesti (mobiili)",search_user_to_block:"Hae estettäviä käyttäjiä",search_user_to_mute:"Hae mykistettäviä käyttäjiä",minimal_scopes_mode:"Yksinkertaista näkyvyydenrajauksen vaihtoehdot",post_status_content_type:"Uuden viestin sisällön muoto",user_mutes:"Käyttäjät",useStreamingApiWarning:"(Kokeellinen)",type_domains_to_mute:"Syötä mykistettäviä sivustoja",upload_a_photo:"Lataa kuva",fun:"Hupi",greentext:"Meeminuolet",notifications:"Ilmoitukset",style:{switcher:{save_load_hint:'"Säilytä" asetukset säilyttävät tällä hetkellä asetetut asetukset valittaessa tai ladatessa teemaa, se myös tallentaa kyseiset asetukset viedessä teemaa. Kun kaikki laatikot ovat tyhjänä, viety teema tallentaa kaiken.',help:{older_version_imported:"Tuomasi tiedosto on luotu vanhemmalla versiolla.",fe_upgraded:"PleromaFE:n teemaus päivitetty versiopäivityksen yhteydessä.",migration_snapshot_ok:"Varmuuden vuoksi teeman kaappaus ladattu. Voit koittaa ladata teeman sisällön.",migration_napshot_gone:"Jostain syystä teeman kaappaus puuttuu, kaikki asiat eivät välttämättä näytä oikealta.",snapshot_source_mismatch:"Versiot eivät täsmää: todennäköisesti versio vaihdettu vanhempaan ja päivitetty uudestaan, jos vaihdoit teemaa vanhalla versiolla, sinun tulisi käyttää vanhaa versiota, muutoin uutta.",upgraded_from_v2:"PleromaFE on päivitetty, teemasi saattaa näyttää erilaiselta kuin muistat.",v2_imported:"Tuomasi tiedosto on luotu vanhemmalla versiolla. Yhteensopivuus ei välttämättä ole täydellinen.",future_version_imported:"Tuomasi tiedosto on luotu uudemmalla versiolla.",snapshot_present:"Teeman kaappaus ladattu, joten kaikki arvot ovat ylikirjoitettu. Voit sen sijaan ladata teeman sisällön.",snapshot_missing:"Teeman kaappausta ei tiedostossa, joten se voi näyttää erilaiselta kuin suunniteltu.",fe_downgraded:"PleromaFE:n versio vaihtunut vanhempaan."},keep_color:"Säilytä värit",keep_shadows:"Säilytä varjot",keep_opacity:"Säilytä läpinäkyvyys",keep_roundness:"Säilytä pyöristys",keep_fonts:"Säilytä fontit",reset:"Palauta",clear_all:"Tyhjennä kaikki",clear_opacity:"Tyhjennä läpinäkyvyys",load_theme:"Lataa teema",keep_as_is:"Pidä sellaisenaan",use_snapshot:"Vanha",use_source:"Uusi"},advanced_colors:{selectedPost:"Valittu viesti",_tab_label:"Edistynyt",alert:"Varoituksen tausta",alert_error:"Virhe",alert_warning:"Varoitus",alert_neutral:"Neutraali",post:"Viestit/Käyttäjien kuvaukset",badge:"Merkin tausta",badge_notification:"Ilmoitus",panel_header:"Ruudun otsikko",top_bar:"Yläpalkki",borders:"Reunat",buttons:"Napit",inputs:"Syöttökentät",faint_text:"Häivytetty teksti",underlay:"Taustapeite",poll:"Äänestyksen kuvaaja",icons:"Ikonit",highlight:"Korostetut elementit",pressed:"Painettu",selectedMenu:"Valikon valinta",disabled:"Pois käytöstä",toggled:"Kytketty",tabs:"Välilehdet",popover:"Työkaluvinkit, valikot, ponnahdusviestit"},common:{color:"Väri",opacity:"Läpinäkyvyys",contrast:{level:{aaa:"saavuttaa AAA-tason (suositeltu)",aa:"saavuttaa AA-tason (minimi)",bad:"ei saavuta mitään helppokäyttöisyyssuosituksia"},hint:"Kontrastisuhde on {ratio}, se {level} {context}",context:{"18pt":"suurella (18pt+) tekstillä",text:"tekstillä"}}},common_colors:{_tab_label:"Yleinen",main:"Yleiset värit",foreground_hint:'Löydät "Edistynyt"-välilehdeltä tarkemmat asetukset',rgbo:"Ikonit, korostukset, merkit"},shadows:{filter_hint:{always_drop_shadow:"Varoitus, tämä varjo käyttää aina {0} kun selain tukee sitä.",avatar_inset:"Huom. sisennettyjen ja ei-sisennettyjen varjojen yhdistelmät saattavat luoda ei-odotettuja lopputuloksia läpinäkyvillä profiilikuvilla.",drop_shadow_syntax:"{0} ei tue {1} parametria ja {2} avainsanaa.",spread_zero:"Varjot joiden levitys > 0 näyttävät samalta kuin se olisi nolla",inset_classic:"Sisennetyt varjot käyttävät {0}"},components:{buttonPressedHover:"Nappi (painettu ja kohdistettu)",panel:"Ruutu",panelHeader:"Ruudun otsikko",topBar:"Yläpalkki",avatar:"Profiilikuva (profiilinäkymässä)",avatarStatus:"Profiilikuva (viestin yhtyedessä)",popup:"Ponnahdusviestit ja työkaluvinkit",button:"Nappi",buttonHover:"Nappi (kohdistus)",buttonPressed:"Nappi (painettu)",input:"Syöttökenttä"},hintV3:"Voit käyttää {0} merkintää varjoille käyttääksesi väriä toisesta asetuksesta.",_tab_label:"Valo ja varjostus",component:"Komponentti",override:"Ylikirjoita",shadow_id:"Varjo #{value}",blur:"Sumennus",spread:"Levitys",inset:"Sisennys"},fonts:{help:'Valitse fontti käyttöliittymälle. "Oma"-vaihtohdolle on syötettävä fontin nimi tarkalleen samana kuin se on järjestelmässäsi.',_tab_label:"Fontit",components:{interface:"Käyttöliittymä",input:"Syöttökentät",post:"Viestin teksti",postCode:"Tasavälistetty teksti viestissä"},family:"Fontin nimi",size:"Koko (pikseleissä)",weight:"Painostus (paksuus)",custom:"Oma"},preview:{input:"Tulin juuri saunasta.",header:"Esikatselu",content:"Sisältö",error:"Esimerkkivirhe",button:"Nappi",text:"Vähän lisää {0} ja {1}",mono:"sisältöä",faint_link:"manuaali",fine_print:"Lue meidän {0} vaikka huvin vuoksi!",header_faint:"Tämä on OK",checkbox:"Olen silmäillyt käyttöehdot",link:"kiva linkki"},radii:{_tab_label:"Pyöristys"}},enter_current_password_to_confirm:"Syötä nykyinen salasanasi todentaaksesi henkilöllisyytesi",discoverable:"Salli tilisi näkyvyys hakukoneisiin ja muihin palveluihin",pad_emoji:"Välistä emojit välilyönneillä lisätessäsi niitä valitsimesta",mutes_tab:"Mykistykset",new_email:"Uusi sähköpostiosoite",notification_setting_follows:"Käyttäjät joita seuraat",notification_setting_non_follows:"Käyttäjät joita et seuraa",notification_setting_followers:"Käyttäjät jotka seuraavat sinua",notification_setting_non_followers:"Käyttäjät jotka eivät seuraa sinua",notification_setting_privacy:"Yksityisyys",notification_mutes:"Jos et halua ilmoituksia joltain käyttäjältä, käytä mykistystä.",notification_blocks:"Estäminen pysäyttää kaikki ilmoitukset käyttäjältä ja poistaa seurauksen.",version:{title:"Versio",backend_version:"Palvelimen versio",frontend_version:"Käyttöliittymän versio"}},time:{day:"{0} päivä",days:"{0} päivää",day_short:"{0}pv",days_short:"{0}pv",hour:"{0} tunti",hours:"{0} tuntia",hour_short:"{0}t",hours_short:"{0}t",in_future:"{0} tulevaisuudessa",in_past:"{0} sitten",minute:"{0} minuutti",minutes:"{0} minuuttia",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} kuukausi",months:"{0} kuukautta",month_short:"{0}kk",months_short:"{0}kk",now:"juuri nyt",now_short:"nyt",second:"{0} sekunti",seconds:"{0} sekuntia",second_short:"{0}s",seconds_short:"{0}s",week:"{0} viikko",weeks:"{0} viikkoa",week_short:"{0}vk",weeks_short:"{0}vk",year:"{0} vuosi",years:"{0} vuotta",year_short:"{0}v",years_short:"{0}v"},timeline:{collapse:"Sulje",conversation:"Keskustelu",error_fetching:"Virhe ladatessa viestejä",load_older:"Lataa vanhempia viestejä",no_retweet_hint:"Viesti ei ole julkinen, eikä sitä voi toistaa",repeated:"toisti",show_new:"Näytä uudet",up_to_date:"Ajantasalla",no_more_statuses:"Ei enempää viestejä",no_statuses:"Ei viestejä"},status:{favorites:"Tykkäykset",repeats:"Toistot",delete:"Poista",pin:"Kiinnitä profiiliisi",unpin:"Poista kiinnitys",pinned:"Kiinnitetty",delete_confirm:"Haluatko varmasti postaa viestin?",reply_to:"Vastaus",replies_list:"Vastaukset:",mute_conversation:"Mykistä keskustelu",unmute_conversation:"Poista mykistys",status_unavailable:"Viesti ei saatavissa",copy_link:"Kopioi linkki"},user_card:{approve:"Hyväksy",block:"Estä",blocked:"Estetty!",deny:"Älä hyväksy",follow:"Seuraa",follow_sent:"Pyyntö lähetetty!",follow_progress:"Pyydetään…",follow_again:"Lähetä pyyntö uudestaan",follow_unfollow:"Älä seuraa",followees:"Seuraa",followers:"Seuraajat",following:"Seuraat!",follows_you:"Seuraa sinua!",its_you:"Sinun tili!",mute:"Mykistä",muted:"Mykistetty",per_day:"päivässä",remote_follow:"Seuraa muualta",statuses:"Viestit",hidden:"Piilotettu",media:"Media",block_progress:"Estetään…",admin_menu:{grant_admin:"Anna Ylläpitöoikeudet",force_nsfw:"Merkitse kaikki viestit NSFW:nä",disable_any_subscription:"Estä käyttäjän seuraaminen",moderation:"Moderaatio",revoke_admin:"Poista Ylläpitöoikeudet",grant_moderator:"Anna Moderaattorioikeudet",revoke_moderator:"Poista Moderaattorioikeudet",activate_account:"Aktivoi tili",deactivate_account:"Deaktivoi tili",delete_account:"Poista tili",strip_media:"Poista media viesteistä",force_unlisted:"Pakota viestit listaamattomiksi",sandbox:"Pakota viestit vain seuraajille",disable_remote_subscription:"Estä seuraaminen ulkopuolisilta sivuilta",quarantine:"Estä käyttäjän viestin federoituminen",delete_user:"Poista käyttäjä",delete_user_confirmation:"Oletko aivan varma? Tätä ei voi kumota."},favorites:"Tykkäykset",mention:"Mainitse",report:"Ilmianna",subscribe:"Tilaa",unsubscribe:"Poista tilaus",unblock:"Poista esto",unblock_progress:"Postetaan estoa…",unmute:"Poista mykistys",unmute_progress:"Poistetaan mykistystä…",mute_progress:"Mykistetään…",hide_repeats:"Piilota toistot",show_repeats:"Näytä toistot"},user_profile:{timeline_title:"Käyttäjän aikajana",profile_does_not_exist:"Tätä profiilia ei ole.",profile_loading_error:"Virhe ladatessa profiilia."},who_to_follow:{more:"Lisää",who_to_follow:"Seurausehdotukset"},tool_tip:{media_upload:"Lataa tiedosto",repeat:"Toista",reply:"Vastaa",favorite:"Tykkää",user_settings:"Käyttäjäasetukset",add_reaction:"Lisää Reaktio",accept_follow_request:"Hyväksy seurauspyyntö",reject_follow_request:"Hylkää seurauspyyntö"},upload:{error:{base:"Lataus epäonnistui.",file_too_big:"Tiedosto liian suuri [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Yritä uudestaan myöhemmin"},file_size_units:{B:"tavua",KiB:"kt",MiB:"Mt",GiB:"Gt",TiB:"Tt"}},about:{mrf:{keyword:{keyword_policies:"Avainsanasäännöt",ftl_removal:'Poistettu "Koko Tunnettu Verkosto" -aikajanalta',reject:"Hylkää",replace:"Korvaa",is_replaced_by:"→"},simple:{accept:"Hyväksy",reject:"Hylkää",quarantine:"Karanteeni",ftl_removal:'Poisto "Koko Tunnettu Verkosto" -aikajanalta',media_removal:"Media-tiedostojen poisto",simple_policies:"Palvelinkohtaiset Säännöt",accept_desc:"Tämä palvelin hyväksyy viestit vain seuraavilta palvelimilta:",reject_desc:"Tämä palvelin ei hyväksy viestejä seuraavilta palvelimilta:",quarantine_desc:"Tämä palvelin lähettää vain julkisia viestejä seuraaville palvelimille:",ftl_removal_desc:'Tämä palvelin poistaa nämä palvelimet "Koko Tunnettu Verkosto"-aikajanalta:',media_removal_desc:"Tämä palvelin postaa mediatiedostot viesteistä seuraavilta palvelimilta:",media_nsfw:"Pakota Media Arkaluontoiseksi",media_nsfw_desc:"Tämä palvelin pakottaa mediatiedostot arkaluonteisiksi seuraavilta palvelimilta:"},federation:"Federaatio",mrf_policies:"Aktivoidut MRF-säännöt",mrf_policies_desc:"MRF-säännöt muuttavat federaation toimintaa sivulla. Seuraavat säännöt ovat kytketty päälle:"},staff:"Henkilökunta"},domain_mute_card:{mute:"Mykistä",unmute:"Poista mykistys",mute_progress:"Mykistetään…",unmute_progress:"Poistetaan mykistyst…"},exporter:{export:"Vie",processing:"Käsitellään, hetken päästä voit tallentaa tiedoston"},image_cropper:{crop_picture:"Rajaa kuva",save:"Tallenna",save_without_cropping:"Tallenna rajaamatta",cancel:"Peruuta"},importer:{submit:"Hyväksy",error:"Virhe tapahtui tietoja tuodessa.",success:"Tuonti onnistui."},media_modal:{previous:"Edellinen",next:"Seuraava"},emoji:{stickers:"Tarrat",emoji:"Emoji",keep_open:"Pidä valitsin auki",search_emoji:"Hae emojia",add_emoji:"Lisää emoji",custom:"Custom-emoji",load_all:"Ladataan kaikkia {emojiAmount} emojia",unicode:"Unicode-emoji",load_all_hint:"Ensimmäiset {saneAmount} emojia ladattu, kaikkien emojien lataaminen voi aiheuttaa hidastelua."},remote_user_resolver:{remote_user_resolver:"Ulkopuolinen käyttäjä",searching_for:"Etsitään käyttäjää",error:"Ei löytynyt."},selectable_list:{select_all:"Valitse kaikki"},password_reset:{check_email:"Tarkista sähköpostisi salasanannollausta varten.",instruction:"Syötä sähköpostiosoite tai käyttäjänimi. Lähetämme linkin salasanan nollausta varten.",password_reset_disabled:"Salasanan nollaus ei käytössä. Ota yhteyttä sivun ylläpitäjään.",password_reset_required_but_mailer_is_disabled:"Sinun täytyy vaihtaa salasana, mutta salasanan nollaus on pois käytöstä. Ota yhteyttä sivun ylläpitäjään.",forgot_password:"Unohditko salasanan?",password_reset:"Salasanan nollaus",placeholder:"Sähköpostiosoite tai käyttäjänimi",return_home:"Palaa etusivulle",not_found:"Sähköpostiosoitetta tai käyttäjänimeä ei löytynyt.",too_many_requests:"Olet käyttänyt kaikki yritykset, yritä uudelleen myöhemmin.",password_reset_required:"Sinun täytyy vaihtaa salasana kirjautuaksesi."},user_reporting:{add_comment_description:"Tämä raportti lähetetään sivun moderaattoreille. Voit antaa selityksen miksi ilmiannoit tilin:",title:"Ilmiannetaan {0}",additional_comments:"Lisäkommentit",forward_description:"Tämä tili on toiselta palvelimelta. Lähetä kopio ilmiannosta sinnekin?",forward_to:"Lähetä eteenpäin: {0}",submit:"Lähetä",generic_error:"Virhe käsitellessä pyyntöä."},search:{people:"Käyttäjät",hashtags:"Aihetunnisteet",people_talking:"{0} käyttäjää puhuvat",person_talking:"{0} käyttäjä puhuu",no_results:"Ei tuloksia"}}}}]); -//# sourceMappingURL=13.7931a609d62a42678085.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{564:function(t){t.exports={chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Media-välityspalvelin",scope_options:"Näkyvyyden rajaus",text_limit:"Tekstin pituusraja",title:"Ominaisuudet",who_to_follow:"Seurausehdotukset"},finder:{error_fetching_user:"Virhe hakiessa käyttäjää",find_user:"Hae käyttäjä"},general:{apply:"Aseta",submit:"Lähetä",more:"Lisää",generic_error:"Virhe tapahtui",optional:"valinnainen",show_more:"Näytä lisää",show_less:"Näytä vähemmän",dismiss:"Sulje",cancel:"Peruuta",disable:"Poista käytöstä",confirm:"Hyväksy",verify:"Varmenna",enable:"Ota käyttöön"},login:{login:"Kirjaudu sisään",description:"Kirjaudu sisään OAuthilla",logout:"Kirjaudu ulos",password:"Salasana",placeholder:"esim. Seppo",register:"Rekisteröidy",username:"Käyttäjänimi",hint:"Kirjaudu sisään liittyäksesi keskusteluun",authentication_code:"Todennuskoodi",enter_recovery_code:"Syötä palautuskoodi",recovery_code:"Palautuskoodi",heading:{totp:"Monivaihetodennus",recovery:"Monivaihepalautus"},enter_two_factor_code:"Syötä monivaihetodennuskoodi"},nav:{about:"Tietoja",back:"Takaisin",chat:"Paikallinen Chat",friend_requests:"Seurauspyynnöt",mentions:"Maininnat",interactions:"Interaktiot",dms:"Yksityisviestit",public_tl:"Julkinen Aikajana",timeline:"Aikajana",twkn:"Koko Tunnettu Verkosto",user_search:"Käyttäjähaku",who_to_follow:"Seurausehdotukset",preferences:"Asetukset",administration:"Ylläpito",search:"Haku"},notifications:{broken_favorite:"Viestiä ei löydetty…",favorited_you:"tykkäsi viestistäsi",followed_you:"seuraa sinua",load_older:"Lataa vanhempia ilmoituksia",notifications:"Ilmoitukset",read:"Lue!",repeated_you:"toisti viestisi",no_more_notifications:"Ei enempää ilmoituksia",reacted_with:"lisäsi reaktion {0}",migrated_to:"siirtyi sivulle",follow_request:"haluaa seurata sinua"},polls:{add_poll:"Lisää äänestys",add_option:"Lisää vaihtoehto",option:"Vaihtoehto",votes:"ääntä",vote:"Äänestä",type:"Äänestyksen tyyppi",single_choice:"Yksi valinta",multiple_choices:"Monivalinta",expiry:"Äänestyksen kesto",expires_in:"Päättyy {0} päästä",expired:"Päättyi {0} sitten",not_enough_option:"Liian vähän uniikkeja vaihtoehtoja äänestyksessä",not_enough_options:"Liian vähän ainutkertaisia vaihtoehtoja"},interactions:{favs_repeats:"Toistot ja tykkäykset",follows:"Uudet seuraukset",load_older:"Lataa vanhempia interaktioita",moves:"Käyttäjien siirtymiset"},post_status:{new_status:"Uusi viesti",account_not_locked_warning:"Tilisi ei ole {0}. Kuka vain voi seurata sinua nähdäksesi 'vain-seuraajille' -viestisi.",account_not_locked_warning_link:"lukittu",attachments_sensitive:"Merkkaa liitteet arkaluonteisiksi",content_type:{"text/plain":"Tavallinen teksti","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Aihe (valinnainen)",default:"Tulin juuri saunasta.",direct_warning:"Tämä viesti näkyy vain mainituille käyttäjille.",posting:"Lähetetään",scope:{direct:"Yksityisviesti - Näkyy vain mainituille käyttäjille",private:"Vain-seuraajille - Näkyy vain seuraajillesi",public:"Julkinen - Näkyy julkisilla aikajanoilla",unlisted:"Listaamaton - Ei näy julkisilla aikajanoilla"},direct_warning_to_all:"Tämä viesti näkyy vain viestissä mainituille käyttäjille.",direct_warning_to_first_only:"Tämä viesti näkyy vain viestin alussa mainituille käyttäjille.",scope_notice:{public:"Tämä viesti näkyy kaikille",private:"Tämä viesti näkyy vain sinun seuraajillesi",unlisted:"Tämä viesti ei näy Julkisella Aikajanalla tai Koko Tunnettu Verkosto -aikajanalla"}},registration:{bio:"Kuvaus",email:"Sähköposti",fullname:"Koko nimi",password_confirm:"Salasanan vahvistaminen",registration:"Rekisteröityminen",token:"Kutsuvaltuus",captcha:"Varmenne",new_captcha:"Paina kuvaa saadaksesi uuden varmenteen",validations:{username_required:"ei voi olla tyhjä",fullname_required:"ei voi olla tyhjä",email_required:"ei voi olla tyhjä",password_required:"ei voi olla tyhjä",password_confirmation_required:"ei voi olla tyhjä",password_confirmation_match:"pitää vastata salasanaa"},username_placeholder:"esim. peke",fullname_placeholder:"esim. Pekka Postaaja",bio_placeholder:"esim.\nHei, olen Pekka.\nOlen esimerkkikäyttäjä tässä verkostossa."},settings:{attachmentRadius:"Liitteet",attachments:"Liitteet",autoload:"Lataa vanhempia viestejä automaattisesti ruudun pohjalla",avatar:"Profiilikuva",avatarAltRadius:"Profiilikuvat (ilmoitukset)",avatarRadius:"Profiilikuvat",background:"Tausta",bio:"Kuvaus",btnRadius:"Napit",cBlue:"Sininen (Vastaukset, seuraukset)",cGreen:"Vihreä (Toistot)",cOrange:"Oranssi (Tykkäykset)",cRed:"Punainen (Peruminen)",change_password:"Vaihda salasana",change_password_error:"Virhe vaihtaessa salasanaa.",changed_password:"Salasana vaihdettu!",collapse_subject:"Minimoi viestit, joille on asetettu aihe",composing:"Viestien laatiminen",confirm_new_password:"Vahvista uusi salasana",current_avatar:"Nykyinen profiilikuvasi",current_password:"Nykyinen salasana",current_profile_banner:"Nykyinen julisteesi",data_import_export_tab:"Tietojen tuonti / vienti",default_vis:"Oletusnäkyvyysrajaus",delete_account:"Poista tili",delete_account_description:"Poista tilisi ja viestisi pysyvästi.",delete_account_error:"Virhe poistaessa tiliäsi. Jos virhe jatkuu, ota yhteyttä palvelimesi ylläpitoon.",delete_account_instructions:"Syötä salasanasi vahvistaaksesi tilin poiston.",emoji_reactions_on_timeline:"Näytä emojireaktiot aikajanalla",export_theme:"Tallenna teema",filtering:"Suodatus",filtering_explanation:"Kaikki viestit, jotka sisältävät näitä sanoja, suodatetaan. Yksi sana per rivi.",follow_export:"Seurausten vienti",follow_export_button:"Vie seurauksesi CSV-tiedostoon",follow_export_processing:"Käsitellään, sinua pyydetään lataamaan tiedosto hetken päästä",follow_import:"Seurausten tuonti",follow_import_error:"Virhe tuodessa seuraksia",follows_imported:"Seuraukset tuotu! Niiden käsittely vie hetken.",foreground:"Etuala",general:"Yleinen",hide_attachments_in_convo:"Piilota liitteet keskusteluissa",hide_attachments_in_tl:"Piilota liitteet aikajanalla",max_thumbnails:"Suurin sallittu määrä liitteitä esikatselussa",hide_isp:"Piilota palvelimenkohtainen ruutu",preload_images:"Esilataa kuvat",use_one_click_nsfw:"Avaa NSFW-liitteet yhdellä painalluksella",hide_post_stats:"Piilota viestien statistiikka (esim. tykkäysten määrä)",hide_user_stats:"Piilota käyttäjien statistiikka (esim. seuraajien määrä)",import_followers_from_a_csv_file:"Tuo seuraukset CSV-tiedostosta",import_theme:"Tuo tallennettu teema",inputRadius:"Syöttökentät",checkboxRadius:"Valintalaatikot",instance_default:"(oletus: {value})",instance_default_simple:"(oletus)",interface:"Käyttöliittymä",interfaceLanguage:"Käyttöliittymän kieli",invalid_theme_imported:"Tuotu tallennettu teema on epäkelpo, muutoksia ei tehty nykyiseen teemaasi.",limited_availability:"Ei saatavilla selaimessasi",links:"Linkit",lock_account_description:"Vain erikseen hyväksytyt käyttäjät voivat seurata tiliäsi",loop_video:"Uudelleentoista videot",loop_video_silent_only:'Uudelleentoista ainoastaan äänettömät videot (Video-"giffit")',play_videos_in_modal:"Toista videot modaalissa",use_contain_fit:"Älä rajaa liitteitä esikatselussa",name:"Nimi",name_bio:"Nimi ja kuvaus",new_password:"Uusi salasana",notification_visibility:"Ilmoitusten näkyvyys",notification_visibility_follows:"Seuraukset",notification_visibility_likes:"Tykkäykset",notification_visibility_mentions:"Maininnat",notification_visibility_repeats:"Toistot",notification_visibility_emoji_reactions:"Reaktiot",no_rich_text_description:"Älä näytä tekstin muotoilua",hide_network_description:"Älä näytä seurauksiani tai seuraajiani",nsfw_clickthrough:"Piilota NSFW liitteet klikkauksen taakse",oauth_tokens:"OAuth-merkit",token:"Token",refresh_token:"Päivitä token",valid_until:"Voimassa asti",revoke_token:"Peruuta",panelRadius:"Ruudut",pause_on_unfocused:"Pysäytä automaattinen viestien näyttö välilehden ollessa pois fokuksesta",presets:"Valmiit teemat",profile_background:"Taustakuva",profile_banner:"Juliste",profile_tab:"Profiili",radii_help:"Aseta reunojen pyöristys (pikseleinä)",replies_in_timeline:"Keskustelut aikajanalla",reply_link_preview:"Keskusteluiden vastauslinkkien esikatselu",reply_visibility_all:"Näytä kaikki vastaukset",reply_visibility_following:"Näytä vain vastaukset minulle tai seuraamilleni käyttäjille",reply_visibility_self:"Näytä vain vastaukset minulle",saving_err:"Virhe tallentaessa asetuksia",saving_ok:"Asetukset tallennettu",security_tab:"Tietoturva",scope_copy:"Kopioi näkyvyysrajaus vastatessa (Yksityisviestit aina kopioivat)",set_new_avatar:"Aseta uusi profiilikuva",set_new_profile_background:"Aseta uusi taustakuva",set_new_profile_banner:"Aseta uusi juliste",settings:"Asetukset",subject_input_always_show:"Näytä aihe-kenttä",subject_line_behavior:"Aihe-kentän kopiointi",subject_line_email:'Kuten sähköposti: "re: aihe"',subject_line_mastodon:"Kopioi sellaisenaan",subject_line_noop:"Älä kopioi",stop_gifs:"Toista giffit vain kohdistaessa",streaming:"Näytä uudet viestit automaattisesti ollessasi ruudun huipulla",text:"Teksti",theme:"Teema",theme_help:"Käytä heksadesimaalivärejä muokataksesi väriteemaasi.",theme_help_v2_1:'Voit asettaa tiettyjen osien värin tai läpinäkyvyyden täyttämällä valintalaatikon, käytä "Tyhjennä kaikki"-nappia tyhjentääksesi kaiken.',theme_help_v2_2:"Ikonit kenttien alla ovat kontrasti-indikaattoreita, lisätietoa kohdistamalla. Käyttäessä läpinäkyvyyttä ne näyttävät pahimman skenaarion.",tooltipRadius:"Ohje- tai huomioviestit",user_settings:"Käyttäjän asetukset",values:{false:"pois päältä",true:"päällä"},hide_follows_description:"Älä näytä ketä seuraan",show_moderator_badge:"Näytä Moderaattori-merkki profiilissani",useStreamingApi:"Vastaanota viestiejä ja ilmoituksia reaaliajassa",notification_setting_filters:"Suodattimet",notification_setting:"Vastaanota ilmoituksia seuraavista:",notification_setting_privacy_option:"Piilota lähettäjä ja sisältö sovelluksen ulkopuolisista ilmoituksista",enable_web_push_notifications:"Ota käyttöön sovelluksen ulkopuoliset ilmoitukset",app_name:"Sovelluksen nimi",security:"Turvallisuus",mfa:{otp:"OTP",setup_otp:"OTP-asetukset",wait_pre_setup_otp:"esiasetetaan OTP:ta",confirm_and_enable:"Hyväksy ja käytä OTP",title:"Monivaihetodennus",generate_new_recovery_codes:"Luo uudet palautuskoodit",authentication_methods:"Todennus",warning_of_generate_new_codes:"Luodessasi uudet palautuskoodit, vanhat koodisi lakkaavat toimimasta.",recovery_codes:"Palautuskoodit.",waiting_a_recovery_codes:"Odotetaan palautuskoodeja…",recovery_codes_warning:"Kirjoita koodit ylös tai tallenna ne turvallisesti, muuten et näe niitä uudestaan. Jos et voi käyttää monivaihetodennusta ja sinulla ei ole palautuskoodeja, et voi enää kirjautua sisään tilillesi.",scan:{title:"Skannaa",secret_code:"Avain",desc:"Käytä monivaihetodennus-sovellusta skannakksesi tämän QR-kooding, tai syötä avain:"},verify:{desc:"Kytkeäksesi päälle monivaihetodennuksen, syötä koodi monivaihetodennussovellksesta:"}},allow_following_move:"Salli automaattinen seuraaminen kun käyttäjä siirtää tilinsä",block_export:"Estojen vienti",block_export_button:"Vie estosi CSV-tiedostoon",block_import:"Estojen tuonti",block_import_error:"Virhe tuodessa estoja",blocks_imported:"Estot tuotu! Käsittely vie hetken.",blocks_tab:"Estot",change_email:"Vaihda sähköpostiosoite",change_email_error:"Virhe vaihtaessa sähköpostiosoitetta.",changed_email:"Sähköpostiosoite vaihdettu!",domain_mutes:"Sivut",avatar_size_instruction:"Suositeltu vähimmäiskoko profiilikuville on 150x150 pikseliä.",accent:"Korostus",hide_muted_posts:"Piilota mykistettyjen käyttäjien viestit",hide_filtered_statuses:"Piilota mykistetyt viestit",import_blocks_from_a_csv_file:"Tuo estot CSV-tiedostosta",no_blocks:"Ei estoja",no_mutes:"Ei mykistyksiä",notification_visibility_moves:"Käyttäjien siirtymiset",hide_followers_description:"Älä näytä ketkä seuraavat minua",hide_follows_count_description:"Älä näytä seurauksien määrää",hide_followers_count_description:"Älä näytä seuraajien määrää",show_admin_badge:"Näytä Ylläpitäjä-merkki proofilissani",autohide_floating_post_button:"Piilota Uusi Viesti -nappi automaattisesti (mobiili)",search_user_to_block:"Hae estettäviä käyttäjiä",search_user_to_mute:"Hae mykistettäviä käyttäjiä",minimal_scopes_mode:"Yksinkertaista näkyvyydenrajauksen vaihtoehdot",post_status_content_type:"Uuden viestin sisällön muoto",user_mutes:"Käyttäjät",useStreamingApiWarning:"(Kokeellinen)",type_domains_to_mute:"Syötä mykistettäviä sivustoja",upload_a_photo:"Lataa kuva",fun:"Hupi",greentext:"Meeminuolet",notifications:"Ilmoitukset",style:{switcher:{save_load_hint:'"Säilytä" asetukset säilyttävät tällä hetkellä asetetut asetukset valittaessa tai ladatessa teemaa, se myös tallentaa kyseiset asetukset viedessä teemaa. Kun kaikki laatikot ovat tyhjänä, viety teema tallentaa kaiken.',help:{older_version_imported:"Tuomasi tiedosto on luotu vanhemmalla versiolla.",fe_upgraded:"PleromaFE:n teemaus päivitetty versiopäivityksen yhteydessä.",migration_snapshot_ok:"Varmuuden vuoksi teeman kaappaus ladattu. Voit koittaa ladata teeman sisällön.",migration_napshot_gone:"Jostain syystä teeman kaappaus puuttuu, kaikki asiat eivät välttämättä näytä oikealta.",snapshot_source_mismatch:"Versiot eivät täsmää: todennäköisesti versio vaihdettu vanhempaan ja päivitetty uudestaan, jos vaihdoit teemaa vanhalla versiolla, sinun tulisi käyttää vanhaa versiota, muutoin uutta.",upgraded_from_v2:"PleromaFE on päivitetty, teemasi saattaa näyttää erilaiselta kuin muistat.",v2_imported:"Tuomasi tiedosto on luotu vanhemmalla versiolla. Yhteensopivuus ei välttämättä ole täydellinen.",future_version_imported:"Tuomasi tiedosto on luotu uudemmalla versiolla.",snapshot_present:"Teeman kaappaus ladattu, joten kaikki arvot ovat ylikirjoitettu. Voit sen sijaan ladata teeman sisällön.",snapshot_missing:"Teeman kaappausta ei tiedostossa, joten se voi näyttää erilaiselta kuin suunniteltu.",fe_downgraded:"PleromaFE:n versio vaihtunut vanhempaan."},keep_color:"Säilytä värit",keep_shadows:"Säilytä varjot",keep_opacity:"Säilytä läpinäkyvyys",keep_roundness:"Säilytä pyöristys",keep_fonts:"Säilytä fontit",reset:"Palauta",clear_all:"Tyhjennä kaikki",clear_opacity:"Tyhjennä läpinäkyvyys",load_theme:"Lataa teema",keep_as_is:"Pidä sellaisenaan",use_snapshot:"Vanha",use_source:"Uusi"},advanced_colors:{selectedPost:"Valittu viesti",_tab_label:"Edistynyt",alert:"Varoituksen tausta",alert_error:"Virhe",alert_warning:"Varoitus",alert_neutral:"Neutraali",post:"Viestit/Käyttäjien kuvaukset",badge:"Merkin tausta",badge_notification:"Ilmoitus",panel_header:"Ruudun otsikko",top_bar:"Yläpalkki",borders:"Reunat",buttons:"Napit",inputs:"Syöttökentät",faint_text:"Häivytetty teksti",underlay:"Taustapeite",poll:"Äänestyksen kuvaaja",icons:"Ikonit",highlight:"Korostetut elementit",pressed:"Painettu",selectedMenu:"Valikon valinta",disabled:"Pois käytöstä",toggled:"Kytketty",tabs:"Välilehdet",popover:"Työkaluvinkit, valikot, ponnahdusviestit"},common:{color:"Väri",opacity:"Läpinäkyvyys",contrast:{level:{aaa:"saavuttaa AAA-tason (suositeltu)",aa:"saavuttaa AA-tason (minimi)",bad:"ei saavuta mitään helppokäyttöisyyssuosituksia"},hint:"Kontrastisuhde on {ratio}, se {level} {context}",context:{"18pt":"suurella (18pt+) tekstillä",text:"tekstillä"}}},common_colors:{_tab_label:"Yleinen",main:"Yleiset värit",foreground_hint:'Löydät "Edistynyt"-välilehdeltä tarkemmat asetukset',rgbo:"Ikonit, korostukset, merkit"},shadows:{filter_hint:{always_drop_shadow:"Varoitus, tämä varjo käyttää aina {0} kun selain tukee sitä.",avatar_inset:"Huom. sisennettyjen ja ei-sisennettyjen varjojen yhdistelmät saattavat luoda ei-odotettuja lopputuloksia läpinäkyvillä profiilikuvilla.",drop_shadow_syntax:"{0} ei tue {1} parametria ja {2} avainsanaa.",spread_zero:"Varjot joiden levitys > 0 näyttävät samalta kuin se olisi nolla",inset_classic:"Sisennetyt varjot käyttävät {0}"},components:{buttonPressedHover:"Nappi (painettu ja kohdistettu)",panel:"Ruutu",panelHeader:"Ruudun otsikko",topBar:"Yläpalkki",avatar:"Profiilikuva (profiilinäkymässä)",avatarStatus:"Profiilikuva (viestin yhtyedessä)",popup:"Ponnahdusviestit ja työkaluvinkit",button:"Nappi",buttonHover:"Nappi (kohdistus)",buttonPressed:"Nappi (painettu)",input:"Syöttökenttä"},hintV3:"Voit käyttää {0} merkintää varjoille käyttääksesi väriä toisesta asetuksesta.",_tab_label:"Valo ja varjostus",component:"Komponentti",override:"Ylikirjoita",shadow_id:"Varjo #{value}",blur:"Sumennus",spread:"Levitys",inset:"Sisennys"},fonts:{help:'Valitse fontti käyttöliittymälle. "Oma"-vaihtohdolle on syötettävä fontin nimi tarkalleen samana kuin se on järjestelmässäsi.',_tab_label:"Fontit",components:{interface:"Käyttöliittymä",input:"Syöttökentät",post:"Viestin teksti",postCode:"Tasavälistetty teksti viestissä"},family:"Fontin nimi",size:"Koko (pikseleissä)",weight:"Painostus (paksuus)",custom:"Oma"},preview:{input:"Tulin juuri saunasta.",header:"Esikatselu",content:"Sisältö",error:"Esimerkkivirhe",button:"Nappi",text:"Vähän lisää {0} ja {1}",mono:"sisältöä",faint_link:"manuaali",fine_print:"Lue meidän {0} vaikka huvin vuoksi!",header_faint:"Tämä on OK",checkbox:"Olen silmäillyt käyttöehdot",link:"kiva linkki"},radii:{_tab_label:"Pyöristys"}},enter_current_password_to_confirm:"Syötä nykyinen salasanasi todentaaksesi henkilöllisyytesi",discoverable:"Salli tilisi näkyvyys hakukoneisiin ja muihin palveluihin",pad_emoji:"Välistä emojit välilyönneillä lisätessäsi niitä valitsimesta",mutes_tab:"Mykistykset",new_email:"Uusi sähköpostiosoite",notification_setting_follows:"Käyttäjät joita seuraat",notification_setting_non_follows:"Käyttäjät joita et seuraa",notification_setting_followers:"Käyttäjät jotka seuraavat sinua",notification_setting_non_followers:"Käyttäjät jotka eivät seuraa sinua",notification_setting_privacy:"Yksityisyys",notification_mutes:"Jos et halua ilmoituksia joltain käyttäjältä, käytä mykistystä.",notification_blocks:"Estäminen pysäyttää kaikki ilmoitukset käyttäjältä ja poistaa seurauksen.",version:{title:"Versio",backend_version:"Palvelimen versio",frontend_version:"Käyttöliittymän versio"}},time:{day:"{0} päivä",days:"{0} päivää",day_short:"{0}pv",days_short:"{0}pv",hour:"{0} tunti",hours:"{0} tuntia",hour_short:"{0}t",hours_short:"{0}t",in_future:"{0} tulevaisuudessa",in_past:"{0} sitten",minute:"{0} minuutti",minutes:"{0} minuuttia",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} kuukausi",months:"{0} kuukautta",month_short:"{0}kk",months_short:"{0}kk",now:"juuri nyt",now_short:"nyt",second:"{0} sekunti",seconds:"{0} sekuntia",second_short:"{0}s",seconds_short:"{0}s",week:"{0} viikko",weeks:"{0} viikkoa",week_short:"{0}vk",weeks_short:"{0}vk",year:"{0} vuosi",years:"{0} vuotta",year_short:"{0}v",years_short:"{0}v"},timeline:{collapse:"Sulje",conversation:"Keskustelu",error_fetching:"Virhe ladatessa viestejä",load_older:"Lataa vanhempia viestejä",no_retweet_hint:"Viesti ei ole julkinen, eikä sitä voi toistaa",repeated:"toisti",show_new:"Näytä uudet",up_to_date:"Ajantasalla",no_more_statuses:"Ei enempää viestejä",no_statuses:"Ei viestejä"},status:{favorites:"Tykkäykset",repeats:"Toistot",delete:"Poista",pin:"Kiinnitä profiiliisi",unpin:"Poista kiinnitys",pinned:"Kiinnitetty",delete_confirm:"Haluatko varmasti postaa viestin?",reply_to:"Vastaus",replies_list:"Vastaukset:",mute_conversation:"Mykistä keskustelu",unmute_conversation:"Poista mykistys",status_unavailable:"Viesti ei saatavissa",copy_link:"Kopioi linkki"},user_card:{approve:"Hyväksy",block:"Estä",blocked:"Estetty!",deny:"Älä hyväksy",follow:"Seuraa",follow_sent:"Pyyntö lähetetty!",follow_progress:"Pyydetään…",follow_again:"Lähetä pyyntö uudestaan",follow_unfollow:"Älä seuraa",followees:"Seuraa",followers:"Seuraajat",following:"Seuraat!",follows_you:"Seuraa sinua!",its_you:"Sinun tili!",mute:"Mykistä",muted:"Mykistetty",per_day:"päivässä",remote_follow:"Seuraa muualta",statuses:"Viestit",hidden:"Piilotettu",media:"Media",block_progress:"Estetään…",admin_menu:{grant_admin:"Anna Ylläpitöoikeudet",force_nsfw:"Merkitse kaikki viestit NSFW:nä",disable_any_subscription:"Estä käyttäjän seuraaminen",moderation:"Moderaatio",revoke_admin:"Poista Ylläpitöoikeudet",grant_moderator:"Anna Moderaattorioikeudet",revoke_moderator:"Poista Moderaattorioikeudet",activate_account:"Aktivoi tili",deactivate_account:"Deaktivoi tili",delete_account:"Poista tili",strip_media:"Poista media viesteistä",force_unlisted:"Pakota viestit listaamattomiksi",sandbox:"Pakota viestit vain seuraajille",disable_remote_subscription:"Estä seuraaminen ulkopuolisilta sivuilta",quarantine:"Estä käyttäjän viestin federoituminen",delete_user:"Poista käyttäjä",delete_user_confirmation:"Oletko aivan varma? Tätä ei voi kumota."},favorites:"Tykkäykset",mention:"Mainitse",report:"Ilmianna",subscribe:"Tilaa",unsubscribe:"Poista tilaus",unblock:"Poista esto",unblock_progress:"Postetaan estoa…",unmute:"Poista mykistys",unmute_progress:"Poistetaan mykistystä…",mute_progress:"Mykistetään…",hide_repeats:"Piilota toistot",show_repeats:"Näytä toistot"},user_profile:{timeline_title:"Käyttäjän aikajana",profile_does_not_exist:"Tätä profiilia ei ole.",profile_loading_error:"Virhe ladatessa profiilia."},who_to_follow:{more:"Lisää",who_to_follow:"Seurausehdotukset"},tool_tip:{media_upload:"Lataa tiedosto",repeat:"Toista",reply:"Vastaa",favorite:"Tykkää",user_settings:"Käyttäjäasetukset",add_reaction:"Lisää Reaktio",accept_follow_request:"Hyväksy seurauspyyntö",reject_follow_request:"Hylkää seurauspyyntö"},upload:{error:{base:"Lataus epäonnistui.",file_too_big:"Tiedosto liian suuri [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Yritä uudestaan myöhemmin"},file_size_units:{B:"tavua",KiB:"kt",MiB:"Mt",GiB:"Gt",TiB:"Tt"}},about:{mrf:{keyword:{keyword_policies:"Avainsanasäännöt",ftl_removal:'Poistettu "Koko Tunnettu Verkosto" -aikajanalta',reject:"Hylkää",replace:"Korvaa",is_replaced_by:"→"},simple:{accept:"Hyväksy",reject:"Hylkää",quarantine:"Karanteeni",ftl_removal:'Poisto "Koko Tunnettu Verkosto" -aikajanalta',media_removal:"Media-tiedostojen poisto",simple_policies:"Palvelinkohtaiset Säännöt",accept_desc:"Tämä palvelin hyväksyy viestit vain seuraavilta palvelimilta:",reject_desc:"Tämä palvelin ei hyväksy viestejä seuraavilta palvelimilta:",quarantine_desc:"Tämä palvelin lähettää vain julkisia viestejä seuraaville palvelimille:",ftl_removal_desc:'Tämä palvelin poistaa nämä palvelimet "Koko Tunnettu Verkosto"-aikajanalta:',media_removal_desc:"Tämä palvelin postaa mediatiedostot viesteistä seuraavilta palvelimilta:",media_nsfw:"Pakota Media Arkaluontoiseksi",media_nsfw_desc:"Tämä palvelin pakottaa mediatiedostot arkaluonteisiksi seuraavilta palvelimilta:"},federation:"Federaatio",mrf_policies:"Aktivoidut MRF-säännöt",mrf_policies_desc:"MRF-säännöt muuttavat federaation toimintaa sivulla. Seuraavat säännöt ovat kytketty päälle:"},staff:"Henkilökunta"},domain_mute_card:{mute:"Mykistä",unmute:"Poista mykistys",mute_progress:"Mykistetään…",unmute_progress:"Poistetaan mykistyst…"},exporter:{export:"Vie",processing:"Käsitellään, hetken päästä voit tallentaa tiedoston"},image_cropper:{crop_picture:"Rajaa kuva",save:"Tallenna",save_without_cropping:"Tallenna rajaamatta",cancel:"Peruuta"},importer:{submit:"Hyväksy",error:"Virhe tapahtui tietoja tuodessa.",success:"Tuonti onnistui."},media_modal:{previous:"Edellinen",next:"Seuraava"},emoji:{stickers:"Tarrat",emoji:"Emoji",keep_open:"Pidä valitsin auki",search_emoji:"Hae emojia",add_emoji:"Lisää emoji",custom:"Custom-emoji",load_all:"Ladataan kaikkia {emojiAmount} emojia",unicode:"Unicode-emoji",load_all_hint:"Ensimmäiset {saneAmount} emojia ladattu, kaikkien emojien lataaminen voi aiheuttaa hidastelua."},remote_user_resolver:{remote_user_resolver:"Ulkopuolinen käyttäjä",searching_for:"Etsitään käyttäjää",error:"Ei löytynyt."},selectable_list:{select_all:"Valitse kaikki"},password_reset:{check_email:"Tarkista sähköpostisi salasanannollausta varten.",instruction:"Syötä sähköpostiosoite tai käyttäjänimi. Lähetämme linkin salasanan nollausta varten.",password_reset_disabled:"Salasanan nollaus ei käytössä. Ota yhteyttä sivun ylläpitäjään.",password_reset_required_but_mailer_is_disabled:"Sinun täytyy vaihtaa salasana, mutta salasanan nollaus on pois käytöstä. Ota yhteyttä sivun ylläpitäjään.",forgot_password:"Unohditko salasanan?",password_reset:"Salasanan nollaus",placeholder:"Sähköpostiosoite tai käyttäjänimi",return_home:"Palaa etusivulle",not_found:"Sähköpostiosoitetta tai käyttäjänimeä ei löytynyt.",too_many_requests:"Olet käyttänyt kaikki yritykset, yritä uudelleen myöhemmin.",password_reset_required:"Sinun täytyy vaihtaa salasana kirjautuaksesi."},user_reporting:{add_comment_description:"Tämä raportti lähetetään sivun moderaattoreille. Voit antaa selityksen miksi ilmiannoit tilin:",title:"Ilmiannetaan {0}",additional_comments:"Lisäkommentit",forward_description:"Tämä tili on toiselta palvelimelta. Lähetä kopio ilmiannosta sinnekin?",forward_to:"Lähetä eteenpäin: {0}",submit:"Lähetä",generic_error:"Virhe käsitellessä pyyntöä."},search:{people:"Käyttäjät",hashtags:"Aihetunnisteet",people_talking:"{0} käyttäjää puhuvat",person_talking:"{0} käyttäjä puhuu",no_results:"Ei tuloksia"}}}}]); +//# sourceMappingURL=13.3ef79a2643680080d28f.js.map \ No newline at end of file diff --git a/priv/static/static/js/13.7931a609d62a42678085.js.map b/priv/static/static/js/13.3ef79a2643680080d28f.js.map similarity index 56% rename from priv/static/static/js/13.7931a609d62a42678085.js.map rename to priv/static/static/js/13.3ef79a2643680080d28f.js.map index 8448af376..bb2f24e3a 100644 --- a/priv/static/static/js/13.7931a609d62a42678085.js.map +++ b/priv/static/static/js/13.3ef79a2643680080d28f.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/13.7931a609d62a42678085.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/13.3ef79a2643680080d28f.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/14.cc092634462fd2a4cfbc.js b/priv/static/static/js/14.b7f6eb3ea71d2ac2bb41.js similarity index 99% rename from priv/static/static/js/14.cc092634462fd2a4cfbc.js rename to priv/static/static/js/14.b7f6eb3ea71d2ac2bb41.js index 42a179970..316ba1291 100644 --- a/priv/static/static/js/14.cc092634462fd2a4cfbc.js +++ b/priv/static/static/js/14.b7f6eb3ea71d2ac2bb41.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{547:function(e){e.exports={chat:{title:"Chat"},exporter:{export:"Exporter",processing:"En cours de traitement, vous pourrez bientôt télécharger votre fichier"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Proxy média",scope_options:"Options de visibilité",text_limit:"Limite de texte",title:"Caractéristiques",who_to_follow:"Personnes à suivre"},finder:{error_fetching_user:"Erreur lors de la recherche de l'utilisateur·ice",find_user:"Chercher un-e utilisateur·ice"},general:{apply:"Appliquer",submit:"Envoyer",more:"Plus",generic_error:"Une erreur s'est produite",optional:"optionnel",show_more:"Montrer plus",show_less:"Montrer moins",cancel:"Annuler",disable:"Désactiver",enable:"Activer",confirm:"Confirmer",verify:"Vérifier",dismiss:"Rejeter"},image_cropper:{crop_picture:"Rogner l'image",save:"Sauvegarder",save_without_cropping:"Sauvegarder sans rogner",cancel:"Annuler"},importer:{submit:"Soumettre",success:"Importé avec succès.",error:"Une erreur est survenue pendant l'import de ce fichier."},login:{login:"Connexion",description:"Connexion avec OAuth",logout:"Déconnexion",password:"Mot de passe",placeholder:"p.e. lain",register:"S'inscrire",username:"Identifiant",hint:"Connectez-vous pour rejoindre la discussion",authentication_code:"Code d'authentification",enter_recovery_code:"Entrez un code de récupération",enter_two_factor_code:"Entrez un code à double authentification",recovery_code:"Code de récupération",heading:{totp:"Authentification à double authentification",recovery:"Récuperation de la double authentification"}},media_modal:{previous:"Précédent",next:"Suivant"},nav:{about:"À propos",back:"Retour",chat:"Chat local",friend_requests:"Demandes de suivi",mentions:"Notifications",interactions:"Interactions",dms:"Messages directs",public_tl:"Fil d'actualité public",timeline:"Fil d'actualité",twkn:"Ensemble du réseau connu",user_search:"Recherche d'utilisateur·ice",who_to_follow:"Qui suivre",preferences:"Préférences",search:"Recherche",administration:"Administration"},notifications:{broken_favorite:"Chargement d'un message inconnu…",favorited_you:"a aimé votre statut",followed_you:"a commencé à vous suivre",load_older:"Charger les notifications précédentes",notifications:"Notifications",read:"Lu !",repeated_you:"a partagé votre statut",no_more_notifications:"Aucune notification supplémentaire",migrated_to:"a migré à",reacted_with:"a réagi avec {0}",follow_request:"veut vous suivre"},interactions:{favs_repeats:"Partages et favoris",follows:"Nouveaux suivis",load_older:"Chargez d'anciennes interactions",moves:"Migrations de comptes"},post_status:{new_status:"Poster un nouveau statut",account_not_locked_warning:"Votre compte n'est pas {0}. N'importe qui peut vous suivre pour voir vos billets en Abonné·e·s uniquement.",account_not_locked_warning_link:"verrouillé",attachments_sensitive:"Marquer le média comme sensible",content_type:{"text/plain":"Texte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Sujet (optionnel)",default:"Écrivez ici votre prochain statut.",direct_warning_to_all:"Ce message sera visible pour toutes les personnes mentionnées.",direct_warning_to_first_only:"Ce message sera visible uniquement pour personnes mentionnées au début du message.",posting:"Envoi en cours",scope_notice:{public:"Ce statut sera visible par tout le monde",private:"Ce statut sera visible par seulement vos abonné⋅e⋅s",unlisted:"Ce statut ne sera pas visible dans le Fil d'actualité public et l'Ensemble du réseau connu"},scope:{direct:"Direct - N'envoyer qu'aux personnes mentionnées",private:"Abonné·e·s uniquement - Seul·e·s vos abonné·e·s verront vos billets",public:"Publique - Afficher dans les fils publics",unlisted:"Non-Listé - Ne pas afficher dans les fils publics"}},registration:{bio:"Biographie",email:"Adresse mail",fullname:"Pseudonyme",password_confirm:"Confirmation du mot de passe",registration:"Inscription",token:"Jeton d'invitation",captcha:"CAPTCHA",new_captcha:"Cliquez sur l'image pour avoir un nouveau captcha",username_placeholder:"p.e. lain",fullname_placeholder:"p.e. Lain Iwakura",bio_placeholder:"p.e.\nSalut, je suis Lain\nJe suis une héroïne d'animé qui vit dans une banlieue japonaise. Vous me connaissez peut-être du Wired.",validations:{username_required:"ne peut pas être laissé vide",fullname_required:"ne peut pas être laissé vide",email_required:"ne peut pas être laissé vide",password_required:"ne peut pas être laissé vide",password_confirmation_required:"ne peut pas être laissé vide",password_confirmation_match:"doit être identique au mot de passe"}},selectable_list:{select_all:"Tout selectionner"},settings:{app_name:"Nom de l'application",security:"Sécurité",enter_current_password_to_confirm:"Entrez votre mot de passe actuel pour confirmer votre identité",mfa:{otp:"OTP",setup_otp:"Configurer OTP",wait_pre_setup_otp:"préconfiguration OTP",confirm_and_enable:"Confirmer & activer OTP",title:"Double authentification",generate_new_recovery_codes:"Générer de nouveaux codes de récupération",warning_of_generate_new_codes:"Quand vous générez de nouveauc codes de récupération, vos anciens codes ne fonctionnerons plus.",recovery_codes:"Codes de récupération.",waiting_a_recovery_codes:"Réception des codes de récupération…",recovery_codes_warning:"Écrivez les codes ou sauvez les quelquepart sécurisé - sinon vous ne les verrez plus jamais. Si vous perdez l'accès à votre application de double authentification et codes de récupération vous serez vérouillé en dehors de votre compte.",authentication_methods:"Methodes d'authentification",scan:{title:"Scanner",desc:"En utilisant votre application de double authentification, scannez ce QR code ou entrez la clé textuelle :",secret_code:"Clé"},verify:{desc:"Pour activer la double authentification, entrez le code depuis votre application :"}},attachmentRadius:"Pièces jointes",attachments:"Pièces jointes",autoload:"Charger la suite automatiquement une fois le bas de la page atteint",avatar:"Avatar",avatarAltRadius:"Avatars (Notifications)",avatarRadius:"Avatars",background:"Arrière-plan",bio:"Biographie",block_export:"Export des comptes bloqués",block_export_button:"Export des comptes bloqués vers un fichier csv",block_import:"Import des comptes bloqués",block_import_error:"Erreur lors de l'import des comptes bloqués",blocks_imported:"Blocks importés ! Le traitement va prendre un moment.",blocks_tab:"Bloqué·e·s",btnRadius:"Boutons",cBlue:"Bleu (répondre, suivre)",cGreen:"Vert (partager)",cOrange:"Orange (aimer)",cRed:"Rouge (annuler)",change_password:"Changez votre mot de passe",change_password_error:"Il y a eu un problème pour changer votre mot de passe.",changed_password:"Mot de passe modifié avec succès !",collapse_subject:"Réduire les messages avec des sujets",composing:"Composition",confirm_new_password:"Confirmation du nouveau mot de passe",current_avatar:"Avatar actuel",current_password:"Mot de passe actuel",current_profile_banner:"Bannière de profil actuelle",data_import_export_tab:"Import / Export des Données",default_vis:"Visibilité par défaut",delete_account:"Supprimer le compte",delete_account_description:"Supprimer définitivement vos données et désactiver votre compte.",delete_account_error:"Il y a eu un problème lors de la tentative de suppression de votre compte. Si le problème persiste, contactez l'administrateur⋅ice de cette instance.",delete_account_instructions:"Indiquez votre mot de passe ci-dessous pour confirmer la suppression de votre compte.",avatar_size_instruction:"La taille minimale recommandée pour l'image de l'avatar est de 150x150 pixels.",export_theme:"Enregistrer le thème",filtering:"Filtre",filtering_explanation:"Tous les statuts contenant ces mots seront masqués. Un mot par ligne",follow_export:"Exporter les abonnements",follow_export_button:"Exporter les abonnements en csv",follow_import:"Importer des abonnements",follow_import_error:"Erreur lors de l'importation des abonnements",follows_imported:"Abonnements importés ! Le traitement peut prendre un moment.",foreground:"Premier plan",general:"Général",hide_attachments_in_convo:"Masquer les pièces jointes dans les conversations",hide_attachments_in_tl:"Masquer les pièces jointes dans le journal",hide_muted_posts:"Masquer les statuts des utilisateurs masqués",max_thumbnails:"Nombre maximum de miniatures par statuts",hide_isp:"Masquer le panneau spécifique a l'instance",preload_images:"Précharger les images",use_one_click_nsfw:"Ouvrir les pièces-jointes NSFW avec un seul clic",hide_post_stats:"Masquer les statistiques de publication (le nombre de favoris)",hide_user_stats:"Masquer les statistiques de profil (le nombre d'amis)",hide_filtered_statuses:"Masquer les statuts filtrés",import_blocks_from_a_csv_file:"Importer les blocages depuis un fichier csv",import_followers_from_a_csv_file:"Importer des abonnements depuis un fichier csv",import_theme:"Charger le thème",inputRadius:"Champs de texte",checkboxRadius:"Cases à cocher",instance_default:"(default : {value})",instance_default_simple:"(default)",interface:"Interface",interfaceLanguage:"Langue de l'interface",invalid_theme_imported:"Le fichier sélectionné n'est pas un thème Pleroma pris en charge. Aucun changement n'a été apporté à votre thème.",limited_availability:"Non disponible dans votre navigateur",links:"Liens",lock_account_description:"Limitez votre compte aux abonnés acceptés uniquement",loop_video:"Vidéos en boucle",loop_video_silent_only:"Boucle uniquement les vidéos sans le son (les « gifs » de Mastodon)",mutes_tab:"Comptes silenciés",play_videos_in_modal:"Jouer les vidéos directement dans le visionneur de médias",use_contain_fit:"Ne pas rogner les miniatures des pièces-jointes",name:"Nom",name_bio:"Nom & Bio",new_password:"Nouveau mot de passe",notification_visibility:"Types de notifications à afficher",notification_visibility_follows:"Abonnements",notification_visibility_likes:"J'aime",notification_visibility_mentions:"Mentionnés",notification_visibility_repeats:"Partages",no_rich_text_description:"Ne formatez pas le texte",no_blocks:"Aucun bloqués",no_mutes:"Aucun masqués",hide_follows_description:"Ne pas afficher à qui je suis abonné",hide_followers_description:"Ne pas afficher qui est abonné à moi",show_admin_badge:"Afficher le badge d'Administrateur⋅ice sur mon profil",show_moderator_badge:"Afficher le badge de Modérateur⋅ice sur mon profil",nsfw_clickthrough:"Masquer les images marquées comme contenu adulte ou sensible",oauth_tokens:"Jetons OAuth",token:"Jeton",refresh_token:"Rafraichir le jeton",valid_until:"Valable jusque",revoke_token:"Révoquer",panelRadius:"Fenêtres",pause_on_unfocused:"Suspendre le streaming lorsque l'onglet n'est pas actif",presets:"Thèmes prédéfinis",profile_background:"Image de fond",profile_banner:"Bannière de profil",profile_tab:"Profil",radii_help:"Vous pouvez ici choisir le niveau d'arrondi des angles de l'interface (en pixels)",replies_in_timeline:"Réponses au journal",reply_link_preview:"Afficher un aperçu lors du survol de liens vers une réponse",reply_visibility_all:"Montrer toutes les réponses",reply_visibility_following:"Afficher uniquement les réponses adressées à moi ou aux personnes que je suis",reply_visibility_self:"Afficher uniquement les réponses adressées à moi",autohide_floating_post_button:"Automatiquement cacher le bouton de Nouveau Statut (sur mobile)",saving_err:"Erreur lors de l'enregistrement des paramètres",saving_ok:"Paramètres enregistrés",search_user_to_block:"Rechercher qui vous voulez bloquer",search_user_to_mute:"Rechercher qui vous voulez masquer",security_tab:"Sécurité",scope_copy:"Garder la même visibilité en répondant (les DMs restent toujours des DMs)",minimal_scopes_mode:"Rétrécir les options de séléction de la portée",set_new_avatar:"Changer d'avatar",set_new_profile_background:"Changer d'image de fond",set_new_profile_banner:"Changer de bannière",settings:"Paramètres",subject_input_always_show:"Toujours copier le champ de sujet",subject_line_behavior:"Copier le sujet en répondant",subject_line_email:"Similaire au courriel : « re : sujet »",subject_line_mastodon:"Comme mastodon : copier tel quel",subject_line_noop:"Ne pas copier",post_status_content_type:"Type de contenu du statuts",stop_gifs:"N'animer les GIFS que lors du survol du curseur de la souris",streaming:"Charger automatiquement les nouveaux statuts lorsque vous êtes au haut de la page",text:"Texte",theme:"Thème",theme_help:"Spécifiez des codes couleur hexadécimaux (#rrvvbb) pour personnaliser les couleurs du thème.",theme_help_v2_1:"Vous pouvez aussi surcharger certaines couleurs de composants et transparence via la case à cocher, utilisez le bouton « Vider tout » pour effacer toutes les surcharges.",theme_help_v2_2:"Les icônes sous certaines des entrées ont un indicateur de contraste du fond/texte, survolez les pour plus d'informations détailles. Veuillez garder a l'esprit que lors de l'utilisation de transparence l'indicateur de contraste indique le pire des cas.",tooltipRadius:"Info-bulles/alertes",upload_a_photo:"Envoyer une photo",user_settings:"Paramètres utilisateur",values:{false:"non",true:"oui"},notifications:"Notifications",notification_setting:"Reçevoir les notifications de :",notification_setting_follows:"Utilisateurs que vous suivez",notification_setting_non_follows:"Utilisateurs que vous ne suivez pas",notification_setting_followers:"Utilisateurs qui vous suivent",notification_setting_non_followers:"Utilisateurs qui ne vous suivent pas",notification_mutes:"Pour stopper la récéption de notifications d'un utilisateur particulier, utilisez un masquage.",notification_blocks:"Bloquer un utilisateur stoppe toute notification et se désabonne de lui.",enable_web_push_notifications:"Activer les notifications de push web",style:{switcher:{keep_color:"Garder les couleurs",keep_shadows:"Garder les ombres",keep_opacity:"Garder la transparence",keep_roundness:"Garder la rondeur",keep_fonts:"Garder les polices",save_load_hint:"L'option « Garder » préserve les options activés en cours lors de la séléction ou chargement des thèmes, il sauve aussi les dites options lors de l'export d'un thème. Quand toutes les cases sont décochés, exporter un thème sauvera tout.",reset:"Remise à zéro",clear_all:"Tout vider",clear_opacity:"Vider la transparence",load_theme:"Charger le thème",use_snapshot:"Ancienne version",help:{upgraded_from_v2:"PleromaFE à été mis à jour, le thème peut être un peu différent que dans vos souvenirs.",v2_imported:"Le fichier que vous avez importé vient d'un version antérieure. Nous essayons de maximizer la compatibilité mais il peu y avoir quelques incohérences.",future_version_imported:"Le fichier importé viens d'une version postérieure de PleromaFE.",older_version_imported:"Le fichier importé viens d'une version antérieure de PleromaFE.",snapshot_source_mismatch:"Conflict de version : Probablement due à un retour arrière puis remise à jour de la version de PleromaFE, si vous avez charger le thème en utilisant une version antérieure vous voulez probablement utiliser la version antérieure, autrement utiliser la version postérieure.",migration_napshot_gone:"Pour une raison inconnue l'instantané est manquant, des parties peuvent rendre différentes que dans vos souvenirs.",migration_snapshot_ok:"Pour être sûr un instantanée du thème à été chargé. Vos pouvez essayer de charger ses données.",fe_downgraded:"Retour en arrière de la version de PleromaFE.",fe_upgraded:"Le moteur de thème PleromaFE à été mis à jour après un changement de version.",snapshot_missing:"Aucun instantané du thème à été trouvé dans le fichier, il peut y avoir un rendu différent à la vision originelle."},keep_as_is:"Garder tel-quel",use_source:"Nouvelle version"},common:{color:"Couleur",opacity:"Transparence",contrast:{hint:"Le ratio de contraste est {ratio}, il {level} {context}",level:{aa:"répond aux directives de niveau AA (minimum)",aaa:"répond aux directives de niveau AAA (recommandé)",bad:"ne réponds à aucune directive d'accessibilité"},context:{"18pt":"pour texte large (19pt+)",text:"pour texte"}}},common_colors:{_tab_label:"Commun",main:"Couleurs communes",foreground_hint:"Voir l'onglet « Avancé » pour plus de contrôle détaillé",rgbo:"Icônes, accents, badges"},advanced_colors:{_tab_label:"Avancé",alert:"Fond d'alerte",alert_error:"Erreur",badge:"Fond de badge",badge_notification:"Notification",panel_header:"Entête de panneau",top_bar:"Barre du haut",borders:"Bordures",buttons:"Boutons",inputs:"Champs de saisie",faint_text:"Texte en fondu",underlay:"sous-calque",pressed:"Appuyé",alert_warning:"Avertissement",alert_neutral:"Neutre",post:"Messages/Bios des comptes",poll:"Graphique de Sondage",icons:"Icônes",selectedPost:"Message sélectionné",selectedMenu:"Objet sélectionné du menu",disabled:"Désactivé",tabs:"Onglets",toggled:"(Dés)activé",highlight:"Éléments mis en valeur",popover:"Infobulles, menus"},radii:{_tab_label:"Rondeur"},shadows:{_tab_label:"Ombres et éclairage",component:"Composant",override:"Surcharger",shadow_id:"Ombre #{value}",blur:"Flou",spread:"Dispersion",inset:"Interne",hint:"Pour les ombres, vous pouvez aussi utiliser --variable comme valeur de couleur en CSS3. Veuillez noter que spécifier la transparence ne fonctionnera pas dans ce cas.",filter_hint:{always_drop_shadow:"Attention, cette ombre utilise toujours {0} quand le navigateur le supporte.",drop_shadow_syntax:"{0} ne supporte pas le paramètre {1} et mot-clé {2}.",avatar_inset:"Veuillez noter que combiner a la fois les ombres internes et non-internes sur les avatars peut fournir des résultats innatendus avec la transparence des avatars.",spread_zero:"Les ombres avec une dispersion > 0 apparaitrons comme si ils étaient à zéro",inset_classic:"L'ombre interne utilisera toujours {0}"},components:{panel:"Panneau",panelHeader:"En-tête de panneau",topBar:"Barre du haut",avatar:"Avatar utilisateur⋅ice (dans la vue de profil)",avatarStatus:"Avatar utilisateur⋅ice (dans la vue de statuts)",popup:"Popups et infobulles",button:"Bouton",buttonHover:"Bouton (survol)",buttonPressed:"Bouton (cliqué)",buttonPressedHover:"Bouton (cliqué+survol)",input:"Champ de saisie"},hintV3:"Pour les ombres vous pouvez aussi utiliser la notation {0} pour utiliser un autre emplacement de couleur."},fonts:{_tab_label:"Polices",help:"Sélectionnez la police à utiliser pour les éléments de l'UI. Pour « personnalisé » vous avez à entrer le nom exact de la police comme il apparaît dans le système.",components:{interface:"Interface",input:"Champs de saisie",post:"Post text",postCode:"Texte à taille fixe dans un article (texte enrichi)"},family:"Nom de la police",size:"Taille (en px)",weight:"Poid (gras)",custom:"Personnalisé"},preview:{header:"Prévisualisation",content:"Contenu",error:"Exemple d'erreur",button:"Bouton",text:"Un certain nombre de {0} et {1}",mono:"contenu",input:"Je viens juste d’atterrir à L.A.",faint_link:"manuel utile",fine_print:"Lisez notre {0} pour n'apprendre rien d'utile !",header_faint:"Tout va bien",checkbox:"J'ai survolé les conditions d'utilisation",link:"un petit lien sympa"}},version:{title:"Version",backend_version:"Version du Backend",frontend_version:"Version du Frontend"},change_email:"Changer de courriel",domain_mutes:"Domaines",pad_emoji:"Rajouter un espace autour de l'émoji après l’avoir choisit",notification_visibility_emoji_reactions:"Réactions",hide_follows_count_description:"Masquer le nombre de suivis",useStreamingApiWarning:"(Non recommandé, expérimental, connu pour rater des messages)",type_domains_to_mute:"Écrire les domaines à masquer",fun:"Rigolo",greentext:"greentexting",allow_following_move:"Suivre automatiquement quand ce compte migre",change_email_error:"Il y a eu un problème pour charger votre courriel.",changed_email:"Courriel changé avec succès !",discoverable:"Permettre de découvrir ce compte dans les résultats de recherche web et autres services",emoji_reactions_on_timeline:"Montrer les émojis-réactions dans le flux",new_email:"Nouveau courriel",notification_visibility_moves:"Migrations de compte",user_mutes:"Comptes",useStreamingApi:"Recevoir les messages et notifications en temps réel",notification_setting_filters:"Filtres",notification_setting_privacy_option:"Masquer l'expéditeur et le contenu des notifications push",notification_setting_privacy:"Intimité",hide_followers_count_description:"Masquer le nombre d'abonnés",accent:"Accent"},timeline:{collapse:"Fermer",conversation:"Conversation",error_fetching:"Erreur en cherchant les mises à jour",load_older:"Afficher plus",no_retweet_hint:"Le message est marqué en abonnés-seulement ou direct et ne peut pas être partagé",repeated:"a partagé",show_new:"Afficher plus",up_to_date:"À jour",no_more_statuses:"Pas plus de statuts",no_statuses:"Aucun statuts"},status:{favorites:"Favoris",repeats:"Partages",delete:"Supprimer statuts",pin:"Agraffer sur le profil",unpin:"Dégraffer du profil",pinned:"Agraffé",delete_confirm:"Voulez-vous vraiment supprimer ce statuts ?",reply_to:"Réponse à",replies_list:"Réponses :",mute_conversation:"Masquer la conversation",unmute_conversation:"Démasquer la conversation",status_unavailable:"Status indisponible",copy_link:"Copier le lien au status"},user_card:{approve:"Accepter",block:"Bloquer",blocked:"Bloqué !",deny:"Rejeter",favorites:"Favoris",follow:"Suivre",follow_sent:"Demande envoyée !",follow_progress:"Demande en cours…",follow_again:"Renvoyer la demande ?",follow_unfollow:"Désabonner",followees:"Suivis",followers:"Vous suivent",following:"Suivi !",follows_you:"Vous suit !",its_you:"C'est vous !",media:"Media",mute:"Masquer",muted:"Masqué",per_day:"par jour",remote_follow:"Suivre d'une autre instance",report:"Signalement",statuses:"Statuts",unblock:"Débloquer",unblock_progress:"Déblocage…",block_progress:"Blocage…",unmute:"Démasquer",unmute_progress:"Démasquage…",mute_progress:"Masquage…",admin_menu:{moderation:"Moderation",grant_admin:"Promouvoir Administrateur⋅ice",revoke_admin:"Dégrader Administrateur⋅ice",grant_moderator:"Promouvoir Modérateur⋅ice",revoke_moderator:"Dégrader Modérateur⋅ice",activate_account:"Activer le compte",deactivate_account:"Désactiver le compte",delete_account:"Supprimer le compte",force_nsfw:"Marquer tous les statuts comme NSFW",strip_media:"Supprimer les medias des statuts",force_unlisted:"Forcer les statuts à être délistés",sandbox:"Forcer les statuts à être visibles seuleument pour les abonné⋅e⋅s",disable_remote_subscription:"Interdir de s'abonner a l'utilisateur depuis l'instance distante",disable_any_subscription:"Interdir de s'abonner à l'utilisateur tout court",quarantine:"Interdir les statuts de l'utilisateur à fédérer",delete_user:"Supprimer l'utilisateur",delete_user_confirmation:"Êtes-vous absolument-sûr⋅e ? Cette action ne peut être annulée."},mention:"Mention",hidden:"Caché",subscribe:"Abonner",unsubscribe:"Désabonner",hide_repeats:"Cacher les partages",show_repeats:"Montrer les partages"},user_profile:{timeline_title:"Journal de l'utilisateur⋅ice",profile_does_not_exist:"Désolé, ce profil n'existe pas.",profile_loading_error:"Désolé, il y a eu une erreur au chargement du profil."},user_reporting:{title:"Signaler {0}",add_comment_description:"Ce signalement sera envoyé aux modérateur⋅ice⋅s de votre instance. Vous pouvez fournir une explication de pourquoi vous signalez ce compte ci-dessous :",additional_comments:"Commentaires additionnels",forward_description:"Le compte vient d'un autre serveur. Envoyer une copie du signalement à celui-ci aussi ?",forward_to:"Transmettre à {0}",submit:"Envoyer",generic_error:"Une erreur est survenue lors du traitement de votre requête."},who_to_follow:{more:"Plus",who_to_follow:"À qui s'abonner"},tool_tip:{media_upload:"Envoyer un media",repeat:"Répéter",reply:"Répondre",favorite:"Favoriser",user_settings:"Paramètres utilisateur",add_reaction:"Ajouter une réaction",accept_follow_request:"Accepter la demande de suivit",reject_follow_request:"Rejeter la demande de suivit"},upload:{error:{base:"L'envoi a échoué.",file_too_big:"Fichier trop gros [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Réessayez plus tard"},file_size_units:{B:"O",KiB:"KiO",MiB:"MiO",GiB:"GiO",TiB:"TiO"}},about:{mrf:{keyword:{reject:"Rejeté",replace:"Remplacer",keyword_policies:"Politiques par mot-clés",ftl_removal:'Suppression du flux "Ensemble du réseau connu"',is_replaced_by:"→"},simple:{simple_policies:"Politiques par instances",accept:"Accepter",accept_desc:"Cette instance accepte des messages seulement depuis ces instances :",reject:"Rejeter",reject_desc:"Cette instance n'acceptera pas de message de ces instances :",quarantine:"Quarantaine",quarantine_desc:"Cette instance enverras seulement des messages publics à ces instances :",ftl_removal_desc:"Cette instance supprime ces instance du flux fédéré :",media_removal:"Suppression multimédia",media_removal_desc:"Cette instance supprime le contenu multimédia des instances suivantes :",media_nsfw:"Force le contenu multimédia comme sensible",ftl_removal:"Suppression du flux fédéré",media_nsfw_desc:"Cette instance force le contenu multimédia comme sensible pour les messages des instances suivantes :"},federation:"Fédération",mrf_policies:"Politiques MRF activées",mrf_policies_desc:"Les politiques MRF modifient la fédération entre les instances. Les politiques suivantes sont activées :"},staff:"Staff"},domain_mute_card:{mute:"Muet",mute_progress:"Masquage…",unmute:"Démasquer",unmute_progress:"Démasquage…"},polls:{add_poll:"Ajouter un Sondage",add_option:"Ajouter une option",option:"Option",votes:"votes",type:"Type de Sondage",single_choice:"Choix unique",multiple_choices:"Choix multiples",expiry:"Age du sondage",expires_in:"Fin du sondage dans {0}",not_enough_options:"Trop peu d'options unique au sondage",vote:"Voter",expired:"Sondage terminé il y a {0}"},emoji:{emoji:"Émoji",search_emoji:"Rechercher un émoji",add_emoji:"Insérer un émoji",custom:"émoji personnalisé",unicode:"émoji unicode",load_all:"Charger tout les {emojiAmount} émojis",load_all_hint:"{saneAmount} émojis chargé, charger tout les émojis peuvent causer des problèmes de performances.",stickers:"Stickers",keep_open:"Garder le sélecteur ouvert"},remote_user_resolver:{error:"Non trouvé.",searching_for:"Rechercher",remote_user_resolver:"Résolution de compte distant"},time:{minutes_short:"{0}min",second_short:"{0}s",day:"{0} jour",days:"{0} jours",months:"{0} mois",month_short:"{0}m",months_short:"{0}m",now:"tout de suite",now_short:"maintenant",second:"{0} seconde",seconds:"{0} secondes",seconds_short:"{0}s",day_short:"{0}j",days_short:"{0}j",hour:"{0} heure",hours:"{0} heures",hour_short:"{0}h",hours_short:"{0}h",in_future:"dans {0}",in_past:"il y a {0}",minute:"{0} minute",minutes:"{0} minutes",minute_short:"{0}min",month:"{0} mois",week:"{0} semaine",weeks:"{0} semaines",week_short:"{0}s",weeks_short:"{0}s",year:"{0} année",years:"{0} années",year_short:"{0}a",years_short:"{0}a"},search:{people:"Comptes",person_talking:"{count} personnes discutant",hashtags:"Mot-dièses",people_talking:"{count} personnes discutant",no_results:"Aucun résultats"},password_reset:{forgot_password:"Mot de passe oublié ?",check_email:"Vérifiez vos courriels pour le lien permettant de changer votre mot de passe.",password_reset_disabled:"Le changement de mot de passe est désactivé. Veuillez contacter l'administration de votre instance.",password_reset_required_but_mailer_is_disabled:"Vous devez changer votre mot de passe mais sont changement est désactivé. Veuillez contacter l’administration de votre instance.",password_reset:"Nouveau mot de passe",instruction:"Entrer votre address de courriel ou votre nom utilisateur. Nous enverrons un lien pour changer votre mot de passe.",placeholder:"Votre email ou nom d'utilisateur",return_home:"Retourner à la page d'accueil",not_found:"Email ou nom d'utilisateur inconnu.",too_many_requests:"Vos avez atteint la limite d'essais, essayez plus tard.",password_reset_required:"Vous devez changer votre mot de passe pour vous authentifier."}}}}]); -//# sourceMappingURL=14.cc092634462fd2a4cfbc.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{565:function(e){e.exports={chat:{title:"Chat"},exporter:{export:"Exporter",processing:"En cours de traitement, vous pourrez bientôt télécharger votre fichier"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Proxy média",scope_options:"Options de visibilité",text_limit:"Limite de texte",title:"Caractéristiques",who_to_follow:"Personnes à suivre"},finder:{error_fetching_user:"Erreur lors de la recherche de l'utilisateur·ice",find_user:"Chercher un-e utilisateur·ice"},general:{apply:"Appliquer",submit:"Envoyer",more:"Plus",generic_error:"Une erreur s'est produite",optional:"optionnel",show_more:"Montrer plus",show_less:"Montrer moins",cancel:"Annuler",disable:"Désactiver",enable:"Activer",confirm:"Confirmer",verify:"Vérifier",dismiss:"Rejeter"},image_cropper:{crop_picture:"Rogner l'image",save:"Sauvegarder",save_without_cropping:"Sauvegarder sans rogner",cancel:"Annuler"},importer:{submit:"Soumettre",success:"Importé avec succès.",error:"Une erreur est survenue pendant l'import de ce fichier."},login:{login:"Connexion",description:"Connexion avec OAuth",logout:"Déconnexion",password:"Mot de passe",placeholder:"p.e. lain",register:"S'inscrire",username:"Identifiant",hint:"Connectez-vous pour rejoindre la discussion",authentication_code:"Code d'authentification",enter_recovery_code:"Entrez un code de récupération",enter_two_factor_code:"Entrez un code à double authentification",recovery_code:"Code de récupération",heading:{totp:"Authentification à double authentification",recovery:"Récuperation de la double authentification"}},media_modal:{previous:"Précédent",next:"Suivant"},nav:{about:"À propos",back:"Retour",chat:"Chat local",friend_requests:"Demandes de suivi",mentions:"Notifications",interactions:"Interactions",dms:"Messages directs",public_tl:"Fil d'actualité public",timeline:"Fil d'actualité",twkn:"Ensemble du réseau connu",user_search:"Recherche d'utilisateur·ice",who_to_follow:"Qui suivre",preferences:"Préférences",search:"Recherche",administration:"Administration"},notifications:{broken_favorite:"Chargement d'un message inconnu…",favorited_you:"a aimé votre statut",followed_you:"a commencé à vous suivre",load_older:"Charger les notifications précédentes",notifications:"Notifications",read:"Lu !",repeated_you:"a partagé votre statut",no_more_notifications:"Aucune notification supplémentaire",migrated_to:"a migré à",reacted_with:"a réagi avec {0}",follow_request:"veut vous suivre"},interactions:{favs_repeats:"Partages et favoris",follows:"Nouveaux suivis",load_older:"Chargez d'anciennes interactions",moves:"Migrations de comptes"},post_status:{new_status:"Poster un nouveau statut",account_not_locked_warning:"Votre compte n'est pas {0}. N'importe qui peut vous suivre pour voir vos billets en Abonné·e·s uniquement.",account_not_locked_warning_link:"verrouillé",attachments_sensitive:"Marquer le média comme sensible",content_type:{"text/plain":"Texte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Sujet (optionnel)",default:"Écrivez ici votre prochain statut.",direct_warning_to_all:"Ce message sera visible pour toutes les personnes mentionnées.",direct_warning_to_first_only:"Ce message sera visible uniquement pour personnes mentionnées au début du message.",posting:"Envoi en cours",scope_notice:{public:"Ce statut sera visible par tout le monde",private:"Ce statut sera visible par seulement vos abonné⋅e⋅s",unlisted:"Ce statut ne sera pas visible dans le Fil d'actualité public et l'Ensemble du réseau connu"},scope:{direct:"Direct - N'envoyer qu'aux personnes mentionnées",private:"Abonné·e·s uniquement - Seul·e·s vos abonné·e·s verront vos billets",public:"Publique - Afficher dans les fils publics",unlisted:"Non-Listé - Ne pas afficher dans les fils publics"}},registration:{bio:"Biographie",email:"Adresse mail",fullname:"Pseudonyme",password_confirm:"Confirmation du mot de passe",registration:"Inscription",token:"Jeton d'invitation",captcha:"CAPTCHA",new_captcha:"Cliquez sur l'image pour avoir un nouveau captcha",username_placeholder:"p.e. lain",fullname_placeholder:"p.e. Lain Iwakura",bio_placeholder:"p.e.\nSalut, je suis Lain\nJe suis une héroïne d'animé qui vit dans une banlieue japonaise. Vous me connaissez peut-être du Wired.",validations:{username_required:"ne peut pas être laissé vide",fullname_required:"ne peut pas être laissé vide",email_required:"ne peut pas être laissé vide",password_required:"ne peut pas être laissé vide",password_confirmation_required:"ne peut pas être laissé vide",password_confirmation_match:"doit être identique au mot de passe"}},selectable_list:{select_all:"Tout selectionner"},settings:{app_name:"Nom de l'application",security:"Sécurité",enter_current_password_to_confirm:"Entrez votre mot de passe actuel pour confirmer votre identité",mfa:{otp:"OTP",setup_otp:"Configurer OTP",wait_pre_setup_otp:"préconfiguration OTP",confirm_and_enable:"Confirmer & activer OTP",title:"Double authentification",generate_new_recovery_codes:"Générer de nouveaux codes de récupération",warning_of_generate_new_codes:"Quand vous générez de nouveauc codes de récupération, vos anciens codes ne fonctionnerons plus.",recovery_codes:"Codes de récupération.",waiting_a_recovery_codes:"Réception des codes de récupération…",recovery_codes_warning:"Écrivez les codes ou sauvez les quelquepart sécurisé - sinon vous ne les verrez plus jamais. Si vous perdez l'accès à votre application de double authentification et codes de récupération vous serez vérouillé en dehors de votre compte.",authentication_methods:"Methodes d'authentification",scan:{title:"Scanner",desc:"En utilisant votre application de double authentification, scannez ce QR code ou entrez la clé textuelle :",secret_code:"Clé"},verify:{desc:"Pour activer la double authentification, entrez le code depuis votre application :"}},attachmentRadius:"Pièces jointes",attachments:"Pièces jointes",autoload:"Charger la suite automatiquement une fois le bas de la page atteint",avatar:"Avatar",avatarAltRadius:"Avatars (Notifications)",avatarRadius:"Avatars",background:"Arrière-plan",bio:"Biographie",block_export:"Export des comptes bloqués",block_export_button:"Export des comptes bloqués vers un fichier csv",block_import:"Import des comptes bloqués",block_import_error:"Erreur lors de l'import des comptes bloqués",blocks_imported:"Blocks importés ! Le traitement va prendre un moment.",blocks_tab:"Bloqué·e·s",btnRadius:"Boutons",cBlue:"Bleu (répondre, suivre)",cGreen:"Vert (partager)",cOrange:"Orange (aimer)",cRed:"Rouge (annuler)",change_password:"Changez votre mot de passe",change_password_error:"Il y a eu un problème pour changer votre mot de passe.",changed_password:"Mot de passe modifié avec succès !",collapse_subject:"Réduire les messages avec des sujets",composing:"Composition",confirm_new_password:"Confirmation du nouveau mot de passe",current_avatar:"Avatar actuel",current_password:"Mot de passe actuel",current_profile_banner:"Bannière de profil actuelle",data_import_export_tab:"Import / Export des Données",default_vis:"Visibilité par défaut",delete_account:"Supprimer le compte",delete_account_description:"Supprimer définitivement vos données et désactiver votre compte.",delete_account_error:"Il y a eu un problème lors de la tentative de suppression de votre compte. Si le problème persiste, contactez l'administrateur⋅ice de cette instance.",delete_account_instructions:"Indiquez votre mot de passe ci-dessous pour confirmer la suppression de votre compte.",avatar_size_instruction:"La taille minimale recommandée pour l'image de l'avatar est de 150x150 pixels.",export_theme:"Enregistrer le thème",filtering:"Filtre",filtering_explanation:"Tous les statuts contenant ces mots seront masqués. Un mot par ligne",follow_export:"Exporter les abonnements",follow_export_button:"Exporter les abonnements en csv",follow_import:"Importer des abonnements",follow_import_error:"Erreur lors de l'importation des abonnements",follows_imported:"Abonnements importés ! Le traitement peut prendre un moment.",foreground:"Premier plan",general:"Général",hide_attachments_in_convo:"Masquer les pièces jointes dans les conversations",hide_attachments_in_tl:"Masquer les pièces jointes dans le journal",hide_muted_posts:"Masquer les statuts des utilisateurs masqués",max_thumbnails:"Nombre maximum de miniatures par statuts",hide_isp:"Masquer le panneau spécifique a l'instance",preload_images:"Précharger les images",use_one_click_nsfw:"Ouvrir les pièces-jointes NSFW avec un seul clic",hide_post_stats:"Masquer les statistiques de publication (le nombre de favoris)",hide_user_stats:"Masquer les statistiques de profil (le nombre d'amis)",hide_filtered_statuses:"Masquer les statuts filtrés",import_blocks_from_a_csv_file:"Importer les blocages depuis un fichier csv",import_followers_from_a_csv_file:"Importer des abonnements depuis un fichier csv",import_theme:"Charger le thème",inputRadius:"Champs de texte",checkboxRadius:"Cases à cocher",instance_default:"(default : {value})",instance_default_simple:"(default)",interface:"Interface",interfaceLanguage:"Langue de l'interface",invalid_theme_imported:"Le fichier sélectionné n'est pas un thème Pleroma pris en charge. Aucun changement n'a été apporté à votre thème.",limited_availability:"Non disponible dans votre navigateur",links:"Liens",lock_account_description:"Limitez votre compte aux abonnés acceptés uniquement",loop_video:"Vidéos en boucle",loop_video_silent_only:"Boucle uniquement les vidéos sans le son (les « gifs » de Mastodon)",mutes_tab:"Comptes silenciés",play_videos_in_modal:"Jouer les vidéos directement dans le visionneur de médias",use_contain_fit:"Ne pas rogner les miniatures des pièces-jointes",name:"Nom",name_bio:"Nom & Bio",new_password:"Nouveau mot de passe",notification_visibility:"Types de notifications à afficher",notification_visibility_follows:"Abonnements",notification_visibility_likes:"J'aime",notification_visibility_mentions:"Mentionnés",notification_visibility_repeats:"Partages",no_rich_text_description:"Ne formatez pas le texte",no_blocks:"Aucun bloqués",no_mutes:"Aucun masqués",hide_follows_description:"Ne pas afficher à qui je suis abonné",hide_followers_description:"Ne pas afficher qui est abonné à moi",show_admin_badge:"Afficher le badge d'Administrateur⋅ice sur mon profil",show_moderator_badge:"Afficher le badge de Modérateur⋅ice sur mon profil",nsfw_clickthrough:"Masquer les images marquées comme contenu adulte ou sensible",oauth_tokens:"Jetons OAuth",token:"Jeton",refresh_token:"Rafraichir le jeton",valid_until:"Valable jusque",revoke_token:"Révoquer",panelRadius:"Fenêtres",pause_on_unfocused:"Suspendre le streaming lorsque l'onglet n'est pas actif",presets:"Thèmes prédéfinis",profile_background:"Image de fond",profile_banner:"Bannière de profil",profile_tab:"Profil",radii_help:"Vous pouvez ici choisir le niveau d'arrondi des angles de l'interface (en pixels)",replies_in_timeline:"Réponses au journal",reply_link_preview:"Afficher un aperçu lors du survol de liens vers une réponse",reply_visibility_all:"Montrer toutes les réponses",reply_visibility_following:"Afficher uniquement les réponses adressées à moi ou aux personnes que je suis",reply_visibility_self:"Afficher uniquement les réponses adressées à moi",autohide_floating_post_button:"Automatiquement cacher le bouton de Nouveau Statut (sur mobile)",saving_err:"Erreur lors de l'enregistrement des paramètres",saving_ok:"Paramètres enregistrés",search_user_to_block:"Rechercher qui vous voulez bloquer",search_user_to_mute:"Rechercher qui vous voulez masquer",security_tab:"Sécurité",scope_copy:"Garder la même visibilité en répondant (les DMs restent toujours des DMs)",minimal_scopes_mode:"Rétrécir les options de séléction de la portée",set_new_avatar:"Changer d'avatar",set_new_profile_background:"Changer d'image de fond",set_new_profile_banner:"Changer de bannière",settings:"Paramètres",subject_input_always_show:"Toujours copier le champ de sujet",subject_line_behavior:"Copier le sujet en répondant",subject_line_email:"Similaire au courriel : « re : sujet »",subject_line_mastodon:"Comme mastodon : copier tel quel",subject_line_noop:"Ne pas copier",post_status_content_type:"Type de contenu du statuts",stop_gifs:"N'animer les GIFS que lors du survol du curseur de la souris",streaming:"Charger automatiquement les nouveaux statuts lorsque vous êtes au haut de la page",text:"Texte",theme:"Thème",theme_help:"Spécifiez des codes couleur hexadécimaux (#rrvvbb) pour personnaliser les couleurs du thème.",theme_help_v2_1:"Vous pouvez aussi surcharger certaines couleurs de composants et transparence via la case à cocher, utilisez le bouton « Vider tout » pour effacer toutes les surcharges.",theme_help_v2_2:"Les icônes sous certaines des entrées ont un indicateur de contraste du fond/texte, survolez les pour plus d'informations détailles. Veuillez garder a l'esprit que lors de l'utilisation de transparence l'indicateur de contraste indique le pire des cas.",tooltipRadius:"Info-bulles/alertes",upload_a_photo:"Envoyer une photo",user_settings:"Paramètres utilisateur",values:{false:"non",true:"oui"},notifications:"Notifications",notification_setting:"Reçevoir les notifications de :",notification_setting_follows:"Utilisateurs que vous suivez",notification_setting_non_follows:"Utilisateurs que vous ne suivez pas",notification_setting_followers:"Utilisateurs qui vous suivent",notification_setting_non_followers:"Utilisateurs qui ne vous suivent pas",notification_mutes:"Pour stopper la récéption de notifications d'un utilisateur particulier, utilisez un masquage.",notification_blocks:"Bloquer un utilisateur stoppe toute notification et se désabonne de lui.",enable_web_push_notifications:"Activer les notifications de push web",style:{switcher:{keep_color:"Garder les couleurs",keep_shadows:"Garder les ombres",keep_opacity:"Garder la transparence",keep_roundness:"Garder la rondeur",keep_fonts:"Garder les polices",save_load_hint:"L'option « Garder » préserve les options activés en cours lors de la séléction ou chargement des thèmes, il sauve aussi les dites options lors de l'export d'un thème. Quand toutes les cases sont décochés, exporter un thème sauvera tout.",reset:"Remise à zéro",clear_all:"Tout vider",clear_opacity:"Vider la transparence",load_theme:"Charger le thème",use_snapshot:"Ancienne version",help:{upgraded_from_v2:"PleromaFE à été mis à jour, le thème peut être un peu différent que dans vos souvenirs.",v2_imported:"Le fichier que vous avez importé vient d'un version antérieure. Nous essayons de maximizer la compatibilité mais il peu y avoir quelques incohérences.",future_version_imported:"Le fichier importé viens d'une version postérieure de PleromaFE.",older_version_imported:"Le fichier importé viens d'une version antérieure de PleromaFE.",snapshot_source_mismatch:"Conflict de version : Probablement due à un retour arrière puis remise à jour de la version de PleromaFE, si vous avez charger le thème en utilisant une version antérieure vous voulez probablement utiliser la version antérieure, autrement utiliser la version postérieure.",migration_napshot_gone:"Pour une raison inconnue l'instantané est manquant, des parties peuvent rendre différentes que dans vos souvenirs.",migration_snapshot_ok:"Pour être sûr un instantanée du thème à été chargé. Vos pouvez essayer de charger ses données.",fe_downgraded:"Retour en arrière de la version de PleromaFE.",fe_upgraded:"Le moteur de thème PleromaFE à été mis à jour après un changement de version.",snapshot_missing:"Aucun instantané du thème à été trouvé dans le fichier, il peut y avoir un rendu différent à la vision originelle."},keep_as_is:"Garder tel-quel",use_source:"Nouvelle version"},common:{color:"Couleur",opacity:"Transparence",contrast:{hint:"Le ratio de contraste est {ratio}, il {level} {context}",level:{aa:"répond aux directives de niveau AA (minimum)",aaa:"répond aux directives de niveau AAA (recommandé)",bad:"ne réponds à aucune directive d'accessibilité"},context:{"18pt":"pour texte large (19pt+)",text:"pour texte"}}},common_colors:{_tab_label:"Commun",main:"Couleurs communes",foreground_hint:"Voir l'onglet « Avancé » pour plus de contrôle détaillé",rgbo:"Icônes, accents, badges"},advanced_colors:{_tab_label:"Avancé",alert:"Fond d'alerte",alert_error:"Erreur",badge:"Fond de badge",badge_notification:"Notification",panel_header:"Entête de panneau",top_bar:"Barre du haut",borders:"Bordures",buttons:"Boutons",inputs:"Champs de saisie",faint_text:"Texte en fondu",underlay:"sous-calque",pressed:"Appuyé",alert_warning:"Avertissement",alert_neutral:"Neutre",post:"Messages/Bios des comptes",poll:"Graphique de Sondage",icons:"Icônes",selectedPost:"Message sélectionné",selectedMenu:"Objet sélectionné du menu",disabled:"Désactivé",tabs:"Onglets",toggled:"(Dés)activé",highlight:"Éléments mis en valeur",popover:"Infobulles, menus"},radii:{_tab_label:"Rondeur"},shadows:{_tab_label:"Ombres et éclairage",component:"Composant",override:"Surcharger",shadow_id:"Ombre #{value}",blur:"Flou",spread:"Dispersion",inset:"Interne",hint:"Pour les ombres, vous pouvez aussi utiliser --variable comme valeur de couleur en CSS3. Veuillez noter que spécifier la transparence ne fonctionnera pas dans ce cas.",filter_hint:{always_drop_shadow:"Attention, cette ombre utilise toujours {0} quand le navigateur le supporte.",drop_shadow_syntax:"{0} ne supporte pas le paramètre {1} et mot-clé {2}.",avatar_inset:"Veuillez noter que combiner a la fois les ombres internes et non-internes sur les avatars peut fournir des résultats innatendus avec la transparence des avatars.",spread_zero:"Les ombres avec une dispersion > 0 apparaitrons comme si ils étaient à zéro",inset_classic:"L'ombre interne utilisera toujours {0}"},components:{panel:"Panneau",panelHeader:"En-tête de panneau",topBar:"Barre du haut",avatar:"Avatar utilisateur⋅ice (dans la vue de profil)",avatarStatus:"Avatar utilisateur⋅ice (dans la vue de statuts)",popup:"Popups et infobulles",button:"Bouton",buttonHover:"Bouton (survol)",buttonPressed:"Bouton (cliqué)",buttonPressedHover:"Bouton (cliqué+survol)",input:"Champ de saisie"},hintV3:"Pour les ombres vous pouvez aussi utiliser la notation {0} pour utiliser un autre emplacement de couleur."},fonts:{_tab_label:"Polices",help:"Sélectionnez la police à utiliser pour les éléments de l'UI. Pour « personnalisé » vous avez à entrer le nom exact de la police comme il apparaît dans le système.",components:{interface:"Interface",input:"Champs de saisie",post:"Post text",postCode:"Texte à taille fixe dans un article (texte enrichi)"},family:"Nom de la police",size:"Taille (en px)",weight:"Poid (gras)",custom:"Personnalisé"},preview:{header:"Prévisualisation",content:"Contenu",error:"Exemple d'erreur",button:"Bouton",text:"Un certain nombre de {0} et {1}",mono:"contenu",input:"Je viens juste d’atterrir à L.A.",faint_link:"manuel utile",fine_print:"Lisez notre {0} pour n'apprendre rien d'utile !",header_faint:"Tout va bien",checkbox:"J'ai survolé les conditions d'utilisation",link:"un petit lien sympa"}},version:{title:"Version",backend_version:"Version du Backend",frontend_version:"Version du Frontend"},change_email:"Changer de courriel",domain_mutes:"Domaines",pad_emoji:"Rajouter un espace autour de l'émoji après l’avoir choisit",notification_visibility_emoji_reactions:"Réactions",hide_follows_count_description:"Masquer le nombre de suivis",useStreamingApiWarning:"(Non recommandé, expérimental, connu pour rater des messages)",type_domains_to_mute:"Écrire les domaines à masquer",fun:"Rigolo",greentext:"greentexting",allow_following_move:"Suivre automatiquement quand ce compte migre",change_email_error:"Il y a eu un problème pour charger votre courriel.",changed_email:"Courriel changé avec succès !",discoverable:"Permettre de découvrir ce compte dans les résultats de recherche web et autres services",emoji_reactions_on_timeline:"Montrer les émojis-réactions dans le flux",new_email:"Nouveau courriel",notification_visibility_moves:"Migrations de compte",user_mutes:"Comptes",useStreamingApi:"Recevoir les messages et notifications en temps réel",notification_setting_filters:"Filtres",notification_setting_privacy_option:"Masquer l'expéditeur et le contenu des notifications push",notification_setting_privacy:"Intimité",hide_followers_count_description:"Masquer le nombre d'abonnés",accent:"Accent"},timeline:{collapse:"Fermer",conversation:"Conversation",error_fetching:"Erreur en cherchant les mises à jour",load_older:"Afficher plus",no_retweet_hint:"Le message est marqué en abonnés-seulement ou direct et ne peut pas être partagé",repeated:"a partagé",show_new:"Afficher plus",up_to_date:"À jour",no_more_statuses:"Pas plus de statuts",no_statuses:"Aucun statuts"},status:{favorites:"Favoris",repeats:"Partages",delete:"Supprimer statuts",pin:"Agraffer sur le profil",unpin:"Dégraffer du profil",pinned:"Agraffé",delete_confirm:"Voulez-vous vraiment supprimer ce statuts ?",reply_to:"Réponse à",replies_list:"Réponses :",mute_conversation:"Masquer la conversation",unmute_conversation:"Démasquer la conversation",status_unavailable:"Status indisponible",copy_link:"Copier le lien au status"},user_card:{approve:"Accepter",block:"Bloquer",blocked:"Bloqué !",deny:"Rejeter",favorites:"Favoris",follow:"Suivre",follow_sent:"Demande envoyée !",follow_progress:"Demande en cours…",follow_again:"Renvoyer la demande ?",follow_unfollow:"Désabonner",followees:"Suivis",followers:"Vous suivent",following:"Suivi !",follows_you:"Vous suit !",its_you:"C'est vous !",media:"Media",mute:"Masquer",muted:"Masqué",per_day:"par jour",remote_follow:"Suivre d'une autre instance",report:"Signalement",statuses:"Statuts",unblock:"Débloquer",unblock_progress:"Déblocage…",block_progress:"Blocage…",unmute:"Démasquer",unmute_progress:"Démasquage…",mute_progress:"Masquage…",admin_menu:{moderation:"Moderation",grant_admin:"Promouvoir Administrateur⋅ice",revoke_admin:"Dégrader Administrateur⋅ice",grant_moderator:"Promouvoir Modérateur⋅ice",revoke_moderator:"Dégrader Modérateur⋅ice",activate_account:"Activer le compte",deactivate_account:"Désactiver le compte",delete_account:"Supprimer le compte",force_nsfw:"Marquer tous les statuts comme NSFW",strip_media:"Supprimer les medias des statuts",force_unlisted:"Forcer les statuts à être délistés",sandbox:"Forcer les statuts à être visibles seuleument pour les abonné⋅e⋅s",disable_remote_subscription:"Interdir de s'abonner a l'utilisateur depuis l'instance distante",disable_any_subscription:"Interdir de s'abonner à l'utilisateur tout court",quarantine:"Interdir les statuts de l'utilisateur à fédérer",delete_user:"Supprimer l'utilisateur",delete_user_confirmation:"Êtes-vous absolument-sûr⋅e ? Cette action ne peut être annulée."},mention:"Mention",hidden:"Caché",subscribe:"Abonner",unsubscribe:"Désabonner",hide_repeats:"Cacher les partages",show_repeats:"Montrer les partages"},user_profile:{timeline_title:"Journal de l'utilisateur⋅ice",profile_does_not_exist:"Désolé, ce profil n'existe pas.",profile_loading_error:"Désolé, il y a eu une erreur au chargement du profil."},user_reporting:{title:"Signaler {0}",add_comment_description:"Ce signalement sera envoyé aux modérateur⋅ice⋅s de votre instance. Vous pouvez fournir une explication de pourquoi vous signalez ce compte ci-dessous :",additional_comments:"Commentaires additionnels",forward_description:"Le compte vient d'un autre serveur. Envoyer une copie du signalement à celui-ci aussi ?",forward_to:"Transmettre à {0}",submit:"Envoyer",generic_error:"Une erreur est survenue lors du traitement de votre requête."},who_to_follow:{more:"Plus",who_to_follow:"À qui s'abonner"},tool_tip:{media_upload:"Envoyer un media",repeat:"Répéter",reply:"Répondre",favorite:"Favoriser",user_settings:"Paramètres utilisateur",add_reaction:"Ajouter une réaction",accept_follow_request:"Accepter la demande de suivit",reject_follow_request:"Rejeter la demande de suivit"},upload:{error:{base:"L'envoi a échoué.",file_too_big:"Fichier trop gros [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Réessayez plus tard"},file_size_units:{B:"O",KiB:"KiO",MiB:"MiO",GiB:"GiO",TiB:"TiO"}},about:{mrf:{keyword:{reject:"Rejeté",replace:"Remplacer",keyword_policies:"Politiques par mot-clés",ftl_removal:'Suppression du flux "Ensemble du réseau connu"',is_replaced_by:"→"},simple:{simple_policies:"Politiques par instances",accept:"Accepter",accept_desc:"Cette instance accepte des messages seulement depuis ces instances :",reject:"Rejeter",reject_desc:"Cette instance n'acceptera pas de message de ces instances :",quarantine:"Quarantaine",quarantine_desc:"Cette instance enverras seulement des messages publics à ces instances :",ftl_removal_desc:"Cette instance supprime ces instance du flux fédéré :",media_removal:"Suppression multimédia",media_removal_desc:"Cette instance supprime le contenu multimédia des instances suivantes :",media_nsfw:"Force le contenu multimédia comme sensible",ftl_removal:"Suppression du flux fédéré",media_nsfw_desc:"Cette instance force le contenu multimédia comme sensible pour les messages des instances suivantes :"},federation:"Fédération",mrf_policies:"Politiques MRF activées",mrf_policies_desc:"Les politiques MRF modifient la fédération entre les instances. Les politiques suivantes sont activées :"},staff:"Staff"},domain_mute_card:{mute:"Muet",mute_progress:"Masquage…",unmute:"Démasquer",unmute_progress:"Démasquage…"},polls:{add_poll:"Ajouter un Sondage",add_option:"Ajouter une option",option:"Option",votes:"votes",type:"Type de Sondage",single_choice:"Choix unique",multiple_choices:"Choix multiples",expiry:"Age du sondage",expires_in:"Fin du sondage dans {0}",not_enough_options:"Trop peu d'options unique au sondage",vote:"Voter",expired:"Sondage terminé il y a {0}"},emoji:{emoji:"Émoji",search_emoji:"Rechercher un émoji",add_emoji:"Insérer un émoji",custom:"émoji personnalisé",unicode:"émoji unicode",load_all:"Charger tout les {emojiAmount} émojis",load_all_hint:"{saneAmount} émojis chargé, charger tout les émojis peuvent causer des problèmes de performances.",stickers:"Stickers",keep_open:"Garder le sélecteur ouvert"},remote_user_resolver:{error:"Non trouvé.",searching_for:"Rechercher",remote_user_resolver:"Résolution de compte distant"},time:{minutes_short:"{0}min",second_short:"{0}s",day:"{0} jour",days:"{0} jours",months:"{0} mois",month_short:"{0}m",months_short:"{0}m",now:"tout de suite",now_short:"maintenant",second:"{0} seconde",seconds:"{0} secondes",seconds_short:"{0}s",day_short:"{0}j",days_short:"{0}j",hour:"{0} heure",hours:"{0} heures",hour_short:"{0}h",hours_short:"{0}h",in_future:"dans {0}",in_past:"il y a {0}",minute:"{0} minute",minutes:"{0} minutes",minute_short:"{0}min",month:"{0} mois",week:"{0} semaine",weeks:"{0} semaines",week_short:"{0}s",weeks_short:"{0}s",year:"{0} année",years:"{0} années",year_short:"{0}a",years_short:"{0}a"},search:{people:"Comptes",person_talking:"{count} personnes discutant",hashtags:"Mot-dièses",people_talking:"{count} personnes discutant",no_results:"Aucun résultats"},password_reset:{forgot_password:"Mot de passe oublié ?",check_email:"Vérifiez vos courriels pour le lien permettant de changer votre mot de passe.",password_reset_disabled:"Le changement de mot de passe est désactivé. Veuillez contacter l'administration de votre instance.",password_reset_required_but_mailer_is_disabled:"Vous devez changer votre mot de passe mais sont changement est désactivé. Veuillez contacter l’administration de votre instance.",password_reset:"Nouveau mot de passe",instruction:"Entrer votre address de courriel ou votre nom utilisateur. Nous enverrons un lien pour changer votre mot de passe.",placeholder:"Votre email ou nom d'utilisateur",return_home:"Retourner à la page d'accueil",not_found:"Email ou nom d'utilisateur inconnu.",too_many_requests:"Vos avez atteint la limite d'essais, essayez plus tard.",password_reset_required:"Vous devez changer votre mot de passe pour vous authentifier."}}}}]); +//# sourceMappingURL=14.b7f6eb3ea71d2ac2bb41.js.map \ No newline at end of file diff --git a/priv/static/static/js/14.b7f6eb3ea71d2ac2bb41.js.map b/priv/static/static/js/14.b7f6eb3ea71d2ac2bb41.js.map new file mode 100644 index 000000000..07a26f298 --- /dev/null +++ b/priv/static/static/js/14.b7f6eb3ea71d2ac2bb41.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/14.b7f6eb3ea71d2ac2bb41.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/14.cc092634462fd2a4cfbc.js.map b/priv/static/static/js/14.cc092634462fd2a4cfbc.js.map deleted file mode 100644 index 97e151b4e..000000000 --- a/priv/static/static/js/14.cc092634462fd2a4cfbc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/14.cc092634462fd2a4cfbc.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/15.e9ddc5dfd38426398e00.js b/priv/static/static/js/15.d814a29a970070494722.js similarity index 98% rename from priv/static/static/js/15.e9ddc5dfd38426398e00.js rename to priv/static/static/js/15.d814a29a970070494722.js index f03e74897..17eaf5218 100644 --- a/priv/static/static/js/15.e9ddc5dfd38426398e00.js +++ b/priv/static/static/js/15.d814a29a970070494722.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{548:function(a){a.exports={chat:{title:"Comhrá"},features_panel:{chat:"Comhrá",gopher:"Gófar",media_proxy:"Seachfhreastalaí meáin",scope_options:"Rogha scóip",text_limit:"Teorainn Téacs",title:"Gnéithe",who_to_follow:"Daoine le leanúint"},finder:{error_fetching_user:"Earráid a aimsiú d'úsáideoir",find_user:"Aimsigh úsáideoir"},general:{apply:"Feidhmigh",submit:"Deimhnigh"},login:{login:"Logáil isteach",logout:"Logáil amach",password:"Pasfhocal",placeholder:"m.sh. Daire",register:"Clárú",username:"Ainm Úsáideora"},nav:{chat:"Comhrá Áitiúil",friend_requests:"Iarratas ar Cairdeas",mentions:"Tagairt",public_tl:"Amlíne Poiblí",timeline:"Amlíne",twkn:"An Líonra Iomlán"},notifications:{broken_favorite:"Post anaithnid. Cuardach dó...",favorited_you:"toghadh le do phost",followed_you:"lean tú",load_older:"Luchtaigh fógraí aosta",notifications:"Fógraí",read:"Léigh!",repeated_you:"athphostáil tú"},post_status:{account_not_locked_warning:"Níl do chuntas {0}. Is féidir le duine ar bith a leanúint leat chun do phoist leantacha amháin a fheiceáil.",account_not_locked_warning_link:"faoi glas",attachments_sensitive:"Marcáil ceangaltán mar íogair",content_type:{"text/plain":"Gnáth-théacs"},content_warning:"Teideal (roghnach)",default:"Lá iontach anseo i nGaillimh",direct_warning:"Ní bheidh an post seo le feiceáil ach amháin do na húsáideoirí atá luaite.",posting:"Post nua",scope:{direct:"Díreach - Post chuig úsáideoirí luaite amháin",private:"Leanúna amháin - Post chuig lucht leanúna amháin",public:"Poiblí - Post chuig amlínte poiblí",unlisted:"Neamhliostaithe - Ná cuir post chuig amlínte poiblí"}},registration:{bio:"Scéal saoil",email:"Ríomhphost",fullname:"Ainm taispeána'",password_confirm:"Deimhnigh do pasfhocal",registration:"Clárú",token:"Cód cuireadh"},settings:{attachmentRadius:"Ceangaltáin",attachments:"Ceangaltáin",autoload:"Cumasaigh luchtú uathoibríoch nuair a scrollaítear go bun",avatar:"Phictúir phrófíle",avatarAltRadius:"Phictúirí phrófíle (Fograí)",avatarRadius:"Phictúirí phrófíle",background:"Cúlra",bio:"Scéal saoil",btnRadius:"Cnaipí",cBlue:"Gorm (Freagra, lean)",cGreen:"Glas (Athphóstail)",cOrange:"Oráiste (Cosúil)",cRed:"Dearg (Cealaigh)",change_password:"Athraigh do pasfhocal",change_password_error:"Bhí fadhb ann ag athrú do pasfhocail",changed_password:"Athraigh an pasfhocal go rathúil!",collapse_subject:"Poist a chosc le teidil",confirm_new_password:"Deimhnigh do pasfhocal nua",current_avatar:"Phictúir phrófíle",current_password:"Pasfhocal reatha",current_profile_banner:"Phictúir ceanntáisc",data_import_export_tab:"Iompórtáil / Easpórtáil Sonraí",default_vis:"Scóip infheicthe réamhshocraithe",delete_account:"Scrios cuntas",delete_account_description:"Do chuntas agus do chuid teachtaireachtaí go léir a scriosadh go buan.",delete_account_error:"Bhí fadhb ann a scriosadh do chuntas. Má leanann sé seo, téigh i dteagmháil le do riarthóir.",delete_account_instructions:"Scríobh do phasfhocal san ionchur thíos chun deimhniú a scriosadh.",export_theme:"Sábháil Téama",filtering:"Scagadh",filtering_explanation:"Beidh gach post ina bhfuil na focail seo i bhfolach, ceann in aghaidh an líne",follow_export:"Easpórtáil do leanann",follow_export_button:"Easpórtáil do leanann chuig comhad csv",follow_export_processing:"Próiseáil. Iarrtar ort go luath an comhad a íoslódáil.",follow_import:"Iompórtáil do leanann",follow_import_error:"Earráid agus do leanann a iompórtáil",follows_imported:"Do leanann iompórtáil! Tógfaidh an próiseas iad le tamall.",foreground:"Tulra",general:"Ginearálta",hide_attachments_in_convo:"Folaigh ceangaltáin i comhráite",hide_attachments_in_tl:"Folaigh ceangaltáin sa amlíne",hide_post_stats:"Folaigh staitisticí na bpost (m.sh. líon na n-athrá)",hide_user_stats:"Folaigh na staitisticí úsáideora (m.sh. líon na leantóiri)",import_followers_from_a_csv_file:"Iompórtáil leanann ó chomhad csv",import_theme:"Luchtaigh Téama",inputRadius:"Limistéar iontrála",instance_default:"(Réamhshocrú: {value})",interfaceLanguage:"Teanga comhéadain",invalid_theme_imported:"Ní téama bailí é an comhad dícheangailte. Níor rinneadh aon athruithe.",limited_availability:"Níl sé ar fáil i do bhrabhsálaí",links:"Naisc",lock_account_description:"Srian a chur ar do chuntas le lucht leanúna ceadaithe amháin",loop_video:"Lúb físeáin",loop_video_silent_only:'Lúb físeáin amháin gan fuaim (i.e. Mastodon\'s "gifs")',name:"Ainm",name_bio:"Ainm ⁊ Scéal",new_password:"Pasfhocal nua'",notification_visibility:"Cineálacha fógraí a thaispeáint",notification_visibility_follows:"Leana",notification_visibility_likes:"Thaithin",notification_visibility_mentions:"Tagairt",notification_visibility_repeats:"Atphostáil",no_rich_text_description:"Bain formáidiú téacs saibhir ó gach post",nsfw_clickthrough:"Cumasaigh an ceangaltán NSFW cliceáil ar an gcnaipe",oauth_tokens:"Tocanna OAuth",token:"Token",refresh_token:"Athnuachan Comórtas",valid_until:"Bailí Go dtí",revoke_token:"Athghairm",panelRadius:"Painéil",pause_on_unfocused:"Sruthú ar sos nuair a bhíonn an fócas caillte",presets:"Réamhshocruithe",profile_background:"Cúlra Próifíl",profile_banner:"Phictúir Ceanntáisc",profile_tab:"Próifíl",radii_help:"Cruinniú imeall comhéadan a chumrú (i bpicteilíní)",replies_in_timeline:"Freagraí sa amlíne",reply_link_preview:"Cumasaigh réamhamharc nasc freagartha ar chlár na luiche",reply_visibility_all:"Taispeáin gach freagra",reply_visibility_following:"Taispeáin freagraí amháin atá dírithe ar mise nó ar úsáideoirí atá mé ag leanúint",reply_visibility_self:"Taispeáin freagraí amháin atá dírithe ar mise",saving_err:"Earráid socruithe a shábháil",saving_ok:"Socruithe sábháilte",security_tab:"Slándáil",set_new_avatar:"Athraigh do phictúir phrófíle",set_new_profile_background:"Athraigh do cúlra próifíl",set_new_profile_banner:"Athraigh do phictúir ceanntáisc",settings:"Socruithe",stop_gifs:"Seinn GIFs ar an scáileán",streaming:"Cumasaigh post nua a shruthú uathoibríoch nuair a scrollaítear go barr an leathanaigh",text:"Téacs",theme:"Téama",theme_help:"Úsáid cód daith hex (#rrggbb) chun do schéim a saincheapadh",tooltipRadius:"Bileoga eolais",user_settings:"Socruithe úsáideora",values:{false:"níl",true:"tá"}},time:{day:"{0} lá",days:"{0} lá",day_short:"{0}l",days_short:"{0}l",hour:"{0} uair",hours:"{0} uair",hour_short:"{0}u",hours_short:"{0}u",in_future:"in {0}",in_past:"{0} ago",minute:"{0} nóimeád",minutes:"{0} nóimeád",minute_short:"{0}n",minutes_short:"{0}n",month:"{0} mí",months:"{0} mí",month_short:"{0}m",months_short:"{0}m",now:"Anois",now_short:"Anois",second:"{0} s",seconds:"{0} s",second_short:"{0}s",seconds_short:"{0}s",week:"{0} seachtain",weeks:"{0} seachtaine",week_short:"{0}se",weeks_short:"{0}se",year:"{0} bliainta",years:"{0} bliainta",year_short:"{0}b",years_short:"{0}b"},timeline:{collapse:"Folaigh",conversation:"Cómhra",error_fetching:"Earráid a thabhairt cothrom le dáta",load_older:"Luchtaigh níos mó",no_retweet_hint:"Tá an post seo marcáilte mar lucht leanúna amháin nó díreach agus ní féidir é a athphostáil",repeated:"athphostáil",show_new:"Taispeáin nua",up_to_date:"Nuashonraithe"},user_card:{approve:"Údaraigh",block:"Cosc",blocked:"Cuireadh coisc!",deny:"Diúltaigh",follow:"Lean",followees:"Leantóirí",followers:"Á Leanúint",following:"Á Leanúint",follows_you:"Leanann tú",mute:"Cuir i mód ciúin",muted:"Mód ciúin",per_day:"laethúil",remote_follow:"Leaníunt iargúlta",statuses:"Poist"},user_profile:{timeline_title:"Amlíne úsáideora"},who_to_follow:{more:"Feach uile",who_to_follow:"Daoine le leanúint"}}}}]); -//# sourceMappingURL=15.e9ddc5dfd38426398e00.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{566:function(a){a.exports={chat:{title:"Comhrá"},features_panel:{chat:"Comhrá",gopher:"Gófar",media_proxy:"Seachfhreastalaí meáin",scope_options:"Rogha scóip",text_limit:"Teorainn Téacs",title:"Gnéithe",who_to_follow:"Daoine le leanúint"},finder:{error_fetching_user:"Earráid a aimsiú d'úsáideoir",find_user:"Aimsigh úsáideoir"},general:{apply:"Feidhmigh",submit:"Deimhnigh"},login:{login:"Logáil isteach",logout:"Logáil amach",password:"Pasfhocal",placeholder:"m.sh. Daire",register:"Clárú",username:"Ainm Úsáideora"},nav:{chat:"Comhrá Áitiúil",friend_requests:"Iarratas ar Cairdeas",mentions:"Tagairt",public_tl:"Amlíne Poiblí",timeline:"Amlíne",twkn:"An Líonra Iomlán"},notifications:{broken_favorite:"Post anaithnid. Cuardach dó...",favorited_you:"toghadh le do phost",followed_you:"lean tú",load_older:"Luchtaigh fógraí aosta",notifications:"Fógraí",read:"Léigh!",repeated_you:"athphostáil tú"},post_status:{account_not_locked_warning:"Níl do chuntas {0}. Is féidir le duine ar bith a leanúint leat chun do phoist leantacha amháin a fheiceáil.",account_not_locked_warning_link:"faoi glas",attachments_sensitive:"Marcáil ceangaltán mar íogair",content_type:{"text/plain":"Gnáth-théacs"},content_warning:"Teideal (roghnach)",default:"Lá iontach anseo i nGaillimh",direct_warning:"Ní bheidh an post seo le feiceáil ach amháin do na húsáideoirí atá luaite.",posting:"Post nua",scope:{direct:"Díreach - Post chuig úsáideoirí luaite amháin",private:"Leanúna amháin - Post chuig lucht leanúna amháin",public:"Poiblí - Post chuig amlínte poiblí",unlisted:"Neamhliostaithe - Ná cuir post chuig amlínte poiblí"}},registration:{bio:"Scéal saoil",email:"Ríomhphost",fullname:"Ainm taispeána'",password_confirm:"Deimhnigh do pasfhocal",registration:"Clárú",token:"Cód cuireadh"},settings:{attachmentRadius:"Ceangaltáin",attachments:"Ceangaltáin",autoload:"Cumasaigh luchtú uathoibríoch nuair a scrollaítear go bun",avatar:"Phictúir phrófíle",avatarAltRadius:"Phictúirí phrófíle (Fograí)",avatarRadius:"Phictúirí phrófíle",background:"Cúlra",bio:"Scéal saoil",btnRadius:"Cnaipí",cBlue:"Gorm (Freagra, lean)",cGreen:"Glas (Athphóstail)",cOrange:"Oráiste (Cosúil)",cRed:"Dearg (Cealaigh)",change_password:"Athraigh do pasfhocal",change_password_error:"Bhí fadhb ann ag athrú do pasfhocail",changed_password:"Athraigh an pasfhocal go rathúil!",collapse_subject:"Poist a chosc le teidil",confirm_new_password:"Deimhnigh do pasfhocal nua",current_avatar:"Phictúir phrófíle",current_password:"Pasfhocal reatha",current_profile_banner:"Phictúir ceanntáisc",data_import_export_tab:"Iompórtáil / Easpórtáil Sonraí",default_vis:"Scóip infheicthe réamhshocraithe",delete_account:"Scrios cuntas",delete_account_description:"Do chuntas agus do chuid teachtaireachtaí go léir a scriosadh go buan.",delete_account_error:"Bhí fadhb ann a scriosadh do chuntas. Má leanann sé seo, téigh i dteagmháil le do riarthóir.",delete_account_instructions:"Scríobh do phasfhocal san ionchur thíos chun deimhniú a scriosadh.",export_theme:"Sábháil Téama",filtering:"Scagadh",filtering_explanation:"Beidh gach post ina bhfuil na focail seo i bhfolach, ceann in aghaidh an líne",follow_export:"Easpórtáil do leanann",follow_export_button:"Easpórtáil do leanann chuig comhad csv",follow_export_processing:"Próiseáil. Iarrtar ort go luath an comhad a íoslódáil.",follow_import:"Iompórtáil do leanann",follow_import_error:"Earráid agus do leanann a iompórtáil",follows_imported:"Do leanann iompórtáil! Tógfaidh an próiseas iad le tamall.",foreground:"Tulra",general:"Ginearálta",hide_attachments_in_convo:"Folaigh ceangaltáin i comhráite",hide_attachments_in_tl:"Folaigh ceangaltáin sa amlíne",hide_post_stats:"Folaigh staitisticí na bpost (m.sh. líon na n-athrá)",hide_user_stats:"Folaigh na staitisticí úsáideora (m.sh. líon na leantóiri)",import_followers_from_a_csv_file:"Iompórtáil leanann ó chomhad csv",import_theme:"Luchtaigh Téama",inputRadius:"Limistéar iontrála",instance_default:"(Réamhshocrú: {value})",interfaceLanguage:"Teanga comhéadain",invalid_theme_imported:"Ní téama bailí é an comhad dícheangailte. Níor rinneadh aon athruithe.",limited_availability:"Níl sé ar fáil i do bhrabhsálaí",links:"Naisc",lock_account_description:"Srian a chur ar do chuntas le lucht leanúna ceadaithe amháin",loop_video:"Lúb físeáin",loop_video_silent_only:'Lúb físeáin amháin gan fuaim (i.e. Mastodon\'s "gifs")',name:"Ainm",name_bio:"Ainm ⁊ Scéal",new_password:"Pasfhocal nua'",notification_visibility:"Cineálacha fógraí a thaispeáint",notification_visibility_follows:"Leana",notification_visibility_likes:"Thaithin",notification_visibility_mentions:"Tagairt",notification_visibility_repeats:"Atphostáil",no_rich_text_description:"Bain formáidiú téacs saibhir ó gach post",nsfw_clickthrough:"Cumasaigh an ceangaltán NSFW cliceáil ar an gcnaipe",oauth_tokens:"Tocanna OAuth",token:"Token",refresh_token:"Athnuachan Comórtas",valid_until:"Bailí Go dtí",revoke_token:"Athghairm",panelRadius:"Painéil",pause_on_unfocused:"Sruthú ar sos nuair a bhíonn an fócas caillte",presets:"Réamhshocruithe",profile_background:"Cúlra Próifíl",profile_banner:"Phictúir Ceanntáisc",profile_tab:"Próifíl",radii_help:"Cruinniú imeall comhéadan a chumrú (i bpicteilíní)",replies_in_timeline:"Freagraí sa amlíne",reply_link_preview:"Cumasaigh réamhamharc nasc freagartha ar chlár na luiche",reply_visibility_all:"Taispeáin gach freagra",reply_visibility_following:"Taispeáin freagraí amháin atá dírithe ar mise nó ar úsáideoirí atá mé ag leanúint",reply_visibility_self:"Taispeáin freagraí amháin atá dírithe ar mise",saving_err:"Earráid socruithe a shábháil",saving_ok:"Socruithe sábháilte",security_tab:"Slándáil",set_new_avatar:"Athraigh do phictúir phrófíle",set_new_profile_background:"Athraigh do cúlra próifíl",set_new_profile_banner:"Athraigh do phictúir ceanntáisc",settings:"Socruithe",stop_gifs:"Seinn GIFs ar an scáileán",streaming:"Cumasaigh post nua a shruthú uathoibríoch nuair a scrollaítear go barr an leathanaigh",text:"Téacs",theme:"Téama",theme_help:"Úsáid cód daith hex (#rrggbb) chun do schéim a saincheapadh",tooltipRadius:"Bileoga eolais",user_settings:"Socruithe úsáideora",values:{false:"níl",true:"tá"}},time:{day:"{0} lá",days:"{0} lá",day_short:"{0}l",days_short:"{0}l",hour:"{0} uair",hours:"{0} uair",hour_short:"{0}u",hours_short:"{0}u",in_future:"in {0}",in_past:"{0} ago",minute:"{0} nóimeád",minutes:"{0} nóimeád",minute_short:"{0}n",minutes_short:"{0}n",month:"{0} mí",months:"{0} mí",month_short:"{0}m",months_short:"{0}m",now:"Anois",now_short:"Anois",second:"{0} s",seconds:"{0} s",second_short:"{0}s",seconds_short:"{0}s",week:"{0} seachtain",weeks:"{0} seachtaine",week_short:"{0}se",weeks_short:"{0}se",year:"{0} bliainta",years:"{0} bliainta",year_short:"{0}b",years_short:"{0}b"},timeline:{collapse:"Folaigh",conversation:"Cómhra",error_fetching:"Earráid a thabhairt cothrom le dáta",load_older:"Luchtaigh níos mó",no_retweet_hint:"Tá an post seo marcáilte mar lucht leanúna amháin nó díreach agus ní féidir é a athphostáil",repeated:"athphostáil",show_new:"Taispeáin nua",up_to_date:"Nuashonraithe"},user_card:{approve:"Údaraigh",block:"Cosc",blocked:"Cuireadh coisc!",deny:"Diúltaigh",follow:"Lean",followees:"Leantóirí",followers:"Á Leanúint",following:"Á Leanúint",follows_you:"Leanann tú",mute:"Cuir i mód ciúin",muted:"Mód ciúin",per_day:"laethúil",remote_follow:"Leaníunt iargúlta",statuses:"Poist"},user_profile:{timeline_title:"Amlíne úsáideora"},who_to_follow:{more:"Feach uile",who_to_follow:"Daoine le leanúint"}}}}]); +//# sourceMappingURL=15.d814a29a970070494722.js.map \ No newline at end of file diff --git a/priv/static/static/js/15.d814a29a970070494722.js.map b/priv/static/static/js/15.d814a29a970070494722.js.map new file mode 100644 index 000000000..9792088bf --- /dev/null +++ b/priv/static/static/js/15.d814a29a970070494722.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/15.d814a29a970070494722.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/15.e9ddc5dfd38426398e00.js.map b/priv/static/static/js/15.e9ddc5dfd38426398e00.js.map deleted file mode 100644 index 6c0c32949..000000000 --- a/priv/static/static/js/15.e9ddc5dfd38426398e00.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/15.e9ddc5dfd38426398e00.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/16.476e7809b8593264469e.js b/priv/static/static/js/16.017fa510b293035ac370.js similarity index 99% rename from priv/static/static/js/16.476e7809b8593264469e.js rename to priv/static/static/js/16.017fa510b293035ac370.js index 2cd6c9c3e..387cfc9c7 100644 --- a/priv/static/static/js/16.476e7809b8593264469e.js +++ b/priv/static/static/js/16.017fa510b293035ac370.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{549:function(e){e.exports={chat:{title:"צ'אט"},exporter:{export:"ייצוא",processing:"מעבד, בקרוב תופיע אפשרות להוריד את הקובץ"},features_panel:{chat:"צ'אט",gopher:"גופר",media_proxy:"מדיה פרוקסי",scope_options:"אפשרויות טווח",text_limit:"מגבלת טקסט",title:"מאפיינים",who_to_follow:"אחרי מי לעקוב"},finder:{error_fetching_user:"שגיאה במציאת משתמש",find_user:"מציאת משתמש"},general:{apply:"החל",submit:"שלח",more:"עוד",generic_error:"קרתה שגיאה",optional:"לבחירה",show_more:"הראה עוד",show_less:"הראה פחות",cancel:"בטל"},image_cropper:{crop_picture:"חתוך תמונה",save:"שמור",save_without_cropping:"שמור בלי לחתוך",cancel:"בטל"},importer:{submit:"שלח",success:"ייובא בהצלחה.",error:"אירעתה שגיאה בזמן ייבוא קובץ זה."},login:{login:"התחבר",description:"היכנס עם OAuth",logout:"התנתק",password:"סיסמה",placeholder:"למשל lain",register:"הירשם",username:"שם המשתמש",hint:"הירשם על מנת להצטרף לדיון"},media_modal:{previous:"הקודם",next:"הבא"},nav:{about:"על-אודות",back:"חזור",chat:"צ'אט מקומי",friend_requests:"בקשות עקיבה",mentions:"אזכורים",interactions:"אינטרקציות",dms:"הודעות ישירות",public_tl:"ציר הזמן הציבורי",timeline:"ציר הזמן",twkn:"כל הרשת הידועה",user_search:"חיפוש משתמש",who_to_follow:"אחרי מי לעקוב",preferences:"העדפות"},notifications:{broken_favorite:"סטאטוס לא ידוע, מחפש...",favorited_you:"אהב את הסטטוס שלך",followed_you:"עקב אחריך!",load_older:"טען התראות ישנות",notifications:"התראות",read:"קרא!",repeated_you:"חזר על הסטטוס שלך",no_more_notifications:"לא עוד התראות"},interactions:{favs_repeats:"חזרות ומועדפים",follows:"עוקבים חדשים",load_older:"טען אינטרקציות ישנות"},post_status:{new_status:"פרסם סטאטוס חדש",account_not_locked_warning:"המשתמש שלך אינו {0}. כל אחד יכול לעקוב אחריך ולראות את ההודעות לעוקבים-בלבד שלך.",account_not_locked_warning_link:"נעול",attachments_sensitive:"סמן מסמכים מצורפים כלא בטוחים לצפייה",content_type:{"text/plain":"טקסט פשוט","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"נושא (נתון לבחירה)",default:"הרגע נחת ב-ל.א.",direct_warning_to_all:"הודעה זו תהיה נראית לכל המשתמשים המוזכרים.",direct_warning_to_first_only:"הודעה זו תהיה נראית לכל המשתמשים במוזכרים בתחילת ההודעה בלבד.",posting:"מפרסם",scope_notice:{public:"הודעה זו תהיה נראית לכולם",private:"הודעה זו תהיה נראית לעוקבים שלך בלבד",unlisted:"הודעה זו לא תהיה נראית בציר זמן הציבורי או בכל הרשת הידועה"},scope:{direct:"ישיר - שלח לאנשים המוזכרים בלבד",private:"עוקבים-בלבד - שלח לעוקבים בלבד",public:"ציבורי - שלח לציר הזמן הציבורי",unlisted:"מחוץ לרשימה - אל תשלח לציר הזמן הציבורי"}},registration:{bio:"אודות",email:"אימייל",fullname:"שם תצוגה",password_confirm:"אישור סיסמה",registration:"הרשמה",token:"טוקן הזמנה",captcha:"אימות אנוש",new_captcha:"לחץ על התמונה על מנת לקבל אימות אנוש חדש",username_placeholder:"למשל lain",fullname_placeholder:"למשל Lain Iwakura",bio_placeholder:"למשל\nהיי, אני ליין.\nאני ילדת אנימה שגרה בפרוורי יפן. אולי אתם מכירים אותי מהWired.",validations:{username_required:"לא יכול להישאר ריק",fullname_required:"לא יכול להישאר ריק",email_required:"לא יכול להישאר ריק",password_required:"לא יכול להישאר ריק",password_confirmation_required:"לא יכול להישאר ריק",password_confirmation_match:"צריך להיות דומה לסיסמה"}},selectable_list:{select_all:"בחר הכל"},settings:{app_name:"שם האפליקציה",attachmentRadius:"צירופים",attachments:"צירופים",autoload:"החל טעינה אוטומטית בגלילה לתחתית הדף",avatar:"תמונת פרופיל",avatarAltRadius:"תמונות פרופיל (התראות)",avatarRadius:"תמונות פרופיל",background:"רקע",bio:"אודות",block_export:"ייצוא חסימות",block_export_button:"ייצוא חסימות אל קובץ csv",block_import:"ייבוא חסימות",block_import_error:"שגיאה בייבוא החסימות",blocks_imported:"החסימות יובאו! ייקח מעט זמן לעבד אותן.",blocks_tab:"חסימות",btnRadius:"כפתורים",cBlue:"כחול (תגובה, עקיבה)",cGreen:"ירוק (חזרה)",cOrange:"כתום (לייק)",cRed:"אדום (ביטול)",change_password:"שנה סיסמה",change_password_error:"הייתה בעיה בשינוי סיסמתך.",changed_password:"סיסמה שונתה בהצלחה!",collapse_subject:"מזער הודעות עם נושאים",composing:"מרכיב",confirm_new_password:"אשר סיסמה",current_avatar:"תמונת הפרופיל הנוכחית שלך",current_password:"סיסמה נוכחית",current_profile_banner:"כרזת הפרופיל הנוכחית שלך",data_import_export_tab:"ייבוא או ייצוא מידע",default_vis:"ברירת מחדל לטווח הנראות",delete_account:"מחק משתמש",delete_account_description:"מחק לצמיתות את המשתמש שלך ואת כל הודעותיך.",delete_account_error:"הייתה בעיה במחיקת המשתמש. אם זה ממשיך, אנא עדכן את מנהל השרת שלך.",delete_account_instructions:"הכנס את סיסמתך בקלט למטה על מנת לאשר מחיקת משתמש.",avatar_size_instruction:"הגודל המינימלי המומלץ לתמונות פרופיל הוא 150x150 פיקסלים.",export_theme:"שמור ערכים",filtering:"סינון",filtering_explanation:"כל הסטטוסים הכוללים את המילים הללו יושתקו, אחד לשורה",follow_export:"יצוא עקיבות",follow_export_button:"ייצא את הנעקבים שלך לקובץ csv",follow_import:"יבוא עקיבות",follow_import_error:"שגיאה בייבוא נעקבים.",follows_imported:"נעקבים יובאו! ייקח זמן מה לעבד אותם.",foreground:"חזית",general:"כללי",hide_attachments_in_convo:"החבא צירופים בשיחות",hide_attachments_in_tl:"החבא צירופים בציר הזמן",hide_muted_posts:"הסתר הודעות של משתמשים מושתקים",max_thumbnails:"מספר מירבי של תמונות ממוזערות להודעה",hide_isp:"הסתר פאנל-צד",preload_images:"טען תמונות מראש",use_one_click_nsfw:"פתח תמונות לא-בטוחות-לעבודה עם לחיצה אחת בלבד",hide_post_stats:"הסתר נתוני הודעה (למשל, מספר החזרות)",hide_user_stats:"הסתר נתוני משתמש (למשל, מספר העוקבים)",hide_filtered_statuses:"מסתר סטטוסים מסוננים",import_blocks_from_a_csv_file:"ייבא חסימות מקובץ csv",import_followers_from_a_csv_file:"ייבא את הנעקבים שלך מקובץ csv",import_theme:"טען ערכים",inputRadius:"שדות קלט",checkboxRadius:"תיבות סימון",instance_default:"(default: {value})",instance_default_simple:"(default)",interface:"ממשק",interfaceLanguage:"שפת הממשק",invalid_theme_imported:'הקובץ הנבחר אינו תמה הנתמכת ע"י פלרומה. שום שינויים לא נעשו לתמה שלך.',limited_availability:"לא זמין בדפדפן שלך",links:"לינקים",lock_account_description:"הגבל את המשתמש לעוקבים מאושרים בלבד",loop_video:"נגן סרטונים ללא הפסקה",loop_video_silent_only:"נגן רק סרטונים חסרי קול ללא הפסקה",mutes_tab:"השתקות",play_videos_in_modal:"נגן סרטונים ישירות בנגן המדיה",use_contain_fit:"אל תחתוך את הצירוף בתמונות הממוזערות",name:"שם",name_bio:"שם ואודות",new_password:"סיסמה חדשה",notification_visibility:"סוג ההתראות שתרצו לראות",notification_visibility_follows:"עקיבות",notification_visibility_likes:"לייקים",notification_visibility_mentions:"אזכורים",notification_visibility_repeats:"חזרות",no_rich_text_description:"הסר פורמט טקסט עשיר מכל ההודעות",no_blocks:"ללא חסימות",no_mutes:"ללא השתקות",hide_follows_description:"אל תראה אחרי מי אני עוקב",hide_followers_description:"אל תראה מי עוקב אחרי",show_admin_badge:"הראה סמל מנהל בפרופיל שלי",show_moderator_badge:"הראה סמל צוות בפרופיל שלי",nsfw_clickthrough:"החל החבאת צירופים לא בטוחים לצפיה בעת עבודה בעזרת לחיצת עכבר",oauth_tokens:"אסימוני OAuth",token:"אסימון",refresh_token:"רענון האסימון",valid_until:"בתוקף עד",revoke_token:"בטל",panelRadius:"פאנלים",pause_on_unfocused:"השהה זרימת הודעות כשהחלון לא בפוקוס",presets:"ערכים קבועים מראש",profile_background:"רקע הפרופיל",profile_banner:"כרזת הפרופיל",profile_tab:"פרופיל",radii_help:"קבע מראש עיגול פינות לממשק (בפיקסלים)",replies_in_timeline:"תגובות בציר הזמן",reply_link_preview:"החל תצוגה מקדימה של לינק-תגובה בעת ריחוף עם העכבר",reply_visibility_all:"הראה את כל התגובות",reply_visibility_following:"הראה תגובות שמופנות אליי או לעקובים שלי בלבד",reply_visibility_self:"הראה תגובות שמופנות אליי בלבד",autohide_floating_post_button:"החבא אוטומטית את הכפתור הודעה חדשה (נייד)",saving_err:"שגיאה בשמירת הגדרות",saving_ok:"הגדרות נשמרו",search_user_to_block:"חפש משתמש לחסימה",search_user_to_mute:"חפש משתמש להשתקה",security_tab:"ביטחון",scope_copy:"העתק תחום הודעה בתגובה להודעה (הודעות ישירות תמיד מועתקות)",minimal_scopes_mode:"צמצם אפשרויות בחירה לתחום הודעה",set_new_avatar:"קבע תמונת פרופיל חדשה",set_new_profile_background:"קבע רקע פרופיל חדש",set_new_profile_banner:"קבע כרזת פרופיל חדשה",settings:"הגדרות",subject_input_always_show:"תמיד הראה את שדה הנושא",subject_line_behavior:"העתק נושא בתגובה",subject_line_email:'כמו אימייל: "re: נושא"',subject_line_mastodon:"כמו מסטודון: העתק כפי שזה",subject_line_noop:"אל תעתיק",post_status_content_type:"שלח את סוג תוכן ההודעה",stop_gifs:"נגן-בעת-ריחוף GIFs",streaming:"החל זרימת הודעות אוטומטית בעת גלילה למעלה הדף",text:"טקסט",theme:"תמה",theme_help:"השתמש בקודי צבע הקס (#אדום-אדום-ירוק-ירוק-כחול-כחול) על מנת להתאים אישית את תמת הצבע שלך.",tooltipRadius:"טולטיפ \\ התראות",upload_a_photo:"העלה תמונה",user_settings:"הגדרות משתמש",values:{false:"לא",true:"כן"},notifications:"התראות",enable_web_push_notifications:"אפשר התראות web push",version:{title:"גרסה",backend_version:"גרסת קצה אחורי",frontend_version:"גרסת קצה קדמי"}},timeline:{collapse:"מוטט",conversation:"שיחה",error_fetching:"שגיאה בהבאת הודעות",load_older:"טען סטטוסים חדשים",no_retweet_hint:'ההודעה מסומנת כ"לעוקבים-בלבד" ולא ניתן לחזור עליה',repeated:"חזר",show_new:"הראה חדש",up_to_date:"עדכני",no_more_statuses:"אין עוד סטטוסים",no_statuses:"אין סטטוסים"},status:{favorites:"מועדפים",repeats:"חזרות",delete:"מחק סטטוס",pin:"הצמד לפרופיל",unpin:"הסר הצמדה מהפרופיל",pinned:"מוצמד",delete_confirm:"האם באמת למחוק סטטוס זה?",reply_to:"הגב ל",replies_list:"תגובות:"},user_card:{approve:"אשר",block:"חסימה",blocked:"חסום!",deny:"דחה",favorites:"מועדפים",follow:"עקוב",follow_sent:"בקשה נשלחה!",follow_progress:"מבקש...",follow_again:"שלח בקשה שוב?",follow_unfollow:"בטל עקיבה",followees:"נעקבים",followers:"עוקבים",following:"עוקב!",follows_you:"עוקב אחריך!",its_you:"זה אתה!",media:"מדיה",mute:"השתק",muted:"מושתק",per_day:"ליום",remote_follow:"עקיבה מרחוק",report:"דווח",statuses:"סטטוסים",unblock:"הסר חסימה",unblock_progress:"מסיר חסימה...",block_progress:"חוסם...",unmute:"הסר השתקה",unmute_progress:"מסיר השתקה...",mute_progress:"משתיק...",admin_menu:{moderation:"ניהול (צוות)",grant_admin:"הפוך למנהל",revoke_admin:"הסר מנהל",grant_moderator:"הפוך לצוות",revoke_moderator:"הסר צוות",activate_account:"הפעל משתמש",deactivate_account:"השבת משתמש",delete_account:"מחק משתמש",force_nsfw:"סמן את כל ההודעות בתור לא-מתאימות-לעבודה",strip_media:"הסר מדיה מההודעות",force_unlisted:"הפוך הודעות ללא רשומות",sandbox:"הפוך הודעות לנראות לעוקבים-בלבד",disable_remote_subscription:"אל תאפשר עקיבה של המשתמש מאינסטנס אחר",disable_any_subscription:"אל תאפשר עקיבה של המשתמש בכלל",quarantine:"אל תאפשר פדרציה של ההודעות של המשתמש",delete_user:"מחק משתמש",delete_user_confirmation:"בטוח? פעולה זו הינה בלתי הפיכה."}},user_profile:{timeline_title:"ציר זמן המשתמש",profile_does_not_exist:"סליחה, פרופיל זה אינו קיים.",profile_loading_error:"סליחה, הייתה שגיאה בטעינת הפרופיל."},user_reporting:{title:"מדווח על {0}",add_comment_description:"הדיווח ישלח לצוות האינסטנס. אפשר להסביר למה הנך מדווחים על משתמש זה למטה:",additional_comments:"תגובות נוספות",forward_description:"המשתמש משרת אחר. לשלוח לשם עותק של הדיווח?",forward_to:"העבר ל {0}",submit:"הגש",generic_error:"קרתה שגיאה בעת עיבוד הבקשה."},who_to_follow:{more:"עוד",who_to_follow:"אחרי מי לעקוב"},tool_tip:{media_upload:"העלה מדיה",repeat:"חזור",reply:"הגב",favorite:"מועדף",user_settings:"הגדרות משתמש"},upload:{error:{base:"העלאה נכשלה.",file_too_big:"קובץ גדול מדי [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"נסה שוב אחר כך"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}}}}}]); -//# sourceMappingURL=16.476e7809b8593264469e.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{567:function(e){e.exports={chat:{title:"צ'אט"},exporter:{export:"ייצוא",processing:"מעבד, בקרוב תופיע אפשרות להוריד את הקובץ"},features_panel:{chat:"צ'אט",gopher:"גופר",media_proxy:"מדיה פרוקסי",scope_options:"אפשרויות טווח",text_limit:"מגבלת טקסט",title:"מאפיינים",who_to_follow:"אחרי מי לעקוב"},finder:{error_fetching_user:"שגיאה במציאת משתמש",find_user:"מציאת משתמש"},general:{apply:"החל",submit:"שלח",more:"עוד",generic_error:"קרתה שגיאה",optional:"לבחירה",show_more:"הראה עוד",show_less:"הראה פחות",cancel:"בטל"},image_cropper:{crop_picture:"חתוך תמונה",save:"שמור",save_without_cropping:"שמור בלי לחתוך",cancel:"בטל"},importer:{submit:"שלח",success:"ייובא בהצלחה.",error:"אירעתה שגיאה בזמן ייבוא קובץ זה."},login:{login:"התחבר",description:"היכנס עם OAuth",logout:"התנתק",password:"סיסמה",placeholder:"למשל lain",register:"הירשם",username:"שם המשתמש",hint:"הירשם על מנת להצטרף לדיון"},media_modal:{previous:"הקודם",next:"הבא"},nav:{about:"על-אודות",back:"חזור",chat:"צ'אט מקומי",friend_requests:"בקשות עקיבה",mentions:"אזכורים",interactions:"אינטרקציות",dms:"הודעות ישירות",public_tl:"ציר הזמן הציבורי",timeline:"ציר הזמן",twkn:"כל הרשת הידועה",user_search:"חיפוש משתמש",who_to_follow:"אחרי מי לעקוב",preferences:"העדפות"},notifications:{broken_favorite:"סטאטוס לא ידוע, מחפש...",favorited_you:"אהב את הסטטוס שלך",followed_you:"עקב אחריך!",load_older:"טען התראות ישנות",notifications:"התראות",read:"קרא!",repeated_you:"חזר על הסטטוס שלך",no_more_notifications:"לא עוד התראות"},interactions:{favs_repeats:"חזרות ומועדפים",follows:"עוקבים חדשים",load_older:"טען אינטרקציות ישנות"},post_status:{new_status:"פרסם סטאטוס חדש",account_not_locked_warning:"המשתמש שלך אינו {0}. כל אחד יכול לעקוב אחריך ולראות את ההודעות לעוקבים-בלבד שלך.",account_not_locked_warning_link:"נעול",attachments_sensitive:"סמן מסמכים מצורפים כלא בטוחים לצפייה",content_type:{"text/plain":"טקסט פשוט","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"נושא (נתון לבחירה)",default:"הרגע נחת ב-ל.א.",direct_warning_to_all:"הודעה זו תהיה נראית לכל המשתמשים המוזכרים.",direct_warning_to_first_only:"הודעה זו תהיה נראית לכל המשתמשים במוזכרים בתחילת ההודעה בלבד.",posting:"מפרסם",scope_notice:{public:"הודעה זו תהיה נראית לכולם",private:"הודעה זו תהיה נראית לעוקבים שלך בלבד",unlisted:"הודעה זו לא תהיה נראית בציר זמן הציבורי או בכל הרשת הידועה"},scope:{direct:"ישיר - שלח לאנשים המוזכרים בלבד",private:"עוקבים-בלבד - שלח לעוקבים בלבד",public:"ציבורי - שלח לציר הזמן הציבורי",unlisted:"מחוץ לרשימה - אל תשלח לציר הזמן הציבורי"}},registration:{bio:"אודות",email:"אימייל",fullname:"שם תצוגה",password_confirm:"אישור סיסמה",registration:"הרשמה",token:"טוקן הזמנה",captcha:"אימות אנוש",new_captcha:"לחץ על התמונה על מנת לקבל אימות אנוש חדש",username_placeholder:"למשל lain",fullname_placeholder:"למשל Lain Iwakura",bio_placeholder:"למשל\nהיי, אני ליין.\nאני ילדת אנימה שגרה בפרוורי יפן. אולי אתם מכירים אותי מהWired.",validations:{username_required:"לא יכול להישאר ריק",fullname_required:"לא יכול להישאר ריק",email_required:"לא יכול להישאר ריק",password_required:"לא יכול להישאר ריק",password_confirmation_required:"לא יכול להישאר ריק",password_confirmation_match:"צריך להיות דומה לסיסמה"}},selectable_list:{select_all:"בחר הכל"},settings:{app_name:"שם האפליקציה",attachmentRadius:"צירופים",attachments:"צירופים",autoload:"החל טעינה אוטומטית בגלילה לתחתית הדף",avatar:"תמונת פרופיל",avatarAltRadius:"תמונות פרופיל (התראות)",avatarRadius:"תמונות פרופיל",background:"רקע",bio:"אודות",block_export:"ייצוא חסימות",block_export_button:"ייצוא חסימות אל קובץ csv",block_import:"ייבוא חסימות",block_import_error:"שגיאה בייבוא החסימות",blocks_imported:"החסימות יובאו! ייקח מעט זמן לעבד אותן.",blocks_tab:"חסימות",btnRadius:"כפתורים",cBlue:"כחול (תגובה, עקיבה)",cGreen:"ירוק (חזרה)",cOrange:"כתום (לייק)",cRed:"אדום (ביטול)",change_password:"שנה סיסמה",change_password_error:"הייתה בעיה בשינוי סיסמתך.",changed_password:"סיסמה שונתה בהצלחה!",collapse_subject:"מזער הודעות עם נושאים",composing:"מרכיב",confirm_new_password:"אשר סיסמה",current_avatar:"תמונת הפרופיל הנוכחית שלך",current_password:"סיסמה נוכחית",current_profile_banner:"כרזת הפרופיל הנוכחית שלך",data_import_export_tab:"ייבוא או ייצוא מידע",default_vis:"ברירת מחדל לטווח הנראות",delete_account:"מחק משתמש",delete_account_description:"מחק לצמיתות את המשתמש שלך ואת כל הודעותיך.",delete_account_error:"הייתה בעיה במחיקת המשתמש. אם זה ממשיך, אנא עדכן את מנהל השרת שלך.",delete_account_instructions:"הכנס את סיסמתך בקלט למטה על מנת לאשר מחיקת משתמש.",avatar_size_instruction:"הגודל המינימלי המומלץ לתמונות פרופיל הוא 150x150 פיקסלים.",export_theme:"שמור ערכים",filtering:"סינון",filtering_explanation:"כל הסטטוסים הכוללים את המילים הללו יושתקו, אחד לשורה",follow_export:"יצוא עקיבות",follow_export_button:"ייצא את הנעקבים שלך לקובץ csv",follow_import:"יבוא עקיבות",follow_import_error:"שגיאה בייבוא נעקבים.",follows_imported:"נעקבים יובאו! ייקח זמן מה לעבד אותם.",foreground:"חזית",general:"כללי",hide_attachments_in_convo:"החבא צירופים בשיחות",hide_attachments_in_tl:"החבא צירופים בציר הזמן",hide_muted_posts:"הסתר הודעות של משתמשים מושתקים",max_thumbnails:"מספר מירבי של תמונות ממוזערות להודעה",hide_isp:"הסתר פאנל-צד",preload_images:"טען תמונות מראש",use_one_click_nsfw:"פתח תמונות לא-בטוחות-לעבודה עם לחיצה אחת בלבד",hide_post_stats:"הסתר נתוני הודעה (למשל, מספר החזרות)",hide_user_stats:"הסתר נתוני משתמש (למשל, מספר העוקבים)",hide_filtered_statuses:"מסתר סטטוסים מסוננים",import_blocks_from_a_csv_file:"ייבא חסימות מקובץ csv",import_followers_from_a_csv_file:"ייבא את הנעקבים שלך מקובץ csv",import_theme:"טען ערכים",inputRadius:"שדות קלט",checkboxRadius:"תיבות סימון",instance_default:"(default: {value})",instance_default_simple:"(default)",interface:"ממשק",interfaceLanguage:"שפת הממשק",invalid_theme_imported:'הקובץ הנבחר אינו תמה הנתמכת ע"י פלרומה. שום שינויים לא נעשו לתמה שלך.',limited_availability:"לא זמין בדפדפן שלך",links:"לינקים",lock_account_description:"הגבל את המשתמש לעוקבים מאושרים בלבד",loop_video:"נגן סרטונים ללא הפסקה",loop_video_silent_only:"נגן רק סרטונים חסרי קול ללא הפסקה",mutes_tab:"השתקות",play_videos_in_modal:"נגן סרטונים ישירות בנגן המדיה",use_contain_fit:"אל תחתוך את הצירוף בתמונות הממוזערות",name:"שם",name_bio:"שם ואודות",new_password:"סיסמה חדשה",notification_visibility:"סוג ההתראות שתרצו לראות",notification_visibility_follows:"עקיבות",notification_visibility_likes:"לייקים",notification_visibility_mentions:"אזכורים",notification_visibility_repeats:"חזרות",no_rich_text_description:"הסר פורמט טקסט עשיר מכל ההודעות",no_blocks:"ללא חסימות",no_mutes:"ללא השתקות",hide_follows_description:"אל תראה אחרי מי אני עוקב",hide_followers_description:"אל תראה מי עוקב אחרי",show_admin_badge:"הראה סמל מנהל בפרופיל שלי",show_moderator_badge:"הראה סמל צוות בפרופיל שלי",nsfw_clickthrough:"החל החבאת צירופים לא בטוחים לצפיה בעת עבודה בעזרת לחיצת עכבר",oauth_tokens:"אסימוני OAuth",token:"אסימון",refresh_token:"רענון האסימון",valid_until:"בתוקף עד",revoke_token:"בטל",panelRadius:"פאנלים",pause_on_unfocused:"השהה זרימת הודעות כשהחלון לא בפוקוס",presets:"ערכים קבועים מראש",profile_background:"רקע הפרופיל",profile_banner:"כרזת הפרופיל",profile_tab:"פרופיל",radii_help:"קבע מראש עיגול פינות לממשק (בפיקסלים)",replies_in_timeline:"תגובות בציר הזמן",reply_link_preview:"החל תצוגה מקדימה של לינק-תגובה בעת ריחוף עם העכבר",reply_visibility_all:"הראה את כל התגובות",reply_visibility_following:"הראה תגובות שמופנות אליי או לעקובים שלי בלבד",reply_visibility_self:"הראה תגובות שמופנות אליי בלבד",autohide_floating_post_button:"החבא אוטומטית את הכפתור הודעה חדשה (נייד)",saving_err:"שגיאה בשמירת הגדרות",saving_ok:"הגדרות נשמרו",search_user_to_block:"חפש משתמש לחסימה",search_user_to_mute:"חפש משתמש להשתקה",security_tab:"ביטחון",scope_copy:"העתק תחום הודעה בתגובה להודעה (הודעות ישירות תמיד מועתקות)",minimal_scopes_mode:"צמצם אפשרויות בחירה לתחום הודעה",set_new_avatar:"קבע תמונת פרופיל חדשה",set_new_profile_background:"קבע רקע פרופיל חדש",set_new_profile_banner:"קבע כרזת פרופיל חדשה",settings:"הגדרות",subject_input_always_show:"תמיד הראה את שדה הנושא",subject_line_behavior:"העתק נושא בתגובה",subject_line_email:'כמו אימייל: "re: נושא"',subject_line_mastodon:"כמו מסטודון: העתק כפי שזה",subject_line_noop:"אל תעתיק",post_status_content_type:"שלח את סוג תוכן ההודעה",stop_gifs:"נגן-בעת-ריחוף GIFs",streaming:"החל זרימת הודעות אוטומטית בעת גלילה למעלה הדף",text:"טקסט",theme:"תמה",theme_help:"השתמש בקודי צבע הקס (#אדום-אדום-ירוק-ירוק-כחול-כחול) על מנת להתאים אישית את תמת הצבע שלך.",tooltipRadius:"טולטיפ \\ התראות",upload_a_photo:"העלה תמונה",user_settings:"הגדרות משתמש",values:{false:"לא",true:"כן"},notifications:"התראות",enable_web_push_notifications:"אפשר התראות web push",version:{title:"גרסה",backend_version:"גרסת קצה אחורי",frontend_version:"גרסת קצה קדמי"}},timeline:{collapse:"מוטט",conversation:"שיחה",error_fetching:"שגיאה בהבאת הודעות",load_older:"טען סטטוסים חדשים",no_retweet_hint:'ההודעה מסומנת כ"לעוקבים-בלבד" ולא ניתן לחזור עליה',repeated:"חזר",show_new:"הראה חדש",up_to_date:"עדכני",no_more_statuses:"אין עוד סטטוסים",no_statuses:"אין סטטוסים"},status:{favorites:"מועדפים",repeats:"חזרות",delete:"מחק סטטוס",pin:"הצמד לפרופיל",unpin:"הסר הצמדה מהפרופיל",pinned:"מוצמד",delete_confirm:"האם באמת למחוק סטטוס זה?",reply_to:"הגב ל",replies_list:"תגובות:"},user_card:{approve:"אשר",block:"חסימה",blocked:"חסום!",deny:"דחה",favorites:"מועדפים",follow:"עקוב",follow_sent:"בקשה נשלחה!",follow_progress:"מבקש...",follow_again:"שלח בקשה שוב?",follow_unfollow:"בטל עקיבה",followees:"נעקבים",followers:"עוקבים",following:"עוקב!",follows_you:"עוקב אחריך!",its_you:"זה אתה!",media:"מדיה",mute:"השתק",muted:"מושתק",per_day:"ליום",remote_follow:"עקיבה מרחוק",report:"דווח",statuses:"סטטוסים",unblock:"הסר חסימה",unblock_progress:"מסיר חסימה...",block_progress:"חוסם...",unmute:"הסר השתקה",unmute_progress:"מסיר השתקה...",mute_progress:"משתיק...",admin_menu:{moderation:"ניהול (צוות)",grant_admin:"הפוך למנהל",revoke_admin:"הסר מנהל",grant_moderator:"הפוך לצוות",revoke_moderator:"הסר צוות",activate_account:"הפעל משתמש",deactivate_account:"השבת משתמש",delete_account:"מחק משתמש",force_nsfw:"סמן את כל ההודעות בתור לא-מתאימות-לעבודה",strip_media:"הסר מדיה מההודעות",force_unlisted:"הפוך הודעות ללא רשומות",sandbox:"הפוך הודעות לנראות לעוקבים-בלבד",disable_remote_subscription:"אל תאפשר עקיבה של המשתמש מאינסטנס אחר",disable_any_subscription:"אל תאפשר עקיבה של המשתמש בכלל",quarantine:"אל תאפשר פדרציה של ההודעות של המשתמש",delete_user:"מחק משתמש",delete_user_confirmation:"בטוח? פעולה זו הינה בלתי הפיכה."}},user_profile:{timeline_title:"ציר זמן המשתמש",profile_does_not_exist:"סליחה, פרופיל זה אינו קיים.",profile_loading_error:"סליחה, הייתה שגיאה בטעינת הפרופיל."},user_reporting:{title:"מדווח על {0}",add_comment_description:"הדיווח ישלח לצוות האינסטנס. אפשר להסביר למה הנך מדווחים על משתמש זה למטה:",additional_comments:"תגובות נוספות",forward_description:"המשתמש משרת אחר. לשלוח לשם עותק של הדיווח?",forward_to:"העבר ל {0}",submit:"הגש",generic_error:"קרתה שגיאה בעת עיבוד הבקשה."},who_to_follow:{more:"עוד",who_to_follow:"אחרי מי לעקוב"},tool_tip:{media_upload:"העלה מדיה",repeat:"חזור",reply:"הגב",favorite:"מועדף",user_settings:"הגדרות משתמש"},upload:{error:{base:"העלאה נכשלה.",file_too_big:"קובץ גדול מדי [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"נסה שוב אחר כך"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}}}}}]); +//# sourceMappingURL=16.017fa510b293035ac370.js.map \ No newline at end of file diff --git a/priv/static/static/js/16.017fa510b293035ac370.js.map b/priv/static/static/js/16.017fa510b293035ac370.js.map new file mode 100644 index 000000000..2886028bd --- /dev/null +++ b/priv/static/static/js/16.017fa510b293035ac370.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/16.017fa510b293035ac370.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/16.476e7809b8593264469e.js.map b/priv/static/static/js/16.476e7809b8593264469e.js.map deleted file mode 100644 index b62e1e0f4..000000000 --- a/priv/static/static/js/16.476e7809b8593264469e.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/16.476e7809b8593264469e.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/17.acbe4c09f05ae56c76a2.js.map b/priv/static/static/js/17.acbe4c09f05ae56c76a2.js.map deleted file mode 100644 index 92bc141e5..000000000 --- a/priv/static/static/js/17.acbe4c09f05ae56c76a2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/17.acbe4c09f05ae56c76a2.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/17.acbe4c09f05ae56c76a2.js b/priv/static/static/js/17.c63932b65417ee7346a3.js similarity index 94% rename from priv/static/static/js/17.acbe4c09f05ae56c76a2.js rename to priv/static/static/js/17.c63932b65417ee7346a3.js index 8e4d6181e..e3172472a 100644 --- a/priv/static/static/js/17.acbe4c09f05ae56c76a2.js +++ b/priv/static/static/js/17.c63932b65417ee7346a3.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{550:function(e){e.exports={finder:{error_fetching_user:"Hiba felhasználó beszerzésével",find_user:"Felhasználó keresése"},general:{submit:"Elküld"},login:{login:"Bejelentkezés",logout:"Kijelentkezés",password:"Jelszó",placeholder:"e.g. lain",register:"Feliratkozás",username:"Felhasználó név"},nav:{mentions:"Említéseim",public_tl:"Publikus Idővonal",timeline:"Idővonal",twkn:"Az Egész Ismert Hálózat"},notifications:{followed_you:"követ téged",notifications:"Értesítések",read:"Olvasva!"},post_status:{default:"Most érkeztem L.A.-be",posting:"Küldés folyamatban"},registration:{bio:"Bio",email:"Email",fullname:"Teljes név",password_confirm:"Jelszó megerősítése",registration:"Feliratkozás"},settings:{attachments:"Csatolmányok",autoload:"Autoatikus betöltés engedélyezése lap aljára görgetéskor",avatar:"Avatár",bio:"Bio",current_avatar:"Jelenlegi avatár",current_profile_banner:"Jelenlegi profil banner",filtering:"Szűrés",filtering_explanation:"Minden tartalom mely ezen szavakat tartalmazza némítva lesz, soronként egy",hide_attachments_in_convo:"Csatolmányok elrejtése a társalgásokban",hide_attachments_in_tl:"Csatolmányok elrejtése az idővonalon",name:"Név",name_bio:"Név és Bio",nsfw_clickthrough:"NSFW átkattintási tartalom elrejtésének engedélyezése",profile_background:"Profil háttérkép",profile_banner:"Profil Banner",reply_link_preview:"Válasz-link előzetes mutatása egér rátételkor",set_new_avatar:"Új avatár",set_new_profile_background:"Új profil háttér beállítása",set_new_profile_banner:"Új profil banner",settings:"Beállítások",theme:"Téma",user_settings:"Felhasználói beállítások"},timeline:{conversation:"Társalgás",error_fetching:"Hiba a frissítések beszerzésénél",load_older:"Régebbi állapotok betöltése",show_new:"Újak mutatása",up_to_date:"Naprakész"},user_card:{block:"Letilt",blocked:"Letiltva!",follow:"Követ",followees:"Követettek",followers:"Követők",following:"Követve!",follows_you:"Követ téged!",mute:"Némít",muted:"Némított",per_day:"naponta",statuses:"Állapotok"}}}}]); -//# sourceMappingURL=17.acbe4c09f05ae56c76a2.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{568:function(e){e.exports={finder:{error_fetching_user:"Hiba felhasználó beszerzésével",find_user:"Felhasználó keresése"},general:{submit:"Elküld"},login:{login:"Bejelentkezés",logout:"Kijelentkezés",password:"Jelszó",placeholder:"e.g. lain",register:"Feliratkozás",username:"Felhasználó név"},nav:{mentions:"Említéseim",public_tl:"Publikus Idővonal",timeline:"Idővonal",twkn:"Az Egész Ismert Hálózat"},notifications:{followed_you:"követ téged",notifications:"Értesítések",read:"Olvasva!"},post_status:{default:"Most érkeztem L.A.-be",posting:"Küldés folyamatban"},registration:{bio:"Bio",email:"Email",fullname:"Teljes név",password_confirm:"Jelszó megerősítése",registration:"Feliratkozás"},settings:{attachments:"Csatolmányok",autoload:"Autoatikus betöltés engedélyezése lap aljára görgetéskor",avatar:"Avatár",bio:"Bio",current_avatar:"Jelenlegi avatár",current_profile_banner:"Jelenlegi profil banner",filtering:"Szűrés",filtering_explanation:"Minden tartalom mely ezen szavakat tartalmazza némítva lesz, soronként egy",hide_attachments_in_convo:"Csatolmányok elrejtése a társalgásokban",hide_attachments_in_tl:"Csatolmányok elrejtése az idővonalon",name:"Név",name_bio:"Név és Bio",nsfw_clickthrough:"NSFW átkattintási tartalom elrejtésének engedélyezése",profile_background:"Profil háttérkép",profile_banner:"Profil Banner",reply_link_preview:"Válasz-link előzetes mutatása egér rátételkor",set_new_avatar:"Új avatár",set_new_profile_background:"Új profil háttér beállítása",set_new_profile_banner:"Új profil banner",settings:"Beállítások",theme:"Téma",user_settings:"Felhasználói beállítások"},timeline:{conversation:"Társalgás",error_fetching:"Hiba a frissítések beszerzésénél",load_older:"Régebbi állapotok betöltése",show_new:"Újak mutatása",up_to_date:"Naprakész"},user_card:{block:"Letilt",blocked:"Letiltva!",follow:"Követ",followees:"Követettek",followers:"Követők",following:"Követve!",follows_you:"Követ téged!",mute:"Némít",muted:"Némított",per_day:"naponta",statuses:"Állapotok"}}}}]); +//# sourceMappingURL=17.c63932b65417ee7346a3.js.map \ No newline at end of file diff --git a/priv/static/static/js/17.c63932b65417ee7346a3.js.map b/priv/static/static/js/17.c63932b65417ee7346a3.js.map new file mode 100644 index 000000000..f4c55d0cc --- /dev/null +++ b/priv/static/static/js/17.c63932b65417ee7346a3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/17.c63932b65417ee7346a3.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/18.a8ccd7f2a47c5c94b3b9.js.map b/priv/static/static/js/18.a8ccd7f2a47c5c94b3b9.js.map deleted file mode 100644 index e751cf19c..000000000 --- a/priv/static/static/js/18.a8ccd7f2a47c5c94b3b9.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/18.a8ccd7f2a47c5c94b3b9.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/18.a8ccd7f2a47c5c94b3b9.js b/priv/static/static/js/18.fd12f9746a55aa24a8b7.js similarity index 99% rename from priv/static/static/js/18.a8ccd7f2a47c5c94b3b9.js rename to priv/static/static/js/18.fd12f9746a55aa24a8b7.js index d52319d30..be1ecbba5 100644 --- a/priv/static/static/js/18.a8ccd7f2a47c5c94b3b9.js +++ b/priv/static/static/js/18.fd12f9746a55aa24a8b7.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{551:function(e){e.exports={general:{submit:"Invia",apply:"Applica",more:"Altro",generic_error:"Errore",optional:"facoltativo",show_more:"Mostra tutto",show_less:"Ripiega",dismiss:"Chiudi",cancel:"Annulla",disable:"Disabilita",enable:"Abilita",confirm:"Conferma",verify:"Verifica",peek:"Anteprima",close:"Chiudi",retry:"Riprova",error_retry:"Per favore, riprova",loading:"Carico…"},nav:{mentions:"Menzioni",public_tl:"Sequenza pubblica",timeline:"Sequenza personale",twkn:"Sequenza globale",chat:"Chat della stanza",friend_requests:"Vogliono seguirti",about:"Informazioni",administration:"Amministrazione",back:"Indietro",interactions:"Interazioni",dms:"Messaggi diretti",user_search:"Ricerca utenti",search:"Ricerca",who_to_follow:"Chi seguire",preferences:"Preferenze",bookmarks:"Segnalibri"},notifications:{followed_you:"ti segue",notifications:"Notifiche",read:"Letto!",broken_favorite:"Stato sconosciuto, lo sto cercando…",favorited_you:"ha gradito il tuo messaggio",load_older:"Carica notifiche precedenti",repeated_you:"ha condiviso il tuo messaggio",follow_request:"vuole seguirti",no_more_notifications:"Fine delle notifiche",migrated_to:"è migrato verso",reacted_with:"ha reagito con {0}"},settings:{attachments:"Allegati",autoload:"Abilita caricamento automatico quando raggiungi il fondo pagina",avatar:"Icona utente",bio:"Introduzione",current_avatar:"La tua icona attuale",current_profile_banner:"Il tuo stendardo attuale",filtering:"Filtri",filtering_explanation:"Tutti i post contenenti queste parole saranno silenziati, una per riga",hide_attachments_in_convo:"Nascondi gli allegati presenti nelle conversazioni",hide_attachments_in_tl:"Nascondi gli allegati presenti nelle sequenze",name:"Nome",name_bio:"Nome ed introduzione",nsfw_clickthrough:"Fai click per visualizzare gli allegati offuscati",profile_background:"Sfondo della tua pagina",profile_banner:"Stendardo del tuo profilo",reply_link_preview:"Visualizza le risposte al passaggio del cursore",set_new_avatar:"Scegli una nuova icona",set_new_profile_background:"Scegli un nuovo sfondo per la tua pagina",set_new_profile_banner:"Scegli un nuovo stendardo per il tuo profilo",settings:"Impostazioni",theme:"Tema",user_settings:"Impostazioni Utente",attachmentRadius:"Allegati",avatarAltRadius:"Icone utente (Notifiche)",avatarRadius:"Icone utente",background:"Sfondo",btnRadius:"Pulsanti",cBlue:"Blu (risposte, seguire)",cGreen:"Verde (ripeti)",cOrange:"Arancione (gradire)",cRed:"Rosso (annulla)",change_password:"Cambia password",change_password_error:"C'è stato un problema durante il cambiamento della password.",changed_password:"Password cambiata correttamente!",collapse_subject:"Ripiega messaggi con Oggetto",confirm_new_password:"Conferma la nuova password",current_password:"La tua password attuale",data_import_export_tab:"Importa o esporta dati",default_vis:"Visibilità predefinita dei messaggi",delete_account:"Elimina profilo",delete_account_description:"Elimina definitivamente i tuoi dati e disattiva il tuo profilo.",delete_account_error:"C'è stato un problema durante l'eliminazione del tuo profilo. Se il problema persiste contatta l'amministratore della tua stanza.",delete_account_instructions:"Digita la tua password nel campo sottostante per confermare l'eliminazione del tuo profilo.",export_theme:"Salva impostazioni",follow_export:"Esporta la lista di chi segui",follow_export_button:"Esporta la lista di chi segui in un file CSV",follow_export_processing:"Sto elaborando, presto ti sarà chiesto di scaricare il tuo file",follow_import:"Importa la lista di chi segui",follow_import_error:"Errore nell'importazione della lista di chi segui",follows_imported:"Importazione riuscita! L'elaborazione richiederà un po' di tempo.",foreground:"Primo piano",general:"Generale",hide_post_stats:"Nascondi statistiche dei messaggi (es. il numero di preferenze)",hide_user_stats:"Nascondi statistiche dell'utente (es. il numero dei tuoi seguaci)",import_followers_from_a_csv_file:"Importa una lista di chi segui da un file CSV",import_theme:"Carica impostazioni",inputRadius:"Campi di testo",instance_default:"(predefinito: {value})",interfaceLanguage:"Lingua dell'interfaccia",invalid_theme_imported:"Il file selezionato non è un tema supportato da Pleroma. Il tuo tema non è stato modificato.",limited_availability:"Non disponibile nel tuo browser",links:"Collegamenti",lock_account_description:"Limita il tuo account solo a seguaci approvati",loop_video:"Riproduci video in ciclo continuo",loop_video_silent_only:'Riproduci solo video senza audio in ciclo continuo (es. le "gif" di Mastodon)',new_password:"Nuova password",notification_visibility:"Tipi di notifiche da mostrare",notification_visibility_follows:"Nuove persone ti seguono",notification_visibility_likes:"Preferiti",notification_visibility_mentions:"Menzioni",notification_visibility_repeats:"Condivisioni",no_rich_text_description:"Togli la formattazione del testo da tutti i messaggi",oauth_tokens:"Token OAuth",token:"Token",refresh_token:"Aggiorna token",valid_until:"Valido fino a",revoke_token:"Revoca",panelRadius:"Pannelli",pause_on_unfocused:"Interrompi l'aggiornamento continuo mentre la scheda è in secondo piano",presets:"Valori predefiniti",profile_tab:"Profilo",radii_help:"Imposta il raggio degli angoli (in pixel)",replies_in_timeline:"Risposte nella sequenza personale",reply_visibility_all:"Mostra tutte le risposte",reply_visibility_following:"Mostra solo le risposte rivolte a me o agli utenti che seguo",reply_visibility_self:"Mostra solo risposte rivolte a me",saving_err:"Errore nel salvataggio delle impostazioni",saving_ok:"Impostazioni salvate",security_tab:"Sicurezza",stop_gifs:"Riproduci GIF al passaggio del cursore",streaming:"Mostra automaticamente i nuovi messaggi quando sei in cima alla pagina",text:"Testo",theme_help:"Usa codici colore esadecimali (#rrggbb) per personalizzare il tuo schema di colori.",tooltipRadius:"Suggerimenti/avvisi",values:{false:"no",true:"sì"},avatar_size_instruction:"La taglia minima per l'icona personale è 150x150 pixel.",domain_mutes:"Domini",discoverable:"Permetti la scoperta di questo profilo da servizi di ricerca ed altro",composing:"Composizione",changed_email:"Email cambiata con successo!",change_email_error:"C'è stato un problema nel cambiare la tua email.",change_email:"Cambia email",blocks_tab:"Bloccati",blocks_imported:"Blocchi importati! Saranno elaborati a breve.",block_import_error:"Errore nell'importazione",block_import:"Importa blocchi",block_export_button:"Esporta i tuoi blocchi in un file CSV",block_export:"Esporta blocchi",allow_following_move:"Consenti",mfa:{verify:{desc:"Per abilitare l'autenticazione bifattoriale, inserisci il codice fornito dalla tua applicazione:"},scan:{secret_code:"Codice",desc:"Con la tua applicazione bifattoriale, acquisisci questo QR o inserisci il codice manualmente:",title:"Acquisisci"},authentication_methods:"Metodi di accesso",recovery_codes_warning:"Appuntati i codici o salvali in un posto sicuro, altrimenti rischi di non rivederli mai più. Se perderai l'accesso sia alla tua applicazione bifattoriale che ai codici di recupero non potrai più accedere al tuo profilo.",waiting_a_recovery_codes:"Ricevo codici di recupero…",recovery_codes:"Codici di recupero.",warning_of_generate_new_codes:"Alla generazione di nuovi codici di recupero, quelli vecchi saranno disattivati.",generate_new_recovery_codes:"Genera nuovi codici di recupero",title:"Accesso bifattoriale",confirm_and_enable:"Conferma ed abilita OTP",wait_pre_setup_otp:"preimposto OTP",setup_otp:"Imposta OTP",otp:"OTP"},enter_current_password_to_confirm:"Inserisci la tua password per identificarti",security:"Sicurezza",app_name:"Nome applicazione",style:{switcher:{help:{older_version_imported:"Il tema importato è stato creato per una versione precedente dell'interfaccia.",future_version_imported:"Il tema importato è stato creato per una versione più recente dell'interfaccia.",v2_imported:"Il tema importato è stato creato per una vecchia interfaccia. Non tutto potrebbe essere come prima.",upgraded_from_v2:"L'interfaccia è stata aggiornata, il tema potrebbe essere diverso da come lo intendevi.",migration_snapshot_ok:"Ho caricato l'anteprima del tema. Puoi provare a caricarne i contenuti.",fe_downgraded:"L'interfaccia è stata portata ad una versione precedente.",fe_upgraded:"Lo schema dei temi è stato aggiornato insieme all'interfaccia.",snapshot_missing:"Il tema non è provvisto di anteprima, quindi potrebbe essere diverso da come appare.",snapshot_present:"Tutti i valori sono sostituiti dall'anteprima del tema. Puoi invece caricare i suoi contenuti.",snapshot_source_mismatch:"Conflitto di versione: probabilmente l'interfaccia è stata portata ad una versione precedente e poi aggiornata di nuovo. Se hai modificato il tema con una versione precedente dell'interfaccia, usa la vecchia versione del tema, altrimenti puoi usare la nuova.",migration_napshot_gone:"Anteprima del tema non trovata, non tutto potrebbe essere come ricordi."},use_source:"Nuova versione",use_snapshot:"Versione precedente",keep_as_is:"Mantieni tal quale",load_theme:"Carica tema",clear_opacity:"Rimuovi opacità",clear_all:"Azzera tutto",reset:"Reimposta",save_load_hint:'Le opzioni "mantieni" conservano le impostazioni correnti quando selezioni o carichi un tema, e le salvano quando ne esporti uno. Quando nessuna casella è selezionata, tutte le impostazioni correnti saranno salvate nel tema.',keep_fonts:"Mantieni font",keep_roundness:"Mantieni vertici",keep_opacity:"Mantieni opacità",keep_shadows:"Mantieni ombre",keep_color:"Mantieni colori"},common:{opacity:"Opacità",color:"Colore",contrast:{context:{text:"per il testo","18pt":"per il testo grande (oltre 17pt)"},level:{bad:"non soddisfa le linee guida di alcun livello",aaa:"soddisfa le linee guida di livello AAA (ottimo)",aa:"soddisfa le linee guida di livello AA (sufficiente)"},hint:"Il rapporto di contrasto è {ratio}, e {level} {context}"}},advanced_colors:{badge:"Sfondo medaglie",post:"Messaggi / Biografie",alert_neutral:"Neutro",alert_warning:"Attenzione",alert_error:"Errore",alert:"Sfondo degli avvertimenti",_tab_label:"Avanzate",tabs:"Etichette",disabled:"Disabilitato",selectedMenu:"Voce menù selezionata",selectedPost:"Messaggio selezionato",pressed:"Premuto",highlight:"Elementi evidenziati",icons:"Icone",poll:"Grafico sondaggi",underlay:"Sottostante",faint_text:"Testo sbiadito",inputs:"Campi d'immissione",buttons:"Pulsanti",borders:"Bordi",top_bar:"Barra superiore",panel_header:"Titolo pannello",badge_notification:"Notifica",popover:"Suggerimenti, menù, sbalzi",toggled:"Scambiato"},common_colors:{rgbo:"Icone, accenti, medaglie",foreground_hint:'Seleziona l\'etichetta "Avanzate" per controlli più fini',main:"Colori comuni",_tab_label:"Comuni"},shadows:{inset:"Includi",spread:"Spandi",blur:"Sfoca",shadow_id:"Ombra numero {value}",override:"Sostituisci",component:"Componente",_tab_label:"Luci ed ombre",components:{avatarStatus:"Icona utente (vista messaggio)",avatar:"Icona utente (vista profilo)",topBar:"Barra superiore",panelHeader:"Intestazione pannello",panel:"Pannello",input:"Campo d'immissione",buttonPressedHover:"Pulsante (puntato e premuto)",buttonPressed:"Pulsante (premuto)",buttonHover:"Pulsante (puntato)",button:"Pulsante",popup:"Sbalzi e suggerimenti"},filter_hint:{inset_classic:"Le ombre incluse usano {0}",spread_zero:"Lo spandimento maggiore di zero si azzera sulle ombre",avatar_inset:"Tieni presente che combinare ombre (sia incluse che non) sulle icone utente potrebbe dare risultati strani con quelle trasparenti.",drop_shadow_syntax:"{0} non supporta il parametro {1} né la keyword {2}.",always_drop_shadow:"Attenzione: quest'ombra usa sempre {0} se il tuo browser lo supporta."},hintV3:"Per le ombre puoi anche usare la sintassi {0} per sfruttare il secondo colore."},radii:{_tab_label:"Raggio"},fonts:{_tab_label:"Font",custom:"Personalizzato",weight:"Peso (grassettatura)",size:"Dimensione (in pixel)",family:"Nome font",components:{postCode:"Font a spaziatura fissa incluso in un messaggio",post:"Testo del messaggio",input:"Campi d'immissione",interface:"Interfaccia"},help:'Seleziona il font da usare per gli elementi dell\'interfaccia. Se scegli "personalizzato" devi inserire il suo nome di sistema.'},preview:{link:"un bel collegamentino",checkbox:"Ho dato uno sguardo a termini e condizioni",header_faint:"Tutto bene",fine_print:"Leggi il nostro {0} per imparare un bel niente!",faint_link:"utilissimo manuale",input:"Sono appena atterrato a Fiumicino.",mono:"contenuto",text:"Altro {0} e {1}",content:"Contenuto",button:"Pulsante",error:"Errore d'esempio",header:"Anteprima"}},enable_web_push_notifications:"Abilita notifiche web push",fun:"Divertimento",notification_mutes:"Per non ricevere notifiche da uno specifico utente, zittiscilo.",notification_setting_privacy_option:"Nascondi mittente e contenuti delle notifiche push",notification_setting_privacy:"Privacy",notification_setting_followers:"Utenti che ti seguono",notification_setting_non_followers:"Utenti che non ti seguono",notification_setting_non_follows:"Utenti che non segui",notification_setting_follows:"Utenti che segui",notification_setting:"Ricevi notifiche da:",notification_setting_filters:"Filtri",notifications:"Notifiche",greentext:"Frecce da meme",upload_a_photo:"Carica un'immagine",type_domains_to_mute:"Cerca domini da zittire",theme_help_v2_2:"Le icone dietro alcuni elementi sono indicatori del contrasto fra testo e sfondo, passaci sopra col puntatore per ulteriori informazioni. Se si usano delle trasparenze, questi indicatori mostrano il peggior caso possibile.",theme_help_v2_1:'Puoi anche forzare colore ed opacità di alcuni elementi selezionando la casella. Usa il pulsante "Azzera" per azzerare tutte le forzature.',useStreamingApiWarning:"(Sconsigliato, sperimentale, può saltare messaggi)",useStreamingApi:"Ricevi messaggi e notifiche in tempo reale",user_mutes:"Utenti",post_status_content_type:"Tipo di contenuto dei messaggi",subject_line_noop:"Non copiare",subject_line_mastodon:"Come in Mastodon: copia tal quale",subject_line_email:'Come nelle email: "re: oggetto"',subject_line_behavior:"Copia oggetto quando rispondi",subject_input_always_show:"Mostra sempre il campo Oggetto",minimal_scopes_mode:"Riduci opzioni di visibilità",scope_copy:"Risposte ereditano la visibilità (messaggi privati lo fanno sempre)",search_user_to_mute:"Cerca utente da zittire",search_user_to_block:"Cerca utente da bloccare",autohide_floating_post_button:"Nascondi automaticamente il pulsante di composizione (mobile)",show_moderator_badge:"Mostra l'insegna di moderatore sulla mia pagina",show_admin_badge:"Mostra l'insegna di amministratore sulla mia pagina",hide_followers_count_description:"Non mostrare quanti seguaci ho",hide_follows_count_description:"Non mostrare quanti utenti seguo",hide_followers_description:"Non mostrare i miei seguaci",hide_follows_description:"Non mostrare chi seguo",no_mutes:"Nessun utente zittito",no_blocks:"Nessun utente bloccato",notification_visibility_emoji_reactions:"Reazioni",notification_visibility_moves:"Migrazioni utenti",new_email:"Nuova email",use_contain_fit:"Non ritagliare le anteprime degli allegati",play_videos_in_modal:"Riproduci video in un riquadro a sbalzo",mutes_tab:"Zittiti",interface:"Interfaccia",instance_default_simple:"(predefinito)",checkboxRadius:"Caselle di selezione",import_blocks_from_a_csv_file:"Importa blocchi da un file CSV",hide_filtered_statuses:"Nascondi messaggi filtrati",use_one_click_nsfw:"Apri media offuscati con un solo click",preload_images:"Precarica immagini",hide_isp:"Nascondi pannello della stanza",max_thumbnails:"Numero massimo di anteprime per messaggio",hide_muted_posts:"Nascondi messaggi degli utenti zittiti",accent:"Accento",emoji_reactions_on_timeline:"Mostra emoji di reazione sulle sequenze",pad_emoji:"Affianca spazi agli emoji inseriti tramite selettore",notification_blocks:"Bloccando un utente non riceverai più le sue notifiche né lo seguirai più.",mutes_and_blocks:"Zittiti e bloccati",profile_fields:{value:"Contenuto",name:"Etichetta",add_field:"Aggiungi campo",label:"Metadati profilo"},bot:"Questo profilo è di un robot",version:{frontend_version:"Versione interfaccia",backend_version:"Versione backend",title:"Versione"}},timeline:{error_fetching:"Errore nell'aggiornamento",load_older:"Carica messaggi più vecchi",show_new:"Mostra nuovi",up_to_date:"Aggiornato",collapse:"Riduci",conversation:"Conversazione",no_retweet_hint:"Il messaggio è diretto o solo per seguaci e non può essere condiviso",repeated:"condiviso",no_statuses:"Nessun messaggio",no_more_statuses:"Fine dei messaggi",reload:"Ricarica"},user_card:{follow:"Segui",followees:"Chi stai seguendo",followers:"Seguaci",following:"Seguìto!",follows_you:"Ti segue!",mute:"Silenzia",muted:"Silenziato",per_day:"al giorno",statuses:"Messaggi",approve:"Approva",block:"Blocca",blocked:"Bloccato!",deny:"Nega",remote_follow:"Segui da remoto"},chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Proxy multimedia",scope_options:"Opzioni visibilità",text_limit:"Lunghezza massima",title:"Caratteristiche",who_to_follow:"Chi seguire"},finder:{error_fetching_user:"Errore nel recupero dell'utente",find_user:"Trova utente"},login:{login:"Accedi",logout:"Disconnettiti",password:"Password",placeholder:"es. Lupo Lucio",register:"Registrati",username:"Nome utente",description:"Accedi con OAuth",hint:"Accedi per partecipare alla discussione",authentication_code:"Codice di autenticazione",enter_recovery_code:"Inserisci un codice di recupero",enter_two_factor_code:"Inserisci un codice two-factor",recovery_code:"Codice di recupero",heading:{totp:"Autenticazione two-factor",recovery:"Recupero two-factor"}},post_status:{account_not_locked_warning:"Il tuo profilo non è {0}. Chiunque può seguirti e vedere i tuoi messaggi riservati ai tuoi seguaci.",account_not_locked_warning_link:"protetto",attachments_sensitive:"Nascondi gli allegati",content_type:{"text/plain":"Testo normale","text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML"},content_warning:"Oggetto (facoltativo)",default:"Sono appena atterrato a Fiumicino.",direct_warning:"Questo post sarà visibile solo dagli utenti menzionati.",posting:"Sto pubblicando",scope:{direct:"Diretto - Visibile solo agli utenti menzionati",private:"Solo per seguaci - Visibile solo dai tuoi seguaci",public:"Pubblico - Visibile sulla sequenza pubblica",unlisted:"Non elencato - Non visibile sulla sequenza pubblica"},scope_notice:{unlisted:"Questo messaggio non sarà visibile sulla sequenza locale né su quella pubblica",private:"Questo messaggio sarà visibile solo ai tuoi seguaci",public:"Questo messaggio sarà visibile a tutti"},direct_warning_to_first_only:"Questo messaggio sarà visibile solo agli utenti menzionati all'inizio.",direct_warning_to_all:"Questo messaggio sarà visibile a tutti i menzionati.",new_status:"Nuovo messaggio",empty_status_error:"Non puoi pubblicare messaggi vuoti senza allegati",preview_empty:"Vuoto",preview:"Anteprima"},registration:{bio:"Introduzione",email:"Email",fullname:"Nome visualizzato",password_confirm:"Conferma password",registration:"Registrazione",token:"Codice d'invito",validations:{password_confirmation_match:"dovrebbe essere uguale alla password",password_confirmation_required:"non può essere vuoto",password_required:"non può essere vuoto",email_required:"non può essere vuoto",fullname_required:"non può essere vuoto",username_required:"non può essere vuoto"},bio_placeholder:"es.\nCiao, sono Lupo Lucio.\nSono un lupo fantastico che vive nel Fantabosco. Forse mi hai visto alla Melevisione.",fullname_placeholder:"es. Lupo Lucio",username_placeholder:"es. mister_wolf",new_captcha:"Clicca l'immagine per avere un altro captcha",captcha:"CAPTCHA"},user_profile:{timeline_title:"Sequenza dell'Utente"},who_to_follow:{more:"Altro",who_to_follow:"Chi seguire"},about:{mrf:{federation:"Federazione",keyword:{reject:"Rifiuta",replace:"Sostituisci",is_replaced_by:"→",keyword_policies:"Regole per parole chiave",ftl_removal:"Rimozione dalla sequenza globale"},simple:{reject:"Rifiuta",accept:"Accetta",simple_policies:"Regole specifiche alla stanza",accept_desc:"Questa stanza accetta messaggi solo dalle seguenti stanze:",reject_desc:"Questa stanza non accetterà messaggi dalle stanze seguenti:",quarantine:"Quarantena",quarantine_desc:"Questa stanza inoltrerà solo messaggi pubblici alle seguenti stanze:",ftl_removal:"Rimozione dalla sequenza globale",ftl_removal_desc:"Questa stanza rimuove le seguenti stanze dalla sequenza globale:",media_removal:"Rimozione multimedia",media_removal_desc:"Questa istanza rimuove gli allegati dalle seguenti stanze:",media_nsfw:"Allegati oscurati forzatamente",media_nsfw_desc:"Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:"},mrf_policies:"Regole RM abilitate",mrf_policies_desc:"Le regole RM cambiano il comportamento federativo della stanza. Vigono le seguenti regole:"},staff:"Equipaggio"},domain_mute_card:{mute:"Zittisci",mute_progress:"Zittisco…",unmute:"Ascolta",unmute_progress:"Procedo…"},exporter:{export:"Esporta",processing:"In elaborazione, il tuo file sarà scaricabile a breve"},image_cropper:{crop_picture:"Ritaglia immagine",save:"Salva",save_without_cropping:"Salva senza ritagliare",cancel:"Annulla"},importer:{submit:"Invia",success:"Importato.",error:"L'importazione non è andata a buon fine."},media_modal:{previous:"Precedente",next:"Prossimo"},polls:{add_poll:"Sondaggio",add_option:"Alternativa",option:"Opzione",votes:"voti",vote:"Vota",type:"Tipo di sondaggio",single_choice:"Scelta singola",multiple_choices:"Scelta multipla",expiry:"Scadenza",expires_in:"Scade fra {0}",expired:"Scaduto {0} fa",not_enough_options:"Aggiungi altre risposte"},interactions:{favs_repeats:"Condivisi e preferiti",load_older:"Carica vecchie interazioni",moves:"Utenti migrati",follows:"Nuovi seguìti"},emoji:{load_all:"Carico tutti i {emojiAmount} emoji",load_all_hint:"Primi {saneAmount} emoji caricati, caricarli tutti potrebbe causare rallentamenti.",unicode:"Emoji Unicode",custom:"Emoji personale",add_emoji:"Inserisci Emoji",search_emoji:"Cerca un emoji",keep_open:"Tieni aperto il menù",emoji:"Emoji",stickers:"Adesivi"},selectable_list:{select_all:"Seleziona tutto"},remote_user_resolver:{error:"Non trovato.",searching_for:"Cerco",remote_user_resolver:"Cerca utenti remoti"},errors:{storage_unavailable:"Pleroma non ha potuto accedere ai dati del tuo browser. Le tue credenziali o le tue impostazioni locali non potranno essere salvate e potresti incontrare strani errori. Prova ad abilitare i cookie."},status:{pinned:"Intestato",unpin:"De-intesta",pin:"Intesta al profilo",delete:"Elimina messaggio",repeats:"Condivisi",favorites:"Preferiti"},time:{years_short:"{0}a",year_short:"{0}a",years:"{0} anni",year:"{0} anno",weeks_short:"{0}set",week_short:"{0}set",seconds_short:"{0}sec",second_short:"{0}sec",weeks:"{0} settimane",week:"{0} settimana",seconds:"{0} secondi",second:"{0} secondo",now_short:"ora",now:"adesso",months_short:"{0}me",month_short:"{0}me",months:"{0} mesi",month:"{0} mese",minutes_short:"{0}min",minute_short:"{0}min",minutes:"{0} minuti",minute:"{0} minuto",in_past:"{0} fa",in_future:"fra {0}",hours_short:"{0}h",days_short:"{0}g",hour_short:"{0}h",hours:"{0} ore",hour:"{0} ora",day_short:"{0}g",days:"{0} giorni",day:"{0} giorno"}}}}]); -//# sourceMappingURL=18.a8ccd7f2a47c5c94b3b9.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{569:function(e){e.exports={general:{submit:"Invia",apply:"Applica",more:"Altro",generic_error:"Errore",optional:"facoltativo",show_more:"Mostra tutto",show_less:"Ripiega",dismiss:"Chiudi",cancel:"Annulla",disable:"Disabilita",enable:"Abilita",confirm:"Conferma",verify:"Verifica",peek:"Anteprima",close:"Chiudi",retry:"Riprova",error_retry:"Per favore, riprova",loading:"Carico…"},nav:{mentions:"Menzioni",public_tl:"Sequenza pubblica",timeline:"Sequenza personale",twkn:"Sequenza globale",chat:"Chat della stanza",friend_requests:"Vogliono seguirti",about:"Informazioni",administration:"Amministrazione",back:"Indietro",interactions:"Interazioni",dms:"Messaggi diretti",user_search:"Ricerca utenti",search:"Ricerca",who_to_follow:"Chi seguire",preferences:"Preferenze",bookmarks:"Segnalibri"},notifications:{followed_you:"ti segue",notifications:"Notifiche",read:"Letto!",broken_favorite:"Stato sconosciuto, lo sto cercando…",favorited_you:"ha gradito il tuo messaggio",load_older:"Carica notifiche precedenti",repeated_you:"ha condiviso il tuo messaggio",follow_request:"vuole seguirti",no_more_notifications:"Fine delle notifiche",migrated_to:"è migrato verso",reacted_with:"ha reagito con {0}"},settings:{attachments:"Allegati",autoload:"Abilita caricamento automatico quando raggiungi il fondo pagina",avatar:"Icona utente",bio:"Introduzione",current_avatar:"La tua icona attuale",current_profile_banner:"Il tuo stendardo attuale",filtering:"Filtri",filtering_explanation:"Tutti i post contenenti queste parole saranno silenziati, una per riga",hide_attachments_in_convo:"Nascondi gli allegati presenti nelle conversazioni",hide_attachments_in_tl:"Nascondi gli allegati presenti nelle sequenze",name:"Nome",name_bio:"Nome ed introduzione",nsfw_clickthrough:"Fai click per visualizzare gli allegati offuscati",profile_background:"Sfondo della tua pagina",profile_banner:"Stendardo del tuo profilo",reply_link_preview:"Visualizza le risposte al passaggio del cursore",set_new_avatar:"Scegli una nuova icona",set_new_profile_background:"Scegli un nuovo sfondo per la tua pagina",set_new_profile_banner:"Scegli un nuovo stendardo per il tuo profilo",settings:"Impostazioni",theme:"Tema",user_settings:"Impostazioni Utente",attachmentRadius:"Allegati",avatarAltRadius:"Icone utente (Notifiche)",avatarRadius:"Icone utente",background:"Sfondo",btnRadius:"Pulsanti",cBlue:"Blu (risposte, seguire)",cGreen:"Verde (ripeti)",cOrange:"Arancione (gradire)",cRed:"Rosso (annulla)",change_password:"Cambia password",change_password_error:"C'è stato un problema durante il cambiamento della password.",changed_password:"Password cambiata correttamente!",collapse_subject:"Ripiega messaggi con Oggetto",confirm_new_password:"Conferma la nuova password",current_password:"La tua password attuale",data_import_export_tab:"Importa o esporta dati",default_vis:"Visibilità predefinita dei messaggi",delete_account:"Elimina profilo",delete_account_description:"Elimina definitivamente i tuoi dati e disattiva il tuo profilo.",delete_account_error:"C'è stato un problema durante l'eliminazione del tuo profilo. Se il problema persiste contatta l'amministratore della tua stanza.",delete_account_instructions:"Digita la tua password nel campo sottostante per confermare l'eliminazione del tuo profilo.",export_theme:"Salva impostazioni",follow_export:"Esporta la lista di chi segui",follow_export_button:"Esporta la lista di chi segui in un file CSV",follow_export_processing:"Sto elaborando, presto ti sarà chiesto di scaricare il tuo file",follow_import:"Importa la lista di chi segui",follow_import_error:"Errore nell'importazione della lista di chi segui",follows_imported:"Importazione riuscita! L'elaborazione richiederà un po' di tempo.",foreground:"Primo piano",general:"Generale",hide_post_stats:"Nascondi statistiche dei messaggi (es. il numero di preferenze)",hide_user_stats:"Nascondi statistiche dell'utente (es. il numero dei tuoi seguaci)",import_followers_from_a_csv_file:"Importa una lista di chi segui da un file CSV",import_theme:"Carica impostazioni",inputRadius:"Campi di testo",instance_default:"(predefinito: {value})",interfaceLanguage:"Lingua dell'interfaccia",invalid_theme_imported:"Il file selezionato non è un tema supportato da Pleroma. Il tuo tema non è stato modificato.",limited_availability:"Non disponibile nel tuo browser",links:"Collegamenti",lock_account_description:"Limita il tuo account solo a seguaci approvati",loop_video:"Riproduci video in ciclo continuo",loop_video_silent_only:'Riproduci solo video senza audio in ciclo continuo (es. le "gif" di Mastodon)',new_password:"Nuova password",notification_visibility:"Tipi di notifiche da mostrare",notification_visibility_follows:"Nuove persone ti seguono",notification_visibility_likes:"Preferiti",notification_visibility_mentions:"Menzioni",notification_visibility_repeats:"Condivisioni",no_rich_text_description:"Togli la formattazione del testo da tutti i messaggi",oauth_tokens:"Token OAuth",token:"Token",refresh_token:"Aggiorna token",valid_until:"Valido fino a",revoke_token:"Revoca",panelRadius:"Pannelli",pause_on_unfocused:"Interrompi l'aggiornamento continuo mentre la scheda è in secondo piano",presets:"Valori predefiniti",profile_tab:"Profilo",radii_help:"Imposta il raggio degli angoli (in pixel)",replies_in_timeline:"Risposte nella sequenza personale",reply_visibility_all:"Mostra tutte le risposte",reply_visibility_following:"Mostra solo le risposte rivolte a me o agli utenti che seguo",reply_visibility_self:"Mostra solo risposte rivolte a me",saving_err:"Errore nel salvataggio delle impostazioni",saving_ok:"Impostazioni salvate",security_tab:"Sicurezza",stop_gifs:"Riproduci GIF al passaggio del cursore",streaming:"Mostra automaticamente i nuovi messaggi quando sei in cima alla pagina",text:"Testo",theme_help:"Usa codici colore esadecimali (#rrggbb) per personalizzare il tuo schema di colori.",tooltipRadius:"Suggerimenti/avvisi",values:{false:"no",true:"sì"},avatar_size_instruction:"La taglia minima per l'icona personale è 150x150 pixel.",domain_mutes:"Domini",discoverable:"Permetti la scoperta di questo profilo da servizi di ricerca ed altro",composing:"Composizione",changed_email:"Email cambiata con successo!",change_email_error:"C'è stato un problema nel cambiare la tua email.",change_email:"Cambia email",blocks_tab:"Bloccati",blocks_imported:"Blocchi importati! Saranno elaborati a breve.",block_import_error:"Errore nell'importazione",block_import:"Importa blocchi",block_export_button:"Esporta i tuoi blocchi in un file CSV",block_export:"Esporta blocchi",allow_following_move:"Consenti",mfa:{verify:{desc:"Per abilitare l'autenticazione bifattoriale, inserisci il codice fornito dalla tua applicazione:"},scan:{secret_code:"Codice",desc:"Con la tua applicazione bifattoriale, acquisisci questo QR o inserisci il codice manualmente:",title:"Acquisisci"},authentication_methods:"Metodi di accesso",recovery_codes_warning:"Appuntati i codici o salvali in un posto sicuro, altrimenti rischi di non rivederli mai più. Se perderai l'accesso sia alla tua applicazione bifattoriale che ai codici di recupero non potrai più accedere al tuo profilo.",waiting_a_recovery_codes:"Ricevo codici di recupero…",recovery_codes:"Codici di recupero.",warning_of_generate_new_codes:"Alla generazione di nuovi codici di recupero, quelli vecchi saranno disattivati.",generate_new_recovery_codes:"Genera nuovi codici di recupero",title:"Accesso bifattoriale",confirm_and_enable:"Conferma ed abilita OTP",wait_pre_setup_otp:"preimposto OTP",setup_otp:"Imposta OTP",otp:"OTP"},enter_current_password_to_confirm:"Inserisci la tua password per identificarti",security:"Sicurezza",app_name:"Nome applicazione",style:{switcher:{help:{older_version_imported:"Il tema importato è stato creato per una versione precedente dell'interfaccia.",future_version_imported:"Il tema importato è stato creato per una versione più recente dell'interfaccia.",v2_imported:"Il tema importato è stato creato per una vecchia interfaccia. Non tutto potrebbe essere come prima.",upgraded_from_v2:"L'interfaccia è stata aggiornata, il tema potrebbe essere diverso da come lo intendevi.",migration_snapshot_ok:"Ho caricato l'anteprima del tema. Puoi provare a caricarne i contenuti.",fe_downgraded:"L'interfaccia è stata portata ad una versione precedente.",fe_upgraded:"Lo schema dei temi è stato aggiornato insieme all'interfaccia.",snapshot_missing:"Il tema non è provvisto di anteprima, quindi potrebbe essere diverso da come appare.",snapshot_present:"Tutti i valori sono sostituiti dall'anteprima del tema. Puoi invece caricare i suoi contenuti.",snapshot_source_mismatch:"Conflitto di versione: probabilmente l'interfaccia è stata portata ad una versione precedente e poi aggiornata di nuovo. Se hai modificato il tema con una versione precedente dell'interfaccia, usa la vecchia versione del tema, altrimenti puoi usare la nuova.",migration_napshot_gone:"Anteprima del tema non trovata, non tutto potrebbe essere come ricordi."},use_source:"Nuova versione",use_snapshot:"Versione precedente",keep_as_is:"Mantieni tal quale",load_theme:"Carica tema",clear_opacity:"Rimuovi opacità",clear_all:"Azzera tutto",reset:"Reimposta",save_load_hint:'Le opzioni "mantieni" conservano le impostazioni correnti quando selezioni o carichi un tema, e le salvano quando ne esporti uno. Quando nessuna casella è selezionata, tutte le impostazioni correnti saranno salvate nel tema.',keep_fonts:"Mantieni font",keep_roundness:"Mantieni vertici",keep_opacity:"Mantieni opacità",keep_shadows:"Mantieni ombre",keep_color:"Mantieni colori"},common:{opacity:"Opacità",color:"Colore",contrast:{context:{text:"per il testo","18pt":"per il testo grande (oltre 17pt)"},level:{bad:"non soddisfa le linee guida di alcun livello",aaa:"soddisfa le linee guida di livello AAA (ottimo)",aa:"soddisfa le linee guida di livello AA (sufficiente)"},hint:"Il rapporto di contrasto è {ratio}, e {level} {context}"}},advanced_colors:{badge:"Sfondo medaglie",post:"Messaggi / Biografie",alert_neutral:"Neutro",alert_warning:"Attenzione",alert_error:"Errore",alert:"Sfondo degli avvertimenti",_tab_label:"Avanzate",tabs:"Etichette",disabled:"Disabilitato",selectedMenu:"Voce menù selezionata",selectedPost:"Messaggio selezionato",pressed:"Premuto",highlight:"Elementi evidenziati",icons:"Icone",poll:"Grafico sondaggi",underlay:"Sottostante",faint_text:"Testo sbiadito",inputs:"Campi d'immissione",buttons:"Pulsanti",borders:"Bordi",top_bar:"Barra superiore",panel_header:"Titolo pannello",badge_notification:"Notifica",popover:"Suggerimenti, menù, sbalzi",toggled:"Scambiato"},common_colors:{rgbo:"Icone, accenti, medaglie",foreground_hint:'Seleziona l\'etichetta "Avanzate" per controlli più fini',main:"Colori comuni",_tab_label:"Comuni"},shadows:{inset:"Includi",spread:"Spandi",blur:"Sfoca",shadow_id:"Ombra numero {value}",override:"Sostituisci",component:"Componente",_tab_label:"Luci ed ombre",components:{avatarStatus:"Icona utente (vista messaggio)",avatar:"Icona utente (vista profilo)",topBar:"Barra superiore",panelHeader:"Intestazione pannello",panel:"Pannello",input:"Campo d'immissione",buttonPressedHover:"Pulsante (puntato e premuto)",buttonPressed:"Pulsante (premuto)",buttonHover:"Pulsante (puntato)",button:"Pulsante",popup:"Sbalzi e suggerimenti"},filter_hint:{inset_classic:"Le ombre incluse usano {0}",spread_zero:"Lo spandimento maggiore di zero si azzera sulle ombre",avatar_inset:"Tieni presente che combinare ombre (sia incluse che non) sulle icone utente potrebbe dare risultati strani con quelle trasparenti.",drop_shadow_syntax:"{0} non supporta il parametro {1} né la keyword {2}.",always_drop_shadow:"Attenzione: quest'ombra usa sempre {0} se il tuo browser lo supporta."},hintV3:"Per le ombre puoi anche usare la sintassi {0} per sfruttare il secondo colore."},radii:{_tab_label:"Raggio"},fonts:{_tab_label:"Font",custom:"Personalizzato",weight:"Peso (grassettatura)",size:"Dimensione (in pixel)",family:"Nome font",components:{postCode:"Font a spaziatura fissa incluso in un messaggio",post:"Testo del messaggio",input:"Campi d'immissione",interface:"Interfaccia"},help:'Seleziona il font da usare per gli elementi dell\'interfaccia. Se scegli "personalizzato" devi inserire il suo nome di sistema.'},preview:{link:"un bel collegamentino",checkbox:"Ho dato uno sguardo a termini e condizioni",header_faint:"Tutto bene",fine_print:"Leggi il nostro {0} per imparare un bel niente!",faint_link:"utilissimo manuale",input:"Sono appena atterrato a Fiumicino.",mono:"contenuto",text:"Altro {0} e {1}",content:"Contenuto",button:"Pulsante",error:"Errore d'esempio",header:"Anteprima"}},enable_web_push_notifications:"Abilita notifiche web push",fun:"Divertimento",notification_mutes:"Per non ricevere notifiche da uno specifico utente, zittiscilo.",notification_setting_privacy_option:"Nascondi mittente e contenuti delle notifiche push",notification_setting_privacy:"Privacy",notification_setting_followers:"Utenti che ti seguono",notification_setting_non_followers:"Utenti che non ti seguono",notification_setting_non_follows:"Utenti che non segui",notification_setting_follows:"Utenti che segui",notification_setting:"Ricevi notifiche da:",notification_setting_filters:"Filtri",notifications:"Notifiche",greentext:"Frecce da meme",upload_a_photo:"Carica un'immagine",type_domains_to_mute:"Cerca domini da zittire",theme_help_v2_2:"Le icone dietro alcuni elementi sono indicatori del contrasto fra testo e sfondo, passaci sopra col puntatore per ulteriori informazioni. Se si usano delle trasparenze, questi indicatori mostrano il peggior caso possibile.",theme_help_v2_1:'Puoi anche forzare colore ed opacità di alcuni elementi selezionando la casella. Usa il pulsante "Azzera" per azzerare tutte le forzature.',useStreamingApiWarning:"(Sconsigliato, sperimentale, può saltare messaggi)",useStreamingApi:"Ricevi messaggi e notifiche in tempo reale",user_mutes:"Utenti",post_status_content_type:"Tipo di contenuto dei messaggi",subject_line_noop:"Non copiare",subject_line_mastodon:"Come in Mastodon: copia tal quale",subject_line_email:'Come nelle email: "re: oggetto"',subject_line_behavior:"Copia oggetto quando rispondi",subject_input_always_show:"Mostra sempre il campo Oggetto",minimal_scopes_mode:"Riduci opzioni di visibilità",scope_copy:"Risposte ereditano la visibilità (messaggi privati lo fanno sempre)",search_user_to_mute:"Cerca utente da zittire",search_user_to_block:"Cerca utente da bloccare",autohide_floating_post_button:"Nascondi automaticamente il pulsante di composizione (mobile)",show_moderator_badge:"Mostra l'insegna di moderatore sulla mia pagina",show_admin_badge:"Mostra l'insegna di amministratore sulla mia pagina",hide_followers_count_description:"Non mostrare quanti seguaci ho",hide_follows_count_description:"Non mostrare quanti utenti seguo",hide_followers_description:"Non mostrare i miei seguaci",hide_follows_description:"Non mostrare chi seguo",no_mutes:"Nessun utente zittito",no_blocks:"Nessun utente bloccato",notification_visibility_emoji_reactions:"Reazioni",notification_visibility_moves:"Migrazioni utenti",new_email:"Nuova email",use_contain_fit:"Non ritagliare le anteprime degli allegati",play_videos_in_modal:"Riproduci video in un riquadro a sbalzo",mutes_tab:"Zittiti",interface:"Interfaccia",instance_default_simple:"(predefinito)",checkboxRadius:"Caselle di selezione",import_blocks_from_a_csv_file:"Importa blocchi da un file CSV",hide_filtered_statuses:"Nascondi messaggi filtrati",use_one_click_nsfw:"Apri media offuscati con un solo click",preload_images:"Precarica immagini",hide_isp:"Nascondi pannello della stanza",max_thumbnails:"Numero massimo di anteprime per messaggio",hide_muted_posts:"Nascondi messaggi degli utenti zittiti",accent:"Accento",emoji_reactions_on_timeline:"Mostra emoji di reazione sulle sequenze",pad_emoji:"Affianca spazi agli emoji inseriti tramite selettore",notification_blocks:"Bloccando un utente non riceverai più le sue notifiche né lo seguirai più.",mutes_and_blocks:"Zittiti e bloccati",profile_fields:{value:"Contenuto",name:"Etichetta",add_field:"Aggiungi campo",label:"Metadati profilo"},bot:"Questo profilo è di un robot",version:{frontend_version:"Versione interfaccia",backend_version:"Versione backend",title:"Versione"}},timeline:{error_fetching:"Errore nell'aggiornamento",load_older:"Carica messaggi più vecchi",show_new:"Mostra nuovi",up_to_date:"Aggiornato",collapse:"Riduci",conversation:"Conversazione",no_retweet_hint:"Il messaggio è diretto o solo per seguaci e non può essere condiviso",repeated:"condiviso",no_statuses:"Nessun messaggio",no_more_statuses:"Fine dei messaggi",reload:"Ricarica"},user_card:{follow:"Segui",followees:"Chi stai seguendo",followers:"Seguaci",following:"Seguìto!",follows_you:"Ti segue!",mute:"Silenzia",muted:"Silenziato",per_day:"al giorno",statuses:"Messaggi",approve:"Approva",block:"Blocca",blocked:"Bloccato!",deny:"Nega",remote_follow:"Segui da remoto"},chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Proxy multimedia",scope_options:"Opzioni visibilità",text_limit:"Lunghezza massima",title:"Caratteristiche",who_to_follow:"Chi seguire"},finder:{error_fetching_user:"Errore nel recupero dell'utente",find_user:"Trova utente"},login:{login:"Accedi",logout:"Disconnettiti",password:"Password",placeholder:"es. Lupo Lucio",register:"Registrati",username:"Nome utente",description:"Accedi con OAuth",hint:"Accedi per partecipare alla discussione",authentication_code:"Codice di autenticazione",enter_recovery_code:"Inserisci un codice di recupero",enter_two_factor_code:"Inserisci un codice two-factor",recovery_code:"Codice di recupero",heading:{totp:"Autenticazione two-factor",recovery:"Recupero two-factor"}},post_status:{account_not_locked_warning:"Il tuo profilo non è {0}. Chiunque può seguirti e vedere i tuoi messaggi riservati ai tuoi seguaci.",account_not_locked_warning_link:"protetto",attachments_sensitive:"Nascondi gli allegati",content_type:{"text/plain":"Testo normale","text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML"},content_warning:"Oggetto (facoltativo)",default:"Sono appena atterrato a Fiumicino.",direct_warning:"Questo post sarà visibile solo dagli utenti menzionati.",posting:"Sto pubblicando",scope:{direct:"Diretto - Visibile solo agli utenti menzionati",private:"Solo per seguaci - Visibile solo dai tuoi seguaci",public:"Pubblico - Visibile sulla sequenza pubblica",unlisted:"Non elencato - Non visibile sulla sequenza pubblica"},scope_notice:{unlisted:"Questo messaggio non sarà visibile sulla sequenza locale né su quella pubblica",private:"Questo messaggio sarà visibile solo ai tuoi seguaci",public:"Questo messaggio sarà visibile a tutti"},direct_warning_to_first_only:"Questo messaggio sarà visibile solo agli utenti menzionati all'inizio.",direct_warning_to_all:"Questo messaggio sarà visibile a tutti i menzionati.",new_status:"Nuovo messaggio",empty_status_error:"Non puoi pubblicare messaggi vuoti senza allegati",preview_empty:"Vuoto",preview:"Anteprima"},registration:{bio:"Introduzione",email:"Email",fullname:"Nome visualizzato",password_confirm:"Conferma password",registration:"Registrazione",token:"Codice d'invito",validations:{password_confirmation_match:"dovrebbe essere uguale alla password",password_confirmation_required:"non può essere vuoto",password_required:"non può essere vuoto",email_required:"non può essere vuoto",fullname_required:"non può essere vuoto",username_required:"non può essere vuoto"},bio_placeholder:"es.\nCiao, sono Lupo Lucio.\nSono un lupo fantastico che vive nel Fantabosco. Forse mi hai visto alla Melevisione.",fullname_placeholder:"es. Lupo Lucio",username_placeholder:"es. mister_wolf",new_captcha:"Clicca l'immagine per avere un altro captcha",captcha:"CAPTCHA"},user_profile:{timeline_title:"Sequenza dell'Utente"},who_to_follow:{more:"Altro",who_to_follow:"Chi seguire"},about:{mrf:{federation:"Federazione",keyword:{reject:"Rifiuta",replace:"Sostituisci",is_replaced_by:"→",keyword_policies:"Regole per parole chiave",ftl_removal:"Rimozione dalla sequenza globale"},simple:{reject:"Rifiuta",accept:"Accetta",simple_policies:"Regole specifiche alla stanza",accept_desc:"Questa stanza accetta messaggi solo dalle seguenti stanze:",reject_desc:"Questa stanza non accetterà messaggi dalle stanze seguenti:",quarantine:"Quarantena",quarantine_desc:"Questa stanza inoltrerà solo messaggi pubblici alle seguenti stanze:",ftl_removal:"Rimozione dalla sequenza globale",ftl_removal_desc:"Questa stanza rimuove le seguenti stanze dalla sequenza globale:",media_removal:"Rimozione multimedia",media_removal_desc:"Questa istanza rimuove gli allegati dalle seguenti stanze:",media_nsfw:"Allegati oscurati forzatamente",media_nsfw_desc:"Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:"},mrf_policies:"Regole RM abilitate",mrf_policies_desc:"Le regole RM cambiano il comportamento federativo della stanza. Vigono le seguenti regole:"},staff:"Equipaggio"},domain_mute_card:{mute:"Zittisci",mute_progress:"Zittisco…",unmute:"Ascolta",unmute_progress:"Procedo…"},exporter:{export:"Esporta",processing:"In elaborazione, il tuo file sarà scaricabile a breve"},image_cropper:{crop_picture:"Ritaglia immagine",save:"Salva",save_without_cropping:"Salva senza ritagliare",cancel:"Annulla"},importer:{submit:"Invia",success:"Importato.",error:"L'importazione non è andata a buon fine."},media_modal:{previous:"Precedente",next:"Prossimo"},polls:{add_poll:"Sondaggio",add_option:"Alternativa",option:"Opzione",votes:"voti",vote:"Vota",type:"Tipo di sondaggio",single_choice:"Scelta singola",multiple_choices:"Scelta multipla",expiry:"Scadenza",expires_in:"Scade fra {0}",expired:"Scaduto {0} fa",not_enough_options:"Aggiungi altre risposte"},interactions:{favs_repeats:"Condivisi e preferiti",load_older:"Carica vecchie interazioni",moves:"Utenti migrati",follows:"Nuovi seguìti"},emoji:{load_all:"Carico tutti i {emojiAmount} emoji",load_all_hint:"Primi {saneAmount} emoji caricati, caricarli tutti potrebbe causare rallentamenti.",unicode:"Emoji Unicode",custom:"Emoji personale",add_emoji:"Inserisci Emoji",search_emoji:"Cerca un emoji",keep_open:"Tieni aperto il menù",emoji:"Emoji",stickers:"Adesivi"},selectable_list:{select_all:"Seleziona tutto"},remote_user_resolver:{error:"Non trovato.",searching_for:"Cerco",remote_user_resolver:"Cerca utenti remoti"},errors:{storage_unavailable:"Pleroma non ha potuto accedere ai dati del tuo browser. Le tue credenziali o le tue impostazioni locali non potranno essere salvate e potresti incontrare strani errori. Prova ad abilitare i cookie."},status:{pinned:"Intestato",unpin:"De-intesta",pin:"Intesta al profilo",delete:"Elimina messaggio",repeats:"Condivisi",favorites:"Preferiti"},time:{years_short:"{0}a",year_short:"{0}a",years:"{0} anni",year:"{0} anno",weeks_short:"{0}set",week_short:"{0}set",seconds_short:"{0}sec",second_short:"{0}sec",weeks:"{0} settimane",week:"{0} settimana",seconds:"{0} secondi",second:"{0} secondo",now_short:"ora",now:"adesso",months_short:"{0}me",month_short:"{0}me",months:"{0} mesi",month:"{0} mese",minutes_short:"{0}min",minute_short:"{0}min",minutes:"{0} minuti",minute:"{0} minuto",in_past:"{0} fa",in_future:"fra {0}",hours_short:"{0}h",days_short:"{0}g",hour_short:"{0}h",hours:"{0} ore",hour:"{0} ora",day_short:"{0}g",days:"{0} giorni",day:"{0} giorno"}}}}]); +//# sourceMappingURL=18.fd12f9746a55aa24a8b7.js.map \ No newline at end of file diff --git a/priv/static/static/js/18.fd12f9746a55aa24a8b7.js.map b/priv/static/static/js/18.fd12f9746a55aa24a8b7.js.map new file mode 100644 index 000000000..c98c107b3 --- /dev/null +++ b/priv/static/static/js/18.fd12f9746a55aa24a8b7.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/18.fd12f9746a55aa24a8b7.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/19.5894e9c12b4fd5e45872.js b/priv/static/static/js/19.3adebd64964c92700074.js similarity index 99% rename from priv/static/static/js/19.5894e9c12b4fd5e45872.js rename to priv/static/static/js/19.3adebd64964c92700074.js index f30cebacf..9d5adbe4e 100644 --- a/priv/static/static/js/19.5894e9c12b4fd5e45872.js +++ b/priv/static/static/js/19.3adebd64964c92700074.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{553:function(e){e.exports={about:{mrf:{federation:"フェデレーション",mrf_policies:"ゆうこうなMRFポリシー",mrf_policies_desc:"MRFポリシーは、このインスタンスのフェデレーションのふるまいを、いじります。これらのMRFポリシーがゆうこうになっています:",simple:{simple_policies:"インスタンスのポリシー",accept:"うけいれ",accept_desc:"このインスンスは、これらのインスタンスからのメッセージのみをうけいれます:",reject:"おことわり",reject_desc:"このインスタンスは、これらのインスタンスからのメッセージをうけいれません:",quarantine:"けんえき",quarantine_desc:"このインスタンスは、これらのインスタンスに、パブリックなとうこうのみを、おくります:",ftl_removal:"「つながっているすべてのネットワーク」タイムラインからのぞく",ftl_removal_desc:"このインスタンスは、つながっているすべてのネットワーク」タイムラインから、これらのインスタンスを、とりのぞきます:",media_removal:"メディアをのぞく",media_removal_desc:"このインスタンスは、これらのインスタンスからおくられてきたメディアを、とりのぞきます:",media_nsfw:"メディアをすべてセンシティブにする",media_nsfw_desc:"このインスタンスは、これらのインスタンスからおくられてきたメディアを、すべて、センシティブにマークします:"}},staff:"スタッフ"},chat:{title:"チャット"},exporter:{export:"エクスポート",processing:"おまちください。しばらくすると、あなたのファイルをダウンロードするように、メッセージがでます。"},features_panel:{chat:"チャット",gopher:"Gopher",media_proxy:"メディアプロクシ",scope_options:"こうかいはんいせんたく",text_limit:"もじのかず",title:"ゆうこうなきのう",who_to_follow:"おすすめユーザー"},finder:{error_fetching_user:"ユーザーけんさくがエラーになりました。",find_user:"ユーザーをさがす"},general:{apply:"てきよう",submit:"そうしん",more:"つづき",generic_error:"エラーになりました",optional:"かかなくてもよい",show_more:"つづきをみる",show_less:"たたむ",cancel:"キャンセル",disable:"なし",enable:"あり",confirm:"たしかめる",verify:"たしかめる"},image_cropper:{crop_picture:"がぞうをきりぬく",save:"セーブ",save_without_cropping:"きりぬかずにセーブ",cancel:"キャンセル"},importer:{submit:"そうしん",success:"インポートできました。",error:"インポートがエラーになりました。"},login:{login:"ログイン",description:"OAuthでログイン",logout:"ログアウト",password:"パスワード",placeholder:"れい: lain",register:"はじめる",username:"ユーザーめい",hint:"はなしあいにくわわるには、ログインしてください",authentication_code:"にんしょうコード",enter_recovery_code:"リカバリーコードをいれてください",enter_two_factor_code:"2-ファクターコードをいれてください",recovery_code:"リカバリーコード",heading:{totp:"2-ファクターにんしょう",recovery:"2-ファクターリカバリー"}},media_modal:{previous:"まえ",next:"つぎ"},nav:{about:"これはなに?",administration:"アドミニストレーション",back:"もどる",chat:"ローカルチャット",friend_requests:"フォローリクエスト",mentions:"メンション",interactions:"やりとり",dms:"ダイレクトメッセージ",public_tl:"パブリックタイムライン",timeline:"タイムライン",twkn:"つながっているすべてのネットワーク",user_search:"ユーザーをさがす",search:"さがす",who_to_follow:"おすすめユーザー",preferences:"せってい"},notifications:{broken_favorite:"ステータスがみつかりません。さがしています...",favorited_you:"あなたのステータスがおきにいりされました",followed_you:"フォローされました",load_older:"ふるいつうちをみる",notifications:"つうち",read:"よんだ!",repeated_you:"あなたのステータスがリピートされました",no_more_notifications:"つうちはありません"},polls:{add_poll:"いれふだをはじめる",add_option:"オプションをふやす",option:"オプション",votes:"いれふだ",vote:"ふだをいれる",type:"いれふだのかた",single_choice:"ひとつえらぶ",multiple_choices:"いくつでもえらべる",expiry:"いれふだのながさ",expires_in:"いれふだは {0} で、おわります",expired:"いれふだは {0} まえに、おわりました",not_enough_options:"ユニークなオプションが、たりません"},emoji:{stickers:"ステッカー",emoji:"えもじ",keep_open:"ピッカーをあけたままにする",search_emoji:"えもじをさがす",add_emoji:"えもじをうちこむ",custom:"カスタムえもじ",unicode:"ユニコードえもじ",load_all_hint:"はじめの {saneAmount} このえもじだけがロードされています。すべてのえもじをロードすると、パフォーマンスがわるくなるかもしれません。",load_all:"すべてのえもじをロード ({emojiAmount} こあります)"},stickers:{add_sticker:"ステッカーをふやす"},interactions:{favs_repeats:"リピートとおきにいり",follows:"あたらしいフォロー",load_older:"ふるいやりとりをみる"},post_status:{new_status:"とうこうする",account_not_locked_warning:"あなたのアカウントは {0} ではありません。あなたをフォローすれば、だれでも、フォロワーげんていのステータスをよむことができます。",account_not_locked_warning_link:"ロックされたアカウント",attachments_sensitive:"ファイルをNSFWにする",content_type:{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"せつめい (かかなくてもよい)",default:"はねだくうこうに、つきました。",direct_warning_to_all:"このとうこうは、メンションされたすべてのユーザーが、みることができます。",direct_warning_to_first_only:"このとうこうは、メッセージのはじめでメンションされたユーザーだけが、みることができます。",direct_warning:"このステータスは、メンションされたユーザーだけが、よむことができます。",posting:"とうこう",scope_notice:{public:"このとうこうは、だれでもみることができます",private:"このとうこうは、あなたのフォロワーだけが、みることができます",unlisted:"このとうこうは、パブリックタイムラインと、つながっているすべてのネットワークでは、みることができません"},scope:{direct:"ダイレクト: メンションされたユーザーのみにとどきます。",private:"フォロワーげんてい: フォロワーのみにとどきます。",public:"パブリック: パブリックタイムラインにとどきます。",unlisted:"アンリステッド: パブリックタイムラインにとどきません。"}},registration:{bio:"プロフィール",email:"Eメール",fullname:"スクリーンネーム",password_confirm:"パスワードのかくにん",registration:"はじめる",token:"しょうたいトークン",captcha:"CAPTCHA",new_captcha:"もじがよめないときは、がぞうをクリックすると、あたらしいがぞうになります",username_placeholder:"れい: lain",fullname_placeholder:"れい: いわくら れいん",bio_placeholder:"れい:\nごきげんよう。わたしはれいん。\nわたしはアニメのおんなのこで、にほんのベッドタウンにすんでいます。ワイヤードで、わたしにあったことが、あるかもしれませんね。",validations:{username_required:"なにかかいてください",fullname_required:"なにかかいてください",email_required:"なにかかいてください",password_required:"なにかかいてください",password_confirmation_required:"なにかかいてください",password_confirmation_match:"パスワードがちがいます"}},remote_user_resolver:{remote_user_resolver:"リモートユーザーリゾルバー",searching_for:"さがしています:",error:"みつかりませんでした。"},selectable_list:{select_all:"すべてえらぶ"},settings:{app_name:"アプリのなまえ",security:"セキュリティ",enter_current_password_to_confirm:"あなたのアイデンティティをたしかめるため、あなたのいまのパスワードをかいてください",mfa:{otp:"OTP",setup_otp:"OTPをつくる",wait_pre_setup_otp:"OTPをよういしています",confirm_and_enable:"OTPをたしかめて、ゆうこうにする",title:"2-ファクターにんしょう",generate_new_recovery_codes:"あたらしいリカバリーコードをつくる",warning_of_generate_new_codes:"あたらしいリカバリーコードをつくったら、ふるいコードはつかえなくなります。",recovery_codes:"リカバリーコード。",waiting_a_recovery_codes:"バックアップコードをうけとっています...",recovery_codes_warning:"コードをかきうつすか、ひとにみられないところにセーブしてください。そうでなければ、あなたはこのコードをふたたびみることはできません。もしあなたが、2FAアプリのアクセスをうしなって、なおかつ、リカバリーコードもおもいだせないならば、あなたはあなたのアカウントから、しめだされます。",authentication_methods:"にんしょうメソッド",scan:{title:"スキャン",desc:"あなたの2-ファクターアプリをつかって、このQRコードをスキャンするか、テキストキーをうちこんでください:",secret_code:"キー"},verify:{desc:"2-ファクターにんしょうをつかうには、あなたの2-ファクターアプリのコードをいれてください:"}},attachmentRadius:"ファイル",attachments:"ファイル",autoload:"したにスクロールしたとき、じどうてきによみこむ。",avatar:"アバター",avatarAltRadius:"つうちのアバター",avatarRadius:"アバター",background:"バックグラウンド",bio:"プロフィール",block_export:"ブロックのエクスポート",block_export_button:"ブロックをCSVファイルにエクスポート",block_import:"ブロックのインポート",block_import_error:"ブロックのインポートがエラーになりました",blocks_imported:"ブロックをインポートしました! じっさいにブロックするまでには、もうしばらくかかります。",blocks_tab:"ブロック",btnRadius:"ボタン",cBlue:"リプライとフォロー",cGreen:"リピート",cOrange:"おきにいり",cRed:"キャンセル",change_email:"メールアドレスをかえる",change_email_error:"メールアドレスをかえようとしましたが、なにかがおかしいです。",changed_email:"メールアドレスをかえることができました!",change_password:"パスワードをかえる",change_password_error:"パスワードをかえることが、できなかったかもしれません。",changed_password:"パスワードが、かわりました!",collapse_subject:"せつめいのあるとうこうをたたむ",composing:"とうこう",confirm_new_password:"あたらしいパスワードのかくにん",current_avatar:"いまのアバター",current_password:"いまのパスワード",current_profile_banner:"いまのプロフィールバナー",data_import_export_tab:"インポートとエクスポート",default_vis:"デフォルトのこうかいはんい",delete_account:"アカウントをけす",delete_account_description:"あなたのアカウントとメッセージが、きえます。",delete_account_error:"アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。",delete_account_instructions:"ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。",discoverable:"けんさくなどのサービスで、このアカウントをみつけてもよい",avatar_size_instruction:"アバターのおおきさは、150×150ピクセルか、それよりもおおきくするといいです。",pad_emoji:"えもじをピッカーでえらんだとき、えもじのまわりにスペースをいれる",export_theme:"セーブ",filtering:"フィルタリング",filtering_explanation:"これらのことばをふくむすべてのものがミュートされます。1ぎょうに1つのことばをかいてください。",follow_export:"フォローのエクスポート",follow_export_button:"エクスポート",follow_export_processing:"おまちください。まもなくファイルをダウンロードできます。",follow_import:"フォローインポート",follow_import_error:"フォローのインポートがエラーになりました。",follows_imported:"フォローがインポートされました! すこしじかんがかかるかもしれません。",foreground:"フォアグラウンド",general:"ぜんぱん",hide_attachments_in_convo:"スレッドのファイルをかくす",hide_attachments_in_tl:"タイムラインのファイルをかくす",hide_muted_posts:"ミュートしたユーザーのとうこうをかくす",max_thumbnails:"ひとつのとうこうにいれられるサムネイルのかず",hide_isp:"インスタンススペシフィックパネルをかくす",preload_images:"がぞうをさきよみする",use_one_click_nsfw:"NSFWなファイルを1クリックでひらく",hide_post_stats:"とうこうのとうけいをかくす (れい: おきにいりのかず)",hide_user_stats:"ユーザーのとうけいをかくす (れい: フォロワーのかず)",hide_filtered_statuses:"フィルターされたとうこうをかくす",import_blocks_from_a_csv_file:"CSVファイルからブロックをインポートする",import_followers_from_a_csv_file:"CSVファイルからフォローをインポートする",import_theme:"ロード",inputRadius:"インプットフィールド",checkboxRadius:"チェックボックス",instance_default:"(デフォルト: {value})",instance_default_simple:"(デフォルト)",interface:"インターフェース",interfaceLanguage:"インターフェースのことば",invalid_theme_imported:"このファイルはPleromaのテーマではありません。テーマはへんこうされませんでした。",limited_availability:"あなたのブラウザではできません",links:"リンク",lock_account_description:"あなたがみとめたひとだけ、あなたのアカウントをフォローできる",loop_video:"ビデオをくりかえす",loop_video_silent_only:"おとのないビデオだけくりかえす",mutes_tab:"ミュート",play_videos_in_modal:"ビデオをメディアビューアーでみる",use_contain_fit:"がぞうのサムネイルを、きりぬかない",name:"なまえ",name_bio:"なまえとプロフィール",new_email:"あたらしいメールアドレス",new_password:"あたらしいパスワード",notification_visibility:"ひょうじするつうち",notification_visibility_follows:"フォロー",notification_visibility_likes:"おきにいり",notification_visibility_mentions:"メンション",notification_visibility_repeats:"リピート",no_rich_text_description:"リッチテキストをつかわない",no_blocks:"ブロックしていません",no_mutes:"ミュートしていません",hide_follows_description:"フォローしているひとをみせない",hide_followers_description:"フォロワーをみせない",hide_follows_count_description:"フォローしているひとのかずをみせない",hide_followers_count_description:"フォロワーのかずをみせない",show_admin_badge:"アドミンのしるしをみせる",show_moderator_badge:"モデレーターのしるしをみせる",nsfw_clickthrough:"NSFWなファイルをかくす",oauth_tokens:"OAuthトークン",token:"トークン",refresh_token:"トークンをリフレッシュ",valid_until:"おわりのとき",revoke_token:"とりけす",panelRadius:"パネル",pause_on_unfocused:"タブにフォーカスがないときストリーミングをとめる",presets:"プリセット",profile_background:"プロフィールのバックグラウンド",profile_banner:"プロフィールバナー",profile_tab:"プロフィール",radii_help:"インターフェースのまるさをせっていする。",replies_in_timeline:"タイムラインのリプライ",reply_link_preview:"カーソルをかさねたとき、リプライのプレビューをみる",reply_visibility_all:"すべてのリプライをみる",reply_visibility_following:"わたしにあてられたリプライと、フォローしているひとからのリプライをみる",reply_visibility_self:"わたしにあてられたリプライをみる",autohide_floating_post_button:"あたらしいとうこうのボタンを、じどうてきにかくす (モバイル)",saving_err:"せっていをセーブできませんでした",saving_ok:"せっていをセーブしました",search_user_to_block:"ブロックしたいひとを、ここでけんさくできます",search_user_to_mute:"ミュートしたいひとを、ここでけんさくできます",security_tab:"セキュリティ",scope_copy:"リプライするとき、こうかいはんいをコピーする (DMのこうかいはんいは、つねにコピーされます)",minimal_scopes_mode:"こうかいはんいせんたくオプションを、ちいさくする",set_new_avatar:"あたらしいアバターをせっていする",set_new_profile_background:"あたらしいプロフィールのバックグラウンドをせっていする",set_new_profile_banner:"あたらしいプロフィールバナーを設定する",settings:"せってい",subject_input_always_show:"サブジェクトフィールドをいつでもひょうじする",subject_line_behavior:"リプライするときサブジェクトをコピーする",subject_line_email:'メールふう: "re: サブジェクト"',subject_line_mastodon:"マストドンふう: そのままコピー",subject_line_noop:"コピーしない",post_status_content_type:"とうこうのコンテントタイプ",stop_gifs:"カーソルをかさねたとき、GIFをうごかす",streaming:"うえまでスクロールしたとき、じどうてきにストリーミングする",text:"もじ",theme:"テーマ",theme_help:"カラーテーマをカスタマイズできます",theme_help_v2_1:"チェックボックスをONにすると、コンポーネントごとに、いろと、とうめいどを、オーバーライドできます。「すべてクリア」ボタンをおすと、すべてのオーバーライドを、やめます。",theme_help_v2_2:"バックグラウンドとテキストのコントラストをあらわすアイコンがあります。マウスをホバーすると、くわしいせつめいがでます。とうめいないろをつかっているときは、もっともわるいばあいのコントラストがしめされます。",upload_a_photo:"がぞうをアップロード",tooltipRadius:"ツールチップとアラート",user_settings:"ユーザーせってい",values:{false:"いいえ",true:"はい"},fun:"おたのしみ",greentext:"ミームやじるし",notifications:"つうち",notification_setting:"つうちをうけとる:",notification_setting_follows:"あなたがフォローしているひとから",notification_setting_non_follows:"あなたがフォローしていないひとから",notification_setting_followers:"あなたをフォローしているひとから",notification_setting_non_followers:"あなたをフォローしていないひとから",notification_mutes:"あるユーザーからのつうちをとめるには、ミュートしてください。",notification_blocks:"ブロックしているユーザーからのつうちは、すべてとまります。",enable_web_push_notifications:"ウェブプッシュつうちをゆるす",style:{switcher:{keep_color:"いろをのこす",keep_shadows:"かげをのこす",keep_opacity:"とうめいどをのこす",keep_roundness:"まるさをのこす",keep_fonts:"フォントをのこす",save_load_hint:"「のこす」オプションをONにすると、テーマをえらんだときとロードしたとき、いまのせっていをのこします。また、テーマをエクスポートするとき、これらのオプションをストアします。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべてのせっていをセーブします。",reset:"リセット",clear_all:"すべてクリア",clear_opacity:"とうめいどをクリア"},common:{color:"いろ",opacity:"とうめいど",contrast:{hint:"コントラストは {ratio} です。{level}。({context})",level:{aa:"AAレベルガイドライン (ミニマル) をみたします",aaa:"AAAレベルガイドライン (レコメンデッド) をみたします。",bad:"ガイドラインをみたしません。"},context:{"18pt":"おおきい (18ポイントいじょう) テキスト",text:"テキスト"}}},common_colors:{_tab_label:"きょうつう",main:"きょうつうのいろ",foreground_hint:"「くわしく」タブで、もっとこまかくせっていできます",rgbo:"アイコンとアクセントとバッジ"},advanced_colors:{_tab_label:"くわしく",alert:"アラートのバックグラウンド",alert_error:"エラー",alert_warning:"けいこく",badge:"バッジのバックグラウンド",badge_notification:"つうち",panel_header:"パネルヘッダー",top_bar:"トップバー",borders:"さかいめ",buttons:"ボタン",inputs:"インプットフィールド",faint_text:"うすいテキスト"},radii:{_tab_label:"まるさ"},shadows:{_tab_label:"ひかりとかげ",component:"コンポーネント",override:"オーバーライド",shadow_id:"かげ #{value}",blur:"ぼかし",spread:"ひろがり",inset:"うちがわ",hint:"かげのせっていでは、いろのあたいとして --variable をつかうことができます。これはCSS3へんすうです。ただし、とうめいどのせっていは、きかなくなります。",filter_hint:{always_drop_shadow:"ブラウザーがサポートしていれば、つねに {0} がつかわれます。",drop_shadow_syntax:"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。",avatar_inset:"うちがわのかげと、そとがわのかげを、いっしょにつかうと、とうめいなアバターが、へんなみためになります。",spread_zero:"ひろがりが 0 よりもおおきなかげは、0 とおなじです。",inset_classic:"うちがわのかげは {0} をつかいます。"},components:{panel:"パネル",panelHeader:"パネルヘッダー",topBar:"トップバー",avatar:"ユーザーアバター (プロフィール)",avatarStatus:"ユーザーアバター (とうこう)",popup:"ポップアップとツールチップ",button:"ボタン",buttonHover:"ボタン (ホバー)",buttonPressed:"ボタン (おされているとき)",buttonPressedHover:"ボタン (ホバー、かつ、おされているとき)",input:"インプットフィールド"}},fonts:{_tab_label:"フォント",help:"「カスタム」をえらんだときは、システムにあるフォントのなまえを、ただしくにゅうりょくしてください。",components:{interface:"インターフェース",input:"インプットフィールド",post:"とうこう",postCode:"モノスペース (とうこうがリッチテキストであるとき)"},family:"フォントめい",size:"おおきさ (px)",weight:"ふとさ",custom:"カスタム"},preview:{header:"プレビュー",content:"ほんぶん",error:"エラーのれい",button:"ボタン",text:"これは{0}と{1}のれいです。",mono:"monospace",input:"はねだくうこうに、つきました。",faint_link:"とてもたすけになるマニュアル",fine_print:"わたしたちの{0}を、よまないでください!",header_faint:"エラーではありません",checkbox:"りようきやくを、よみました",link:"ハイパーリンク"}},version:{title:"バージョン",backend_version:"バックエンドのバージョン",frontend_version:"フロントエンドのバージョン"}},time:{day:"{0}日",days:"{0}日",day_short:"{0}日",days_short:"{0}日",hour:"{0}時間",hours:"{0}時間",hour_short:"{0}時間",hours_short:"{0}時間",in_future:"{0}で",in_past:"{0}前",minute:"{0}分",minutes:"{0}分",minute_short:"{0}分",minutes_short:"{0}分",month:"{0}ヶ月前",months:"{0}ヶ月前",month_short:"{0}ヶ月前",months_short:"{0}ヶ月前",now:"たった今",now_short:"たった今",second:"{0}秒",seconds:"{0}秒",second_short:"{0}秒",seconds_short:"{0}秒",week:"{0}週間",weeks:"{0}週間",week_short:"{0}週間",weeks_short:"{0}週間",year:"{0}年",years:"{0}年",year_short:"{0}年",years_short:"{0}年"},timeline:{collapse:"たたむ",conversation:"スレッド",error_fetching:"よみこみがエラーになりました",load_older:"ふるいステータス",no_retweet_hint:"とうこうを「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります",repeated:"リピート",show_new:"よみこみ",up_to_date:"さいしん",no_more_statuses:"これでおわりです",no_statuses:"ありません"},status:{favorites:"おきにいり",repeats:"リピート",delete:"ステータスをけす",pin:"プロフィールにピンどめする",unpin:"プロフィールにピンどめするのをやめる",pinned:"ピンどめ",delete_confirm:"ほんとうに、このステータスを、けしてもいいですか?",reply_to:"へんしん:",replies_list:"へんしん:",mute_conversation:"スレッドをミュートする",unmute_conversation:"スレッドをミュートするのをやめる"},user_card:{approve:"うけいれ",block:"ブロック",blocked:"ブロックしています!",deny:"おことわり",favorites:"おきにいり",follow:"フォロー",follow_sent:"リクエストを、おくりました!",follow_progress:"リクエストしています…",follow_again:"ふたたびリクエストをおくりますか?",follow_unfollow:"フォローをやめる",followees:"フォロー",followers:"フォロワー",following:"フォローしています!",follows_you:"フォローされました!",hidden:"かくされています",its_you:"これはあなたです!",media:"メディア",mention:"メンション",mute:"ミュート",muted:"ミュートしています!",per_day:"/日",remote_follow:"リモートフォロー",report:"つうほう",statuses:"ステータス",subscribe:"サブスクライブ",unsubscribe:"サブスクライブをやめる",unblock:"ブロックをやめる",unblock_progress:"ブロックをとりけしています...",block_progress:"ブロックしています...",unmute:"ミュートをやめる",unmute_progress:"ミュートをとりけしています...",mute_progress:"ミュートしています...",hide_repeats:"リピートをかくす",show_repeats:"リピートをみる",admin_menu:{moderation:"モデレーション",grant_admin:"アドミンにする",revoke_admin:"アドミンをやめさせる",grant_moderator:"モデレーターにする",revoke_moderator:"モデレーターをやめさせる",activate_account:"アカウントをアクティブにする",deactivate_account:"アカウントをアクティブでなくする",delete_account:"アカウントをけす",force_nsfw:"すべてのとうこうをNSFWにする",strip_media:"とうこうからメディアをなくす",force_unlisted:"とうこうをアンリステッドにする",sandbox:"とうこうをフォロワーのみにする",disable_remote_subscription:"ほかのインスタンスからフォローされないようにする",disable_any_subscription:"フォローされないようにする",quarantine:"ほかのインスタンスのユーザーのとうこうをとめる",delete_user:"ユーザーをけす",delete_user_confirmation:"あなたは、ほんとうに、きはたしかですか? これは、とりけすことが、できません。"}},user_profile:{timeline_title:"ユーザータイムライン",profile_does_not_exist:"ごめんなさい。このプロフィールは、そんざいしません。",profile_loading_error:"ごめんなさい。プロフィールのロードがエラーになりました。"},user_reporting:{title:"つうほうする: {0}",add_comment_description:"このつうほうは、あなたのインスタンスのモデレーターに、おくられます。このアカウントを、つうほうするりゆうを、せつめいすることができます:",additional_comments:"ついかのコメント",forward_description:"このアカウントは、ほかのインスタンスのものです。そのインスタンスにも、このつうほうのコピーを、おくりますか?",forward_to:"コピーをおくる: {0}",submit:"そうしん",generic_error:"あなたのリクエストをうけつけようとしましたが、エラーになってしまいました。"},who_to_follow:{more:"くわしく",who_to_follow:"おすすめユーザー"},tool_tip:{media_upload:"メディアをアップロード",repeat:"リピート",reply:"リプライ",favorite:"おきにいり",user_settings:"ユーザーせってい"},upload:{error:{base:"アップロードにしっぱいしました。",file_too_big:"ファイルがおおきすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]",default:"しばらくしてから、ためしてください"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"ひとびと",hashtags:"ハッシュタグ",person_talking:"{count} にんが、はなしています",people_talking:"{count} にんが、はなしています",no_results:"みつかりませんでした"},password_reset:{forgot_password:"パスワードを、わすれましたか?",password_reset:"パスワードリセット",instruction:"あなたのメールアドレスかユーザーめいをいれてください。パスワードをリセットするためのリンクをおくります。",placeholder:"あなたのメールアドレスかユーザーめい",check_email:"パスワードをリセットするためのリンクがかかれたメールが、とどいているかどうか、みてください。",return_home:"ホームページにもどる",not_found:"そのメールアドレスまたはユーザーめいを、みつけることができませんでした。",too_many_requests:"パスワードリセットを、ためすことが、おおすぎます。しばらくしてから、ためしてください。",password_reset_disabled:"このインスタンスでは、パスワードリセットは、できません。インスタンスのアドミニストレーターに、おといあわせください。",password_reset_required:"ログインするには、パスワードをリセットしてください。",password_reset_required_but_mailer_is_disabled:"あなたはパスワードのリセットがひつようです。しかし、まずいことに、このインスタンスでは、パスワードのリセットができなくなっています。このインスタンスのアドミニストレーターに、おといあわせください。"}}}}]); -//# sourceMappingURL=19.5894e9c12b4fd5e45872.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{571:function(e){e.exports={about:{mrf:{federation:"フェデレーション",mrf_policies:"ゆうこうなMRFポリシー",mrf_policies_desc:"MRFポリシーは、このインスタンスのフェデレーションのふるまいを、いじります。これらのMRFポリシーがゆうこうになっています:",simple:{simple_policies:"インスタンスのポリシー",accept:"うけいれ",accept_desc:"このインスンスは、これらのインスタンスからのメッセージのみをうけいれます:",reject:"おことわり",reject_desc:"このインスタンスは、これらのインスタンスからのメッセージをうけいれません:",quarantine:"けんえき",quarantine_desc:"このインスタンスは、これらのインスタンスに、パブリックなとうこうのみを、おくります:",ftl_removal:"「つながっているすべてのネットワーク」タイムラインからのぞく",ftl_removal_desc:"このインスタンスは、つながっているすべてのネットワーク」タイムラインから、これらのインスタンスを、とりのぞきます:",media_removal:"メディアをのぞく",media_removal_desc:"このインスタンスは、これらのインスタンスからおくられてきたメディアを、とりのぞきます:",media_nsfw:"メディアをすべてセンシティブにする",media_nsfw_desc:"このインスタンスは、これらのインスタンスからおくられてきたメディアを、すべて、センシティブにマークします:"}},staff:"スタッフ"},chat:{title:"チャット"},exporter:{export:"エクスポート",processing:"おまちください。しばらくすると、あなたのファイルをダウンロードするように、メッセージがでます。"},features_panel:{chat:"チャット",gopher:"Gopher",media_proxy:"メディアプロクシ",scope_options:"こうかいはんいせんたく",text_limit:"もじのかず",title:"ゆうこうなきのう",who_to_follow:"おすすめユーザー"},finder:{error_fetching_user:"ユーザーけんさくがエラーになりました。",find_user:"ユーザーをさがす"},general:{apply:"てきよう",submit:"そうしん",more:"つづき",generic_error:"エラーになりました",optional:"かかなくてもよい",show_more:"つづきをみる",show_less:"たたむ",cancel:"キャンセル",disable:"なし",enable:"あり",confirm:"たしかめる",verify:"たしかめる"},image_cropper:{crop_picture:"がぞうをきりぬく",save:"セーブ",save_without_cropping:"きりぬかずにセーブ",cancel:"キャンセル"},importer:{submit:"そうしん",success:"インポートできました。",error:"インポートがエラーになりました。"},login:{login:"ログイン",description:"OAuthでログイン",logout:"ログアウト",password:"パスワード",placeholder:"れい: lain",register:"はじめる",username:"ユーザーめい",hint:"はなしあいにくわわるには、ログインしてください",authentication_code:"にんしょうコード",enter_recovery_code:"リカバリーコードをいれてください",enter_two_factor_code:"2-ファクターコードをいれてください",recovery_code:"リカバリーコード",heading:{totp:"2-ファクターにんしょう",recovery:"2-ファクターリカバリー"}},media_modal:{previous:"まえ",next:"つぎ"},nav:{about:"これはなに?",administration:"アドミニストレーション",back:"もどる",chat:"ローカルチャット",friend_requests:"フォローリクエスト",mentions:"メンション",interactions:"やりとり",dms:"ダイレクトメッセージ",public_tl:"パブリックタイムライン",timeline:"タイムライン",twkn:"つながっているすべてのネットワーク",user_search:"ユーザーをさがす",search:"さがす",who_to_follow:"おすすめユーザー",preferences:"せってい"},notifications:{broken_favorite:"ステータスがみつかりません。さがしています...",favorited_you:"あなたのステータスがおきにいりされました",followed_you:"フォローされました",load_older:"ふるいつうちをみる",notifications:"つうち",read:"よんだ!",repeated_you:"あなたのステータスがリピートされました",no_more_notifications:"つうちはありません"},polls:{add_poll:"いれふだをはじめる",add_option:"オプションをふやす",option:"オプション",votes:"いれふだ",vote:"ふだをいれる",type:"いれふだのかた",single_choice:"ひとつえらぶ",multiple_choices:"いくつでもえらべる",expiry:"いれふだのながさ",expires_in:"いれふだは {0} で、おわります",expired:"いれふだは {0} まえに、おわりました",not_enough_options:"ユニークなオプションが、たりません"},emoji:{stickers:"ステッカー",emoji:"えもじ",keep_open:"ピッカーをあけたままにする",search_emoji:"えもじをさがす",add_emoji:"えもじをうちこむ",custom:"カスタムえもじ",unicode:"ユニコードえもじ",load_all_hint:"はじめの {saneAmount} このえもじだけがロードされています。すべてのえもじをロードすると、パフォーマンスがわるくなるかもしれません。",load_all:"すべてのえもじをロード ({emojiAmount} こあります)"},stickers:{add_sticker:"ステッカーをふやす"},interactions:{favs_repeats:"リピートとおきにいり",follows:"あたらしいフォロー",load_older:"ふるいやりとりをみる"},post_status:{new_status:"とうこうする",account_not_locked_warning:"あなたのアカウントは {0} ではありません。あなたをフォローすれば、だれでも、フォロワーげんていのステータスをよむことができます。",account_not_locked_warning_link:"ロックされたアカウント",attachments_sensitive:"ファイルをNSFWにする",content_type:{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"せつめい (かかなくてもよい)",default:"はねだくうこうに、つきました。",direct_warning_to_all:"このとうこうは、メンションされたすべてのユーザーが、みることができます。",direct_warning_to_first_only:"このとうこうは、メッセージのはじめでメンションされたユーザーだけが、みることができます。",direct_warning:"このステータスは、メンションされたユーザーだけが、よむことができます。",posting:"とうこう",scope_notice:{public:"このとうこうは、だれでもみることができます",private:"このとうこうは、あなたのフォロワーだけが、みることができます",unlisted:"このとうこうは、パブリックタイムラインと、つながっているすべてのネットワークでは、みることができません"},scope:{direct:"ダイレクト: メンションされたユーザーのみにとどきます。",private:"フォロワーげんてい: フォロワーのみにとどきます。",public:"パブリック: パブリックタイムラインにとどきます。",unlisted:"アンリステッド: パブリックタイムラインにとどきません。"}},registration:{bio:"プロフィール",email:"Eメール",fullname:"スクリーンネーム",password_confirm:"パスワードのかくにん",registration:"はじめる",token:"しょうたいトークン",captcha:"CAPTCHA",new_captcha:"もじがよめないときは、がぞうをクリックすると、あたらしいがぞうになります",username_placeholder:"れい: lain",fullname_placeholder:"れい: いわくら れいん",bio_placeholder:"れい:\nごきげんよう。わたしはれいん。\nわたしはアニメのおんなのこで、にほんのベッドタウンにすんでいます。ワイヤードで、わたしにあったことが、あるかもしれませんね。",validations:{username_required:"なにかかいてください",fullname_required:"なにかかいてください",email_required:"なにかかいてください",password_required:"なにかかいてください",password_confirmation_required:"なにかかいてください",password_confirmation_match:"パスワードがちがいます"}},remote_user_resolver:{remote_user_resolver:"リモートユーザーリゾルバー",searching_for:"さがしています:",error:"みつかりませんでした。"},selectable_list:{select_all:"すべてえらぶ"},settings:{app_name:"アプリのなまえ",security:"セキュリティ",enter_current_password_to_confirm:"あなたのアイデンティティをたしかめるため、あなたのいまのパスワードをかいてください",mfa:{otp:"OTP",setup_otp:"OTPをつくる",wait_pre_setup_otp:"OTPをよういしています",confirm_and_enable:"OTPをたしかめて、ゆうこうにする",title:"2-ファクターにんしょう",generate_new_recovery_codes:"あたらしいリカバリーコードをつくる",warning_of_generate_new_codes:"あたらしいリカバリーコードをつくったら、ふるいコードはつかえなくなります。",recovery_codes:"リカバリーコード。",waiting_a_recovery_codes:"バックアップコードをうけとっています...",recovery_codes_warning:"コードをかきうつすか、ひとにみられないところにセーブしてください。そうでなければ、あなたはこのコードをふたたびみることはできません。もしあなたが、2FAアプリのアクセスをうしなって、なおかつ、リカバリーコードもおもいだせないならば、あなたはあなたのアカウントから、しめだされます。",authentication_methods:"にんしょうメソッド",scan:{title:"スキャン",desc:"あなたの2-ファクターアプリをつかって、このQRコードをスキャンするか、テキストキーをうちこんでください:",secret_code:"キー"},verify:{desc:"2-ファクターにんしょうをつかうには、あなたの2-ファクターアプリのコードをいれてください:"}},attachmentRadius:"ファイル",attachments:"ファイル",autoload:"したにスクロールしたとき、じどうてきによみこむ。",avatar:"アバター",avatarAltRadius:"つうちのアバター",avatarRadius:"アバター",background:"バックグラウンド",bio:"プロフィール",block_export:"ブロックのエクスポート",block_export_button:"ブロックをCSVファイルにエクスポート",block_import:"ブロックのインポート",block_import_error:"ブロックのインポートがエラーになりました",blocks_imported:"ブロックをインポートしました! じっさいにブロックするまでには、もうしばらくかかります。",blocks_tab:"ブロック",btnRadius:"ボタン",cBlue:"リプライとフォロー",cGreen:"リピート",cOrange:"おきにいり",cRed:"キャンセル",change_email:"メールアドレスをかえる",change_email_error:"メールアドレスをかえようとしましたが、なにかがおかしいです。",changed_email:"メールアドレスをかえることができました!",change_password:"パスワードをかえる",change_password_error:"パスワードをかえることが、できなかったかもしれません。",changed_password:"パスワードが、かわりました!",collapse_subject:"せつめいのあるとうこうをたたむ",composing:"とうこう",confirm_new_password:"あたらしいパスワードのかくにん",current_avatar:"いまのアバター",current_password:"いまのパスワード",current_profile_banner:"いまのプロフィールバナー",data_import_export_tab:"インポートとエクスポート",default_vis:"デフォルトのこうかいはんい",delete_account:"アカウントをけす",delete_account_description:"あなたのアカウントとメッセージが、きえます。",delete_account_error:"アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。",delete_account_instructions:"ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。",discoverable:"けんさくなどのサービスで、このアカウントをみつけてもよい",avatar_size_instruction:"アバターのおおきさは、150×150ピクセルか、それよりもおおきくするといいです。",pad_emoji:"えもじをピッカーでえらんだとき、えもじのまわりにスペースをいれる",export_theme:"セーブ",filtering:"フィルタリング",filtering_explanation:"これらのことばをふくむすべてのものがミュートされます。1ぎょうに1つのことばをかいてください。",follow_export:"フォローのエクスポート",follow_export_button:"エクスポート",follow_export_processing:"おまちください。まもなくファイルをダウンロードできます。",follow_import:"フォローインポート",follow_import_error:"フォローのインポートがエラーになりました。",follows_imported:"フォローがインポートされました! すこしじかんがかかるかもしれません。",foreground:"フォアグラウンド",general:"ぜんぱん",hide_attachments_in_convo:"スレッドのファイルをかくす",hide_attachments_in_tl:"タイムラインのファイルをかくす",hide_muted_posts:"ミュートしたユーザーのとうこうをかくす",max_thumbnails:"ひとつのとうこうにいれられるサムネイルのかず",hide_isp:"インスタンススペシフィックパネルをかくす",preload_images:"がぞうをさきよみする",use_one_click_nsfw:"NSFWなファイルを1クリックでひらく",hide_post_stats:"とうこうのとうけいをかくす (れい: おきにいりのかず)",hide_user_stats:"ユーザーのとうけいをかくす (れい: フォロワーのかず)",hide_filtered_statuses:"フィルターされたとうこうをかくす",import_blocks_from_a_csv_file:"CSVファイルからブロックをインポートする",import_followers_from_a_csv_file:"CSVファイルからフォローをインポートする",import_theme:"ロード",inputRadius:"インプットフィールド",checkboxRadius:"チェックボックス",instance_default:"(デフォルト: {value})",instance_default_simple:"(デフォルト)",interface:"インターフェース",interfaceLanguage:"インターフェースのことば",invalid_theme_imported:"このファイルはPleromaのテーマではありません。テーマはへんこうされませんでした。",limited_availability:"あなたのブラウザではできません",links:"リンク",lock_account_description:"あなたがみとめたひとだけ、あなたのアカウントをフォローできる",loop_video:"ビデオをくりかえす",loop_video_silent_only:"おとのないビデオだけくりかえす",mutes_tab:"ミュート",play_videos_in_modal:"ビデオをメディアビューアーでみる",use_contain_fit:"がぞうのサムネイルを、きりぬかない",name:"なまえ",name_bio:"なまえとプロフィール",new_email:"あたらしいメールアドレス",new_password:"あたらしいパスワード",notification_visibility:"ひょうじするつうち",notification_visibility_follows:"フォロー",notification_visibility_likes:"おきにいり",notification_visibility_mentions:"メンション",notification_visibility_repeats:"リピート",no_rich_text_description:"リッチテキストをつかわない",no_blocks:"ブロックしていません",no_mutes:"ミュートしていません",hide_follows_description:"フォローしているひとをみせない",hide_followers_description:"フォロワーをみせない",hide_follows_count_description:"フォローしているひとのかずをみせない",hide_followers_count_description:"フォロワーのかずをみせない",show_admin_badge:"アドミンのしるしをみせる",show_moderator_badge:"モデレーターのしるしをみせる",nsfw_clickthrough:"NSFWなファイルをかくす",oauth_tokens:"OAuthトークン",token:"トークン",refresh_token:"トークンをリフレッシュ",valid_until:"おわりのとき",revoke_token:"とりけす",panelRadius:"パネル",pause_on_unfocused:"タブにフォーカスがないときストリーミングをとめる",presets:"プリセット",profile_background:"プロフィールのバックグラウンド",profile_banner:"プロフィールバナー",profile_tab:"プロフィール",radii_help:"インターフェースのまるさをせっていする。",replies_in_timeline:"タイムラインのリプライ",reply_link_preview:"カーソルをかさねたとき、リプライのプレビューをみる",reply_visibility_all:"すべてのリプライをみる",reply_visibility_following:"わたしにあてられたリプライと、フォローしているひとからのリプライをみる",reply_visibility_self:"わたしにあてられたリプライをみる",autohide_floating_post_button:"あたらしいとうこうのボタンを、じどうてきにかくす (モバイル)",saving_err:"せっていをセーブできませんでした",saving_ok:"せっていをセーブしました",search_user_to_block:"ブロックしたいひとを、ここでけんさくできます",search_user_to_mute:"ミュートしたいひとを、ここでけんさくできます",security_tab:"セキュリティ",scope_copy:"リプライするとき、こうかいはんいをコピーする (DMのこうかいはんいは、つねにコピーされます)",minimal_scopes_mode:"こうかいはんいせんたくオプションを、ちいさくする",set_new_avatar:"あたらしいアバターをせっていする",set_new_profile_background:"あたらしいプロフィールのバックグラウンドをせっていする",set_new_profile_banner:"あたらしいプロフィールバナーを設定する",settings:"せってい",subject_input_always_show:"サブジェクトフィールドをいつでもひょうじする",subject_line_behavior:"リプライするときサブジェクトをコピーする",subject_line_email:'メールふう: "re: サブジェクト"',subject_line_mastodon:"マストドンふう: そのままコピー",subject_line_noop:"コピーしない",post_status_content_type:"とうこうのコンテントタイプ",stop_gifs:"カーソルをかさねたとき、GIFをうごかす",streaming:"うえまでスクロールしたとき、じどうてきにストリーミングする",text:"もじ",theme:"テーマ",theme_help:"カラーテーマをカスタマイズできます",theme_help_v2_1:"チェックボックスをONにすると、コンポーネントごとに、いろと、とうめいどを、オーバーライドできます。「すべてクリア」ボタンをおすと、すべてのオーバーライドを、やめます。",theme_help_v2_2:"バックグラウンドとテキストのコントラストをあらわすアイコンがあります。マウスをホバーすると、くわしいせつめいがでます。とうめいないろをつかっているときは、もっともわるいばあいのコントラストがしめされます。",upload_a_photo:"がぞうをアップロード",tooltipRadius:"ツールチップとアラート",user_settings:"ユーザーせってい",values:{false:"いいえ",true:"はい"},fun:"おたのしみ",greentext:"ミームやじるし",notifications:"つうち",notification_setting:"つうちをうけとる:",notification_setting_follows:"あなたがフォローしているひとから",notification_setting_non_follows:"あなたがフォローしていないひとから",notification_setting_followers:"あなたをフォローしているひとから",notification_setting_non_followers:"あなたをフォローしていないひとから",notification_mutes:"あるユーザーからのつうちをとめるには、ミュートしてください。",notification_blocks:"ブロックしているユーザーからのつうちは、すべてとまります。",enable_web_push_notifications:"ウェブプッシュつうちをゆるす",style:{switcher:{keep_color:"いろをのこす",keep_shadows:"かげをのこす",keep_opacity:"とうめいどをのこす",keep_roundness:"まるさをのこす",keep_fonts:"フォントをのこす",save_load_hint:"「のこす」オプションをONにすると、テーマをえらんだときとロードしたとき、いまのせっていをのこします。また、テーマをエクスポートするとき、これらのオプションをストアします。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべてのせっていをセーブします。",reset:"リセット",clear_all:"すべてクリア",clear_opacity:"とうめいどをクリア"},common:{color:"いろ",opacity:"とうめいど",contrast:{hint:"コントラストは {ratio} です。{level}。({context})",level:{aa:"AAレベルガイドライン (ミニマル) をみたします",aaa:"AAAレベルガイドライン (レコメンデッド) をみたします。",bad:"ガイドラインをみたしません。"},context:{"18pt":"おおきい (18ポイントいじょう) テキスト",text:"テキスト"}}},common_colors:{_tab_label:"きょうつう",main:"きょうつうのいろ",foreground_hint:"「くわしく」タブで、もっとこまかくせっていできます",rgbo:"アイコンとアクセントとバッジ"},advanced_colors:{_tab_label:"くわしく",alert:"アラートのバックグラウンド",alert_error:"エラー",alert_warning:"けいこく",badge:"バッジのバックグラウンド",badge_notification:"つうち",panel_header:"パネルヘッダー",top_bar:"トップバー",borders:"さかいめ",buttons:"ボタン",inputs:"インプットフィールド",faint_text:"うすいテキスト"},radii:{_tab_label:"まるさ"},shadows:{_tab_label:"ひかりとかげ",component:"コンポーネント",override:"オーバーライド",shadow_id:"かげ #{value}",blur:"ぼかし",spread:"ひろがり",inset:"うちがわ",hint:"かげのせっていでは、いろのあたいとして --variable をつかうことができます。これはCSS3へんすうです。ただし、とうめいどのせっていは、きかなくなります。",filter_hint:{always_drop_shadow:"ブラウザーがサポートしていれば、つねに {0} がつかわれます。",drop_shadow_syntax:"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。",avatar_inset:"うちがわのかげと、そとがわのかげを、いっしょにつかうと、とうめいなアバターが、へんなみためになります。",spread_zero:"ひろがりが 0 よりもおおきなかげは、0 とおなじです。",inset_classic:"うちがわのかげは {0} をつかいます。"},components:{panel:"パネル",panelHeader:"パネルヘッダー",topBar:"トップバー",avatar:"ユーザーアバター (プロフィール)",avatarStatus:"ユーザーアバター (とうこう)",popup:"ポップアップとツールチップ",button:"ボタン",buttonHover:"ボタン (ホバー)",buttonPressed:"ボタン (おされているとき)",buttonPressedHover:"ボタン (ホバー、かつ、おされているとき)",input:"インプットフィールド"}},fonts:{_tab_label:"フォント",help:"「カスタム」をえらんだときは、システムにあるフォントのなまえを、ただしくにゅうりょくしてください。",components:{interface:"インターフェース",input:"インプットフィールド",post:"とうこう",postCode:"モノスペース (とうこうがリッチテキストであるとき)"},family:"フォントめい",size:"おおきさ (px)",weight:"ふとさ",custom:"カスタム"},preview:{header:"プレビュー",content:"ほんぶん",error:"エラーのれい",button:"ボタン",text:"これは{0}と{1}のれいです。",mono:"monospace",input:"はねだくうこうに、つきました。",faint_link:"とてもたすけになるマニュアル",fine_print:"わたしたちの{0}を、よまないでください!",header_faint:"エラーではありません",checkbox:"りようきやくを、よみました",link:"ハイパーリンク"}},version:{title:"バージョン",backend_version:"バックエンドのバージョン",frontend_version:"フロントエンドのバージョン"}},time:{day:"{0}日",days:"{0}日",day_short:"{0}日",days_short:"{0}日",hour:"{0}時間",hours:"{0}時間",hour_short:"{0}時間",hours_short:"{0}時間",in_future:"{0}で",in_past:"{0}前",minute:"{0}分",minutes:"{0}分",minute_short:"{0}分",minutes_short:"{0}分",month:"{0}ヶ月前",months:"{0}ヶ月前",month_short:"{0}ヶ月前",months_short:"{0}ヶ月前",now:"たった今",now_short:"たった今",second:"{0}秒",seconds:"{0}秒",second_short:"{0}秒",seconds_short:"{0}秒",week:"{0}週間",weeks:"{0}週間",week_short:"{0}週間",weeks_short:"{0}週間",year:"{0}年",years:"{0}年",year_short:"{0}年",years_short:"{0}年"},timeline:{collapse:"たたむ",conversation:"スレッド",error_fetching:"よみこみがエラーになりました",load_older:"ふるいステータス",no_retweet_hint:"とうこうを「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります",repeated:"リピート",show_new:"よみこみ",up_to_date:"さいしん",no_more_statuses:"これでおわりです",no_statuses:"ありません"},status:{favorites:"おきにいり",repeats:"リピート",delete:"ステータスをけす",pin:"プロフィールにピンどめする",unpin:"プロフィールにピンどめするのをやめる",pinned:"ピンどめ",delete_confirm:"ほんとうに、このステータスを、けしてもいいですか?",reply_to:"へんしん:",replies_list:"へんしん:",mute_conversation:"スレッドをミュートする",unmute_conversation:"スレッドをミュートするのをやめる"},user_card:{approve:"うけいれ",block:"ブロック",blocked:"ブロックしています!",deny:"おことわり",favorites:"おきにいり",follow:"フォロー",follow_sent:"リクエストを、おくりました!",follow_progress:"リクエストしています…",follow_again:"ふたたびリクエストをおくりますか?",follow_unfollow:"フォローをやめる",followees:"フォロー",followers:"フォロワー",following:"フォローしています!",follows_you:"フォローされました!",hidden:"かくされています",its_you:"これはあなたです!",media:"メディア",mention:"メンション",mute:"ミュート",muted:"ミュートしています!",per_day:"/日",remote_follow:"リモートフォロー",report:"つうほう",statuses:"ステータス",subscribe:"サブスクライブ",unsubscribe:"サブスクライブをやめる",unblock:"ブロックをやめる",unblock_progress:"ブロックをとりけしています...",block_progress:"ブロックしています...",unmute:"ミュートをやめる",unmute_progress:"ミュートをとりけしています...",mute_progress:"ミュートしています...",hide_repeats:"リピートをかくす",show_repeats:"リピートをみる",admin_menu:{moderation:"モデレーション",grant_admin:"アドミンにする",revoke_admin:"アドミンをやめさせる",grant_moderator:"モデレーターにする",revoke_moderator:"モデレーターをやめさせる",activate_account:"アカウントをアクティブにする",deactivate_account:"アカウントをアクティブでなくする",delete_account:"アカウントをけす",force_nsfw:"すべてのとうこうをNSFWにする",strip_media:"とうこうからメディアをなくす",force_unlisted:"とうこうをアンリステッドにする",sandbox:"とうこうをフォロワーのみにする",disable_remote_subscription:"ほかのインスタンスからフォローされないようにする",disable_any_subscription:"フォローされないようにする",quarantine:"ほかのインスタンスのユーザーのとうこうをとめる",delete_user:"ユーザーをけす",delete_user_confirmation:"あなたは、ほんとうに、きはたしかですか? これは、とりけすことが、できません。"}},user_profile:{timeline_title:"ユーザータイムライン",profile_does_not_exist:"ごめんなさい。このプロフィールは、そんざいしません。",profile_loading_error:"ごめんなさい。プロフィールのロードがエラーになりました。"},user_reporting:{title:"つうほうする: {0}",add_comment_description:"このつうほうは、あなたのインスタンスのモデレーターに、おくられます。このアカウントを、つうほうするりゆうを、せつめいすることができます:",additional_comments:"ついかのコメント",forward_description:"このアカウントは、ほかのインスタンスのものです。そのインスタンスにも、このつうほうのコピーを、おくりますか?",forward_to:"コピーをおくる: {0}",submit:"そうしん",generic_error:"あなたのリクエストをうけつけようとしましたが、エラーになってしまいました。"},who_to_follow:{more:"くわしく",who_to_follow:"おすすめユーザー"},tool_tip:{media_upload:"メディアをアップロード",repeat:"リピート",reply:"リプライ",favorite:"おきにいり",user_settings:"ユーザーせってい"},upload:{error:{base:"アップロードにしっぱいしました。",file_too_big:"ファイルがおおきすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]",default:"しばらくしてから、ためしてください"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"ひとびと",hashtags:"ハッシュタグ",person_talking:"{count} にんが、はなしています",people_talking:"{count} にんが、はなしています",no_results:"みつかりませんでした"},password_reset:{forgot_password:"パスワードを、わすれましたか?",password_reset:"パスワードリセット",instruction:"あなたのメールアドレスかユーザーめいをいれてください。パスワードをリセットするためのリンクをおくります。",placeholder:"あなたのメールアドレスかユーザーめい",check_email:"パスワードをリセットするためのリンクがかかれたメールが、とどいているかどうか、みてください。",return_home:"ホームページにもどる",not_found:"そのメールアドレスまたはユーザーめいを、みつけることができませんでした。",too_many_requests:"パスワードリセットを、ためすことが、おおすぎます。しばらくしてから、ためしてください。",password_reset_disabled:"このインスタンスでは、パスワードリセットは、できません。インスタンスのアドミニストレーターに、おといあわせください。",password_reset_required:"ログインするには、パスワードをリセットしてください。",password_reset_required_but_mailer_is_disabled:"あなたはパスワードのリセットがひつようです。しかし、まずいことに、このインスタンスでは、パスワードのリセットができなくなっています。このインスタンスのアドミニストレーターに、おといあわせください。"}}}}]); +//# sourceMappingURL=19.3adebd64964c92700074.js.map \ No newline at end of file diff --git a/priv/static/static/js/19.3adebd64964c92700074.js.map b/priv/static/static/js/19.3adebd64964c92700074.js.map new file mode 100644 index 000000000..d113a66dc --- /dev/null +++ b/priv/static/static/js/19.3adebd64964c92700074.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/19.3adebd64964c92700074.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/19.5894e9c12b4fd5e45872.js.map b/priv/static/static/js/19.5894e9c12b4fd5e45872.js.map deleted file mode 100644 index 3e00e0045..000000000 --- a/priv/static/static/js/19.5894e9c12b4fd5e45872.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/19.5894e9c12b4fd5e45872.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/2.d81ca020d6885c6c3b03.js b/priv/static/static/js/2.d81ca020d6885c6c3b03.js new file mode 100644 index 000000000..f751a05da --- /dev/null +++ b/priv/static/static/js/2.d81ca020d6885c6c3b03.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{584:function(t,e,s){var a=s(585);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("a45e17ec",a,!0,{})},585:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".settings_tab-switcher{height:100%}.settings_tab-switcher .setting-item{border-bottom:2px solid var(--fg,#182230);margin:1em 1em 1.4em;padding-bottom:1.4em}.settings_tab-switcher .setting-item>div{margin-bottom:.5em}.settings_tab-switcher .setting-item>div:last-child{margin-bottom:0}.settings_tab-switcher .setting-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:1em}.settings_tab-switcher .setting-item select{min-width:10em}.settings_tab-switcher .setting-item textarea{width:100%;max-width:100%;height:100px}.settings_tab-switcher .setting-item .unavailable,.settings_tab-switcher .setting-item .unavailable i{color:var(--cRed,red);color:red}.settings_tab-switcher .setting-item .number-input{max-width:6em}",""])},586:function(t,e,s){var a=s(587);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("5bed876c",a,!0,{})},587:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".importer-uploading{font-size:1.5em;margin:.25em}",""])},588:function(t,e,s){var a=s(589);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("432fc7c6",a,!0,{})},589:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".exporter-processing{font-size:1.5em;margin:.25em}",""])},590:function(t,e,s){var a=s(591);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("33ca0d90",a,!0,{})},591:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".mutes-and-blocks-tab{height:100%}.mutes-and-blocks-tab .usersearch-wrapper{padding:1em}.mutes-and-blocks-tab .bulk-actions{text-align:right;padding:0 1em;min-height:28px}.mutes-and-blocks-tab .bulk-action-button{width:10em}.mutes-and-blocks-tab .domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.mutes-and-blocks-tab .domain-mute-button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}",""])},592:function(t,e,s){var a=s(593);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("3a9ec1bf",a,!0,{})},593:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".autosuggest{position:relative}.autosuggest-input{display:block;width:100%}.autosuggest-results{position:absolute;left:0;top:100%;right:0;max-height:400px;background-color:#121a24;background-color:var(--bg,#121a24);border-color:#222;border:1px solid var(--border,#222);border-radius:4px;border-radius:var(--inputRadius,4px);border-top-left-radius:0;border-top-right-radius:0;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);overflow-y:auto;z-index:1}",""])},594:function(t,e,s){var a=s(595);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("211aa67c",a,!0,{})},595:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".block-card-content-container{margin-top:.5em;text-align:right}.block-card-content-container button{width:10em}",""])},596:function(t,e,s){var a=s(597);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("7ea980e0",a,!0,{})},597:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".mute-card-content-container{margin-top:.5em;text-align:right}.mute-card-content-container button{width:10em}",""])},598:function(t,e,s){var a=s(599);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("39a942c3",a,!0,{})},599:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".domain-mute-card{-ms-flex:1 0;flex:1 0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:.6em 1em .6em 0}.domain-mute-card-domain{margin-right:1em;overflow:hidden;text-overflow:ellipsis}.domain-mute-card button{width:10em}.autosuggest-results .domain-mute-card{padding-left:1em}",""])},600:function(t,e,s){var a=s(601);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("3724291e",a,!0,{})},601:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".selectable-list-item-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.selectable-list-item-inner>*{min-width:0}.selectable-list-item-selected-inner{background-color:#151e2a;background-color:var(--selectedMenu,#151e2a);color:var(--selectedMenuText,#b9b9ba);--faint:var(--selectedMenuFaintText,$fallback--faint);--faintLink:var(--selectedMenuFaintLink,$fallback--faint);--lightText:var(--selectedMenuLightText,$fallback--lightText);--icon:var(--selectedMenuIcon,$fallback--icon)}.selectable-list-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.6em 0;border-bottom:2px solid;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.selectable-list-header-actions{-ms-flex:1;flex:1}.selectable-list-checkbox-wrapper{padding:0 10px;-ms-flex:none;flex:none}",""])},602:function(t,e,s){},606:function(t,e,s){var a=s(607);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("a588473e",a,!0,{})},607:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".mfa-settings .method-item,.mfa-settings .mfa-heading{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline}.mfa-settings .warning{color:orange;color:var(--cOrange,orange)}.mfa-settings .setup-otp{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.mfa-settings .setup-otp .qr-code{-ms-flex:1;flex:1;padding-right:10px}.mfa-settings .setup-otp .verify{-ms-flex:1;flex:1}.mfa-settings .setup-otp .error{margin:4px 0 0}.mfa-settings .setup-otp .confirm-otp-actions button{width:15em;margin-top:5px}",""])},608:function(t,e,s){var a=s(609);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("4065bf15",a,!0,{})},609:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".mfa-backup-codes .warning{color:orange;color:var(--cOrange,orange)}.mfa-backup-codes .backup-codes{font-family:var(--postCodeFont,monospace)}",""])},611:function(t,e,s){var a=s(612);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("27925ae8",a,!0,{})},612:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".profile-tab .bio{margin:0}.profile-tab .visibility-tray{padding-top:5px}.profile-tab input[type=file]{padding:5px;height:auto}.profile-tab .banner-background-preview{max-width:100%;width:300px;position:relative}.profile-tab .banner-background-preview img{width:100%}.profile-tab .uploading{font-size:1.5em;margin:.25em}.profile-tab .name-changer{width:100%}.profile-tab .current-avatar-container{position:relative;width:150px;height:150px}.profile-tab .current-avatar{display:block;width:100%;height:100%;border-radius:4px;border-radius:var(--avatarRadius,4px)}.profile-tab .reset-button{position:absolute;top:.2em;right:.2em;border-radius:5px;border-radius:var(--tooltipRadius,5px);background-color:rgba(0,0,0,.6);opacity:.7;color:#fff;width:1.5em;height:1.5em;text-align:center;line-height:1.5em;font-size:1.5em;cursor:pointer}.profile-tab .reset-button:hover{opacity:1}.profile-tab .oauth-tokens{width:100%}.profile-tab .oauth-tokens th{text-align:left}.profile-tab .oauth-tokens .actions{text-align:right}.profile-tab-usersearch-wrapper{padding:1em}.profile-tab-bulk-actions{text-align:right;padding:0 1em;min-height:28px}.profile-tab-bulk-actions button{width:10em}.profile-tab-domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.profile-tab-domain-mute-form button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}.profile-tab .setting-subitem{margin-left:1.75em}.profile-tab .profile-fields{display:-ms-flexbox;display:flex}.profile-tab .profile-fields>.emoji-input{-ms-flex:1 1 auto;flex:1 1 auto;margin:0 .2em .5em;min-width:0}.profile-tab .profile-fields>.icon-container{width:20px}.profile-tab .profile-fields>.icon-container>.icon-cancel{vertical-align:sub}",""])},613:function(t,e,s){var a=s(614);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("0dfd0b33",a,!0,{})},614:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".image-cropper-img-input{display:none}.image-cropper-image-container{position:relative}.image-cropper-image-container img{display:block;max-width:100%}.image-cropper-buttons-wrapper{margin-top:10px}.image-cropper-buttons-wrapper button{margin-top:5px}",""])},617:function(t,e,s){var a=s(618);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("4fafab12",a,!0,{})},618:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".theme-tab{padding-bottom:2em}.theme-tab .theme-warning{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:.5em}.theme-tab .theme-warning .buttons .btn{margin-bottom:.5em}.theme-tab .preset-switcher{margin-right:1em}.theme-tab .style-control{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:5px}.theme-tab .style-control .label{-ms-flex:1;flex:1}.theme-tab .style-control.disabled input,.theme-tab .style-control.disabled select{opacity:.5}.theme-tab .style-control .opt{margin:.5em}.theme-tab .style-control .color-input{-ms-flex:0 0 0px;flex:0 0 0}.theme-tab .style-control input,.theme-tab .style-control select{min-width:3em;margin:0;-ms-flex:0;flex:0}.theme-tab .style-control input[type=number],.theme-tab .style-control select[type=number]{min-width:5em}.theme-tab .style-control input[type=range],.theme-tab .style-control select[type=range]{-ms-flex:1;flex:1;min-width:3em;-ms-flex-item-align:start;align-self:flex-start}.theme-tab .reset-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .apply-container,.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .radius-container,.theme-tab .reset-container{display:-ms-flexbox;display:flex}.theme-tab .fonts-container,.theme-tab .radius-container{-ms-flex-direction:column;flex-direction:column}.theme-tab .color-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.theme-tab .color-container>h4{width:99%}.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .presets-container,.theme-tab .radius-container,.theme-tab .shadow-container{margin:1em 1em 0}.theme-tab .tab-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline;width:100%;min-height:30px;margin-bottom:1em}.theme-tab .tab-header p{-ms-flex:1;flex:1;margin:0;margin-right:.5em}.theme-tab .tab-header-buttons{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.theme-tab .tab-header-buttons .btn{min-width:1px;-ms-flex:0 auto;flex:0 auto;padding:0 1em;margin-bottom:.5em}.theme-tab .shadow-selector .override{-ms-flex:1;flex:1;margin-left:.5em}.theme-tab .shadow-selector .select-container{margin-top:-4px;margin-bottom:-3px}.theme-tab .save-load,.theme-tab .save-load-options{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .save-load-options .import-export,.theme-tab .save-load-options .presets,.theme-tab .save-load .import-export,.theme-tab .save-load .presets{margin-bottom:.5em}.theme-tab .save-load-options .import-export,.theme-tab .save-load .import-export{display:-ms-flexbox;display:flex}.theme-tab .save-load-options .override,.theme-tab .save-load .override{margin-left:.5em}.theme-tab .save-load-options{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:.5em;-ms-flex-pack:center;justify-content:center}.theme-tab .save-load-options .keep-option{margin:0 .5em .5em;min-width:25%}.theme-tab .preview-container{border-top:1px dashed;border-bottom:1px dashed;border-color:#222;border-color:var(--border,#222);margin:1em 0;padding:1em;background:var(--body-background-image);background-size:cover;background-position:50% 50%}.theme-tab .preview-container .dummy .post{font-family:var(--postFont);display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .post .content h4{margin-bottom:.25em}.theme-tab .preview-container .dummy .post .content .icons{margin-top:.5em;display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content .icons i{margin-right:1em}.theme-tab .preview-container .dummy .after-post{margin-top:1em;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.theme-tab .preview-container .dummy .avatar,.theme-tab .preview-container .dummy .avatar-alt{background:linear-gradient(135deg,#b8e1fc,#a9d2f3 10%,#90bae4 25%,#90bcea 37%,#90bff0 50%,#6ba8e5 51%,#a2daf5 83%,#bdf3fd);color:#000;font-family:sans-serif;text-align:center;margin-right:1em}.theme-tab .preview-container .dummy .avatar-alt{-ms-flex:0 auto;flex:0 auto;margin-left:28px;font-size:12px;min-width:20px;min-height:20px;line-height:20px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}.theme-tab .preview-container .dummy .avatar{-ms-flex:0 auto;flex:0 auto;width:48px;height:48px;font-size:14px;line-height:48px}.theme-tab .preview-container .dummy .actions{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .preview-container .dummy .actions .checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:baseline;align-items:baseline;margin-right:1em;-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .separator{margin:1em;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.theme-tab .preview-container .dummy .panel-heading .alert,.theme-tab .preview-container .dummy .panel-heading .badge,.theme-tab .preview-container .dummy .panel-heading .btn,.theme-tab .preview-container .dummy .panel-heading .faint{margin-left:1em;white-space:nowrap}.theme-tab .preview-container .dummy .panel-heading .faint{text-overflow:ellipsis;min-width:2em;overflow-x:hidden}.theme-tab .preview-container .dummy .panel-heading .flex-spacer{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .btn{margin-left:0;padding:0 1em;min-width:3em;min-height:30px}.theme-tab .apply-container{-ms-flex-pack:center;justify-content:center}.theme-tab .color-item,.theme-tab .radius-item{min-width:20em;margin:5px 6px 0 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 0px;flex:1 1 0}.theme-tab .color-item.wide,.theme-tab .radius-item.wide{min-width:60%}.theme-tab .color-item:not(.wide):nth-child(odd),.theme-tab .radius-item:not(.wide):nth-child(odd){margin-right:7px}.theme-tab .color-item .color,.theme-tab .color-item .opacity,.theme-tab .radius-item .color,.theme-tab .radius-item .opacity{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .radius-item{-ms-flex-preferred-size:auto;flex-basis:auto}.theme-tab .theme-color-cl,.theme-tab .theme-radius-rn{border:0;box-shadow:none;background:transparent;color:var(--faint,hsla(240,1%,73%,.5));-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.theme-tab .theme-color-cl,.theme-tab .theme-color-in,.theme-tab .theme-radius-in{margin-left:4px}.theme-tab .theme-radius-in{min-width:1em;max-width:7em;-ms-flex:1;flex:1}.theme-tab .theme-radius-lb{max-width:50em}.theme-tab .theme-preview-content{padding:20px}.theme-tab .apply-container .btn{min-height:28px;min-width:10em;padding:0 2em}.theme-tab .btn{margin-left:.25em;margin-right:.25em}",""])},619:function(t,e,s){var a=s(620);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("7e57f952",a,!0,{})},620:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,'.color-input,.color-input-field.input{display:-ms-inline-flexbox;display:inline-flex}.color-input-field.input{-ms-flex:0 0 0px;flex:0 0 0;max-width:9em;-ms-flex-align:stretch;align-items:stretch;padding:.2em 8px}.color-input-field.input input{background:none;color:#b9b9ba;color:var(--inputText,#b9b9ba);border:none;padding:0;margin:0}.color-input-field.input input.textColor{-ms-flex:1 0 3em;flex:1 0 3em;min-width:3em;padding:0}.color-input-field.input .computedIndicator,.color-input-field.input .transparentIndicator,.color-input-field.input input.nativeColor{-ms-flex:0 0 2em;flex:0 0 2em;min-width:2em;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:100%}.color-input-field.input .transparentIndicator{background-color:#f0f;position:relative}.color-input-field.input .transparentIndicator:after,.color-input-field.input .transparentIndicator:before{display:block;content:"";background-color:#000;position:absolute;height:50%;width:50%}.color-input-field.input .transparentIndicator:after{top:0;left:0}.color-input-field.input .transparentIndicator:before{bottom:0;right:0}.color-input .label{-ms-flex:1 1 auto;flex:1 1 auto}',""])},621:function(t,e,s){var a=s(622);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("6c632637",a,!0,{})},622:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".color-control input.text-input{max-width:7em;-ms-flex:1;flex:1}",""])},623:function(t,e,s){var a=s(624);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("d219da80",a,!0,{})},624:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".shadow-control{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin-bottom:1em}.shadow-control .shadow-preview-container,.shadow-control .shadow-tweak{margin:5px 6px 0 0}.shadow-control .shadow-preview-container{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.shadow-control .shadow-preview-container input[type=number]{width:5em;min-width:2em}.shadow-control .shadow-preview-container .x-shift-control,.shadow-control .shadow-preview-container .y-shift-control{display:-ms-flexbox;display:flex;-ms-flex:0;flex:0}.shadow-control .shadow-preview-container .x-shift-control[disabled=disabled] *,.shadow-control .shadow-preview-container .y-shift-control[disabled=disabled] *{opacity:.5}.shadow-control .shadow-preview-container .x-shift-control{-ms-flex-align:start;align-items:flex-start}.shadow-control .shadow-preview-container .x-shift-control .wrap,.shadow-control .shadow-preview-container input[type=range]{margin:0;width:15em;height:2em}.shadow-control .shadow-preview-container .y-shift-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end}.shadow-control .shadow-preview-container .y-shift-control .wrap{width:2em;height:15em}.shadow-control .shadow-preview-container .y-shift-control input[type=range]{transform-origin:1em 1em;transform:rotate(90deg)}.shadow-control .shadow-preview-container .preview-window{-ms-flex:1;flex:1;background-color:#999;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-image:linear-gradient(45deg,#666 25%,transparent 0),linear-gradient(-45deg,#666 25%,transparent 0),linear-gradient(45deg,transparent 75%,#666 0),linear-gradient(-45deg,transparent 75%,#666 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-radius:4px;border-radius:var(--inputRadius,4px)}.shadow-control .shadow-preview-container .preview-window .preview-block{width:33%;height:33%;background-color:#121a24;background-color:var(--bg,#121a24);border-radius:10px;border-radius:var(--panelRadius,10px)}.shadow-control .shadow-tweak{-ms-flex:1;flex:1;min-width:280px}.shadow-control .shadow-tweak .id-control{-ms-flex-align:stretch;align-items:stretch}.shadow-control .shadow-tweak .id-control .btn,.shadow-control .shadow-tweak .id-control .select{min-width:1px;margin-right:5px}.shadow-control .shadow-tweak .id-control .btn{padding:0 .4em;margin:0 .1em}.shadow-control .shadow-tweak .id-control .select{-ms-flex:1;flex:1}.shadow-control .shadow-tweak .id-control .select select{-ms-flex-item-align:initial;-ms-grid-row-align:initial;align-self:auto}",""])},625:function(t,e,s){var a=s(626);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("d9c0acde",a,!0,{})},626:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".font-control input.custom-font{min-width:10em}.font-control.custom .select{border-top-right-radius:0;border-bottom-right-radius:0}.font-control.custom .custom-font{border-top-left-radius:0;border-bottom-left-radius:0}",""])},627:function(t,e,s){var a=s(628);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("b94bc120",a,!0,{})},628:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".contrast-ratio{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:-4px;margin-bottom:5px}.contrast-ratio .label{margin-right:1em}.contrast-ratio .rating{display:inline-block;text-align:center}",""])},629:function(t,e,s){var a=s(630);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("66a4eaba",a,!0,{})},630:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".import-export-container{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:baseline;align-items:baseline;-ms-flex-pack:center;justify-content:center}",""])},631:function(t,e,s){var a=s(632);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,s(5).default)("6fe23c76",a,!0,{})},632:function(t,e,s){(t.exports=s(4)(!1)).push([t.i,".preview-container{position:relative}.underlay-preview{position:absolute;top:0;bottom:0;left:10px;right:10px}",""])},634:function(t,e,s){"use strict";s.r(e);var a=s(140),n={props:{submitHandler:{type:Function,required:!0},submitButtonLabel:{type:String,default:function(){return this.$t("importer.submit")}},successMessage:{type:String,default:function(){return this.$t("importer.success")}},errorMessage:{type:String,default:function(){return this.$t("importer.error")}}},data:function(){return{file:null,error:!1,success:!1,submitting:!1}},methods:{change:function(){this.file=this.$refs.input.files[0]},submit:function(){var t=this;this.dismiss(),this.submitting=!0,this.submitHandler(this.file).then(function(){t.success=!0}).catch(function(){t.error=!0}).finally(function(){t.submitting=!1})},dismiss:function(){this.success=!1,this.error=!1}}},o=s(0);var i=function(t){s(586)},r=Object(o.a)(n,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"importer"},[s("form",[s("input",{ref:"input",attrs:{type:"file"},on:{change:t.change}})]),t._v(" "),t.submitting?s("i",{staticClass:"icon-spin4 animate-spin importer-uploading"}):s("button",{staticClass:"btn btn-default",on:{click:t.submit}},[t._v("\n "+t._s(t.submitButtonLabel)+"\n ")]),t._v(" "),t.success?s("div",[s("i",{staticClass:"icon-cross",on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.successMessage))])]):t.error?s("div",[s("i",{staticClass:"icon-cross",on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.errorMessage))])]):t._e()])},[],!1,i,null,null).exports,l={props:{getContent:{type:Function,required:!0},filename:{type:String,default:"export.csv"},exportButtonLabel:{type:String,default:function(){return this.$t("exporter.export")}},processingMessage:{type:String,default:function(){return this.$t("exporter.processing")}}},data:function(){return{processing:!1}},methods:{process:function(){var t=this;this.processing=!0,this.getContent().then(function(e){var s=document.createElement("a");s.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),s.setAttribute("download",t.filename),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout(function(){t.processing=!1},2e3)})}}};var c=function(t){s(588)},u=Object(o.a)(l,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"exporter"},[t.processing?s("div",[s("i",{staticClass:"icon-spin4 animate-spin exporter-processing"}),t._v(" "),s("span",[t._v(t._s(t.processingMessage))])]):s("button",{staticClass:"btn btn-default",on:{click:t.process}},[t._v("\n "+t._s(t.exportButtonLabel)+"\n ")])])},[],!1,c,null,null).exports,d=s(54),p={data:function(){return{activeTab:"profile",newDomainToMute:""}},created:function(){this.$store.dispatch("fetchTokens")},components:{Importer:r,Exporter:u,Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser}},methods:{getFollowsContent:function(){return this.$store.state.api.backendInteractor.exportFriends({id:this.$store.state.users.currentUser.id}).then(this.generateExportableUsersContent)},getBlocksContent:function(){return this.$store.state.api.backendInteractor.fetchBlocks().then(this.generateExportableUsersContent)},importFollows:function(t){return this.$store.state.api.backendInteractor.importFollows({file:t}).then(function(t){if(!t)throw new Error("failed")})},importBlocks:function(t){return this.$store.state.api.backendInteractor.importBlocks({file:t}).then(function(t){if(!t)throw new Error("failed")})},generateExportableUsersContent:function(t){return t.map(function(t){return t&&t.is_local?t.screen_name+"@"+location.hostname:t.screen_name}).join("\n")}}},m=Object(o.a)(p,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.data_import_export_tab")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.follow_import")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.import_followers_from_a_csv_file")))]),t._v(" "),s("Importer",{attrs:{"submit-handler":t.importFollows,"success-message":t.$t("settings.follows_imported"),"error-message":t.$t("settings.follow_import_error")}})],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.follow_export")))]),t._v(" "),s("Exporter",{attrs:{"get-content":t.getFollowsContent,filename:"friends.csv","export-button-label":t.$t("settings.follow_export_button")}})],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.block_import")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.import_blocks_from_a_csv_file")))]),t._v(" "),s("Importer",{attrs:{"submit-handler":t.importBlocks,"success-message":t.$t("settings.blocks_imported"),"error-message":t.$t("settings.block_import_error")}})],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.block_export")))]),t._v(" "),s("Exporter",{attrs:{"get-content":t.getBlocksContent,filename:"blocks.csv","export-button-label":t.$t("settings.block_export_button")}})],1)])},[],!1,null,null,null).exports,v=s(12),h=s.n(v),f=s(15),b=s.n(f),g=s(188),_=s.n(g),w={props:{query:{type:Function,required:!0},filter:{type:Function},placeholder:{type:String,default:"Search..."}},data:function(){return{term:"",timeout:null,results:[],resultsVisible:!1}},computed:{filtered:function(){return this.filter?this.filter(this.results):this.results}},watch:{term:function(t){this.fetchResults(t)}},methods:{fetchResults:function(t){var e=this;clearTimeout(this.timeout),this.timeout=setTimeout(function(){e.results=[],t&&e.query(t).then(function(t){e.results=t})},500)},onInputClick:function(){this.resultsVisible=!0},onClickOutside:function(){this.resultsVisible=!1}}};var C=function(t){s(592)},x=Object(o.a)(w,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.onClickOutside,expression:"onClickOutside"}],staticClass:"autosuggest"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.term,expression:"term"}],staticClass:"autosuggest-input",attrs:{placeholder:t.placeholder},domProps:{value:t.term},on:{click:t.onInputClick,input:function(e){e.target.composing||(t.term=e.target.value)}}}),t._v(" "),t.resultsVisible&&t.filtered.length>0?s("div",{staticClass:"autosuggest-results"},[t._l(t.filtered,function(e){return t._t("default",null,{item:e})})],2):t._e()])},[],!1,C,null,null).exports,k=s(39),y={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},blocked:function(){return this.relationship.blocking}},components:{BasicUserCard:k.a},methods:{unblockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unblockUser",this.user.id).then(function(){t.progress=!1})},blockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("blockUser",this.user.id).then(function(){t.progress=!1})}}};var $=function(t){s(594)},L=Object(o.a)(y,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"block-card-content-container"},[t.blocked?s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.unblockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n ")]],2):s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.blockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.block"))+"\n ")]],2)])])},[],!1,$,null,null).exports,T={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},muted:function(){return this.relationship.muting}},components:{BasicUserCard:k.a},methods:{unmuteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unmuteUser",this.userId).then(function(){t.progress=!1})},muteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("muteUser",this.userId).then(function(){t.progress=!1})}}};var O=function(t){s(596)},P=Object(o.a)(T,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"mute-card-content-container"},[t.muted?s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.unmuteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n ")]],2):s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.muteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n ")]],2)])])},[],!1,O,null,null).exports,S=s(78),I={props:["domain"],components:{ProgressButton:S.a},computed:{user:function(){return this.$store.state.users.currentUser},muted:function(){return this.user.domainMutes.includes(this.domain)}},methods:{unmuteDomain:function(){return this.$store.dispatch("unmuteDomain",this.domain)},muteDomain:function(){return this.$store.dispatch("muteDomain",this.domain)}}};var j=function(t){s(598)},E=Object(o.a)(I,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"domain-mute-card"},[s("div",{staticClass:"domain-mute-card-domain"},[t._v("\n "+t._s(t.domain)+"\n ")]),t._v(" "),t.muted?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:t.unmuteDomain}},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")])],2):s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:t.muteDomain}},[t._v("\n "+t._s(t.$t("domain_mute_card.mute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("domain_mute_card.mute_progress"))+"\n ")])],2)],1)},[],!1,j,null,null).exports,R={components:{List:s(52).a,Checkbox:d.a},props:{items:{type:Array,default:function(){return[]}},getKey:{type:Function,default:function(t){return t.id}}},data:function(){return{selected:[]}},computed:{allKeys:function(){return this.items.map(this.getKey)},filteredSelected:function(){var t=this;return this.allKeys.filter(function(e){return-1!==t.selected.indexOf(e)})},allSelected:function(){return this.filteredSelected.length===this.items.length},noneSelected:function(){return 0===this.filteredSelected.length},someSelected:function(){return!this.allSelected&&!this.noneSelected}},methods:{isSelected:function(t){return-1!==this.filteredSelected.indexOf(this.getKey(t))},toggle:function(t,e){var s=this.getKey(e);t!==this.isSelected(s)&&(t?this.selected.push(s):this.selected.splice(this.selected.indexOf(s),1))},toggleAll:function(t){this.selected=t?this.allKeys.slice(0):[]}}};var B=function(t){s(600)},F=Object(o.a)(R,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"selectable-list"},[t.items.length>0?s("div",{staticClass:"selectable-list-header"},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.allSelected,indeterminate:t.someSelected},on:{change:t.toggleAll}},[t._v("\n "+t._s(t.$t("selectable_list.select_all"))+"\n ")])],1),t._v(" "),s("div",{staticClass:"selectable-list-header-actions"},[t._t("header",null,{selected:t.filteredSelected})],2)]):t._e(),t._v(" "),s("List",{attrs:{items:t.items,"get-key":t.getKey},scopedSlots:t._u([{key:"item",fn:function(e){var a=e.item;return[s("div",{staticClass:"selectable-list-item-inner",class:{"selectable-list-item-selected-inner":t.isSelected(a)}},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.isSelected(a)},on:{change:function(e){return t.toggle(e,a)}}})],1),t._v(" "),t._t("item",null,{item:a})],2)]}}],null,!0)},[t._v(" "),s("template",{slot:"empty"},[t._t("empty")],2)],2)],1)},[],!1,B,null,null).exports,U=s(189),M=s.n(U),V=s(7),D=s.n(V),A=s(1),N=s.n(A),W=s(10),z=s.n(W),q=s(6),G=s.n(q),H=s(190),K=s.n(H),J=s(191);s(602);function Q(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,a)}return s}function X(t){for(var e=1;e0?s("ProgressButton",{staticClass:"btn btn-default bulk-action-button",attrs:{click:function(){return t.blockUsers(a)}}},[t._v("\n "+t._s(t.$t("user_card.block"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")])],2):t._e(),t._v(" "),a.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.unblockUsers(a)}}},[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")])],2):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("BlockCard",{attrs:{"user-id":e}})]}}])},[t._v(" "),t._v(" "),s("template",{slot:"empty"},[t._v("\n "+t._s(t.$t("settings.no_blocks"))+"\n ")])],2)],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.mutes_tab")}},[s("tab-switcher",[s("div",{attrs:{label:"Users"}},[s("div",{staticClass:"usersearch-wrapper"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedUsers,query:t.queryUserIds,placeholder:t.$t("settings.search_user_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return s("MuteCard",{attrs:{"user-id":t.item}})}}])})],1),t._v(" "),s("MuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var a=e.selected;return[s("div",{staticClass:"bulk-actions"},[a.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.muteUsers(a)}}},[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")])],2):t._e(),t._v(" "),a.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.unmuteUsers(a)}}},[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")])],2):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("MuteCard",{attrs:{"user-id":e}})]}}])},[t._v(" "),t._v(" "),s("template",{slot:"empty"},[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")])],2)],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.domain_mutes")}},[s("div",{staticClass:"domain-mute-form"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedDomains,query:t.queryKnownDomains,placeholder:t.$t("settings.type_domains_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return s("DomainMuteCard",{attrs:{domain:t.item}})}}])})],1),t._v(" "),s("DomainMuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var a=e.selected;return[s("div",{staticClass:"bulk-actions"},[a.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.unmuteDomains(a)}}},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")])],2):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("DomainMuteCard",{attrs:{domain:e}})]}}])},[t._v(" "),t._v(" "),s("template",{slot:"empty"},[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")])],2)],1)])],1)])},[],!1,at,null,null).exports,ot={data:function(){return{activeTab:"profile",notificationSettings:this.$store.state.users.currentUser.notification_settings,newDomainToMute:""}},components:{Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser}},methods:{updateNotificationSettings:function(){this.$store.state.api.backendInteractor.updateNotificationSettings({settings:this.notificationSettings})}}},it=Object(o.a)(ot,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.notifications")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_filters")))]),t._v(" "),s("div",{staticClass:"select-multiple"},[s("span",{staticClass:"label"},[t._v(t._s(t.$t("settings.notification_setting")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("Checkbox",{model:{value:t.notificationSettings.follows,callback:function(e){t.$set(t.notificationSettings,"follows",e)},expression:"notificationSettings.follows"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_follows"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationSettings.followers,callback:function(e){t.$set(t.notificationSettings,"followers",e)},expression:"notificationSettings.followers"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_followers"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationSettings.non_follows,callback:function(e){t.$set(t.notificationSettings,"non_follows",e)},expression:"notificationSettings.non_follows"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_non_follows"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationSettings.non_followers,callback:function(e){t.$set(t.notificationSettings,"non_followers",e)},expression:"notificationSettings.non_followers"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_non_followers"))+"\n ")])],1)])])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_privacy")))]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.notificationSettings.privacy_option,callback:function(e){t.$set(t.notificationSettings,"privacy_option",e)},expression:"notificationSettings.privacy_option"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_privacy_option"))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("p",[t._v(t._s(t.$t("settings.notification_mutes")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.notification_blocks")))]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.updateNotificationSettings}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")])])])},[],!1,null,null,null).exports,rt=s(603),lt=s.n(rt),ct=s(37),ut=s.n(ct),dt=s(95);function pt(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,a)}return s}function mt(t){for(var e=1;e0})})}}}),watch:{notificationVisibility:{handler:function(t){this.$store.dispatch("setOption",{name:"notificationVisibility",value:this.$store.getters.mergedConfig.notificationVisibility})},deep:!0},replyVisibility:function(){this.$store.dispatch("queueFlushAll")}}},bt=Object(o.a)(ft,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.filtering")}},[s("div",{staticClass:"setting-item"},[s("div",{staticClass:"select-multiple"},[s("span",{staticClass:"label"},[t._v(t._s(t.$t("settings.notification_visibility")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("Checkbox",{model:{value:t.notificationVisibility.likes,callback:function(e){t.$set(t.notificationVisibility,"likes",e)},expression:"notificationVisibility.likes"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_likes"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.repeats,callback:function(e){t.$set(t.notificationVisibility,"repeats",e)},expression:"notificationVisibility.repeats"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_repeats"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.follows,callback:function(e){t.$set(t.notificationVisibility,"follows",e)},expression:"notificationVisibility.follows"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_follows"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.mentions,callback:function(e){t.$set(t.notificationVisibility,"mentions",e)},expression:"notificationVisibility.mentions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_mentions"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.moves,callback:function(e){t.$set(t.notificationVisibility,"moves",e)},expression:"notificationVisibility.moves"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_moves"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.emojiReactions,callback:function(e){t.$set(t.notificationVisibility,"emojiReactions",e)},expression:"notificationVisibility.emojiReactions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_emoji_reactions"))+"\n ")])],1)])]),t._v(" "),s("div",[t._v("\n "+t._s(t.$t("settings.replies_in_timeline"))+"\n "),s("label",{staticClass:"select",attrs:{for:"replyVisibility"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.replyVisibility,expression:"replyVisibility"}],attrs:{id:"replyVisibility"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.replyVisibility=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"all",selected:""}},[t._v(t._s(t.$t("settings.reply_visibility_all")))]),t._v(" "),s("option",{attrs:{value:"following"}},[t._v(t._s(t.$t("settings.reply_visibility_following")))]),t._v(" "),s("option",{attrs:{value:"self"}},[t._v(t._s(t.$t("settings.reply_visibility_self")))])]),t._v(" "),s("i",{staticClass:"icon-down-open"})])]),t._v(" "),s("div",[s("Checkbox",{model:{value:t.hidePostStats,callback:function(e){t.hidePostStats=e},expression:"hidePostStats"}},[t._v("\n "+t._s(t.$t("settings.hide_post_stats"))+" "+t._s(t.$t("settings.instance_default",{value:t.hidePostStatsLocalizedValue}))+"\n ")])],1),t._v(" "),s("div",[s("Checkbox",{model:{value:t.hideUserStats,callback:function(e){t.hideUserStats=e},expression:"hideUserStats"}},[t._v("\n "+t._s(t.$t("settings.hide_user_stats"))+" "+t._s(t.$t("settings.instance_default",{value:t.hideUserStatsLocalizedValue}))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("div",[s("p",[t._v(t._s(t.$t("settings.filtering_explanation")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.muteWordsString,expression:"muteWordsString"}],attrs:{id:"muteWords"},domProps:{value:t.muteWordsString},on:{input:function(e){e.target.composing||(t.muteWordsString=e.target.value)}}})]),t._v(" "),s("div",[s("Checkbox",{model:{value:t.hideFilteredStatuses,callback:function(e){t.hideFilteredStatuses=e},expression:"hideFilteredStatuses"}},[t._v("\n "+t._s(t.$t("settings.hide_filtered_statuses"))+" "+t._s(t.$t("settings.instance_default",{value:t.hideFilteredStatusesLocalizedValue}))+"\n ")])],1)])])},[],!1,null,null,null).exports,gt=s(2),_t=s.n(gt),wt={props:{backupCodes:{type:Object,default:function(){return{inProgress:!1,codes:[]}}}},data:function(){return{}},computed:{inProgress:function(){return this.backupCodes.inProgress},ready:function(){return this.backupCodes.codes.length>0},displayTitle:function(){return this.inProgress||this.ready}}};var Ct=function(t){s(608)},xt=Object(o.a)(wt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"mfa-backup-codes"},[t.displayTitle?s("h4",[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes"))+"\n ")]):t._e(),t._v(" "),t.inProgress?s("i",[t._v(t._s(t.$t("settings.mfa.waiting_a_recovery_codes")))]):t._e(),t._v(" "),t.ready?[s("p",{staticClass:"alert warning"},[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes_warning"))+"\n ")]),t._v(" "),s("ul",{staticClass:"backup-codes"},t._l(t.backupCodes.codes,function(e){return s("li",{key:e},[t._v("\n "+t._s(e)+"\n ")])}),0)]:t._e()],2)},[],!1,Ct,null,null).exports,kt={props:["disabled"],data:function(){return{}},methods:{confirm:function(){this.$emit("confirm")},cancel:function(){this.$emit("cancel")}}},yt=Object(o.a)(kt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t._t("default"),t._v(" "),s("button",{staticClass:"btn btn-default",attrs:{disabled:t.disabled},on:{click:t.confirm}},[t._v("\n "+t._s(t.$t("general.confirm"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn btn-default",attrs:{disabled:t.disabled},on:{click:t.cancel}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])],2)},[],!1,null,null,null).exports,$t=s(3);function Lt(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,a)}return s}var Tt={props:["settings"],data:function(){return{error:!1,currentPassword:"",deactivate:!1,inProgress:!1}},components:{confirm:yt},computed:function(t){for(var e=1;e0},confirmNewBackupCodes:function(){return this.backupCodes.getNewCodes}},Object($t.e)({backendInteractor:function(t){return t.api.backendInteractor}})),methods:{activateOTP:function(){this.settings.enabled||(this.setupState.state="getBackupcodes",this.fetchBackupCodes())},fetchBackupCodes:function(){var t=this;return this.backupCodes.inProgress=!0,this.backupCodes.codes=[],this.backendInteractor.generateMfaBackupCodes().then(function(e){t.backupCodes.codes=e.codes,t.backupCodes.inProgress=!1})},getBackupCodes:function(){this.backupCodes.getNewCodes=!0},confirmBackupCodes:function(){var t=this;this.fetchBackupCodes().then(function(e){t.backupCodes.getNewCodes=!1})},cancelBackupCodes:function(){this.backupCodes.getNewCodes=!1},setupOTP:function(){var t=this;this.setupState.state="setupOTP",this.setupState.setupOTPState="prepare",this.backendInteractor.mfaSetupOTP().then(function(e){t.otpSettings=e,t.setupState.setupOTPState="confirm"})},doConfirmOTP:function(){var t=this;this.error=null,this.backendInteractor.mfaConfirmOTP({token:this.otpConfirmToken,password:this.currentPassword}).then(function(e){e.error?t.error=e.error:t.completeSetup()})},completeSetup:function(){this.setupState.setupOTPState="complete",this.setupState.state="complete",this.currentPassword=null,this.error=null,this.fetchSettings()},cancelSetup:function(){this.setupState.setupOTPState="",this.setupState.state="",this.currentPassword=null,this.error=null},fetchSettings:function(){var t;return _t.a.async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_t.a.awrap(this.backendInteractor.settingsMFA());case 2:if(!(t=e.sent).error){e.next=5;break}return e.abrupt("return");case 5:return this.settings=t.settings,this.settings.available=!0,e.abrupt("return",t);case 8:case"end":return e.stop()}},null,this)}},mounted:function(){var t=this;this.fetchSettings().then(function(){t.readyInit=!0})}};var St=function(t){s(606)},It=Object(o.a)(Pt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.readyInit&&t.settings.available?s("div",{staticClass:"setting-item mfa-settings"},[s("div",{staticClass:"mfa-heading"},[s("h2",[t._v(t._s(t.$t("settings.mfa.title")))])]),t._v(" "),s("div",[t.setupInProgress?t._e():s("div",{staticClass:"setting-item"},[s("h3",[t._v(t._s(t.$t("settings.mfa.authentication_methods")))]),t._v(" "),s("totp-item",{attrs:{settings:t.settings},on:{deactivate:t.fetchSettings,activate:t.activateOTP}}),t._v(" "),s("br"),t._v(" "),t.settings.enabled?s("div",[t.confirmNewBackupCodes?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.confirmNewBackupCodes?t._e():s("button",{staticClass:"btn btn-default",on:{click:t.getBackupCodes}},[t._v("\n "+t._s(t.$t("settings.mfa.generate_new_recovery_codes"))+"\n ")]),t._v(" "),t.confirmNewBackupCodes?s("div",[s("confirm",{attrs:{disabled:t.backupCodes.inProgress},on:{confirm:t.confirmBackupCodes,cancel:t.cancelBackupCodes}},[s("p",{staticClass:"warning"},[t._v("\n "+t._s(t.$t("settings.mfa.warning_of_generate_new_codes"))+"\n ")])])],1):t._e()],1):t._e()],1),t._v(" "),t.setupInProgress?s("div",[s("h3",[t._v(t._s(t.$t("settings.mfa.setup_otp")))]),t._v(" "),t.setupOTPInProgress?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn btn-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")]):t._e(),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn btn-default",on:{click:t.setupOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.setup_otp"))+"\n ")]):t._e(),t._v(" "),t.setupOTPInProgress?[t.prepareOTP?s("i",[t._v(t._s(t.$t("settings.mfa.wait_pre_setup_otp")))]):t._e(),t._v(" "),t.confirmOTP?s("div",[s("div",{staticClass:"setup-otp"},[s("div",{staticClass:"qr-code"},[s("h4",[t._v(t._s(t.$t("settings.mfa.scan.title")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.scan.desc")))]),t._v(" "),s("qrcode",{attrs:{value:t.otpSettings.provisioning_uri,options:{width:200}}}),t._v(" "),s("p",[t._v("\n "+t._s(t.$t("settings.mfa.scan.secret_code"))+":\n "+t._s(t.otpSettings.key)+"\n ")])],1),t._v(" "),s("div",{staticClass:"verify"},[s("h4",[t._v(t._s(t.$t("general.verify")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.verify.desc")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.otpConfirmToken,expression:"otpConfirmToken"}],attrs:{type:"text"},domProps:{value:t.otpConfirmToken},on:{input:function(e){e.target.composing||(t.otpConfirmToken=e.target.value)}}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.enter_current_password_to_confirm"))+":")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentPassword,expression:"currentPassword"}],attrs:{type:"password"},domProps:{value:t.currentPassword},on:{input:function(e){e.target.composing||(t.currentPassword=e.target.value)}}}),t._v(" "),s("div",{staticClass:"confirm-otp-actions"},[s("button",{staticClass:"btn btn-default",on:{click:t.doConfirmOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.confirm_and_enable"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])]),t._v(" "),t.error?s("div",{staticClass:"alert error"},[t._v("\n "+t._s(t.error)+"\n ")]):t._e()])])]):t._e()]:t._e()],2):t._e()])]):t._e()},[],!1,St,null,null).exports,jt={data:function(){return{newEmail:"",changeEmailError:!1,changeEmailPassword:"",changedEmail:!1,deletingAccount:!1,deleteAccountConfirmPasswordInput:"",deleteAccountError:!1,changePasswordInputs:["","",""],changedPassword:!1,changePasswordError:!1}},created:function(){this.$store.dispatch("fetchTokens")},components:{ProgressButton:S.a,Mfa:It,Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser},pleromaBackend:function(){return this.$store.state.instance.pleromaBackend},oauthTokens:function(){return this.$store.state.oauthTokens.tokens.map(function(t){return{id:t.id,appName:t.app_name,validUntil:new Date(t.valid_until).toLocaleDateString()}})}},methods:{confirmDelete:function(){this.deletingAccount=!0},deleteAccount:function(){var t=this;this.$store.state.api.backendInteractor.deleteAccount({password:this.deleteAccountConfirmPasswordInput}).then(function(e){"success"===e.status?(t.$store.dispatch("logout"),t.$router.push({name:"root"})):t.deleteAccountError=e.error})},changePassword:function(){var t=this,e={password:this.changePasswordInputs[0],newPassword:this.changePasswordInputs[1],newPasswordConfirmation:this.changePasswordInputs[2]};this.$store.state.api.backendInteractor.changePassword(e).then(function(e){"success"===e.status?(t.changedPassword=!0,t.changePasswordError=!1,t.logout()):(t.changedPassword=!1,t.changePasswordError=e.error)})},changeEmail:function(){var t=this,e={email:this.newEmail,password:this.changeEmailPassword};this.$store.state.api.backendInteractor.changeEmail(e).then(function(e){"success"===e.status?(t.changedEmail=!0,t.changeEmailError=!1):(t.changedEmail=!1,t.changeEmailError=e.error)})},logout:function(){this.$store.dispatch("logout"),this.$router.replace("/")},revokeToken:function(t){window.confirm("".concat(this.$i18n.t("settings.revoke_token"),"?"))&&this.$store.dispatch("revokeToken",t)}}},Et=Object(o.a)(jt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.security_tab")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_email")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.newEmail,expression:"newEmail"}],attrs:{type:"email",autocomplete:"email"},domProps:{value:t.newEmail},on:{input:function(e){e.target.composing||(t.newEmail=e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changeEmailPassword,expression:"changeEmailPassword"}],attrs:{type:"password",autocomplete:"current-password"},domProps:{value:t.changeEmailPassword},on:{input:function(e){e.target.composing||(t.changeEmailPassword=e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.changeEmail}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")]),t._v(" "),t.changedEmail?s("p",[t._v("\n "+t._s(t.$t("settings.changed_email"))+"\n ")]):t._e(),t._v(" "),!1!==t.changeEmailError?[s("p",[t._v(t._s(t.$t("settings.change_email_error")))]),t._v(" "),s("p",[t._v(t._s(t.changeEmailError))])]:t._e()],2),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_password")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[0],expression:"changePasswordInputs[0]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[0]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,0,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[1],expression:"changePasswordInputs[1]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[1]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,1,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.confirm_new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[2],expression:"changePasswordInputs[2]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[2]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,2,e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.changePassword}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")]),t._v(" "),t.changedPassword?s("p",[t._v("\n "+t._s(t.$t("settings.changed_password"))+"\n ")]):!1!==t.changePasswordError?s("p",[t._v("\n "+t._s(t.$t("settings.change_password_error"))+"\n ")]):t._e(),t._v(" "),t.changePasswordError?s("p",[t._v("\n "+t._s(t.changePasswordError)+"\n ")]):t._e()]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.oauth_tokens")))]),t._v(" "),s("table",{staticClass:"oauth-tokens"},[s("thead",[s("tr",[s("th",[t._v(t._s(t.$t("settings.app_name")))]),t._v(" "),s("th",[t._v(t._s(t.$t("settings.valid_until")))]),t._v(" "),s("th")])]),t._v(" "),s("tbody",t._l(t.oauthTokens,function(e){return s("tr",{key:e.id},[s("td",[t._v(t._s(e.appName))]),t._v(" "),s("td",[t._v(t._s(e.validUntil))]),t._v(" "),s("td",{staticClass:"actions"},[s("button",{staticClass:"btn btn-default",on:{click:function(s){return t.revokeToken(e.id)}}},[t._v("\n "+t._s(t.$t("settings.revoke_token"))+"\n ")])])])}),0)])]),t._v(" "),s("mfa"),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.delete_account")))]),t._v(" "),t.deletingAccount?t._e():s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_description"))+"\n ")]),t._v(" "),t.deletingAccount?s("div",[s("p",[t._v(t._s(t.$t("settings.delete_account_instructions")))]),t._v(" "),s("p",[t._v(t._s(t.$t("login.password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.deleteAccountConfirmPasswordInput,expression:"deleteAccountConfirmPasswordInput"}],attrs:{type:"password"},domProps:{value:t.deleteAccountConfirmPasswordInput},on:{input:function(e){e.target.composing||(t.deleteAccountConfirmPasswordInput=e.target.value)}}}),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.deleteAccount}},[t._v("\n "+t._s(t.$t("settings.delete_account"))+"\n ")])]):t._e(),t._v(" "),!1!==t.deleteAccountError?s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_error"))+"\n ")]):t._e(),t._v(" "),t.deleteAccountError?s("p",[t._v("\n "+t._s(t.deleteAccountError)+"\n ")]):t._e(),t._v(" "),t.deletingAccount?t._e():s("button",{staticClass:"btn btn-default",on:{click:t.confirmDelete}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")])])],1)},[],!1,null,null,null).exports,Rt=s(187),Bt=s.n(Rt),Ft=s(96),Ut=s.n(Ft),Mt=s(26),Vt=s.n(Mt),Dt=s(615),At=(s(616),{props:{trigger:{type:[String,window.Element],required:!0},submitHandler:{type:Function,required:!0},cropperOptions:{type:Object,default:function(){return{aspectRatio:1,autoCropArea:1,viewMode:1,movable:!1,zoomable:!1,guides:!1}}},mimes:{type:String,default:"image/png, image/gif, image/jpeg, image/bmp, image/x-icon"},saveButtonLabel:{type:String},saveWithoutCroppingButtonlabel:{type:String},cancelButtonLabel:{type:String}},data:function(){return{cropper:void 0,dataUrl:void 0,filename:void 0,submitting:!1,submitError:null}},computed:{saveText:function(){return this.saveButtonLabel||this.$t("image_cropper.save")},saveWithoutCroppingText:function(){return this.saveWithoutCroppingButtonlabel||this.$t("image_cropper.save_without_cropping")},cancelText:function(){return this.cancelButtonLabel||this.$t("image_cropper.cancel")},submitErrorMsg:function(){return this.submitError&&this.submitError instanceof Error?this.submitError.toString():this.submitError}},methods:{destroy:function(){this.cropper&&this.cropper.destroy(),this.$refs.input.value="",this.dataUrl=void 0,this.$emit("close")},submit:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.submitting=!0,this.avatarUploadError=null,this.submitHandler(e&&this.cropper,this.file).then(function(){return t.destroy()}).catch(function(e){t.submitError=e}).finally(function(){t.submitting=!1})},pickImage:function(){this.$refs.input.click()},createCropper:function(){this.cropper=new Dt.a(this.$refs.img,this.cropperOptions)},getTriggerDOM:function(){return"object"===Vt()(this.trigger)?this.trigger:document.querySelector(this.trigger)},readFile:function(){var t=this,e=this.$refs.input;if(null!=e.files&&null!=e.files[0]){this.file=e.files[0];var s=new window.FileReader;s.onload=function(e){t.dataUrl=e.target.result,t.$emit("open")},s.readAsDataURL(this.file),this.$emit("changed",this.file,s)}},clearError:function(){this.submitError=null}},mounted:function(){var t=this.getTriggerDOM();t?t.addEventListener("click",this.pickImage):this.$emit("error","No image make trigger found.","user"),this.$refs.input.addEventListener("change",this.readFile)},beforeDestroy:function(){var t=this.getTriggerDOM();t&&t.removeEventListener("click",this.pickImage),this.$refs.input.removeEventListener("change",this.readFile)}});var Nt=function(t){s(613)},Wt=Object(o.a)(At,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"image-cropper"},[t.dataUrl?s("div",[s("div",{staticClass:"image-cropper-image-container"},[s("img",{ref:"img",attrs:{src:t.dataUrl,alt:""},on:{load:function(e){return e.stopPropagation(),t.createCropper(e)}}})]),t._v(" "),s("div",{staticClass:"image-cropper-buttons-wrapper"},[s("button",{staticClass:"btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveText)},on:{click:function(e){return t.submit()}}}),t._v(" "),s("button",{staticClass:"btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.cancelText)},on:{click:t.destroy}}),t._v(" "),s("button",{staticClass:"btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveWithoutCroppingText)},on:{click:function(e){return t.submit(!1)}}}),t._v(" "),t.submitting?s("i",{staticClass:"icon-spin4 animate-spin"}):t._e()]),t._v(" "),t.submitError?s("div",{staticClass:"alert error"},[t._v("\n "+t._s(t.submitErrorMsg)+"\n "),s("i",{staticClass:"button-icon icon-cancel",on:{click:t.clearError}})]):t._e()]):t._e(),t._v(" "),s("input",{ref:"input",staticClass:"image-cropper-img-input",attrs:{type:"file",accept:t.mimes}})])},[],!1,Nt,null,null).exports,zt=s(195),qt=s(133),Gt=s(194),Ht=s(134),Kt={data:function(){return{newName:this.$store.state.users.currentUser.name,newBio:Bt()(this.$store.state.users.currentUser.description),newLocked:this.$store.state.users.currentUser.locked,newNoRichText:this.$store.state.users.currentUser.no_rich_text,newDefaultScope:this.$store.state.users.currentUser.default_scope,newFields:this.$store.state.users.currentUser.fields.map(function(t){return{name:t.name,value:t.value}}),hideFollows:this.$store.state.users.currentUser.hide_follows,hideFollowers:this.$store.state.users.currentUser.hide_followers,hideFollowsCount:this.$store.state.users.currentUser.hide_follows_count,hideFollowersCount:this.$store.state.users.currentUser.hide_followers_count,showRole:this.$store.state.users.currentUser.show_role,role:this.$store.state.users.currentUser.role,discoverable:this.$store.state.users.currentUser.discoverable,bot:this.$store.state.users.currentUser.bot,allowFollowingMove:this.$store.state.users.currentUser.allow_following_move,pickAvatarBtnVisible:!0,bannerUploading:!1,backgroundUploading:!1,banner:null,bannerPreview:null,background:null,backgroundPreview:null,bannerUploadError:null,backgroundUploadError:null}},components:{ScopeSelector:zt.a,ImageCropper:Wt,EmojiInput:Gt.a,Autosuggest:x,ProgressButton:S.a,Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser},emojiUserSuggestor:function(){var t=this;return Object(Ht.a)({emoji:[].concat(z()(this.$store.state.instance.emoji),z()(this.$store.state.instance.customEmoji)),users:this.$store.state.users.users,updateUsersList:function(e){return t.$store.dispatch("searchUsers",{query:e})}})},emojiSuggestor:function(){return Object(Ht.a)({emoji:[].concat(z()(this.$store.state.instance.emoji),z()(this.$store.state.instance.customEmoji))})},userSuggestor:function(){var t=this;return Object(Ht.a)({users:this.$store.state.users.users,updateUsersList:function(e){return t.$store.dispatch("searchUsers",{query:e})}})},fieldsLimits:function(){return this.$store.state.instance.fieldsLimits},maxFields:function(){return this.fieldsLimits?this.fieldsLimits.maxFields:0},defaultAvatar:function(){return this.$store.state.instance.server+this.$store.state.instance.defaultAvatar},defaultBanner:function(){return this.$store.state.instance.server+this.$store.state.instance.defaultBanner},isDefaultAvatar:function(){var t=this.$store.state.instance.defaultAvatar;return!this.$store.state.users.currentUser.profile_image_url||this.$store.state.users.currentUser.profile_image_url.includes(t)},isDefaultBanner:function(){var t=this.$store.state.instance.defaultBanner;return!this.$store.state.users.currentUser.cover_photo||this.$store.state.users.currentUser.cover_photo.includes(t)},isDefaultBackground:function(){return!this.$store.state.users.currentUser.background_image},avatarImgSrc:function(){var t=this.$store.state.users.currentUser.profile_image_url_original;return t||this.defaultAvatar},bannerImgSrc:function(){var t=this.$store.state.users.currentUser.cover_photo;return t||this.defaultBanner}},methods:{updateProfile:function(){var t=this;this.$store.state.api.backendInteractor.updateProfile({params:{note:this.newBio,locked:this.newLocked,display_name:this.newName,fields_attributes:this.newFields.filter(function(t){return null!=t}),default_scope:this.newDefaultScope,no_rich_text:this.newNoRichText,hide_follows:this.hideFollows,hide_followers:this.hideFollowers,discoverable:this.discoverable,bot:this.bot,allow_following_move:this.allowFollowingMove,hide_follows_count:this.hideFollowsCount,hide_followers_count:this.hideFollowersCount,show_role:this.showRole}}).then(function(e){t.newFields.splice(e.fields.length),Ut()(t.newFields,e.fields),t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e)})},changeVis:function(t){this.newDefaultScope=t},addField:function(){return this.newFields.lengththis.$store.state.instance[t+"limit"]){var n=qt.a.fileSizeFormat(a.size),o=qt.a.fileSizeFormat(this.$store.state.instance[t+"limit"]);this[t+"UploadError"]=[this.$t("upload.error.base"),this.$t("upload.error.file_too_big",{filesize:n.num,filesizeunit:n.unit,allowedsize:o.num,allowedsizeunit:o.unit})].join(" ")}else{var i=new FileReader;i.onload=function(e){var n=e.target.result;s[t+"Preview"]=n,s[t]=a},i.readAsDataURL(a)}},resetAvatar:function(){window.confirm(this.$t("settings.reset_avatar_confirm"))&&this.submitAvatar(void 0,"")},resetBanner:function(){window.confirm(this.$t("settings.reset_banner_confirm"))&&this.submitBanner("")},resetBackground:function(){window.confirm(this.$t("settings.reset_background_confirm"))&&this.submitBackground("")},submitAvatar:function(t,e){var s=this;return new Promise(function(a,n){function o(t){s.$store.state.api.backendInteractor.updateProfileImages({avatar:t}).then(function(t){s.$store.commit("addNewUsers",[t]),s.$store.commit("setCurrentUser",t),a()}).catch(function(t){n(new Error(s.$t("upload.error.base")+" "+t.message))})}t?t.getCroppedCanvas().toBlob(o,e.type):o(e)})},submitBanner:function(t){var e=this;(this.bannerPreview||""===t)&&(this.bannerUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({banner:t}).then(function(t){e.$store.commit("addNewUsers",[t]),e.$store.commit("setCurrentUser",t),e.bannerPreview=null}).catch(function(t){e.bannerUploadError=e.$t("upload.error.base")+" "+t.message}).then(function(){e.bannerUploading=!1}))},submitBackground:function(t){var e=this;(this.backgroundPreview||""===t)&&(this.backgroundUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({background:t}).then(function(t){t.error?e.backgroundUploadError=e.$t("upload.error.base")+t.error:(e.$store.commit("addNewUsers",[t]),e.$store.commit("setCurrentUser",t),e.backgroundPreview=null),e.backgroundUploading=!1}))}}};var Jt=function(t){s(611)},Qt=Object(o.a)(Kt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"profile-tab"},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.name_bio")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.name")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiSuggestor},model:{value:t.newName,callback:function(e){t.newName=e},expression:"newName"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],attrs:{id:"username",classname:"name-changer"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}})]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.bio")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiUserSuggestor},model:{value:t.newBio,callback:function(e){t.newBio=e},expression:"newBio"}},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.newBio,expression:"newBio"}],attrs:{classname:"bio"},domProps:{value:t.newBio},on:{input:function(e){e.target.composing||(t.newBio=e.target.value)}}})]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newLocked,callback:function(e){t.newLocked=e},expression:"newLocked"}},[t._v("\n "+t._s(t.$t("settings.lock_account_description"))+"\n ")])],1),t._v(" "),s("div",[s("label",{attrs:{for:"default-vis"}},[t._v(t._s(t.$t("settings.default_vis")))]),t._v(" "),s("div",{staticClass:"visibility-tray",attrs:{id:"default-vis"}},[s("scope-selector",{attrs:{"show-all":!0,"user-default":t.newDefaultScope,"initial-scope":t.newDefaultScope,"on-scope-change":t.changeVis}})],1)]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newNoRichText,callback:function(e){t.newNoRichText=e},expression:"newNoRichText"}},[t._v("\n "+t._s(t.$t("settings.no_rich_text_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollows,callback:function(e){t.hideFollows=e},expression:"hideFollows"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollows},model:{value:t.hideFollowsCount,callback:function(e){t.hideFollowsCount=e},expression:"hideFollowsCount"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollowers,callback:function(e){t.hideFollowers=e},expression:"hideFollowers"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollowers},model:{value:t.hideFollowersCount,callback:function(e){t.hideFollowersCount=e},expression:"hideFollowersCount"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.allowFollowingMove,callback:function(e){t.allowFollowingMove=e},expression:"allowFollowingMove"}},[t._v("\n "+t._s(t.$t("settings.allow_following_move"))+"\n ")])],1),t._v(" "),"admin"===t.role||"moderator"===t.role?s("p",[s("Checkbox",{model:{value:t.showRole,callback:function(e){t.showRole=e},expression:"showRole"}},["admin"===t.role?[t._v("\n "+t._s(t.$t("settings.show_admin_badge"))+"\n ")]:t._e(),t._v(" "),"moderator"===t.role?[t._v("\n "+t._s(t.$t("settings.show_moderator_badge"))+"\n ")]:t._e()],2)],1):t._e(),t._v(" "),s("p",[s("Checkbox",{model:{value:t.discoverable,callback:function(e){t.discoverable=e},expression:"discoverable"}},[t._v("\n "+t._s(t.$t("settings.discoverable"))+"\n ")])],1),t._v(" "),t.maxFields>0?s("div",[s("p",[t._v(t._s(t.$t("settings.profile_fields.label")))]),t._v(" "),t._l(t.newFields,function(e,a){return s("div",{key:a,staticClass:"profile-fields"},[s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[a].name,callback:function(e){t.$set(t.newFields[a],"name",e)},expression:"newFields[i].name"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[a].name,expression:"newFields[i].name"}],attrs:{placeholder:t.$t("settings.profile_fields.name")},domProps:{value:t.newFields[a].name},on:{input:function(e){e.target.composing||t.$set(t.newFields[a],"name",e.target.value)}}})]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[a].value,callback:function(e){t.$set(t.newFields[a],"value",e)},expression:"newFields[i].value"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[a].value,expression:"newFields[i].value"}],attrs:{placeholder:t.$t("settings.profile_fields.value")},domProps:{value:t.newFields[a].value},on:{input:function(e){e.target.composing||t.$set(t.newFields[a],"value",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"icon-container"},[s("i",{directives:[{name:"show",rawName:"v-show",value:t.newFields.length>1,expression:"newFields.length > 1"}],staticClass:"icon-cancel",on:{click:function(e){return t.deleteField(a)}}})])],1)}),t._v(" "),t.newFields.length0?s("li",[s("div",[t._v("\n "+t._s(t.$t("settings.post_status_content_type"))+"\n "),s("label",{staticClass:"select",attrs:{for:"postContentType"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.postContentType,expression:"postContentType"}],attrs:{id:"postContentType"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.postContentType=e.target.multiple?s:s[0]}}},t._l(t.postFormats,function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s(t.$t('post_status.content_type["'+e+'"]'))+"\n "+t._s(t.postContentTypeDefaultValue===e?t.$t("settings.instance_default_simple"):"")+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})])])]):t._e(),t._v(" "),s("li",[s("Checkbox",{model:{value:t.minimalScopesMode,callback:function(e){t.minimalScopesMode=e},expression:"minimalScopesMode"}},[t._v("\n "+t._s(t.$t("settings.minimal_scopes_mode"))+" "+t._s(t.$t("settings.instance_default",{value:t.minimalScopesModeLocalizedValue}))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.autohideFloatingPostButton,callback:function(e){t.autohideFloatingPostButton=e},expression:"autohideFloatingPostButton"}},[t._v("\n "+t._s(t.$t("settings.autohide_floating_post_button"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.padEmoji,callback:function(e){t.padEmoji=e},expression:"padEmoji"}},[t._v("\n "+t._s(t.$t("settings.pad_emoji"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.attachments")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("Checkbox",{model:{value:t.hideAttachments,callback:function(e){t.hideAttachments=e},expression:"hideAttachments"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_tl"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.hideAttachmentsInConv,callback:function(e){t.hideAttachmentsInConv=e},expression:"hideAttachmentsInConv"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_convo"))+"\n ")])],1),t._v(" "),s("li",[s("label",{attrs:{for:"maxThumbnails"}},[t._v("\n "+t._s(t.$t("settings.max_thumbnails"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model.number",value:t.maxThumbnails,expression:"maxThumbnails",modifiers:{number:!0}}],staticClass:"number-input",attrs:{id:"maxThumbnails",type:"number",min:"0",step:"1"},domProps:{value:t.maxThumbnails},on:{input:function(e){e.target.composing||(t.maxThumbnails=t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}})]),t._v(" "),s("li",[s("Checkbox",{model:{value:t.hideNsfw,callback:function(e){t.hideNsfw=e},expression:"hideNsfw"}},[t._v("\n "+t._s(t.$t("settings.nsfw_clickthrough"))+"\n ")])],1),t._v(" "),s("ul",{staticClass:"setting-list suboptions"},[s("li",[s("Checkbox",{attrs:{disabled:!t.hideNsfw},model:{value:t.preloadImage,callback:function(e){t.preloadImage=e},expression:"preloadImage"}},[t._v("\n "+t._s(t.$t("settings.preload_images"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{attrs:{disabled:!t.hideNsfw},model:{value:t.useOneClickNsfw,callback:function(e){t.useOneClickNsfw=e},expression:"useOneClickNsfw"}},[t._v("\n "+t._s(t.$t("settings.use_one_click_nsfw"))+"\n ")])],1)]),t._v(" "),s("li",[s("Checkbox",{model:{value:t.stopGifs,callback:function(e){t.stopGifs=e},expression:"stopGifs"}},[t._v("\n "+t._s(t.$t("settings.stop_gifs"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.loopVideo,callback:function(e){t.loopVideo=e},expression:"loopVideo"}},[t._v("\n "+t._s(t.$t("settings.loop_video"))+"\n ")]),t._v(" "),s("ul",{staticClass:"setting-list suboptions",class:[{disabled:!t.streaming}]},[s("li",[s("Checkbox",{attrs:{disabled:!t.loopVideo||!t.loopSilentAvailable},model:{value:t.loopVideoSilentOnly,callback:function(e){t.loopVideoSilentOnly=e},expression:"loopVideoSilentOnly"}},[t._v("\n "+t._s(t.$t("settings.loop_video_silent_only"))+"\n ")]),t._v(" "),t.loopSilentAvailable?t._e():s("div",{staticClass:"unavailable"},[s("i",{staticClass:"icon-globe"}),t._v("! "+t._s(t.$t("settings.limited_availability"))+"\n ")])],1)])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.playVideosInModal,callback:function(e){t.playVideosInModal=e},expression:"playVideosInModal"}},[t._v("\n "+t._s(t.$t("settings.play_videos_in_modal"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.useContainFit,callback:function(e){t.useContainFit=e},expression:"useContainFit"}},[t._v("\n "+t._s(t.$t("settings.use_contain_fit"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notifications")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("Checkbox",{model:{value:t.webPushNotifications,callback:function(e){t.webPushNotifications=e},expression:"webPushNotifications"}},[t._v("\n "+t._s(t.$t("settings.enable_web_push_notifications"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.fun")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("Checkbox",{model:{value:t.greentext,callback:function(e){t.greentext=e},expression:"greentext"}},[t._v("\n "+t._s(t.$t("settings.greentext"))+" "+t._s(t.$t("settings.instance_default",{value:t.greentextLocalizedValue}))+"\n ")])],1)])])])},[],!1,null,null,null).exports,ne={data:function(){var t=this.$store.state.instance;return{backendVersion:t.backendVersion,frontendVersion:t.frontendVersion}},computed:{frontendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma-fe/commit/"+this.frontendVersion},backendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma/commit/"+(t=this.backendVersion,(e=t.match(/-g(\w+)/i))?e[1]:"");var t,e}}},oe=Object(o.a)(ne,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.version.title")}},[s("div",{staticClass:"setting-item"},[s("ul",{staticClass:"setting-list"},[s("li",[s("p",[t._v(t._s(t.$t("settings.version.backend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.backendVersionLink,target:"_blank"}},[t._v(t._s(t.backendVersion))])])])]),t._v(" "),s("li",[s("p",[t._v(t._s(t.$t("settings.version.frontend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.frontendVersionLink,target:"_blank"}},[t._v(t._s(t.frontendVersion))])])])])])])])},[],!1,null,null,null).exports,ie=s(9),re=s(32),le=s(29),ce=s(40),ue={components:{Checkbox:d.a},props:{name:{required:!0,type:String},label:{required:!0,type:String},value:{required:!1,type:String,default:void 0},fallback:{required:!1,type:String,default:void 0},disabled:{required:!1,type:Boolean,default:!1},showOptionalTickbox:{required:!1,type:Boolean,default:!0}},computed:{present:function(){return void 0!==this.value},validColor:function(){return Object(ie.f)(this.value||this.fallback)},transparentColor:function(){return"transparent"===this.value},computedColor:function(){return this.value&&this.value.startsWith("--")}}};var de=function(t){s(619),s(621)},pe=Object(o.a)(ue,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"color-input style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback&&t.showOptionalTickbox?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),s("div",{staticClass:"input color-input-field"},[s("input",{staticClass:"textColor unstyled",attrs:{id:t.name+"-t",type:"text",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),t.validColor?s("input",{staticClass:"nativeColor unstyled",attrs:{id:t.name,type:"color",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}):t._e(),t._v(" "),t.transparentColor?s("div",{staticClass:"transparentIndicator"}):t._e(),t._v(" "),t.computedColor?s("div",{staticClass:"computedIndicator",style:{backgroundColor:t.fallback}}):t._e()])],1)},[],!1,de,null,null).exports,me=Object(o.a)({props:["name","value","fallback","disabled","label","max","min","step","hardMin","hardMax"],computed:{present:function(){return void 0!==this.value}}},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"range-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"range",disabled:!t.present||t.disabled,max:t.max||t.hardMax||100,min:t.min||t.hardMin||0,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:t.hardMax,min:t.hardMin,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})])},[],!1,null,null,null).exports,ve={components:{Checkbox:d.a},props:["name","value","fallback","disabled"],computed:{present:function(){return void 0!==this.value}}},he=Object(o.a)(ve,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"opacity-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.$t("settings.style.common.opacity"))+"\n ")]),t._v(" "),void 0!==t.fallback?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:"1",min:"0",step:".05"},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})],1)},[],!1,null,null,null).exports;function fe(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,a)}return s}var be=function(){return function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{})},ge={props:["value","fallback","ready"],data:function(){return{selectedId:0,cValue:(this.value||this.fallback||[]).map(be)}},components:{ColorInput:pe,OpacityInput:he},methods:{add:function(){this.cValue.push(be(this.selected)),this.selectedId=this.cValue.length-1},del:function(){this.cValue.splice(this.selectedId,1),this.selectedId=0===this.cValue.length?void 0:Math.max(this.selectedId-1,0)},moveUp:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId-1,0,t),this.selectedId-=1},moveDn:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId+1,0,t),this.selectedId+=1}},beforeUpdate:function(){this.cValue=this.value||this.fallback},computed:{anyShadows:function(){return this.cValue.length>0},anyShadowsFallback:function(){return this.fallback.length>0},selected:function(){return this.ready&&this.anyShadows?this.cValue[this.selectedId]:be({})},currentFallback:function(){return this.ready&&this.anyShadowsFallback?this.fallback[this.selectedId]:be({})},moveUpValid:function(){return this.ready&&this.selectedId>0},moveDnValid:function(){return this.ready&&this.selectedId-1:t.selected.inset},on:{change:function(e){var s=t.selected.inset,a=e.target,n=!!a.checked;if(Array.isArray(s)){var o=t._i(s,null);a.checked?o<0&&t.$set(t.selected,"inset",s.concat([null])):o>-1&&t.$set(t.selected,"inset",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.selected,"inset",n)}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"inset"}})]),t._v(" "),s("div",{staticClass:"blur-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.blur"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-range",attrs:{id:"blur",disabled:!t.present,name:"blur",type:"range",max:"20",min:"0"},domProps:{value:t.selected.blur},on:{__r:function(e){return t.$set(t.selected,"blur",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number",min:"0"},domProps:{value:t.selected.blur},on:{input:function(e){e.target.composing||t.$set(t.selected,"blur",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"spread-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.spread"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-range",attrs:{id:"spread",disabled:!t.present,name:"spread",type:"range",max:"20",min:"-20"},domProps:{value:t.selected.spread},on:{__r:function(e){return t.$set(t.selected,"spread",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number"},domProps:{value:t.selected.spread},on:{input:function(e){e.target.composing||t.$set(t.selected,"spread",e.target.value)}}})]),t._v(" "),s("ColorInput",{attrs:{disabled:!t.present,label:t.$t("settings.style.common.color"),fallback:t.currentFallback.color,"show-optional-tickbox":!1,name:"shadow"},model:{value:t.selected.color,callback:function(e){t.$set(t.selected,"color",e)},expression:"selected.color"}}),t._v(" "),s("OpacityInput",{attrs:{disabled:!t.present},model:{value:t.selected.alpha,callback:function(e){t.$set(t.selected,"alpha",e)},expression:"selected.alpha"}}),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.hintV3",tag:"p"}},[s("code",[t._v("--variable,mod")])])],1)])},[],!1,_e,null,null).exports,Ce={props:["name","label","value","fallback","options","no-inherit"],data:function(){return{lValue:this.value,availableOptions:[this.noInherit?"":"inherit","custom"].concat(z()(this.options||[]),["serif","monospace","sans-serif"]).filter(function(t){return t})}},beforeUpdate:function(){this.lValue=this.value},computed:{present:function(){return void 0!==this.lValue},dValue:function(){return this.lValue||this.fallback||{}},family:{get:function(){return this.dValue.family},set:function(t){Object(q.set)(this.lValue,"family",t),this.$emit("input",this.lValue)}},isCustom:function(){return"custom"===this.preset},preset:{get:function(){return"serif"===this.family||"sans-serif"===this.family||"monospace"===this.family||"inherit"===this.family?this.family:"custom"},set:function(t){this.family="custom"===t?"":t}}}};var xe=function(t){s(625)},ke=Object(o.a)(Ce,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"font-control style-control",class:{custom:t.isCustom}},[s("label",{staticClass:"label",attrs:{for:"custom"===t.preset?t.name:t.name+"-font-switcher"}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt exlcude-disabled",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("label",{staticClass:"select",attrs:{for:t.name+"-font-switcher",disabled:!t.present}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.preset,expression:"preset"}],staticClass:"font-switcher",attrs:{id:t.name+"-font-switcher",disabled:!t.present},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.preset=e.target.multiple?s:s[0]}}},t._l(t.availableOptions,function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s("custom"===e?t.$t("settings.style.fonts.custom"):e)+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})]),t._v(" "),t.isCustom?s("input",{directives:[{name:"model",rawName:"v-model",value:t.family,expression:"family"}],staticClass:"custom-font",attrs:{id:t.name,type:"text"},domProps:{value:t.family},on:{input:function(e){e.target.composing||(t.family=e.target.value)}}}):t._e()])},[],!1,xe,null,null).exports,ye={props:{large:{required:!1},contrast:{required:!1,type:Object}},computed:{hint:function(){var t=this.contrast.aaa?"aaa":this.contrast.aa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.text"),a=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:a})},hint_18pt:function(){var t=this.contrast.laaa?"aaa":this.contrast.laa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.18pt"),a=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:a})}}};var $e=function(t){s(627)},Le=Object(o.a)(ye,function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.contrast?s("span",{staticClass:"contrast-ratio"},[s("span",{staticClass:"rating",attrs:{title:t.hint}},[t.contrast.aaa?s("span",[s("i",{staticClass:"icon-thumbs-up-alt"})]):t._e(),t._v(" "),!t.contrast.aaa&&t.contrast.aa?s("span",[s("i",{staticClass:"icon-adjust"})]):t._e(),t._v(" "),t.contrast.aaa||t.contrast.aa?t._e():s("span",[s("i",{staticClass:"icon-attention"})])]),t._v(" "),t.contrast&&t.large?s("span",{staticClass:"rating",attrs:{title:t.hint_18pt}},[t.contrast.laaa?s("span",[s("i",{staticClass:"icon-thumbs-up-alt"})]):t._e(),t._v(" "),!t.contrast.laaa&&t.contrast.laa?s("span",[s("i",{staticClass:"icon-adjust"})]):t._e(),t._v(" "),t.contrast.laaa||t.contrast.laa?t._e():s("span",[s("i",{staticClass:"icon-attention"})])]):t._e()]):t._e()},[],!1,$e,null,null).exports,Te={props:["exportObject","importLabel","exportLabel","importFailedText","validator","onImport","onImportFailure"],data:function(){return{importFailed:!1}},methods:{exportData:function(){var t=JSON.stringify(this.exportObject,null,2),e=document.createElement("a");e.setAttribute("download","pleroma_theme.json"),e.setAttribute("href","data:application/json;base64,"+window.btoa(t)),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)},importData:function(){var t=this;this.importFailed=!1;var e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("accept",".json"),e.addEventListener("change",function(e){if(e.target.files[0]){var s=new FileReader;s.onload=function(e){var s=e.target;try{var a=JSON.parse(s.result);t.validator(a)?t.onImport(a):t.importFailed=!0}catch(e){t.importFailed=!0}},s.readAsText(e.target.files[0])}}),document.body.appendChild(e),e.click(),document.body.removeChild(e)}}};var Oe=function(t){s(629)},Pe=Object(o.a)(Te,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"import-export-container"},[t._t("before"),t._v(" "),s("button",{staticClass:"btn",on:{click:t.exportData}},[t._v("\n "+t._s(t.exportLabel)+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.importData}},[t._v("\n "+t._s(t.importLabel)+"\n ")]),t._v(" "),t._t("afterButtons"),t._v(" "),t.importFailed?s("p",{staticClass:"alert error"},[t._v("\n "+t._s(t.importFailedText)+"\n ")]):t._e(),t._v(" "),t._t("afterError")],2)},[],!1,Oe,null,null).exports;var Se=function(t){s(631)},Ie=Object(o.a)(null,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"preview-container"},[s("div",{staticClass:"underlay underlay-preview"}),t._v(" "),s("div",{staticClass:"panel dummy"},[s("div",{staticClass:"panel-heading"},[s("div",{staticClass:"title"},[t._v("\n "+t._s(t.$t("settings.style.preview.header"))+"\n "),s("span",{staticClass:"badge badge-notification"},[t._v("\n 99\n ")])]),t._v(" "),s("span",{staticClass:"faint"},[t._v("\n "+t._s(t.$t("settings.style.preview.header_faint"))+"\n ")]),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])]),t._v(" "),s("div",{staticClass:"panel-body theme-preview-content"},[s("div",{staticClass:"post"},[s("div",{staticClass:"avatar still-image"},[t._v("\n ( ͡° ͜ʖ ͡°)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("h4",[t._v("\n "+t._s(t.$t("settings.style.preview.content"))+"\n ")]),t._v(" "),s("i18n",{attrs:{path:"settings.style.preview.text"}},[s("code",{staticStyle:{"font-family":"var(--postCodeFont)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.mono"))+"\n ")]),t._v(" "),s("a",{staticStyle:{color:"var(--link)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.link"))+"\n ")])]),t._v(" "),t._m(0)],1)]),t._v(" "),s("div",{staticClass:"after-post"},[s("div",{staticClass:"avatar-alt"},[t._v("\n :^)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("i18n",{staticClass:"faint",attrs:{path:"settings.style.preview.fine_print",tag:"span"}},[s("a",{staticStyle:{color:"var(--faintLink)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.faint_link"))+"\n ")])])],1)]),t._v(" "),s("div",{staticClass:"separator"}),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("input",{attrs:{type:"text"},domProps:{value:t.$t("settings.style.preview.input")}}),t._v(" "),s("div",{staticClass:"actions"},[s("span",{staticClass:"checkbox"},[s("input",{attrs:{id:"preview_checkbox",checked:"very yes",type:"checkbox"}}),t._v(" "),s("label",{attrs:{for:"preview_checkbox"}},[t._v(t._s(t.$t("settings.style.preview.checkbox")))])]),t._v(" "),s("button",{staticClass:"btn"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])])])])])},[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"icons"},[e("i",{staticClass:"button-icon icon-reply",staticStyle:{color:"var(--cBlue)"}}),this._v(" "),e("i",{staticClass:"button-icon icon-retweet",staticStyle:{color:"var(--cGreen)"}}),this._v(" "),e("i",{staticClass:"button-icon icon-star",staticStyle:{color:"var(--cOrange)"}}),this._v(" "),e("i",{staticClass:"button-icon icon-cancel",staticStyle:{color:"var(--cRed)"}})])}],!1,Se,null,null).exports;function je(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,a)}return s}function Ee(t){for(var e=1;ece.a)return t(e+"future_version_imported")+" "+t(i?e+"snapshot_missing":e+"snapshot_present");if(nce.a)return t(e+"fe_downgraded")+" "+t(i?e+"migration_snapshot_ok":e+"migration_snapshot_gone");if(n=4.5,aaa:s>=7,laa:s>=3,laaa:s>=4.5},t},{})}catch(t){console.warn("Failure computing contrasts",t)}},previewRules:function(){return this.preview.rules?[].concat(z()(Object.values(this.preview.rules)),["color: var(--text)","font-family: var(--interfaceFont, sans-serif)"]).join(";"):""},shadowsAvailable:function(){return Object.keys(re.a).sort()},currentShadowOverriden:{get:function(){return!!this.currentShadow},set:function(t){t?Object(q.set)(this.shadowsLocal,this.shadowSelected,this.currentShadowFallback.map(function(t){return Object.assign({},t)})):Object(q.delete)(this.shadowsLocal,this.shadowSelected)}},currentShadowFallback:function(){return(this.previewTheme.shadows||{})[this.shadowSelected]},currentShadow:{get:function(){return this.shadowsLocal[this.shadowSelected]},set:function(t){Object(q.set)(this.shadowsLocal,this.shadowSelected,t)}},themeValid:function(){return!this.shadowsInvalid&&!this.colorsInvalid&&!this.radiiInvalid},exportedTheme:function(){var t=!(this.keepFonts||this.keepShadows||this.keepOpacity||this.keepRoundness||this.keepColor),e={themeEngineVersion:ce.a};return(this.keepFonts||t)&&(e.fonts=this.fontsLocal),(this.keepShadows||t)&&(e.shadows=this.shadowsLocal),(this.keepOpacity||t)&&(e.opacity=this.currentOpacity),(this.keepColor||t)&&(e.colors=this.currentColors),(this.keepRoundness||t)&&(e.radii=this.currentRadii),{_pleroma_theme_version:2,theme:Ee({themeEngineVersion:ce.a},this.previewTheme),source:e}}},components:{ColorInput:pe,OpacityInput:he,RangeInput:me,ContrastRatio:Le,ShadowControl:we,FontControl:ke,TabSwitcher:a.a,Preview:Ie,ExportImport:Pe,Checkbox:d.a},methods:{loadTheme:function(t,e){var s=t.theme,a=t.source,n=t._pleroma_theme_version,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.dismissWarning(),!a&&!s)throw new Error("Can't load theme: empty");var i="localStorage"!==e||s.colors?n:"l1",r=(s||{}).themeEngineVersion,l=(a||{}).themeEngineVersion||2,c=l===ce.a,u=void 0!==s&&void 0!==a&&l!==r,d=a&&o||!s;c&&!u||d||"l1"===i||"defaults"===e||(u&&"localStorage"===e?this.themeWarning={origin:e,themeEngineVersion:l,type:"snapshot_source_mismatch"}:s?c||(this.themeWarning={origin:e,noActionsPossible:!a,themeEngineVersion:l,type:"wrong_version"}):this.themeWarning={origin:e,noActionsPossible:!0,themeEngineVersion:l,type:"no_snapshot_old_version"}),this.normalizeLocalState(s,i,a,d)},forceLoadLocalStorage:function(){this.loadThemeFromLocalStorage(!0)},dismissWarning:function(){this.themeWarning=void 0,this.tempImportFile=void 0},forceLoad:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!0);break;case"file":this.onImport(this.tempImportFile,!0)}this.dismissWarning()},forceSnapshot:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!1,!0);break;case"file":console.err("Forcing snapshout from file is not supported yet")}this.dismissWarning()},loadThemeFromLocalStorage:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=this.$store.getters.mergedConfig,a=s.customTheme,n=s.customThemeSource;a||n?this.loadTheme({theme:a,source:e?a:n},"localStorage",t):this.loadTheme(this.$store.state.instance.themeData,"defaults",t)},setCustomTheme:function(){this.$store.dispatch("setOption",{name:"customTheme",value:Ee({themeEngineVersion:ce.a},this.previewTheme)}),this.$store.dispatch("setOption",{name:"customThemeSource",value:{themeEngineVersion:ce.a,shadows:this.shadowsLocal,fonts:this.fontsLocal,opacity:this.currentOpacity,colors:this.currentColors,radii:this.currentRadii}})},updatePreviewColorsAndShadows:function(){this.previewColors=Object(re.e)({opacity:this.currentOpacity,colors:this.currentColors}),this.previewShadows=Object(re.h)({shadows:this.shadowsLocal,opacity:this.previewTheme.opacity,themeEngineVersion:this.engineVersion},this.previewColors.theme.colors,this.previewColors.mod)},onImport:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.tempImportFile=t,this.loadTheme(t,"file",e)},importValidator:function(t){var e=t._pleroma_theme_version;return e>=1||e<=2},clearAll:function(){this.loadThemeFromLocalStorage()},clearV1:function(){var t=this;Object.keys(this.$data).filter(function(t){return t.endsWith("ColorLocal")||t.endsWith("OpacityLocal")}).filter(function(t){return!Re.includes(t)}).forEach(function(e){Object(q.set)(t.$data,e,void 0)})},clearRoundness:function(){var t=this;Object.keys(this.$data).filter(function(t){return t.endsWith("RadiusLocal")}).forEach(function(e){Object(q.set)(t.$data,e,void 0)})},clearOpacity:function(){var t=this;Object.keys(this.$data).filter(function(t){return t.endsWith("OpacityLocal")}).forEach(function(e){Object(q.set)(t.$data,e,void 0)})},clearShadows:function(){this.shadowsLocal={}},clearFonts:function(){this.fontsLocal={}},normalizeLocalState:function(t){var e,s=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];void 0!==n&&(o||n.themeEngineVersion===ce.a)?(e=n,a=n.themeEngineVersion):e=t;var i=e.radii||e,r=e.opacity,l=e.shadows||{},c=e.fonts||{},u=e.themeEngineVersion?e.colors||e:Object(re.c)(e.colors||e);if(0===a&&(e.version&&(a=e.version),void 0===u.text&&void 0!==u.fg&&(a=1),void 0!==u.text&&void 0!==u.fg&&(a=2)),this.engineVersion=a,1===a&&(this.fgColorLocal=Object(ie.i)(u.btn),this.textColorLocal=Object(ie.i)(u.fg)),!this.keepColor){this.clearV1();var d=new Set(1!==a?Object.keys(le.c):[]);1!==a&&"l1"!==a||d.add("bg").add("link").add("cRed").add("cBlue").add("cGreen").add("cOrange"),d.forEach(function(t){var e=u[t],a=Object(ie.i)(u[t]);s[t+"ColorLocal"]="#aN"===a?e:a})}r&&!this.keepOpacity&&(this.clearOpacity(),Object.entries(r).forEach(function(t){var e=D()(t,2),a=e[0],n=e[1];null==n||Number.isNaN(n)||(s[a+"OpacityLocal"]=n)})),this.keepRoundness||(this.clearRoundness(),Object.entries(i).forEach(function(t){var e=D()(t,2),a=e[0],n=e[1],o=a.endsWith("Radius")?a.split("Radius")[0]:a;s[o+"RadiusLocal"]=n})),this.keepShadows||(this.clearShadows(),this.shadowsLocal=2===a?Object(re.m)(l,this.previewTheme.opacity):l,this.shadowSelected=this.shadowsAvailable[0]),this.keepFonts||(this.clearFonts(),this.fontsLocal=c)}},watch:{currentRadii:function(){try{this.previewRadii=Object(re.g)({radii:this.currentRadii}),this.radiiInvalid=!1}catch(t){this.radiiInvalid=!0,console.warn(t)}},shadowsLocal:{handler:function(){if(1!==Object.getOwnPropertyNames(this.previewColors).length)try{this.updatePreviewColorsAndShadows(),this.shadowsInvalid=!1}catch(t){this.shadowsInvalid=!0,console.warn(t)}},deep:!0},fontsLocal:{handler:function(){try{this.previewFonts=Object(re.f)({fonts:this.fontsLocal}),this.fontsInvalid=!1}catch(t){this.fontsInvalid=!0,console.warn(t)}},deep:!0},currentColors:function(){try{this.updatePreviewColorsAndShadows(),this.colorsInvalid=!1,this.shadowsInvalid=!1}catch(t){this.colorsInvalid=!0,this.shadowsInvalid=!0,console.warn(t)}},currentOpacity:function(){try{this.updatePreviewColorsAndShadows()}catch(t){console.warn(t)}},selected:function(){this.dismissWarning(),1===this.selectedVersion?(this.keepRoundness||this.clearRoundness(),this.keepShadows||this.clearShadows(),this.keepOpacity||this.clearOpacity(),this.keepColor||(this.clearV1(),this.bgColorLocal=this.selected[1],this.fgColorLocal=this.selected[2],this.textColorLocal=this.selected[3],this.linkColorLocal=this.selected[4],this.cRedColorLocal=this.selected[5],this.cGreenColorLocal=this.selected[6],this.cBlueColorLocal=this.selected[7],this.cOrangeColorLocal=this.selected[8])):this.selectedVersion>=2&&this.normalizeLocalState(this.selected.theme,2,this.selected.source)}}};var Fe=function(t){s(617)},Ue=Object(o.a)(Be,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"theme-tab"},[s("div",{staticClass:"presets-container"},[s("div",{staticClass:"save-load"},[t.themeWarning?s("div",{staticClass:"theme-warning"},[s("div",{staticClass:"alert warning"},[t._v("\n "+t._s(t.themeWarningHelp)+"\n ")]),t._v(" "),s("div",{staticClass:"buttons"},["snapshot_source_mismatch"===t.themeWarning.type?[s("button",{staticClass:"btn",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_source"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.forceSnapshot}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_snapshot"))+"\n ")])]:t.themeWarning.noActionsPossible?[s("button",{staticClass:"btn",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("general.dismiss"))+"\n ")])]:[s("button",{staticClass:"btn",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.load_theme"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_as_is"))+"\n ")])]],2)]):t._e(),t._v(" "),s("ExportImport",{attrs:{"export-object":t.exportedTheme,"export-label":t.$t("settings.export_theme"),"import-label":t.$t("settings.import_theme"),"import-failed-text":t.$t("settings.invalid_theme_imported"),"on-import":t.onImport,validator:t.importValidator}},[s("template",{slot:"before"},[s("div",{staticClass:"presets"},[t._v("\n "+t._s(t.$t("settings.presets"))+"\n "),s("label",{staticClass:"select",attrs:{for:"preset-switcher"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.selected,expression:"selected"}],staticClass:"preset-switcher",attrs:{id:"preset-switcher"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.selected=e.target.multiple?s:s[0]}}},t._l(t.availableStyles,function(e){return s("option",{key:e.name,style:{backgroundColor:e[1]||(e.theme||e.source).colors.bg,color:e[3]||(e.theme||e.source).colors.text},domProps:{value:e}},[t._v("\n "+t._s(e[0]||e.name)+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})])])])],2)],1),t._v(" "),s("div",{staticClass:"save-load-options"},[s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepColor,callback:function(e){t.keepColor=e},expression:"keepColor"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_color"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepShadows,callback:function(e){t.keepShadows=e},expression:"keepShadows"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_shadows"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepOpacity,callback:function(e){t.keepOpacity=e},expression:"keepOpacity"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_opacity"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepRoundness,callback:function(e){t.keepRoundness=e},expression:"keepRoundness"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_roundness"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepFonts,callback:function(e){t.keepFonts=e},expression:"keepFonts"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_fonts"))+"\n ")])],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.switcher.save_load_hint")))])])]),t._v(" "),s("preview",{style:t.previewRules}),t._v(" "),s("keep-alive",[s("tab-switcher",{key:"style-tweak"},[s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.common_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("div",{staticClass:"tab-header-buttons"},[s("button",{staticClass:"btn",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_1")))]),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.main")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"bgColor",label:t.$t("settings.background")},model:{value:t.bgColorLocal,callback:function(e){t.bgColorLocal=e},expression:"bgColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"bgOpacity",fallback:t.previewTheme.opacity.bg},model:{value:t.bgOpacityLocal,callback:function(e){t.bgOpacityLocal=e},expression:"bgOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"textColor",label:t.$t("settings.text")},model:{value:t.textColorLocal,callback:function(e){t.textColorLocal=e},expression:"textColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgText}}),t._v(" "),s("ColorInput",{attrs:{name:"accentColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.accent"),"show-optional-tickbox":void 0!==t.linkColorLocal},model:{value:t.accentColorLocal,callback:function(e){t.accentColorLocal=e},expression:"accentColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"linkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links"),"show-optional-tickbox":void 0!==t.accentColorLocal},model:{value:t.linkColorLocal,callback:function(e){t.linkColorLocal=e},expression:"linkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"fgColor",label:t.$t("settings.foreground")},model:{value:t.fgColorLocal,callback:function(e){t.fgColorLocal=e},expression:"fgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgTextColor",label:t.$t("settings.text"),fallback:t.previewTheme.colors.fgText},model:{value:t.fgTextColorLocal,callback:function(e){t.fgTextColorLocal=e},expression:"fgTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgLinkColor",label:t.$t("settings.links"),fallback:t.previewTheme.colors.fgLink},model:{value:t.fgLinkColorLocal,callback:function(e){t.fgLinkColorLocal=e},expression:"fgLinkColorLocal"}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.common_colors.foreground_hint")))])],1),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.rgbo")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cRedColor",label:t.$t("settings.cRed")},model:{value:t.cRedColorLocal,callback:function(e){t.cRedColorLocal=e},expression:"cRedColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCRed}}),t._v(" "),s("ColorInput",{attrs:{name:"cBlueColor",label:t.$t("settings.cBlue")},model:{value:t.cBlueColorLocal,callback:function(e){t.cBlueColorLocal=e},expression:"cBlueColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCBlue}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cGreenColor",label:t.$t("settings.cGreen")},model:{value:t.cGreenColorLocal,callback:function(e){t.cGreenColorLocal=e},expression:"cGreenColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCGreen}}),t._v(" "),s("ColorInput",{attrs:{name:"cOrangeColor",label:t.$t("settings.cOrange")},model:{value:t.cOrangeColorLocal,callback:function(e){t.cOrangeColorLocal=e},expression:"cOrangeColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCOrange}})],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_2")))])]),t._v(" "),s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.advanced_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.post")))]),t._v(" "),s("ColorInput",{attrs:{name:"postLinkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links")},model:{value:t.postLinkColorLocal,callback:function(e){t.postLinkColorLocal=e},expression:"postLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postLink}}),t._v(" "),s("ColorInput",{attrs:{name:"postGreentextColor",fallback:t.previewTheme.colors.cGreen,label:t.$t("settings.greentext")},model:{value:t.postGreentextColorLocal,callback:function(e){t.postGreentextColorLocal=e},expression:"postGreentextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postGreentext}}),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.alert")))]),t._v(" "),s("ColorInput",{attrs:{name:"alertError",label:t.$t("settings.style.advanced_colors.alert_error"),fallback:t.previewTheme.colors.alertError},model:{value:t.alertErrorColorLocal,callback:function(e){t.alertErrorColorLocal=e},expression:"alertErrorColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertErrorText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertErrorText},model:{value:t.alertErrorTextColorLocal,callback:function(e){t.alertErrorTextColorLocal=e},expression:"alertErrorTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertErrorText,large:"true"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarning",label:t.$t("settings.style.advanced_colors.alert_warning"),fallback:t.previewTheme.colors.alertWarning},model:{value:t.alertWarningColorLocal,callback:function(e){t.alertWarningColorLocal=e},expression:"alertWarningColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarningText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertWarningText},model:{value:t.alertWarningTextColorLocal,callback:function(e){t.alertWarningTextColorLocal=e},expression:"alertWarningTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertWarningText,large:"true"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutral",label:t.$t("settings.style.advanced_colors.alert_neutral"),fallback:t.previewTheme.colors.alertNeutral},model:{value:t.alertNeutralColorLocal,callback:function(e){t.alertNeutralColorLocal=e},expression:"alertNeutralColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutralText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertNeutralText},model:{value:t.alertNeutralTextColorLocal,callback:function(e){t.alertNeutralTextColorLocal=e},expression:"alertNeutralTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertNeutralText,large:"true"}}),t._v(" "),s("OpacityInput",{attrs:{name:"alertOpacity",fallback:t.previewTheme.opacity.alert},model:{value:t.alertOpacityLocal,callback:function(e){t.alertOpacityLocal=e},expression:"alertOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.badge")))]),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotification",label:t.$t("settings.style.advanced_colors.badge_notification"),fallback:t.previewTheme.colors.badgeNotification},model:{value:t.badgeNotificationColorLocal,callback:function(e){t.badgeNotificationColorLocal=e},expression:"badgeNotificationColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotificationText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.badgeNotificationText},model:{value:t.badgeNotificationTextColorLocal,callback:function(e){t.badgeNotificationTextColorLocal=e},expression:"badgeNotificationTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.badgeNotificationText,large:"true"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.panel_header")))]),t._v(" "),s("ColorInput",{attrs:{name:"panelColor",fallback:t.previewTheme.colors.panel,label:t.$t("settings.background")},model:{value:t.panelColorLocal,callback:function(e){t.panelColorLocal=e},expression:"panelColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"panelOpacity",fallback:t.previewTheme.opacity.panel,disabled:"transparent"===t.panelColorLocal},model:{value:t.panelOpacityLocal,callback:function(e){t.panelOpacityLocal=e},expression:"panelOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelTextColor",fallback:t.previewTheme.colors.panelText,label:t.$t("settings.text")},model:{value:t.panelTextColorLocal,callback:function(e){t.panelTextColorLocal=e},expression:"panelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelText,large:"true"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelLinkColor",fallback:t.previewTheme.colors.panelLink,label:t.$t("settings.links")},model:{value:t.panelLinkColorLocal,callback:function(e){t.panelLinkColorLocal=e},expression:"panelLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelLink,large:"true"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.top_bar")))]),t._v(" "),s("ColorInput",{attrs:{name:"topBarColor",fallback:t.previewTheme.colors.topBar,label:t.$t("settings.background")},model:{value:t.topBarColorLocal,callback:function(e){t.topBarColorLocal=e},expression:"topBarColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarTextColor",fallback:t.previewTheme.colors.topBarText,label:t.$t("settings.text")},model:{value:t.topBarTextColorLocal,callback:function(e){t.topBarTextColorLocal=e},expression:"topBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarText}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarLinkColor",fallback:t.previewTheme.colors.topBarLink,label:t.$t("settings.links")},model:{value:t.topBarLinkColorLocal,callback:function(e){t.topBarLinkColorLocal=e},expression:"topBarLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.inputs")))]),t._v(" "),s("ColorInput",{attrs:{name:"inputColor",fallback:t.previewTheme.colors.input,label:t.$t("settings.background")},model:{value:t.inputColorLocal,callback:function(e){t.inputColorLocal=e},expression:"inputColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"inputOpacity",fallback:t.previewTheme.opacity.input,disabled:"transparent"===t.inputColorLocal},model:{value:t.inputOpacityLocal,callback:function(e){t.inputOpacityLocal=e},expression:"inputOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"inputTextColor",fallback:t.previewTheme.colors.inputText,label:t.$t("settings.text")},model:{value:t.inputTextColorLocal,callback:function(e){t.inputTextColorLocal=e},expression:"inputTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.inputText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.buttons")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnColor",fallback:t.previewTheme.colors.btn,label:t.$t("settings.background")},model:{value:t.btnColorLocal,callback:function(e){t.btnColorLocal=e},expression:"btnColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"btnOpacity",fallback:t.previewTheme.opacity.btn,disabled:"transparent"===t.btnColorLocal},model:{value:t.btnOpacityLocal,callback:function(e){t.btnOpacityLocal=e},expression:"btnOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTextColor",fallback:t.previewTheme.colors.btnText,label:t.$t("settings.text")},model:{value:t.btnTextColorLocal,callback:function(e){t.btnTextColorLocal=e},expression:"btnTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPanelTextColor",fallback:t.previewTheme.colors.btnPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPanelTextColorLocal,callback:function(e){t.btnPanelTextColorLocal=e},expression:"btnPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTopBarTextColor",fallback:t.previewTheme.colors.btnTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnTopBarTextColorLocal,callback:function(e){t.btnTopBarTextColorLocal=e},expression:"btnTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.pressed")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedColor",fallback:t.previewTheme.colors.btnPressed,label:t.$t("settings.background")},model:{value:t.btnPressedColorLocal,callback:function(e){t.btnPressedColorLocal=e},expression:"btnPressedColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTextColor",fallback:t.previewTheme.colors.btnPressedText,label:t.$t("settings.text")},model:{value:t.btnPressedTextColorLocal,callback:function(e){t.btnPressedTextColorLocal=e},expression:"btnPressedTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedPanelTextColor",fallback:t.previewTheme.colors.btnPressedPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPressedPanelTextColorLocal,callback:function(e){t.btnPressedPanelTextColorLocal=e},expression:"btnPressedPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTopBarTextColor",fallback:t.previewTheme.colors.btnPressedTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnPressedTopBarTextColorLocal,callback:function(e){t.btnPressedTopBarTextColorLocal=e},expression:"btnPressedTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.disabled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledColor",fallback:t.previewTheme.colors.btnDisabled,label:t.$t("settings.background")},model:{value:t.btnDisabledColorLocal,callback:function(e){t.btnDisabledColorLocal=e},expression:"btnDisabledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTextColor",fallback:t.previewTheme.colors.btnDisabledText,label:t.$t("settings.text")},model:{value:t.btnDisabledTextColorLocal,callback:function(e){t.btnDisabledTextColorLocal=e},expression:"btnDisabledTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledPanelTextColor",fallback:t.previewTheme.colors.btnDisabledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnDisabledPanelTextColorLocal,callback:function(e){t.btnDisabledPanelTextColorLocal=e},expression:"btnDisabledPanelTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTopBarTextColor",fallback:t.previewTheme.colors.btnDisabledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnDisabledTopBarTextColorLocal,callback:function(e){t.btnDisabledTopBarTextColorLocal=e},expression:"btnDisabledTopBarTextColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.toggled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledColor",fallback:t.previewTheme.colors.btnToggled,label:t.$t("settings.background")},model:{value:t.btnToggledColorLocal,callback:function(e){t.btnToggledColorLocal=e},expression:"btnToggledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTextColor",fallback:t.previewTheme.colors.btnToggledText,label:t.$t("settings.text")},model:{value:t.btnToggledTextColorLocal,callback:function(e){t.btnToggledTextColorLocal=e},expression:"btnToggledTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledPanelTextColor",fallback:t.previewTheme.colors.btnToggledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnToggledPanelTextColorLocal,callback:function(e){t.btnToggledPanelTextColorLocal=e},expression:"btnToggledPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTopBarTextColor",fallback:t.previewTheme.colors.btnToggledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnToggledTopBarTextColorLocal,callback:function(e){t.btnToggledTopBarTextColorLocal=e},expression:"btnToggledTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledTopBarText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.tabs")))]),t._v(" "),s("ColorInput",{attrs:{name:"tabColor",fallback:t.previewTheme.colors.tab,label:t.$t("settings.background")},model:{value:t.tabColorLocal,callback:function(e){t.tabColorLocal=e},expression:"tabColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"tabTextColor",fallback:t.previewTheme.colors.tabText,label:t.$t("settings.text")},model:{value:t.tabTextColorLocal,callback:function(e){t.tabTextColorLocal=e},expression:"tabTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabText}}),t._v(" "),s("ColorInput",{attrs:{name:"tabActiveTextColor",fallback:t.previewTheme.colors.tabActiveText,label:t.$t("settings.text")},model:{value:t.tabActiveTextColorLocal,callback:function(e){t.tabActiveTextColorLocal=e},expression:"tabActiveTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabActiveText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.borders")))]),t._v(" "),s("ColorInput",{attrs:{name:"borderColor",fallback:t.previewTheme.colors.border,label:t.$t("settings.style.common.color")},model:{value:t.borderColorLocal,callback:function(e){t.borderColorLocal=e},expression:"borderColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"borderOpacity",fallback:t.previewTheme.opacity.border,disabled:"transparent"===t.borderColorLocal},model:{value:t.borderOpacityLocal,callback:function(e){t.borderOpacityLocal=e},expression:"borderOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.faint_text")))]),t._v(" "),s("ColorInput",{attrs:{name:"faintColor",fallback:t.previewTheme.colors.faint,label:t.$t("settings.text")},model:{value:t.faintColorLocal,callback:function(e){t.faintColorLocal=e},expression:"faintColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"faintLinkColor",fallback:t.previewTheme.colors.faintLink,label:t.$t("settings.links")},model:{value:t.faintLinkColorLocal,callback:function(e){t.faintLinkColorLocal=e},expression:"faintLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelFaintColor",fallback:t.previewTheme.colors.panelFaint,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.panelFaintColorLocal,callback:function(e){t.panelFaintColorLocal=e},expression:"panelFaintColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"faintOpacity",fallback:t.previewTheme.opacity.faint},model:{value:t.faintOpacityLocal,callback:function(e){t.faintOpacityLocal=e},expression:"faintOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.underlay")))]),t._v(" "),s("ColorInput",{attrs:{name:"underlay",label:t.$t("settings.style.advanced_colors.underlay"),fallback:t.previewTheme.colors.underlay},model:{value:t.underlayColorLocal,callback:function(e){t.underlayColorLocal=e},expression:"underlayColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"underlayOpacity",fallback:t.previewTheme.opacity.underlay,disabled:"transparent"===t.underlayOpacityLocal},model:{value:t.underlayOpacityLocal,callback:function(e){t.underlayOpacityLocal=e},expression:"underlayOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.poll")))]),t._v(" "),s("ColorInput",{attrs:{name:"poll",label:t.$t("settings.background"),fallback:t.previewTheme.colors.poll},model:{value:t.pollColorLocal,callback:function(e){t.pollColorLocal=e},expression:"pollColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"pollText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.pollText},model:{value:t.pollTextColorLocal,callback:function(e){t.pollTextColorLocal=e},expression:"pollTextColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.icons")))]),t._v(" "),s("ColorInput",{attrs:{name:"icon",label:t.$t("settings.style.advanced_colors.icons"),fallback:t.previewTheme.colors.icon},model:{value:t.iconColorLocal,callback:function(e){t.iconColorLocal=e},expression:"iconColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.highlight")))]),t._v(" "),s("ColorInput",{attrs:{name:"highlight",label:t.$t("settings.background"),fallback:t.previewTheme.colors.highlight},model:{value:t.highlightColorLocal,callback:function(e){t.highlightColorLocal=e},expression:"highlightColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.highlightText},model:{value:t.highlightTextColorLocal,callback:function(e){t.highlightTextColorLocal=e},expression:"highlightTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightText}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.highlightLink},model:{value:t.highlightLinkColorLocal,callback:function(e){t.highlightLinkColorLocal=e},expression:"highlightLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.popover")))]),t._v(" "),s("ColorInput",{attrs:{name:"popover",label:t.$t("settings.background"),fallback:t.previewTheme.colors.popover},model:{value:t.popoverColorLocal,callback:function(e){t.popoverColorLocal=e},expression:"popoverColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"popoverOpacity",fallback:t.previewTheme.opacity.popover,disabled:"transparent"===t.popoverOpacityLocal},model:{value:t.popoverOpacityLocal,callback:function(e){t.popoverOpacityLocal=e},expression:"popoverOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.popoverText},model:{value:t.popoverTextColorLocal,callback:function(e){t.popoverTextColorLocal=e},expression:"popoverTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverText}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.popoverLink},model:{value:t.popoverLinkColorLocal,callback:function(e){t.popoverLinkColorLocal=e},expression:"popoverLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedPost")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedPost",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedPost},model:{value:t.selectedPostColorLocal,callback:function(e){t.selectedPostColorLocal=e},expression:"selectedPostColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedPostText},model:{value:t.selectedPostTextColorLocal,callback:function(e){t.selectedPostTextColorLocal=e},expression:"selectedPostTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedPostLink},model:{value:t.selectedPostLinkColorLocal,callback:function(e){t.selectedPostLinkColorLocal=e},expression:"selectedPostLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedMenu")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenu",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedMenu},model:{value:t.selectedMenuColorLocal,callback:function(e){t.selectedMenuColorLocal=e},expression:"selectedMenuColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedMenuText},model:{value:t.selectedMenuTextColorLocal,callback:function(e){t.selectedMenuTextColorLocal=e},expression:"selectedMenuTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedMenuLink},model:{value:t.selectedMenuLinkColorLocal,callback:function(e){t.selectedMenuLinkColorLocal=e},expression:"selectedMenuLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("chats.chats")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatBgColor",fallback:t.previewTheme.colors.bg||1,label:t.$t("settings.background")},model:{value:t.chatBgColorLocal,callback:function(e){t.chatBgColorLocal=e},expression:"chatBgColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.chat.incoming")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingBgColor",fallback:t.previewTheme.colors.bg||1,label:t.$t("settings.background")},model:{value:t.chatMessageIncomingBgColorLocal,callback:function(e){t.chatMessageIncomingBgColorLocal=e},expression:"chatMessageIncomingBgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingTextColor",fallback:t.previewTheme.colors.text||1,label:t.$t("settings.text")},model:{value:t.chatMessageIncomingTextColorLocal,callback:function(e){t.chatMessageIncomingTextColorLocal=e},expression:"chatMessageIncomingTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingLinkColor",fallback:t.previewTheme.colors.link||1,label:t.$t("settings.links")},model:{value:t.chatMessageIncomingLinkColorLocal,callback:function(e){t.chatMessageIncomingLinkColorLocal=e},expression:"chatMessageIncomingLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingBorderLinkColor",fallback:t.previewTheme.colors.fg||1,label:t.$t("settings.style.advanced_colors.chat.border")},model:{value:t.chatMessageIncomingBorderColorLocal,callback:function(e){t.chatMessageIncomingBorderColorLocal=e},expression:"chatMessageIncomingBorderColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.chat.outgoing")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingBgColor",fallback:t.previewTheme.colors.bg||1,label:t.$t("settings.background")},model:{value:t.chatMessageOutgoingBgColorLocal,callback:function(e){t.chatMessageOutgoingBgColorLocal=e},expression:"chatMessageOutgoingBgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingTextColor",fallback:t.previewTheme.colors.text||1,label:t.$t("settings.text")},model:{value:t.chatMessageOutgoingTextColorLocal,callback:function(e){t.chatMessageOutgoingTextColorLocal=e},expression:"chatMessageOutgoingTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingLinkColor",fallback:t.previewTheme.colors.link||1,label:t.$t("settings.links")},model:{value:t.chatMessageOutgoingLinkColorLocal,callback:function(e){t.chatMessageOutgoingLinkColorLocal=e},expression:"chatMessageOutgoingLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingBorderLinkColor",fallback:t.previewTheme.colors.bg||1,label:t.$t("settings.style.advanced_colors.chat.border")},model:{value:t.chatMessageOutgoingBorderColorLocal,callback:function(e){t.chatMessageOutgoingBorderColorLocal=e},expression:"chatMessageOutgoingBorderColorLocal"}})],1)]),t._v(" "),s("div",{staticClass:"radius-container",attrs:{label:t.$t("settings.style.radii._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.radii_help")))]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearRoundness}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("RangeInput",{attrs:{name:"btnRadius",label:t.$t("settings.btnRadius"),fallback:t.previewTheme.radii.btn,max:"16","hard-min":"0"},model:{value:t.btnRadiusLocal,callback:function(e){t.btnRadiusLocal=e},expression:"btnRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"inputRadius",label:t.$t("settings.inputRadius"),fallback:t.previewTheme.radii.input,max:"9","hard-min":"0"},model:{value:t.inputRadiusLocal,callback:function(e){t.inputRadiusLocal=e},expression:"inputRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"checkboxRadius",label:t.$t("settings.checkboxRadius"),fallback:t.previewTheme.radii.checkbox,max:"16","hard-min":"0"},model:{value:t.checkboxRadiusLocal,callback:function(e){t.checkboxRadiusLocal=e},expression:"checkboxRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"panelRadius",label:t.$t("settings.panelRadius"),fallback:t.previewTheme.radii.panel,max:"50","hard-min":"0"},model:{value:t.panelRadiusLocal,callback:function(e){t.panelRadiusLocal=e},expression:"panelRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarRadius",label:t.$t("settings.avatarRadius"),fallback:t.previewTheme.radii.avatar,max:"28","hard-min":"0"},model:{value:t.avatarRadiusLocal,callback:function(e){t.avatarRadiusLocal=e},expression:"avatarRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarAltRadius",label:t.$t("settings.avatarAltRadius"),fallback:t.previewTheme.radii.avatarAlt,max:"28","hard-min":"0"},model:{value:t.avatarAltRadiusLocal,callback:function(e){t.avatarAltRadiusLocal=e},expression:"avatarAltRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"attachmentRadius",label:t.$t("settings.attachmentRadius"),fallback:t.previewTheme.radii.attachment,max:"50","hard-min":"0"},model:{value:t.attachmentRadiusLocal,callback:function(e){t.attachmentRadiusLocal=e},expression:"attachmentRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"tooltipRadius",label:t.$t("settings.tooltipRadius"),fallback:t.previewTheme.radii.tooltip,max:"50","hard-min":"0"},model:{value:t.tooltipRadiusLocal,callback:function(e){t.tooltipRadiusLocal=e},expression:"tooltipRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"chatMessageRadius",label:t.$t("settings.chatMessageRadius"),fallback:t.previewTheme.radii.chatMessage||2,max:"50","hard-min":"0"},model:{value:t.chatMessageRadiusLocal,callback:function(e){t.chatMessageRadiusLocal=e},expression:"chatMessageRadiusLocal"}})],1),t._v(" "),s("div",{staticClass:"shadow-container",attrs:{label:t.$t("settings.style.shadows._tab_label")}},[s("div",{staticClass:"tab-header shadow-selector"},[s("div",{staticClass:"select-container"},[t._v("\n "+t._s(t.$t("settings.style.shadows.component"))+"\n "),s("label",{staticClass:"select",attrs:{for:"shadow-switcher"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.shadowSelected,expression:"shadowSelected"}],staticClass:"shadow-switcher",attrs:{id:"shadow-switcher"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.shadowSelected=e.target.multiple?s:s[0]}}},t._l(t.shadowsAvailable,function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s(t.$t("settings.style.shadows.components."+e))+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})])]),t._v(" "),s("div",{staticClass:"override"},[s("label",{staticClass:"label",attrs:{for:"override"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.override"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentShadowOverriden,expression:"currentShadowOverriden"}],staticClass:"input-override",attrs:{id:"override",name:"override",type:"checkbox"},domProps:{checked:Array.isArray(t.currentShadowOverriden)?t._i(t.currentShadowOverriden,null)>-1:t.currentShadowOverriden},on:{change:function(e){var s=t.currentShadowOverriden,a=e.target,n=!!a.checked;if(Array.isArray(s)){var o=t._i(s,null);a.checked?o<0&&(t.currentShadowOverriden=s.concat([null])):o>-1&&(t.currentShadowOverriden=s.slice(0,o).concat(s.slice(o+1)))}else t.currentShadowOverriden=n}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"override"}})]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearShadows}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("ShadowControl",{attrs:{ready:!!t.currentShadowFallback,fallback:t.currentShadowFallback},model:{value:t.currentShadow,callback:function(e){t.currentShadow=e},expression:"currentShadow"}}),t._v(" "),"avatar"===t.shadowSelected||"avatarStatus"===t.shadowSelected?s("div",[s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.always_drop_shadow",tag:"p"}},[s("code",[t._v("filter: drop-shadow()")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.avatar_inset")))]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.drop_shadow_syntax",tag:"p"}},[s("code",[t._v("drop-shadow")]),t._v(" "),s("code",[t._v("spread-radius")]),t._v(" "),s("code",[t._v("inset")])]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.inset_classic",tag:"p"}},[s("code",[t._v("box-shadow")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.spread_zero")))])],1):t._e()],1),t._v(" "),s("div",{staticClass:"fonts-container",attrs:{label:t.$t("settings.style.fonts._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.style.fonts.help")))]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearFonts}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("FontControl",{attrs:{name:"ui",label:t.$t("settings.style.fonts.components.interface"),fallback:t.previewTheme.fonts.interface,"no-inherit":"1"},model:{value:t.fontsLocal.interface,callback:function(e){t.$set(t.fontsLocal,"interface",e)},expression:"fontsLocal.interface"}}),t._v(" "),s("FontControl",{attrs:{name:"input",label:t.$t("settings.style.fonts.components.input"),fallback:t.previewTheme.fonts.input},model:{value:t.fontsLocal.input,callback:function(e){t.$set(t.fontsLocal,"input",e)},expression:"fontsLocal.input"}}),t._v(" "),s("FontControl",{attrs:{name:"post",label:t.$t("settings.style.fonts.components.post"),fallback:t.previewTheme.fonts.post},model:{value:t.fontsLocal.post,callback:function(e){t.$set(t.fontsLocal,"post",e)},expression:"fontsLocal.post"}}),t._v(" "),s("FontControl",{attrs:{name:"postCode",label:t.$t("settings.style.fonts.components.postCode"),fallback:t.previewTheme.fonts.postCode},model:{value:t.fontsLocal.postCode,callback:function(e){t.$set(t.fontsLocal,"postCode",e)},expression:"fontsLocal.postCode"}})],1)])],1),t._v(" "),s("div",{staticClass:"apply-container"},[s("button",{staticClass:"btn submit",attrs:{disabled:!t.themeValid},on:{click:t.setCustomTheme}},[t._v("\n "+t._s(t.$t("general.apply"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearAll}},[t._v("\n "+t._s(t.$t("settings.style.switcher.reset"))+"\n ")])])],1)},[],!1,Fe,null,null).exports,Me={components:{TabSwitcher:a.a,DataImportExportTab:m,MutesAndBlocksTab:nt,NotificationsTab:it,FilteringTab:bt,SecurityTab:Et,ProfileTab:Qt,GeneralTab:ae,VersionTab:oe,ThemeTab:Ue},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser}}};var Ve=function(t){s(584)},De=Object(o.a)(Me,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("tab-switcher",{ref:"tabSwitcher",staticClass:"settings_tab-switcher",attrs:{"side-tab-bar":!0,"scrollable-tabs":!0}},[s("div",{attrs:{label:t.$t("settings.general"),icon:"wrench"}},[s("GeneralTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.profile_tab"),icon:"user"}},[s("ProfileTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.security_tab"),icon:"lock"}},[s("SecurityTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.filtering"),icon:"filter"}},[s("FilteringTab")],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.theme"),icon:"brush"}},[s("ThemeTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.notifications"),icon:"bell-ringing-o"}},[s("NotificationsTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.data_import_export_tab"),icon:"download"}},[s("DataImportExportTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.mutes_and_blocks"),fullHeight:!0,icon:"eye-off"}},[s("MutesAndBlocksTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.version.title"),icon:"info-circled"}},[s("VersionTab")],1)])},[],!1,Ve,null,null);e.default=De.exports}}]); +//# sourceMappingURL=2.d81ca020d6885c6c3b03.js.map \ No newline at end of file diff --git a/priv/static/static/js/2.d81ca020d6885c6c3b03.js.map b/priv/static/static/js/2.d81ca020d6885c6c3b03.js.map new file mode 100644 index 000000000..9a675dbc5 --- /dev/null +++ b/priv/static/static/js/2.d81ca020d6885c6c3b03.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/settings_modal/settings_modal_content.scss?d424","webpack:///./src/components/settings_modal/settings_modal_content.scss","webpack:///./src/components/importer/importer.vue?7798","webpack:///./src/components/importer/importer.vue?6af6","webpack:///./src/components/exporter/exporter.vue?dea3","webpack:///./src/components/exporter/exporter.vue?cc2b","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss?4d0c","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack:///./src/components/autosuggest/autosuggest.vue?9908","webpack:///./src/components/autosuggest/autosuggest.vue?9383","webpack:///./src/components/block_card/block_card.vue?7ad7","webpack:///./src/components/block_card/block_card.vue?ddc8","webpack:///./src/components/mute_card/mute_card.vue?c72f","webpack:///./src/components/mute_card/mute_card.vue?1268","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?a613","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?c85e","webpack:///./src/components/selectable_list/selectable_list.vue?a6e3","webpack:///./src/components/selectable_list/selectable_list.vue?c2f8","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?540b","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?cd9f","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?da3d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?57b8","webpack:///./src/components/settings_modal/tabs/profile_tab.scss?588b","webpack:///./src/components/settings_modal/tabs/profile_tab.scss","webpack:///./src/components/image_cropper/image_cropper.vue?f169","webpack:///./src/components/image_cropper/image_cropper.vue?6235","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss?080d","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack:///./src/components/color_input/color_input.scss?c457","webpack:///./src/components/color_input/color_input.scss","webpack:///./src/components/color_input/color_input.vue?6a4c","webpack:///./src/components/color_input/color_input.vue?bb22","webpack:///./src/components/shadow_control/shadow_control.vue?bfd4","webpack:///./src/components/shadow_control/shadow_control.vue?78ef","webpack:///./src/components/font_control/font_control.vue?5f33","webpack:///./src/components/font_control/font_control.vue?bef4","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a340","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?32fa","webpack:///./src/components/export_import/export_import.vue?5952","webpack:///./src/components/export_import/export_import.vue?aed6","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?1ae8","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?ab81","webpack:///./src/components/importer/importer.js","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.vue?320c","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.vue?7e42","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.js","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue?40b4","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.vue?b400","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.vue?7b44","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.vue?6bc9","webpack:///./src/components/domain_mute_card/domain_mute_card.js","webpack:///./src/components/domain_mute_card/domain_mute_card.vue","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?7cf0","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.vue?5686","webpack:///./src/hocs/with_subscription/with_subscription.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue?0687","webpack:///./src/components/settings_modal/tabs/notifications_tab.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue?a1d3","webpack:///./src/components/settings_modal/helpers/shared_computed_object.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue?3af7","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?198f","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.js","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue?da03","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue?cdbe","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?8795","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.js","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue?0d38","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.vue?017e","webpack:///./src/components/settings_modal/tabs/profile_tab.js","webpack:///./src/components/settings_modal/tabs/profile_tab.vue","webpack:///./src/components/settings_modal/tabs/profile_tab.vue?4eea","webpack:///src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue?d9d4","webpack:///./src/components/settings_modal/tabs/general_tab.js","webpack:///./src/components/settings_modal/tabs/general_tab.vue","webpack:///./src/components/settings_modal/tabs/general_tab.vue?7ba4","webpack:///./src/components/settings_modal/tabs/version_tab.js","webpack:///./src/services/version/version.service.js","webpack:///./src/components/settings_modal/tabs/version_tab.vue","webpack:///./src/components/settings_modal/tabs/version_tab.vue?7cbe","webpack:///src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue?3d5b","webpack:///./src/components/range_input/range_input.vue","webpack:///src/components/range_input/range_input.vue","webpack:///./src/components/range_input/range_input.vue?202a","webpack:///src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue?0078","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.vue?c9d6","webpack:///./src/components/font_control/font_control.js","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.vue?184b","webpack:///src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?73bf","webpack:///src/components/export_import/export_import.vue","webpack:///./src/components/export_import/export_import.vue","webpack:///./src/components/export_import/export_import.vue?9130","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?4c36","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.js","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue?0f73","webpack:///./src/components/settings_modal/settings_modal_content.js","webpack:///./src/components/settings_modal/settings_modal_content.vue","webpack:///./src/components/settings_modal/settings_modal_content.vue?116e"],"names":["content","__webpack_require__","module","i","locals","exports","add","default","push","Importer","props","submitHandler","type","Function","required","submitButtonLabel","String","this","$t","successMessage","errorMessage","data","file","error","success","submitting","methods","change","$refs","input","files","submit","_this","dismiss","then","__vue_styles__","context","importer_importer","Object","component_normalizer","importer","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","on","_v","click","_s","_e","Exporter","getContent","filename","exportButtonLabel","processingMessage","processing","process","fileToDownload","document","createElement","setAttribute","encodeURIComponent","style","display","body","appendChild","removeChild","setTimeout","exporter_vue_styles_","exporter_exporter","exporter","DataImportExportTab","activeTab","newDomainToMute","created","$store","dispatch","components","Checkbox","computed","user","state","users","currentUser","getFollowsContent","api","backendInteractor","exportFriends","id","generateExportableUsersContent","getBlocksContent","fetchBlocks","importFollows","status","Error","importBlocks","map","is_local","screen_name","location","hostname","join","tabs_data_import_export_tab","data_import_export_tab","label","submit-handler","success-message","error-message","get-content","export-button-label","autosuggest","query","filter","placeholder","term","timeout","results","resultsVisible","filtered","watch","val","fetchResults","clearTimeout","onInputClick","onClickOutside","autosuggest_vue_styles_","autosuggest_autosuggest","directives","name","rawName","value","expression","domProps","$event","target","composing","length","_l","item","_t","BlockCard","progress","getters","findUser","userId","relationship","blocked","blocking","BasicUserCard","unblockUser","blockUser","_this2","block_card_vue_styles_","block_card_block_card","block_card","disabled","MuteCard","muted","muting","unmuteUser","muteUser","mute_card_vue_styles_","mute_card_mute_card","mute_card","DomainMuteCard","ProgressButton","domainMutes","includes","domain","unmuteDomain","muteDomain","domain_mute_card_vue_styles_","domain_mute_card_domain_mute_card","domain_mute_card","slot","SelectableList","List","items","Array","getKey","selected","allKeys","filteredSelected","key","indexOf","allSelected","noneSelected","someSelected","isSelected","toggle","checked","splice","toggleAll","slice","selectable_list_vue_styles_","selectable_list_selectable_list","selectable_list","indeterminate","get-key","scopedSlots","_u","fn","class","selectable-list-item-selected-inner","withSubscription","_ref","fetch","select","_ref$childPropName","childPropName","_ref$additionalPropNa","additionalPropNames","WrappedComponent","keys","getComponentProps","v","concat","Vue","component","toConsumableArray_default","loading","fetchedData","$props","refresh","isEmpty","fetchData","render","h","_objectSpread","defineProperty_default","$listeners","$scopedSlots","children","entries","$slots","_ref2","_ref3","slicedToArray_default","helper_default","BlockList","get","MuteList","DomainMuteList","MutesAndBlocks","TabSwitcher","Autosuggest","knownDomains","instance","activateTab","tabName","filterUnblockedUsers","userIds","reject","filterUnMutedUsers","queryUserIds","blockUsers","ids","unblockUsers","muteUsers","unmuteUsers","filterUnMutedDomains","urls","_this3","url","queryKnownDomains","_this4","Promise","resolve","toLowerCase","unmuteDomains","domains","mutes_and_blocks_tab_vue_styles_","tabs_mutes_and_blocks_tab","mutes_and_blocks_tab","scrollable-tabs","row","user-id","NotificationsTab","notificationSettings","notification_settings","updateNotificationSettings","settings","tabs_notifications_tab","notifications_tab","model","callback","$$v","$set","SharedComputedObject","shared_computed_object_objectSpread","instanceDefaultProperties","multiChoiceProperties","instanceDefaultConfig","reduce","acc","_ref4","configDefaultState","mergedConfig","set","_ref5","_ref6","useStreamingApi","e","console","FilteringTab","muteWordsStringLocal","muteWords","filtering_tab_objectSpread","muteWordsString","filter_default","split","word","trim_default","notificationVisibility","handler","deep","replyVisibility","tabs_filtering_tab","filtering_tab","for","$$selectedVal","prototype","call","options","o","_value","multiple","hidePostStats","hidePostStatsLocalizedValue","hideUserStats","hideUserStatsLocalizedValue","hideFilteredStatuses","hideFilteredStatusesLocalizedValue","mfa_backup_codes","backupCodes","inProgress","codes","ready","displayTitle","mfa_backup_codes_vue_styles_","security_tab_mfa_backup_codes","code","Confirm","confirm","$emit","cancel","tabs_security_tab_confirm","security_tab_confirm","mfa_totp","currentPassword","deactivate","mfa_totp_objectSpread","isActivated","totp","mapState","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","mfaDisableOTP","password","res","Mfa","available","enabled","setupState","setupOTPState","getNewCodes","otpSettings","provisioning_uri","otpConfirmToken","readyInit","recovery-codes","RecoveryCodes","totp-item","qrcode","VueQrcode","mfa_objectSpread","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","generateMfaBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","mfaSetupOTP","doConfirmOTP","mfaConfirmOTP","token","completeSetup","fetchSettings","cancelSetup","result","regenerator_default","a","async","_context","prev","next","awrap","settingsMFA","sent","abrupt","stop","mounted","_this5","mfa_vue_styles_","security_tab_mfa","mfa","activate","backup-codes","width","SecurityTab","newEmail","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","pleromaBackend","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","Date","valid_until","toLocaleDateString","confirmDelete","deleteAccount","$router","changePassword","params","newPassword","newPasswordConfirmation","logout","changeEmail","email","replace","revokeToken","window","$i18n","t","security_tab_security_tab","security_tab","autocomplete","ImageCropper","trigger","Element","cropperOptions","aspectRatio","autoCropArea","viewMode","movable","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","cropper","undefined","dataUrl","submitError","saveText","saveWithoutCroppingText","cancelText","submitErrorMsg","toString","destroy","cropping","arguments","avatarUploadError","err","pickImage","createCropper","Cropper","img","getTriggerDOM","typeof_default","querySelector","readFile","fileInput","reader","FileReader","onload","readAsDataURL","clearError","addEventListener","beforeDestroy","removeEventListener","image_cropper_vue_styles_","image_cropper_image_cropper","image_cropper","src","alt","load","stopPropagation","textContent","accept","ProfileTab","newName","newBio","unescape","description","newLocked","locked","newNoRichText","no_rich_text","newDefaultScope","default_scope","newFields","fields","field","hideFollows","hide_follows","hideFollowers","hide_followers","hideFollowsCount","hide_follows_count","hideFollowersCount","hide_followers_count","showRole","show_role","role","discoverable","bot","allowFollowingMove","allow_following_move","pickAvatarBtnVisible","bannerUploading","backgroundUploading","banner","bannerPreview","background","backgroundPreview","bannerUploadError","backgroundUploadError","ScopeSelector","EmojiInput","emojiUserSuggestor","suggestor","emoji","customEmoji","updateUsersList","emojiSuggestor","userSuggestor","fieldsLimits","maxFields","defaultAvatar","server","defaultBanner","isDefaultAvatar","baseAvatar","profile_image_url","isDefaultBanner","baseBanner","cover_photo","isDefaultBackground","background_image","avatarImgSrc","profile_image_url_original","bannerImgSrc","updateProfile","note","display_name","fields_attributes","el","merge","commit","changeVis","visibility","addField","deleteField","index","event","$delete","uploadFile","size","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","num","filesizeunit","unit","allowedsizeunit","resetAvatar","submitAvatar","resetBanner","submitBanner","resetBackground","submitBackground","that","updateAvatar","avatar","updateProfileImages","message","getCroppedCanvas","toBlob","_this6","profile_tab_vue_styles_","tabs_profile_tab","profile_tab","enable-emoji-picker","suggest","classname","show-all","user-default","initial-scope","on-scope-change","_","hide-emoji-button","title","open","close","clearUploadError","interface_language_switcher","languageCodes","messages","languages","languageNames","map_default","getLanguageName","language","interfaceLanguage","ja","ja_easy","zh","getName","interface_language_switcher_interface_language_switcher","langCode","GeneralTab","loopSilentAvailable","getOwnPropertyDescriptor","HTMLVideoElement","HTMLMediaElement","InterfaceLanguageSwitcher","general_tab_objectSpread","postFormats","instanceSpecificPanelPresent","showInstanceSpecificPanel","tabs_general_tab","general_tab","hideISP","hideMutedPosts","hideMutedPostsLocalizedValue","collapseMessageWithSubject","collapseMessageWithSubjectLocalizedValue","streaming","pauseOnUnfocused","autoLoad","hoverPreview","emojiReactionsOnTimeline","scopeCopy","scopeCopyLocalizedValue","alwaysShowSubjectInput","alwaysShowSubjectInputLocalizedValue","subjectLineBehavior","subjectLineBehaviorDefaultValue","postContentType","postFormat","postContentTypeDefaultValue","minimalScopesMode","minimalScopesModeLocalizedValue","autohideFloatingPostButton","padEmoji","hideAttachments","hideAttachmentsInConv","modifiers","number","min","step","maxThumbnails","_n","blur","$forceUpdate","hideNsfw","preloadImage","useOneClickNsfw","stopGifs","loopVideo","loopVideoSilentOnly","playVideosInModal","useContainFit","webPushNotifications","greentext","greentextLocalizedValue","VersionTab","backendVersion","frontendVersion","frontendVersionLink","backendVersionLink","versionString","matches","match","tabs_version_tab","version_tab","href","color_input","checkbox_checkbox","fallback","Boolean","showOptionalTickbox","present","validColor","color_convert","transparentColor","computedColor","startsWith","color_input_vue_styles_","color_input_color_input","backgroundColor","range_input_range_input","max","hardMax","hardMin","opacity_input","opacity_input_opacity_input","toModel","shadow_control_objectSpread","x","y","spread","inset","color","alpha","shadow_control","selectedId","cValue","ColorInput","OpacityInput","del","Math","moveUp","moveDn","beforeUpdate","anyShadows","anyShadowsFallback","currentFallback","moveUpValid","moveDnValid","usingFallback","rgb","hex2rgb","boxShadow","getCssShadow","shadow_control_vue_styles_","shadow_control_shadow_control","__r","shadow","isArray","_i","$$a","$$el","$$c","$$i","show-optional-tickbox","path","tag","font_control","lValue","availableOptions","noInherit","dValue","family","isCustom","preset","font_control_vue_styles_","font_control_font_control","custom","option","contrast_ratio","large","contrast","hint","levelVal","aaa","aa","level","ratio","text","hint_18pt","laaa","laa","contrast_ratio_vue_styles_","contrast_ratio_contrast_ratio","export_import","importFailed","exportData","stringified","JSON","stringify","exportObject","btoa","importData","filePicker","parsed","parse","validator","onImport","readAsText","export_import_vue_styles_","export_import_export_import","exportLabel","importLabel","importFailedText","preview_vue_styles_","theme_tab_preview","staticStyle","font-family","_m","v1OnlyNames","theme_tab","theme_tab_objectSpread","availableStyles","theme","themeWarning","tempImportFile","engineVersion","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","SLOT_INHERITANCE","OPACITIES","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","chatMessageRadiusLocal","self","getThemes","promises","all","k","themes","_ref7","_ref8","themesComplete","loadThemeFromLocalStorage","shadowsAvailable","themeWarningHelp","pre","_this$themeWarning","origin","themeEngineVersion","noActionsPossible","CURRENT_VERSION","selectedVersion","currentColors","_ref9","_ref10","currentOpacity","_ref11","_ref12","currentRadii","btn","checkbox","panel","avatarAlt","tooltip","attachment","chatMessage","preview","composePreset","previewTheme","colors","opacity","radii","shadows","fonts","previewContrast","bg","colorsConverted","_ref13","_ref14","ratios","_ref15","_ref16","slotIsBaseText","textColor","_ref17","layer","variant","opacitySlot","getOpacitySlot","textColors","layers","getLayers","textColorKey","newKey","toUpperCase","getContrastRatioLayers","_ref18","_ref19","toPrecision","warn","previewRules","rules","values","DEFAULT_SHADOWS","sort","currentShadowOverriden","currentShadow","currentShadowFallback","assign","themeValid","exportedTheme","saveEverything","source","_pleroma_theme_version","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","ExportImport","loadTheme","_ref20","fileVersion","forceUseSource","dismissWarning","version","snapshotEngineVersion","versionsMatch","sourceSnapshotMismatch","forcedSourceLoad","normalizeLocalState","forceLoadLocalStorage","forceLoad","forceSnapshot","confirmLoadSource","_this$$store$getters$","customTheme","customThemeSource","themeData","setCustomTheme","updatePreviewColorsAndShadows","generateColors","generateShadows","mod","forceSource","importValidator","clearAll","clearV1","$data","endsWith","forEach","clearRoundness","clearOpacity","clearShadows","clearFonts","colors2to3","fg","fgColorLocal","rgb2hex","textColorLocal","Set","hex","_ref21","_ref22","Number","isNaN","_ref23","_ref24","shadows2to3","generateRadii","getOwnPropertyNames","generateFonts","fontsInvalid","bgColorLocal","linkColorLocal","cRedColorLocal","cGreenColorLocal","cBlueColorLocal","cOrangeColorLocal","theme_tab_vue_styles_","theme_tab_theme_tab","export-object","export-label","import-label","import-failed-text","on-import","bgOpacityLocal","bgText","link","accentColorLocal","accent","bgLink","fgText","fgTextColorLocal","fgLink","fgLinkColorLocal","bgCRed","bgCBlue","bgCGreen","bgCOrange","postLinkColorLocal","postLink","cGreen","postGreentextColorLocal","postGreentext","alertError","alertErrorColorLocal","alertErrorText","alertErrorTextColorLocal","alertWarning","alertWarningColorLocal","alertWarningText","alertWarningTextColorLocal","alertNeutral","alertNeutralColorLocal","alertNeutralText","alertNeutralTextColorLocal","alert","alertOpacityLocal","badgeNotification","badgeNotificationColorLocal","badgeNotificationText","badgeNotificationTextColorLocal","panelColorLocal","panelOpacityLocal","panelText","panelTextColorLocal","panelLink","panelLinkColorLocal","topBar","topBarColorLocal","topBarText","topBarTextColorLocal","topBarLink","topBarLinkColorLocal","inputColorLocal","inputOpacityLocal","inputText","inputTextColorLocal","btnColorLocal","btnOpacityLocal","btnText","btnTextColorLocal","btnPanelText","btnPanelTextColorLocal","btnTopBarText","btnTopBarTextColorLocal","btnPressed","btnPressedColorLocal","btnPressedText","btnPressedTextColorLocal","btnPressedPanelText","btnPressedPanelTextColorLocal","btnPressedTopBarText","btnPressedTopBarTextColorLocal","btnDisabled","btnDisabledColorLocal","btnDisabledText","btnDisabledTextColorLocal","btnDisabledPanelText","btnDisabledPanelTextColorLocal","btnDisabledTopBarText","btnDisabledTopBarTextColorLocal","btnToggled","btnToggledColorLocal","btnToggledText","btnToggledTextColorLocal","btnToggledPanelText","btnToggledPanelTextColorLocal","btnToggledTopBarText","btnToggledTopBarTextColorLocal","tab","tabColorLocal","tabText","tabTextColorLocal","tabActiveText","tabActiveTextColorLocal","border","borderColorLocal","borderOpacityLocal","faint","faintColorLocal","faintLink","faintLinkColorLocal","panelFaint","panelFaintColorLocal","faintOpacityLocal","underlay","underlayColorLocal","underlayOpacityLocal","poll","pollColorLocal","pollText","pollTextColorLocal","icon","iconColorLocal","highlight","highlightColorLocal","highlightText","highlightTextColorLocal","highlightLink","highlightLinkColorLocal","popover","popoverColorLocal","popoverOpacityLocal","popoverText","popoverTextColorLocal","popoverLink","popoverLinkColorLocal","selectedPost","selectedPostColorLocal","selectedPostText","selectedPostTextColorLocal","selectedPostLink","selectedPostLinkColorLocal","selectedMenu","selectedMenuColorLocal","selectedMenuText","selectedMenuTextColorLocal","selectedMenuLink","selectedMenuLinkColorLocal","chatBgColorLocal","chatMessageIncomingBgColorLocal","chatMessageIncomingTextColorLocal","chatMessageIncomingLinkColorLocal","chatMessageIncomingBorderColorLocal","chatMessageOutgoingBgColorLocal","chatMessageOutgoingTextColorLocal","chatMessageOutgoingLinkColorLocal","chatMessageOutgoingBorderColorLocal","hard-min","interface","no-inherit","post","postCode","SettingsModalContent","MutesAndBlocksTab","ThemeTab","isLoggedIn","settings_modal_content_vue_styles_","settings_modal_content_Component","settings_modal_content","side-tab-bar","fullHeight","__webpack_exports__"],"mappings":"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","file":"static/js/2.d81ca020d6885c6c3b03.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a \n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./color_input.scss\")\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./color_input.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-77e407b6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./color_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"color-input style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined' && _vm.showOptionalTickbox)?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"input color-input-field\"},[_c('input',{staticClass:\"textColor unstyled\",attrs:{\"id\":_vm.name + '-t',\"type\":\"text\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),(_vm.validColor)?_c('input',{staticClass:\"nativeColor unstyled\",attrs:{\"id\":_vm.name,\"type\":\"color\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}):_vm._e(),_vm._v(\" \"),(_vm.transparentColor)?_c('div',{staticClass:\"transparentIndicator\"}):_vm._e(),_vm._v(\" \"),(_vm.computedColor)?_c('div',{staticClass:\"computedIndicator\",style:({backgroundColor: _vm.fallback})}):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6a3c1a26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./range_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"range-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"range\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.max || _vm.hardMax || 100,\"min\":_vm.min || _vm.hardMin || 0,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.hardMax,\"min\":_vm.hardMin,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3b48fa39\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./opacity_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"opacity-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.common.opacity'))+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":\"1\",\"min\":\"0\",\"step\":\".05\"},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\n\nconst toModel = (object = {}) => ({\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n inset: false,\n color: '#000000',\n alpha: 1,\n ...object\n})\n\nexport default {\n // 'Value' and 'Fallback' can be undefined, but if they are\n // initially vue won't detect it when they become something else\n // therefore i'm using \"ready\" which should be passed as true when\n // data becomes available\n props: [\n 'value', 'fallback', 'ready'\n ],\n data () {\n return {\n selectedId: 0,\n // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n cValue: (this.value || this.fallback || []).map(toModel)\n }\n },\n components: {\n ColorInput,\n OpacityInput\n },\n methods: {\n add () {\n this.cValue.push(toModel(this.selected))\n this.selectedId = this.cValue.length - 1\n },\n del () {\n this.cValue.splice(this.selectedId, 1)\n this.selectedId = this.cValue.length === 0 ? undefined : Math.max(this.selectedId - 1, 0)\n },\n moveUp () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId - 1, 0, movable)\n this.selectedId -= 1\n },\n moveDn () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId + 1, 0, movable)\n this.selectedId += 1\n }\n },\n beforeUpdate () {\n this.cValue = this.value || this.fallback\n },\n computed: {\n anyShadows () {\n return this.cValue.length > 0\n },\n anyShadowsFallback () {\n return this.fallback.length > 0\n },\n selected () {\n if (this.ready && this.anyShadows) {\n return this.cValue[this.selectedId]\n } else {\n return toModel({})\n }\n },\n currentFallback () {\n if (this.ready && this.anyShadowsFallback) {\n return this.fallback[this.selectedId]\n } else {\n return toModel({})\n }\n },\n moveUpValid () {\n return this.ready && this.selectedId > 0\n },\n moveDnValid () {\n return this.ready && this.selectedId < this.cValue.length - 1\n },\n present () {\n return this.ready &&\n typeof this.cValue[this.selectedId] !== 'undefined' &&\n !this.usingFallback\n },\n usingFallback () {\n return typeof this.value === 'undefined'\n },\n rgb () {\n return hex2rgb(this.selected.color)\n },\n style () {\n return this.ready ? {\n boxShadow: getCssShadow(this.fallback)\n } : {}\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./shadow_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./shadow_control.js\"\nimport __vue_script__ from \"!!babel-loader!./shadow_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5c532734\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./shadow_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shadow-control\",class:{ disabled: !_vm.present }},[_c('div',{staticClass:\"shadow-preview-container\"},[_c('div',{staticClass:\"y-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.y)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"y\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.y)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"y\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-window\"},[_c('div',{staticClass:\"preview-block\",style:(_vm.style)})]),_vm._v(\" \"),_c('div',{staticClass:\"x-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.x)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"x\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.x)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"x\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"shadow-tweak\"},[_c('div',{staticClass:\"id-control style-control\",attrs:{\"disabled\":_vm.usingFallback}},[_c('label',{staticClass:\"select\",attrs:{\"for\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedId),expression:\"selectedId\"}],staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.cValue),function(shadow,index){return _c('option',{key:index,domProps:{\"value\":index}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.shadow_id', { value: index }))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.ready || !_vm.present},on:{\"click\":_vm.del}},[_c('i',{staticClass:\"icon-cancel\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.moveUpValid},on:{\"click\":_vm.moveUp}},[_c('i',{staticClass:\"icon-up-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.moveDnValid},on:{\"click\":_vm.moveDn}},[_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.usingFallback},on:{\"click\":_vm.add}},[_c('i',{staticClass:\"icon-plus\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"inset-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"inset\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.inset'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.inset),expression:\"selected.inset\"}],staticClass:\"input-inset\",attrs:{\"id\":\"inset\",\"disabled\":!_vm.present,\"name\":\"inset\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.selected.inset)?_vm._i(_vm.selected.inset,null)>-1:(_vm.selected.inset)},on:{\"change\":function($event){var $$a=_vm.selected.inset,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selected, \"inset\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selected, \"inset\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selected, \"inset\", $$c)}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"inset\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"blur-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.blur'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-range\",attrs:{\"id\":\"blur\",\"disabled\":!_vm.present,\"name\":\"blur\",\"type\":\"range\",\"max\":\"20\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"blur\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"blur\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"spread-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.spread'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-range\",attrs:{\"id\":\"spread\",\"disabled\":!_vm.present,\"name\":\"spread\",\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"spread\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"spread\", $event.target.value)}}})]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"disabled\":!_vm.present,\"label\":_vm.$t('settings.style.common.color'),\"fallback\":_vm.currentFallback.color,\"show-optional-tickbox\":false,\"name\":\"shadow\"},model:{value:(_vm.selected.color),callback:function ($$v) {_vm.$set(_vm.selected, \"color\", $$v)},expression:\"selected.color\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"disabled\":!_vm.present},model:{value:(_vm.selected.alpha),callback:function ($$v) {_vm.$set(_vm.selected, \"alpha\", $$v)},expression:\"selected.alpha\"}}),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.hintV3\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"--variable,mod\")])])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set } from 'vue'\n\nexport default {\n props: [\n 'name', 'label', 'value', 'fallback', 'options', 'no-inherit'\n ],\n data () {\n return {\n lValue: this.value,\n availableOptions: [\n this.noInherit ? '' : 'inherit',\n 'custom',\n ...(this.options || []),\n 'serif',\n 'monospace',\n 'sans-serif'\n ].filter(_ => _)\n }\n },\n beforeUpdate () {\n this.lValue = this.value\n },\n computed: {\n present () {\n return typeof this.lValue !== 'undefined'\n },\n dValue () {\n return this.lValue || this.fallback || {}\n },\n family: {\n get () {\n return this.dValue.family\n },\n set (v) {\n set(this.lValue, 'family', v)\n this.$emit('input', this.lValue)\n }\n },\n isCustom () {\n return this.preset === 'custom'\n },\n preset: {\n get () {\n if (this.family === 'serif' ||\n this.family === 'sans-serif' ||\n this.family === 'monospace' ||\n this.family === 'inherit') {\n return this.family\n } else {\n return 'custom'\n }\n },\n set (v) {\n this.family = v === 'custom' ? '' : v\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./font_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./font_control.js\"\nimport __vue_script__ from \"!!babel-loader!./font_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0edf8dfc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./font_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-control style-control\",class:{ custom: _vm.isCustom }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.preset === 'custom' ? _vm.name : _vm.name + '-font-switcher'}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exlcude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"select\",attrs:{\"for\":_vm.name + '-font-switcher',\"disabled\":!_vm.present}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.preset),expression:\"preset\"}],staticClass:\"font-switcher\",attrs:{\"id\":_vm.name + '-font-switcher',\"disabled\":!_vm.present},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.preset=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.availableOptions),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\"\\n \"+_vm._s(option === 'custom' ? _vm.$t('settings.style.fonts.custom') : option)+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),(_vm.isCustom)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.family),expression:\"family\"}],staticClass:\"custom-font\",attrs:{\"id\":_vm.name,\"type\":\"text\"},domProps:{\"value\":(_vm.family)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.family=$event.target.value}}}):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./contrast_ratio.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2507acc6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./contrast_ratio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contrast)?_c('span',{staticClass:\"contrast-ratio\"},[_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint}},[(_vm.contrast.aaa)?_c('span',[_c('i',{staticClass:\"icon-thumbs-up-alt\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && _vm.contrast.aa)?_c('span',[_c('i',{staticClass:\"icon-adjust\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && !_vm.contrast.aa)?_c('span',[_c('i',{staticClass:\"icon-attention\"})]):_vm._e()]),_vm._v(\" \"),(_vm.contrast && _vm.large)?_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint_18pt}},[(_vm.contrast.laaa)?_c('span',[_c('i',{staticClass:\"icon-thumbs-up-alt\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && _vm.contrast.laa)?_c('span',[_c('i',{staticClass:\"icon-adjust\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && !_vm.contrast.laa)?_c('span',[_c('i',{staticClass:\"icon-attention\"})]):_vm._e()]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./export_import.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./export_import.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./export_import.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3d9b5a74\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./export_import.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"import-export-container\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.exportData}},[_vm._v(\"\\n \"+_vm._s(_vm.exportLabel)+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.importData}},[_vm._v(\"\\n \"+_vm._s(_vm.importLabel)+\"\\n \")]),_vm._v(\" \"),_vm._t(\"afterButtons\"),_vm._v(\" \"),(_vm.importFailed)?_c('p',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.importFailedText)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._t(\"afterError\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./preview.vue\")\n}\n/* script */\nvar __vue_script__ = null\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1a88be74\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"preview-container\"},[_c('div',{staticClass:\"underlay underlay-preview\"}),_vm._v(\" \"),_c('div',{staticClass:\"panel dummy\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header'))+\"\\n \"),_c('span',{staticClass:\"badge badge-notification\"},[_vm._v(\"\\n 99\\n \")])]),_vm._v(\" \"),_c('span',{staticClass:\"faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header_faint'))+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body theme-preview-content\"},[_c('div',{staticClass:\"post\"},[_c('div',{staticClass:\"avatar still-image\"},[_vm._v(\"\\n ( ͡° ͜ʖ ͡°)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.content'))+\"\\n \")]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.preview.text\"}},[_c('code',{staticStyle:{\"font-family\":\"var(--postCodeFont)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.mono'))+\"\\n \")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"var(--link)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.link'))+\"\\n \")])]),_vm._v(\" \"),_vm._m(0)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"after-post\"},[_c('div',{staticClass:\"avatar-alt\"},[_vm._v(\"\\n :^)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('i18n',{staticClass:\"faint\",attrs:{\"path\":\"settings.style.preview.fine_print\",\"tag\":\"span\"}},[_c('a',{staticStyle:{\"color\":\"var(--faintLink)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.faint_link'))+\"\\n \")])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"separator\"}),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.$t('settings.style.preview.input')}}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('span',{staticClass:\"checkbox\"},[_c('input',{attrs:{\"id\":\"preview_checkbox\",\"checked\":\"very yes\",\"type\":\"checkbox\"}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"preview_checkbox\"}},[_vm._v(_vm._s(_vm.$t('settings.style.preview.checkbox')))])]),_vm._v(\" \"),_c('button',{staticClass:\"btn\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icons\"},[_c('i',{staticClass:\"button-icon icon-reply\",staticStyle:{\"color\":\"var(--cBlue)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-retweet\",staticStyle:{\"color\":\"var(--cGreen)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-star\",staticStyle:{\"color\":\"var(--cOrange)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-cancel\",staticStyle:{\"color\":\"var(--cRed)\"}})])}]\nexport { render, staticRenderFns }","import { set, delete as del } from 'vue'\nimport {\n rgb2hex,\n hex2rgb,\n getContrastRatioLayers\n} from 'src/services/color_convert/color_convert.js'\nimport {\n DEFAULT_SHADOWS,\n generateColors,\n generateShadows,\n generateRadii,\n generateFonts,\n composePreset,\n getThemes,\n shadows2to3,\n colors2to3\n} from 'src/services/style_setter/style_setter.js'\nimport {\n SLOT_INHERITANCE\n} from 'src/services/theme_data/pleromafe.js'\nimport {\n CURRENT_VERSION,\n OPACITIES,\n getLayers,\n getOpacitySlot\n} from 'src/services/theme_data/theme_data.service.js'\nimport ColorInput from 'src/components/color_input/color_input.vue'\nimport RangeInput from 'src/components/range_input/range_input.vue'\nimport OpacityInput from 'src/components/opacity_input/opacity_input.vue'\nimport ShadowControl from 'src/components/shadow_control/shadow_control.vue'\nimport FontControl from 'src/components/font_control/font_control.vue'\nimport ContrastRatio from 'src/components/contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\nimport ExportImport from 'src/components/export_import/export_import.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\n\nimport Preview from './preview.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n 'bg',\n 'fg',\n 'text',\n 'link',\n 'cRed',\n 'cGreen',\n 'cBlue',\n 'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nconst colorConvert = (color) => {\n if (color.startsWith('--') || color === 'transparent') {\n return color\n } else {\n return hex2rgb(color)\n }\n}\n\nexport default {\n data () {\n return {\n availableStyles: [],\n selected: this.$store.getters.mergedConfig.theme,\n themeWarning: undefined,\n tempImportFile: undefined,\n engineVersion: 0,\n\n previewShadows: {},\n previewColors: {},\n previewRadii: {},\n previewFonts: {},\n\n shadowsInvalid: true,\n colorsInvalid: true,\n radiiInvalid: true,\n\n keepColor: false,\n keepShadows: false,\n keepOpacity: false,\n keepRoundness: false,\n keepFonts: false,\n\n ...Object.keys(SLOT_INHERITANCE)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'ColorLocal' ]: val }), {}),\n\n ...Object.keys(OPACITIES)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'OpacityLocal' ]: val }), {}),\n\n shadowSelected: undefined,\n shadowsLocal: {},\n fontsLocal: {},\n\n btnRadiusLocal: '',\n inputRadiusLocal: '',\n checkboxRadiusLocal: '',\n panelRadiusLocal: '',\n avatarRadiusLocal: '',\n avatarAltRadiusLocal: '',\n attachmentRadiusLocal: '',\n tooltipRadiusLocal: '',\n chatMessageRadiusLocal: ''\n }\n },\n created () {\n const self = this\n\n getThemes()\n .then((promises) => {\n return Promise.all(\n Object.entries(promises)\n .map(([k, v]) => v.then(res => [k, res]))\n )\n })\n .then(themes => themes.reduce((acc, [k, v]) => {\n if (v) {\n return {\n ...acc,\n [k]: v\n }\n } else {\n return acc\n }\n }, {}))\n .then((themesComplete) => {\n self.availableStyles = themesComplete\n })\n },\n mounted () {\n this.loadThemeFromLocalStorage()\n if (typeof this.shadowSelected === 'undefined') {\n this.shadowSelected = this.shadowsAvailable[0]\n }\n },\n computed: {\n themeWarningHelp () {\n if (!this.themeWarning) return\n const t = this.$t\n const pre = 'settings.style.switcher.help.'\n const {\n origin,\n themeEngineVersion,\n type,\n noActionsPossible\n } = this.themeWarning\n if (origin === 'file') {\n // Loaded v2 theme from file\n if (themeEngineVersion === 2 && type === 'wrong_version') {\n return t(pre + 'v2_imported')\n }\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n } else if (origin === 'localStorage') {\n if (type === 'snapshot_source_mismatch') {\n return t(pre + 'snapshot_source_mismatch')\n }\n // FE upgraded from v2\n if (themeEngineVersion === 2) {\n return t(pre + 'upgraded_from_v2')\n }\n // Admin downgraded FE\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'fe_downgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n // Admin upgraded FE\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'fe_upgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n }\n },\n selectedVersion () {\n return Array.isArray(this.selected) ? 1 : 2\n },\n currentColors () {\n return Object.keys(SLOT_INHERITANCE)\n .map(key => [key, this[key + 'ColorLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentOpacity () {\n return Object.keys(OPACITIES)\n .map(key => [key, this[key + 'OpacityLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentRadii () {\n return {\n btn: this.btnRadiusLocal,\n input: this.inputRadiusLocal,\n checkbox: this.checkboxRadiusLocal,\n panel: this.panelRadiusLocal,\n avatar: this.avatarRadiusLocal,\n avatarAlt: this.avatarAltRadiusLocal,\n tooltip: this.tooltipRadiusLocal,\n attachment: this.attachmentRadiusLocal,\n chatMessage: this.chatMessageRadiusLocal\n }\n },\n preview () {\n return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n },\n previewTheme () {\n if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n return this.preview.theme\n },\n // This needs optimization maybe\n previewContrast () {\n try {\n if (!this.previewTheme.colors.bg) return {}\n const colors = this.previewTheme.colors\n const opacity = this.previewTheme.opacity\n if (!colors.bg) return {}\n const hints = (ratio) => ({\n text: ratio.toPrecision(3) + ':1',\n // AA level, AAA level\n aa: ratio >= 4.5,\n aaa: ratio >= 7,\n // same but for 18pt+ texts\n laa: ratio >= 3,\n laaa: ratio >= 4.5\n })\n const colorsConverted = Object.entries(colors).reduce((acc, [key, value]) => ({ ...acc, [key]: colorConvert(value) }), {})\n\n const ratios = Object.entries(SLOT_INHERITANCE).reduce((acc, [key, value]) => {\n const slotIsBaseText = key === 'text' || key === 'link'\n const slotIsText = slotIsBaseText || (\n typeof value === 'object' && value !== null && value.textColor\n )\n if (!slotIsText) return acc\n const { layer, variant } = slotIsBaseText ? { layer: 'bg' } : value\n const background = variant || layer\n const opacitySlot = getOpacitySlot(background)\n const textColors = [\n key,\n ...(background === 'bg' ? ['cRed', 'cGreen', 'cBlue', 'cOrange'] : [])\n ]\n\n const layers = getLayers(\n layer,\n variant || layer,\n opacitySlot,\n colorsConverted,\n opacity\n )\n\n return {\n ...acc,\n ...textColors.reduce((acc, textColorKey) => {\n const newKey = slotIsBaseText\n ? 'bg' + textColorKey[0].toUpperCase() + textColorKey.slice(1)\n : textColorKey\n return {\n ...acc,\n [newKey]: getContrastRatioLayers(\n colorsConverted[textColorKey],\n layers,\n colorsConverted[textColorKey]\n )\n }\n }, {})\n }\n }, {})\n\n return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n } catch (e) {\n console.warn('Failure computing contrasts', e)\n }\n },\n previewRules () {\n if (!this.preview.rules) return ''\n return [\n ...Object.values(this.preview.rules),\n 'color: var(--text)',\n 'font-family: var(--interfaceFont, sans-serif)'\n ].join(';')\n },\n shadowsAvailable () {\n return Object.keys(DEFAULT_SHADOWS).sort()\n },\n currentShadowOverriden: {\n get () {\n return !!this.currentShadow\n },\n set (val) {\n if (val) {\n set(this.shadowsLocal, this.shadowSelected, this.currentShadowFallback.map(_ => Object.assign({}, _)))\n } else {\n del(this.shadowsLocal, this.shadowSelected)\n }\n }\n },\n currentShadowFallback () {\n return (this.previewTheme.shadows || {})[this.shadowSelected]\n },\n currentShadow: {\n get () {\n return this.shadowsLocal[this.shadowSelected]\n },\n set (v) {\n set(this.shadowsLocal, this.shadowSelected, v)\n }\n },\n themeValid () {\n return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n },\n exportedTheme () {\n const saveEverything = (\n !this.keepFonts &&\n !this.keepShadows &&\n !this.keepOpacity &&\n !this.keepRoundness &&\n !this.keepColor\n )\n\n const source = {\n themeEngineVersion: CURRENT_VERSION\n }\n\n if (this.keepFonts || saveEverything) {\n source.fonts = this.fontsLocal\n }\n if (this.keepShadows || saveEverything) {\n source.shadows = this.shadowsLocal\n }\n if (this.keepOpacity || saveEverything) {\n source.opacity = this.currentOpacity\n }\n if (this.keepColor || saveEverything) {\n source.colors = this.currentColors\n }\n if (this.keepRoundness || saveEverything) {\n source.radii = this.currentRadii\n }\n\n const theme = {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n\n return {\n // To separate from other random JSON files and possible future source formats\n _pleroma_theme_version: 2, theme, source\n }\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n RangeInput,\n ContrastRatio,\n ShadowControl,\n FontControl,\n TabSwitcher,\n Preview,\n ExportImport,\n Checkbox\n },\n methods: {\n loadTheme (\n {\n theme,\n source,\n _pleroma_theme_version: fileVersion\n },\n origin,\n forceUseSource = false\n ) {\n this.dismissWarning()\n if (!source && !theme) {\n throw new Error('Can\\'t load theme: empty')\n }\n const version = (origin === 'localStorage' && !theme.colors)\n ? 'l1'\n : fileVersion\n const snapshotEngineVersion = (theme || {}).themeEngineVersion\n const themeEngineVersion = (source || {}).themeEngineVersion || 2\n const versionsMatch = themeEngineVersion === CURRENT_VERSION\n const sourceSnapshotMismatch = (\n theme !== undefined &&\n source !== undefined &&\n themeEngineVersion !== snapshotEngineVersion\n )\n // Force loading of source if user requested it or if snapshot\n // is unavailable\n const forcedSourceLoad = (source && forceUseSource) || !theme\n if (!(versionsMatch && !sourceSnapshotMismatch) &&\n !forcedSourceLoad &&\n version !== 'l1' &&\n origin !== 'defaults'\n ) {\n if (sourceSnapshotMismatch && origin === 'localStorage') {\n this.themeWarning = {\n origin,\n themeEngineVersion,\n type: 'snapshot_source_mismatch'\n }\n } else if (!theme) {\n this.themeWarning = {\n origin,\n noActionsPossible: true,\n themeEngineVersion,\n type: 'no_snapshot_old_version'\n }\n } else if (!versionsMatch) {\n this.themeWarning = {\n origin,\n noActionsPossible: !source,\n themeEngineVersion,\n type: 'wrong_version'\n }\n }\n }\n this.normalizeLocalState(theme, version, source, forcedSourceLoad)\n },\n forceLoadLocalStorage () {\n this.loadThemeFromLocalStorage(true)\n },\n dismissWarning () {\n this.themeWarning = undefined\n this.tempImportFile = undefined\n },\n forceLoad () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(true)\n break\n case 'file':\n this.onImport(this.tempImportFile, true)\n break\n }\n this.dismissWarning()\n },\n forceSnapshot () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(false, true)\n break\n case 'file':\n console.err('Forcing snapshout from file is not supported yet')\n break\n }\n this.dismissWarning()\n },\n loadThemeFromLocalStorage (confirmLoadSource = false, forceSnapshot = false) {\n const {\n customTheme: theme,\n customThemeSource: source\n } = this.$store.getters.mergedConfig\n if (!theme && !source) {\n // Anon user or never touched themes\n this.loadTheme(\n this.$store.state.instance.themeData,\n 'defaults',\n confirmLoadSource\n )\n } else {\n this.loadTheme(\n {\n theme,\n source: forceSnapshot ? theme : source\n },\n 'localStorage',\n confirmLoadSource\n )\n }\n },\n setCustomTheme () {\n this.$store.dispatch('setOption', {\n name: 'customTheme',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n })\n this.$store.dispatch('setOption', {\n name: 'customThemeSource',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n shadows: this.shadowsLocal,\n fonts: this.fontsLocal,\n opacity: this.currentOpacity,\n colors: this.currentColors,\n radii: this.currentRadii\n }\n })\n },\n updatePreviewColorsAndShadows () {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n this.previewShadows = generateShadows(\n { shadows: this.shadowsLocal, opacity: this.previewTheme.opacity, themeEngineVersion: this.engineVersion },\n this.previewColors.theme.colors,\n this.previewColors.mod\n )\n },\n onImport (parsed, forceSource = false) {\n this.tempImportFile = parsed\n this.loadTheme(parsed, 'file', forceSource)\n },\n importValidator (parsed) {\n const version = parsed._pleroma_theme_version\n return version >= 1 || version <= 2\n },\n clearAll () {\n this.loadThemeFromLocalStorage()\n },\n\n // Clears all the extra stuff when loading V1 theme\n clearV1 () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n .filter(_ => !v1OnlyNames.includes(_))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearRoundness () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('RadiusLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearOpacity () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('OpacityLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearShadows () {\n this.shadowsLocal = {}\n },\n\n clearFonts () {\n this.fontsLocal = {}\n },\n\n /**\n * This applies stored theme data onto form. Supports three versions of data:\n * v3 (version >= 3) - newest version of themes which supports snapshots for better compatiblity\n * v2 (version = 2) - newer version of themes.\n * v1 (version = 1) - older version of themes (import from file)\n * v1l (version = l1) - older version of theme (load from local storage)\n * v1 and v1l differ because of way themes were stored/exported.\n * @param {Object} theme - theme data (snapshot)\n * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n * @param {Object} source - theme source - this will be used if compatible\n * @param {Boolean} source - by default source won't be used if version doesn't match since it might render differently\n * this allows importing source anyway\n */\n normalizeLocalState (theme, version = 0, source, forceSource = false) {\n let input\n if (typeof source !== 'undefined') {\n if (forceSource || source.themeEngineVersion === CURRENT_VERSION) {\n input = source\n version = source.themeEngineVersion\n } else {\n input = theme\n }\n } else {\n input = theme\n }\n\n const radii = input.radii || input\n const opacity = input.opacity\n const shadows = input.shadows || {}\n const fonts = input.fonts || {}\n const colors = !input.themeEngineVersion\n ? colors2to3(input.colors || input)\n : input.colors || input\n\n if (version === 0) {\n if (input.version) version = input.version\n // Old v1 naming: fg is text, btn is foreground\n if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n version = 1\n }\n // New v2 naming: text is text, fg is foreground\n if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n version = 2\n }\n }\n\n this.engineVersion = version\n\n // Stuff that differs between V1 and V2\n if (version === 1) {\n this.fgColorLocal = rgb2hex(colors.btn)\n this.textColorLocal = rgb2hex(colors.fg)\n }\n\n if (!this.keepColor) {\n this.clearV1()\n const keys = new Set(version !== 1 ? Object.keys(SLOT_INHERITANCE) : [])\n if (version === 1 || version === 'l1') {\n keys\n .add('bg')\n .add('link')\n .add('cRed')\n .add('cBlue')\n .add('cGreen')\n .add('cOrange')\n }\n\n keys.forEach(key => {\n const color = colors[key]\n const hex = rgb2hex(colors[key])\n this[key + 'ColorLocal'] = hex === '#aN' ? color : hex\n })\n }\n\n if (opacity && !this.keepOpacity) {\n this.clearOpacity()\n Object.entries(opacity).forEach(([k, v]) => {\n if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n this[k + 'OpacityLocal'] = v\n })\n }\n\n if (!this.keepRoundness) {\n this.clearRoundness()\n Object.entries(radii).forEach(([k, v]) => {\n // 'Radius' is kept mostly for v1->v2 localstorage transition\n const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n this[key + 'RadiusLocal'] = v\n })\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n if (version === 2) {\n this.shadowsLocal = shadows2to3(shadows, this.previewTheme.opacity)\n } else {\n this.shadowsLocal = shadows\n }\n this.shadowSelected = this.shadowsAvailable[0]\n }\n\n if (!this.keepFonts) {\n this.clearFonts()\n this.fontsLocal = fonts\n }\n }\n },\n watch: {\n currentRadii () {\n try {\n this.previewRadii = generateRadii({ radii: this.currentRadii })\n this.radiiInvalid = false\n } catch (e) {\n this.radiiInvalid = true\n console.warn(e)\n }\n },\n shadowsLocal: {\n handler () {\n if (Object.getOwnPropertyNames(this.previewColors).length === 1) return\n try {\n this.updatePreviewColorsAndShadows()\n this.shadowsInvalid = false\n } catch (e) {\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n fontsLocal: {\n handler () {\n try {\n this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n this.fontsInvalid = false\n } catch (e) {\n this.fontsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n currentColors () {\n try {\n this.updatePreviewColorsAndShadows()\n this.colorsInvalid = false\n this.shadowsInvalid = false\n } catch (e) {\n this.colorsInvalid = true\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n currentOpacity () {\n try {\n this.updatePreviewColorsAndShadows()\n } catch (e) {\n console.warn(e)\n }\n },\n selected () {\n this.dismissWarning()\n if (this.selectedVersion === 1) {\n if (!this.keepRoundness) {\n this.clearRoundness()\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n }\n\n if (!this.keepOpacity) {\n this.clearOpacity()\n }\n\n if (!this.keepColor) {\n this.clearV1()\n\n this.bgColorLocal = this.selected[1]\n this.fgColorLocal = this.selected[2]\n this.textColorLocal = this.selected[3]\n this.linkColorLocal = this.selected[4]\n this.cRedColorLocal = this.selected[5]\n this.cGreenColorLocal = this.selected[6]\n this.cBlueColorLocal = this.selected[7]\n this.cOrangeColorLocal = this.selected[8]\n }\n } else if (this.selectedVersion >= 2) {\n this.normalizeLocalState(this.selected.theme, 2, this.selected.source)\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./theme_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./theme_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./theme_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-af7d0e5c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./theme_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-tab\"},[_c('div',{staticClass:\"presets-container\"},[_c('div',{staticClass:\"save-load\"},[(_vm.themeWarning)?_c('div',{staticClass:\"theme-warning\"},[_c('div',{staticClass:\"alert warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.themeWarningHelp)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.themeWarning.type === 'snapshot_source_mismatch')?[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_source'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.forceSnapshot}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_snapshot'))+\"\\n \")])]:(_vm.themeWarning.noActionsPossible)?[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.dismiss'))+\"\\n \")])]:[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.load_theme'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_as_is'))+\"\\n \")])]],2)]):_vm._e(),_vm._v(\" \"),_c('ExportImport',{attrs:{\"export-object\":_vm.exportedTheme,\"export-label\":_vm.$t(\"settings.export_theme\"),\"import-label\":_vm.$t(\"settings.import_theme\"),\"import-failed-text\":_vm.$t(\"settings.invalid_theme_imported\"),\"on-import\":_vm.onImport,\"validator\":_vm.importValidator}},[_c('template',{slot:\"before\"},[_c('div',{staticClass:\"presets\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.presets'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"preset-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected),expression:\"selected\"}],staticClass:\"preset-switcher\",attrs:{\"id\":\"preset-switcher\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selected=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.availableStyles),function(style){return _c('option',{key:style.name,style:({\n backgroundColor: style[1] || (style.theme || style.source).colors.bg,\n color: style[3] || (style.theme || style.source).colors.text\n }),domProps:{\"value\":style}},[_vm._v(\"\\n \"+_vm._s(style[0] || style.name)+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])])])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"save-load-options\"},[_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepColor),callback:function ($$v) {_vm.keepColor=$$v},expression:\"keepColor\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_color'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepShadows),callback:function ($$v) {_vm.keepShadows=$$v},expression:\"keepShadows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_shadows'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepOpacity),callback:function ($$v) {_vm.keepOpacity=$$v},expression:\"keepOpacity\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_opacity'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepRoundness),callback:function ($$v) {_vm.keepRoundness=$$v},expression:\"keepRoundness\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_roundness'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepFonts),callback:function ($$v) {_vm.keepFonts=$$v},expression:\"keepFonts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_fonts'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.switcher.save_load_hint')))])])]),_vm._v(\" \"),_c('preview',{style:(_vm.previewRules)}),_vm._v(\" \"),_c('keep-alive',[_c('tab-switcher',{key:\"style-tweak\"},[_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.common_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('div',{staticClass:\"tab-header-buttons\"},[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_1')))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.main')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"bgColor\",\"label\":_vm.$t('settings.background')},model:{value:(_vm.bgColorLocal),callback:function ($$v) {_vm.bgColorLocal=$$v},expression:\"bgColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"bgOpacity\",\"fallback\":_vm.previewTheme.opacity.bg},model:{value:(_vm.bgOpacityLocal),callback:function ($$v) {_vm.bgOpacityLocal=$$v},expression:\"bgOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"textColor\",\"label\":_vm.$t('settings.text')},model:{value:(_vm.textColorLocal),callback:function ($$v) {_vm.textColorLocal=$$v},expression:\"textColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"accentColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.accent'),\"show-optional-tickbox\":typeof _vm.linkColorLocal !== 'undefined'},model:{value:(_vm.accentColorLocal),callback:function ($$v) {_vm.accentColorLocal=$$v},expression:\"accentColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"linkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links'),\"show-optional-tickbox\":typeof _vm.accentColorLocal !== 'undefined'},model:{value:(_vm.linkColorLocal),callback:function ($$v) {_vm.linkColorLocal=$$v},expression:\"linkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"fgColor\",\"label\":_vm.$t('settings.foreground')},model:{value:(_vm.fgColorLocal),callback:function ($$v) {_vm.fgColorLocal=$$v},expression:\"fgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgTextColor\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.fgText},model:{value:(_vm.fgTextColorLocal),callback:function ($$v) {_vm.fgTextColorLocal=$$v},expression:\"fgTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgLinkColor\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.fgLink},model:{value:(_vm.fgLinkColorLocal),callback:function ($$v) {_vm.fgLinkColorLocal=$$v},expression:\"fgLinkColorLocal\"}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.foreground_hint')))])],1),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.rgbo')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cRedColor\",\"label\":_vm.$t('settings.cRed')},model:{value:(_vm.cRedColorLocal),callback:function ($$v) {_vm.cRedColorLocal=$$v},expression:\"cRedColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCRed}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cBlueColor\",\"label\":_vm.$t('settings.cBlue')},model:{value:(_vm.cBlueColorLocal),callback:function ($$v) {_vm.cBlueColorLocal=$$v},expression:\"cBlueColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCBlue}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cGreenColor\",\"label\":_vm.$t('settings.cGreen')},model:{value:(_vm.cGreenColorLocal),callback:function ($$v) {_vm.cGreenColorLocal=$$v},expression:\"cGreenColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCGreen}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cOrangeColor\",\"label\":_vm.$t('settings.cOrange')},model:{value:(_vm.cOrangeColorLocal),callback:function ($$v) {_vm.cOrangeColorLocal=$$v},expression:\"cOrangeColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCOrange}})],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_2')))])]),_vm._v(\" \"),_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.advanced_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.post')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postLinkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links')},model:{value:(_vm.postLinkColorLocal),callback:function ($$v) {_vm.postLinkColorLocal=$$v},expression:\"postLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postLink}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postGreentextColor\",\"fallback\":_vm.previewTheme.colors.cGreen,\"label\":_vm.$t('settings.greentext')},model:{value:(_vm.postGreentextColorLocal),callback:function ($$v) {_vm.postGreentextColorLocal=$$v},expression:\"postGreentextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postGreentext}}),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.alert')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertError\",\"label\":_vm.$t('settings.style.advanced_colors.alert_error'),\"fallback\":_vm.previewTheme.colors.alertError},model:{value:(_vm.alertErrorColorLocal),callback:function ($$v) {_vm.alertErrorColorLocal=$$v},expression:\"alertErrorColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertErrorText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertErrorText},model:{value:(_vm.alertErrorTextColorLocal),callback:function ($$v) {_vm.alertErrorTextColorLocal=$$v},expression:\"alertErrorTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertErrorText,\"large\":\"true\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarning\",\"label\":_vm.$t('settings.style.advanced_colors.alert_warning'),\"fallback\":_vm.previewTheme.colors.alertWarning},model:{value:(_vm.alertWarningColorLocal),callback:function ($$v) {_vm.alertWarningColorLocal=$$v},expression:\"alertWarningColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarningText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertWarningText},model:{value:(_vm.alertWarningTextColorLocal),callback:function ($$v) {_vm.alertWarningTextColorLocal=$$v},expression:\"alertWarningTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertWarningText,\"large\":\"true\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutral\",\"label\":_vm.$t('settings.style.advanced_colors.alert_neutral'),\"fallback\":_vm.previewTheme.colors.alertNeutral},model:{value:(_vm.alertNeutralColorLocal),callback:function ($$v) {_vm.alertNeutralColorLocal=$$v},expression:\"alertNeutralColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutralText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertNeutralText},model:{value:(_vm.alertNeutralTextColorLocal),callback:function ($$v) {_vm.alertNeutralTextColorLocal=$$v},expression:\"alertNeutralTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertNeutralText,\"large\":\"true\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"alertOpacity\",\"fallback\":_vm.previewTheme.opacity.alert},model:{value:(_vm.alertOpacityLocal),callback:function ($$v) {_vm.alertOpacityLocal=$$v},expression:\"alertOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.badge')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotification\",\"label\":_vm.$t('settings.style.advanced_colors.badge_notification'),\"fallback\":_vm.previewTheme.colors.badgeNotification},model:{value:(_vm.badgeNotificationColorLocal),callback:function ($$v) {_vm.badgeNotificationColorLocal=$$v},expression:\"badgeNotificationColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotificationText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.badgeNotificationText},model:{value:(_vm.badgeNotificationTextColorLocal),callback:function ($$v) {_vm.badgeNotificationTextColorLocal=$$v},expression:\"badgeNotificationTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.badgeNotificationText,\"large\":\"true\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.panel_header')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelColor\",\"fallback\":_vm.previewTheme.colors.panel,\"label\":_vm.$t('settings.background')},model:{value:(_vm.panelColorLocal),callback:function ($$v) {_vm.panelColorLocal=$$v},expression:\"panelColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"panelOpacity\",\"fallback\":_vm.previewTheme.opacity.panel,\"disabled\":_vm.panelColorLocal === 'transparent'},model:{value:(_vm.panelOpacityLocal),callback:function ($$v) {_vm.panelOpacityLocal=$$v},expression:\"panelOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelTextColor\",\"fallback\":_vm.previewTheme.colors.panelText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.panelTextColorLocal),callback:function ($$v) {_vm.panelTextColorLocal=$$v},expression:\"panelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelText,\"large\":\"true\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelLinkColor\",\"fallback\":_vm.previewTheme.colors.panelLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.panelLinkColorLocal),callback:function ($$v) {_vm.panelLinkColorLocal=$$v},expression:\"panelLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelLink,\"large\":\"true\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.top_bar')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarColor\",\"fallback\":_vm.previewTheme.colors.topBar,\"label\":_vm.$t('settings.background')},model:{value:(_vm.topBarColorLocal),callback:function ($$v) {_vm.topBarColorLocal=$$v},expression:\"topBarColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarTextColor\",\"fallback\":_vm.previewTheme.colors.topBarText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.topBarTextColorLocal),callback:function ($$v) {_vm.topBarTextColorLocal=$$v},expression:\"topBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarLinkColor\",\"fallback\":_vm.previewTheme.colors.topBarLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.topBarLinkColorLocal),callback:function ($$v) {_vm.topBarLinkColorLocal=$$v},expression:\"topBarLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.inputs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputColor\",\"fallback\":_vm.previewTheme.colors.input,\"label\":_vm.$t('settings.background')},model:{value:(_vm.inputColorLocal),callback:function ($$v) {_vm.inputColorLocal=$$v},expression:\"inputColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"inputOpacity\",\"fallback\":_vm.previewTheme.opacity.input,\"disabled\":_vm.inputColorLocal === 'transparent'},model:{value:(_vm.inputOpacityLocal),callback:function ($$v) {_vm.inputOpacityLocal=$$v},expression:\"inputOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputTextColor\",\"fallback\":_vm.previewTheme.colors.inputText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.inputTextColorLocal),callback:function ($$v) {_vm.inputTextColorLocal=$$v},expression:\"inputTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.inputText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.buttons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnColor\",\"fallback\":_vm.previewTheme.colors.btn,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnColorLocal),callback:function ($$v) {_vm.btnColorLocal=$$v},expression:\"btnColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"btnOpacity\",\"fallback\":_vm.previewTheme.opacity.btn,\"disabled\":_vm.btnColorLocal === 'transparent'},model:{value:(_vm.btnOpacityLocal),callback:function ($$v) {_vm.btnOpacityLocal=$$v},expression:\"btnOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTextColor\",\"fallback\":_vm.previewTheme.colors.btnText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnTextColorLocal),callback:function ($$v) {_vm.btnTextColorLocal=$$v},expression:\"btnTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPanelTextColorLocal),callback:function ($$v) {_vm.btnPanelTextColorLocal=$$v},expression:\"btnPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnTopBarTextColorLocal),callback:function ($$v) {_vm.btnTopBarTextColorLocal=$$v},expression:\"btnTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.pressed')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedColor\",\"fallback\":_vm.previewTheme.colors.btnPressed,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnPressedColorLocal),callback:function ($$v) {_vm.btnPressedColorLocal=$$v},expression:\"btnPressedColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnPressedTextColorLocal),callback:function ($$v) {_vm.btnPressedTextColorLocal=$$v},expression:\"btnPressedTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPressedPanelTextColorLocal),callback:function ($$v) {_vm.btnPressedPanelTextColorLocal=$$v},expression:\"btnPressedPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnPressedTopBarTextColorLocal),callback:function ($$v) {_vm.btnPressedTopBarTextColorLocal=$$v},expression:\"btnPressedTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.disabled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledColor\",\"fallback\":_vm.previewTheme.colors.btnDisabled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnDisabledColorLocal),callback:function ($$v) {_vm.btnDisabledColorLocal=$$v},expression:\"btnDisabledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnDisabledTextColorLocal),callback:function ($$v) {_vm.btnDisabledTextColorLocal=$$v},expression:\"btnDisabledTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnDisabledPanelTextColorLocal),callback:function ($$v) {_vm.btnDisabledPanelTextColorLocal=$$v},expression:\"btnDisabledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnDisabledTopBarTextColorLocal),callback:function ($$v) {_vm.btnDisabledTopBarTextColorLocal=$$v},expression:\"btnDisabledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.toggled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledColor\",\"fallback\":_vm.previewTheme.colors.btnToggled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnToggledColorLocal),callback:function ($$v) {_vm.btnToggledColorLocal=$$v},expression:\"btnToggledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnToggledTextColorLocal),callback:function ($$v) {_vm.btnToggledTextColorLocal=$$v},expression:\"btnToggledTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnToggledPanelTextColorLocal),callback:function ($$v) {_vm.btnToggledPanelTextColorLocal=$$v},expression:\"btnToggledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnToggledTopBarTextColorLocal),callback:function ($$v) {_vm.btnToggledTopBarTextColorLocal=$$v},expression:\"btnToggledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledTopBarText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.tabs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabColor\",\"fallback\":_vm.previewTheme.colors.tab,\"label\":_vm.$t('settings.background')},model:{value:(_vm.tabColorLocal),callback:function ($$v) {_vm.tabColorLocal=$$v},expression:\"tabColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabTextColor\",\"fallback\":_vm.previewTheme.colors.tabText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabTextColorLocal),callback:function ($$v) {_vm.tabTextColorLocal=$$v},expression:\"tabTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabActiveTextColor\",\"fallback\":_vm.previewTheme.colors.tabActiveText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabActiveTextColorLocal),callback:function ($$v) {_vm.tabActiveTextColorLocal=$$v},expression:\"tabActiveTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabActiveText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.borders')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"borderColor\",\"fallback\":_vm.previewTheme.colors.border,\"label\":_vm.$t('settings.style.common.color')},model:{value:(_vm.borderColorLocal),callback:function ($$v) {_vm.borderColorLocal=$$v},expression:\"borderColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"borderOpacity\",\"fallback\":_vm.previewTheme.opacity.border,\"disabled\":_vm.borderColorLocal === 'transparent'},model:{value:(_vm.borderOpacityLocal),callback:function ($$v) {_vm.borderOpacityLocal=$$v},expression:\"borderOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.faint_text')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintColor\",\"fallback\":_vm.previewTheme.colors.faint,\"label\":_vm.$t('settings.text')},model:{value:(_vm.faintColorLocal),callback:function ($$v) {_vm.faintColorLocal=$$v},expression:\"faintColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintLinkColor\",\"fallback\":_vm.previewTheme.colors.faintLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.faintLinkColorLocal),callback:function ($$v) {_vm.faintLinkColorLocal=$$v},expression:\"faintLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelFaintColor\",\"fallback\":_vm.previewTheme.colors.panelFaint,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.panelFaintColorLocal),callback:function ($$v) {_vm.panelFaintColorLocal=$$v},expression:\"panelFaintColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"faintOpacity\",\"fallback\":_vm.previewTheme.opacity.faint},model:{value:(_vm.faintOpacityLocal),callback:function ($$v) {_vm.faintOpacityLocal=$$v},expression:\"faintOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.underlay')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"underlay\",\"label\":_vm.$t('settings.style.advanced_colors.underlay'),\"fallback\":_vm.previewTheme.colors.underlay},model:{value:(_vm.underlayColorLocal),callback:function ($$v) {_vm.underlayColorLocal=$$v},expression:\"underlayColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"underlayOpacity\",\"fallback\":_vm.previewTheme.opacity.underlay,\"disabled\":_vm.underlayOpacityLocal === 'transparent'},model:{value:(_vm.underlayOpacityLocal),callback:function ($$v) {_vm.underlayOpacityLocal=$$v},expression:\"underlayOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.poll')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"poll\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.poll},model:{value:(_vm.pollColorLocal),callback:function ($$v) {_vm.pollColorLocal=$$v},expression:\"pollColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"pollText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.pollText},model:{value:(_vm.pollTextColorLocal),callback:function ($$v) {_vm.pollTextColorLocal=$$v},expression:\"pollTextColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.icons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"icon\",\"label\":_vm.$t('settings.style.advanced_colors.icons'),\"fallback\":_vm.previewTheme.colors.icon},model:{value:(_vm.iconColorLocal),callback:function ($$v) {_vm.iconColorLocal=$$v},expression:\"iconColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.highlight')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlight\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.highlight},model:{value:(_vm.highlightColorLocal),callback:function ($$v) {_vm.highlightColorLocal=$$v},expression:\"highlightColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.highlightText},model:{value:(_vm.highlightTextColorLocal),callback:function ($$v) {_vm.highlightTextColorLocal=$$v},expression:\"highlightTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.highlightLink},model:{value:(_vm.highlightLinkColorLocal),callback:function ($$v) {_vm.highlightLinkColorLocal=$$v},expression:\"highlightLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.popover')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popover\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.popover},model:{value:(_vm.popoverColorLocal),callback:function ($$v) {_vm.popoverColorLocal=$$v},expression:\"popoverColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"popoverOpacity\",\"fallback\":_vm.previewTheme.opacity.popover,\"disabled\":_vm.popoverOpacityLocal === 'transparent'},model:{value:(_vm.popoverOpacityLocal),callback:function ($$v) {_vm.popoverOpacityLocal=$$v},expression:\"popoverOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.popoverText},model:{value:(_vm.popoverTextColorLocal),callback:function ($$v) {_vm.popoverTextColorLocal=$$v},expression:\"popoverTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.popoverLink},model:{value:(_vm.popoverLinkColorLocal),callback:function ($$v) {_vm.popoverLinkColorLocal=$$v},expression:\"popoverLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedPost')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPost\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedPost},model:{value:(_vm.selectedPostColorLocal),callback:function ($$v) {_vm.selectedPostColorLocal=$$v},expression:\"selectedPostColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedPostText},model:{value:(_vm.selectedPostTextColorLocal),callback:function ($$v) {_vm.selectedPostTextColorLocal=$$v},expression:\"selectedPostTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedPostLink},model:{value:(_vm.selectedPostLinkColorLocal),callback:function ($$v) {_vm.selectedPostLinkColorLocal=$$v},expression:\"selectedPostLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedMenu')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenu\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedMenu},model:{value:(_vm.selectedMenuColorLocal),callback:function ($$v) {_vm.selectedMenuColorLocal=$$v},expression:\"selectedMenuColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedMenuText},model:{value:(_vm.selectedMenuTextColorLocal),callback:function ($$v) {_vm.selectedMenuTextColorLocal=$$v},expression:\"selectedMenuTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedMenuLink},model:{value:(_vm.selectedMenuLinkColorLocal),callback:function ($$v) {_vm.selectedMenuLinkColorLocal=$$v},expression:\"selectedMenuLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('chats.chats')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatBgColor\",\"fallback\":_vm.previewTheme.colors.bg || 1,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatBgColorLocal),callback:function ($$v) {_vm.chatBgColorLocal=$$v},expression:\"chatBgColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.incoming')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBgColor\",\"fallback\":_vm.previewTheme.colors.bg || 1,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageIncomingBgColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBgColorLocal=$$v},expression:\"chatMessageIncomingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingTextColor\",\"fallback\":_vm.previewTheme.colors.text || 1,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageIncomingTextColorLocal),callback:function ($$v) {_vm.chatMessageIncomingTextColorLocal=$$v},expression:\"chatMessageIncomingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingLinkColor\",\"fallback\":_vm.previewTheme.colors.link || 1,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageIncomingLinkColorLocal),callback:function ($$v) {_vm.chatMessageIncomingLinkColorLocal=$$v},expression:\"chatMessageIncomingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.fg || 1,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageIncomingBorderColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBorderColorLocal=$$v},expression:\"chatMessageIncomingBorderColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.outgoing')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBgColor\",\"fallback\":_vm.previewTheme.colors.bg || 1,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageOutgoingBgColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBgColorLocal=$$v},expression:\"chatMessageOutgoingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingTextColor\",\"fallback\":_vm.previewTheme.colors.text || 1,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageOutgoingTextColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingTextColorLocal=$$v},expression:\"chatMessageOutgoingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingLinkColor\",\"fallback\":_vm.previewTheme.colors.link || 1,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageOutgoingLinkColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingLinkColorLocal=$$v},expression:\"chatMessageOutgoingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.bg || 1,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageOutgoingBorderColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBorderColorLocal=$$v},expression:\"chatMessageOutgoingBorderColorLocal\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"radius-container\",attrs:{\"label\":_vm.$t('settings.style.radii._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.radii_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearRoundness}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"btnRadius\",\"label\":_vm.$t('settings.btnRadius'),\"fallback\":_vm.previewTheme.radii.btn,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.btnRadiusLocal),callback:function ($$v) {_vm.btnRadiusLocal=$$v},expression:\"btnRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"inputRadius\",\"label\":_vm.$t('settings.inputRadius'),\"fallback\":_vm.previewTheme.radii.input,\"max\":\"9\",\"hard-min\":\"0\"},model:{value:(_vm.inputRadiusLocal),callback:function ($$v) {_vm.inputRadiusLocal=$$v},expression:\"inputRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"checkboxRadius\",\"label\":_vm.$t('settings.checkboxRadius'),\"fallback\":_vm.previewTheme.radii.checkbox,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.checkboxRadiusLocal),callback:function ($$v) {_vm.checkboxRadiusLocal=$$v},expression:\"checkboxRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"panelRadius\",\"label\":_vm.$t('settings.panelRadius'),\"fallback\":_vm.previewTheme.radii.panel,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.panelRadiusLocal),callback:function ($$v) {_vm.panelRadiusLocal=$$v},expression:\"panelRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarRadius\",\"label\":_vm.$t('settings.avatarRadius'),\"fallback\":_vm.previewTheme.radii.avatar,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarRadiusLocal),callback:function ($$v) {_vm.avatarRadiusLocal=$$v},expression:\"avatarRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarAltRadius\",\"label\":_vm.$t('settings.avatarAltRadius'),\"fallback\":_vm.previewTheme.radii.avatarAlt,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarAltRadiusLocal),callback:function ($$v) {_vm.avatarAltRadiusLocal=$$v},expression:\"avatarAltRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"attachmentRadius\",\"label\":_vm.$t('settings.attachmentRadius'),\"fallback\":_vm.previewTheme.radii.attachment,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.attachmentRadiusLocal),callback:function ($$v) {_vm.attachmentRadiusLocal=$$v},expression:\"attachmentRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"tooltipRadius\",\"label\":_vm.$t('settings.tooltipRadius'),\"fallback\":_vm.previewTheme.radii.tooltip,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.tooltipRadiusLocal),callback:function ($$v) {_vm.tooltipRadiusLocal=$$v},expression:\"tooltipRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"chatMessageRadius\",\"label\":_vm.$t('settings.chatMessageRadius'),\"fallback\":_vm.previewTheme.radii.chatMessage || 2,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.chatMessageRadiusLocal),callback:function ($$v) {_vm.chatMessageRadiusLocal=$$v},expression:\"chatMessageRadiusLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"shadow-container\",attrs:{\"label\":_vm.$t('settings.style.shadows._tab_label')}},[_c('div',{staticClass:\"tab-header shadow-selector\"},[_c('div',{staticClass:\"select-container\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.component'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"shadow-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shadowSelected),expression:\"shadowSelected\"}],staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.shadowSelected=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.shadowsAvailable),function(shadow){return _c('option',{key:shadow,domProps:{\"value\":shadow}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.components.' + shadow))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"override\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"override\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.override'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentShadowOverriden),expression:\"currentShadowOverriden\"}],staticClass:\"input-override\",attrs:{\"id\":\"override\",\"name\":\"override\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentShadowOverriden)?_vm._i(_vm.currentShadowOverriden,null)>-1:(_vm.currentShadowOverriden)},on:{\"change\":function($event){var $$a=_vm.currentShadowOverriden,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentShadowOverriden=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentShadowOverriden=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentShadowOverriden=$$c}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"override\"}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearShadows}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('ShadowControl',{attrs:{\"ready\":!!_vm.currentShadowFallback,\"fallback\":_vm.currentShadowFallback},model:{value:(_vm.currentShadow),callback:function ($$v) {_vm.currentShadow=$$v},expression:\"currentShadow\"}}),_vm._v(\" \"),(_vm.shadowSelected === 'avatar' || _vm.shadowSelected === 'avatarStatus')?_c('div',[_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.always_drop_shadow\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"filter: drop-shadow()\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.avatar_inset')))]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.drop_shadow_syntax\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"drop-shadow\")]),_vm._v(\" \"),_c('code',[_vm._v(\"spread-radius\")]),_vm._v(\" \"),_c('code',[_vm._v(\"inset\")])]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.inset_classic\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"box-shadow\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.spread_zero')))])],1):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"fonts-container\",attrs:{\"label\":_vm.$t('settings.style.fonts._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.fonts.help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearFonts}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"ui\",\"label\":_vm.$t('settings.style.fonts.components.interface'),\"fallback\":_vm.previewTheme.fonts.interface,\"no-inherit\":\"1\"},model:{value:(_vm.fontsLocal.interface),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"interface\", $$v)},expression:\"fontsLocal.interface\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"input\",\"label\":_vm.$t('settings.style.fonts.components.input'),\"fallback\":_vm.previewTheme.fonts.input},model:{value:(_vm.fontsLocal.input),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"input\", $$v)},expression:\"fontsLocal.input\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"post\",\"label\":_vm.$t('settings.style.fonts.components.post'),\"fallback\":_vm.previewTheme.fonts.post},model:{value:(_vm.fontsLocal.post),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"post\", $$v)},expression:\"fontsLocal.post\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"postCode\",\"label\":_vm.$t('settings.style.fonts.components.postCode'),\"fallback\":_vm.previewTheme.fonts.postCode},model:{value:(_vm.fontsLocal.postCode),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"postCode\", $$v)},expression:\"fontsLocal.postCode\"}})],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"apply-container\"},[_c('button',{staticClass:\"btn submit\",attrs:{\"disabled\":!_vm.themeValid},on:{\"click\":_vm.setCustomTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.apply'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearAll}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.reset'))+\"\\n \")])])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\n\nimport DataImportExportTab from './tabs/data_import_export_tab.vue'\nimport MutesAndBlocksTab from './tabs/mutes_and_blocks_tab.vue'\nimport NotificationsTab from './tabs/notifications_tab.vue'\nimport FilteringTab from './tabs/filtering_tab.vue'\nimport SecurityTab from './tabs/security_tab/security_tab.vue'\nimport ProfileTab from './tabs/profile_tab.vue'\nimport GeneralTab from './tabs/general_tab.vue'\nimport VersionTab from './tabs/version_tab.vue'\nimport ThemeTab from './tabs/theme_tab/theme_tab.vue'\n\nconst SettingsModalContent = {\n components: {\n TabSwitcher,\n\n DataImportExportTab,\n MutesAndBlocksTab,\n NotificationsTab,\n FilteringTab,\n SecurityTab,\n ProfileTab,\n GeneralTab,\n VersionTab,\n ThemeTab\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n }\n }\n}\n\nexport default SettingsModalContent\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./settings_modal_content.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./settings_modal_content.js\"\nimport __vue_script__ from \"!!babel-loader!./settings_modal_content.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4edb68b6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./settings_modal_content.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tab-switcher',{ref:\"tabSwitcher\",staticClass:\"settings_tab-switcher\",attrs:{\"side-tab-bar\":true,\"scrollable-tabs\":true}},[_c('div',{attrs:{\"label\":_vm.$t('settings.general'),\"icon\":\"wrench\"}},[_c('GeneralTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.profile_tab'),\"icon\":\"user\"}},[_c('ProfileTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.security_tab'),\"icon\":\"lock\"}},[_c('SecurityTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.filtering'),\"icon\":\"filter\"}},[_c('FilteringTab')],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.theme'),\"icon\":\"brush\"}},[_c('ThemeTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.notifications'),\"icon\":\"bell-ringing-o\"}},[_c('NotificationsTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.data_import_export_tab'),\"icon\":\"download\"}},[_c('DataImportExportTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.mutes_and_blocks'),\"fullHeight\":true,\"icon\":\"eye-off\"}},[_c('MutesAndBlocksTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.version.title'),\"icon\":\"info-circled\"}},[_c('VersionTab')],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/2.f8dee9318a6f84ea92c3.js b/priv/static/static/js/2.f8dee9318a6f84ea92c3.js deleted file mode 100644 index b9f190615..000000000 --- a/priv/static/static/js/2.f8dee9318a6f84ea92c3.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{566:function(t,e,s){var n=s(567);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("a45e17ec",n,!0,{})},567:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".settings_tab-switcher{height:100%}.settings_tab-switcher .setting-item{border-bottom:2px solid var(--fg,#182230);margin:1em 1em 1.4em;padding-bottom:1.4em}.settings_tab-switcher .setting-item>div{margin-bottom:.5em}.settings_tab-switcher .setting-item>div:last-child{margin-bottom:0}.settings_tab-switcher .setting-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:1em}.settings_tab-switcher .setting-item select{min-width:10em}.settings_tab-switcher .setting-item textarea{width:100%;max-width:100%;height:100px}.settings_tab-switcher .setting-item .unavailable,.settings_tab-switcher .setting-item .unavailable i{color:var(--cRed,red);color:red}.settings_tab-switcher .setting-item .number-input{max-width:6em}",""])},568:function(t,e,s){var n=s(569);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("5bed876c",n,!0,{})},569:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".importer-uploading{font-size:1.5em;margin:.25em}",""])},570:function(t,e,s){var n=s(571);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("432fc7c6",n,!0,{})},571:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".exporter-processing{font-size:1.5em;margin:.25em}",""])},572:function(t,e,s){var n=s(573);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("33ca0d90",n,!0,{})},573:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".mutes-and-blocks-tab{height:100%}.mutes-and-blocks-tab .usersearch-wrapper{padding:1em}.mutes-and-blocks-tab .bulk-actions{text-align:right;padding:0 1em;min-height:28px}.mutes-and-blocks-tab .bulk-action-button{width:10em}.mutes-and-blocks-tab .domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.mutes-and-blocks-tab .domain-mute-button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}",""])},574:function(t,e,s){var n=s(575);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("3a9ec1bf",n,!0,{})},575:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".autosuggest{position:relative}.autosuggest-input{display:block;width:100%}.autosuggest-results{position:absolute;left:0;top:100%;right:0;max-height:400px;background-color:#121a24;background-color:var(--bg,#121a24);border-color:#222;border:1px solid var(--border,#222);border-radius:4px;border-radius:var(--inputRadius,4px);border-top-left-radius:0;border-top-right-radius:0;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);overflow-y:auto;z-index:1}",""])},576:function(t,e,s){var n=s(577);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("211aa67c",n,!0,{})},577:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".block-card-content-container{margin-top:.5em;text-align:right}.block-card-content-container button{width:10em}",""])},578:function(t,e,s){var n=s(579);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("7ea980e0",n,!0,{})},579:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".mute-card-content-container{margin-top:.5em;text-align:right}.mute-card-content-container button{width:10em}",""])},580:function(t,e,s){var n=s(581);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("39a942c3",n,!0,{})},581:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".domain-mute-card{-ms-flex:1 0;flex:1 0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:.6em 1em .6em 0}.domain-mute-card-domain{margin-right:1em;overflow:hidden;text-overflow:ellipsis}.domain-mute-card button{width:10em}.autosuggest-results .domain-mute-card{padding-left:1em}",""])},582:function(t,e,s){var n=s(583);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("3724291e",n,!0,{})},583:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".selectable-list-item-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.selectable-list-item-inner>*{min-width:0}.selectable-list-item-selected-inner{background-color:#151e2a;background-color:var(--selectedMenu,#151e2a);color:var(--selectedMenuText,#b9b9ba);--faint:var(--selectedMenuFaintText,$fallback--faint);--faintLink:var(--selectedMenuFaintLink,$fallback--faint);--lightText:var(--selectedMenuLightText,$fallback--lightText);--icon:var(--selectedMenuIcon,$fallback--icon)}.selectable-list-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.6em 0;border-bottom:2px solid;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.selectable-list-header-actions{-ms-flex:1;flex:1}.selectable-list-checkbox-wrapper{padding:0 10px;-ms-flex:none;flex:none}",""])},584:function(t,e,s){},588:function(t,e,s){var n=s(589);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("a588473e",n,!0,{})},589:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".mfa-settings .method-item,.mfa-settings .mfa-heading{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline}.mfa-settings .warning{color:orange;color:var(--cOrange,orange)}.mfa-settings .setup-otp{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.mfa-settings .setup-otp .qr-code{-ms-flex:1;flex:1;padding-right:10px}.mfa-settings .setup-otp .verify{-ms-flex:1;flex:1}.mfa-settings .setup-otp .error{margin:4px 0 0}.mfa-settings .setup-otp .confirm-otp-actions button{width:15em;margin-top:5px}",""])},590:function(t,e,s){var n=s(591);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("4065bf15",n,!0,{})},591:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".mfa-backup-codes .warning{color:orange;color:var(--cOrange,orange)}.mfa-backup-codes .backup-codes{font-family:var(--postCodeFont,monospace)}",""])},593:function(t,e,s){var n=s(594);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("27925ae8",n,!0,{})},594:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".profile-tab .bio{margin:0}.profile-tab .visibility-tray{padding-top:5px}.profile-tab input[type=file]{padding:5px;height:auto}.profile-tab .banner{max-width:100%}.profile-tab .uploading{font-size:1.5em;margin:.25em}.profile-tab .name-changer{width:100%}.profile-tab .bg{max-width:100%}.profile-tab .current-avatar{display:block;width:150px;height:150px;border-radius:4px;border-radius:var(--avatarRadius,4px)}.profile-tab .oauth-tokens{width:100%}.profile-tab .oauth-tokens th{text-align:left}.profile-tab .oauth-tokens .actions{text-align:right}.profile-tab-usersearch-wrapper{padding:1em}.profile-tab-bulk-actions{text-align:right;padding:0 1em;min-height:28px}.profile-tab-bulk-actions button{width:10em}.profile-tab-domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.profile-tab-domain-mute-form button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}.profile-tab .setting-subitem{margin-left:1.75em}.profile-tab .profile-fields{display:-ms-flexbox;display:flex}.profile-tab .profile-fields>.emoji-input{-ms-flex:1 1 auto;flex:1 1 auto;margin:0 .2em .5em}.profile-tab .profile-fields>.icon-container{width:20px}.profile-tab .profile-fields>.icon-container>.icon-cancel{vertical-align:sub}",""])},595:function(t,e,s){var n=s(596);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("0dfd0b33",n,!0,{})},596:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".image-cropper-img-input{display:none}.image-cropper-image-container{position:relative}.image-cropper-image-container img{display:block;max-width:100%}.image-cropper-buttons-wrapper{margin-top:10px}.image-cropper-buttons-wrapper button{margin-top:5px}",""])},599:function(t,e,s){var n=s(600);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("4fafab12",n,!0,{})},600:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".theme-tab{padding-bottom:2em}.theme-tab .theme-warning{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:.5em}.theme-tab .theme-warning .buttons .btn{margin-bottom:.5em}.theme-tab .preset-switcher{margin-right:1em}.theme-tab .style-control{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:5px}.theme-tab .style-control .label{-ms-flex:1;flex:1}.theme-tab .style-control.disabled input,.theme-tab .style-control.disabled select{opacity:.5}.theme-tab .style-control .opt{margin:.5em}.theme-tab .style-control .color-input{-ms-flex:0 0 0px;flex:0 0 0}.theme-tab .style-control input,.theme-tab .style-control select{min-width:3em;margin:0;-ms-flex:0;flex:0}.theme-tab .style-control input[type=number],.theme-tab .style-control select[type=number]{min-width:5em}.theme-tab .style-control input[type=range],.theme-tab .style-control select[type=range]{-ms-flex:1;flex:1;min-width:3em;-ms-flex-item-align:start;align-self:flex-start}.theme-tab .reset-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .apply-container,.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .radius-container,.theme-tab .reset-container{display:-ms-flexbox;display:flex}.theme-tab .fonts-container,.theme-tab .radius-container{-ms-flex-direction:column;flex-direction:column}.theme-tab .color-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.theme-tab .color-container>h4{width:99%}.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .presets-container,.theme-tab .radius-container,.theme-tab .shadow-container{margin:1em 1em 0}.theme-tab .tab-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline;width:100%;min-height:30px;margin-bottom:1em}.theme-tab .tab-header p{-ms-flex:1;flex:1;margin:0;margin-right:.5em}.theme-tab .tab-header-buttons{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.theme-tab .tab-header-buttons .btn{min-width:1px;-ms-flex:0 auto;flex:0 auto;padding:0 1em;margin-bottom:.5em}.theme-tab .shadow-selector .override{-ms-flex:1;flex:1;margin-left:.5em}.theme-tab .shadow-selector .select-container{margin-top:-4px;margin-bottom:-3px}.theme-tab .save-load,.theme-tab .save-load-options{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .save-load-options .import-export,.theme-tab .save-load-options .presets,.theme-tab .save-load .import-export,.theme-tab .save-load .presets{margin-bottom:.5em}.theme-tab .save-load-options .import-export,.theme-tab .save-load .import-export{display:-ms-flexbox;display:flex}.theme-tab .save-load-options .override,.theme-tab .save-load .override{margin-left:.5em}.theme-tab .save-load-options{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:.5em;-ms-flex-pack:center;justify-content:center}.theme-tab .save-load-options .keep-option{margin:0 .5em .5em;min-width:25%}.theme-tab .preview-container{border-top:1px dashed;border-bottom:1px dashed;border-color:#222;border-color:var(--border,#222);margin:1em 0;padding:1em;background:var(--body-background-image);background-size:cover;background-position:50% 50%}.theme-tab .preview-container .dummy .post{font-family:var(--postFont);display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .post .content h4{margin-bottom:.25em}.theme-tab .preview-container .dummy .post .content .icons{margin-top:.5em;display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content .icons i{margin-right:1em}.theme-tab .preview-container .dummy .after-post{margin-top:1em;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.theme-tab .preview-container .dummy .avatar,.theme-tab .preview-container .dummy .avatar-alt{background:linear-gradient(135deg,#b8e1fc,#a9d2f3 10%,#90bae4 25%,#90bcea 37%,#90bff0 50%,#6ba8e5 51%,#a2daf5 83%,#bdf3fd);color:#000;font-family:sans-serif;text-align:center;margin-right:1em}.theme-tab .preview-container .dummy .avatar-alt{-ms-flex:0 auto;flex:0 auto;margin-left:28px;font-size:12px;min-width:20px;min-height:20px;line-height:20px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}.theme-tab .preview-container .dummy .avatar{-ms-flex:0 auto;flex:0 auto;width:48px;height:48px;font-size:14px;line-height:48px}.theme-tab .preview-container .dummy .actions{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .preview-container .dummy .actions .checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:baseline;align-items:baseline;margin-right:1em;-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .separator{margin:1em;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.theme-tab .preview-container .dummy .panel-heading .alert,.theme-tab .preview-container .dummy .panel-heading .badge,.theme-tab .preview-container .dummy .panel-heading .btn,.theme-tab .preview-container .dummy .panel-heading .faint{margin-left:1em;white-space:nowrap}.theme-tab .preview-container .dummy .panel-heading .faint{text-overflow:ellipsis;min-width:2em;overflow-x:hidden}.theme-tab .preview-container .dummy .panel-heading .flex-spacer{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .btn{margin-left:0;padding:0 1em;min-width:3em;min-height:30px}.theme-tab .apply-container{-ms-flex-pack:center;justify-content:center}.theme-tab .color-item,.theme-tab .radius-item{min-width:20em;margin:5px 6px 0 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 0px;flex:1 1 0}.theme-tab .color-item.wide,.theme-tab .radius-item.wide{min-width:60%}.theme-tab .color-item:not(.wide):nth-child(odd),.theme-tab .radius-item:not(.wide):nth-child(odd){margin-right:7px}.theme-tab .color-item .color,.theme-tab .color-item .opacity,.theme-tab .radius-item .color,.theme-tab .radius-item .opacity{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .radius-item{-ms-flex-preferred-size:auto;flex-basis:auto}.theme-tab .theme-color-cl,.theme-tab .theme-radius-rn{border:0;box-shadow:none;background:transparent;color:var(--faint,hsla(240,1%,73%,.5));-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.theme-tab .theme-color-cl,.theme-tab .theme-color-in,.theme-tab .theme-radius-in{margin-left:4px}.theme-tab .theme-radius-in{min-width:1em;max-width:7em;-ms-flex:1;flex:1}.theme-tab .theme-radius-lb{max-width:50em}.theme-tab .theme-preview-content{padding:20px}.theme-tab .apply-container .btn{min-height:28px;min-width:10em;padding:0 2em}.theme-tab .btn{margin-left:.25em;margin-right:.25em}",""])},601:function(t,e,s){var n=s(602);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("7e57f952",n,!0,{})},602:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,'.color-input,.color-input-field.input{display:-ms-inline-flexbox;display:inline-flex}.color-input-field.input{-ms-flex:0 0 0px;flex:0 0 0;max-width:9em;-ms-flex-align:stretch;align-items:stretch;padding:.2em 8px}.color-input-field.input input{background:none;color:#b9b9ba;color:var(--inputText,#b9b9ba);border:none;padding:0;margin:0}.color-input-field.input input.textColor{-ms-flex:1 0 3em;flex:1 0 3em;min-width:3em;padding:0}.color-input-field.input .computedIndicator,.color-input-field.input .transparentIndicator,.color-input-field.input input.nativeColor{-ms-flex:0 0 2em;flex:0 0 2em;min-width:2em;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:100%}.color-input-field.input .transparentIndicator{background-color:#f0f;position:relative}.color-input-field.input .transparentIndicator:after,.color-input-field.input .transparentIndicator:before{display:block;content:"";background-color:#000;position:absolute;height:50%;width:50%}.color-input-field.input .transparentIndicator:after{top:0;left:0}.color-input-field.input .transparentIndicator:before{bottom:0;right:0}.color-input .label{-ms-flex:1 1 auto;flex:1 1 auto}',""])},603:function(t,e,s){var n=s(604);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("6c632637",n,!0,{})},604:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".color-control input.text-input{max-width:7em;-ms-flex:1;flex:1}",""])},605:function(t,e,s){var n=s(606);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("d219da80",n,!0,{})},606:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".shadow-control{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin-bottom:1em}.shadow-control .shadow-preview-container,.shadow-control .shadow-tweak{margin:5px 6px 0 0}.shadow-control .shadow-preview-container{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.shadow-control .shadow-preview-container input[type=number]{width:5em;min-width:2em}.shadow-control .shadow-preview-container .x-shift-control,.shadow-control .shadow-preview-container .y-shift-control{display:-ms-flexbox;display:flex;-ms-flex:0;flex:0}.shadow-control .shadow-preview-container .x-shift-control[disabled=disabled] *,.shadow-control .shadow-preview-container .y-shift-control[disabled=disabled] *{opacity:.5}.shadow-control .shadow-preview-container .x-shift-control{-ms-flex-align:start;align-items:flex-start}.shadow-control .shadow-preview-container .x-shift-control .wrap,.shadow-control .shadow-preview-container input[type=range]{margin:0;width:15em;height:2em}.shadow-control .shadow-preview-container .y-shift-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end}.shadow-control .shadow-preview-container .y-shift-control .wrap{width:2em;height:15em}.shadow-control .shadow-preview-container .y-shift-control input[type=range]{transform-origin:1em 1em;transform:rotate(90deg)}.shadow-control .shadow-preview-container .preview-window{-ms-flex:1;flex:1;background-color:#999;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-image:linear-gradient(45deg,#666 25%,transparent 0),linear-gradient(-45deg,#666 25%,transparent 0),linear-gradient(45deg,transparent 75%,#666 0),linear-gradient(-45deg,transparent 75%,#666 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-radius:4px;border-radius:var(--inputRadius,4px)}.shadow-control .shadow-preview-container .preview-window .preview-block{width:33%;height:33%;background-color:#121a24;background-color:var(--bg,#121a24);border-radius:10px;border-radius:var(--panelRadius,10px)}.shadow-control .shadow-tweak{-ms-flex:1;flex:1;min-width:280px}.shadow-control .shadow-tweak .id-control{-ms-flex-align:stretch;align-items:stretch}.shadow-control .shadow-tweak .id-control .btn,.shadow-control .shadow-tweak .id-control .select{min-width:1px;margin-right:5px}.shadow-control .shadow-tweak .id-control .btn{padding:0 .4em;margin:0 .1em}.shadow-control .shadow-tweak .id-control .select{-ms-flex:1;flex:1}.shadow-control .shadow-tweak .id-control .select select{-ms-flex-item-align:initial;-ms-grid-row-align:initial;align-self:auto}",""])},607:function(t,e,s){var n=s(608);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("d9c0acde",n,!0,{})},608:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".font-control input.custom-font{min-width:10em}.font-control.custom .select{border-top-right-radius:0;border-bottom-right-radius:0}.font-control.custom .custom-font{border-top-left-radius:0;border-bottom-left-radius:0}",""])},609:function(t,e,s){var n=s(610);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("b94bc120",n,!0,{})},610:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".contrast-ratio{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:-4px;margin-bottom:5px}.contrast-ratio .label{margin-right:1em}.contrast-ratio .rating{display:inline-block;text-align:center}",""])},611:function(t,e,s){var n=s(612);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("66a4eaba",n,!0,{})},612:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".import-export-container{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:baseline;align-items:baseline;-ms-flex-pack:center;justify-content:center}",""])},613:function(t,e,s){var n=s(614);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(4).default)("6fe23c76",n,!0,{})},614:function(t,e,s){(t.exports=s(3)(!1)).push([t.i,".preview-container{position:relative}.underlay-preview{position:absolute;top:0;bottom:0;left:10px;right:10px}",""])},616:function(t,e,s){"use strict";s.r(e);var n=s(130),a={props:{submitHandler:{type:Function,required:!0},submitButtonLabel:{type:String,default:function(){return this.$t("importer.submit")}},successMessage:{type:String,default:function(){return this.$t("importer.success")}},errorMessage:{type:String,default:function(){return this.$t("importer.error")}}},data:function(){return{file:null,error:!1,success:!1,submitting:!1}},methods:{change:function(){this.file=this.$refs.input.files[0]},submit:function(){var t=this;this.dismiss(),this.submitting=!0,this.submitHandler(this.file).then(function(){t.success=!0}).catch(function(){t.error=!0}).finally(function(){t.submitting=!1})},dismiss:function(){this.success=!1,this.error=!1}}},o=s(0);var i=function(t){s(568)},r=Object(o.a)(a,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"importer"},[s("form",[s("input",{ref:"input",attrs:{type:"file"},on:{change:t.change}})]),t._v(" "),t.submitting?s("i",{staticClass:"icon-spin4 animate-spin importer-uploading"}):s("button",{staticClass:"btn btn-default",on:{click:t.submit}},[t._v("\n "+t._s(t.submitButtonLabel)+"\n ")]),t._v(" "),t.success?s("div",[s("i",{staticClass:"icon-cross",on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.successMessage))])]):t.error?s("div",[s("i",{staticClass:"icon-cross",on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.errorMessage))])]):t._e()])},[],!1,i,null,null).exports,l={props:{getContent:{type:Function,required:!0},filename:{type:String,default:"export.csv"},exportButtonLabel:{type:String,default:function(){return this.$t("exporter.export")}},processingMessage:{type:String,default:function(){return this.$t("exporter.processing")}}},data:function(){return{processing:!1}},methods:{process:function(){var t=this;this.processing=!0,this.getContent().then(function(e){var s=document.createElement("a");s.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),s.setAttribute("download",t.filename),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout(function(){t.processing=!1},2e3)})}}};var c=function(t){s(570)},u=Object(o.a)(l,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"exporter"},[t.processing?s("div",[s("i",{staticClass:"icon-spin4 animate-spin exporter-processing"}),t._v(" "),s("span",[t._v(t._s(t.processingMessage))])]):s("button",{staticClass:"btn btn-default",on:{click:t.process}},[t._v("\n "+t._s(t.exportButtonLabel)+"\n ")])])},[],!1,c,null,null).exports,d=s(46),p={data:function(){return{activeTab:"profile",newDomainToMute:""}},created:function(){this.$store.dispatch("fetchTokens")},components:{Importer:r,Exporter:u,Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser}},methods:{getFollowsContent:function(){return this.$store.state.api.backendInteractor.exportFriends({id:this.$store.state.users.currentUser.id}).then(this.generateExportableUsersContent)},getBlocksContent:function(){return this.$store.state.api.backendInteractor.fetchBlocks().then(this.generateExportableUsersContent)},importFollows:function(t){return this.$store.state.api.backendInteractor.importFollows({file:t}).then(function(t){if(!t)throw new Error("failed")})},importBlocks:function(t){return this.$store.state.api.backendInteractor.importBlocks({file:t}).then(function(t){if(!t)throw new Error("failed")})},generateExportableUsersContent:function(t){return t.map(function(t){return t&&t.is_local?t.screen_name+"@"+location.hostname:t.screen_name}).join("\n")}}},m=Object(o.a)(p,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.data_import_export_tab")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.follow_import")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.import_followers_from_a_csv_file")))]),t._v(" "),s("Importer",{attrs:{"submit-handler":t.importFollows,"success-message":t.$t("settings.follows_imported"),"error-message":t.$t("settings.follow_import_error")}})],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.follow_export")))]),t._v(" "),s("Exporter",{attrs:{"get-content":t.getFollowsContent,filename:"friends.csv","export-button-label":t.$t("settings.follow_export_button")}})],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.block_import")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.import_blocks_from_a_csv_file")))]),t._v(" "),s("Importer",{attrs:{"submit-handler":t.importBlocks,"success-message":t.$t("settings.blocks_imported"),"error-message":t.$t("settings.block_import_error")}})],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.block_export")))]),t._v(" "),s("Exporter",{attrs:{"get-content":t.getBlocksContent,filename:"blocks.csv","export-button-label":t.$t("settings.block_export_button")}})],1)])},[],!1,null,null,null).exports,v=s(10),h=s.n(v),f=s(13),b=s.n(f),g=s(177),_=s.n(g),w={props:{query:{type:Function,required:!0},filter:{type:Function},placeholder:{type:String,default:"Search..."}},data:function(){return{term:"",timeout:null,results:[],resultsVisible:!1}},computed:{filtered:function(){return this.filter?this.filter(this.results):this.results}},watch:{term:function(t){this.fetchResults(t)}},methods:{fetchResults:function(t){var e=this;clearTimeout(this.timeout),this.timeout=setTimeout(function(){e.results=[],t&&e.query(t).then(function(t){e.results=t})},500)},onInputClick:function(){this.resultsVisible=!0},onClickOutside:function(){this.resultsVisible=!1}}};var x=function(t){s(574)},C=Object(o.a)(w,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.onClickOutside,expression:"onClickOutside"}],staticClass:"autosuggest"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.term,expression:"term"}],staticClass:"autosuggest-input",attrs:{placeholder:t.placeholder},domProps:{value:t.term},on:{click:t.onInputClick,input:function(e){e.target.composing||(t.term=e.target.value)}}}),t._v(" "),t.resultsVisible&&t.filtered.length>0?s("div",{staticClass:"autosuggest-results"},[t._l(t.filtered,function(e){return t._t("default",null,{item:e})})],2):t._e()])},[],!1,x,null,null).exports,k=s(54),y={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},blocked:function(){return this.relationship.blocking}},components:{BasicUserCard:k.a},methods:{unblockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unblockUser",this.user.id).then(function(){t.progress=!1})},blockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("blockUser",this.user.id).then(function(){t.progress=!1})}}};var $=function(t){s(576)},L=Object(o.a)(y,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"block-card-content-container"},[t.blocked?s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.unblockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n ")]],2):s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.blockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.block"))+"\n ")]],2)])])},[],!1,$,null,null).exports,T={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},muted:function(){return this.relationship.muting}},components:{BasicUserCard:k.a},methods:{unmuteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unmuteUser",this.userId).then(function(){t.progress=!1})},muteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("muteUser",this.userId).then(function(){t.progress=!1})}}};var O=function(t){s(578)},P=Object(o.a)(T,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"mute-card-content-container"},[t.muted?s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.unmuteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n ")]],2):s("button",{staticClass:"btn btn-default",attrs:{disabled:t.progress},on:{click:t.muteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n ")]],2)])])},[],!1,O,null,null).exports,S=s(77),j={props:["domain"],components:{ProgressButton:S.a},computed:{user:function(){return this.$store.state.users.currentUser},muted:function(){return this.user.domainMutes.includes(this.domain)}},methods:{unmuteDomain:function(){return this.$store.dispatch("unmuteDomain",this.domain)},muteDomain:function(){return this.$store.dispatch("muteDomain",this.domain)}}};var I=function(t){s(580)},E=Object(o.a)(j,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"domain-mute-card"},[s("div",{staticClass:"domain-mute-card-domain"},[t._v("\n "+t._s(t.domain)+"\n ")]),t._v(" "),t.muted?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:t.unmuteDomain}},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")])],2):s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:t.muteDomain}},[t._v("\n "+t._s(t.$t("domain_mute_card.mute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("domain_mute_card.mute_progress"))+"\n ")])],2)],1)},[],!1,I,null,null).exports,R={components:{List:s(73).a,Checkbox:d.a},props:{items:{type:Array,default:function(){return[]}},getKey:{type:Function,default:function(t){return t.id}}},data:function(){return{selected:[]}},computed:{allKeys:function(){return this.items.map(this.getKey)},filteredSelected:function(){var t=this;return this.allKeys.filter(function(e){return-1!==t.selected.indexOf(e)})},allSelected:function(){return this.filteredSelected.length===this.items.length},noneSelected:function(){return 0===this.filteredSelected.length},someSelected:function(){return!this.allSelected&&!this.noneSelected}},methods:{isSelected:function(t){return-1!==this.filteredSelected.indexOf(this.getKey(t))},toggle:function(t,e){var s=this.getKey(e);t!==this.isSelected(s)&&(t?this.selected.push(s):this.selected.splice(this.selected.indexOf(s),1))},toggleAll:function(t){this.selected=t?this.allKeys.slice(0):[]}}};var F=function(t){s(582)},B=Object(o.a)(R,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"selectable-list"},[t.items.length>0?s("div",{staticClass:"selectable-list-header"},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.allSelected,indeterminate:t.someSelected},on:{change:t.toggleAll}},[t._v("\n "+t._s(t.$t("selectable_list.select_all"))+"\n ")])],1),t._v(" "),s("div",{staticClass:"selectable-list-header-actions"},[t._t("header",null,{selected:t.filteredSelected})],2)]):t._e(),t._v(" "),s("List",{attrs:{items:t.items,"get-key":t.getKey},scopedSlots:t._u([{key:"item",fn:function(e){var n=e.item;return[s("div",{staticClass:"selectable-list-item-inner",class:{"selectable-list-item-selected-inner":t.isSelected(n)}},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.isSelected(n)},on:{change:function(e){return t.toggle(e,n)}}})],1),t._v(" "),t._t("item",null,{item:n})],2)]}}],null,!0)},[t._v(" "),s("template",{slot:"empty"},[t._t("empty")],2)],2)],1)},[],!1,F,null,null).exports,V=s(178),U=s.n(V),D=s(5),N=s.n(D),A=s(1),M=s.n(A),W=s(9),z=s.n(W),q=s(6),G=s.n(q),H=s(179),K=s.n(H),J=s(180);s(584);function Q(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,n)}return s}function X(t){for(var e=1;e0?s("ProgressButton",{staticClass:"btn btn-default bulk-action-button",attrs:{click:function(){return t.blockUsers(n)}}},[t._v("\n "+t._s(t.$t("user_card.block"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")])],2):t._e(),t._v(" "),n.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.unblockUsers(n)}}},[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")])],2):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("BlockCard",{attrs:{"user-id":e}})]}}])},[t._v(" "),t._v(" "),s("template",{slot:"empty"},[t._v("\n "+t._s(t.$t("settings.no_blocks"))+"\n ")])],2)],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.mutes_tab")}},[s("tab-switcher",[s("div",{attrs:{label:"Users"}},[s("div",{staticClass:"usersearch-wrapper"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedUsers,query:t.queryUserIds,placeholder:t.$t("settings.search_user_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return s("MuteCard",{attrs:{"user-id":t.item}})}}])})],1),t._v(" "),s("MuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var n=e.selected;return[s("div",{staticClass:"bulk-actions"},[n.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.muteUsers(n)}}},[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")])],2):t._e(),t._v(" "),n.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.unmuteUsers(n)}}},[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")])],2):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("MuteCard",{attrs:{"user-id":e}})]}}])},[t._v(" "),t._v(" "),s("template",{slot:"empty"},[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")])],2)],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.domain_mutes")}},[s("div",{staticClass:"domain-mute-form"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedDomains,query:t.queryKnownDomains,placeholder:t.$t("settings.type_domains_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return s("DomainMuteCard",{attrs:{domain:t.item}})}}])})],1),t._v(" "),s("DomainMuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var n=e.selected;return[s("div",{staticClass:"bulk-actions"},[n.length>0?s("ProgressButton",{staticClass:"btn btn-default",attrs:{click:function(){return t.unmuteDomains(n)}}},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n "),s("template",{slot:"progress"},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")])],2):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("DomainMuteCard",{attrs:{domain:e}})]}}])},[t._v(" "),t._v(" "),s("template",{slot:"empty"},[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")])],2)],1)])],1)])},[],!1,nt,null,null).exports,ot={data:function(){return{activeTab:"profile",notificationSettings:this.$store.state.users.currentUser.notification_settings,newDomainToMute:""}},components:{Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser}},methods:{updateNotificationSettings:function(){this.$store.state.api.backendInteractor.updateNotificationSettings({settings:this.notificationSettings})}}},it=Object(o.a)(ot,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.notifications")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_filters")))]),t._v(" "),s("div",{staticClass:"select-multiple"},[s("span",{staticClass:"label"},[t._v(t._s(t.$t("settings.notification_setting")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("Checkbox",{model:{value:t.notificationSettings.follows,callback:function(e){t.$set(t.notificationSettings,"follows",e)},expression:"notificationSettings.follows"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_follows"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationSettings.followers,callback:function(e){t.$set(t.notificationSettings,"followers",e)},expression:"notificationSettings.followers"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_followers"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationSettings.non_follows,callback:function(e){t.$set(t.notificationSettings,"non_follows",e)},expression:"notificationSettings.non_follows"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_non_follows"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationSettings.non_followers,callback:function(e){t.$set(t.notificationSettings,"non_followers",e)},expression:"notificationSettings.non_followers"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_non_followers"))+"\n ")])],1)])])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_privacy")))]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.notificationSettings.privacy_option,callback:function(e){t.$set(t.notificationSettings,"privacy_option",e)},expression:"notificationSettings.privacy_option"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_privacy_option"))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("p",[t._v(t._s(t.$t("settings.notification_mutes")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.notification_blocks")))]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.updateNotificationSettings}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")])])])},[],!1,null,null,null).exports,rt=s(585),lt=s.n(rt),ct=s(35),ut=s.n(ct),dt=s(94);function pt(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,n)}return s}function mt(t){for(var e=1;e0})})}}}),watch:{notificationVisibility:{handler:function(t){this.$store.dispatch("setOption",{name:"notificationVisibility",value:this.$store.getters.mergedConfig.notificationVisibility})},deep:!0},replyVisibility:function(){this.$store.dispatch("queueFlushAll")}}},bt=Object(o.a)(ft,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.filtering")}},[s("div",{staticClass:"setting-item"},[s("div",{staticClass:"select-multiple"},[s("span",{staticClass:"label"},[t._v(t._s(t.$t("settings.notification_visibility")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("Checkbox",{model:{value:t.notificationVisibility.likes,callback:function(e){t.$set(t.notificationVisibility,"likes",e)},expression:"notificationVisibility.likes"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_likes"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.repeats,callback:function(e){t.$set(t.notificationVisibility,"repeats",e)},expression:"notificationVisibility.repeats"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_repeats"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.follows,callback:function(e){t.$set(t.notificationVisibility,"follows",e)},expression:"notificationVisibility.follows"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_follows"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.mentions,callback:function(e){t.$set(t.notificationVisibility,"mentions",e)},expression:"notificationVisibility.mentions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_mentions"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.moves,callback:function(e){t.$set(t.notificationVisibility,"moves",e)},expression:"notificationVisibility.moves"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_moves"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.notificationVisibility.emojiReactions,callback:function(e){t.$set(t.notificationVisibility,"emojiReactions",e)},expression:"notificationVisibility.emojiReactions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_emoji_reactions"))+"\n ")])],1)])]),t._v(" "),s("div",[t._v("\n "+t._s(t.$t("settings.replies_in_timeline"))+"\n "),s("label",{staticClass:"select",attrs:{for:"replyVisibility"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.replyVisibility,expression:"replyVisibility"}],attrs:{id:"replyVisibility"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.replyVisibility=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"all",selected:""}},[t._v(t._s(t.$t("settings.reply_visibility_all")))]),t._v(" "),s("option",{attrs:{value:"following"}},[t._v(t._s(t.$t("settings.reply_visibility_following")))]),t._v(" "),s("option",{attrs:{value:"self"}},[t._v(t._s(t.$t("settings.reply_visibility_self")))])]),t._v(" "),s("i",{staticClass:"icon-down-open"})])]),t._v(" "),s("div",[s("Checkbox",{model:{value:t.hidePostStats,callback:function(e){t.hidePostStats=e},expression:"hidePostStats"}},[t._v("\n "+t._s(t.$t("settings.hide_post_stats"))+" "+t._s(t.$t("settings.instance_default",{value:t.hidePostStatsLocalizedValue}))+"\n ")])],1),t._v(" "),s("div",[s("Checkbox",{model:{value:t.hideUserStats,callback:function(e){t.hideUserStats=e},expression:"hideUserStats"}},[t._v("\n "+t._s(t.$t("settings.hide_user_stats"))+" "+t._s(t.$t("settings.instance_default",{value:t.hideUserStatsLocalizedValue}))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("div",[s("p",[t._v(t._s(t.$t("settings.filtering_explanation")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.muteWordsString,expression:"muteWordsString"}],attrs:{id:"muteWords"},domProps:{value:t.muteWordsString},on:{input:function(e){e.target.composing||(t.muteWordsString=e.target.value)}}})]),t._v(" "),s("div",[s("Checkbox",{model:{value:t.hideFilteredStatuses,callback:function(e){t.hideFilteredStatuses=e},expression:"hideFilteredStatuses"}},[t._v("\n "+t._s(t.$t("settings.hide_filtered_statuses"))+" "+t._s(t.$t("settings.instance_default",{value:t.hideFilteredStatusesLocalizedValue}))+"\n ")])],1)])])},[],!1,null,null,null).exports,gt=s(2),_t=s.n(gt),wt={props:{backupCodes:{type:Object,default:function(){return{inProgress:!1,codes:[]}}}},data:function(){return{}},computed:{inProgress:function(){return this.backupCodes.inProgress},ready:function(){return this.backupCodes.codes.length>0},displayTitle:function(){return this.inProgress||this.ready}}};var xt=function(t){s(590)},Ct=Object(o.a)(wt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"mfa-backup-codes"},[t.displayTitle?s("h4",[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes"))+"\n ")]):t._e(),t._v(" "),t.inProgress?s("i",[t._v(t._s(t.$t("settings.mfa.waiting_a_recovery_codes")))]):t._e(),t._v(" "),t.ready?[s("p",{staticClass:"alert warning"},[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes_warning"))+"\n ")]),t._v(" "),s("ul",{staticClass:"backup-codes"},t._l(t.backupCodes.codes,function(e){return s("li",{key:e},[t._v("\n "+t._s(e)+"\n ")])}),0)]:t._e()],2)},[],!1,xt,null,null).exports,kt={props:["disabled"],data:function(){return{}},methods:{confirm:function(){this.$emit("confirm")},cancel:function(){this.$emit("cancel")}}},yt=Object(o.a)(kt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t._t("default"),t._v(" "),s("button",{staticClass:"btn btn-default",attrs:{disabled:t.disabled},on:{click:t.confirm}},[t._v("\n "+t._s(t.$t("general.confirm"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn btn-default",attrs:{disabled:t.disabled},on:{click:t.cancel}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])],2)},[],!1,null,null,null).exports,$t=s(7);function Lt(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,n)}return s}var Tt={props:["settings"],data:function(){return{error:!1,currentPassword:"",deactivate:!1,inProgress:!1}},components:{confirm:yt},computed:function(t){for(var e=1;e0},confirmNewBackupCodes:function(){return this.backupCodes.getNewCodes}},Object($t.e)({backendInteractor:function(t){return t.api.backendInteractor}})),methods:{activateOTP:function(){this.settings.enabled||(this.setupState.state="getBackupcodes",this.fetchBackupCodes())},fetchBackupCodes:function(){var t=this;return this.backupCodes.inProgress=!0,this.backupCodes.codes=[],this.backendInteractor.generateMfaBackupCodes().then(function(e){t.backupCodes.codes=e.codes,t.backupCodes.inProgress=!1})},getBackupCodes:function(){this.backupCodes.getNewCodes=!0},confirmBackupCodes:function(){var t=this;this.fetchBackupCodes().then(function(e){t.backupCodes.getNewCodes=!1})},cancelBackupCodes:function(){this.backupCodes.getNewCodes=!1},setupOTP:function(){var t=this;this.setupState.state="setupOTP",this.setupState.setupOTPState="prepare",this.backendInteractor.mfaSetupOTP().then(function(e){t.otpSettings=e,t.setupState.setupOTPState="confirm"})},doConfirmOTP:function(){var t=this;this.error=null,this.backendInteractor.mfaConfirmOTP({token:this.otpConfirmToken,password:this.currentPassword}).then(function(e){e.error?t.error=e.error:t.completeSetup()})},completeSetup:function(){this.setupState.setupOTPState="complete",this.setupState.state="complete",this.currentPassword=null,this.error=null,this.fetchSettings()},cancelSetup:function(){this.setupState.setupOTPState="",this.setupState.state="",this.currentPassword=null,this.error=null},fetchSettings:function(){var t;return _t.a.async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_t.a.awrap(this.backendInteractor.settingsMFA());case 2:if(!(t=e.sent).error){e.next=5;break}return e.abrupt("return");case 5:return this.settings=t.settings,this.settings.available=!0,e.abrupt("return",t);case 8:case"end":return e.stop()}},null,this)}},mounted:function(){var t=this;this.fetchSettings().then(function(){t.readyInit=!0})}};var St=function(t){s(588)},jt=Object(o.a)(Pt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.readyInit&&t.settings.available?s("div",{staticClass:"setting-item mfa-settings"},[s("div",{staticClass:"mfa-heading"},[s("h2",[t._v(t._s(t.$t("settings.mfa.title")))])]),t._v(" "),s("div",[t.setupInProgress?t._e():s("div",{staticClass:"setting-item"},[s("h3",[t._v(t._s(t.$t("settings.mfa.authentication_methods")))]),t._v(" "),s("totp-item",{attrs:{settings:t.settings},on:{deactivate:t.fetchSettings,activate:t.activateOTP}}),t._v(" "),s("br"),t._v(" "),t.settings.enabled?s("div",[t.confirmNewBackupCodes?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.confirmNewBackupCodes?t._e():s("button",{staticClass:"btn btn-default",on:{click:t.getBackupCodes}},[t._v("\n "+t._s(t.$t("settings.mfa.generate_new_recovery_codes"))+"\n ")]),t._v(" "),t.confirmNewBackupCodes?s("div",[s("confirm",{attrs:{disabled:t.backupCodes.inProgress},on:{confirm:t.confirmBackupCodes,cancel:t.cancelBackupCodes}},[s("p",{staticClass:"warning"},[t._v("\n "+t._s(t.$t("settings.mfa.warning_of_generate_new_codes"))+"\n ")])])],1):t._e()],1):t._e()],1),t._v(" "),t.setupInProgress?s("div",[s("h3",[t._v(t._s(t.$t("settings.mfa.setup_otp")))]),t._v(" "),t.setupOTPInProgress?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn btn-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")]):t._e(),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn btn-default",on:{click:t.setupOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.setup_otp"))+"\n ")]):t._e(),t._v(" "),t.setupOTPInProgress?[t.prepareOTP?s("i",[t._v(t._s(t.$t("settings.mfa.wait_pre_setup_otp")))]):t._e(),t._v(" "),t.confirmOTP?s("div",[s("div",{staticClass:"setup-otp"},[s("div",{staticClass:"qr-code"},[s("h4",[t._v(t._s(t.$t("settings.mfa.scan.title")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.scan.desc")))]),t._v(" "),s("qrcode",{attrs:{value:t.otpSettings.provisioning_uri,options:{width:200}}}),t._v(" "),s("p",[t._v("\n "+t._s(t.$t("settings.mfa.scan.secret_code"))+":\n "+t._s(t.otpSettings.key)+"\n ")])],1),t._v(" "),s("div",{staticClass:"verify"},[s("h4",[t._v(t._s(t.$t("general.verify")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.verify.desc")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.otpConfirmToken,expression:"otpConfirmToken"}],attrs:{type:"text"},domProps:{value:t.otpConfirmToken},on:{input:function(e){e.target.composing||(t.otpConfirmToken=e.target.value)}}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.enter_current_password_to_confirm"))+":")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentPassword,expression:"currentPassword"}],attrs:{type:"password"},domProps:{value:t.currentPassword},on:{input:function(e){e.target.composing||(t.currentPassword=e.target.value)}}}),t._v(" "),s("div",{staticClass:"confirm-otp-actions"},[s("button",{staticClass:"btn btn-default",on:{click:t.doConfirmOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.confirm_and_enable"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])]),t._v(" "),t.error?s("div",{staticClass:"alert error"},[t._v("\n "+t._s(t.error)+"\n ")]):t._e()])])]):t._e()]:t._e()],2):t._e()])]):t._e()},[],!1,St,null,null).exports,It={data:function(){return{newEmail:"",changeEmailError:!1,changeEmailPassword:"",changedEmail:!1,deletingAccount:!1,deleteAccountConfirmPasswordInput:"",deleteAccountError:!1,changePasswordInputs:["","",""],changedPassword:!1,changePasswordError:!1}},created:function(){this.$store.dispatch("fetchTokens")},components:{ProgressButton:S.a,Mfa:jt,Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser},pleromaBackend:function(){return this.$store.state.instance.pleromaBackend},oauthTokens:function(){return this.$store.state.oauthTokens.tokens.map(function(t){return{id:t.id,appName:t.app_name,validUntil:new Date(t.valid_until).toLocaleDateString()}})}},methods:{confirmDelete:function(){this.deletingAccount=!0},deleteAccount:function(){var t=this;this.$store.state.api.backendInteractor.deleteAccount({password:this.deleteAccountConfirmPasswordInput}).then(function(e){"success"===e.status?(t.$store.dispatch("logout"),t.$router.push({name:"root"})):t.deleteAccountError=e.error})},changePassword:function(){var t=this,e={password:this.changePasswordInputs[0],newPassword:this.changePasswordInputs[1],newPasswordConfirmation:this.changePasswordInputs[2]};this.$store.state.api.backendInteractor.changePassword(e).then(function(e){"success"===e.status?(t.changedPassword=!0,t.changePasswordError=!1,t.logout()):(t.changedPassword=!1,t.changePasswordError=e.error)})},changeEmail:function(){var t=this,e={email:this.newEmail,password:this.changeEmailPassword};this.$store.state.api.backendInteractor.changeEmail(e).then(function(e){"success"===e.status?(t.changedEmail=!0,t.changeEmailError=!1):(t.changedEmail=!1,t.changeEmailError=e.error)})},logout:function(){this.$store.dispatch("logout"),this.$router.replace("/")},revokeToken:function(t){window.confirm("".concat(this.$i18n.t("settings.revoke_token"),"?"))&&this.$store.dispatch("revokeToken",t)}}},Et=Object(o.a)(It,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.security_tab")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_email")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.newEmail,expression:"newEmail"}],attrs:{type:"email",autocomplete:"email"},domProps:{value:t.newEmail},on:{input:function(e){e.target.composing||(t.newEmail=e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changeEmailPassword,expression:"changeEmailPassword"}],attrs:{type:"password",autocomplete:"current-password"},domProps:{value:t.changeEmailPassword},on:{input:function(e){e.target.composing||(t.changeEmailPassword=e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.changeEmail}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")]),t._v(" "),t.changedEmail?s("p",[t._v("\n "+t._s(t.$t("settings.changed_email"))+"\n ")]):t._e(),t._v(" "),!1!==t.changeEmailError?[s("p",[t._v(t._s(t.$t("settings.change_email_error")))]),t._v(" "),s("p",[t._v(t._s(t.changeEmailError))])]:t._e()],2),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_password")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[0],expression:"changePasswordInputs[0]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[0]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,0,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[1],expression:"changePasswordInputs[1]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[1]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,1,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.confirm_new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[2],expression:"changePasswordInputs[2]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[2]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,2,e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.changePassword}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")]),t._v(" "),t.changedPassword?s("p",[t._v("\n "+t._s(t.$t("settings.changed_password"))+"\n ")]):!1!==t.changePasswordError?s("p",[t._v("\n "+t._s(t.$t("settings.change_password_error"))+"\n ")]):t._e(),t._v(" "),t.changePasswordError?s("p",[t._v("\n "+t._s(t.changePasswordError)+"\n ")]):t._e()]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.oauth_tokens")))]),t._v(" "),s("table",{staticClass:"oauth-tokens"},[s("thead",[s("tr",[s("th",[t._v(t._s(t.$t("settings.app_name")))]),t._v(" "),s("th",[t._v(t._s(t.$t("settings.valid_until")))]),t._v(" "),s("th")])]),t._v(" "),s("tbody",t._l(t.oauthTokens,function(e){return s("tr",{key:e.id},[s("td",[t._v(t._s(e.appName))]),t._v(" "),s("td",[t._v(t._s(e.validUntil))]),t._v(" "),s("td",{staticClass:"actions"},[s("button",{staticClass:"btn btn-default",on:{click:function(s){return t.revokeToken(e.id)}}},[t._v("\n "+t._s(t.$t("settings.revoke_token"))+"\n ")])])])}),0)])]),t._v(" "),s("mfa"),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.delete_account")))]),t._v(" "),t.deletingAccount?t._e():s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_description"))+"\n ")]),t._v(" "),t.deletingAccount?s("div",[s("p",[t._v(t._s(t.$t("settings.delete_account_instructions")))]),t._v(" "),s("p",[t._v(t._s(t.$t("login.password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.deleteAccountConfirmPasswordInput,expression:"deleteAccountConfirmPasswordInput"}],attrs:{type:"password"},domProps:{value:t.deleteAccountConfirmPasswordInput},on:{input:function(e){e.target.composing||(t.deleteAccountConfirmPasswordInput=e.target.value)}}}),t._v(" "),s("button",{staticClass:"btn btn-default",on:{click:t.deleteAccount}},[t._v("\n "+t._s(t.$t("settings.delete_account"))+"\n ")])]):t._e(),t._v(" "),!1!==t.deleteAccountError?s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_error"))+"\n ")]):t._e(),t._v(" "),t.deleteAccountError?s("p",[t._v("\n "+t._s(t.deleteAccountError)+"\n ")]):t._e(),t._v(" "),t.deletingAccount?t._e():s("button",{staticClass:"btn btn-default",on:{click:t.confirmDelete}},[t._v("\n "+t._s(t.$t("general.submit"))+"\n ")])])],1)},[],!1,null,null,null).exports,Rt=s(176),Ft=s.n(Rt),Bt=s(95),Vt=s.n(Bt),Ut=s(23),Dt=s.n(Ut),Nt=s(597),At=(s(598),{props:{trigger:{type:[String,window.Element],required:!0},submitHandler:{type:Function,required:!0},cropperOptions:{type:Object,default:function(){return{aspectRatio:1,autoCropArea:1,viewMode:1,movable:!1,zoomable:!1,guides:!1}}},mimes:{type:String,default:"image/png, image/gif, image/jpeg, image/bmp, image/x-icon"},saveButtonLabel:{type:String},saveWithoutCroppingButtonlabel:{type:String},cancelButtonLabel:{type:String}},data:function(){return{cropper:void 0,dataUrl:void 0,filename:void 0,submitting:!1,submitError:null}},computed:{saveText:function(){return this.saveButtonLabel||this.$t("image_cropper.save")},saveWithoutCroppingText:function(){return this.saveWithoutCroppingButtonlabel||this.$t("image_cropper.save_without_cropping")},cancelText:function(){return this.cancelButtonLabel||this.$t("image_cropper.cancel")},submitErrorMsg:function(){return this.submitError&&this.submitError instanceof Error?this.submitError.toString():this.submitError}},methods:{destroy:function(){this.cropper&&this.cropper.destroy(),this.$refs.input.value="",this.dataUrl=void 0,this.$emit("close")},submit:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.submitting=!0,this.avatarUploadError=null,this.submitHandler(e&&this.cropper,this.file).then(function(){return t.destroy()}).catch(function(e){t.submitError=e}).finally(function(){t.submitting=!1})},pickImage:function(){this.$refs.input.click()},createCropper:function(){this.cropper=new Nt.a(this.$refs.img,this.cropperOptions)},getTriggerDOM:function(){return"object"===Dt()(this.trigger)?this.trigger:document.querySelector(this.trigger)},readFile:function(){var t=this,e=this.$refs.input;if(null!=e.files&&null!=e.files[0]){this.file=e.files[0];var s=new window.FileReader;s.onload=function(e){t.dataUrl=e.target.result,t.$emit("open")},s.readAsDataURL(this.file),this.$emit("changed",this.file,s)}},clearError:function(){this.submitError=null}},mounted:function(){var t=this.getTriggerDOM();t?t.addEventListener("click",this.pickImage):this.$emit("error","No image make trigger found.","user"),this.$refs.input.addEventListener("change",this.readFile)},beforeDestroy:function(){var t=this.getTriggerDOM();t&&t.removeEventListener("click",this.pickImage),this.$refs.input.removeEventListener("change",this.readFile)}});var Mt=function(t){s(595)},Wt=Object(o.a)(At,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"image-cropper"},[t.dataUrl?s("div",[s("div",{staticClass:"image-cropper-image-container"},[s("img",{ref:"img",attrs:{src:t.dataUrl,alt:""},on:{load:function(e){return e.stopPropagation(),t.createCropper(e)}}})]),t._v(" "),s("div",{staticClass:"image-cropper-buttons-wrapper"},[s("button",{staticClass:"btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveText)},on:{click:function(e){return t.submit()}}}),t._v(" "),s("button",{staticClass:"btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.cancelText)},on:{click:t.destroy}}),t._v(" "),s("button",{staticClass:"btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveWithoutCroppingText)},on:{click:function(e){return t.submit(!1)}}}),t._v(" "),t.submitting?s("i",{staticClass:"icon-spin4 animate-spin"}):t._e()]),t._v(" "),t.submitError?s("div",{staticClass:"alert error"},[t._v("\n "+t._s(t.submitErrorMsg)+"\n "),s("i",{staticClass:"button-icon icon-cancel",on:{click:t.clearError}})]):t._e()]):t._e(),t._v(" "),s("input",{ref:"input",staticClass:"image-cropper-img-input",attrs:{type:"file",accept:t.mimes}})])},[],!1,Mt,null,null).exports,zt=s(184),qt=s(123),Gt=s(183),Ht=s(124),Kt={data:function(){return{newName:this.$store.state.users.currentUser.name,newBio:Ft()(this.$store.state.users.currentUser.description),newLocked:this.$store.state.users.currentUser.locked,newNoRichText:this.$store.state.users.currentUser.no_rich_text,newDefaultScope:this.$store.state.users.currentUser.default_scope,newFields:this.$store.state.users.currentUser.fields.map(function(t){return{name:t.name,value:t.value}}),hideFollows:this.$store.state.users.currentUser.hide_follows,hideFollowers:this.$store.state.users.currentUser.hide_followers,hideFollowsCount:this.$store.state.users.currentUser.hide_follows_count,hideFollowersCount:this.$store.state.users.currentUser.hide_followers_count,showRole:this.$store.state.users.currentUser.show_role,role:this.$store.state.users.currentUser.role,discoverable:this.$store.state.users.currentUser.discoverable,bot:this.$store.state.users.currentUser.bot,allowFollowingMove:this.$store.state.users.currentUser.allow_following_move,pickAvatarBtnVisible:!0,bannerUploading:!1,backgroundUploading:!1,banner:null,bannerPreview:null,background:null,backgroundPreview:null,bannerUploadError:null,backgroundUploadError:null}},components:{ScopeSelector:zt.a,ImageCropper:Wt,EmojiInput:Gt.a,Autosuggest:C,ProgressButton:S.a,Checkbox:d.a},computed:{user:function(){return this.$store.state.users.currentUser},emojiUserSuggestor:function(){var t=this;return Object(Ht.a)({emoji:[].concat(z()(this.$store.state.instance.emoji),z()(this.$store.state.instance.customEmoji)),users:this.$store.state.users.users,updateUsersList:function(e){return t.$store.dispatch("searchUsers",{query:e})}})},emojiSuggestor:function(){return Object(Ht.a)({emoji:[].concat(z()(this.$store.state.instance.emoji),z()(this.$store.state.instance.customEmoji))})},userSuggestor:function(){var t=this;return Object(Ht.a)({users:this.$store.state.users.users,updateUsersList:function(e){return t.$store.dispatch("searchUsers",{query:e})}})},fieldsLimits:function(){return this.$store.state.instance.fieldsLimits},maxFields:function(){return this.fieldsLimits?this.fieldsLimits.maxFields:0}},methods:{updateProfile:function(){var t=this;this.$store.state.api.backendInteractor.updateProfile({params:{note:this.newBio,locked:this.newLocked,display_name:this.newName,fields_attributes:this.newFields.filter(function(t){return null!=t}),default_scope:this.newDefaultScope,no_rich_text:this.newNoRichText,hide_follows:this.hideFollows,hide_followers:this.hideFollowers,discoverable:this.discoverable,bot:this.bot,allow_following_move:this.allowFollowingMove,hide_follows_count:this.hideFollowsCount,hide_followers_count:this.hideFollowersCount,show_role:this.showRole}}).then(function(e){t.newFields.splice(e.fields.length),Vt()(t.newFields,e.fields),t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e)})},changeVis:function(t){this.newDefaultScope=t},addField:function(){return this.newFields.lengththis.$store.state.instance[t+"limit"]){var a=qt.a.fileSizeFormat(n.size),o=qt.a.fileSizeFormat(this.$store.state.instance[t+"limit"]);this[t+"UploadError"]=[this.$t("upload.error.base"),this.$t("upload.error.file_too_big",{filesize:a.num,filesizeunit:a.unit,allowedsize:o.num,allowedsizeunit:o.unit})].join(" ")}else{var i=new FileReader;i.onload=function(e){var a=e.target.result;s[t+"Preview"]=a,s[t]=n},i.readAsDataURL(n)}},submitAvatar:function(t,e){var s=this;return new Promise(function(n,a){function o(t){s.$store.state.api.backendInteractor.updateAvatar({avatar:t}).then(function(t){s.$store.commit("addNewUsers",[t]),s.$store.commit("setCurrentUser",t),n()}).catch(function(t){a(new Error(s.$t("upload.error.base")+" "+t.message))})}t?t.getCroppedCanvas().toBlob(o,e.type):o(e)})},submitBanner:function(){var t=this;this.bannerPreview&&(this.bannerUploading=!0,this.$store.state.api.backendInteractor.updateBanner({banner:this.banner}).then(function(e){t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e),t.bannerPreview=null}).catch(function(e){t.bannerUploadError=t.$t("upload.error.base")+" "+e.message}).then(function(){t.bannerUploading=!1}))},submitBg:function(){var t=this;if(this.backgroundPreview){var e=this.background;this.backgroundUploading=!0,this.$store.state.api.backendInteractor.updateBg({background:e}).then(function(e){e.error?t.backgroundUploadError=t.$t("upload.error.base")+e.error:(t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e),t.backgroundPreview=null),t.backgroundUploading=!1})}}}};var Jt=function(t){s(593)},Qt=Object(o.a)(Kt,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"profile-tab"},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.name_bio")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.name")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiSuggestor},model:{value:t.newName,callback:function(e){t.newName=e},expression:"newName"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],attrs:{id:"username",classname:"name-changer"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}})]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.bio")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiUserSuggestor},model:{value:t.newBio,callback:function(e){t.newBio=e},expression:"newBio"}},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.newBio,expression:"newBio"}],attrs:{classname:"bio"},domProps:{value:t.newBio},on:{input:function(e){e.target.composing||(t.newBio=e.target.value)}}})]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newLocked,callback:function(e){t.newLocked=e},expression:"newLocked"}},[t._v("\n "+t._s(t.$t("settings.lock_account_description"))+"\n ")])],1),t._v(" "),s("div",[s("label",{attrs:{for:"default-vis"}},[t._v(t._s(t.$t("settings.default_vis")))]),t._v(" "),s("div",{staticClass:"visibility-tray",attrs:{id:"default-vis"}},[s("scope-selector",{attrs:{"show-all":!0,"user-default":t.newDefaultScope,"initial-scope":t.newDefaultScope,"on-scope-change":t.changeVis}})],1)]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newNoRichText,callback:function(e){t.newNoRichText=e},expression:"newNoRichText"}},[t._v("\n "+t._s(t.$t("settings.no_rich_text_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollows,callback:function(e){t.hideFollows=e},expression:"hideFollows"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollows},model:{value:t.hideFollowsCount,callback:function(e){t.hideFollowsCount=e},expression:"hideFollowsCount"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollowers,callback:function(e){t.hideFollowers=e},expression:"hideFollowers"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollowers},model:{value:t.hideFollowersCount,callback:function(e){t.hideFollowersCount=e},expression:"hideFollowersCount"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.allowFollowingMove,callback:function(e){t.allowFollowingMove=e},expression:"allowFollowingMove"}},[t._v("\n "+t._s(t.$t("settings.allow_following_move"))+"\n ")])],1),t._v(" "),"admin"===t.role||"moderator"===t.role?s("p",[s("Checkbox",{model:{value:t.showRole,callback:function(e){t.showRole=e},expression:"showRole"}},["admin"===t.role?[t._v("\n "+t._s(t.$t("settings.show_admin_badge"))+"\n ")]:t._e(),t._v(" "),"moderator"===t.role?[t._v("\n "+t._s(t.$t("settings.show_moderator_badge"))+"\n ")]:t._e()],2)],1):t._e(),t._v(" "),s("p",[s("Checkbox",{model:{value:t.discoverable,callback:function(e){t.discoverable=e},expression:"discoverable"}},[t._v("\n "+t._s(t.$t("settings.discoverable"))+"\n ")])],1),t._v(" "),t.maxFields>0?s("div",[s("p",[t._v(t._s(t.$t("settings.profile_fields.label")))]),t._v(" "),t._l(t.newFields,function(e,n){return s("div",{key:n,staticClass:"profile-fields"},[s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[n].name,callback:function(e){t.$set(t.newFields[n],"name",e)},expression:"newFields[i].name"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[n].name,expression:"newFields[i].name"}],attrs:{placeholder:t.$t("settings.profile_fields.name")},domProps:{value:t.newFields[n].name},on:{input:function(e){e.target.composing||t.$set(t.newFields[n],"name",e.target.value)}}})]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[n].value,callback:function(e){t.$set(t.newFields[n],"value",e)},expression:"newFields[i].value"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[n].value,expression:"newFields[i].value"}],attrs:{placeholder:t.$t("settings.profile_fields.value")},domProps:{value:t.newFields[n].value},on:{input:function(e){e.target.composing||t.$set(t.newFields[n],"value",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"icon-container"},[s("i",{directives:[{name:"show",rawName:"v-show",value:t.newFields.length>1,expression:"newFields.length > 1"}],staticClass:"icon-cancel",on:{click:function(e){return t.deleteField(n)}}})])],1)}),t._v(" "),t.newFields.length0?s("li",[s("div",[t._v("\n "+t._s(t.$t("settings.post_status_content_type"))+"\n "),s("label",{staticClass:"select",attrs:{for:"postContentType"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.postContentType,expression:"postContentType"}],attrs:{id:"postContentType"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.postContentType=e.target.multiple?s:s[0]}}},t._l(t.postFormats,function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s(t.$t('post_status.content_type["'+e+'"]'))+"\n "+t._s(t.postContentTypeDefaultValue===e?t.$t("settings.instance_default_simple"):"")+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})])])]):t._e(),t._v(" "),s("li",[s("Checkbox",{model:{value:t.minimalScopesMode,callback:function(e){t.minimalScopesMode=e},expression:"minimalScopesMode"}},[t._v("\n "+t._s(t.$t("settings.minimal_scopes_mode"))+" "+t._s(t.$t("settings.instance_default",{value:t.minimalScopesModeLocalizedValue}))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.autohideFloatingPostButton,callback:function(e){t.autohideFloatingPostButton=e},expression:"autohideFloatingPostButton"}},[t._v("\n "+t._s(t.$t("settings.autohide_floating_post_button"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.padEmoji,callback:function(e){t.padEmoji=e},expression:"padEmoji"}},[t._v("\n "+t._s(t.$t("settings.pad_emoji"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.attachments")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("Checkbox",{model:{value:t.hideAttachments,callback:function(e){t.hideAttachments=e},expression:"hideAttachments"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_tl"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.hideAttachmentsInConv,callback:function(e){t.hideAttachmentsInConv=e},expression:"hideAttachmentsInConv"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_convo"))+"\n ")])],1),t._v(" "),s("li",[s("label",{attrs:{for:"maxThumbnails"}},[t._v("\n "+t._s(t.$t("settings.max_thumbnails"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model.number",value:t.maxThumbnails,expression:"maxThumbnails",modifiers:{number:!0}}],staticClass:"number-input",attrs:{id:"maxThumbnails",type:"number",min:"0",step:"1"},domProps:{value:t.maxThumbnails},on:{input:function(e){e.target.composing||(t.maxThumbnails=t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}})]),t._v(" "),s("li",[s("Checkbox",{model:{value:t.hideNsfw,callback:function(e){t.hideNsfw=e},expression:"hideNsfw"}},[t._v("\n "+t._s(t.$t("settings.nsfw_clickthrough"))+"\n ")])],1),t._v(" "),s("ul",{staticClass:"setting-list suboptions"},[s("li",[s("Checkbox",{attrs:{disabled:!t.hideNsfw},model:{value:t.preloadImage,callback:function(e){t.preloadImage=e},expression:"preloadImage"}},[t._v("\n "+t._s(t.$t("settings.preload_images"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{attrs:{disabled:!t.hideNsfw},model:{value:t.useOneClickNsfw,callback:function(e){t.useOneClickNsfw=e},expression:"useOneClickNsfw"}},[t._v("\n "+t._s(t.$t("settings.use_one_click_nsfw"))+"\n ")])],1)]),t._v(" "),s("li",[s("Checkbox",{model:{value:t.stopGifs,callback:function(e){t.stopGifs=e},expression:"stopGifs"}},[t._v("\n "+t._s(t.$t("settings.stop_gifs"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.loopVideo,callback:function(e){t.loopVideo=e},expression:"loopVideo"}},[t._v("\n "+t._s(t.$t("settings.loop_video"))+"\n ")]),t._v(" "),s("ul",{staticClass:"setting-list suboptions",class:[{disabled:!t.streaming}]},[s("li",[s("Checkbox",{attrs:{disabled:!t.loopVideo||!t.loopSilentAvailable},model:{value:t.loopVideoSilentOnly,callback:function(e){t.loopVideoSilentOnly=e},expression:"loopVideoSilentOnly"}},[t._v("\n "+t._s(t.$t("settings.loop_video_silent_only"))+"\n ")]),t._v(" "),t.loopSilentAvailable?t._e():s("div",{staticClass:"unavailable"},[s("i",{staticClass:"icon-globe"}),t._v("! "+t._s(t.$t("settings.limited_availability"))+"\n ")])],1)])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.playVideosInModal,callback:function(e){t.playVideosInModal=e},expression:"playVideosInModal"}},[t._v("\n "+t._s(t.$t("settings.play_videos_in_modal"))+"\n ")])],1),t._v(" "),s("li",[s("Checkbox",{model:{value:t.useContainFit,callback:function(e){t.useContainFit=e},expression:"useContainFit"}},[t._v("\n "+t._s(t.$t("settings.use_contain_fit"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notifications")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("Checkbox",{model:{value:t.webPushNotifications,callback:function(e){t.webPushNotifications=e},expression:"webPushNotifications"}},[t._v("\n "+t._s(t.$t("settings.enable_web_push_notifications"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.fun")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("Checkbox",{model:{value:t.greentext,callback:function(e){t.greentext=e},expression:"greentext"}},[t._v("\n "+t._s(t.$t("settings.greentext"))+" "+t._s(t.$t("settings.instance_default",{value:t.greentextLocalizedValue}))+"\n ")])],1)])])])},[],!1,null,null,null).exports,ae={data:function(){var t=this.$store.state.instance;return{backendVersion:t.backendVersion,frontendVersion:t.frontendVersion}},computed:{frontendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma-fe/commit/"+this.frontendVersion},backendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma/commit/"+(t=this.backendVersion,(e=t.match(/-g(\w+)/i))?e[1]:"");var t,e}}},oe=Object(o.a)(ae,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.version.title")}},[s("div",{staticClass:"setting-item"},[s("ul",{staticClass:"setting-list"},[s("li",[s("p",[t._v(t._s(t.$t("settings.version.backend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.backendVersionLink,target:"_blank"}},[t._v(t._s(t.backendVersion))])])])]),t._v(" "),s("li",[s("p",[t._v(t._s(t.$t("settings.version.frontend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.frontendVersionLink,target:"_blank"}},[t._v(t._s(t.frontendVersion))])])])])])])])},[],!1,null,null,null).exports,ie=s(8),re=s(30),le=s(26),ce=s(37),ue={components:{Checkbox:d.a},props:{name:{required:!0,type:String},label:{required:!0,type:String},value:{required:!1,type:String,default:void 0},fallback:{required:!1,type:String,default:void 0},disabled:{required:!1,type:Boolean,default:!1},showOptionalTickbox:{required:!1,type:Boolean,default:!0}},computed:{present:function(){return void 0!==this.value},validColor:function(){return Object(ie.f)(this.value||this.fallback)},transparentColor:function(){return"transparent"===this.value},computedColor:function(){return this.value&&this.value.startsWith("--")}}};var de=function(t){s(601),s(603)},pe=Object(o.a)(ue,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"color-input style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback&&t.showOptionalTickbox?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),s("div",{staticClass:"input color-input-field"},[s("input",{staticClass:"textColor unstyled",attrs:{id:t.name+"-t",type:"text",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),t.validColor?s("input",{staticClass:"nativeColor unstyled",attrs:{id:t.name,type:"color",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}):t._e(),t._v(" "),t.transparentColor?s("div",{staticClass:"transparentIndicator"}):t._e(),t._v(" "),t.computedColor?s("div",{staticClass:"computedIndicator",style:{backgroundColor:t.fallback}}):t._e()])],1)},[],!1,de,null,null).exports,me=Object(o.a)({props:["name","value","fallback","disabled","label","max","min","step","hardMin","hardMax"],computed:{present:function(){return void 0!==this.value}}},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"range-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"range",disabled:!t.present||t.disabled,max:t.max||t.hardMax||100,min:t.min||t.hardMin||0,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:t.hardMax,min:t.hardMin,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})])},[],!1,null,null,null).exports,ve={components:{Checkbox:d.a},props:["name","value","fallback","disabled"],computed:{present:function(){return void 0!==this.value}}},he=Object(o.a)(ve,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"opacity-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.$t("settings.style.common.opacity"))+"\n ")]),t._v(" "),void 0!==t.fallback?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:"1",min:"0",step:".05"},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})],1)},[],!1,null,null,null).exports;function fe(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,n)}return s}var be=function(){return function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{})},ge={props:["value","fallback","ready"],data:function(){return{selectedId:0,cValue:(this.value||this.fallback||[]).map(be)}},components:{ColorInput:pe,OpacityInput:he},methods:{add:function(){this.cValue.push(be(this.selected)),this.selectedId=this.cValue.length-1},del:function(){this.cValue.splice(this.selectedId,1),this.selectedId=0===this.cValue.length?void 0:Math.max(this.selectedId-1,0)},moveUp:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId-1,0,t),this.selectedId-=1},moveDn:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId+1,0,t),this.selectedId+=1}},beforeUpdate:function(){this.cValue=this.value||this.fallback},computed:{anyShadows:function(){return this.cValue.length>0},anyShadowsFallback:function(){return this.fallback.length>0},selected:function(){return this.ready&&this.anyShadows?this.cValue[this.selectedId]:be({})},currentFallback:function(){return this.ready&&this.anyShadowsFallback?this.fallback[this.selectedId]:be({})},moveUpValid:function(){return this.ready&&this.selectedId>0},moveDnValid:function(){return this.ready&&this.selectedId-1:t.selected.inset},on:{change:function(e){var s=t.selected.inset,n=e.target,a=!!n.checked;if(Array.isArray(s)){var o=t._i(s,null);n.checked?o<0&&t.$set(t.selected,"inset",s.concat([null])):o>-1&&t.$set(t.selected,"inset",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.selected,"inset",a)}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"inset"}})]),t._v(" "),s("div",{staticClass:"blur-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.blur"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-range",attrs:{id:"blur",disabled:!t.present,name:"blur",type:"range",max:"20",min:"0"},domProps:{value:t.selected.blur},on:{__r:function(e){return t.$set(t.selected,"blur",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number",min:"0"},domProps:{value:t.selected.blur},on:{input:function(e){e.target.composing||t.$set(t.selected,"blur",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"spread-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.spread"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-range",attrs:{id:"spread",disabled:!t.present,name:"spread",type:"range",max:"20",min:"-20"},domProps:{value:t.selected.spread},on:{__r:function(e){return t.$set(t.selected,"spread",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number"},domProps:{value:t.selected.spread},on:{input:function(e){e.target.composing||t.$set(t.selected,"spread",e.target.value)}}})]),t._v(" "),s("ColorInput",{attrs:{disabled:!t.present,label:t.$t("settings.style.common.color"),fallback:t.currentFallback.color,"show-optional-tickbox":!1,name:"shadow"},model:{value:t.selected.color,callback:function(e){t.$set(t.selected,"color",e)},expression:"selected.color"}}),t._v(" "),s("OpacityInput",{attrs:{disabled:!t.present},model:{value:t.selected.alpha,callback:function(e){t.$set(t.selected,"alpha",e)},expression:"selected.alpha"}}),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.hintV3",tag:"p"}},[s("code",[t._v("--variable,mod")])])],1)])},[],!1,_e,null,null).exports,xe={props:["name","label","value","fallback","options","no-inherit"],data:function(){return{lValue:this.value,availableOptions:[this.noInherit?"":"inherit","custom"].concat(z()(this.options||[]),["serif","monospace","sans-serif"]).filter(function(t){return t})}},beforeUpdate:function(){this.lValue=this.value},computed:{present:function(){return void 0!==this.lValue},dValue:function(){return this.lValue||this.fallback||{}},family:{get:function(){return this.dValue.family},set:function(t){Object(q.set)(this.lValue,"family",t),this.$emit("input",this.lValue)}},isCustom:function(){return"custom"===this.preset},preset:{get:function(){return"serif"===this.family||"sans-serif"===this.family||"monospace"===this.family||"inherit"===this.family?this.family:"custom"},set:function(t){this.family="custom"===t?"":t}}}};var Ce=function(t){s(607)},ke=Object(o.a)(xe,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"font-control style-control",class:{custom:t.isCustom}},[s("label",{staticClass:"label",attrs:{for:"custom"===t.preset?t.name:t.name+"-font-switcher"}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt exlcude-disabled",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("label",{staticClass:"select",attrs:{for:t.name+"-font-switcher",disabled:!t.present}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.preset,expression:"preset"}],staticClass:"font-switcher",attrs:{id:t.name+"-font-switcher",disabled:!t.present},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.preset=e.target.multiple?s:s[0]}}},t._l(t.availableOptions,function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s("custom"===e?t.$t("settings.style.fonts.custom"):e)+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})]),t._v(" "),t.isCustom?s("input",{directives:[{name:"model",rawName:"v-model",value:t.family,expression:"family"}],staticClass:"custom-font",attrs:{id:t.name,type:"text"},domProps:{value:t.family},on:{input:function(e){e.target.composing||(t.family=e.target.value)}}}):t._e()])},[],!1,Ce,null,null).exports,ye={props:{large:{required:!1},contrast:{required:!1,type:Object}},computed:{hint:function(){var t=this.contrast.aaa?"aaa":this.contrast.aa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.text"),n=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:n})},hint_18pt:function(){var t=this.contrast.laaa?"aaa":this.contrast.laa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.18pt"),n=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:n})}}};var $e=function(t){s(609)},Le=Object(o.a)(ye,function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.contrast?s("span",{staticClass:"contrast-ratio"},[s("span",{staticClass:"rating",attrs:{title:t.hint}},[t.contrast.aaa?s("span",[s("i",{staticClass:"icon-thumbs-up-alt"})]):t._e(),t._v(" "),!t.contrast.aaa&&t.contrast.aa?s("span",[s("i",{staticClass:"icon-adjust"})]):t._e(),t._v(" "),t.contrast.aaa||t.contrast.aa?t._e():s("span",[s("i",{staticClass:"icon-attention"})])]),t._v(" "),t.contrast&&t.large?s("span",{staticClass:"rating",attrs:{title:t.hint_18pt}},[t.contrast.laaa?s("span",[s("i",{staticClass:"icon-thumbs-up-alt"})]):t._e(),t._v(" "),!t.contrast.laaa&&t.contrast.laa?s("span",[s("i",{staticClass:"icon-adjust"})]):t._e(),t._v(" "),t.contrast.laaa||t.contrast.laa?t._e():s("span",[s("i",{staticClass:"icon-attention"})])]):t._e()]):t._e()},[],!1,$e,null,null).exports,Te={props:["exportObject","importLabel","exportLabel","importFailedText","validator","onImport","onImportFailure"],data:function(){return{importFailed:!1}},methods:{exportData:function(){var t=JSON.stringify(this.exportObject,null,2),e=document.createElement("a");e.setAttribute("download","pleroma_theme.json"),e.setAttribute("href","data:application/json;base64,"+window.btoa(t)),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)},importData:function(){var t=this;this.importFailed=!1;var e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("accept",".json"),e.addEventListener("change",function(e){if(e.target.files[0]){var s=new FileReader;s.onload=function(e){var s=e.target;try{var n=JSON.parse(s.result);t.validator(n)?t.onImport(n):t.importFailed=!0}catch(e){t.importFailed=!0}},s.readAsText(e.target.files[0])}}),document.body.appendChild(e),e.click(),document.body.removeChild(e)}}};var Oe=function(t){s(611)},Pe=Object(o.a)(Te,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"import-export-container"},[t._t("before"),t._v(" "),s("button",{staticClass:"btn",on:{click:t.exportData}},[t._v("\n "+t._s(t.exportLabel)+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.importData}},[t._v("\n "+t._s(t.importLabel)+"\n ")]),t._v(" "),t._t("afterButtons"),t._v(" "),t.importFailed?s("p",{staticClass:"alert error"},[t._v("\n "+t._s(t.importFailedText)+"\n ")]):t._e(),t._v(" "),t._t("afterError")],2)},[],!1,Oe,null,null).exports;var Se=function(t){s(613)},je=Object(o.a)(null,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"preview-container"},[s("div",{staticClass:"underlay underlay-preview"}),t._v(" "),s("div",{staticClass:"panel dummy"},[s("div",{staticClass:"panel-heading"},[s("div",{staticClass:"title"},[t._v("\n "+t._s(t.$t("settings.style.preview.header"))+"\n "),s("span",{staticClass:"badge badge-notification"},[t._v("\n 99\n ")])]),t._v(" "),s("span",{staticClass:"faint"},[t._v("\n "+t._s(t.$t("settings.style.preview.header_faint"))+"\n ")]),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])]),t._v(" "),s("div",{staticClass:"panel-body theme-preview-content"},[s("div",{staticClass:"post"},[s("div",{staticClass:"avatar still-image"},[t._v("\n ( ͡° ͜ʖ ͡°)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("h4",[t._v("\n "+t._s(t.$t("settings.style.preview.content"))+"\n ")]),t._v(" "),s("i18n",{attrs:{path:"settings.style.preview.text"}},[s("code",{staticStyle:{"font-family":"var(--postCodeFont)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.mono"))+"\n ")]),t._v(" "),s("a",{staticStyle:{color:"var(--link)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.link"))+"\n ")])]),t._v(" "),t._m(0)],1)]),t._v(" "),s("div",{staticClass:"after-post"},[s("div",{staticClass:"avatar-alt"},[t._v("\n :^)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("i18n",{staticClass:"faint",attrs:{path:"settings.style.preview.fine_print",tag:"span"}},[s("a",{staticStyle:{color:"var(--faintLink)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.faint_link"))+"\n ")])])],1)]),t._v(" "),s("div",{staticClass:"separator"}),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("input",{attrs:{type:"text"},domProps:{value:t.$t("settings.style.preview.input")}}),t._v(" "),s("div",{staticClass:"actions"},[s("span",{staticClass:"checkbox"},[s("input",{attrs:{id:"preview_checkbox",checked:"very yes",type:"checkbox"}}),t._v(" "),s("label",{attrs:{for:"preview_checkbox"}},[t._v(t._s(t.$t("settings.style.preview.checkbox")))])]),t._v(" "),s("button",{staticClass:"btn"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])])])])])},[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"icons"},[e("i",{staticClass:"button-icon icon-reply",staticStyle:{color:"var(--cBlue)"}}),this._v(" "),e("i",{staticClass:"button-icon icon-retweet",staticStyle:{color:"var(--cGreen)"}}),this._v(" "),e("i",{staticClass:"button-icon icon-star",staticStyle:{color:"var(--cOrange)"}}),this._v(" "),e("i",{staticClass:"button-icon icon-cancel",staticStyle:{color:"var(--cRed)"}})])}],!1,Se,null,null).exports;function Ie(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),s.push.apply(s,n)}return s}function Ee(t){for(var e=1;ece.a)return t(e+"future_version_imported")+" "+t(i?e+"snapshot_missing":e+"snapshot_present");if(ace.a)return t(e+"fe_downgraded")+" "+t(i?e+"migration_snapshot_ok":e+"migration_snapshot_gone");if(a=4.5,aaa:s>=7,laa:s>=3,laaa:s>=4.5},t},{})}catch(t){console.warn("Failure computing contrasts",t)}},previewRules:function(){return this.preview.rules?[].concat(z()(Object.values(this.preview.rules)),["color: var(--text)","font-family: var(--interfaceFont, sans-serif)"]).join(";"):""},shadowsAvailable:function(){return Object.keys(re.a).sort()},currentShadowOverriden:{get:function(){return!!this.currentShadow},set:function(t){t?Object(q.set)(this.shadowsLocal,this.shadowSelected,this.currentShadowFallback.map(function(t){return Object.assign({},t)})):Object(q.delete)(this.shadowsLocal,this.shadowSelected)}},currentShadowFallback:function(){return(this.previewTheme.shadows||{})[this.shadowSelected]},currentShadow:{get:function(){return this.shadowsLocal[this.shadowSelected]},set:function(t){Object(q.set)(this.shadowsLocal,this.shadowSelected,t)}},themeValid:function(){return!this.shadowsInvalid&&!this.colorsInvalid&&!this.radiiInvalid},exportedTheme:function(){var t=!(this.keepFonts||this.keepShadows||this.keepOpacity||this.keepRoundness||this.keepColor),e={themeEngineVersion:ce.a};return(this.keepFonts||t)&&(e.fonts=this.fontsLocal),(this.keepShadows||t)&&(e.shadows=this.shadowsLocal),(this.keepOpacity||t)&&(e.opacity=this.currentOpacity),(this.keepColor||t)&&(e.colors=this.currentColors),(this.keepRoundness||t)&&(e.radii=this.currentRadii),{_pleroma_theme_version:2,theme:Ee({themeEngineVersion:ce.a},this.previewTheme),source:e}}},components:{ColorInput:pe,OpacityInput:he,RangeInput:me,ContrastRatio:Le,ShadowControl:we,FontControl:ke,TabSwitcher:n.a,Preview:je,ExportImport:Pe,Checkbox:d.a},methods:{loadTheme:function(t,e){var s=t.theme,n=t.source,a=t._pleroma_theme_version,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.dismissWarning(),!n&&!s)throw new Error("Can't load theme: empty");var i="localStorage"!==e||s.colors?a:"l1",r=(s||{}).themeEngineVersion,l=(n||{}).themeEngineVersion||2,c=l===ce.a,u=void 0!==s&&void 0!==n&&l!==r,d=n&&o||!s;c&&!u||d||"l1"===i||"defaults"===e||(u&&"localStorage"===e?this.themeWarning={origin:e,themeEngineVersion:l,type:"snapshot_source_mismatch"}:s?c||(this.themeWarning={origin:e,noActionsPossible:!n,themeEngineVersion:l,type:"wrong_version"}):this.themeWarning={origin:e,noActionsPossible:!0,themeEngineVersion:l,type:"no_snapshot_old_version"}),this.normalizeLocalState(s,i,n,d)},forceLoadLocalStorage:function(){this.loadThemeFromLocalStorage(!0)},dismissWarning:function(){this.themeWarning=void 0,this.tempImportFile=void 0},forceLoad:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!0);break;case"file":this.onImport(this.tempImportFile,!0)}this.dismissWarning()},forceSnapshot:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!1,!0);break;case"file":console.err("Forcing snapshout from file is not supported yet")}this.dismissWarning()},loadThemeFromLocalStorage:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=this.$store.getters.mergedConfig,n=s.customTheme,a=s.customThemeSource;n||a?this.loadTheme({theme:n,source:e?n:a},"localStorage",t):this.loadTheme(this.$store.state.instance.themeData,"defaults",t)},setCustomTheme:function(){this.$store.dispatch("setOption",{name:"customTheme",value:Ee({themeEngineVersion:ce.a},this.previewTheme)}),this.$store.dispatch("setOption",{name:"customThemeSource",value:{themeEngineVersion:ce.a,shadows:this.shadowsLocal,fonts:this.fontsLocal,opacity:this.currentOpacity,colors:this.currentColors,radii:this.currentRadii}})},updatePreviewColorsAndShadows:function(){this.previewColors=Object(re.e)({opacity:this.currentOpacity,colors:this.currentColors}),this.previewShadows=Object(re.h)({shadows:this.shadowsLocal,opacity:this.previewTheme.opacity,themeEngineVersion:this.engineVersion},this.previewColors.theme.colors,this.previewColors.mod)},onImport:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.tempImportFile=t,this.loadTheme(t,"file",e)},importValidator:function(t){var e=t._pleroma_theme_version;return e>=1||e<=2},clearAll:function(){this.loadThemeFromLocalStorage()},clearV1:function(){var t=this;Object.keys(this.$data).filter(function(t){return t.endsWith("ColorLocal")||t.endsWith("OpacityLocal")}).filter(function(t){return!Re.includes(t)}).forEach(function(e){Object(q.set)(t.$data,e,void 0)})},clearRoundness:function(){var t=this;Object.keys(this.$data).filter(function(t){return t.endsWith("RadiusLocal")}).forEach(function(e){Object(q.set)(t.$data,e,void 0)})},clearOpacity:function(){var t=this;Object.keys(this.$data).filter(function(t){return t.endsWith("OpacityLocal")}).forEach(function(e){Object(q.set)(t.$data,e,void 0)})},clearShadows:function(){this.shadowsLocal={}},clearFonts:function(){this.fontsLocal={}},normalizeLocalState:function(t){var e,s=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];void 0!==a&&(o||a.themeEngineVersion===ce.a)?(e=a,n=a.themeEngineVersion):e=t;var i=e.radii||e,r=e.opacity,l=e.shadows||{},c=e.fonts||{},u=e.themeEngineVersion?e.colors||e:Object(re.c)(e.colors||e);if(0===n&&(e.version&&(n=e.version),void 0===u.text&&void 0!==u.fg&&(n=1),void 0!==u.text&&void 0!==u.fg&&(n=2)),this.engineVersion=n,1===n&&(this.fgColorLocal=Object(ie.i)(u.btn),this.textColorLocal=Object(ie.i)(u.fg)),!this.keepColor){this.clearV1();var d=new Set(1!==n?Object.keys(le.c):[]);1!==n&&"l1"!==n||d.add("bg").add("link").add("cRed").add("cBlue").add("cGreen").add("cOrange"),d.forEach(function(t){var e=u[t],n=Object(ie.i)(u[t]);s[t+"ColorLocal"]="#aN"===n?e:n})}r&&!this.keepOpacity&&(this.clearOpacity(),Object.entries(r).forEach(function(t){var e=N()(t,2),n=e[0],a=e[1];null==a||Number.isNaN(a)||(s[n+"OpacityLocal"]=a)})),this.keepRoundness||(this.clearRoundness(),Object.entries(i).forEach(function(t){var e=N()(t,2),n=e[0],a=e[1],o=n.endsWith("Radius")?n.split("Radius")[0]:n;s[o+"RadiusLocal"]=a})),this.keepShadows||(this.clearShadows(),this.shadowsLocal=2===n?Object(re.m)(l,this.previewTheme.opacity):l,this.shadowSelected=this.shadowsAvailable[0]),this.keepFonts||(this.clearFonts(),this.fontsLocal=c)}},watch:{currentRadii:function(){try{this.previewRadii=Object(re.g)({radii:this.currentRadii}),this.radiiInvalid=!1}catch(t){this.radiiInvalid=!0,console.warn(t)}},shadowsLocal:{handler:function(){if(1!==Object.getOwnPropertyNames(this.previewColors).length)try{this.updatePreviewColorsAndShadows(),this.shadowsInvalid=!1}catch(t){this.shadowsInvalid=!0,console.warn(t)}},deep:!0},fontsLocal:{handler:function(){try{this.previewFonts=Object(re.f)({fonts:this.fontsLocal}),this.fontsInvalid=!1}catch(t){this.fontsInvalid=!0,console.warn(t)}},deep:!0},currentColors:function(){try{this.updatePreviewColorsAndShadows(),this.colorsInvalid=!1,this.shadowsInvalid=!1}catch(t){this.colorsInvalid=!0,this.shadowsInvalid=!0,console.warn(t)}},currentOpacity:function(){try{this.updatePreviewColorsAndShadows()}catch(t){console.warn(t)}},selected:function(){this.dismissWarning(),1===this.selectedVersion?(this.keepRoundness||this.clearRoundness(),this.keepShadows||this.clearShadows(),this.keepOpacity||this.clearOpacity(),this.keepColor||(this.clearV1(),this.bgColorLocal=this.selected[1],this.fgColorLocal=this.selected[2],this.textColorLocal=this.selected[3],this.linkColorLocal=this.selected[4],this.cRedColorLocal=this.selected[5],this.cGreenColorLocal=this.selected[6],this.cBlueColorLocal=this.selected[7],this.cOrangeColorLocal=this.selected[8])):this.selectedVersion>=2&&this.normalizeLocalState(this.selected.theme,2,this.selected.source)}}};var Be=function(t){s(599)},Ve=Object(o.a)(Fe,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"theme-tab"},[s("div",{staticClass:"presets-container"},[s("div",{staticClass:"save-load"},[t.themeWarning?s("div",{staticClass:"theme-warning"},[s("div",{staticClass:"alert warning"},[t._v("\n "+t._s(t.themeWarningHelp)+"\n ")]),t._v(" "),s("div",{staticClass:"buttons"},["snapshot_source_mismatch"===t.themeWarning.type?[s("button",{staticClass:"btn",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_source"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.forceSnapshot}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_snapshot"))+"\n ")])]:t.themeWarning.noActionsPossible?[s("button",{staticClass:"btn",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("general.dismiss"))+"\n ")])]:[s("button",{staticClass:"btn",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.load_theme"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_as_is"))+"\n ")])]],2)]):t._e(),t._v(" "),s("ExportImport",{attrs:{"export-object":t.exportedTheme,"export-label":t.$t("settings.export_theme"),"import-label":t.$t("settings.import_theme"),"import-failed-text":t.$t("settings.invalid_theme_imported"),"on-import":t.onImport,validator:t.importValidator}},[s("template",{slot:"before"},[s("div",{staticClass:"presets"},[t._v("\n "+t._s(t.$t("settings.presets"))+"\n "),s("label",{staticClass:"select",attrs:{for:"preset-switcher"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.selected,expression:"selected"}],staticClass:"preset-switcher",attrs:{id:"preset-switcher"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.selected=e.target.multiple?s:s[0]}}},t._l(t.availableStyles,function(e){return s("option",{key:e.name,style:{backgroundColor:e[1]||(e.theme||e.source).colors.bg,color:e[3]||(e.theme||e.source).colors.text},domProps:{value:e}},[t._v("\n "+t._s(e[0]||e.name)+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})])])])],2)],1),t._v(" "),s("div",{staticClass:"save-load-options"},[s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepColor,callback:function(e){t.keepColor=e},expression:"keepColor"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_color"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepShadows,callback:function(e){t.keepShadows=e},expression:"keepShadows"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_shadows"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepOpacity,callback:function(e){t.keepOpacity=e},expression:"keepOpacity"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_opacity"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepRoundness,callback:function(e){t.keepRoundness=e},expression:"keepRoundness"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_roundness"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepFonts,callback:function(e){t.keepFonts=e},expression:"keepFonts"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_fonts"))+"\n ")])],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.switcher.save_load_hint")))])])]),t._v(" "),s("preview",{style:t.previewRules}),t._v(" "),s("keep-alive",[s("tab-switcher",{key:"style-tweak"},[s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.common_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("div",{staticClass:"tab-header-buttons"},[s("button",{staticClass:"btn",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_1")))]),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.main")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"bgColor",label:t.$t("settings.background")},model:{value:t.bgColorLocal,callback:function(e){t.bgColorLocal=e},expression:"bgColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"bgOpacity",fallback:t.previewTheme.opacity.bg},model:{value:t.bgOpacityLocal,callback:function(e){t.bgOpacityLocal=e},expression:"bgOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"textColor",label:t.$t("settings.text")},model:{value:t.textColorLocal,callback:function(e){t.textColorLocal=e},expression:"textColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgText}}),t._v(" "),s("ColorInput",{attrs:{name:"accentColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.accent"),"show-optional-tickbox":void 0!==t.linkColorLocal},model:{value:t.accentColorLocal,callback:function(e){t.accentColorLocal=e},expression:"accentColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"linkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links"),"show-optional-tickbox":void 0!==t.accentColorLocal},model:{value:t.linkColorLocal,callback:function(e){t.linkColorLocal=e},expression:"linkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"fgColor",label:t.$t("settings.foreground")},model:{value:t.fgColorLocal,callback:function(e){t.fgColorLocal=e},expression:"fgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgTextColor",label:t.$t("settings.text"),fallback:t.previewTheme.colors.fgText},model:{value:t.fgTextColorLocal,callback:function(e){t.fgTextColorLocal=e},expression:"fgTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgLinkColor",label:t.$t("settings.links"),fallback:t.previewTheme.colors.fgLink},model:{value:t.fgLinkColorLocal,callback:function(e){t.fgLinkColorLocal=e},expression:"fgLinkColorLocal"}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.common_colors.foreground_hint")))])],1),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.rgbo")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cRedColor",label:t.$t("settings.cRed")},model:{value:t.cRedColorLocal,callback:function(e){t.cRedColorLocal=e},expression:"cRedColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCRed}}),t._v(" "),s("ColorInput",{attrs:{name:"cBlueColor",label:t.$t("settings.cBlue")},model:{value:t.cBlueColorLocal,callback:function(e){t.cBlueColorLocal=e},expression:"cBlueColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCBlue}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cGreenColor",label:t.$t("settings.cGreen")},model:{value:t.cGreenColorLocal,callback:function(e){t.cGreenColorLocal=e},expression:"cGreenColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCGreen}}),t._v(" "),s("ColorInput",{attrs:{name:"cOrangeColor",label:t.$t("settings.cOrange")},model:{value:t.cOrangeColorLocal,callback:function(e){t.cOrangeColorLocal=e},expression:"cOrangeColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCOrange}})],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_2")))])]),t._v(" "),s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.advanced_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.post")))]),t._v(" "),s("ColorInput",{attrs:{name:"postLinkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links")},model:{value:t.postLinkColorLocal,callback:function(e){t.postLinkColorLocal=e},expression:"postLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postLink}}),t._v(" "),s("ColorInput",{attrs:{name:"postGreentextColor",fallback:t.previewTheme.colors.cGreen,label:t.$t("settings.greentext")},model:{value:t.postGreentextColorLocal,callback:function(e){t.postGreentextColorLocal=e},expression:"postGreentextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postGreentext}}),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.alert")))]),t._v(" "),s("ColorInput",{attrs:{name:"alertError",label:t.$t("settings.style.advanced_colors.alert_error"),fallback:t.previewTheme.colors.alertError},model:{value:t.alertErrorColorLocal,callback:function(e){t.alertErrorColorLocal=e},expression:"alertErrorColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertErrorText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertErrorText},model:{value:t.alertErrorTextColorLocal,callback:function(e){t.alertErrorTextColorLocal=e},expression:"alertErrorTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertErrorText,large:"true"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarning",label:t.$t("settings.style.advanced_colors.alert_warning"),fallback:t.previewTheme.colors.alertWarning},model:{value:t.alertWarningColorLocal,callback:function(e){t.alertWarningColorLocal=e},expression:"alertWarningColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarningText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertWarningText},model:{value:t.alertWarningTextColorLocal,callback:function(e){t.alertWarningTextColorLocal=e},expression:"alertWarningTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertWarningText,large:"true"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutral",label:t.$t("settings.style.advanced_colors.alert_neutral"),fallback:t.previewTheme.colors.alertNeutral},model:{value:t.alertNeutralColorLocal,callback:function(e){t.alertNeutralColorLocal=e},expression:"alertNeutralColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutralText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertNeutralText},model:{value:t.alertNeutralTextColorLocal,callback:function(e){t.alertNeutralTextColorLocal=e},expression:"alertNeutralTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertNeutralText,large:"true"}}),t._v(" "),s("OpacityInput",{attrs:{name:"alertOpacity",fallback:t.previewTheme.opacity.alert},model:{value:t.alertOpacityLocal,callback:function(e){t.alertOpacityLocal=e},expression:"alertOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.badge")))]),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotification",label:t.$t("settings.style.advanced_colors.badge_notification"),fallback:t.previewTheme.colors.badgeNotification},model:{value:t.badgeNotificationColorLocal,callback:function(e){t.badgeNotificationColorLocal=e},expression:"badgeNotificationColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotificationText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.badgeNotificationText},model:{value:t.badgeNotificationTextColorLocal,callback:function(e){t.badgeNotificationTextColorLocal=e},expression:"badgeNotificationTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.badgeNotificationText,large:"true"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.panel_header")))]),t._v(" "),s("ColorInput",{attrs:{name:"panelColor",fallback:t.previewTheme.colors.panel,label:t.$t("settings.background")},model:{value:t.panelColorLocal,callback:function(e){t.panelColorLocal=e},expression:"panelColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"panelOpacity",fallback:t.previewTheme.opacity.panel,disabled:"transparent"===t.panelColorLocal},model:{value:t.panelOpacityLocal,callback:function(e){t.panelOpacityLocal=e},expression:"panelOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelTextColor",fallback:t.previewTheme.colors.panelText,label:t.$t("settings.text")},model:{value:t.panelTextColorLocal,callback:function(e){t.panelTextColorLocal=e},expression:"panelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelText,large:"true"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelLinkColor",fallback:t.previewTheme.colors.panelLink,label:t.$t("settings.links")},model:{value:t.panelLinkColorLocal,callback:function(e){t.panelLinkColorLocal=e},expression:"panelLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelLink,large:"true"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.top_bar")))]),t._v(" "),s("ColorInput",{attrs:{name:"topBarColor",fallback:t.previewTheme.colors.topBar,label:t.$t("settings.background")},model:{value:t.topBarColorLocal,callback:function(e){t.topBarColorLocal=e},expression:"topBarColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarTextColor",fallback:t.previewTheme.colors.topBarText,label:t.$t("settings.text")},model:{value:t.topBarTextColorLocal,callback:function(e){t.topBarTextColorLocal=e},expression:"topBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarText}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarLinkColor",fallback:t.previewTheme.colors.topBarLink,label:t.$t("settings.links")},model:{value:t.topBarLinkColorLocal,callback:function(e){t.topBarLinkColorLocal=e},expression:"topBarLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.inputs")))]),t._v(" "),s("ColorInput",{attrs:{name:"inputColor",fallback:t.previewTheme.colors.input,label:t.$t("settings.background")},model:{value:t.inputColorLocal,callback:function(e){t.inputColorLocal=e},expression:"inputColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"inputOpacity",fallback:t.previewTheme.opacity.input,disabled:"transparent"===t.inputColorLocal},model:{value:t.inputOpacityLocal,callback:function(e){t.inputOpacityLocal=e},expression:"inputOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"inputTextColor",fallback:t.previewTheme.colors.inputText,label:t.$t("settings.text")},model:{value:t.inputTextColorLocal,callback:function(e){t.inputTextColorLocal=e},expression:"inputTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.inputText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.buttons")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnColor",fallback:t.previewTheme.colors.btn,label:t.$t("settings.background")},model:{value:t.btnColorLocal,callback:function(e){t.btnColorLocal=e},expression:"btnColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"btnOpacity",fallback:t.previewTheme.opacity.btn,disabled:"transparent"===t.btnColorLocal},model:{value:t.btnOpacityLocal,callback:function(e){t.btnOpacityLocal=e},expression:"btnOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTextColor",fallback:t.previewTheme.colors.btnText,label:t.$t("settings.text")},model:{value:t.btnTextColorLocal,callback:function(e){t.btnTextColorLocal=e},expression:"btnTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPanelTextColor",fallback:t.previewTheme.colors.btnPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPanelTextColorLocal,callback:function(e){t.btnPanelTextColorLocal=e},expression:"btnPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTopBarTextColor",fallback:t.previewTheme.colors.btnTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnTopBarTextColorLocal,callback:function(e){t.btnTopBarTextColorLocal=e},expression:"btnTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.pressed")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedColor",fallback:t.previewTheme.colors.btnPressed,label:t.$t("settings.background")},model:{value:t.btnPressedColorLocal,callback:function(e){t.btnPressedColorLocal=e},expression:"btnPressedColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTextColor",fallback:t.previewTheme.colors.btnPressedText,label:t.$t("settings.text")},model:{value:t.btnPressedTextColorLocal,callback:function(e){t.btnPressedTextColorLocal=e},expression:"btnPressedTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedPanelTextColor",fallback:t.previewTheme.colors.btnPressedPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPressedPanelTextColorLocal,callback:function(e){t.btnPressedPanelTextColorLocal=e},expression:"btnPressedPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTopBarTextColor",fallback:t.previewTheme.colors.btnPressedTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnPressedTopBarTextColorLocal,callback:function(e){t.btnPressedTopBarTextColorLocal=e},expression:"btnPressedTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.disabled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledColor",fallback:t.previewTheme.colors.btnDisabled,label:t.$t("settings.background")},model:{value:t.btnDisabledColorLocal,callback:function(e){t.btnDisabledColorLocal=e},expression:"btnDisabledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTextColor",fallback:t.previewTheme.colors.btnDisabledText,label:t.$t("settings.text")},model:{value:t.btnDisabledTextColorLocal,callback:function(e){t.btnDisabledTextColorLocal=e},expression:"btnDisabledTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledPanelTextColor",fallback:t.previewTheme.colors.btnDisabledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnDisabledPanelTextColorLocal,callback:function(e){t.btnDisabledPanelTextColorLocal=e},expression:"btnDisabledPanelTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTopBarTextColor",fallback:t.previewTheme.colors.btnDisabledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnDisabledTopBarTextColorLocal,callback:function(e){t.btnDisabledTopBarTextColorLocal=e},expression:"btnDisabledTopBarTextColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.toggled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledColor",fallback:t.previewTheme.colors.btnToggled,label:t.$t("settings.background")},model:{value:t.btnToggledColorLocal,callback:function(e){t.btnToggledColorLocal=e},expression:"btnToggledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTextColor",fallback:t.previewTheme.colors.btnToggledText,label:t.$t("settings.text")},model:{value:t.btnToggledTextColorLocal,callback:function(e){t.btnToggledTextColorLocal=e},expression:"btnToggledTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledPanelTextColor",fallback:t.previewTheme.colors.btnToggledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnToggledPanelTextColorLocal,callback:function(e){t.btnToggledPanelTextColorLocal=e},expression:"btnToggledPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTopBarTextColor",fallback:t.previewTheme.colors.btnToggledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnToggledTopBarTextColorLocal,callback:function(e){t.btnToggledTopBarTextColorLocal=e},expression:"btnToggledTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledTopBarText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.tabs")))]),t._v(" "),s("ColorInput",{attrs:{name:"tabColor",fallback:t.previewTheme.colors.tab,label:t.$t("settings.background")},model:{value:t.tabColorLocal,callback:function(e){t.tabColorLocal=e},expression:"tabColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"tabTextColor",fallback:t.previewTheme.colors.tabText,label:t.$t("settings.text")},model:{value:t.tabTextColorLocal,callback:function(e){t.tabTextColorLocal=e},expression:"tabTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabText}}),t._v(" "),s("ColorInput",{attrs:{name:"tabActiveTextColor",fallback:t.previewTheme.colors.tabActiveText,label:t.$t("settings.text")},model:{value:t.tabActiveTextColorLocal,callback:function(e){t.tabActiveTextColorLocal=e},expression:"tabActiveTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabActiveText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.borders")))]),t._v(" "),s("ColorInput",{attrs:{name:"borderColor",fallback:t.previewTheme.colors.border,label:t.$t("settings.style.common.color")},model:{value:t.borderColorLocal,callback:function(e){t.borderColorLocal=e},expression:"borderColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"borderOpacity",fallback:t.previewTheme.opacity.border,disabled:"transparent"===t.borderColorLocal},model:{value:t.borderOpacityLocal,callback:function(e){t.borderOpacityLocal=e},expression:"borderOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.faint_text")))]),t._v(" "),s("ColorInput",{attrs:{name:"faintColor",fallback:t.previewTheme.colors.faint,label:t.$t("settings.text")},model:{value:t.faintColorLocal,callback:function(e){t.faintColorLocal=e},expression:"faintColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"faintLinkColor",fallback:t.previewTheme.colors.faintLink,label:t.$t("settings.links")},model:{value:t.faintLinkColorLocal,callback:function(e){t.faintLinkColorLocal=e},expression:"faintLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelFaintColor",fallback:t.previewTheme.colors.panelFaint,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.panelFaintColorLocal,callback:function(e){t.panelFaintColorLocal=e},expression:"panelFaintColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"faintOpacity",fallback:t.previewTheme.opacity.faint},model:{value:t.faintOpacityLocal,callback:function(e){t.faintOpacityLocal=e},expression:"faintOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.underlay")))]),t._v(" "),s("ColorInput",{attrs:{name:"underlay",label:t.$t("settings.style.advanced_colors.underlay"),fallback:t.previewTheme.colors.underlay},model:{value:t.underlayColorLocal,callback:function(e){t.underlayColorLocal=e},expression:"underlayColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"underlayOpacity",fallback:t.previewTheme.opacity.underlay,disabled:"transparent"===t.underlayOpacityLocal},model:{value:t.underlayOpacityLocal,callback:function(e){t.underlayOpacityLocal=e},expression:"underlayOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.poll")))]),t._v(" "),s("ColorInput",{attrs:{name:"poll",label:t.$t("settings.background"),fallback:t.previewTheme.colors.poll},model:{value:t.pollColorLocal,callback:function(e){t.pollColorLocal=e},expression:"pollColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"pollText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.pollText},model:{value:t.pollTextColorLocal,callback:function(e){t.pollTextColorLocal=e},expression:"pollTextColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.icons")))]),t._v(" "),s("ColorInput",{attrs:{name:"icon",label:t.$t("settings.style.advanced_colors.icons"),fallback:t.previewTheme.colors.icon},model:{value:t.iconColorLocal,callback:function(e){t.iconColorLocal=e},expression:"iconColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.highlight")))]),t._v(" "),s("ColorInput",{attrs:{name:"highlight",label:t.$t("settings.background"),fallback:t.previewTheme.colors.highlight},model:{value:t.highlightColorLocal,callback:function(e){t.highlightColorLocal=e},expression:"highlightColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.highlightText},model:{value:t.highlightTextColorLocal,callback:function(e){t.highlightTextColorLocal=e},expression:"highlightTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightText}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.highlightLink},model:{value:t.highlightLinkColorLocal,callback:function(e){t.highlightLinkColorLocal=e},expression:"highlightLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.popover")))]),t._v(" "),s("ColorInput",{attrs:{name:"popover",label:t.$t("settings.background"),fallback:t.previewTheme.colors.popover},model:{value:t.popoverColorLocal,callback:function(e){t.popoverColorLocal=e},expression:"popoverColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"popoverOpacity",fallback:t.previewTheme.opacity.popover,disabled:"transparent"===t.popoverOpacityLocal},model:{value:t.popoverOpacityLocal,callback:function(e){t.popoverOpacityLocal=e},expression:"popoverOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.popoverText},model:{value:t.popoverTextColorLocal,callback:function(e){t.popoverTextColorLocal=e},expression:"popoverTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverText}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.popoverLink},model:{value:t.popoverLinkColorLocal,callback:function(e){t.popoverLinkColorLocal=e},expression:"popoverLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedPost")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedPost",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedPost},model:{value:t.selectedPostColorLocal,callback:function(e){t.selectedPostColorLocal=e},expression:"selectedPostColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedPostText},model:{value:t.selectedPostTextColorLocal,callback:function(e){t.selectedPostTextColorLocal=e},expression:"selectedPostTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedPostLink},model:{value:t.selectedPostLinkColorLocal,callback:function(e){t.selectedPostLinkColorLocal=e},expression:"selectedPostLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedMenu")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenu",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedMenu},model:{value:t.selectedMenuColorLocal,callback:function(e){t.selectedMenuColorLocal=e},expression:"selectedMenuColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedMenuText},model:{value:t.selectedMenuTextColorLocal,callback:function(e){t.selectedMenuTextColorLocal=e},expression:"selectedMenuTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedMenuLink},model:{value:t.selectedMenuLinkColorLocal,callback:function(e){t.selectedMenuLinkColorLocal=e},expression:"selectedMenuLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuLink}})],1)]),t._v(" "),s("div",{staticClass:"radius-container",attrs:{label:t.$t("settings.style.radii._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.radii_help")))]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearRoundness}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("RangeInput",{attrs:{name:"btnRadius",label:t.$t("settings.btnRadius"),fallback:t.previewTheme.radii.btn,max:"16","hard-min":"0"},model:{value:t.btnRadiusLocal,callback:function(e){t.btnRadiusLocal=e},expression:"btnRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"inputRadius",label:t.$t("settings.inputRadius"),fallback:t.previewTheme.radii.input,max:"9","hard-min":"0"},model:{value:t.inputRadiusLocal,callback:function(e){t.inputRadiusLocal=e},expression:"inputRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"checkboxRadius",label:t.$t("settings.checkboxRadius"),fallback:t.previewTheme.radii.checkbox,max:"16","hard-min":"0"},model:{value:t.checkboxRadiusLocal,callback:function(e){t.checkboxRadiusLocal=e},expression:"checkboxRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"panelRadius",label:t.$t("settings.panelRadius"),fallback:t.previewTheme.radii.panel,max:"50","hard-min":"0"},model:{value:t.panelRadiusLocal,callback:function(e){t.panelRadiusLocal=e},expression:"panelRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarRadius",label:t.$t("settings.avatarRadius"),fallback:t.previewTheme.radii.avatar,max:"28","hard-min":"0"},model:{value:t.avatarRadiusLocal,callback:function(e){t.avatarRadiusLocal=e},expression:"avatarRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarAltRadius",label:t.$t("settings.avatarAltRadius"),fallback:t.previewTheme.radii.avatarAlt,max:"28","hard-min":"0"},model:{value:t.avatarAltRadiusLocal,callback:function(e){t.avatarAltRadiusLocal=e},expression:"avatarAltRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"attachmentRadius",label:t.$t("settings.attachmentRadius"),fallback:t.previewTheme.radii.attachment,max:"50","hard-min":"0"},model:{value:t.attachmentRadiusLocal,callback:function(e){t.attachmentRadiusLocal=e},expression:"attachmentRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"tooltipRadius",label:t.$t("settings.tooltipRadius"),fallback:t.previewTheme.radii.tooltip,max:"50","hard-min":"0"},model:{value:t.tooltipRadiusLocal,callback:function(e){t.tooltipRadiusLocal=e},expression:"tooltipRadiusLocal"}})],1),t._v(" "),s("div",{staticClass:"shadow-container",attrs:{label:t.$t("settings.style.shadows._tab_label")}},[s("div",{staticClass:"tab-header shadow-selector"},[s("div",{staticClass:"select-container"},[t._v("\n "+t._s(t.$t("settings.style.shadows.component"))+"\n "),s("label",{staticClass:"select",attrs:{for:"shadow-switcher"}},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.shadowSelected,expression:"shadowSelected"}],staticClass:"shadow-switcher",attrs:{id:"shadow-switcher"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.shadowSelected=e.target.multiple?s:s[0]}}},t._l(t.shadowsAvailable,function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s(t.$t("settings.style.shadows.components."+e))+"\n ")])}),0),t._v(" "),s("i",{staticClass:"icon-down-open"})])]),t._v(" "),s("div",{staticClass:"override"},[s("label",{staticClass:"label",attrs:{for:"override"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.override"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentShadowOverriden,expression:"currentShadowOverriden"}],staticClass:"input-override",attrs:{id:"override",name:"override",type:"checkbox"},domProps:{checked:Array.isArray(t.currentShadowOverriden)?t._i(t.currentShadowOverriden,null)>-1:t.currentShadowOverriden},on:{change:function(e){var s=t.currentShadowOverriden,n=e.target,a=!!n.checked;if(Array.isArray(s)){var o=t._i(s,null);n.checked?o<0&&(t.currentShadowOverriden=s.concat([null])):o>-1&&(t.currentShadowOverriden=s.slice(0,o).concat(s.slice(o+1)))}else t.currentShadowOverriden=a}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"override"}})]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearShadows}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("ShadowControl",{attrs:{ready:!!t.currentShadowFallback,fallback:t.currentShadowFallback},model:{value:t.currentShadow,callback:function(e){t.currentShadow=e},expression:"currentShadow"}}),t._v(" "),"avatar"===t.shadowSelected||"avatarStatus"===t.shadowSelected?s("div",[s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.always_drop_shadow",tag:"p"}},[s("code",[t._v("filter: drop-shadow()")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.avatar_inset")))]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.drop_shadow_syntax",tag:"p"}},[s("code",[t._v("drop-shadow")]),t._v(" "),s("code",[t._v("spread-radius")]),t._v(" "),s("code",[t._v("inset")])]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.inset_classic",tag:"p"}},[s("code",[t._v("box-shadow")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.spread_zero")))])],1):t._e()],1),t._v(" "),s("div",{staticClass:"fonts-container",attrs:{label:t.$t("settings.style.fonts._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.style.fonts.help")))]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearFonts}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("FontControl",{attrs:{name:"ui",label:t.$t("settings.style.fonts.components.interface"),fallback:t.previewTheme.fonts.interface,"no-inherit":"1"},model:{value:t.fontsLocal.interface,callback:function(e){t.$set(t.fontsLocal,"interface",e)},expression:"fontsLocal.interface"}}),t._v(" "),s("FontControl",{attrs:{name:"input",label:t.$t("settings.style.fonts.components.input"),fallback:t.previewTheme.fonts.input},model:{value:t.fontsLocal.input,callback:function(e){t.$set(t.fontsLocal,"input",e)},expression:"fontsLocal.input"}}),t._v(" "),s("FontControl",{attrs:{name:"post",label:t.$t("settings.style.fonts.components.post"),fallback:t.previewTheme.fonts.post},model:{value:t.fontsLocal.post,callback:function(e){t.$set(t.fontsLocal,"post",e)},expression:"fontsLocal.post"}}),t._v(" "),s("FontControl",{attrs:{name:"postCode",label:t.$t("settings.style.fonts.components.postCode"),fallback:t.previewTheme.fonts.postCode},model:{value:t.fontsLocal.postCode,callback:function(e){t.$set(t.fontsLocal,"postCode",e)},expression:"fontsLocal.postCode"}})],1)])],1),t._v(" "),s("div",{staticClass:"apply-container"},[s("button",{staticClass:"btn submit",attrs:{disabled:!t.themeValid},on:{click:t.setCustomTheme}},[t._v("\n "+t._s(t.$t("general.apply"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn",on:{click:t.clearAll}},[t._v("\n "+t._s(t.$t("settings.style.switcher.reset"))+"\n ")])])],1)},[],!1,Be,null,null).exports,Ue={components:{TabSwitcher:n.a,DataImportExportTab:m,MutesAndBlocksTab:at,NotificationsTab:it,FilteringTab:bt,SecurityTab:Et,ProfileTab:Qt,GeneralTab:ne,VersionTab:oe,ThemeTab:Ve},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser}}};var De=function(t){s(566)},Ne=Object(o.a)(Ue,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("tab-switcher",{ref:"tabSwitcher",staticClass:"settings_tab-switcher",attrs:{"side-tab-bar":!0,"scrollable-tabs":!0}},[s("div",{attrs:{label:t.$t("settings.general"),icon:"wrench"}},[s("GeneralTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.profile_tab"),icon:"user"}},[s("ProfileTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.security_tab"),icon:"lock"}},[s("SecurityTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.filtering"),icon:"filter"}},[s("FilteringTab")],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.theme"),icon:"brush"}},[s("ThemeTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.notifications"),icon:"bell-ringing-o"}},[s("NotificationsTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.data_import_export_tab"),icon:"download"}},[s("DataImportExportTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.mutes_and_blocks"),fullHeight:!0,icon:"eye-off"}},[s("MutesAndBlocksTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.version.title"),icon:"info-circled"}},[s("VersionTab")],1)])},[],!1,De,null,null);e.default=Ne.exports}}]); -//# sourceMappingURL=2.f8dee9318a6f84ea92c3.js.map \ No newline at end of file diff --git a/priv/static/static/js/2.f8dee9318a6f84ea92c3.js.map b/priv/static/static/js/2.f8dee9318a6f84ea92c3.js.map deleted file mode 100644 index 8f4e8920a..000000000 --- a/priv/static/static/js/2.f8dee9318a6f84ea92c3.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/components/settings_modal/settings_modal_content.scss?d424","webpack:///./src/components/settings_modal/settings_modal_content.scss","webpack:///./src/components/importer/importer.vue?7798","webpack:///./src/components/importer/importer.vue?6af6","webpack:///./src/components/exporter/exporter.vue?dea3","webpack:///./src/components/exporter/exporter.vue?cc2b","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss?4d0c","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack:///./src/components/autosuggest/autosuggest.vue?9908","webpack:///./src/components/autosuggest/autosuggest.vue?9383","webpack:///./src/components/block_card/block_card.vue?7ad7","webpack:///./src/components/block_card/block_card.vue?ddc8","webpack:///./src/components/mute_card/mute_card.vue?c72f","webpack:///./src/components/mute_card/mute_card.vue?1268","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?a613","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?c85e","webpack:///./src/components/selectable_list/selectable_list.vue?a6e3","webpack:///./src/components/selectable_list/selectable_list.vue?c2f8","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?540b","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?cd9f","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?da3d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?57b8","webpack:///./src/components/settings_modal/tabs/profile_tab.scss?588b","webpack:///./src/components/settings_modal/tabs/profile_tab.scss","webpack:///./src/components/image_cropper/image_cropper.vue?f169","webpack:///./src/components/image_cropper/image_cropper.vue?6235","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss?080d","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack:///./src/components/color_input/color_input.scss?c457","webpack:///./src/components/color_input/color_input.scss","webpack:///./src/components/color_input/color_input.vue?6a4c","webpack:///./src/components/color_input/color_input.vue?bb22","webpack:///./src/components/shadow_control/shadow_control.vue?bfd4","webpack:///./src/components/shadow_control/shadow_control.vue?78ef","webpack:///./src/components/font_control/font_control.vue?5f33","webpack:///./src/components/font_control/font_control.vue?bef4","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a340","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?32fa","webpack:///./src/components/export_import/export_import.vue?5952","webpack:///./src/components/export_import/export_import.vue?aed6","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?1ae8","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?ab81","webpack:///./src/components/importer/importer.js","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.vue?320c","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.vue?7e42","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.js","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue?40b4","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.vue?b400","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.vue?7b44","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.vue?6bc9","webpack:///./src/components/domain_mute_card/domain_mute_card.js","webpack:///./src/components/domain_mute_card/domain_mute_card.vue","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?7cf0","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.vue?5686","webpack:///./src/hocs/with_subscription/with_subscription.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue?0687","webpack:///./src/components/settings_modal/tabs/notifications_tab.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue?a1d3","webpack:///./src/components/settings_modal/helpers/shared_computed_object.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue?3af7","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?198f","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.js","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue?da03","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue?cdbe","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?8795","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.js","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue?0d38","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.vue?017e","webpack:///./src/components/settings_modal/tabs/profile_tab.js","webpack:///./src/components/settings_modal/tabs/profile_tab.vue","webpack:///./src/components/settings_modal/tabs/profile_tab.vue?850c","webpack:///src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue?d9d4","webpack:///./src/components/settings_modal/tabs/general_tab.js","webpack:///./src/components/settings_modal/tabs/general_tab.vue","webpack:///./src/components/settings_modal/tabs/general_tab.vue?7ba4","webpack:///./src/components/settings_modal/tabs/version_tab.js","webpack:///./src/services/version/version.service.js","webpack:///./src/components/settings_modal/tabs/version_tab.vue","webpack:///./src/components/settings_modal/tabs/version_tab.vue?7cbe","webpack:///src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue?3d5b","webpack:///./src/components/range_input/range_input.vue","webpack:///src/components/range_input/range_input.vue","webpack:///./src/components/range_input/range_input.vue?202a","webpack:///src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue?0078","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.vue?c9d6","webpack:///./src/components/font_control/font_control.js","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.vue?184b","webpack:///src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?73bf","webpack:///src/components/export_import/export_import.vue","webpack:///./src/components/export_import/export_import.vue","webpack:///./src/components/export_import/export_import.vue?9130","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?4c36","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.js","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue?7c58","webpack:///./src/components/settings_modal/settings_modal_content.js","webpack:///./src/components/settings_modal/settings_modal_content.vue","webpack:///./src/components/settings_modal/settings_modal_content.vue?116e"],"names":["content","__webpack_require__","module","i","locals","exports","add","default","push","Importer","props","submitHandler","type","Function","required","submitButtonLabel","String","this","$t","successMessage","errorMessage","data","file","error","success","submitting","methods","change","$refs","input","files","submit","_this","dismiss","then","__vue_styles__","context","importer_importer","Object","component_normalizer","importer","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","on","_v","click","_s","_e","Exporter","getContent","filename","exportButtonLabel","processingMessage","processing","process","fileToDownload","document","createElement","setAttribute","encodeURIComponent","style","display","body","appendChild","removeChild","setTimeout","exporter_vue_styles_","exporter_exporter","exporter","DataImportExportTab","activeTab","newDomainToMute","created","$store","dispatch","components","Checkbox","computed","user","state","users","currentUser","getFollowsContent","api","backendInteractor","exportFriends","id","generateExportableUsersContent","getBlocksContent","fetchBlocks","importFollows","status","Error","importBlocks","map","is_local","screen_name","location","hostname","join","tabs_data_import_export_tab","data_import_export_tab","label","submit-handler","success-message","error-message","get-content","export-button-label","autosuggest","query","filter","placeholder","term","timeout","results","resultsVisible","filtered","watch","val","fetchResults","clearTimeout","onInputClick","onClickOutside","autosuggest_vue_styles_","autosuggest_autosuggest","directives","name","rawName","value","expression","domProps","$event","target","composing","length","_l","item","_t","BlockCard","progress","getters","findUser","userId","relationship","blocked","blocking","BasicUserCard","unblockUser","blockUser","_this2","block_card_vue_styles_","block_card_block_card","block_card","disabled","MuteCard","muted","muting","unmuteUser","muteUser","mute_card_vue_styles_","mute_card_mute_card","mute_card","DomainMuteCard","ProgressButton","domainMutes","includes","domain","unmuteDomain","muteDomain","domain_mute_card_vue_styles_","domain_mute_card_domain_mute_card","domain_mute_card","slot","SelectableList","List","items","Array","getKey","selected","allKeys","filteredSelected","key","indexOf","allSelected","noneSelected","someSelected","isSelected","toggle","checked","splice","toggleAll","slice","selectable_list_vue_styles_","selectable_list_selectable_list","selectable_list","indeterminate","get-key","scopedSlots","_u","fn","class","selectable-list-item-selected-inner","withSubscription","_ref","fetch","select","_ref$childPropName","childPropName","_ref$additionalPropNa","additionalPropNames","WrappedComponent","keys","getComponentProps","v","concat","Vue","component","toConsumableArray_default","loading","fetchedData","$props","refresh","isEmpty","fetchData","render","h","_objectSpread","defineProperty_default","$listeners","$scopedSlots","children","entries","$slots","_ref2","_ref3","slicedToArray_default","helper_default","BlockList","get","MuteList","DomainMuteList","MutesAndBlocks","TabSwitcher","Autosuggest","knownDomains","instance","activateTab","tabName","filterUnblockedUsers","userIds","reject","filterUnMutedUsers","queryUserIds","blockUsers","ids","unblockUsers","muteUsers","unmuteUsers","filterUnMutedDomains","urls","_this3","url","queryKnownDomains","_this4","Promise","resolve","toLowerCase","unmuteDomains","domains","mutes_and_blocks_tab_vue_styles_","tabs_mutes_and_blocks_tab","mutes_and_blocks_tab","scrollable-tabs","row","user-id","NotificationsTab","notificationSettings","notification_settings","updateNotificationSettings","settings","tabs_notifications_tab","notifications_tab","model","callback","$$v","$set","SharedComputedObject","shared_computed_object_objectSpread","instanceDefaultProperties","multiChoiceProperties","instanceDefaultConfig","reduce","acc","_ref4","configDefaultState","mergedConfig","set","_ref5","_ref6","useStreamingApi","e","console","FilteringTab","muteWordsStringLocal","muteWords","filtering_tab_objectSpread","muteWordsString","filter_default","split","word","trim_default","notificationVisibility","handler","deep","replyVisibility","tabs_filtering_tab","filtering_tab","for","$$selectedVal","prototype","call","options","o","_value","multiple","hidePostStats","hidePostStatsLocalizedValue","hideUserStats","hideUserStatsLocalizedValue","hideFilteredStatuses","hideFilteredStatusesLocalizedValue","mfa_backup_codes","backupCodes","inProgress","codes","ready","displayTitle","mfa_backup_codes_vue_styles_","security_tab_mfa_backup_codes","code","Confirm","confirm","$emit","cancel","tabs_security_tab_confirm","security_tab_confirm","mfa_totp","currentPassword","deactivate","mfa_totp_objectSpread","isActivated","totp","mapState","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","mfaDisableOTP","password","res","Mfa","available","enabled","setupState","setupOTPState","getNewCodes","otpSettings","provisioning_uri","otpConfirmToken","readyInit","recovery-codes","RecoveryCodes","totp-item","qrcode","VueQrcode","mfa_objectSpread","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","generateMfaBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","mfaSetupOTP","doConfirmOTP","mfaConfirmOTP","token","completeSetup","fetchSettings","cancelSetup","result","regenerator_default","a","async","_context","prev","next","awrap","settingsMFA","sent","abrupt","stop","mounted","_this5","mfa_vue_styles_","security_tab_mfa","mfa","activate","backup-codes","width","SecurityTab","newEmail","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","pleromaBackend","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","Date","valid_until","toLocaleDateString","confirmDelete","deleteAccount","$router","changePassword","params","newPassword","newPasswordConfirmation","logout","changeEmail","email","replace","revokeToken","window","$i18n","t","security_tab_security_tab","security_tab","autocomplete","ImageCropper","trigger","Element","cropperOptions","aspectRatio","autoCropArea","viewMode","movable","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","cropper","undefined","dataUrl","submitError","saveText","saveWithoutCroppingText","cancelText","submitErrorMsg","toString","destroy","cropping","arguments","avatarUploadError","err","pickImage","createCropper","Cropper","img","getTriggerDOM","typeof_default","querySelector","readFile","fileInput","reader","FileReader","onload","readAsDataURL","clearError","addEventListener","beforeDestroy","removeEventListener","image_cropper_vue_styles_","image_cropper_image_cropper","image_cropper","src","alt","load","stopPropagation","textContent","accept","ProfileTab","newName","newBio","unescape","description","newLocked","locked","newNoRichText","no_rich_text","newDefaultScope","default_scope","newFields","fields","field","hideFollows","hide_follows","hideFollowers","hide_followers","hideFollowsCount","hide_follows_count","hideFollowersCount","hide_followers_count","showRole","show_role","role","discoverable","bot","allowFollowingMove","allow_following_move","pickAvatarBtnVisible","bannerUploading","backgroundUploading","banner","bannerPreview","background","backgroundPreview","bannerUploadError","backgroundUploadError","ScopeSelector","EmojiInput","emojiUserSuggestor","suggestor","emoji","customEmoji","updateUsersList","emojiSuggestor","userSuggestor","fieldsLimits","maxFields","updateProfile","note","display_name","fields_attributes","el","merge","commit","changeVis","visibility","addField","deleteField","index","event","$delete","uploadFile","size","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","num","filesizeunit","unit","allowedsizeunit","submitAvatar","that","updateAvatar","avatar","message","getCroppedCanvas","toBlob","submitBanner","updateBanner","submitBg","_this6","updateBg","profile_tab_vue_styles_","tabs_profile_tab","profile_tab","enable-emoji-picker","suggest","classname","show-all","user-default","initial-scope","on-scope-change","_","hide-emoji-button","profile_image_url_original","open","close","cover_photo","clearUploadError","interface_language_switcher","languageCodes","messages","languages","languageNames","map_default","getLanguageName","language","interfaceLanguage","ja","ja_easy","zh","getName","interface_language_switcher_interface_language_switcher","langCode","GeneralTab","loopSilentAvailable","getOwnPropertyDescriptor","HTMLVideoElement","HTMLMediaElement","InterfaceLanguageSwitcher","general_tab_objectSpread","postFormats","instanceSpecificPanelPresent","showInstanceSpecificPanel","tabs_general_tab","general_tab","hideISP","hideMutedPosts","hideMutedPostsLocalizedValue","collapseMessageWithSubject","collapseMessageWithSubjectLocalizedValue","streaming","pauseOnUnfocused","autoLoad","hoverPreview","emojiReactionsOnTimeline","scopeCopy","scopeCopyLocalizedValue","alwaysShowSubjectInput","alwaysShowSubjectInputLocalizedValue","subjectLineBehavior","subjectLineBehaviorDefaultValue","postContentType","postFormat","postContentTypeDefaultValue","minimalScopesMode","minimalScopesModeLocalizedValue","autohideFloatingPostButton","padEmoji","hideAttachments","hideAttachmentsInConv","modifiers","number","min","step","maxThumbnails","_n","blur","$forceUpdate","hideNsfw","preloadImage","useOneClickNsfw","stopGifs","loopVideo","loopVideoSilentOnly","playVideosInModal","useContainFit","webPushNotifications","greentext","greentextLocalizedValue","VersionTab","backendVersion","frontendVersion","frontendVersionLink","backendVersionLink","versionString","matches","match","tabs_version_tab","version_tab","href","color_input","checkbox_checkbox","fallback","Boolean","showOptionalTickbox","present","validColor","color_convert","transparentColor","computedColor","startsWith","color_input_vue_styles_","color_input_color_input","backgroundColor","range_input_range_input","max","hardMax","hardMin","opacity_input","opacity_input_opacity_input","toModel","shadow_control_objectSpread","x","y","spread","inset","color","alpha","shadow_control","selectedId","cValue","ColorInput","OpacityInput","del","Math","moveUp","moveDn","beforeUpdate","anyShadows","anyShadowsFallback","currentFallback","moveUpValid","moveDnValid","usingFallback","rgb","hex2rgb","boxShadow","getCssShadow","shadow_control_vue_styles_","shadow_control_shadow_control","__r","shadow","isArray","_i","$$a","$$el","$$c","$$i","show-optional-tickbox","path","tag","font_control","lValue","availableOptions","noInherit","dValue","family","isCustom","preset","font_control_vue_styles_","font_control_font_control","custom","option","contrast_ratio","large","contrast","hint","levelVal","aaa","aa","level","ratio","text","hint_18pt","laaa","laa","contrast_ratio_vue_styles_","contrast_ratio_contrast_ratio","title","export_import","importFailed","exportData","stringified","JSON","stringify","exportObject","btoa","importData","filePicker","parsed","parse","validator","onImport","readAsText","export_import_vue_styles_","export_import_export_import","exportLabel","importLabel","importFailedText","preview_vue_styles_","theme_tab_preview","staticStyle","font-family","_m","v1OnlyNames","theme_tab","theme_tab_objectSpread","availableStyles","theme","themeWarning","tempImportFile","engineVersion","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","SLOT_INHERITANCE","OPACITIES","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","self","getThemes","promises","all","k","themes","_ref7","_ref8","themesComplete","loadThemeFromLocalStorage","shadowsAvailable","themeWarningHelp","pre","_this$themeWarning","origin","themeEngineVersion","noActionsPossible","CURRENT_VERSION","selectedVersion","currentColors","_ref9","_ref10","currentOpacity","_ref11","_ref12","currentRadii","btn","checkbox","panel","avatarAlt","tooltip","attachment","preview","composePreset","previewTheme","colors","opacity","radii","shadows","fonts","previewContrast","bg","colorsConverted","_ref13","_ref14","ratios","_ref15","_ref16","slotIsBaseText","textColor","_ref17","layer","variant","opacitySlot","getOpacitySlot","textColors","layers","getLayers","textColorKey","newKey","toUpperCase","getContrastRatioLayers","_ref18","_ref19","toPrecision","warn","previewRules","rules","values","DEFAULT_SHADOWS","sort","currentShadowOverriden","currentShadow","currentShadowFallback","assign","themeValid","exportedTheme","saveEverything","source","_pleroma_theme_version","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","ExportImport","loadTheme","_ref20","fileVersion","forceUseSource","dismissWarning","version","snapshotEngineVersion","versionsMatch","sourceSnapshotMismatch","forcedSourceLoad","normalizeLocalState","forceLoadLocalStorage","forceLoad","forceSnapshot","confirmLoadSource","_this$$store$getters$","customTheme","customThemeSource","themeData","setCustomTheme","updatePreviewColorsAndShadows","generateColors","generateShadows","mod","forceSource","importValidator","clearAll","clearV1","$data","endsWith","forEach","clearRoundness","clearOpacity","clearShadows","clearFonts","colors2to3","fg","fgColorLocal","rgb2hex","textColorLocal","Set","hex","_ref21","_ref22","Number","isNaN","_ref23","_ref24","shadows2to3","generateRadii","getOwnPropertyNames","generateFonts","fontsInvalid","bgColorLocal","linkColorLocal","cRedColorLocal","cGreenColorLocal","cBlueColorLocal","cOrangeColorLocal","theme_tab_vue_styles_","theme_tab_theme_tab","export-object","export-label","import-label","import-failed-text","on-import","bgOpacityLocal","bgText","link","accentColorLocal","accent","bgLink","fgText","fgTextColorLocal","fgLink","fgLinkColorLocal","bgCRed","bgCBlue","bgCGreen","bgCOrange","postLinkColorLocal","postLink","cGreen","postGreentextColorLocal","postGreentext","alertError","alertErrorColorLocal","alertErrorText","alertErrorTextColorLocal","alertWarning","alertWarningColorLocal","alertWarningText","alertWarningTextColorLocal","alertNeutral","alertNeutralColorLocal","alertNeutralText","alertNeutralTextColorLocal","alert","alertOpacityLocal","badgeNotification","badgeNotificationColorLocal","badgeNotificationText","badgeNotificationTextColorLocal","panelColorLocal","panelOpacityLocal","panelText","panelTextColorLocal","panelLink","panelLinkColorLocal","topBar","topBarColorLocal","topBarText","topBarTextColorLocal","topBarLink","topBarLinkColorLocal","inputColorLocal","inputOpacityLocal","inputText","inputTextColorLocal","btnColorLocal","btnOpacityLocal","btnText","btnTextColorLocal","btnPanelText","btnPanelTextColorLocal","btnTopBarText","btnTopBarTextColorLocal","btnPressed","btnPressedColorLocal","btnPressedText","btnPressedTextColorLocal","btnPressedPanelText","btnPressedPanelTextColorLocal","btnPressedTopBarText","btnPressedTopBarTextColorLocal","btnDisabled","btnDisabledColorLocal","btnDisabledText","btnDisabledTextColorLocal","btnDisabledPanelText","btnDisabledPanelTextColorLocal","btnDisabledTopBarText","btnDisabledTopBarTextColorLocal","btnToggled","btnToggledColorLocal","btnToggledText","btnToggledTextColorLocal","btnToggledPanelText","btnToggledPanelTextColorLocal","btnToggledTopBarText","btnToggledTopBarTextColorLocal","tab","tabColorLocal","tabText","tabTextColorLocal","tabActiveText","tabActiveTextColorLocal","border","borderColorLocal","borderOpacityLocal","faint","faintColorLocal","faintLink","faintLinkColorLocal","panelFaint","panelFaintColorLocal","faintOpacityLocal","underlay","underlayColorLocal","underlayOpacityLocal","poll","pollColorLocal","pollText","pollTextColorLocal","icon","iconColorLocal","highlight","highlightColorLocal","highlightText","highlightTextColorLocal","highlightLink","highlightLinkColorLocal","popover","popoverColorLocal","popoverOpacityLocal","popoverText","popoverTextColorLocal","popoverLink","popoverLinkColorLocal","selectedPost","selectedPostColorLocal","selectedPostText","selectedPostTextColorLocal","selectedPostLink","selectedPostLinkColorLocal","selectedMenu","selectedMenuColorLocal","selectedMenuText","selectedMenuTextColorLocal","selectedMenuLink","selectedMenuLinkColorLocal","hard-min","interface","no-inherit","post","postCode","SettingsModalContent","MutesAndBlocksTab","ThemeTab","isLoggedIn","settings_modal_content_vue_styles_","settings_modal_content_Component","settings_modal_content","side-tab-bar","fullHeight","__webpack_exports__"],"mappings":"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","file":"static/js/2.f8dee9318a6f84ea92c3.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a \n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./color_input.scss\")\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./color_input.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-77e407b6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./color_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"color-input style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined' && _vm.showOptionalTickbox)?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"input color-input-field\"},[_c('input',{staticClass:\"textColor unstyled\",attrs:{\"id\":_vm.name + '-t',\"type\":\"text\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),(_vm.validColor)?_c('input',{staticClass:\"nativeColor unstyled\",attrs:{\"id\":_vm.name,\"type\":\"color\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}):_vm._e(),_vm._v(\" \"),(_vm.transparentColor)?_c('div',{staticClass:\"transparentIndicator\"}):_vm._e(),_vm._v(\" \"),(_vm.computedColor)?_c('div',{staticClass:\"computedIndicator\",style:({backgroundColor: _vm.fallback})}):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6a3c1a26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./range_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"range-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"range\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.max || _vm.hardMax || 100,\"min\":_vm.min || _vm.hardMin || 0,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.hardMax,\"min\":_vm.hardMin,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3b48fa39\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./opacity_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"opacity-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.common.opacity'))+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":\"1\",\"min\":\"0\",\"step\":\".05\"},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\n\nconst toModel = (object = {}) => ({\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n inset: false,\n color: '#000000',\n alpha: 1,\n ...object\n})\n\nexport default {\n // 'Value' and 'Fallback' can be undefined, but if they are\n // initially vue won't detect it when they become something else\n // therefore i'm using \"ready\" which should be passed as true when\n // data becomes available\n props: [\n 'value', 'fallback', 'ready'\n ],\n data () {\n return {\n selectedId: 0,\n // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n cValue: (this.value || this.fallback || []).map(toModel)\n }\n },\n components: {\n ColorInput,\n OpacityInput\n },\n methods: {\n add () {\n this.cValue.push(toModel(this.selected))\n this.selectedId = this.cValue.length - 1\n },\n del () {\n this.cValue.splice(this.selectedId, 1)\n this.selectedId = this.cValue.length === 0 ? undefined : Math.max(this.selectedId - 1, 0)\n },\n moveUp () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId - 1, 0, movable)\n this.selectedId -= 1\n },\n moveDn () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId + 1, 0, movable)\n this.selectedId += 1\n }\n },\n beforeUpdate () {\n this.cValue = this.value || this.fallback\n },\n computed: {\n anyShadows () {\n return this.cValue.length > 0\n },\n anyShadowsFallback () {\n return this.fallback.length > 0\n },\n selected () {\n if (this.ready && this.anyShadows) {\n return this.cValue[this.selectedId]\n } else {\n return toModel({})\n }\n },\n currentFallback () {\n if (this.ready && this.anyShadowsFallback) {\n return this.fallback[this.selectedId]\n } else {\n return toModel({})\n }\n },\n moveUpValid () {\n return this.ready && this.selectedId > 0\n },\n moveDnValid () {\n return this.ready && this.selectedId < this.cValue.length - 1\n },\n present () {\n return this.ready &&\n typeof this.cValue[this.selectedId] !== 'undefined' &&\n !this.usingFallback\n },\n usingFallback () {\n return typeof this.value === 'undefined'\n },\n rgb () {\n return hex2rgb(this.selected.color)\n },\n style () {\n return this.ready ? {\n boxShadow: getCssShadow(this.fallback)\n } : {}\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./shadow_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./shadow_control.js\"\nimport __vue_script__ from \"!!babel-loader!./shadow_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5c532734\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./shadow_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shadow-control\",class:{ disabled: !_vm.present }},[_c('div',{staticClass:\"shadow-preview-container\"},[_c('div',{staticClass:\"y-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.y)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"y\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.y)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"y\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-window\"},[_c('div',{staticClass:\"preview-block\",style:(_vm.style)})]),_vm._v(\" \"),_c('div',{staticClass:\"x-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.x)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"x\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.x)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"x\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"shadow-tweak\"},[_c('div',{staticClass:\"id-control style-control\",attrs:{\"disabled\":_vm.usingFallback}},[_c('label',{staticClass:\"select\",attrs:{\"for\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedId),expression:\"selectedId\"}],staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.cValue),function(shadow,index){return _c('option',{key:index,domProps:{\"value\":index}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.shadow_id', { value: index }))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.ready || !_vm.present},on:{\"click\":_vm.del}},[_c('i',{staticClass:\"icon-cancel\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.moveUpValid},on:{\"click\":_vm.moveUp}},[_c('i',{staticClass:\"icon-up-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.moveDnValid},on:{\"click\":_vm.moveDn}},[_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.usingFallback},on:{\"click\":_vm.add}},[_c('i',{staticClass:\"icon-plus\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"inset-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"inset\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.inset'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.inset),expression:\"selected.inset\"}],staticClass:\"input-inset\",attrs:{\"id\":\"inset\",\"disabled\":!_vm.present,\"name\":\"inset\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.selected.inset)?_vm._i(_vm.selected.inset,null)>-1:(_vm.selected.inset)},on:{\"change\":function($event){var $$a=_vm.selected.inset,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selected, \"inset\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selected, \"inset\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selected, \"inset\", $$c)}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"inset\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"blur-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.blur'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-range\",attrs:{\"id\":\"blur\",\"disabled\":!_vm.present,\"name\":\"blur\",\"type\":\"range\",\"max\":\"20\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"blur\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"blur\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"spread-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.spread'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-range\",attrs:{\"id\":\"spread\",\"disabled\":!_vm.present,\"name\":\"spread\",\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"spread\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"spread\", $event.target.value)}}})]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"disabled\":!_vm.present,\"label\":_vm.$t('settings.style.common.color'),\"fallback\":_vm.currentFallback.color,\"show-optional-tickbox\":false,\"name\":\"shadow\"},model:{value:(_vm.selected.color),callback:function ($$v) {_vm.$set(_vm.selected, \"color\", $$v)},expression:\"selected.color\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"disabled\":!_vm.present},model:{value:(_vm.selected.alpha),callback:function ($$v) {_vm.$set(_vm.selected, \"alpha\", $$v)},expression:\"selected.alpha\"}}),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.hintV3\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"--variable,mod\")])])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set } from 'vue'\n\nexport default {\n props: [\n 'name', 'label', 'value', 'fallback', 'options', 'no-inherit'\n ],\n data () {\n return {\n lValue: this.value,\n availableOptions: [\n this.noInherit ? '' : 'inherit',\n 'custom',\n ...(this.options || []),\n 'serif',\n 'monospace',\n 'sans-serif'\n ].filter(_ => _)\n }\n },\n beforeUpdate () {\n this.lValue = this.value\n },\n computed: {\n present () {\n return typeof this.lValue !== 'undefined'\n },\n dValue () {\n return this.lValue || this.fallback || {}\n },\n family: {\n get () {\n return this.dValue.family\n },\n set (v) {\n set(this.lValue, 'family', v)\n this.$emit('input', this.lValue)\n }\n },\n isCustom () {\n return this.preset === 'custom'\n },\n preset: {\n get () {\n if (this.family === 'serif' ||\n this.family === 'sans-serif' ||\n this.family === 'monospace' ||\n this.family === 'inherit') {\n return this.family\n } else {\n return 'custom'\n }\n },\n set (v) {\n this.family = v === 'custom' ? '' : v\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./font_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./font_control.js\"\nimport __vue_script__ from \"!!babel-loader!./font_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0edf8dfc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./font_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-control style-control\",class:{ custom: _vm.isCustom }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.preset === 'custom' ? _vm.name : _vm.name + '-font-switcher'}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exlcude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"select\",attrs:{\"for\":_vm.name + '-font-switcher',\"disabled\":!_vm.present}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.preset),expression:\"preset\"}],staticClass:\"font-switcher\",attrs:{\"id\":_vm.name + '-font-switcher',\"disabled\":!_vm.present},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.preset=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.availableOptions),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\"\\n \"+_vm._s(option === 'custom' ? _vm.$t('settings.style.fonts.custom') : option)+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),(_vm.isCustom)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.family),expression:\"family\"}],staticClass:\"custom-font\",attrs:{\"id\":_vm.name,\"type\":\"text\"},domProps:{\"value\":(_vm.family)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.family=$event.target.value}}}):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./contrast_ratio.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2507acc6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./contrast_ratio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contrast)?_c('span',{staticClass:\"contrast-ratio\"},[_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint}},[(_vm.contrast.aaa)?_c('span',[_c('i',{staticClass:\"icon-thumbs-up-alt\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && _vm.contrast.aa)?_c('span',[_c('i',{staticClass:\"icon-adjust\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && !_vm.contrast.aa)?_c('span',[_c('i',{staticClass:\"icon-attention\"})]):_vm._e()]),_vm._v(\" \"),(_vm.contrast && _vm.large)?_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint_18pt}},[(_vm.contrast.laaa)?_c('span',[_c('i',{staticClass:\"icon-thumbs-up-alt\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && _vm.contrast.laa)?_c('span',[_c('i',{staticClass:\"icon-adjust\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && !_vm.contrast.laa)?_c('span',[_c('i',{staticClass:\"icon-attention\"})]):_vm._e()]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./export_import.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./export_import.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./export_import.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3d9b5a74\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./export_import.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"import-export-container\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.exportData}},[_vm._v(\"\\n \"+_vm._s(_vm.exportLabel)+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.importData}},[_vm._v(\"\\n \"+_vm._s(_vm.importLabel)+\"\\n \")]),_vm._v(\" \"),_vm._t(\"afterButtons\"),_vm._v(\" \"),(_vm.importFailed)?_c('p',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.importFailedText)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._t(\"afterError\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./preview.vue\")\n}\n/* script */\nvar __vue_script__ = null\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1a88be74\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"preview-container\"},[_c('div',{staticClass:\"underlay underlay-preview\"}),_vm._v(\" \"),_c('div',{staticClass:\"panel dummy\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header'))+\"\\n \"),_c('span',{staticClass:\"badge badge-notification\"},[_vm._v(\"\\n 99\\n \")])]),_vm._v(\" \"),_c('span',{staticClass:\"faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header_faint'))+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body theme-preview-content\"},[_c('div',{staticClass:\"post\"},[_c('div',{staticClass:\"avatar still-image\"},[_vm._v(\"\\n ( ͡° ͜ʖ ͡°)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.content'))+\"\\n \")]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.preview.text\"}},[_c('code',{staticStyle:{\"font-family\":\"var(--postCodeFont)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.mono'))+\"\\n \")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"var(--link)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.link'))+\"\\n \")])]),_vm._v(\" \"),_vm._m(0)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"after-post\"},[_c('div',{staticClass:\"avatar-alt\"},[_vm._v(\"\\n :^)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('i18n',{staticClass:\"faint\",attrs:{\"path\":\"settings.style.preview.fine_print\",\"tag\":\"span\"}},[_c('a',{staticStyle:{\"color\":\"var(--faintLink)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.faint_link'))+\"\\n \")])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"separator\"}),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.$t('settings.style.preview.input')}}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('span',{staticClass:\"checkbox\"},[_c('input',{attrs:{\"id\":\"preview_checkbox\",\"checked\":\"very yes\",\"type\":\"checkbox\"}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"preview_checkbox\"}},[_vm._v(_vm._s(_vm.$t('settings.style.preview.checkbox')))])]),_vm._v(\" \"),_c('button',{staticClass:\"btn\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icons\"},[_c('i',{staticClass:\"button-icon icon-reply\",staticStyle:{\"color\":\"var(--cBlue)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-retweet\",staticStyle:{\"color\":\"var(--cGreen)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-star\",staticStyle:{\"color\":\"var(--cOrange)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-cancel\",staticStyle:{\"color\":\"var(--cRed)\"}})])}]\nexport { render, staticRenderFns }","import { set, delete as del } from 'vue'\nimport {\n rgb2hex,\n hex2rgb,\n getContrastRatioLayers\n} from 'src/services/color_convert/color_convert.js'\nimport {\n DEFAULT_SHADOWS,\n generateColors,\n generateShadows,\n generateRadii,\n generateFonts,\n composePreset,\n getThemes,\n shadows2to3,\n colors2to3\n} from 'src/services/style_setter/style_setter.js'\nimport {\n SLOT_INHERITANCE\n} from 'src/services/theme_data/pleromafe.js'\nimport {\n CURRENT_VERSION,\n OPACITIES,\n getLayers,\n getOpacitySlot\n} from 'src/services/theme_data/theme_data.service.js'\nimport ColorInput from 'src/components/color_input/color_input.vue'\nimport RangeInput from 'src/components/range_input/range_input.vue'\nimport OpacityInput from 'src/components/opacity_input/opacity_input.vue'\nimport ShadowControl from 'src/components/shadow_control/shadow_control.vue'\nimport FontControl from 'src/components/font_control/font_control.vue'\nimport ContrastRatio from 'src/components/contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\nimport ExportImport from 'src/components/export_import/export_import.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\n\nimport Preview from './preview.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n 'bg',\n 'fg',\n 'text',\n 'link',\n 'cRed',\n 'cGreen',\n 'cBlue',\n 'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nconst colorConvert = (color) => {\n if (color.startsWith('--') || color === 'transparent') {\n return color\n } else {\n return hex2rgb(color)\n }\n}\n\nexport default {\n data () {\n return {\n availableStyles: [],\n selected: this.$store.getters.mergedConfig.theme,\n themeWarning: undefined,\n tempImportFile: undefined,\n engineVersion: 0,\n\n previewShadows: {},\n previewColors: {},\n previewRadii: {},\n previewFonts: {},\n\n shadowsInvalid: true,\n colorsInvalid: true,\n radiiInvalid: true,\n\n keepColor: false,\n keepShadows: false,\n keepOpacity: false,\n keepRoundness: false,\n keepFonts: false,\n\n ...Object.keys(SLOT_INHERITANCE)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'ColorLocal' ]: val }), {}),\n\n ...Object.keys(OPACITIES)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'OpacityLocal' ]: val }), {}),\n\n shadowSelected: undefined,\n shadowsLocal: {},\n fontsLocal: {},\n\n btnRadiusLocal: '',\n inputRadiusLocal: '',\n checkboxRadiusLocal: '',\n panelRadiusLocal: '',\n avatarRadiusLocal: '',\n avatarAltRadiusLocal: '',\n attachmentRadiusLocal: '',\n tooltipRadiusLocal: ''\n }\n },\n created () {\n const self = this\n\n getThemes()\n .then((promises) => {\n return Promise.all(\n Object.entries(promises)\n .map(([k, v]) => v.then(res => [k, res]))\n )\n })\n .then(themes => themes.reduce((acc, [k, v]) => {\n if (v) {\n return {\n ...acc,\n [k]: v\n }\n } else {\n return acc\n }\n }, {}))\n .then((themesComplete) => {\n self.availableStyles = themesComplete\n })\n },\n mounted () {\n this.loadThemeFromLocalStorage()\n if (typeof this.shadowSelected === 'undefined') {\n this.shadowSelected = this.shadowsAvailable[0]\n }\n },\n computed: {\n themeWarningHelp () {\n if (!this.themeWarning) return\n const t = this.$t\n const pre = 'settings.style.switcher.help.'\n const {\n origin,\n themeEngineVersion,\n type,\n noActionsPossible\n } = this.themeWarning\n if (origin === 'file') {\n // Loaded v2 theme from file\n if (themeEngineVersion === 2 && type === 'wrong_version') {\n return t(pre + 'v2_imported')\n }\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n } else if (origin === 'localStorage') {\n if (type === 'snapshot_source_mismatch') {\n return t(pre + 'snapshot_source_mismatch')\n }\n // FE upgraded from v2\n if (themeEngineVersion === 2) {\n return t(pre + 'upgraded_from_v2')\n }\n // Admin downgraded FE\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'fe_downgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n // Admin upgraded FE\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'fe_upgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n }\n },\n selectedVersion () {\n return Array.isArray(this.selected) ? 1 : 2\n },\n currentColors () {\n return Object.keys(SLOT_INHERITANCE)\n .map(key => [key, this[key + 'ColorLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentOpacity () {\n return Object.keys(OPACITIES)\n .map(key => [key, this[key + 'OpacityLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentRadii () {\n return {\n btn: this.btnRadiusLocal,\n input: this.inputRadiusLocal,\n checkbox: this.checkboxRadiusLocal,\n panel: this.panelRadiusLocal,\n avatar: this.avatarRadiusLocal,\n avatarAlt: this.avatarAltRadiusLocal,\n tooltip: this.tooltipRadiusLocal,\n attachment: this.attachmentRadiusLocal\n }\n },\n preview () {\n return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n },\n previewTheme () {\n if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n return this.preview.theme\n },\n // This needs optimization maybe\n previewContrast () {\n try {\n if (!this.previewTheme.colors.bg) return {}\n const colors = this.previewTheme.colors\n const opacity = this.previewTheme.opacity\n if (!colors.bg) return {}\n const hints = (ratio) => ({\n text: ratio.toPrecision(3) + ':1',\n // AA level, AAA level\n aa: ratio >= 4.5,\n aaa: ratio >= 7,\n // same but for 18pt+ texts\n laa: ratio >= 3,\n laaa: ratio >= 4.5\n })\n const colorsConverted = Object.entries(colors).reduce((acc, [key, value]) => ({ ...acc, [key]: colorConvert(value) }), {})\n\n const ratios = Object.entries(SLOT_INHERITANCE).reduce((acc, [key, value]) => {\n const slotIsBaseText = key === 'text' || key === 'link'\n const slotIsText = slotIsBaseText || (\n typeof value === 'object' && value !== null && value.textColor\n )\n if (!slotIsText) return acc\n const { layer, variant } = slotIsBaseText ? { layer: 'bg' } : value\n const background = variant || layer\n const opacitySlot = getOpacitySlot(background)\n const textColors = [\n key,\n ...(background === 'bg' ? ['cRed', 'cGreen', 'cBlue', 'cOrange'] : [])\n ]\n\n const layers = getLayers(\n layer,\n variant || layer,\n opacitySlot,\n colorsConverted,\n opacity\n )\n\n return {\n ...acc,\n ...textColors.reduce((acc, textColorKey) => {\n const newKey = slotIsBaseText\n ? 'bg' + textColorKey[0].toUpperCase() + textColorKey.slice(1)\n : textColorKey\n return {\n ...acc,\n [newKey]: getContrastRatioLayers(\n colorsConverted[textColorKey],\n layers,\n colorsConverted[textColorKey]\n )\n }\n }, {})\n }\n }, {})\n\n return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n } catch (e) {\n console.warn('Failure computing contrasts', e)\n }\n },\n previewRules () {\n if (!this.preview.rules) return ''\n return [\n ...Object.values(this.preview.rules),\n 'color: var(--text)',\n 'font-family: var(--interfaceFont, sans-serif)'\n ].join(';')\n },\n shadowsAvailable () {\n return Object.keys(DEFAULT_SHADOWS).sort()\n },\n currentShadowOverriden: {\n get () {\n return !!this.currentShadow\n },\n set (val) {\n if (val) {\n set(this.shadowsLocal, this.shadowSelected, this.currentShadowFallback.map(_ => Object.assign({}, _)))\n } else {\n del(this.shadowsLocal, this.shadowSelected)\n }\n }\n },\n currentShadowFallback () {\n return (this.previewTheme.shadows || {})[this.shadowSelected]\n },\n currentShadow: {\n get () {\n return this.shadowsLocal[this.shadowSelected]\n },\n set (v) {\n set(this.shadowsLocal, this.shadowSelected, v)\n }\n },\n themeValid () {\n return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n },\n exportedTheme () {\n const saveEverything = (\n !this.keepFonts &&\n !this.keepShadows &&\n !this.keepOpacity &&\n !this.keepRoundness &&\n !this.keepColor\n )\n\n const source = {\n themeEngineVersion: CURRENT_VERSION\n }\n\n if (this.keepFonts || saveEverything) {\n source.fonts = this.fontsLocal\n }\n if (this.keepShadows || saveEverything) {\n source.shadows = this.shadowsLocal\n }\n if (this.keepOpacity || saveEverything) {\n source.opacity = this.currentOpacity\n }\n if (this.keepColor || saveEverything) {\n source.colors = this.currentColors\n }\n if (this.keepRoundness || saveEverything) {\n source.radii = this.currentRadii\n }\n\n const theme = {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n\n return {\n // To separate from other random JSON files and possible future source formats\n _pleroma_theme_version: 2, theme, source\n }\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n RangeInput,\n ContrastRatio,\n ShadowControl,\n FontControl,\n TabSwitcher,\n Preview,\n ExportImport,\n Checkbox\n },\n methods: {\n loadTheme (\n {\n theme,\n source,\n _pleroma_theme_version: fileVersion\n },\n origin,\n forceUseSource = false\n ) {\n this.dismissWarning()\n if (!source && !theme) {\n throw new Error('Can\\'t load theme: empty')\n }\n const version = (origin === 'localStorage' && !theme.colors)\n ? 'l1'\n : fileVersion\n const snapshotEngineVersion = (theme || {}).themeEngineVersion\n const themeEngineVersion = (source || {}).themeEngineVersion || 2\n const versionsMatch = themeEngineVersion === CURRENT_VERSION\n const sourceSnapshotMismatch = (\n theme !== undefined &&\n source !== undefined &&\n themeEngineVersion !== snapshotEngineVersion\n )\n // Force loading of source if user requested it or if snapshot\n // is unavailable\n const forcedSourceLoad = (source && forceUseSource) || !theme\n if (!(versionsMatch && !sourceSnapshotMismatch) &&\n !forcedSourceLoad &&\n version !== 'l1' &&\n origin !== 'defaults'\n ) {\n if (sourceSnapshotMismatch && origin === 'localStorage') {\n this.themeWarning = {\n origin,\n themeEngineVersion,\n type: 'snapshot_source_mismatch'\n }\n } else if (!theme) {\n this.themeWarning = {\n origin,\n noActionsPossible: true,\n themeEngineVersion,\n type: 'no_snapshot_old_version'\n }\n } else if (!versionsMatch) {\n this.themeWarning = {\n origin,\n noActionsPossible: !source,\n themeEngineVersion,\n type: 'wrong_version'\n }\n }\n }\n this.normalizeLocalState(theme, version, source, forcedSourceLoad)\n },\n forceLoadLocalStorage () {\n this.loadThemeFromLocalStorage(true)\n },\n dismissWarning () {\n this.themeWarning = undefined\n this.tempImportFile = undefined\n },\n forceLoad () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(true)\n break\n case 'file':\n this.onImport(this.tempImportFile, true)\n break\n }\n this.dismissWarning()\n },\n forceSnapshot () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(false, true)\n break\n case 'file':\n console.err('Forcing snapshout from file is not supported yet')\n break\n }\n this.dismissWarning()\n },\n loadThemeFromLocalStorage (confirmLoadSource = false, forceSnapshot = false) {\n const {\n customTheme: theme,\n customThemeSource: source\n } = this.$store.getters.mergedConfig\n if (!theme && !source) {\n // Anon user or never touched themes\n this.loadTheme(\n this.$store.state.instance.themeData,\n 'defaults',\n confirmLoadSource\n )\n } else {\n this.loadTheme(\n {\n theme,\n source: forceSnapshot ? theme : source\n },\n 'localStorage',\n confirmLoadSource\n )\n }\n },\n setCustomTheme () {\n this.$store.dispatch('setOption', {\n name: 'customTheme',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n })\n this.$store.dispatch('setOption', {\n name: 'customThemeSource',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n shadows: this.shadowsLocal,\n fonts: this.fontsLocal,\n opacity: this.currentOpacity,\n colors: this.currentColors,\n radii: this.currentRadii\n }\n })\n },\n updatePreviewColorsAndShadows () {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n this.previewShadows = generateShadows(\n { shadows: this.shadowsLocal, opacity: this.previewTheme.opacity, themeEngineVersion: this.engineVersion },\n this.previewColors.theme.colors,\n this.previewColors.mod\n )\n },\n onImport (parsed, forceSource = false) {\n this.tempImportFile = parsed\n this.loadTheme(parsed, 'file', forceSource)\n },\n importValidator (parsed) {\n const version = parsed._pleroma_theme_version\n return version >= 1 || version <= 2\n },\n clearAll () {\n this.loadThemeFromLocalStorage()\n },\n\n // Clears all the extra stuff when loading V1 theme\n clearV1 () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n .filter(_ => !v1OnlyNames.includes(_))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearRoundness () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('RadiusLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearOpacity () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('OpacityLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearShadows () {\n this.shadowsLocal = {}\n },\n\n clearFonts () {\n this.fontsLocal = {}\n },\n\n /**\n * This applies stored theme data onto form. Supports three versions of data:\n * v3 (version >= 3) - newest version of themes which supports snapshots for better compatiblity\n * v2 (version = 2) - newer version of themes.\n * v1 (version = 1) - older version of themes (import from file)\n * v1l (version = l1) - older version of theme (load from local storage)\n * v1 and v1l differ because of way themes were stored/exported.\n * @param {Object} theme - theme data (snapshot)\n * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n * @param {Object} source - theme source - this will be used if compatible\n * @param {Boolean} source - by default source won't be used if version doesn't match since it might render differently\n * this allows importing source anyway\n */\n normalizeLocalState (theme, version = 0, source, forceSource = false) {\n let input\n if (typeof source !== 'undefined') {\n if (forceSource || source.themeEngineVersion === CURRENT_VERSION) {\n input = source\n version = source.themeEngineVersion\n } else {\n input = theme\n }\n } else {\n input = theme\n }\n\n const radii = input.radii || input\n const opacity = input.opacity\n const shadows = input.shadows || {}\n const fonts = input.fonts || {}\n const colors = !input.themeEngineVersion\n ? colors2to3(input.colors || input)\n : input.colors || input\n\n if (version === 0) {\n if (input.version) version = input.version\n // Old v1 naming: fg is text, btn is foreground\n if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n version = 1\n }\n // New v2 naming: text is text, fg is foreground\n if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n version = 2\n }\n }\n\n this.engineVersion = version\n\n // Stuff that differs between V1 and V2\n if (version === 1) {\n this.fgColorLocal = rgb2hex(colors.btn)\n this.textColorLocal = rgb2hex(colors.fg)\n }\n\n if (!this.keepColor) {\n this.clearV1()\n const keys = new Set(version !== 1 ? Object.keys(SLOT_INHERITANCE) : [])\n if (version === 1 || version === 'l1') {\n keys\n .add('bg')\n .add('link')\n .add('cRed')\n .add('cBlue')\n .add('cGreen')\n .add('cOrange')\n }\n\n keys.forEach(key => {\n const color = colors[key]\n const hex = rgb2hex(colors[key])\n this[key + 'ColorLocal'] = hex === '#aN' ? color : hex\n })\n }\n\n if (opacity && !this.keepOpacity) {\n this.clearOpacity()\n Object.entries(opacity).forEach(([k, v]) => {\n if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n this[k + 'OpacityLocal'] = v\n })\n }\n\n if (!this.keepRoundness) {\n this.clearRoundness()\n Object.entries(radii).forEach(([k, v]) => {\n // 'Radius' is kept mostly for v1->v2 localstorage transition\n const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n this[key + 'RadiusLocal'] = v\n })\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n if (version === 2) {\n this.shadowsLocal = shadows2to3(shadows, this.previewTheme.opacity)\n } else {\n this.shadowsLocal = shadows\n }\n this.shadowSelected = this.shadowsAvailable[0]\n }\n\n if (!this.keepFonts) {\n this.clearFonts()\n this.fontsLocal = fonts\n }\n }\n },\n watch: {\n currentRadii () {\n try {\n this.previewRadii = generateRadii({ radii: this.currentRadii })\n this.radiiInvalid = false\n } catch (e) {\n this.radiiInvalid = true\n console.warn(e)\n }\n },\n shadowsLocal: {\n handler () {\n if (Object.getOwnPropertyNames(this.previewColors).length === 1) return\n try {\n this.updatePreviewColorsAndShadows()\n this.shadowsInvalid = false\n } catch (e) {\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n fontsLocal: {\n handler () {\n try {\n this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n this.fontsInvalid = false\n } catch (e) {\n this.fontsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n currentColors () {\n try {\n this.updatePreviewColorsAndShadows()\n this.colorsInvalid = false\n this.shadowsInvalid = false\n } catch (e) {\n this.colorsInvalid = true\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n currentOpacity () {\n try {\n this.updatePreviewColorsAndShadows()\n } catch (e) {\n console.warn(e)\n }\n },\n selected () {\n this.dismissWarning()\n if (this.selectedVersion === 1) {\n if (!this.keepRoundness) {\n this.clearRoundness()\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n }\n\n if (!this.keepOpacity) {\n this.clearOpacity()\n }\n\n if (!this.keepColor) {\n this.clearV1()\n\n this.bgColorLocal = this.selected[1]\n this.fgColorLocal = this.selected[2]\n this.textColorLocal = this.selected[3]\n this.linkColorLocal = this.selected[4]\n this.cRedColorLocal = this.selected[5]\n this.cGreenColorLocal = this.selected[6]\n this.cBlueColorLocal = this.selected[7]\n this.cOrangeColorLocal = this.selected[8]\n }\n } else if (this.selectedVersion >= 2) {\n this.normalizeLocalState(this.selected.theme, 2, this.selected.source)\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./theme_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./theme_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./theme_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7e4ea09a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./theme_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-tab\"},[_c('div',{staticClass:\"presets-container\"},[_c('div',{staticClass:\"save-load\"},[(_vm.themeWarning)?_c('div',{staticClass:\"theme-warning\"},[_c('div',{staticClass:\"alert warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.themeWarningHelp)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.themeWarning.type === 'snapshot_source_mismatch')?[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_source'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.forceSnapshot}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_snapshot'))+\"\\n \")])]:(_vm.themeWarning.noActionsPossible)?[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.dismiss'))+\"\\n \")])]:[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.load_theme'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_as_is'))+\"\\n \")])]],2)]):_vm._e(),_vm._v(\" \"),_c('ExportImport',{attrs:{\"export-object\":_vm.exportedTheme,\"export-label\":_vm.$t(\"settings.export_theme\"),\"import-label\":_vm.$t(\"settings.import_theme\"),\"import-failed-text\":_vm.$t(\"settings.invalid_theme_imported\"),\"on-import\":_vm.onImport,\"validator\":_vm.importValidator}},[_c('template',{slot:\"before\"},[_c('div',{staticClass:\"presets\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.presets'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"preset-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected),expression:\"selected\"}],staticClass:\"preset-switcher\",attrs:{\"id\":\"preset-switcher\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selected=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.availableStyles),function(style){return _c('option',{key:style.name,style:({\n backgroundColor: style[1] || (style.theme || style.source).colors.bg,\n color: style[3] || (style.theme || style.source).colors.text\n }),domProps:{\"value\":style}},[_vm._v(\"\\n \"+_vm._s(style[0] || style.name)+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])])])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"save-load-options\"},[_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepColor),callback:function ($$v) {_vm.keepColor=$$v},expression:\"keepColor\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_color'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepShadows),callback:function ($$v) {_vm.keepShadows=$$v},expression:\"keepShadows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_shadows'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepOpacity),callback:function ($$v) {_vm.keepOpacity=$$v},expression:\"keepOpacity\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_opacity'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepRoundness),callback:function ($$v) {_vm.keepRoundness=$$v},expression:\"keepRoundness\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_roundness'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepFonts),callback:function ($$v) {_vm.keepFonts=$$v},expression:\"keepFonts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_fonts'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.switcher.save_load_hint')))])])]),_vm._v(\" \"),_c('preview',{style:(_vm.previewRules)}),_vm._v(\" \"),_c('keep-alive',[_c('tab-switcher',{key:\"style-tweak\"},[_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.common_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('div',{staticClass:\"tab-header-buttons\"},[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_1')))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.main')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"bgColor\",\"label\":_vm.$t('settings.background')},model:{value:(_vm.bgColorLocal),callback:function ($$v) {_vm.bgColorLocal=$$v},expression:\"bgColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"bgOpacity\",\"fallback\":_vm.previewTheme.opacity.bg},model:{value:(_vm.bgOpacityLocal),callback:function ($$v) {_vm.bgOpacityLocal=$$v},expression:\"bgOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"textColor\",\"label\":_vm.$t('settings.text')},model:{value:(_vm.textColorLocal),callback:function ($$v) {_vm.textColorLocal=$$v},expression:\"textColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"accentColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.accent'),\"show-optional-tickbox\":typeof _vm.linkColorLocal !== 'undefined'},model:{value:(_vm.accentColorLocal),callback:function ($$v) {_vm.accentColorLocal=$$v},expression:\"accentColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"linkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links'),\"show-optional-tickbox\":typeof _vm.accentColorLocal !== 'undefined'},model:{value:(_vm.linkColorLocal),callback:function ($$v) {_vm.linkColorLocal=$$v},expression:\"linkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"fgColor\",\"label\":_vm.$t('settings.foreground')},model:{value:(_vm.fgColorLocal),callback:function ($$v) {_vm.fgColorLocal=$$v},expression:\"fgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgTextColor\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.fgText},model:{value:(_vm.fgTextColorLocal),callback:function ($$v) {_vm.fgTextColorLocal=$$v},expression:\"fgTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgLinkColor\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.fgLink},model:{value:(_vm.fgLinkColorLocal),callback:function ($$v) {_vm.fgLinkColorLocal=$$v},expression:\"fgLinkColorLocal\"}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.foreground_hint')))])],1),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.rgbo')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cRedColor\",\"label\":_vm.$t('settings.cRed')},model:{value:(_vm.cRedColorLocal),callback:function ($$v) {_vm.cRedColorLocal=$$v},expression:\"cRedColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCRed}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cBlueColor\",\"label\":_vm.$t('settings.cBlue')},model:{value:(_vm.cBlueColorLocal),callback:function ($$v) {_vm.cBlueColorLocal=$$v},expression:\"cBlueColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCBlue}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cGreenColor\",\"label\":_vm.$t('settings.cGreen')},model:{value:(_vm.cGreenColorLocal),callback:function ($$v) {_vm.cGreenColorLocal=$$v},expression:\"cGreenColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCGreen}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cOrangeColor\",\"label\":_vm.$t('settings.cOrange')},model:{value:(_vm.cOrangeColorLocal),callback:function ($$v) {_vm.cOrangeColorLocal=$$v},expression:\"cOrangeColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCOrange}})],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_2')))])]),_vm._v(\" \"),_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.advanced_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.post')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postLinkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links')},model:{value:(_vm.postLinkColorLocal),callback:function ($$v) {_vm.postLinkColorLocal=$$v},expression:\"postLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postLink}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postGreentextColor\",\"fallback\":_vm.previewTheme.colors.cGreen,\"label\":_vm.$t('settings.greentext')},model:{value:(_vm.postGreentextColorLocal),callback:function ($$v) {_vm.postGreentextColorLocal=$$v},expression:\"postGreentextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postGreentext}}),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.alert')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertError\",\"label\":_vm.$t('settings.style.advanced_colors.alert_error'),\"fallback\":_vm.previewTheme.colors.alertError},model:{value:(_vm.alertErrorColorLocal),callback:function ($$v) {_vm.alertErrorColorLocal=$$v},expression:\"alertErrorColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertErrorText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertErrorText},model:{value:(_vm.alertErrorTextColorLocal),callback:function ($$v) {_vm.alertErrorTextColorLocal=$$v},expression:\"alertErrorTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertErrorText,\"large\":\"true\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarning\",\"label\":_vm.$t('settings.style.advanced_colors.alert_warning'),\"fallback\":_vm.previewTheme.colors.alertWarning},model:{value:(_vm.alertWarningColorLocal),callback:function ($$v) {_vm.alertWarningColorLocal=$$v},expression:\"alertWarningColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarningText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertWarningText},model:{value:(_vm.alertWarningTextColorLocal),callback:function ($$v) {_vm.alertWarningTextColorLocal=$$v},expression:\"alertWarningTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertWarningText,\"large\":\"true\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutral\",\"label\":_vm.$t('settings.style.advanced_colors.alert_neutral'),\"fallback\":_vm.previewTheme.colors.alertNeutral},model:{value:(_vm.alertNeutralColorLocal),callback:function ($$v) {_vm.alertNeutralColorLocal=$$v},expression:\"alertNeutralColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutralText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertNeutralText},model:{value:(_vm.alertNeutralTextColorLocal),callback:function ($$v) {_vm.alertNeutralTextColorLocal=$$v},expression:\"alertNeutralTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertNeutralText,\"large\":\"true\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"alertOpacity\",\"fallback\":_vm.previewTheme.opacity.alert},model:{value:(_vm.alertOpacityLocal),callback:function ($$v) {_vm.alertOpacityLocal=$$v},expression:\"alertOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.badge')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotification\",\"label\":_vm.$t('settings.style.advanced_colors.badge_notification'),\"fallback\":_vm.previewTheme.colors.badgeNotification},model:{value:(_vm.badgeNotificationColorLocal),callback:function ($$v) {_vm.badgeNotificationColorLocal=$$v},expression:\"badgeNotificationColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotificationText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.badgeNotificationText},model:{value:(_vm.badgeNotificationTextColorLocal),callback:function ($$v) {_vm.badgeNotificationTextColorLocal=$$v},expression:\"badgeNotificationTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.badgeNotificationText,\"large\":\"true\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.panel_header')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelColor\",\"fallback\":_vm.previewTheme.colors.panel,\"label\":_vm.$t('settings.background')},model:{value:(_vm.panelColorLocal),callback:function ($$v) {_vm.panelColorLocal=$$v},expression:\"panelColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"panelOpacity\",\"fallback\":_vm.previewTheme.opacity.panel,\"disabled\":_vm.panelColorLocal === 'transparent'},model:{value:(_vm.panelOpacityLocal),callback:function ($$v) {_vm.panelOpacityLocal=$$v},expression:\"panelOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelTextColor\",\"fallback\":_vm.previewTheme.colors.panelText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.panelTextColorLocal),callback:function ($$v) {_vm.panelTextColorLocal=$$v},expression:\"panelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelText,\"large\":\"true\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelLinkColor\",\"fallback\":_vm.previewTheme.colors.panelLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.panelLinkColorLocal),callback:function ($$v) {_vm.panelLinkColorLocal=$$v},expression:\"panelLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelLink,\"large\":\"true\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.top_bar')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarColor\",\"fallback\":_vm.previewTheme.colors.topBar,\"label\":_vm.$t('settings.background')},model:{value:(_vm.topBarColorLocal),callback:function ($$v) {_vm.topBarColorLocal=$$v},expression:\"topBarColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarTextColor\",\"fallback\":_vm.previewTheme.colors.topBarText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.topBarTextColorLocal),callback:function ($$v) {_vm.topBarTextColorLocal=$$v},expression:\"topBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarLinkColor\",\"fallback\":_vm.previewTheme.colors.topBarLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.topBarLinkColorLocal),callback:function ($$v) {_vm.topBarLinkColorLocal=$$v},expression:\"topBarLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.inputs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputColor\",\"fallback\":_vm.previewTheme.colors.input,\"label\":_vm.$t('settings.background')},model:{value:(_vm.inputColorLocal),callback:function ($$v) {_vm.inputColorLocal=$$v},expression:\"inputColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"inputOpacity\",\"fallback\":_vm.previewTheme.opacity.input,\"disabled\":_vm.inputColorLocal === 'transparent'},model:{value:(_vm.inputOpacityLocal),callback:function ($$v) {_vm.inputOpacityLocal=$$v},expression:\"inputOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputTextColor\",\"fallback\":_vm.previewTheme.colors.inputText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.inputTextColorLocal),callback:function ($$v) {_vm.inputTextColorLocal=$$v},expression:\"inputTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.inputText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.buttons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnColor\",\"fallback\":_vm.previewTheme.colors.btn,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnColorLocal),callback:function ($$v) {_vm.btnColorLocal=$$v},expression:\"btnColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"btnOpacity\",\"fallback\":_vm.previewTheme.opacity.btn,\"disabled\":_vm.btnColorLocal === 'transparent'},model:{value:(_vm.btnOpacityLocal),callback:function ($$v) {_vm.btnOpacityLocal=$$v},expression:\"btnOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTextColor\",\"fallback\":_vm.previewTheme.colors.btnText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnTextColorLocal),callback:function ($$v) {_vm.btnTextColorLocal=$$v},expression:\"btnTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPanelTextColorLocal),callback:function ($$v) {_vm.btnPanelTextColorLocal=$$v},expression:\"btnPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnTopBarTextColorLocal),callback:function ($$v) {_vm.btnTopBarTextColorLocal=$$v},expression:\"btnTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.pressed')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedColor\",\"fallback\":_vm.previewTheme.colors.btnPressed,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnPressedColorLocal),callback:function ($$v) {_vm.btnPressedColorLocal=$$v},expression:\"btnPressedColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnPressedTextColorLocal),callback:function ($$v) {_vm.btnPressedTextColorLocal=$$v},expression:\"btnPressedTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPressedPanelTextColorLocal),callback:function ($$v) {_vm.btnPressedPanelTextColorLocal=$$v},expression:\"btnPressedPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnPressedTopBarTextColorLocal),callback:function ($$v) {_vm.btnPressedTopBarTextColorLocal=$$v},expression:\"btnPressedTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.disabled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledColor\",\"fallback\":_vm.previewTheme.colors.btnDisabled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnDisabledColorLocal),callback:function ($$v) {_vm.btnDisabledColorLocal=$$v},expression:\"btnDisabledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnDisabledTextColorLocal),callback:function ($$v) {_vm.btnDisabledTextColorLocal=$$v},expression:\"btnDisabledTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnDisabledPanelTextColorLocal),callback:function ($$v) {_vm.btnDisabledPanelTextColorLocal=$$v},expression:\"btnDisabledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnDisabledTopBarTextColorLocal),callback:function ($$v) {_vm.btnDisabledTopBarTextColorLocal=$$v},expression:\"btnDisabledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.toggled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledColor\",\"fallback\":_vm.previewTheme.colors.btnToggled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnToggledColorLocal),callback:function ($$v) {_vm.btnToggledColorLocal=$$v},expression:\"btnToggledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnToggledTextColorLocal),callback:function ($$v) {_vm.btnToggledTextColorLocal=$$v},expression:\"btnToggledTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnToggledPanelTextColorLocal),callback:function ($$v) {_vm.btnToggledPanelTextColorLocal=$$v},expression:\"btnToggledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnToggledTopBarTextColorLocal),callback:function ($$v) {_vm.btnToggledTopBarTextColorLocal=$$v},expression:\"btnToggledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledTopBarText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.tabs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabColor\",\"fallback\":_vm.previewTheme.colors.tab,\"label\":_vm.$t('settings.background')},model:{value:(_vm.tabColorLocal),callback:function ($$v) {_vm.tabColorLocal=$$v},expression:\"tabColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabTextColor\",\"fallback\":_vm.previewTheme.colors.tabText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabTextColorLocal),callback:function ($$v) {_vm.tabTextColorLocal=$$v},expression:\"tabTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabActiveTextColor\",\"fallback\":_vm.previewTheme.colors.tabActiveText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabActiveTextColorLocal),callback:function ($$v) {_vm.tabActiveTextColorLocal=$$v},expression:\"tabActiveTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabActiveText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.borders')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"borderColor\",\"fallback\":_vm.previewTheme.colors.border,\"label\":_vm.$t('settings.style.common.color')},model:{value:(_vm.borderColorLocal),callback:function ($$v) {_vm.borderColorLocal=$$v},expression:\"borderColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"borderOpacity\",\"fallback\":_vm.previewTheme.opacity.border,\"disabled\":_vm.borderColorLocal === 'transparent'},model:{value:(_vm.borderOpacityLocal),callback:function ($$v) {_vm.borderOpacityLocal=$$v},expression:\"borderOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.faint_text')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintColor\",\"fallback\":_vm.previewTheme.colors.faint,\"label\":_vm.$t('settings.text')},model:{value:(_vm.faintColorLocal),callback:function ($$v) {_vm.faintColorLocal=$$v},expression:\"faintColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintLinkColor\",\"fallback\":_vm.previewTheme.colors.faintLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.faintLinkColorLocal),callback:function ($$v) {_vm.faintLinkColorLocal=$$v},expression:\"faintLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelFaintColor\",\"fallback\":_vm.previewTheme.colors.panelFaint,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.panelFaintColorLocal),callback:function ($$v) {_vm.panelFaintColorLocal=$$v},expression:\"panelFaintColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"faintOpacity\",\"fallback\":_vm.previewTheme.opacity.faint},model:{value:(_vm.faintOpacityLocal),callback:function ($$v) {_vm.faintOpacityLocal=$$v},expression:\"faintOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.underlay')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"underlay\",\"label\":_vm.$t('settings.style.advanced_colors.underlay'),\"fallback\":_vm.previewTheme.colors.underlay},model:{value:(_vm.underlayColorLocal),callback:function ($$v) {_vm.underlayColorLocal=$$v},expression:\"underlayColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"underlayOpacity\",\"fallback\":_vm.previewTheme.opacity.underlay,\"disabled\":_vm.underlayOpacityLocal === 'transparent'},model:{value:(_vm.underlayOpacityLocal),callback:function ($$v) {_vm.underlayOpacityLocal=$$v},expression:\"underlayOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.poll')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"poll\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.poll},model:{value:(_vm.pollColorLocal),callback:function ($$v) {_vm.pollColorLocal=$$v},expression:\"pollColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"pollText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.pollText},model:{value:(_vm.pollTextColorLocal),callback:function ($$v) {_vm.pollTextColorLocal=$$v},expression:\"pollTextColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.icons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"icon\",\"label\":_vm.$t('settings.style.advanced_colors.icons'),\"fallback\":_vm.previewTheme.colors.icon},model:{value:(_vm.iconColorLocal),callback:function ($$v) {_vm.iconColorLocal=$$v},expression:\"iconColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.highlight')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlight\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.highlight},model:{value:(_vm.highlightColorLocal),callback:function ($$v) {_vm.highlightColorLocal=$$v},expression:\"highlightColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.highlightText},model:{value:(_vm.highlightTextColorLocal),callback:function ($$v) {_vm.highlightTextColorLocal=$$v},expression:\"highlightTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.highlightLink},model:{value:(_vm.highlightLinkColorLocal),callback:function ($$v) {_vm.highlightLinkColorLocal=$$v},expression:\"highlightLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.popover')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popover\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.popover},model:{value:(_vm.popoverColorLocal),callback:function ($$v) {_vm.popoverColorLocal=$$v},expression:\"popoverColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"popoverOpacity\",\"fallback\":_vm.previewTheme.opacity.popover,\"disabled\":_vm.popoverOpacityLocal === 'transparent'},model:{value:(_vm.popoverOpacityLocal),callback:function ($$v) {_vm.popoverOpacityLocal=$$v},expression:\"popoverOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.popoverText},model:{value:(_vm.popoverTextColorLocal),callback:function ($$v) {_vm.popoverTextColorLocal=$$v},expression:\"popoverTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.popoverLink},model:{value:(_vm.popoverLinkColorLocal),callback:function ($$v) {_vm.popoverLinkColorLocal=$$v},expression:\"popoverLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedPost')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPost\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedPost},model:{value:(_vm.selectedPostColorLocal),callback:function ($$v) {_vm.selectedPostColorLocal=$$v},expression:\"selectedPostColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedPostText},model:{value:(_vm.selectedPostTextColorLocal),callback:function ($$v) {_vm.selectedPostTextColorLocal=$$v},expression:\"selectedPostTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedPostLink},model:{value:(_vm.selectedPostLinkColorLocal),callback:function ($$v) {_vm.selectedPostLinkColorLocal=$$v},expression:\"selectedPostLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedMenu')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenu\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedMenu},model:{value:(_vm.selectedMenuColorLocal),callback:function ($$v) {_vm.selectedMenuColorLocal=$$v},expression:\"selectedMenuColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedMenuText},model:{value:(_vm.selectedMenuTextColorLocal),callback:function ($$v) {_vm.selectedMenuTextColorLocal=$$v},expression:\"selectedMenuTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedMenuLink},model:{value:(_vm.selectedMenuLinkColorLocal),callback:function ($$v) {_vm.selectedMenuLinkColorLocal=$$v},expression:\"selectedMenuLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuLink}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"radius-container\",attrs:{\"label\":_vm.$t('settings.style.radii._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.radii_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearRoundness}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"btnRadius\",\"label\":_vm.$t('settings.btnRadius'),\"fallback\":_vm.previewTheme.radii.btn,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.btnRadiusLocal),callback:function ($$v) {_vm.btnRadiusLocal=$$v},expression:\"btnRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"inputRadius\",\"label\":_vm.$t('settings.inputRadius'),\"fallback\":_vm.previewTheme.radii.input,\"max\":\"9\",\"hard-min\":\"0\"},model:{value:(_vm.inputRadiusLocal),callback:function ($$v) {_vm.inputRadiusLocal=$$v},expression:\"inputRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"checkboxRadius\",\"label\":_vm.$t('settings.checkboxRadius'),\"fallback\":_vm.previewTheme.radii.checkbox,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.checkboxRadiusLocal),callback:function ($$v) {_vm.checkboxRadiusLocal=$$v},expression:\"checkboxRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"panelRadius\",\"label\":_vm.$t('settings.panelRadius'),\"fallback\":_vm.previewTheme.radii.panel,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.panelRadiusLocal),callback:function ($$v) {_vm.panelRadiusLocal=$$v},expression:\"panelRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarRadius\",\"label\":_vm.$t('settings.avatarRadius'),\"fallback\":_vm.previewTheme.radii.avatar,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarRadiusLocal),callback:function ($$v) {_vm.avatarRadiusLocal=$$v},expression:\"avatarRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarAltRadius\",\"label\":_vm.$t('settings.avatarAltRadius'),\"fallback\":_vm.previewTheme.radii.avatarAlt,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarAltRadiusLocal),callback:function ($$v) {_vm.avatarAltRadiusLocal=$$v},expression:\"avatarAltRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"attachmentRadius\",\"label\":_vm.$t('settings.attachmentRadius'),\"fallback\":_vm.previewTheme.radii.attachment,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.attachmentRadiusLocal),callback:function ($$v) {_vm.attachmentRadiusLocal=$$v},expression:\"attachmentRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"tooltipRadius\",\"label\":_vm.$t('settings.tooltipRadius'),\"fallback\":_vm.previewTheme.radii.tooltip,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.tooltipRadiusLocal),callback:function ($$v) {_vm.tooltipRadiusLocal=$$v},expression:\"tooltipRadiusLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"shadow-container\",attrs:{\"label\":_vm.$t('settings.style.shadows._tab_label')}},[_c('div',{staticClass:\"tab-header shadow-selector\"},[_c('div',{staticClass:\"select-container\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.component'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"shadow-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shadowSelected),expression:\"shadowSelected\"}],staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.shadowSelected=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.shadowsAvailable),function(shadow){return _c('option',{key:shadow,domProps:{\"value\":shadow}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.components.' + shadow))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"override\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"override\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.override'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentShadowOverriden),expression:\"currentShadowOverriden\"}],staticClass:\"input-override\",attrs:{\"id\":\"override\",\"name\":\"override\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentShadowOverriden)?_vm._i(_vm.currentShadowOverriden,null)>-1:(_vm.currentShadowOverriden)},on:{\"change\":function($event){var $$a=_vm.currentShadowOverriden,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentShadowOverriden=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentShadowOverriden=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentShadowOverriden=$$c}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"override\"}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearShadows}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('ShadowControl',{attrs:{\"ready\":!!_vm.currentShadowFallback,\"fallback\":_vm.currentShadowFallback},model:{value:(_vm.currentShadow),callback:function ($$v) {_vm.currentShadow=$$v},expression:\"currentShadow\"}}),_vm._v(\" \"),(_vm.shadowSelected === 'avatar' || _vm.shadowSelected === 'avatarStatus')?_c('div',[_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.always_drop_shadow\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"filter: drop-shadow()\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.avatar_inset')))]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.drop_shadow_syntax\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"drop-shadow\")]),_vm._v(\" \"),_c('code',[_vm._v(\"spread-radius\")]),_vm._v(\" \"),_c('code',[_vm._v(\"inset\")])]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.inset_classic\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"box-shadow\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.spread_zero')))])],1):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"fonts-container\",attrs:{\"label\":_vm.$t('settings.style.fonts._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.fonts.help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearFonts}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"ui\",\"label\":_vm.$t('settings.style.fonts.components.interface'),\"fallback\":_vm.previewTheme.fonts.interface,\"no-inherit\":\"1\"},model:{value:(_vm.fontsLocal.interface),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"interface\", $$v)},expression:\"fontsLocal.interface\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"input\",\"label\":_vm.$t('settings.style.fonts.components.input'),\"fallback\":_vm.previewTheme.fonts.input},model:{value:(_vm.fontsLocal.input),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"input\", $$v)},expression:\"fontsLocal.input\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"post\",\"label\":_vm.$t('settings.style.fonts.components.post'),\"fallback\":_vm.previewTheme.fonts.post},model:{value:(_vm.fontsLocal.post),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"post\", $$v)},expression:\"fontsLocal.post\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"postCode\",\"label\":_vm.$t('settings.style.fonts.components.postCode'),\"fallback\":_vm.previewTheme.fonts.postCode},model:{value:(_vm.fontsLocal.postCode),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"postCode\", $$v)},expression:\"fontsLocal.postCode\"}})],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"apply-container\"},[_c('button',{staticClass:\"btn submit\",attrs:{\"disabled\":!_vm.themeValid},on:{\"click\":_vm.setCustomTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.apply'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearAll}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.reset'))+\"\\n \")])])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\n\nimport DataImportExportTab from './tabs/data_import_export_tab.vue'\nimport MutesAndBlocksTab from './tabs/mutes_and_blocks_tab.vue'\nimport NotificationsTab from './tabs/notifications_tab.vue'\nimport FilteringTab from './tabs/filtering_tab.vue'\nimport SecurityTab from './tabs/security_tab/security_tab.vue'\nimport ProfileTab from './tabs/profile_tab.vue'\nimport GeneralTab from './tabs/general_tab.vue'\nimport VersionTab from './tabs/version_tab.vue'\nimport ThemeTab from './tabs/theme_tab/theme_tab.vue'\n\nconst SettingsModalContent = {\n components: {\n TabSwitcher,\n\n DataImportExportTab,\n MutesAndBlocksTab,\n NotificationsTab,\n FilteringTab,\n SecurityTab,\n ProfileTab,\n GeneralTab,\n VersionTab,\n ThemeTab\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n }\n }\n}\n\nexport default SettingsModalContent\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./settings_modal_content.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./settings_modal_content.js\"\nimport __vue_script__ from \"!!babel-loader!./settings_modal_content.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4edb68b6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./settings_modal_content.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tab-switcher',{ref:\"tabSwitcher\",staticClass:\"settings_tab-switcher\",attrs:{\"side-tab-bar\":true,\"scrollable-tabs\":true}},[_c('div',{attrs:{\"label\":_vm.$t('settings.general'),\"icon\":\"wrench\"}},[_c('GeneralTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.profile_tab'),\"icon\":\"user\"}},[_c('ProfileTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.security_tab'),\"icon\":\"lock\"}},[_c('SecurityTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.filtering'),\"icon\":\"filter\"}},[_c('FilteringTab')],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.theme'),\"icon\":\"brush\"}},[_c('ThemeTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.notifications'),\"icon\":\"bell-ringing-o\"}},[_c('NotificationsTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.data_import_export_tab'),\"icon\":\"download\"}},[_c('DataImportExportTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.mutes_and_blocks'),\"fullHeight\":true,\"icon\":\"eye-off\"}},[_c('MutesAndBlocksTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.version.title'),\"icon\":\"info-circled\"}},[_c('VersionTab')],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/20.43b5b27b0f68474f3b72.js.map b/priv/static/static/js/20.43b5b27b0f68474f3b72.js.map deleted file mode 100644 index 224627821..000000000 --- a/priv/static/static/js/20.43b5b27b0f68474f3b72.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/20.43b5b27b0f68474f3b72.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/20.43b5b27b0f68474f3b72.js b/priv/static/static/js/20.e0c3ad29d59470506c04.js similarity index 99% rename from priv/static/static/js/20.43b5b27b0f68474f3b72.js rename to priv/static/static/js/20.e0c3ad29d59470506c04.js index 2b2b5bf60..ddedbd1ff 100644 --- a/priv/static/static/js/20.43b5b27b0f68474f3b72.js +++ b/priv/static/static/js/20.e0c3ad29d59470506c04.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{552:function(e){e.exports={chat:{title:"チャット"},exporter:{export:"エクスポート",processing:"処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります。"},features_panel:{chat:"チャット",gopher:"Gopher",media_proxy:"メディアプロクシ",scope_options:"公開範囲選択",text_limit:"文字の数",title:"有効な機能",who_to_follow:"おすすめユーザー"},finder:{error_fetching_user:"ユーザー検索がエラーになりました。",find_user:"ユーザーを探す"},general:{apply:"適用",submit:"送信",more:"続き",generic_error:"エラーになりました",optional:"省略可",show_more:"もっと見る",show_less:"たたむ",cancel:"キャンセル",disable:"無効",enable:"有効",confirm:"確認",verify:"検査"},image_cropper:{crop_picture:"画像を切り抜く",save:"保存",save_without_cropping:"切り抜かずに保存",cancel:"キャンセル"},importer:{submit:"送信",success:"正常にインポートされました。",error:"このファイルをインポートするとき、エラーが発生しました。"},login:{login:"ログイン",description:"OAuthでログイン",logout:"ログアウト",password:"パスワード",placeholder:"例: lain",register:"登録",username:"ユーザー名",hint:"会話に加わるには、ログインしてください",authentication_code:"認証コード",enter_recovery_code:"リカバリーコードを入力してください",enter_two_factor_code:"2段階認証コードを入力してください",recovery_code:"リカバリーコード",heading:{totp:"2段階認証",recovery:"2段階リカバリー"}},media_modal:{previous:"前",next:"次"},nav:{about:"このインスタンスについて",back:"戻る",chat:"ローカルチャット",friend_requests:"フォローリクエスト",mentions:"通知",interactions:"インタラクション",dms:"ダイレクトメッセージ",public_tl:"パブリックタイムライン",timeline:"タイムライン",twkn:"接続しているすべてのネットワーク",user_search:"ユーザーを探す",search:"検索",who_to_follow:"おすすめユーザー",preferences:"設定"},notifications:{broken_favorite:"ステータスが見つかりません。探しています...",favorited_you:"あなたのステータスがお気に入りされました",followed_you:"フォローされました",load_older:"古い通知をみる",notifications:"通知",read:"読んだ!",repeated_you:"あなたのステータスがリピートされました",no_more_notifications:"通知はありません"},polls:{add_poll:"投票を追加",add_option:"選択肢を追加",option:"選択肢",votes:"票",vote:"投票",type:"投票の形式",single_choice:"択一式",multiple_choices:"複数選択式",expiry:"投票期間",expires_in:"投票は {0} で終了します",expired:"投票は {0} 前に終了しました",not_enough_options:"相異なる選択肢が不足しています"},emoji:{stickers:"ステッカー",emoji:"絵文字",keep_open:"ピッカーを開いたままにする",search_emoji:"絵文字を検索",add_emoji:"絵文字を挿入",custom:"カスタム絵文字",unicode:"Unicode絵文字"},stickers:{add_sticker:"ステッカーを追加"},interactions:{favs_repeats:"リピートとお気に入り",follows:"新しいフォロワー",load_older:"古いインタラクションを見る"},post_status:{new_status:"投稿する",account_not_locked_warning:"あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。",account_not_locked_warning_link:"ロックされたアカウント",attachments_sensitive:"ファイルをNSFWにする",content_type:{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"説明 (省略可)",default:"羽田空港に着きました。",direct_warning_to_all:"この投稿は、メンションされたすべてのユーザーが、見ることができます。",direct_warning_to_first_only:"この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。",direct_warning:"このステータスは、メンションされたユーザーだけが、読むことができます。",posting:"投稿",scope_notice:{public:"この投稿は、誰でも見ることができます",private:"この投稿は、あなたのフォロワーだけが、見ることができます。",unlisted:"この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません。"},scope:{direct:"ダイレクト: メンションされたユーザーのみに届きます。",private:"フォロワーげんてい: フォロワーのみに届きます。",public:"パブリック: パブリックタイムラインに届きます。",unlisted:"アンリステッド: パブリックタイムラインに届きません。"}},registration:{bio:"プロフィール",email:"Eメール",fullname:"スクリーンネーム",password_confirm:"パスワードの確認",registration:"登録",token:"招待トークン",captcha:"CAPTCHA",new_captcha:"文字が読めないときは、画像をクリックすると、新しい画像になります",username_placeholder:"例: lain",fullname_placeholder:"例: 岩倉玲音",bio_placeholder:"例:\nこんにちは。私は玲音。\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。",validations:{username_required:"必須",fullname_required:"必須",email_required:"必須",password_required:"必須",password_confirmation_required:"必須",password_confirmation_match:"パスワードが違います"}},selectable_list:{select_all:"すべて選択"},settings:{app_name:"アプリの名称",security:"セキュリティ",enter_current_password_to_confirm:"あなたのアイデンティティを証明するため、現在のパスワードを入力してください",mfa:{otp:"OTP",setup_otp:"OTPのセットアップ",wait_pre_setup_otp:"OTPのプリセット",confirm_and_enable:"OTPの確認と有効化",title:"2段階認証",generate_new_recovery_codes:"新しいリカバリーコードを生成",warning_of_generate_new_codes:"新しいリカバリーコードを生成すると、古いコードは使用できなくなります。",recovery_codes:"リカバリーコード。",waiting_a_recovery_codes:"バックアップコードを受信しています...",recovery_codes_warning:"コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。",authentication_methods:"認証方法",scan:{title:"スキャン",desc:"あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:",secret_code:"キー"},verify:{desc:"2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:"}},attachmentRadius:"ファイル",attachments:"ファイル",autoload:"下にスクロールしたとき、自動的に読み込む。",avatar:"アバター",avatarAltRadius:"通知のアバター",avatarRadius:"アバター",background:"バックグラウンド",bio:"プロフィール",block_export:"ブロックのエクスポート",block_export_button:"ブロックをCSVファイルにエクスポートする",block_import:"ブロックのインポート",block_import_error:"ブロックのインポートに失敗しました",blocks_imported:"ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。",blocks_tab:"ブロック",btnRadius:"ボタン",cBlue:"返信とフォロー",cGreen:"リピート",cOrange:"お気に入り",cRed:"キャンセル",change_password:"パスワードを変える",change_password_error:"パスワードを変えることが、できなかったかもしれません。",changed_password:"パスワードが、変わりました!",collapse_subject:"説明のある投稿をたたむ",composing:"投稿",confirm_new_password:"新しいパスワードの確認",current_avatar:"現在のアバター",current_password:"現在のパスワード",current_profile_banner:"現在のプロフィールバナー",data_import_export_tab:"インポートとエクスポート",default_vis:"デフォルトの公開範囲",delete_account:"アカウントを消す",delete_account_description:"あなたのアカウントとメッセージが、消えます。",delete_account_error:"アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。",delete_account_instructions:"本当にアカウントを消してもいいなら、パスワードを入力してください。",discoverable:"検索などのサービスでこのアカウントを見つけることを許可する",avatar_size_instruction:"アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。",pad_emoji:"ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる",export_theme:"保存",filtering:"フィルタリング",filtering_explanation:"これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください。",follow_export:"フォローのエクスポート",follow_export_button:"エクスポート",follow_export_processing:"お待ちください。まもなくファイルをダウンロードできます。",follow_import:"フォローのインポート",follow_import_error:"フォローのインポートがエラーになりました。",follows_imported:"フォローがインポートされました! 少し時間がかかるかもしれません。",foreground:"フォアグラウンド",general:"全般",hide_attachments_in_convo:"スレッドのファイルを隠す",hide_attachments_in_tl:"タイムラインのファイルを隠す",hide_muted_posts:"ミュートしているユーザーの投稿を隠す",max_thumbnails:"投稿に含まれるサムネイルの最大数",hide_isp:"インスタンス固有パネルを隠す",preload_images:"画像を先読みする",use_one_click_nsfw:"NSFWなファイルを1クリックで開く",hide_post_stats:"投稿の統計を隠す (例: お気に入りの数)",hide_user_stats:"ユーザーの統計を隠す (例: フォロワーの数)",hide_filtered_statuses:"フィルターされた投稿を隠す",import_blocks_from_a_csv_file:"CSVファイルからブロックをインポートする",import_followers_from_a_csv_file:"CSVファイルからフォローをインポートする",import_theme:"ロード",inputRadius:"インプットフィールド",checkboxRadius:"チェックボックス",instance_default:"(デフォルト: {value})",instance_default_simple:"(デフォルト)",interface:"インターフェース",interfaceLanguage:"インターフェースの言語",invalid_theme_imported:"このファイルはPleromaのテーマではありません。テーマは変更されませんでした。",limited_availability:"あなたのブラウザではできません",links:"リンク",lock_account_description:"あなたが認めた人だけ、あなたのアカウントをフォローできる",loop_video:"ビデオを繰り返す",loop_video_silent_only:"音のないビデオだけ繰り返す",mutes_tab:"ミュート",play_videos_in_modal:"ビデオをメディアビューアーで見る",use_contain_fit:"画像のサムネイルを、切り抜かない",name:"名前",name_bio:"名前とプロフィール",new_password:"新しいパスワード",notification_visibility:"表示する通知",notification_visibility_follows:"フォロー",notification_visibility_likes:"お気に入り",notification_visibility_mentions:"メンション",notification_visibility_repeats:"リピート",no_rich_text_description:"リッチテキストを使わない",no_blocks:"ブロックはありません",no_mutes:"ミュートはありません",hide_follows_description:"フォローしている人を見せない",hide_followers_description:"フォロワーを見せない",hide_follows_count_description:"フォローしている人の数を見せない",hide_followers_count_description:"フォロワーの数を見せない",show_admin_badge:"管理者のバッジを見せる",show_moderator_badge:"モデレーターのバッジを見せる",nsfw_clickthrough:"NSFWなファイルを隠す",oauth_tokens:"OAuthトークン",token:"トークン",refresh_token:"トークンを更新",valid_until:"まで有効",revoke_token:"取り消す",panelRadius:"パネル",pause_on_unfocused:"タブにフォーカスがないときストリーミングを止める",presets:"プリセット",profile_background:"プロフィールのバックグラウンド",profile_banner:"プロフィールバナー",profile_tab:"プロフィール",radii_help:"インターフェースの丸さを設定する。",replies_in_timeline:"タイムラインのリプライ",reply_link_preview:"カーソルを重ねたとき、リプライのプレビューを見る",reply_visibility_all:"すべてのリプライを見る",reply_visibility_following:"私に宛てられたリプライと、フォローしている人からのリプライを見る",reply_visibility_self:"私に宛てられたリプライを見る",autohide_floating_post_button:"新しい投稿ボタンを自動的に隠す (モバイル)",saving_err:"設定を保存できませんでした",saving_ok:"設定を保存しました",search_user_to_block:"ブロックしたいユーザーを検索",search_user_to_mute:"ミュートしたいユーザーを検索",security_tab:"セキュリティ",scope_copy:"返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)",minimal_scopes_mode:"公開範囲選択オプションを最小にする",set_new_avatar:"新しいアバターを設定する",set_new_profile_background:"新しいプロフィールのバックグラウンドを設定する",set_new_profile_banner:"新しいプロフィールバナーを設定する",settings:"設定",subject_input_always_show:"サブジェクトフィールドをいつでも表示する",subject_line_behavior:"返信するときサブジェクトをコピーする",subject_line_email:'メール風: "re: サブジェクト"',subject_line_mastodon:"マストドン風: そのままコピー",subject_line_noop:"コピーしない",post_status_content_type:"投稿のコンテントタイプ",stop_gifs:"カーソルを重ねたとき、GIFを動かす",streaming:"上までスクロールしたとき、自動的にストリーミングする",text:"文字",theme:"テーマ",theme_help:"カラーテーマをカスタマイズできます",theme_help_v2_1:"チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。",theme_help_v2_2:"バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。",tooltipRadius:"ツールチップとアラート",upload_a_photo:"画像をアップロード",user_settings:"ユーザー設定",values:{false:"いいえ",true:"はい"},notifications:"通知",notification_setting:"通知を受け取る:",notification_setting_follows:"あなたがフォローしているユーザーから",notification_setting_non_follows:"あなたがフォローしていないユーザーから",notification_setting_followers:"あなたをフォローしているユーザーから",notification_setting_non_followers:"あなたをフォローしていないユーザーから",notification_mutes:"特定のユーザーからの通知を止めるには、ミュートしてください。",notification_blocks:"ブロックしているユーザーからの通知は、すべて止まります。",enable_web_push_notifications:"ウェブプッシュ通知を許可する",style:{switcher:{keep_color:"色を残す",keep_shadows:"影を残す",keep_opacity:"透明度を残す",keep_roundness:"丸さを残す",keep_fonts:"フォントを残す",save_load_hint:"「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。",reset:"リセット",clear_all:"すべてクリア",clear_opacity:"透明度をクリア"},common:{color:"色",opacity:"透明度",contrast:{hint:"コントラストは {ratio} です。{level}。({context})",level:{aa:"AAレベルガイドライン (ミニマル) を満たします",aaa:"AAAレベルガイドライン (レコメンデッド) を満たします。",bad:"ガイドラインを満たしません。"},context:{"18pt":"大きい (18ポイント以上) テキスト",text:"テキスト"}}},common_colors:{_tab_label:"共通",main:"共通の色",foreground_hint:"「詳細」タブで、もっと細かく設定できます",rgbo:"アイコンとアクセントとバッジ"},advanced_colors:{_tab_label:"詳細",alert:"アラートのバックグラウンド",alert_error:"エラー",badge:"バッジのバックグラウンド",badge_notification:"通知",panel_header:"パネルヘッダー",top_bar:"トップバー",borders:"境界",buttons:"ボタン",inputs:"インプットフィールド",faint_text:"薄いテキスト"},radii:{_tab_label:"丸さ"},shadows:{_tab_label:"光と影",component:"コンポーネント",override:"オーバーライド",shadow_id:"影 #{value}",blur:"ぼかし",spread:"広がり",inset:"内側",hint:"影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。",filter_hint:{always_drop_shadow:"ブラウザーがサポートしていれば、常に {0} が使われます。",drop_shadow_syntax:"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。",avatar_inset:"内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。",spread_zero:"広がりが 0 よりも大きな影は、0 と同じです。",inset_classic:"内側の影は {0} を使います。"},components:{panel:"パネル",panelHeader:"パネルヘッダー",topBar:"トップバー",avatar:"ユーザーアバター (プロフィール)",avatarStatus:"ユーザーアバター (投稿)",popup:"ポップアップとツールチップ",button:"ボタン",buttonHover:"ボタン (ホバー)",buttonPressed:"ボタン (押されているとき)",buttonPressedHover:"ボタン (ホバー、かつ、押されているとき)",input:"インプットフィールド"}},fonts:{_tab_label:"フォント",help:"「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。",components:{interface:"インターフェース",input:"インプットフィールド",post:"投稿",postCode:"等幅 (投稿がリッチテキストであるとき)"},family:"フォント名",size:"大きさ (px)",weight:"太さ",custom:"カスタム"},preview:{header:"プレビュー",content:"本文",error:"エラーの例",button:"ボタン",text:"これは{0}と{1}の例です。",mono:"monospace",input:"羽田空港に着きました。",faint_link:"とても助けになるマニュアル",fine_print:"私たちの{0}を、読まないでください!",header_faint:"エラーではありません",checkbox:"利用規約を読みました",link:"ハイパーリンク"}},version:{title:"バージョン",backend_version:"バックエンドのバージョン",frontend_version:"フロントエンドのバージョン"}},time:{day:"{0}日",days:"{0}日",day_short:"{0}日",days_short:"{0}日",hour:"{0}時間",hours:"{0}時間",hour_short:"{0}時間",hours_short:"{0}時間",in_future:"{0}で",in_past:"{0}前",minute:"{0}分",minutes:"{0}分",minute_short:"{0}分",minutes_short:"{0}分",month:"{0}ヶ月前",months:"{0}ヶ月前",month_short:"{0}ヶ月前",months_short:"{0}ヶ月前",now:"たった今",now_short:"たった今",second:"{0}秒",seconds:"{0}秒",second_short:"{0}秒",seconds_short:"{0}秒",week:"{0}週間",weeks:"{0}週間",week_short:"{0}週間",weeks_short:"{0}週間",year:"{0}年",years:"{0}年",year_short:"{0}年",years_short:"{0}年"},timeline:{collapse:"たたむ",conversation:"スレッド",error_fetching:"読み込みがエラーになりました",load_older:"古いステータス",no_retweet_hint:"投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります",repeated:"リピート",show_new:"読み込み",up_to_date:"最新",no_more_statuses:"これで終わりです",no_statuses:"ステータスはありません"},status:{favorites:"お気に入り",repeats:"リピート",delete:"ステータスを削除",pin:"プロフィールにピン留め",unpin:"プロフィールのピン留めを外す",pinned:"ピン留め",delete_confirm:"本当にこのステータスを削除してもよろしいですか?",reply_to:"返信",replies_list:"返信:",mute_conversation:"スレッドをミュート",unmute_conversation:"スレッドのミュートを解除"},user_card:{approve:"受け入れ",block:"ブロック",blocked:"ブロックしています!",deny:"お断り",favorites:"お気に入り",follow:"フォロー",follow_sent:"リクエストを送りました!",follow_progress:"リクエストしています…",follow_again:"再びリクエストを送りますか?",follow_unfollow:"フォローをやめる",followees:"フォロー",followers:"フォロワー",following:"フォローしています!",follows_you:"フォローされました!",its_you:"これはあなたです!",media:"メディア",mention:"メンション",mute:"ミュート",muted:"ミュートしています!",per_day:"/日",remote_follow:"リモートフォロー",report:"通報",statuses:"ステータス",subscribe:"購読",unsubscribe:"購読を解除",unblock:"ブロック解除",unblock_progress:"ブロックを解除しています...",block_progress:"ブロックしています...",unmute:"ミュート解除",unmute_progress:"ミュートを解除しています...",mute_progress:"ミュートしています...",admin_menu:{moderation:"モデレーション",grant_admin:"管理者権限を付与",revoke_admin:"管理者権限を解除",grant_moderator:"モデレーター権限を付与",revoke_moderator:"モデレーター権限を解除",activate_account:"アカウントをアクティブにする",deactivate_account:"アカウントをアクティブでなくする",delete_account:"アカウントを削除",force_nsfw:"すべての投稿をNSFWにする",strip_media:"投稿からメディアを除去する",force_unlisted:"投稿を未収載にする",sandbox:"投稿をフォロワーのみにする",disable_remote_subscription:"他のインスタンスからフォローされないようにする",disable_any_subscription:"フォローされないようにする",quarantine:"他のインスタンスからの投稿を止める",delete_user:"ユーザーを削除",delete_user_confirmation:"あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。"}},user_profile:{timeline_title:"ユーザータイムライン",profile_does_not_exist:"申し訳ない。このプロフィールは存在しません。",profile_loading_error:"申し訳ない。プロフィールの読み込みがエラーになりました。"},user_reporting:{title:"通報する: {0}",add_comment_description:"この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:",additional_comments:"追加のコメント",forward_description:"このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?",forward_to:"転送する: {0}",submit:"送信",generic_error:"あなたのリクエストを処理しようとしましたが、エラーになりました。"},who_to_follow:{more:"詳細",who_to_follow:"おすすめユーザー"},tool_tip:{media_upload:"メディアをアップロード",repeat:"リピート",reply:"返信",favorite:"お気に入り",user_settings:"ユーザー設定"},upload:{error:{base:"アップロードに失敗しました。",file_too_big:"ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]",default:"しばらくしてから試してください"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"人々",hashtags:"ハッシュタグ",person_talking:"{count} 人が話しています",people_talking:"{count} 人が話しています",no_results:"見つかりませんでした"},password_reset:{forgot_password:"パスワードを忘れましたか?",password_reset:"パスワードリセット",instruction:"メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。",placeholder:"メールアドレスまたはユーザー名",check_email:"パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。",return_home:"ホームページに戻る",not_found:"メールアドレスまたはユーザー名が見つかりませんでした。",too_many_requests:"試行回数の制限に達しました。しばらく時間を置いてから再試行してください。",password_reset_disabled:"このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。"}}}}]); -//# sourceMappingURL=20.43b5b27b0f68474f3b72.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{570:function(e){e.exports={chat:{title:"チャット"},exporter:{export:"エクスポート",processing:"処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります。"},features_panel:{chat:"チャット",gopher:"Gopher",media_proxy:"メディアプロクシ",scope_options:"公開範囲選択",text_limit:"文字の数",title:"有効な機能",who_to_follow:"おすすめユーザー"},finder:{error_fetching_user:"ユーザー検索がエラーになりました。",find_user:"ユーザーを探す"},general:{apply:"適用",submit:"送信",more:"続き",generic_error:"エラーになりました",optional:"省略可",show_more:"もっと見る",show_less:"たたむ",cancel:"キャンセル",disable:"無効",enable:"有効",confirm:"確認",verify:"検査"},image_cropper:{crop_picture:"画像を切り抜く",save:"保存",save_without_cropping:"切り抜かずに保存",cancel:"キャンセル"},importer:{submit:"送信",success:"正常にインポートされました。",error:"このファイルをインポートするとき、エラーが発生しました。"},login:{login:"ログイン",description:"OAuthでログイン",logout:"ログアウト",password:"パスワード",placeholder:"例: lain",register:"登録",username:"ユーザー名",hint:"会話に加わるには、ログインしてください",authentication_code:"認証コード",enter_recovery_code:"リカバリーコードを入力してください",enter_two_factor_code:"2段階認証コードを入力してください",recovery_code:"リカバリーコード",heading:{totp:"2段階認証",recovery:"2段階リカバリー"}},media_modal:{previous:"前",next:"次"},nav:{about:"このインスタンスについて",back:"戻る",chat:"ローカルチャット",friend_requests:"フォローリクエスト",mentions:"通知",interactions:"インタラクション",dms:"ダイレクトメッセージ",public_tl:"パブリックタイムライン",timeline:"タイムライン",twkn:"接続しているすべてのネットワーク",user_search:"ユーザーを探す",search:"検索",who_to_follow:"おすすめユーザー",preferences:"設定"},notifications:{broken_favorite:"ステータスが見つかりません。探しています...",favorited_you:"あなたのステータスがお気に入りされました",followed_you:"フォローされました",load_older:"古い通知をみる",notifications:"通知",read:"読んだ!",repeated_you:"あなたのステータスがリピートされました",no_more_notifications:"通知はありません"},polls:{add_poll:"投票を追加",add_option:"選択肢を追加",option:"選択肢",votes:"票",vote:"投票",type:"投票の形式",single_choice:"択一式",multiple_choices:"複数選択式",expiry:"投票期間",expires_in:"投票は {0} で終了します",expired:"投票は {0} 前に終了しました",not_enough_options:"相異なる選択肢が不足しています"},emoji:{stickers:"ステッカー",emoji:"絵文字",keep_open:"ピッカーを開いたままにする",search_emoji:"絵文字を検索",add_emoji:"絵文字を挿入",custom:"カスタム絵文字",unicode:"Unicode絵文字"},stickers:{add_sticker:"ステッカーを追加"},interactions:{favs_repeats:"リピートとお気に入り",follows:"新しいフォロワー",load_older:"古いインタラクションを見る"},post_status:{new_status:"投稿する",account_not_locked_warning:"あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。",account_not_locked_warning_link:"ロックされたアカウント",attachments_sensitive:"ファイルをNSFWにする",content_type:{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"説明 (省略可)",default:"羽田空港に着きました。",direct_warning_to_all:"この投稿は、メンションされたすべてのユーザーが、見ることができます。",direct_warning_to_first_only:"この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。",direct_warning:"このステータスは、メンションされたユーザーだけが、読むことができます。",posting:"投稿",scope_notice:{public:"この投稿は、誰でも見ることができます",private:"この投稿は、あなたのフォロワーだけが、見ることができます。",unlisted:"この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません。"},scope:{direct:"ダイレクト: メンションされたユーザーのみに届きます。",private:"フォロワーげんてい: フォロワーのみに届きます。",public:"パブリック: パブリックタイムラインに届きます。",unlisted:"アンリステッド: パブリックタイムラインに届きません。"}},registration:{bio:"プロフィール",email:"Eメール",fullname:"スクリーンネーム",password_confirm:"パスワードの確認",registration:"登録",token:"招待トークン",captcha:"CAPTCHA",new_captcha:"文字が読めないときは、画像をクリックすると、新しい画像になります",username_placeholder:"例: lain",fullname_placeholder:"例: 岩倉玲音",bio_placeholder:"例:\nこんにちは。私は玲音。\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。",validations:{username_required:"必須",fullname_required:"必須",email_required:"必須",password_required:"必須",password_confirmation_required:"必須",password_confirmation_match:"パスワードが違います"}},selectable_list:{select_all:"すべて選択"},settings:{app_name:"アプリの名称",security:"セキュリティ",enter_current_password_to_confirm:"あなたのアイデンティティを証明するため、現在のパスワードを入力してください",mfa:{otp:"OTP",setup_otp:"OTPのセットアップ",wait_pre_setup_otp:"OTPのプリセット",confirm_and_enable:"OTPの確認と有効化",title:"2段階認証",generate_new_recovery_codes:"新しいリカバリーコードを生成",warning_of_generate_new_codes:"新しいリカバリーコードを生成すると、古いコードは使用できなくなります。",recovery_codes:"リカバリーコード。",waiting_a_recovery_codes:"バックアップコードを受信しています...",recovery_codes_warning:"コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。",authentication_methods:"認証方法",scan:{title:"スキャン",desc:"あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:",secret_code:"キー"},verify:{desc:"2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:"}},attachmentRadius:"ファイル",attachments:"ファイル",autoload:"下にスクロールしたとき、自動的に読み込む。",avatar:"アバター",avatarAltRadius:"通知のアバター",avatarRadius:"アバター",background:"バックグラウンド",bio:"プロフィール",block_export:"ブロックのエクスポート",block_export_button:"ブロックをCSVファイルにエクスポートする",block_import:"ブロックのインポート",block_import_error:"ブロックのインポートに失敗しました",blocks_imported:"ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。",blocks_tab:"ブロック",btnRadius:"ボタン",cBlue:"返信とフォロー",cGreen:"リピート",cOrange:"お気に入り",cRed:"キャンセル",change_password:"パスワードを変える",change_password_error:"パスワードを変えることが、できなかったかもしれません。",changed_password:"パスワードが、変わりました!",collapse_subject:"説明のある投稿をたたむ",composing:"投稿",confirm_new_password:"新しいパスワードの確認",current_avatar:"現在のアバター",current_password:"現在のパスワード",current_profile_banner:"現在のプロフィールバナー",data_import_export_tab:"インポートとエクスポート",default_vis:"デフォルトの公開範囲",delete_account:"アカウントを消す",delete_account_description:"あなたのアカウントとメッセージが、消えます。",delete_account_error:"アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。",delete_account_instructions:"本当にアカウントを消してもいいなら、パスワードを入力してください。",discoverable:"検索などのサービスでこのアカウントを見つけることを許可する",avatar_size_instruction:"アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。",pad_emoji:"ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる",export_theme:"保存",filtering:"フィルタリング",filtering_explanation:"これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください。",follow_export:"フォローのエクスポート",follow_export_button:"エクスポート",follow_export_processing:"お待ちください。まもなくファイルをダウンロードできます。",follow_import:"フォローのインポート",follow_import_error:"フォローのインポートがエラーになりました。",follows_imported:"フォローがインポートされました! 少し時間がかかるかもしれません。",foreground:"フォアグラウンド",general:"全般",hide_attachments_in_convo:"スレッドのファイルを隠す",hide_attachments_in_tl:"タイムラインのファイルを隠す",hide_muted_posts:"ミュートしているユーザーの投稿を隠す",max_thumbnails:"投稿に含まれるサムネイルの最大数",hide_isp:"インスタンス固有パネルを隠す",preload_images:"画像を先読みする",use_one_click_nsfw:"NSFWなファイルを1クリックで開く",hide_post_stats:"投稿の統計を隠す (例: お気に入りの数)",hide_user_stats:"ユーザーの統計を隠す (例: フォロワーの数)",hide_filtered_statuses:"フィルターされた投稿を隠す",import_blocks_from_a_csv_file:"CSVファイルからブロックをインポートする",import_followers_from_a_csv_file:"CSVファイルからフォローをインポートする",import_theme:"ロード",inputRadius:"インプットフィールド",checkboxRadius:"チェックボックス",instance_default:"(デフォルト: {value})",instance_default_simple:"(デフォルト)",interface:"インターフェース",interfaceLanguage:"インターフェースの言語",invalid_theme_imported:"このファイルはPleromaのテーマではありません。テーマは変更されませんでした。",limited_availability:"あなたのブラウザではできません",links:"リンク",lock_account_description:"あなたが認めた人だけ、あなたのアカウントをフォローできる",loop_video:"ビデオを繰り返す",loop_video_silent_only:"音のないビデオだけ繰り返す",mutes_tab:"ミュート",play_videos_in_modal:"ビデオをメディアビューアーで見る",use_contain_fit:"画像のサムネイルを、切り抜かない",name:"名前",name_bio:"名前とプロフィール",new_password:"新しいパスワード",notification_visibility:"表示する通知",notification_visibility_follows:"フォロー",notification_visibility_likes:"お気に入り",notification_visibility_mentions:"メンション",notification_visibility_repeats:"リピート",no_rich_text_description:"リッチテキストを使わない",no_blocks:"ブロックはありません",no_mutes:"ミュートはありません",hide_follows_description:"フォローしている人を見せない",hide_followers_description:"フォロワーを見せない",hide_follows_count_description:"フォローしている人の数を見せない",hide_followers_count_description:"フォロワーの数を見せない",show_admin_badge:"管理者のバッジを見せる",show_moderator_badge:"モデレーターのバッジを見せる",nsfw_clickthrough:"NSFWなファイルを隠す",oauth_tokens:"OAuthトークン",token:"トークン",refresh_token:"トークンを更新",valid_until:"まで有効",revoke_token:"取り消す",panelRadius:"パネル",pause_on_unfocused:"タブにフォーカスがないときストリーミングを止める",presets:"プリセット",profile_background:"プロフィールのバックグラウンド",profile_banner:"プロフィールバナー",profile_tab:"プロフィール",radii_help:"インターフェースの丸さを設定する。",replies_in_timeline:"タイムラインのリプライ",reply_link_preview:"カーソルを重ねたとき、リプライのプレビューを見る",reply_visibility_all:"すべてのリプライを見る",reply_visibility_following:"私に宛てられたリプライと、フォローしている人からのリプライを見る",reply_visibility_self:"私に宛てられたリプライを見る",autohide_floating_post_button:"新しい投稿ボタンを自動的に隠す (モバイル)",saving_err:"設定を保存できませんでした",saving_ok:"設定を保存しました",search_user_to_block:"ブロックしたいユーザーを検索",search_user_to_mute:"ミュートしたいユーザーを検索",security_tab:"セキュリティ",scope_copy:"返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)",minimal_scopes_mode:"公開範囲選択オプションを最小にする",set_new_avatar:"新しいアバターを設定する",set_new_profile_background:"新しいプロフィールのバックグラウンドを設定する",set_new_profile_banner:"新しいプロフィールバナーを設定する",settings:"設定",subject_input_always_show:"サブジェクトフィールドをいつでも表示する",subject_line_behavior:"返信するときサブジェクトをコピーする",subject_line_email:'メール風: "re: サブジェクト"',subject_line_mastodon:"マストドン風: そのままコピー",subject_line_noop:"コピーしない",post_status_content_type:"投稿のコンテントタイプ",stop_gifs:"カーソルを重ねたとき、GIFを動かす",streaming:"上までスクロールしたとき、自動的にストリーミングする",text:"文字",theme:"テーマ",theme_help:"カラーテーマをカスタマイズできます",theme_help_v2_1:"チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。",theme_help_v2_2:"バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。",tooltipRadius:"ツールチップとアラート",upload_a_photo:"画像をアップロード",user_settings:"ユーザー設定",values:{false:"いいえ",true:"はい"},notifications:"通知",notification_setting:"通知を受け取る:",notification_setting_follows:"あなたがフォローしているユーザーから",notification_setting_non_follows:"あなたがフォローしていないユーザーから",notification_setting_followers:"あなたをフォローしているユーザーから",notification_setting_non_followers:"あなたをフォローしていないユーザーから",notification_mutes:"特定のユーザーからの通知を止めるには、ミュートしてください。",notification_blocks:"ブロックしているユーザーからの通知は、すべて止まります。",enable_web_push_notifications:"ウェブプッシュ通知を許可する",style:{switcher:{keep_color:"色を残す",keep_shadows:"影を残す",keep_opacity:"透明度を残す",keep_roundness:"丸さを残す",keep_fonts:"フォントを残す",save_load_hint:"「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。",reset:"リセット",clear_all:"すべてクリア",clear_opacity:"透明度をクリア"},common:{color:"色",opacity:"透明度",contrast:{hint:"コントラストは {ratio} です。{level}。({context})",level:{aa:"AAレベルガイドライン (ミニマル) を満たします",aaa:"AAAレベルガイドライン (レコメンデッド) を満たします。",bad:"ガイドラインを満たしません。"},context:{"18pt":"大きい (18ポイント以上) テキスト",text:"テキスト"}}},common_colors:{_tab_label:"共通",main:"共通の色",foreground_hint:"「詳細」タブで、もっと細かく設定できます",rgbo:"アイコンとアクセントとバッジ"},advanced_colors:{_tab_label:"詳細",alert:"アラートのバックグラウンド",alert_error:"エラー",badge:"バッジのバックグラウンド",badge_notification:"通知",panel_header:"パネルヘッダー",top_bar:"トップバー",borders:"境界",buttons:"ボタン",inputs:"インプットフィールド",faint_text:"薄いテキスト"},radii:{_tab_label:"丸さ"},shadows:{_tab_label:"光と影",component:"コンポーネント",override:"オーバーライド",shadow_id:"影 #{value}",blur:"ぼかし",spread:"広がり",inset:"内側",hint:"影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。",filter_hint:{always_drop_shadow:"ブラウザーがサポートしていれば、常に {0} が使われます。",drop_shadow_syntax:"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。",avatar_inset:"内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。",spread_zero:"広がりが 0 よりも大きな影は、0 と同じです。",inset_classic:"内側の影は {0} を使います。"},components:{panel:"パネル",panelHeader:"パネルヘッダー",topBar:"トップバー",avatar:"ユーザーアバター (プロフィール)",avatarStatus:"ユーザーアバター (投稿)",popup:"ポップアップとツールチップ",button:"ボタン",buttonHover:"ボタン (ホバー)",buttonPressed:"ボタン (押されているとき)",buttonPressedHover:"ボタン (ホバー、かつ、押されているとき)",input:"インプットフィールド"}},fonts:{_tab_label:"フォント",help:"「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。",components:{interface:"インターフェース",input:"インプットフィールド",post:"投稿",postCode:"等幅 (投稿がリッチテキストであるとき)"},family:"フォント名",size:"大きさ (px)",weight:"太さ",custom:"カスタム"},preview:{header:"プレビュー",content:"本文",error:"エラーの例",button:"ボタン",text:"これは{0}と{1}の例です。",mono:"monospace",input:"羽田空港に着きました。",faint_link:"とても助けになるマニュアル",fine_print:"私たちの{0}を、読まないでください!",header_faint:"エラーではありません",checkbox:"利用規約を読みました",link:"ハイパーリンク"}},version:{title:"バージョン",backend_version:"バックエンドのバージョン",frontend_version:"フロントエンドのバージョン"}},time:{day:"{0}日",days:"{0}日",day_short:"{0}日",days_short:"{0}日",hour:"{0}時間",hours:"{0}時間",hour_short:"{0}時間",hours_short:"{0}時間",in_future:"{0}で",in_past:"{0}前",minute:"{0}分",minutes:"{0}分",minute_short:"{0}分",minutes_short:"{0}分",month:"{0}ヶ月前",months:"{0}ヶ月前",month_short:"{0}ヶ月前",months_short:"{0}ヶ月前",now:"たった今",now_short:"たった今",second:"{0}秒",seconds:"{0}秒",second_short:"{0}秒",seconds_short:"{0}秒",week:"{0}週間",weeks:"{0}週間",week_short:"{0}週間",weeks_short:"{0}週間",year:"{0}年",years:"{0}年",year_short:"{0}年",years_short:"{0}年"},timeline:{collapse:"たたむ",conversation:"スレッド",error_fetching:"読み込みがエラーになりました",load_older:"古いステータス",no_retweet_hint:"投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります",repeated:"リピート",show_new:"読み込み",up_to_date:"最新",no_more_statuses:"これで終わりです",no_statuses:"ステータスはありません"},status:{favorites:"お気に入り",repeats:"リピート",delete:"ステータスを削除",pin:"プロフィールにピン留め",unpin:"プロフィールのピン留めを外す",pinned:"ピン留め",delete_confirm:"本当にこのステータスを削除してもよろしいですか?",reply_to:"返信",replies_list:"返信:",mute_conversation:"スレッドをミュート",unmute_conversation:"スレッドのミュートを解除"},user_card:{approve:"受け入れ",block:"ブロック",blocked:"ブロックしています!",deny:"お断り",favorites:"お気に入り",follow:"フォロー",follow_sent:"リクエストを送りました!",follow_progress:"リクエストしています…",follow_again:"再びリクエストを送りますか?",follow_unfollow:"フォローをやめる",followees:"フォロー",followers:"フォロワー",following:"フォローしています!",follows_you:"フォローされました!",its_you:"これはあなたです!",media:"メディア",mention:"メンション",mute:"ミュート",muted:"ミュートしています!",per_day:"/日",remote_follow:"リモートフォロー",report:"通報",statuses:"ステータス",subscribe:"購読",unsubscribe:"購読を解除",unblock:"ブロック解除",unblock_progress:"ブロックを解除しています...",block_progress:"ブロックしています...",unmute:"ミュート解除",unmute_progress:"ミュートを解除しています...",mute_progress:"ミュートしています...",admin_menu:{moderation:"モデレーション",grant_admin:"管理者権限を付与",revoke_admin:"管理者権限を解除",grant_moderator:"モデレーター権限を付与",revoke_moderator:"モデレーター権限を解除",activate_account:"アカウントをアクティブにする",deactivate_account:"アカウントをアクティブでなくする",delete_account:"アカウントを削除",force_nsfw:"すべての投稿をNSFWにする",strip_media:"投稿からメディアを除去する",force_unlisted:"投稿を未収載にする",sandbox:"投稿をフォロワーのみにする",disable_remote_subscription:"他のインスタンスからフォローされないようにする",disable_any_subscription:"フォローされないようにする",quarantine:"他のインスタンスからの投稿を止める",delete_user:"ユーザーを削除",delete_user_confirmation:"あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。"}},user_profile:{timeline_title:"ユーザータイムライン",profile_does_not_exist:"申し訳ない。このプロフィールは存在しません。",profile_loading_error:"申し訳ない。プロフィールの読み込みがエラーになりました。"},user_reporting:{title:"通報する: {0}",add_comment_description:"この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:",additional_comments:"追加のコメント",forward_description:"このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?",forward_to:"転送する: {0}",submit:"送信",generic_error:"あなたのリクエストを処理しようとしましたが、エラーになりました。"},who_to_follow:{more:"詳細",who_to_follow:"おすすめユーザー"},tool_tip:{media_upload:"メディアをアップロード",repeat:"リピート",reply:"返信",favorite:"お気に入り",user_settings:"ユーザー設定"},upload:{error:{base:"アップロードに失敗しました。",file_too_big:"ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]",default:"しばらくしてから試してください"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"人々",hashtags:"ハッシュタグ",person_talking:"{count} 人が話しています",people_talking:"{count} 人が話しています",no_results:"見つかりませんでした"},password_reset:{forgot_password:"パスワードを忘れましたか?",password_reset:"パスワードリセット",instruction:"メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。",placeholder:"メールアドレスまたはユーザー名",check_email:"パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。",return_home:"ホームページに戻る",not_found:"メールアドレスまたはユーザー名が見つかりませんでした。",too_many_requests:"試行回数の制限に達しました。しばらく時間を置いてから再試行してください。",password_reset_disabled:"このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。"}}}}]); +//# sourceMappingURL=20.e0c3ad29d59470506c04.js.map \ No newline at end of file diff --git a/priv/static/static/js/20.e0c3ad29d59470506c04.js.map b/priv/static/static/js/20.e0c3ad29d59470506c04.js.map new file mode 100644 index 000000000..83a9fbc98 --- /dev/null +++ b/priv/static/static/js/20.e0c3ad29d59470506c04.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/20.e0c3ad29d59470506c04.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/21.72b45b01be9d0f4c62ce.js.map b/priv/static/static/js/21.72b45b01be9d0f4c62ce.js.map deleted file mode 100644 index f7c2b5352..000000000 --- a/priv/static/static/js/21.72b45b01be9d0f4c62ce.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/21.72b45b01be9d0f4c62ce.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/21.72b45b01be9d0f4c62ce.js b/priv/static/static/js/21.849ecc09a1d58bdc64c6.js similarity index 99% rename from priv/static/static/js/21.72b45b01be9d0f4c62ce.js rename to priv/static/static/js/21.849ecc09a1d58bdc64c6.js index 87292772b..ef58a3da1 100644 --- a/priv/static/static/js/21.72b45b01be9d0f4c62ce.js +++ b/priv/static/static/js/21.849ecc09a1d58bdc64c6.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{554:function(e){e.exports={chat:{title:"챗"},features_panel:{chat:"챗",gopher:"고퍼",media_proxy:"미디어 프록시",scope_options:"범위 옵션",text_limit:"텍스트 제한",title:"기능",who_to_follow:"팔로우 추천"},finder:{error_fetching_user:"사용자 정보 불러오기 실패",find_user:"사용자 찾기"},general:{apply:"적용",submit:"보내기"},login:{login:"로그인",description:"OAuth로 로그인",logout:"로그아웃",password:"암호",placeholder:"예시: lain",register:"가입",username:"사용자 이름"},nav:{about:"About",back:"뒤로",chat:"로컬 챗",friend_requests:"팔로우 요청",mentions:"멘션",dms:"다이렉트 메시지",public_tl:"공개 타임라인",timeline:"타임라인",twkn:"모든 알려진 네트워크",user_search:"사용자 검색",preferences:"환경설정"},notifications:{broken_favorite:"알 수 없는 게시물입니다, 검색 합니다...",favorited_you:"당신의 게시물을 즐겨찾기",followed_you:"당신을 팔로우",load_older:"오래 된 알림 불러오기",notifications:"알림",read:"읽음!",repeated_you:"당신의 게시물을 리핏"},post_status:{new_status:"새 게시물 게시",account_not_locked_warning:"당신의 계정은 {0} 상태가 아닙니다. 누구나 당신을 팔로우 하고 팔로워 전용 게시물을 볼 수 있습니다.",account_not_locked_warning_link:"잠김",attachments_sensitive:"첨부물을 민감함으로 설정",content_type:{"text/plain":"평문"},content_warning:"주제 (필수 아님)",default:"LA에 도착!",direct_warning:"이 게시물을 멘션 된 사용자들에게만 보여집니다",posting:"게시",scope:{direct:"다이렉트 - 멘션 된 사용자들에게만",private:"팔로워 전용 - 팔로워들에게만",public:"공개 - 공개 타임라인으로",unlisted:"비공개 - 공개 타임라인에 게시 안 함"}},registration:{bio:"소개",email:"이메일",fullname:"표시 되는 이름",password_confirm:"암호 확인",registration:"가입하기",token:"초대 토큰",captcha:"캡차",new_captcha:"이미지를 클릭해서 새로운 캡차",validations:{username_required:"공백으로 둘 수 없습니다",fullname_required:"공백으로 둘 수 없습니다",email_required:"공백으로 둘 수 없습니다",password_required:"공백으로 둘 수 없습니다",password_confirmation_required:"공백으로 둘 수 없습니다",password_confirmation_match:"패스워드와 일치해야 합니다"}},settings:{attachmentRadius:"첨부물",attachments:"첨부물",autoload:"최하단에 도착하면 자동으로 로드 활성화",avatar:"아바타",avatarAltRadius:"아바타 (알림)",avatarRadius:"아바타",background:"배경",bio:"소개",btnRadius:"버튼",cBlue:"파랑 (답글, 팔로우)",cGreen:"초록 (리트윗)",cOrange:"주황 (즐겨찾기)",cRed:"빨강 (취소)",change_password:"암호 바꾸기",change_password_error:"암호를 바꾸는 데 몇 가지 문제가 있습니다.",changed_password:"암호를 바꾸었습니다!",collapse_subject:"주제를 가진 게시물 접기",composing:"작성",confirm_new_password:"새 패스워드 확인",current_avatar:"현재 아바타",current_password:"현재 패스워드",current_profile_banner:"현재 프로필 배너",data_import_export_tab:"데이터 불러오기 / 내보내기",default_vis:"기본 공개 범위",delete_account:"계정 삭제",delete_account_description:"계정과 메시지를 영구히 삭제.",delete_account_error:"계정을 삭제하는데 문제가 있습니다. 계속 발생한다면 인스턴스 관리자에게 문의하세요.",delete_account_instructions:"계정 삭제를 확인하기 위해 아래에 패스워드 입력.",export_theme:"프리셋 저장",filtering:"필터링",filtering_explanation:"아래의 단어를 가진 게시물들은 뮤트 됩니다, 한 줄에 하나씩 적으세요",follow_export:"팔로우 내보내기",follow_export_button:"팔로우 목록을 csv로 내보내기",follow_export_processing:"진행 중입니다, 곧 다운로드 가능해 질 것입니다",follow_import:"팔로우 불러오기",follow_import_error:"팔로우 불러오기 실패",follows_imported:"팔로우 목록을 불러왔습니다! 처리에는 시간이 걸립니다.",foreground:"전경",general:"일반",hide_attachments_in_convo:"대화의 첨부물 숨기기",hide_attachments_in_tl:"타임라인의 첨부물 숨기기",hide_isp:"인스턴스 전용 패널 숨기기",preload_images:"이미지 미리 불러오기",hide_post_stats:"게시물 통계 숨기기 (즐겨찾기 수 등)",hide_user_stats:"사용자 통계 숨기기 (팔로워 수 등)",import_followers_from_a_csv_file:"csv 파일에서 팔로우 목록 불러오기",import_theme:"프리셋 불러오기",inputRadius:"입력 칸",checkboxRadius:"체크박스",instance_default:"(기본: {value})",instance_default_simple:"(기본)",interface:"인터페이스",interfaceLanguage:"인터페이스 언어",invalid_theme_imported:"선택한 파일은 지원하는 플레로마 테마가 아닙니다. 아무런 변경도 일어나지 않았습니다.",limited_availability:"이 브라우저에서 사용 불가",links:"링크",lock_account_description:"계정을 승인 된 팔로워들로 제한",loop_video:"비디오 반복재생",loop_video_silent_only:'소리가 없는 비디오만 반복 재생 (마스토돈의 "gifs" 같은 것들)',name:"이름",name_bio:"이름 & 소개",new_password:"새 암호",notification_visibility:"보여 줄 알림 종류",notification_visibility_follows:"팔로우",notification_visibility_likes:"좋아함",notification_visibility_mentions:"멘션",notification_visibility_repeats:"반복",no_rich_text_description:"모든 게시물의 서식을 지우기",hide_follows_description:"내가 팔로우하는 사람을 표시하지 않음",hide_followers_description:"나를 따르는 사람을 보여주지 마라.",nsfw_clickthrough:'NSFW 이미지 "클릭해서 보이기"를 활성화',oauth_tokens:"OAuth 토큰",token:"토큰",refresh_token:"토큰 새로 고침",valid_until:"까지 유효하다",revoke_token:"취소",panelRadius:"패널",pause_on_unfocused:"탭이 활성 상태가 아닐 때 스트리밍 멈추기",presets:"프리셋",profile_background:"프로필 배경",profile_banner:"프로필 배너",profile_tab:"프로필",radii_help:"인터페이스 모서리 둥글기 (픽셀 단위)",replies_in_timeline:"답글을 타임라인에",reply_link_preview:"마우스를 올려서 답글 링크 미리보기 활성화",reply_visibility_all:"모든 답글 보기",reply_visibility_following:"나에게 직접 오는 답글이나 내가 팔로우 중인 사람에게서 오는 답글만 표시",reply_visibility_self:"나에게 직접 전송 된 답글만 보이기",saving_err:"설정 저장 실패",saving_ok:"설정 저장 됨",security_tab:"보안",scope_copy:"답글을 달 때 공개 범위 따라가리 (다이렉트 메시지는 언제나 따라감)",set_new_avatar:"새 아바타 설정",set_new_profile_background:"새 프로필 배경 설정",set_new_profile_banner:"새 프로필 배너 설정",settings:"설정",subject_input_always_show:"항상 주제 칸 보이기",subject_line_behavior:"답글을 달 때 주제 복사하기",subject_line_email:'이메일처럼: "re: 주제"',subject_line_mastodon:"마스토돈처럼: 그대로 복사",subject_line_noop:"복사 안 함",stop_gifs:"GIF파일에 마우스를 올려서 재생",streaming:"최상단에 도달하면 자동으로 새 게시물 스트리밍",text:"텍스트",theme:"테마",theme_help:"16진수 색상코드(#rrggbb)를 사용해 색상 테마를 커스터마이즈.",theme_help_v2_1:'체크박스를 통해 몇몇 컴포넌트의 색상과 불투명도를 조절 가능, "모두 지우기" 버튼으로 덮어 씌운 것을 모두 취소.',theme_help_v2_2:"몇몇 입력칸 밑의 아이콘은 전경/배경 대비 관련 표시등입니다, 마우스를 올려 자세한 정보를 볼 수 있습니다. 투명도 대비 표시등이 가장 최악의 경우를 나타낸다는 것을 유의하세요.",tooltipRadius:"툴팁/경고",user_settings:"사용자 설정",values:{false:"아니오",true:"네"},notifications:"알림",enable_web_push_notifications:"웹 푸시 알림 활성화",style:{switcher:{keep_color:"색상 유지",keep_shadows:"그림자 유지",keep_opacity:"불투명도 유지",keep_roundness:"둥글기 유지",keep_fonts:"글자체 유지",save_load_hint:'"유지" 옵션들은 다른 테마를 고르거나 불러 올 때 현재 설정 된 옵션들을 건드리지 않게 합니다, 테마를 내보내기 할 때도 이 옵션에 따라 저장합니다. 아무 것도 체크 되지 않았다면 모든 설정을 내보냅니다.',reset:"초기화",clear_all:"모두 지우기",clear_opacity:"불투명도 지우기"},common:{color:"색상",opacity:"불투명도",contrast:{hint:"대비율이 {ratio}입니다, 이것은 {context} {level}",level:{aa:"AA등급 가이드라인에 부합합니다 (최소한도)",aaa:"AAA등급 가이드라인에 부합합니다 (권장)",bad:"아무런 가이드라인 등급에도 미치지 못합니다"},context:{"18pt":"큰 (18pt 이상) 텍스트에 대해",text:"텍스트에 대해"}}},common_colors:{_tab_label:"일반",main:"일반 색상",foreground_hint:'"고급" 탭에서 더 자세한 설정이 가능합니다',rgbo:"아이콘, 강조, 배지"},advanced_colors:{_tab_label:"고급",alert:"주의 배경",alert_error:"에러",badge:"배지 배경",badge_notification:"알림",panel_header:"패널 헤더",top_bar:"상단 바",borders:"테두리",buttons:"버튼",inputs:"입력칸",faint_text:"흐려진 텍스트"},radii:{_tab_label:"둥글기"},shadows:{_tab_label:"그림자와 빛",component:"컴포넌트",override:"덮어쓰기",shadow_id:"그림자 #{value}",blur:"흐리기",spread:"퍼지기",inset:"안쪽으로",hint:"그림자에는 CSS3 변수를 --variable을 통해 색상 값으로 사용할 수 있습니다. 불투명도에는 적용 되지 않습니다.",filter_hint:{always_drop_shadow:"경고, 이 그림자는 브라우저가 지원하는 경우 항상 {0}을 사용합니다.",drop_shadow_syntax:"{0}는 {1} 파라미터와 {2} 키워드를 지원하지 않습니다.",avatar_inset:"안쪽과 안쪽이 아닌 그림자를 모두 설정하는 경우 투명 아바타에서 예상치 못 한 결과가 나올 수 있다는 것에 주의해 주세요.",spread_zero:"퍼지기가 0보다 큰 그림자는 0으로 설정한 것과 동일하게 보여집니다",inset_classic:"안쪽 그림자는 {0}를 사용합니다"},components:{panel:"패널",panelHeader:"패널 헤더",topBar:"상단 바",avatar:"사용자 아바타 (프로필 뷰에서)",avatarStatus:"사용자 아바타 (게시물에서)",popup:"팝업과 툴팁",button:"버튼",buttonHover:"버튼 (마우스 올렸을 때)",buttonPressed:"버튼 (눌렸을 때)",buttonPressedHover:"Button (마우스 올림 + 눌림)",input:"입력칸"}},fonts:{_tab_label:"글자체",help:'인터페이스의 요소에 사용 될 글자체를 고르세요. "커스텀"은 시스템에 있는 폰트 이름을 정확히 입력해야 합니다.',components:{interface:"인터페이스",input:"입력칸",post:"게시물 텍스트",postCode:"게시물의 고정폭 텍스트 (서식 있는 텍스트)"},family:"글자체 이름",size:"크기 (px 단위)",weight:"굵기",custom:"커스텀"},preview:{header:"미리보기",content:"내용",error:"에러 예시",button:"버튼",text:"더 많은 {0} 그리고 {1}",mono:"내용",input:"LA에 막 도착!",faint_link:"도움 되는 설명서",fine_print:"우리의 {0} 를 읽고 도움 되지 않는 것들을 배우자!",header_faint:"이건 괜찮아",checkbox:"나는 약관을 대충 훑어보았습니다",link:"작고 귀여운 링크"}}},timeline:{collapse:"접기",conversation:"대화",error_fetching:"업데이트 불러오기 실패",load_older:"더 오래 된 게시물 불러오기",no_retweet_hint:"팔로워 전용, 다이렉트 메시지는 반복할 수 없습니다",repeated:"반복 됨",show_new:"새로운 것 보기",up_to_date:"최신 상태"},user_card:{approve:"승인",block:"차단",blocked:"차단 됨!",deny:"거부",follow:"팔로우",follow_sent:"요청 보내짐!",follow_progress:"요청 중…",follow_again:"요청을 다시 보낼까요?",follow_unfollow:"팔로우 중지",followees:"팔로우 중",followers:"팔로워",following:"팔로우 중!",follows_you:"당신을 팔로우 합니다!",its_you:"당신입니다!",mute:"침묵",muted:"침묵 됨",per_day:" / 하루",remote_follow:"원격 팔로우",statuses:"게시물"},user_profile:{timeline_title:"사용자 타임라인"},who_to_follow:{more:"더 보기",who_to_follow:"팔로우 추천"},tool_tip:{media_upload:"미디어 업로드",repeat:"반복",reply:"답글",favorite:"즐겨찾기",user_settings:"사용자 설정"},upload:{error:{base:"업로드 실패.",file_too_big:"파일이 너무 커요 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"잠시 후에 다시 시도해 보세요"},file_size_units:{B:"바이트",KiB:"키비바이트",MiB:"메비바이트",GiB:"기비바이트",TiB:"테비바이트"}}}}}]); -//# sourceMappingURL=21.72b45b01be9d0f4c62ce.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{572:function(e){e.exports={chat:{title:"챗"},features_panel:{chat:"챗",gopher:"고퍼",media_proxy:"미디어 프록시",scope_options:"범위 옵션",text_limit:"텍스트 제한",title:"기능",who_to_follow:"팔로우 추천"},finder:{error_fetching_user:"사용자 정보 불러오기 실패",find_user:"사용자 찾기"},general:{apply:"적용",submit:"보내기"},login:{login:"로그인",description:"OAuth로 로그인",logout:"로그아웃",password:"암호",placeholder:"예시: lain",register:"가입",username:"사용자 이름"},nav:{about:"About",back:"뒤로",chat:"로컬 챗",friend_requests:"팔로우 요청",mentions:"멘션",dms:"다이렉트 메시지",public_tl:"공개 타임라인",timeline:"타임라인",twkn:"모든 알려진 네트워크",user_search:"사용자 검색",preferences:"환경설정"},notifications:{broken_favorite:"알 수 없는 게시물입니다, 검색 합니다...",favorited_you:"당신의 게시물을 즐겨찾기",followed_you:"당신을 팔로우",load_older:"오래 된 알림 불러오기",notifications:"알림",read:"읽음!",repeated_you:"당신의 게시물을 리핏"},post_status:{new_status:"새 게시물 게시",account_not_locked_warning:"당신의 계정은 {0} 상태가 아닙니다. 누구나 당신을 팔로우 하고 팔로워 전용 게시물을 볼 수 있습니다.",account_not_locked_warning_link:"잠김",attachments_sensitive:"첨부물을 민감함으로 설정",content_type:{"text/plain":"평문"},content_warning:"주제 (필수 아님)",default:"LA에 도착!",direct_warning:"이 게시물을 멘션 된 사용자들에게만 보여집니다",posting:"게시",scope:{direct:"다이렉트 - 멘션 된 사용자들에게만",private:"팔로워 전용 - 팔로워들에게만",public:"공개 - 공개 타임라인으로",unlisted:"비공개 - 공개 타임라인에 게시 안 함"}},registration:{bio:"소개",email:"이메일",fullname:"표시 되는 이름",password_confirm:"암호 확인",registration:"가입하기",token:"초대 토큰",captcha:"캡차",new_captcha:"이미지를 클릭해서 새로운 캡차",validations:{username_required:"공백으로 둘 수 없습니다",fullname_required:"공백으로 둘 수 없습니다",email_required:"공백으로 둘 수 없습니다",password_required:"공백으로 둘 수 없습니다",password_confirmation_required:"공백으로 둘 수 없습니다",password_confirmation_match:"패스워드와 일치해야 합니다"}},settings:{attachmentRadius:"첨부물",attachments:"첨부물",autoload:"최하단에 도착하면 자동으로 로드 활성화",avatar:"아바타",avatarAltRadius:"아바타 (알림)",avatarRadius:"아바타",background:"배경",bio:"소개",btnRadius:"버튼",cBlue:"파랑 (답글, 팔로우)",cGreen:"초록 (리트윗)",cOrange:"주황 (즐겨찾기)",cRed:"빨강 (취소)",change_password:"암호 바꾸기",change_password_error:"암호를 바꾸는 데 몇 가지 문제가 있습니다.",changed_password:"암호를 바꾸었습니다!",collapse_subject:"주제를 가진 게시물 접기",composing:"작성",confirm_new_password:"새 패스워드 확인",current_avatar:"현재 아바타",current_password:"현재 패스워드",current_profile_banner:"현재 프로필 배너",data_import_export_tab:"데이터 불러오기 / 내보내기",default_vis:"기본 공개 범위",delete_account:"계정 삭제",delete_account_description:"계정과 메시지를 영구히 삭제.",delete_account_error:"계정을 삭제하는데 문제가 있습니다. 계속 발생한다면 인스턴스 관리자에게 문의하세요.",delete_account_instructions:"계정 삭제를 확인하기 위해 아래에 패스워드 입력.",export_theme:"프리셋 저장",filtering:"필터링",filtering_explanation:"아래의 단어를 가진 게시물들은 뮤트 됩니다, 한 줄에 하나씩 적으세요",follow_export:"팔로우 내보내기",follow_export_button:"팔로우 목록을 csv로 내보내기",follow_export_processing:"진행 중입니다, 곧 다운로드 가능해 질 것입니다",follow_import:"팔로우 불러오기",follow_import_error:"팔로우 불러오기 실패",follows_imported:"팔로우 목록을 불러왔습니다! 처리에는 시간이 걸립니다.",foreground:"전경",general:"일반",hide_attachments_in_convo:"대화의 첨부물 숨기기",hide_attachments_in_tl:"타임라인의 첨부물 숨기기",hide_isp:"인스턴스 전용 패널 숨기기",preload_images:"이미지 미리 불러오기",hide_post_stats:"게시물 통계 숨기기 (즐겨찾기 수 등)",hide_user_stats:"사용자 통계 숨기기 (팔로워 수 등)",import_followers_from_a_csv_file:"csv 파일에서 팔로우 목록 불러오기",import_theme:"프리셋 불러오기",inputRadius:"입력 칸",checkboxRadius:"체크박스",instance_default:"(기본: {value})",instance_default_simple:"(기본)",interface:"인터페이스",interfaceLanguage:"인터페이스 언어",invalid_theme_imported:"선택한 파일은 지원하는 플레로마 테마가 아닙니다. 아무런 변경도 일어나지 않았습니다.",limited_availability:"이 브라우저에서 사용 불가",links:"링크",lock_account_description:"계정을 승인 된 팔로워들로 제한",loop_video:"비디오 반복재생",loop_video_silent_only:'소리가 없는 비디오만 반복 재생 (마스토돈의 "gifs" 같은 것들)',name:"이름",name_bio:"이름 & 소개",new_password:"새 암호",notification_visibility:"보여 줄 알림 종류",notification_visibility_follows:"팔로우",notification_visibility_likes:"좋아함",notification_visibility_mentions:"멘션",notification_visibility_repeats:"반복",no_rich_text_description:"모든 게시물의 서식을 지우기",hide_follows_description:"내가 팔로우하는 사람을 표시하지 않음",hide_followers_description:"나를 따르는 사람을 보여주지 마라.",nsfw_clickthrough:'NSFW 이미지 "클릭해서 보이기"를 활성화',oauth_tokens:"OAuth 토큰",token:"토큰",refresh_token:"토큰 새로 고침",valid_until:"까지 유효하다",revoke_token:"취소",panelRadius:"패널",pause_on_unfocused:"탭이 활성 상태가 아닐 때 스트리밍 멈추기",presets:"프리셋",profile_background:"프로필 배경",profile_banner:"프로필 배너",profile_tab:"프로필",radii_help:"인터페이스 모서리 둥글기 (픽셀 단위)",replies_in_timeline:"답글을 타임라인에",reply_link_preview:"마우스를 올려서 답글 링크 미리보기 활성화",reply_visibility_all:"모든 답글 보기",reply_visibility_following:"나에게 직접 오는 답글이나 내가 팔로우 중인 사람에게서 오는 답글만 표시",reply_visibility_self:"나에게 직접 전송 된 답글만 보이기",saving_err:"설정 저장 실패",saving_ok:"설정 저장 됨",security_tab:"보안",scope_copy:"답글을 달 때 공개 범위 따라가리 (다이렉트 메시지는 언제나 따라감)",set_new_avatar:"새 아바타 설정",set_new_profile_background:"새 프로필 배경 설정",set_new_profile_banner:"새 프로필 배너 설정",settings:"설정",subject_input_always_show:"항상 주제 칸 보이기",subject_line_behavior:"답글을 달 때 주제 복사하기",subject_line_email:'이메일처럼: "re: 주제"',subject_line_mastodon:"마스토돈처럼: 그대로 복사",subject_line_noop:"복사 안 함",stop_gifs:"GIF파일에 마우스를 올려서 재생",streaming:"최상단에 도달하면 자동으로 새 게시물 스트리밍",text:"텍스트",theme:"테마",theme_help:"16진수 색상코드(#rrggbb)를 사용해 색상 테마를 커스터마이즈.",theme_help_v2_1:'체크박스를 통해 몇몇 컴포넌트의 색상과 불투명도를 조절 가능, "모두 지우기" 버튼으로 덮어 씌운 것을 모두 취소.',theme_help_v2_2:"몇몇 입력칸 밑의 아이콘은 전경/배경 대비 관련 표시등입니다, 마우스를 올려 자세한 정보를 볼 수 있습니다. 투명도 대비 표시등이 가장 최악의 경우를 나타낸다는 것을 유의하세요.",tooltipRadius:"툴팁/경고",user_settings:"사용자 설정",values:{false:"아니오",true:"네"},notifications:"알림",enable_web_push_notifications:"웹 푸시 알림 활성화",style:{switcher:{keep_color:"색상 유지",keep_shadows:"그림자 유지",keep_opacity:"불투명도 유지",keep_roundness:"둥글기 유지",keep_fonts:"글자체 유지",save_load_hint:'"유지" 옵션들은 다른 테마를 고르거나 불러 올 때 현재 설정 된 옵션들을 건드리지 않게 합니다, 테마를 내보내기 할 때도 이 옵션에 따라 저장합니다. 아무 것도 체크 되지 않았다면 모든 설정을 내보냅니다.',reset:"초기화",clear_all:"모두 지우기",clear_opacity:"불투명도 지우기"},common:{color:"색상",opacity:"불투명도",contrast:{hint:"대비율이 {ratio}입니다, 이것은 {context} {level}",level:{aa:"AA등급 가이드라인에 부합합니다 (최소한도)",aaa:"AAA등급 가이드라인에 부합합니다 (권장)",bad:"아무런 가이드라인 등급에도 미치지 못합니다"},context:{"18pt":"큰 (18pt 이상) 텍스트에 대해",text:"텍스트에 대해"}}},common_colors:{_tab_label:"일반",main:"일반 색상",foreground_hint:'"고급" 탭에서 더 자세한 설정이 가능합니다',rgbo:"아이콘, 강조, 배지"},advanced_colors:{_tab_label:"고급",alert:"주의 배경",alert_error:"에러",badge:"배지 배경",badge_notification:"알림",panel_header:"패널 헤더",top_bar:"상단 바",borders:"테두리",buttons:"버튼",inputs:"입력칸",faint_text:"흐려진 텍스트"},radii:{_tab_label:"둥글기"},shadows:{_tab_label:"그림자와 빛",component:"컴포넌트",override:"덮어쓰기",shadow_id:"그림자 #{value}",blur:"흐리기",spread:"퍼지기",inset:"안쪽으로",hint:"그림자에는 CSS3 변수를 --variable을 통해 색상 값으로 사용할 수 있습니다. 불투명도에는 적용 되지 않습니다.",filter_hint:{always_drop_shadow:"경고, 이 그림자는 브라우저가 지원하는 경우 항상 {0}을 사용합니다.",drop_shadow_syntax:"{0}는 {1} 파라미터와 {2} 키워드를 지원하지 않습니다.",avatar_inset:"안쪽과 안쪽이 아닌 그림자를 모두 설정하는 경우 투명 아바타에서 예상치 못 한 결과가 나올 수 있다는 것에 주의해 주세요.",spread_zero:"퍼지기가 0보다 큰 그림자는 0으로 설정한 것과 동일하게 보여집니다",inset_classic:"안쪽 그림자는 {0}를 사용합니다"},components:{panel:"패널",panelHeader:"패널 헤더",topBar:"상단 바",avatar:"사용자 아바타 (프로필 뷰에서)",avatarStatus:"사용자 아바타 (게시물에서)",popup:"팝업과 툴팁",button:"버튼",buttonHover:"버튼 (마우스 올렸을 때)",buttonPressed:"버튼 (눌렸을 때)",buttonPressedHover:"Button (마우스 올림 + 눌림)",input:"입력칸"}},fonts:{_tab_label:"글자체",help:'인터페이스의 요소에 사용 될 글자체를 고르세요. "커스텀"은 시스템에 있는 폰트 이름을 정확히 입력해야 합니다.',components:{interface:"인터페이스",input:"입력칸",post:"게시물 텍스트",postCode:"게시물의 고정폭 텍스트 (서식 있는 텍스트)"},family:"글자체 이름",size:"크기 (px 단위)",weight:"굵기",custom:"커스텀"},preview:{header:"미리보기",content:"내용",error:"에러 예시",button:"버튼",text:"더 많은 {0} 그리고 {1}",mono:"내용",input:"LA에 막 도착!",faint_link:"도움 되는 설명서",fine_print:"우리의 {0} 를 읽고 도움 되지 않는 것들을 배우자!",header_faint:"이건 괜찮아",checkbox:"나는 약관을 대충 훑어보았습니다",link:"작고 귀여운 링크"}}},timeline:{collapse:"접기",conversation:"대화",error_fetching:"업데이트 불러오기 실패",load_older:"더 오래 된 게시물 불러오기",no_retweet_hint:"팔로워 전용, 다이렉트 메시지는 반복할 수 없습니다",repeated:"반복 됨",show_new:"새로운 것 보기",up_to_date:"최신 상태"},user_card:{approve:"승인",block:"차단",blocked:"차단 됨!",deny:"거부",follow:"팔로우",follow_sent:"요청 보내짐!",follow_progress:"요청 중…",follow_again:"요청을 다시 보낼까요?",follow_unfollow:"팔로우 중지",followees:"팔로우 중",followers:"팔로워",following:"팔로우 중!",follows_you:"당신을 팔로우 합니다!",its_you:"당신입니다!",mute:"침묵",muted:"침묵 됨",per_day:" / 하루",remote_follow:"원격 팔로우",statuses:"게시물"},user_profile:{timeline_title:"사용자 타임라인"},who_to_follow:{more:"더 보기",who_to_follow:"팔로우 추천"},tool_tip:{media_upload:"미디어 업로드",repeat:"반복",reply:"답글",favorite:"즐겨찾기",user_settings:"사용자 설정"},upload:{error:{base:"업로드 실패.",file_too_big:"파일이 너무 커요 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"잠시 후에 다시 시도해 보세요"},file_size_units:{B:"바이트",KiB:"키비바이트",MiB:"메비바이트",GiB:"기비바이트",TiB:"테비바이트"}}}}}]); +//# sourceMappingURL=21.849ecc09a1d58bdc64c6.js.map \ No newline at end of file diff --git a/priv/static/static/js/21.849ecc09a1d58bdc64c6.js.map b/priv/static/static/js/21.849ecc09a1d58bdc64c6.js.map new file mode 100644 index 000000000..9447b7ce3 --- /dev/null +++ b/priv/static/static/js/21.849ecc09a1d58bdc64c6.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/21.849ecc09a1d58bdc64c6.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/22.26f13a22ad57a0d14670.js.map b/priv/static/static/js/22.26f13a22ad57a0d14670.js.map deleted file mode 100644 index fa09661dc..000000000 --- a/priv/static/static/js/22.26f13a22ad57a0d14670.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/22.26f13a22ad57a0d14670.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/22.26f13a22ad57a0d14670.js b/priv/static/static/js/22.8782f133c9f66d3f2bbe.js similarity index 99% rename from priv/static/static/js/22.26f13a22ad57a0d14670.js rename to priv/static/static/js/22.8782f133c9f66d3f2bbe.js index a12b55b1f..82692acdb 100644 --- a/priv/static/static/js/22.26f13a22ad57a0d14670.js +++ b/priv/static/static/js/22.8782f133c9f66d3f2bbe.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{555:function(e){e.exports={chat:{title:"Nettprat"},exporter:{export:"Eksporter",processing:"Arbeider, du vil snart bli spurt om å laste ned filen din"},features_panel:{chat:"Nettprat",gopher:"Gopher",media_proxy:"Media proxy",scope_options:"Velg mottakere",text_limit:"Tekstgrense",title:"Egenskaper",who_to_follow:"Kontoer å følge"},finder:{error_fetching_user:"Feil ved henting av bruker",find_user:"Finn bruker"},general:{apply:"Bruk",submit:"Send",more:"Mer",generic_error:"Det oppsto en feil",optional:"valgfritt",show_more:"Vis mer",show_less:"Vis mindre",cancel:"Avbryt",disable:"Slå av",enable:"Slå på",confirm:"Godta",verify:"Godkjenn"},image_cropper:{crop_picture:"Minsk bilde",save:"Lagre",save_without_cropping:"Lagre uten å minske bildet",cancel:"Avbryt"},importer:{submit:"Send",success:"Importering fullført",error:"Det oppsto en feil under importering av denne filen"},login:{login:"Logg inn",description:"Log inn med OAuth",logout:"Logg ut",password:"Passord",placeholder:"f. eks lain",register:"Registrer",username:"Brukernavn",hint:"Logg inn for å delta i diskusjonen",authentication_code:"Verifikasjonskode",enter_recovery_code:"Skriv inn en gjenopprettingskode",enter_two_factor_code:"Skriv inn en to-faktors kode",recovery_code:"Gjenopprettingskode",heading:{totp:"To-faktors autentisering",recovery:"To-faktors gjenoppretting"}},media_modal:{previous:"Forrige",next:"Neste"},nav:{about:"Om",back:"Tilbake",chat:"Lokal nettprat",friend_requests:"Følgeforespørsler",mentions:"Nevnt",interactions:"Interaksjooner",dms:"Direktemeldinger",public_tl:"Offentlig Tidslinje",timeline:"Tidslinje",twkn:"Det hele kjente nettverket",user_search:"Søk etter brukere",search:"Søk",who_to_follow:"Kontoer å følge",preferences:"Innstillinger"},notifications:{broken_favorite:"Ukjent status, leter etter den...",favorited_you:"likte din status",followed_you:"fulgte deg",load_older:"Last eldre varsler",notifications:"Varslinger",read:"Les!",repeated_you:"Gjentok din status",no_more_notifications:"Ingen gjenstående varsler"},polls:{add_poll:"Legg til undersøkelse",add_option:"Legg til svaralternativ",option:"Svaralternativ",votes:"stemmer",vote:"Stem",type:"Undersøkelsestype",single_choice:"Enkeltvalg",multiple_choices:"Flervalg",expiry:"Undersøkelsestid",expires_in:"Undersøkelsen er over om {0}",expired:"Undersøkelsen ble ferdig {0} siden",not_enough_options:"For få unike svaralternativer i undersøkelsen"},stickers:{add_sticker:"Legg til klistremerke"},interactions:{favs_repeats:"Gjentakelser og favoritter",follows:"Nye følgere",load_older:"Last eldre interaksjoner"},post_status:{new_status:"Legg ut ny status",account_not_locked_warning:"Kontoen din er ikke {0}. Hvem som helst kan følge deg for å se dine statuser til følgere",account_not_locked_warning_link:"låst",attachments_sensitive:"Merk vedlegg som sensitive",content_type:{"text/plain":"Klar tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Tema (valgfritt)",default:"Landet akkurat i L.A.",direct_warning_to_all:"Denne statusen vil være synlig av nevnte brukere",direct_warning_to_first_only:"Denne statusen vil være synlig for de brukerene som blir nevnt først i statusen.",posting:"Publiserer",scope_notice:{public:"Denne statusen vil være synlig for alle",private:"Denne statusen vil være synlig for dine følgere",unlisted:"Denne statusen vil ikke være synlig i Offentlig Tidslinje eller Det Hele Kjente Nettverket"},scope:{direct:"Direkte, publiser bare til nevnte brukere",private:"Bare følgere, publiser bare til brukere som følger deg",public:"Offentlig, publiser til offentlige tidslinjer",unlisted:"Uoppført, ikke publiser til offentlige tidslinjer"}},registration:{bio:"Biografi",email:"Epost-adresse",fullname:"Visningsnavn",password_confirm:"Bekreft passord",registration:"Registrering",token:"Invitasjons-bevis",captcha:"CAPTCHA",new_captcha:"Trykk på bildet for å få en ny captcha",username_placeholder:"f.eks. Lain Iwakura",fullname_placeholder:"f.eks. Lain Iwakura",bio_placeholder:"e.g.\nHei, jeg er Lain.\nJeg er en animert jente som bor i forstaden i Japan. Du kjenner meg kanskje fra the Wired.",validations:{username_required:"kan ikke stå tomt",fullname_required:"kan ikke stå tomt",email_required:"kan ikke stå tomt",password_required:"kan ikke stå tomt",password_confirmation_required:"kan ikke stå tomt",password_confirmation_match:"skal være det samme som passord"}},selectable_list:{select_all:"Velg alle"},settings:{app_name:"Applikasjonsnavn",security:"Sikkerhet",enter_current_password_to_confirm:"Skriv inn ditt nåverende passord for å bekrefte din identitet",mfa:{otp:"OTP",setup_otp:"Set opp OTP",wait_pre_setup_otp:"forhåndsstiller OTP",confirm_and_enable:"Bekreft og slå på OTP",title:"To-faktors autentisering",generate_new_recovery_codes:"Generer nye gjenopprettingskoder",warning_of_generate_new_codes:"Når du genererer nye gjenopprettingskoder, vil de gamle slutte å fungere.",recovery_codes:"Gjenopprettingskoder.",waiting_a_recovery_codes:"Mottar gjenopprettingskoder...",recovery_codes_warning:"Skriv disse kodene ned eller plasser dem ett sikkert sted - ellers så vil du ikke se dem igjen. Dersom du mister tilgang til din to-faktors app og dine gjenopprettingskoder, vil du bli stengt ute av kontoen din.",authentication_methods:"Autentiseringsmetoder",scan:{title:"Skann",desc:"Ved hjelp av din to-faktors applikasjon, skann denne QR-koden eller skriv inn tekstnøkkelen",secret_code:"Nøkkel"},verify:{desc:"For å skru på to-faktors autentisering, skriv inn koden i fra din to-faktors app:"}},attachmentRadius:"Vedlegg",attachments:"Vedlegg",autoload:"Automatisk lasting når du blar ned til bunnen",avatar:"Profilbilde",avatarAltRadius:"Profilbilde (Varslinger)",avatarRadius:"Profilbilde",background:"Bakgrunn",bio:"Biografi",block_export:"Eksporter blokkeringer",block_export_button:"Eksporter blokkeringer til en csv fil",block_import:"Import blokkeringer",block_import_error:"Det oppsto en feil under importering av blokkeringer",blocks_imported:"Blokkeringer importert, det vil ta litt å prossesere dem",blocks_tab:"Blokkeringer",btnRadius:"Knapper",cBlue:"Blå (Svar, følg)",cGreen:"Grønn (Gjenta)",cOrange:"Oransje (Lik)",cRed:"Rød (Avbryt)",change_password:"Endre passord",change_password_error:"Feil ved endring av passord",changed_password:"Passord endret",collapse_subject:"Sammenfold statuser med tema",composing:"komponering",confirm_new_password:"Bekreft nytt passord",current_avatar:"Ditt nåværende profilbilde",current_password:"Nåværende passord",current_profile_banner:"Din nåværende profil-banner",data_import_export_tab:"Data import / eksport",default_vis:"Standard visnings-omfang",delete_account:"Slett konto",delete_account_description:"Fjern din konto og alle dine meldinger for alltid.",delete_account_error:"Det oppsto et problem ved sletting av kontoen din, hvis dette problemet forblir kontakt din administrator",delete_account_instructions:"Skriv inn ditt passord i feltet nedenfor for å bekrefte sletting av konto",avatar_size_instruction:"Den anbefalte minste-størrelsen for profilbilder er 150x150 piksler",export_theme:"Lagre tema",filtering:"Filtrering",filtering_explanation:"Alle statuser som inneholder disse ordene vil bli dempet, en kombinasjon av tegn per linje",follow_export:"Eksporter følginger",follow_export_button:"Eksporter følgingene dine til en .csv fil",follow_import:"Importer følginger",follow_import_error:"Feil ved importering av følginger.",follows_imported:"Følginger importert! Behandling vil ta litt tid.",foreground:"Forgrunn",general:"Generell",hide_attachments_in_convo:"Gjem vedlegg i samtaler",hide_attachments_in_tl:"Gjem vedlegg på tidslinje",hide_muted_posts:"Gjem statuser i fra gjemte brukere",max_thumbnails:"Maks antall forhåndsbilder per status",hide_isp:"Gjem instans-spesifikt panel",preload_images:"Forhåndslast bilder",use_one_click_nsfw:"Åpne sensitive vedlegg med ett klikk",hide_post_stats:"Gjem status statistikk (f.eks. antall likes",hide_user_stats:"Gjem bruker statistikk (f.eks. antall følgere)",hide_filtered_statuses:"Gjem filtrerte statuser",import_blocks_from_a_csv_file:"Importer blokkeringer fra en csv fil",import_followers_from_a_csv_file:"Importer følginger fra en csv fil",import_theme:"Last tema",inputRadius:"Tekst felt",checkboxRadius:"Sjekkbokser",instance_default:"(standard: {value})",instance_default_simple:"(standard)",interface:"Grensesnitt",interfaceLanguage:"Grensesnitt-språk",invalid_theme_imported:"Den valgte filen er ikke ett støttet Pleroma-tema, ingen endringer til ditt tema ble gjort",limited_availability:"Ikke tilgjengelig i din nettleser",links:"Linker",lock_account_description:"Begrens din konto til bare godkjente følgere",loop_video:"Gjenta videoer",loop_video_silent_only:'Gjenta bare videoer uten lyd, (for eksempel Mastodon sine "gifs")',mutes_tab:"Dempinger",play_videos_in_modal:"Spill videoer direkte i media-avspilleren",use_contain_fit:"Ikke minsk vedlegget i forhåndsvisninger",name:"Navn",name_bio:"Navn & Biografi",new_password:"Nytt passord",notification_visibility:"Typer varsler som skal vises",notification_visibility_follows:"Følginger",notification_visibility_likes:"Likes",notification_visibility_mentions:"Nevnt",notification_visibility_repeats:"Gjentakelser",no_rich_text_description:"Fjern all formatering fra statuser",no_blocks:"Ingen blokkeringer",no_mutes:"Ingen dempinger",hide_follows_description:"Ikke hvis hvem jeg følger",hide_followers_description:"Ikke hvis hvem som følger meg",show_admin_badge:"Hvis ett administratormerke på min profil",show_moderator_badge:"Hvis ett moderatormerke på min profil",nsfw_clickthrough:"Krev trykk for å vise statuser som kan være upassende",oauth_tokens:"OAuth Tokens",token:"Pollett",refresh_token:"Fornyingspolett",valid_until:"Gyldig til",revoke_token:"Tilbakekall",panelRadius:"Panel",pause_on_unfocused:"Stopp henting av poster når vinduet ikke er i fokus",presets:"Forhåndsdefinerte tema",profile_background:"Profil-bakgrunn",profile_banner:"Profil-banner",profile_tab:"Profil",radii_help:"Bestem hvor runde hjørnene i brukergrensesnittet skal være (i piksler)",replies_in_timeline:"Svar på tidslinje",reply_link_preview:"Vis en forhåndsvisning når du holder musen over svar til en status",reply_visibility_all:"Vis alle svar",reply_visibility_following:"Vis bare svar som er til meg eller folk jeg følger",reply_visibility_self:"Vis bare svar som er til meg",autohide_floating_post_button:"Skjul Ny Status knapp automatisk (mobil)",saving_err:"Feil ved lagring av innstillinger",saving_ok:"Innstillinger lagret",search_user_to_block:"Søk etter hvem du vil blokkere",search_user_to_mute:"Søk etter hvem du vil dempe",security_tab:"Sikkerhet",scope_copy:"Kopier mottakere når du svarer noen (Direktemeldinger blir alltid kopiert",minimal_scopes_mode:"Minimaliser mottakervalg",set_new_avatar:"Rediger profilbilde",set_new_profile_background:"Rediger profil-bakgrunn",set_new_profile_banner:"Sett ny profil-banner",settings:"Innstillinger",subject_input_always_show:"Alltid hvis tema-felt",subject_line_behavior:"Kopier tema når du svarer",subject_line_email:'Som email: "re: tema"',subject_line_mastodon:"Som mastodon: kopier som den er",subject_line_noop:"Ikke koper",post_status_content_type:"Status innholdstype",stop_gifs:"Spill av GIFs når du holder over dem",streaming:"Automatisk strømming av nye statuser når du har bladd til toppen",text:"Tekst",theme:"Tema",theme_help:"Bruk heksadesimale fargekoder (#rrggbb) til å endre farge-temaet ditt.",theme_help_v2_1:'Du kan også overskrive noen komponenter sine farger og opasitet ved å sjekke av sjekkboksen, bruk "Nullstill alt" knappen for å fjerne alle overskrivelser.',theme_help_v2_2:"Ikoner under noen av innstillingene er bakgrunn/tekst kontrast indikatorer, hold over dem for detaljert informasjon. Vennligst husk at disse indikatorene viser det verste utfallet.",tooltipRadius:"Verktøytips/advarsler",upload_a_photo:"Last opp ett bilde",user_settings:"Brukerinstillinger",values:{false:"nei",true:"ja"},notifications:"Varsler",notification_setting:"Motta varsler i fra:",notification_setting_follows:"Brukere du følger",notification_setting_non_follows:"Brukere du ikke følger",notification_setting_followers:"Brukere som følger deg",notification_setting_non_followers:"Brukere som ikke følger deg",notification_mutes:"For å stoppe å motta varsler i fra en spesifikk bruker, kan du dempe dem.",notification_blocks:"Hvis du blokkerer en bruker vil det stoppe alle varsler og i tilleg få dem til å slutte å følge deg",enable_web_push_notifications:"Skru på pushnotifikasjoner i nettlesere",style:{switcher:{keep_color:"Behold farger",keep_shadows:"Behold skygger",keep_opacity:"Behold opasitet",keep_roundness:"Behold rundhet",keep_fonts:"Behold fonter",save_load_hint:'"Behold" alternativer beholder de instillingene som er satt når du velger eller laster inn temaer, det lagrer også disse alternativene når du eksporterer ett tema, Når alle sjekkboksene er tomme, vil alt bli lagret når du eksporterer ett tema.',reset:"Still in på nytt",clear_all:"Nullstill alt",clear_opacity:"Nullstill opasitet"},common:{color:"Farge",opacity:"Opasitet",contrast:{hint:"Kontrast forholdet er {ratio}, it {level} {context}",level:{aa:"møter Nivå AA retningslinje (minimal)",aaa:"møter Nivå AAA retningslinje (recommended)",bad:"møter ingen tilgjengeligshetsretningslinjer"},context:{"18pt":"for stor (18pt+) tekst",text:"for tekst"}}},common_colors:{_tab_label:"Vanlig",main:"Vanlige farger",foreground_hint:'Se "Avansert" fanen for mer detaljert kontroll',rgbo:"Ikoner, aksenter, merker"},advanced_colors:{_tab_label:"Avansert",alert:"Varslingsbakgrunn",alert_error:"Feil",badge:"Merkebakgrunn",badge_notification:"Varsling",panel_header:"Panelhode",top_bar:"Topplinje",borders:"Kanter",buttons:"Knapper",inputs:"Tekstfelt",faint_text:"Svak tekst"},radii:{_tab_label:"Rundhet"},shadows:{_tab_label:"Skygger og belysning",component:"Komponent",override:"Overskriv",shadow_id:"Skygge #{value}",blur:"Uklarhet",spread:"Spredning",inset:"Insett",hint:"For skygger kan du sette --variable som en fargeveerdi for å bruke CSS3 variabler. Vær oppmerksom på at å sette opasitet da ikke vil fungere her.",filter_hint:{always_drop_shadow:"Advarsel, denne skyggen bruker alltid {0} når nettleseren støtter det.",drop_shadow_syntax:"{0} støtter ikke {1} parameter og {2} nøkkelord.",avatar_inset:"Vær oppmerksom på at å kombinere både insatte og uinsatte skygger på profilbilder kan gi uforventede resultater med gjennomsiktige profilbilder.",spread_zero:"Skygger med spredning > 0 vil fremstå som de var satt til 0",inset_classic:"Insette skygger vil bruke {0}"},components:{panel:"Panel",panelHeader:"Panelhode",topBar:"Topplinje",avatar:"Profilbilde (i profilvisning)",avatarStatus:"Profilbilde (i statusvisning)",popup:"Popups og tooltips",button:"Knapp",buttonHover:"Knapp (holdt)",buttonPressed:"Knapp (nedtrykt)",buttonPressedHover:"Knapp (nedtrykt+holdt)",input:"Tekstfelt"}},fonts:{_tab_label:"Fonter",help:'Velg font til elementene i brukergrensesnittet. For "egendefinert" må du skrive inn det nøyaktige font-navnet som det fremstår på systemet',components:{interface:"Grensesnitt",input:"Tekstfelt",post:"Statustekst",postCode:"Monospaced tekst i en status (rik tekst)"},family:"Font naavn",size:"Størrelse (i piksler)",weight:"Vekt (dristighet)",custom:"Egendefinert"},preview:{header:"Forhåndsvisning",content:"Innhold",error:"Eksempel feil",button:"Knapp",text:"Mye mer {0} og {1}",mono:"innhold",input:"Landet akkurat i L.A.",faint_link:"hjelpfull brukerveiledning",fine_print:"Les vår {0} for å lære ingenting nyttig!",header_faint:"Dette er OK",checkbox:"Jeg har skumlest vilkår og betingelser",link:"en flott liten link"}},version:{title:"Versjon",backend_version:"Backend Versjon",frontend_version:"Frontend Versjon"}},time:{day:"{0} dag",days:"{0} dager",day_short:"{0}d",days_short:"{0}d",hour:"{0} time",hours:"{0} timer",hour_short:"{0}t",hours_short:"{0}t",in_future:"om {0}",in_past:"{0} siden",minute:"{0} minutt",minutes:"{0} minutter",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} måned",months:"{0} måneder",month_short:"{0}md.",months_short:"{0}md.",now:"akkurat nå",now_short:"nå",second:"{0} sekund",seconds:"{0} sekunder",second_short:"{0}s",seconds_short:"{0}s",week:"{0} uke",weeks:"{0} uker",week_short:"{0}u",weeks_short:"{0}u",year:"{0} år",years:"{0} år",year_short:"{0}år",years_short:"{0}år"},timeline:{collapse:"Sammenfold",conversation:"Samtale",error_fetching:"Feil ved henting av oppdateringer",load_older:"Last eldre statuser",no_retweet_hint:"Status er markert som bare til følgere eller direkte og kan ikke gjentas",repeated:"gjentok",show_new:"Vis nye",up_to_date:"Oppdatert",no_more_statuses:"Ingen flere statuser",no_statuses:"Ingen statuser"},status:{favorites:"Favoritter",repeats:"Gjentakelser",delete:"Slett status",pin:"Fremhev på profil",unpin:"Fjern fremhevelse",pinned:"Fremhevet",delete_confirm:"Har du virkelig lyst til å slette denne statusen?",reply_to:"Svar til",replies_list:"Svar:"},user_card:{approve:"Godkjenn",block:"Blokker",blocked:"Blokkert!",deny:"Avslå",favorites:"Favoritter",follow:"Følg",follow_sent:"Forespørsel sendt!",follow_progress:"Forespør…",follow_again:"Gjenta forespørsel?",follow_unfollow:"Avfølg",followees:"Følger",followers:"Følgere",following:"Følger!",follows_you:"Følger deg!",its_you:"Det er deg!",media:"Media",mute:"Demp",muted:"Dempet",per_day:"per dag",remote_follow:"Følg eksternt",report:"Rapport",statuses:"Statuser",subscribe:"Abonner",unsubscribe:"Avabonner",unblock:"Fjern blokkering",unblock_progress:"Fjerner blokkering...",block_progress:"Blokkerer...",unmute:"Fjern demping",unmute_progress:"Fjerner demping...",mute_progress:"Demper...",admin_menu:{moderation:"Moderering",grant_admin:"Gi Administrator",revoke_admin:"Fjern Administrator",grant_moderator:"Gi Moderator",revoke_moderator:"Fjern Moderator",activate_account:"Aktiver konto",deactivate_account:"Deaktiver kontro",delete_account:"Slett konto",force_nsfw:"Merk alle statuser som sensitive",strip_media:"Fjern media i fra statuser",force_unlisted:"Tving statuser til å være uopplistet",sandbox:"Tving statuser til å bare vises til følgere",disable_remote_subscription:"Fjern mulighet til å følge brukeren fra andre instanser",disable_any_subscription:"Fjern mulighet til å følge brukeren",quarantine:"Gjør at statuser fra brukeren ikke kan sendes til andre instanser",delete_user:"Slett bruker",delete_user_confirmation:"Er du helt sikker? Denne handlingen kan ikke omgjøres."}},user_profile:{timeline_title:"Bruker-tidslinje",profile_does_not_exist:"Beklager, denne profilen eksisterer ikke.",profile_loading_error:"Beklager, det oppsto en feil under lasting av denne profilen."},user_reporting:{title:"Rapporterer {0}",add_comment_description:"Rapporten blir sent til moderatorene av din instans. Du kan gi en forklaring på hvorfor du rapporterer denne kontoen under:",additional_comments:"Videre kommentarer",forward_description:"Denne kontoen er fra en annen server, vil du sende en kopi av rapporten til dem også?",forward_to:"Videresend til {0}",submit:"Send",generic_error:"Det oppsto en feil under behandling av din forespørsel."},who_to_follow:{more:"Mer",who_to_follow:"Kontoer å følge"},tool_tip:{media_upload:"Last opp media",repeat:"Gjenta",reply:"Svar",favorite:"Lik",user_settings:"Brukerinnstillinger"},upload:{error:{base:"Det oppsto en feil under opplastning.",file_too_big:"Fil for stor [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Prøv igjen senere"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Folk",hashtags:"Emneknagger",person_talking:"{count} person snakker om dette",people_talking:"{count} personer snakker om dette",no_results:"Ingen resultater"}}}}]); -//# sourceMappingURL=22.26f13a22ad57a0d14670.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{573:function(e){e.exports={chat:{title:"Nettprat"},exporter:{export:"Eksporter",processing:"Arbeider, du vil snart bli spurt om å laste ned filen din"},features_panel:{chat:"Nettprat",gopher:"Gopher",media_proxy:"Media proxy",scope_options:"Velg mottakere",text_limit:"Tekstgrense",title:"Egenskaper",who_to_follow:"Kontoer å følge"},finder:{error_fetching_user:"Feil ved henting av bruker",find_user:"Finn bruker"},general:{apply:"Bruk",submit:"Send",more:"Mer",generic_error:"Det oppsto en feil",optional:"valgfritt",show_more:"Vis mer",show_less:"Vis mindre",cancel:"Avbryt",disable:"Slå av",enable:"Slå på",confirm:"Godta",verify:"Godkjenn"},image_cropper:{crop_picture:"Minsk bilde",save:"Lagre",save_without_cropping:"Lagre uten å minske bildet",cancel:"Avbryt"},importer:{submit:"Send",success:"Importering fullført",error:"Det oppsto en feil under importering av denne filen"},login:{login:"Logg inn",description:"Log inn med OAuth",logout:"Logg ut",password:"Passord",placeholder:"f. eks lain",register:"Registrer",username:"Brukernavn",hint:"Logg inn for å delta i diskusjonen",authentication_code:"Verifikasjonskode",enter_recovery_code:"Skriv inn en gjenopprettingskode",enter_two_factor_code:"Skriv inn en to-faktors kode",recovery_code:"Gjenopprettingskode",heading:{totp:"To-faktors autentisering",recovery:"To-faktors gjenoppretting"}},media_modal:{previous:"Forrige",next:"Neste"},nav:{about:"Om",back:"Tilbake",chat:"Lokal nettprat",friend_requests:"Følgeforespørsler",mentions:"Nevnt",interactions:"Interaksjooner",dms:"Direktemeldinger",public_tl:"Offentlig Tidslinje",timeline:"Tidslinje",twkn:"Det hele kjente nettverket",user_search:"Søk etter brukere",search:"Søk",who_to_follow:"Kontoer å følge",preferences:"Innstillinger"},notifications:{broken_favorite:"Ukjent status, leter etter den...",favorited_you:"likte din status",followed_you:"fulgte deg",load_older:"Last eldre varsler",notifications:"Varslinger",read:"Les!",repeated_you:"Gjentok din status",no_more_notifications:"Ingen gjenstående varsler"},polls:{add_poll:"Legg til undersøkelse",add_option:"Legg til svaralternativ",option:"Svaralternativ",votes:"stemmer",vote:"Stem",type:"Undersøkelsestype",single_choice:"Enkeltvalg",multiple_choices:"Flervalg",expiry:"Undersøkelsestid",expires_in:"Undersøkelsen er over om {0}",expired:"Undersøkelsen ble ferdig {0} siden",not_enough_options:"For få unike svaralternativer i undersøkelsen"},stickers:{add_sticker:"Legg til klistremerke"},interactions:{favs_repeats:"Gjentakelser og favoritter",follows:"Nye følgere",load_older:"Last eldre interaksjoner"},post_status:{new_status:"Legg ut ny status",account_not_locked_warning:"Kontoen din er ikke {0}. Hvem som helst kan følge deg for å se dine statuser til følgere",account_not_locked_warning_link:"låst",attachments_sensitive:"Merk vedlegg som sensitive",content_type:{"text/plain":"Klar tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Tema (valgfritt)",default:"Landet akkurat i L.A.",direct_warning_to_all:"Denne statusen vil være synlig av nevnte brukere",direct_warning_to_first_only:"Denne statusen vil være synlig for de brukerene som blir nevnt først i statusen.",posting:"Publiserer",scope_notice:{public:"Denne statusen vil være synlig for alle",private:"Denne statusen vil være synlig for dine følgere",unlisted:"Denne statusen vil ikke være synlig i Offentlig Tidslinje eller Det Hele Kjente Nettverket"},scope:{direct:"Direkte, publiser bare til nevnte brukere",private:"Bare følgere, publiser bare til brukere som følger deg",public:"Offentlig, publiser til offentlige tidslinjer",unlisted:"Uoppført, ikke publiser til offentlige tidslinjer"}},registration:{bio:"Biografi",email:"Epost-adresse",fullname:"Visningsnavn",password_confirm:"Bekreft passord",registration:"Registrering",token:"Invitasjons-bevis",captcha:"CAPTCHA",new_captcha:"Trykk på bildet for å få en ny captcha",username_placeholder:"f.eks. Lain Iwakura",fullname_placeholder:"f.eks. Lain Iwakura",bio_placeholder:"e.g.\nHei, jeg er Lain.\nJeg er en animert jente som bor i forstaden i Japan. Du kjenner meg kanskje fra the Wired.",validations:{username_required:"kan ikke stå tomt",fullname_required:"kan ikke stå tomt",email_required:"kan ikke stå tomt",password_required:"kan ikke stå tomt",password_confirmation_required:"kan ikke stå tomt",password_confirmation_match:"skal være det samme som passord"}},selectable_list:{select_all:"Velg alle"},settings:{app_name:"Applikasjonsnavn",security:"Sikkerhet",enter_current_password_to_confirm:"Skriv inn ditt nåverende passord for å bekrefte din identitet",mfa:{otp:"OTP",setup_otp:"Set opp OTP",wait_pre_setup_otp:"forhåndsstiller OTP",confirm_and_enable:"Bekreft og slå på OTP",title:"To-faktors autentisering",generate_new_recovery_codes:"Generer nye gjenopprettingskoder",warning_of_generate_new_codes:"Når du genererer nye gjenopprettingskoder, vil de gamle slutte å fungere.",recovery_codes:"Gjenopprettingskoder.",waiting_a_recovery_codes:"Mottar gjenopprettingskoder...",recovery_codes_warning:"Skriv disse kodene ned eller plasser dem ett sikkert sted - ellers så vil du ikke se dem igjen. Dersom du mister tilgang til din to-faktors app og dine gjenopprettingskoder, vil du bli stengt ute av kontoen din.",authentication_methods:"Autentiseringsmetoder",scan:{title:"Skann",desc:"Ved hjelp av din to-faktors applikasjon, skann denne QR-koden eller skriv inn tekstnøkkelen",secret_code:"Nøkkel"},verify:{desc:"For å skru på to-faktors autentisering, skriv inn koden i fra din to-faktors app:"}},attachmentRadius:"Vedlegg",attachments:"Vedlegg",autoload:"Automatisk lasting når du blar ned til bunnen",avatar:"Profilbilde",avatarAltRadius:"Profilbilde (Varslinger)",avatarRadius:"Profilbilde",background:"Bakgrunn",bio:"Biografi",block_export:"Eksporter blokkeringer",block_export_button:"Eksporter blokkeringer til en csv fil",block_import:"Import blokkeringer",block_import_error:"Det oppsto en feil under importering av blokkeringer",blocks_imported:"Blokkeringer importert, det vil ta litt å prossesere dem",blocks_tab:"Blokkeringer",btnRadius:"Knapper",cBlue:"Blå (Svar, følg)",cGreen:"Grønn (Gjenta)",cOrange:"Oransje (Lik)",cRed:"Rød (Avbryt)",change_password:"Endre passord",change_password_error:"Feil ved endring av passord",changed_password:"Passord endret",collapse_subject:"Sammenfold statuser med tema",composing:"komponering",confirm_new_password:"Bekreft nytt passord",current_avatar:"Ditt nåværende profilbilde",current_password:"Nåværende passord",current_profile_banner:"Din nåværende profil-banner",data_import_export_tab:"Data import / eksport",default_vis:"Standard visnings-omfang",delete_account:"Slett konto",delete_account_description:"Fjern din konto og alle dine meldinger for alltid.",delete_account_error:"Det oppsto et problem ved sletting av kontoen din, hvis dette problemet forblir kontakt din administrator",delete_account_instructions:"Skriv inn ditt passord i feltet nedenfor for å bekrefte sletting av konto",avatar_size_instruction:"Den anbefalte minste-størrelsen for profilbilder er 150x150 piksler",export_theme:"Lagre tema",filtering:"Filtrering",filtering_explanation:"Alle statuser som inneholder disse ordene vil bli dempet, en kombinasjon av tegn per linje",follow_export:"Eksporter følginger",follow_export_button:"Eksporter følgingene dine til en .csv fil",follow_import:"Importer følginger",follow_import_error:"Feil ved importering av følginger.",follows_imported:"Følginger importert! Behandling vil ta litt tid.",foreground:"Forgrunn",general:"Generell",hide_attachments_in_convo:"Gjem vedlegg i samtaler",hide_attachments_in_tl:"Gjem vedlegg på tidslinje",hide_muted_posts:"Gjem statuser i fra gjemte brukere",max_thumbnails:"Maks antall forhåndsbilder per status",hide_isp:"Gjem instans-spesifikt panel",preload_images:"Forhåndslast bilder",use_one_click_nsfw:"Åpne sensitive vedlegg med ett klikk",hide_post_stats:"Gjem status statistikk (f.eks. antall likes",hide_user_stats:"Gjem bruker statistikk (f.eks. antall følgere)",hide_filtered_statuses:"Gjem filtrerte statuser",import_blocks_from_a_csv_file:"Importer blokkeringer fra en csv fil",import_followers_from_a_csv_file:"Importer følginger fra en csv fil",import_theme:"Last tema",inputRadius:"Tekst felt",checkboxRadius:"Sjekkbokser",instance_default:"(standard: {value})",instance_default_simple:"(standard)",interface:"Grensesnitt",interfaceLanguage:"Grensesnitt-språk",invalid_theme_imported:"Den valgte filen er ikke ett støttet Pleroma-tema, ingen endringer til ditt tema ble gjort",limited_availability:"Ikke tilgjengelig i din nettleser",links:"Linker",lock_account_description:"Begrens din konto til bare godkjente følgere",loop_video:"Gjenta videoer",loop_video_silent_only:'Gjenta bare videoer uten lyd, (for eksempel Mastodon sine "gifs")',mutes_tab:"Dempinger",play_videos_in_modal:"Spill videoer direkte i media-avspilleren",use_contain_fit:"Ikke minsk vedlegget i forhåndsvisninger",name:"Navn",name_bio:"Navn & Biografi",new_password:"Nytt passord",notification_visibility:"Typer varsler som skal vises",notification_visibility_follows:"Følginger",notification_visibility_likes:"Likes",notification_visibility_mentions:"Nevnt",notification_visibility_repeats:"Gjentakelser",no_rich_text_description:"Fjern all formatering fra statuser",no_blocks:"Ingen blokkeringer",no_mutes:"Ingen dempinger",hide_follows_description:"Ikke hvis hvem jeg følger",hide_followers_description:"Ikke hvis hvem som følger meg",show_admin_badge:"Hvis ett administratormerke på min profil",show_moderator_badge:"Hvis ett moderatormerke på min profil",nsfw_clickthrough:"Krev trykk for å vise statuser som kan være upassende",oauth_tokens:"OAuth Tokens",token:"Pollett",refresh_token:"Fornyingspolett",valid_until:"Gyldig til",revoke_token:"Tilbakekall",panelRadius:"Panel",pause_on_unfocused:"Stopp henting av poster når vinduet ikke er i fokus",presets:"Forhåndsdefinerte tema",profile_background:"Profil-bakgrunn",profile_banner:"Profil-banner",profile_tab:"Profil",radii_help:"Bestem hvor runde hjørnene i brukergrensesnittet skal være (i piksler)",replies_in_timeline:"Svar på tidslinje",reply_link_preview:"Vis en forhåndsvisning når du holder musen over svar til en status",reply_visibility_all:"Vis alle svar",reply_visibility_following:"Vis bare svar som er til meg eller folk jeg følger",reply_visibility_self:"Vis bare svar som er til meg",autohide_floating_post_button:"Skjul Ny Status knapp automatisk (mobil)",saving_err:"Feil ved lagring av innstillinger",saving_ok:"Innstillinger lagret",search_user_to_block:"Søk etter hvem du vil blokkere",search_user_to_mute:"Søk etter hvem du vil dempe",security_tab:"Sikkerhet",scope_copy:"Kopier mottakere når du svarer noen (Direktemeldinger blir alltid kopiert",minimal_scopes_mode:"Minimaliser mottakervalg",set_new_avatar:"Rediger profilbilde",set_new_profile_background:"Rediger profil-bakgrunn",set_new_profile_banner:"Sett ny profil-banner",settings:"Innstillinger",subject_input_always_show:"Alltid hvis tema-felt",subject_line_behavior:"Kopier tema når du svarer",subject_line_email:'Som email: "re: tema"',subject_line_mastodon:"Som mastodon: kopier som den er",subject_line_noop:"Ikke koper",post_status_content_type:"Status innholdstype",stop_gifs:"Spill av GIFs når du holder over dem",streaming:"Automatisk strømming av nye statuser når du har bladd til toppen",text:"Tekst",theme:"Tema",theme_help:"Bruk heksadesimale fargekoder (#rrggbb) til å endre farge-temaet ditt.",theme_help_v2_1:'Du kan også overskrive noen komponenter sine farger og opasitet ved å sjekke av sjekkboksen, bruk "Nullstill alt" knappen for å fjerne alle overskrivelser.',theme_help_v2_2:"Ikoner under noen av innstillingene er bakgrunn/tekst kontrast indikatorer, hold over dem for detaljert informasjon. Vennligst husk at disse indikatorene viser det verste utfallet.",tooltipRadius:"Verktøytips/advarsler",upload_a_photo:"Last opp ett bilde",user_settings:"Brukerinstillinger",values:{false:"nei",true:"ja"},notifications:"Varsler",notification_setting:"Motta varsler i fra:",notification_setting_follows:"Brukere du følger",notification_setting_non_follows:"Brukere du ikke følger",notification_setting_followers:"Brukere som følger deg",notification_setting_non_followers:"Brukere som ikke følger deg",notification_mutes:"For å stoppe å motta varsler i fra en spesifikk bruker, kan du dempe dem.",notification_blocks:"Hvis du blokkerer en bruker vil det stoppe alle varsler og i tilleg få dem til å slutte å følge deg",enable_web_push_notifications:"Skru på pushnotifikasjoner i nettlesere",style:{switcher:{keep_color:"Behold farger",keep_shadows:"Behold skygger",keep_opacity:"Behold opasitet",keep_roundness:"Behold rundhet",keep_fonts:"Behold fonter",save_load_hint:'"Behold" alternativer beholder de instillingene som er satt når du velger eller laster inn temaer, det lagrer også disse alternativene når du eksporterer ett tema, Når alle sjekkboksene er tomme, vil alt bli lagret når du eksporterer ett tema.',reset:"Still in på nytt",clear_all:"Nullstill alt",clear_opacity:"Nullstill opasitet"},common:{color:"Farge",opacity:"Opasitet",contrast:{hint:"Kontrast forholdet er {ratio}, it {level} {context}",level:{aa:"møter Nivå AA retningslinje (minimal)",aaa:"møter Nivå AAA retningslinje (recommended)",bad:"møter ingen tilgjengeligshetsretningslinjer"},context:{"18pt":"for stor (18pt+) tekst",text:"for tekst"}}},common_colors:{_tab_label:"Vanlig",main:"Vanlige farger",foreground_hint:'Se "Avansert" fanen for mer detaljert kontroll',rgbo:"Ikoner, aksenter, merker"},advanced_colors:{_tab_label:"Avansert",alert:"Varslingsbakgrunn",alert_error:"Feil",badge:"Merkebakgrunn",badge_notification:"Varsling",panel_header:"Panelhode",top_bar:"Topplinje",borders:"Kanter",buttons:"Knapper",inputs:"Tekstfelt",faint_text:"Svak tekst"},radii:{_tab_label:"Rundhet"},shadows:{_tab_label:"Skygger og belysning",component:"Komponent",override:"Overskriv",shadow_id:"Skygge #{value}",blur:"Uklarhet",spread:"Spredning",inset:"Insett",hint:"For skygger kan du sette --variable som en fargeveerdi for å bruke CSS3 variabler. Vær oppmerksom på at å sette opasitet da ikke vil fungere her.",filter_hint:{always_drop_shadow:"Advarsel, denne skyggen bruker alltid {0} når nettleseren støtter det.",drop_shadow_syntax:"{0} støtter ikke {1} parameter og {2} nøkkelord.",avatar_inset:"Vær oppmerksom på at å kombinere både insatte og uinsatte skygger på profilbilder kan gi uforventede resultater med gjennomsiktige profilbilder.",spread_zero:"Skygger med spredning > 0 vil fremstå som de var satt til 0",inset_classic:"Insette skygger vil bruke {0}"},components:{panel:"Panel",panelHeader:"Panelhode",topBar:"Topplinje",avatar:"Profilbilde (i profilvisning)",avatarStatus:"Profilbilde (i statusvisning)",popup:"Popups og tooltips",button:"Knapp",buttonHover:"Knapp (holdt)",buttonPressed:"Knapp (nedtrykt)",buttonPressedHover:"Knapp (nedtrykt+holdt)",input:"Tekstfelt"}},fonts:{_tab_label:"Fonter",help:'Velg font til elementene i brukergrensesnittet. For "egendefinert" må du skrive inn det nøyaktige font-navnet som det fremstår på systemet',components:{interface:"Grensesnitt",input:"Tekstfelt",post:"Statustekst",postCode:"Monospaced tekst i en status (rik tekst)"},family:"Font naavn",size:"Størrelse (i piksler)",weight:"Vekt (dristighet)",custom:"Egendefinert"},preview:{header:"Forhåndsvisning",content:"Innhold",error:"Eksempel feil",button:"Knapp",text:"Mye mer {0} og {1}",mono:"innhold",input:"Landet akkurat i L.A.",faint_link:"hjelpfull brukerveiledning",fine_print:"Les vår {0} for å lære ingenting nyttig!",header_faint:"Dette er OK",checkbox:"Jeg har skumlest vilkår og betingelser",link:"en flott liten link"}},version:{title:"Versjon",backend_version:"Backend Versjon",frontend_version:"Frontend Versjon"}},time:{day:"{0} dag",days:"{0} dager",day_short:"{0}d",days_short:"{0}d",hour:"{0} time",hours:"{0} timer",hour_short:"{0}t",hours_short:"{0}t",in_future:"om {0}",in_past:"{0} siden",minute:"{0} minutt",minutes:"{0} minutter",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} måned",months:"{0} måneder",month_short:"{0}md.",months_short:"{0}md.",now:"akkurat nå",now_short:"nå",second:"{0} sekund",seconds:"{0} sekunder",second_short:"{0}s",seconds_short:"{0}s",week:"{0} uke",weeks:"{0} uker",week_short:"{0}u",weeks_short:"{0}u",year:"{0} år",years:"{0} år",year_short:"{0}år",years_short:"{0}år"},timeline:{collapse:"Sammenfold",conversation:"Samtale",error_fetching:"Feil ved henting av oppdateringer",load_older:"Last eldre statuser",no_retweet_hint:"Status er markert som bare til følgere eller direkte og kan ikke gjentas",repeated:"gjentok",show_new:"Vis nye",up_to_date:"Oppdatert",no_more_statuses:"Ingen flere statuser",no_statuses:"Ingen statuser"},status:{favorites:"Favoritter",repeats:"Gjentakelser",delete:"Slett status",pin:"Fremhev på profil",unpin:"Fjern fremhevelse",pinned:"Fremhevet",delete_confirm:"Har du virkelig lyst til å slette denne statusen?",reply_to:"Svar til",replies_list:"Svar:"},user_card:{approve:"Godkjenn",block:"Blokker",blocked:"Blokkert!",deny:"Avslå",favorites:"Favoritter",follow:"Følg",follow_sent:"Forespørsel sendt!",follow_progress:"Forespør…",follow_again:"Gjenta forespørsel?",follow_unfollow:"Avfølg",followees:"Følger",followers:"Følgere",following:"Følger!",follows_you:"Følger deg!",its_you:"Det er deg!",media:"Media",mute:"Demp",muted:"Dempet",per_day:"per dag",remote_follow:"Følg eksternt",report:"Rapport",statuses:"Statuser",subscribe:"Abonner",unsubscribe:"Avabonner",unblock:"Fjern blokkering",unblock_progress:"Fjerner blokkering...",block_progress:"Blokkerer...",unmute:"Fjern demping",unmute_progress:"Fjerner demping...",mute_progress:"Demper...",admin_menu:{moderation:"Moderering",grant_admin:"Gi Administrator",revoke_admin:"Fjern Administrator",grant_moderator:"Gi Moderator",revoke_moderator:"Fjern Moderator",activate_account:"Aktiver konto",deactivate_account:"Deaktiver kontro",delete_account:"Slett konto",force_nsfw:"Merk alle statuser som sensitive",strip_media:"Fjern media i fra statuser",force_unlisted:"Tving statuser til å være uopplistet",sandbox:"Tving statuser til å bare vises til følgere",disable_remote_subscription:"Fjern mulighet til å følge brukeren fra andre instanser",disable_any_subscription:"Fjern mulighet til å følge brukeren",quarantine:"Gjør at statuser fra brukeren ikke kan sendes til andre instanser",delete_user:"Slett bruker",delete_user_confirmation:"Er du helt sikker? Denne handlingen kan ikke omgjøres."}},user_profile:{timeline_title:"Bruker-tidslinje",profile_does_not_exist:"Beklager, denne profilen eksisterer ikke.",profile_loading_error:"Beklager, det oppsto en feil under lasting av denne profilen."},user_reporting:{title:"Rapporterer {0}",add_comment_description:"Rapporten blir sent til moderatorene av din instans. Du kan gi en forklaring på hvorfor du rapporterer denne kontoen under:",additional_comments:"Videre kommentarer",forward_description:"Denne kontoen er fra en annen server, vil du sende en kopi av rapporten til dem også?",forward_to:"Videresend til {0}",submit:"Send",generic_error:"Det oppsto en feil under behandling av din forespørsel."},who_to_follow:{more:"Mer",who_to_follow:"Kontoer å følge"},tool_tip:{media_upload:"Last opp media",repeat:"Gjenta",reply:"Svar",favorite:"Lik",user_settings:"Brukerinnstillinger"},upload:{error:{base:"Det oppsto en feil under opplastning.",file_too_big:"Fil for stor [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Prøv igjen senere"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Folk",hashtags:"Emneknagger",person_talking:"{count} person snakker om dette",people_talking:"{count} personer snakker om dette",no_results:"Ingen resultater"}}}}]); +//# sourceMappingURL=22.8782f133c9f66d3f2bbe.js.map \ No newline at end of file diff --git a/priv/static/static/js/22.8782f133c9f66d3f2bbe.js.map b/priv/static/static/js/22.8782f133c9f66d3f2bbe.js.map new file mode 100644 index 000000000..41e527ff6 --- /dev/null +++ b/priv/static/static/js/22.8782f133c9f66d3f2bbe.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/22.8782f133c9f66d3f2bbe.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/23.91a60b775352a806f887.js b/priv/static/static/js/23.2653bf91bc77c2ed0160.js similarity index 99% rename from priv/static/static/js/23.91a60b775352a806f887.js rename to priv/static/static/js/23.2653bf91bc77c2ed0160.js index c4f18071c..2aad331b4 100644 --- a/priv/static/static/js/23.91a60b775352a806f887.js +++ b/priv/static/static/js/23.2653bf91bc77c2ed0160.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{556:function(e){e.exports={chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Media proxy",scope_options:"Zichtbaarheidsopties",text_limit:"Tekst limiet",title:"Kenmerken",who_to_follow:"Wie te volgen"},finder:{error_fetching_user:"Fout tijdens ophalen gebruiker",find_user:"Gebruiker zoeken"},general:{apply:"Toepassen",submit:"Verzend",more:"Meer",optional:"optioneel",show_more:"Bekijk meer",show_less:"Bekijk minder",dismiss:"Opheffen",cancel:"Annuleren",disable:"Uitschakelen",enable:"Inschakelen",confirm:"Bevestigen",verify:"Verifiëren",generic_error:"Er is een fout opgetreden",peek:"Spiek",close:"Sluiten",retry:"Opnieuw proberen",error_retry:"Probeer het opnieuw",loading:"Laden…"},login:{login:"Log in",description:"Log in met OAuth",logout:"Uitloggen",password:"Wachtwoord",placeholder:"bijv. lain",register:"Registreren",username:"Gebruikersnaam",hint:"Log in om deel te nemen aan de discussie",authentication_code:"Authenticatie code",enter_recovery_code:"Voer een herstelcode in",enter_two_factor_code:"Voer een twee-factor code in",recovery_code:"Herstelcode",heading:{totp:"Twee-factor authenticatie",recovery:"Twee-factor herstelling"}},nav:{about:"Over",back:"Terug",chat:"Lokale Chat",friend_requests:"Volgverzoeken",mentions:"Vermeldingen",dms:"Directe Berichten",public_tl:"Publieke Tijdlijn",timeline:"Tijdlijn",twkn:"Het Geheel Bekende Netwerk",user_search:"Gebruiker Zoeken",who_to_follow:"Wie te volgen",preferences:"Voorkeuren",administration:"Administratie",search:"Zoeken",interactions:"Interacties"},notifications:{broken_favorite:"Onbekende status, aan het zoeken…",favorited_you:"vond je status leuk",followed_you:"volgt jou",load_older:"Laad oudere meldingen",notifications:"Meldingen",read:"Gelezen!",repeated_you:"Herhaalde je status",no_more_notifications:"Geen meldingen meer",migrated_to:"is gemigreerd naar",follow_request:"wil je volgen",reacted_with:"reageerde met {0}"},post_status:{new_status:"Nieuwe status plaatsen",account_not_locked_warning:"Je account is niet {0}. Iedereen kan je volgen om je alleen-volgers berichten te lezen.",account_not_locked_warning_link:"gesloten",attachments_sensitive:"Markeer bijlagen als gevoelig",content_type:{"text/plain":"Platte tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Onderwerp (optioneel)",default:"Tijd voor anime!",direct_warning:"Deze post zal enkel zichtbaar zijn voor de personen die genoemd zijn.",posting:"Plaatsen",scope:{direct:"Direct - Post enkel naar vermelde gebruikers",private:"Enkel volgers - Post enkel naar volgers",public:"Publiek - Post op publieke tijdlijnen",unlisted:"Niet Vermelden - Niet tonen op publieke tijdlijnen"},direct_warning_to_all:"Dit bericht zal zichtbaar zijn voor alle vermelde gebruikers.",direct_warning_to_first_only:"Dit bericht zal alleen zichtbaar zijn voor de vermelde gebruikers aan het begin van het bericht.",scope_notice:{public:"Dit bericht zal voor iedereen zichtbaar zijn",unlisted:"Dit bericht zal niet zichtbaar zijn in de Publieke Tijdlijn en Het Geheel Bekende Netwerk",private:"Dit bericht zal voor alleen je volgers zichtbaar zijn"}},registration:{bio:"Bio",email:"Email",fullname:"Weergave naam",password_confirm:"Wachtwoord bevestiging",registration:"Registratie",token:"Uitnodigings-token",captcha:"CAPTCHA",new_captcha:"Klik op de afbeelding voor een nieuwe captcha",validations:{username_required:"moet ingevuld zijn",fullname_required:"moet ingevuld zijn",email_required:"moet ingevuld zijn",password_required:"moet ingevuld zijn",password_confirmation_required:"moet ingevuld zijn",password_confirmation_match:"komt niet overeen met het wachtwoord"},username_placeholder:"bijv. lain",fullname_placeholder:"bijv. Lain Iwakura",bio_placeholder:"bijv.\nHallo, ik ben Lain.\nIk ben een anime meisje woonachtig in een buitenwijk in Japan. Je kent me misschien van the Wired."},settings:{attachmentRadius:"Bijlages",attachments:"Bijlages",autoload:"Automatisch laden inschakelen wanneer tot de bodem gescrold wordt",avatar:"Avatar",avatarAltRadius:"Avatars (Meldingen)",avatarRadius:"Avatars",background:"Achtergrond",bio:"Bio",btnRadius:"Knoppen",cBlue:"Blauw (Beantwoorden, volgen)",cGreen:"Groen (Herhalen)",cOrange:"Oranje (Favoriet)",cRed:"Rood (Annuleren)",change_password:"Wachtwoord Wijzigen",change_password_error:"Er is een fout opgetreden bij het wijzigen van je wachtwoord.",changed_password:"Wachtwoord succesvol gewijzigd!",collapse_subject:"Klap berichten met een onderwerp in",composing:"Opstellen",confirm_new_password:"Nieuw wachtwoord bevestigen",current_avatar:"Je huidige avatar",current_password:"Huidig wachtwoord",current_profile_banner:"Je huidige profiel banner",data_import_export_tab:"Data Import / Export",default_vis:"Standaard zichtbaarheidsbereik",delete_account:"Account Verwijderen",delete_account_description:"Permanent je gegevens verwijderen en account deactiveren.",delete_account_error:"Er is een fout opgetreden bij het verwijderen van je account. Indien dit probleem zich voor blijft doen, neem dan contact op met de beheerder van deze instantie.",delete_account_instructions:"Voer je wachtwoord in het onderstaande invoerveld in om het verwijderen van je account te bevestigen.",export_theme:"Preset opslaan",filtering:"Filtering",filtering_explanation:"Alle statussen die deze woorden bevatten worden genegeerd, één filter per lijn",follow_export:"Volgers exporteren",follow_export_button:"Exporteer je volgers naar een csv bestand",follow_export_processing:"Aan het verwerken, binnen enkele ogenblikken wordt je gevraagd je bestand te downloaden",follow_import:"Volgers importeren",follow_import_error:"Fout bij importeren volgers",follows_imported:"Volgers geïmporteerd! Het kan even duren voordat deze verwerkt zijn.",foreground:"Voorgrond",general:"Algemeen",hide_attachments_in_convo:"Verberg bijlages in conversaties",hide_attachments_in_tl:"Verberg bijlages in de tijdlijn",hide_isp:"Verberg instantie-specifiek paneel",preload_images:"Afbeeldingen vooraf laden",hide_post_stats:"Verberg bericht statistieken (bijv. het aantal favorieten)",hide_user_stats:"Verberg bericht statistieken (bijv. het aantal volgers)",import_followers_from_a_csv_file:"Importeer volgers uit een csv bestand",import_theme:"Preset laden",inputRadius:"Invoervelden",checkboxRadius:"Checkboxen",instance_default:"(standaard: {value})",instance_default_simple:"(standaard)",interface:"Interface",interfaceLanguage:"Interface taal",invalid_theme_imported:"Het geselecteerde bestand is geen door Pleroma ondersteund thema. Er zijn geen aanpassingen gedaan.",limited_availability:"Niet beschikbaar in je browser",links:"Links",lock_account_description:"Laat volgers enkel toe na expliciete toestemming",loop_video:"Herhaal video's",loop_video_silent_only:"Herhaal enkel video's zonder geluid (bijv. Mastodon's \"gifs\")",name:"Naam",name_bio:"Naam & Bio",new_password:"Nieuw wachtwoord",notification_visibility:"Type meldingen die getoond worden",notification_visibility_follows:"Volgingen",notification_visibility_likes:"Vind-ik-leuks",notification_visibility_mentions:"Vermeldingen",notification_visibility_repeats:"Herhalingen",no_rich_text_description:"Verwijder rich text formattering van alle berichten",hide_network_description:"Toon niet wie mij volgt en wie ik volg.",nsfw_clickthrough:"Doorklikbaar verbergen van gevoelige bijlages inschakelen",oauth_tokens:"OAuth-tokens",token:"Token",refresh_token:"Token Vernieuwen",valid_until:"Geldig tot",revoke_token:"Intrekken",panelRadius:"Panelen",pause_on_unfocused:"Streamen pauzeren wanneer de tab niet in focus is",presets:"Presets",profile_background:"Profiel Achtergrond",profile_banner:"Profiel Banner",profile_tab:"Profiel",radii_help:"Stel afronding van hoeken in de interface in (in pixels)",replies_in_timeline:"Antwoorden in tijdlijn",reply_link_preview:"Antwoord-link weergave inschakelen bij aanwijzen met muisaanwijzer",reply_visibility_all:"Alle antwoorden tonen",reply_visibility_following:"Enkel antwoorden tonen die aan mij of gevolgde gebruikers gericht zijn",reply_visibility_self:"Enkel antwoorden tonen die aan mij gericht zijn",saving_err:"Fout tijdens opslaan van instellingen",saving_ok:"Instellingen opgeslagen",security_tab:"Beveiliging",scope_copy:"Neem bereik over bij beantwoorden (Directe Berichten blijven altijd Direct)",set_new_avatar:"Nieuwe avatar instellen",set_new_profile_background:"Nieuwe profiel achtergrond instellen",set_new_profile_banner:"Nieuwe profiel banner instellen",settings:"Instellingen",subject_input_always_show:"Altijd onderwerpveld tonen",subject_line_behavior:"Onderwerp kopiëren bij antwoorden",subject_line_email:'Zoals email: "re: onderwerp"',subject_line_mastodon:"Zoals mastodon: kopieer zoals het is",subject_line_noop:"Niet kopiëren",stop_gifs:"GIFs afspelen bij zweven",streaming:"Automatisch streamen van nieuwe berichten inschakelen wanneer tot boven gescrold is",text:"Tekst",theme:"Thema",theme_help:"Gebruik hex color codes (#rrggbb) om je kleurschema te wijzigen.",theme_help_v2_1:'Je kan ook de kleur en transparantie van bepaalde componenten overschrijven door de checkbox aan te vinken, gebruik de "Alles wissen" knop om alle overschrijvingen te annuleren.',theme_help_v2_2:"Iconen onder sommige onderdelen zijn achtergrond/tekst contrast indicatoren, zweef er over voor gedetailleerde info. Hou er rekening mee dat bij doorzichtigheid de ergst mogelijke situatie wordt weer gegeven.",tooltipRadius:"Tooltips/alarmen",user_settings:"Gebruikersinstellingen",values:{false:"nee",true:"ja"},notifications:"Meldingen",enable_web_push_notifications:"Web push meldingen inschakelen",style:{switcher:{keep_color:"Kleuren behouden",keep_shadows:"Schaduwen behouden",keep_opacity:"Transparantie behouden",keep_roundness:"Rondingen behouden",keep_fonts:"Lettertypes behouden",save_load_hint:"\"Behoud\" opties behouden de momenteel ingestelde opties bij het selecteren of laden van thema's, maar slaan ook de genoemde opties op bij het exporteren van een thema. Wanneer alle selectievakjes zijn uitgeschakeld, zal het exporteren van thema's alles opslaan.",reset:"Reset",clear_all:"Alles wissen",clear_opacity:"Transparantie wissen",keep_as_is:"Hou zoals het is",use_snapshot:"Oude versie",use_source:"Nieuwe versie",help:{future_version_imported:"Het geïmporteerde bestand is gemaakt voor een nieuwere versie van FE.",older_version_imported:"Het geïmporteerde bestand is gemaakt voor een oudere versie van FE.",upgraded_from_v2:"PleromaFE is bijgewerkt, het thema kan iets anders uitzien dan dat je gewend bent.",v2_imported:"Het geïmporteerde bestand is gemaakt voor een oudere FE. We proberen compatibiliteit te maximaliseren, maar het kan toch voorkomen dat er inconsistenties zijn.",snapshot_source_mismatch:"Versie conflict: waarschijnlijk was FE terug gerold en opnieuw bijgewerkt, indien je het thema aangepast hebt met de oudere versie van FE wil je waarschijnlijk de oude versie gebruiken, gebruik anders de nieuwe versie.",migration_napshot_gone:"Voor een onduidelijke reden mist de momentopname, dus sommige dingen kunnen anders uitzien dan je gewend bent.",migration_snapshot_ok:"Voor de zekerheid is een momentopname van het thema geladen. Je kunt proberen om de thema gegevens te laden.",fe_downgraded:"PleromaFE's versie is terug gerold.",fe_upgraded:"De thema-engine van PleromaFE is bijgewerkt na de versie update.",snapshot_missing:"Het bestand bevat geen thema momentopname, dus het thema kan anders uitzien dan je oorspronkelijk bedacht had.",snapshot_present:"Thema momentopname is geladen, alle waarden zijn overschreven. Je kunt in plaats daarvan ook de daadwerkelijke data van het thema laden."},load_theme:"Thema laden"},common:{color:"Kleur",opacity:"Transparantie",contrast:{hint:"Contrast verhouding is {ratio}, {level} {context}",level:{aa:"voldoet aan de richtlijn van niveau AA (minimum)",aaa:"voldoet aan de richtlijn van niveau AAA (aangeraden)",bad:"voldoet aan geen enkele toegankelijkheidsrichtlijn"},context:{"18pt":"voor grote (18pt+) tekst",text:"voor tekst"}}},common_colors:{_tab_label:"Algemeen",main:"Algemene kleuren",foreground_hint:'Zie "Geavanceerd" tab voor meer gedetailleerde controle',rgbo:"Iconen, accenten, badges"},advanced_colors:{_tab_label:"Geavanceerd",alert:"Alarm achtergrond",alert_error:"Fout",badge:"Badge achtergrond",badge_notification:"Meldingen",panel_header:"Paneel koptekst",top_bar:"Top balk",borders:"Randen",buttons:"Knoppen",inputs:"Invoervelden",faint_text:"Vervaagde tekst",tabs:"Tabbladen",toggled:"Geschakeld",disabled:"Uitgeschakeld",selectedMenu:"Geselecteerd menu item",selectedPost:"Geselecteerd bericht",pressed:"Ingedrukt",highlight:"Gemarkeerde elementen",icons:"Iconen",poll:"Poll grafiek",underlay:"Onderlaag",popover:"Tooltips, menu's, popovers",post:"Berichten / Gebruiker bios",alert_neutral:"Neutraal",alert_warning:"Waarschuwing"},radii:{_tab_label:"Rondheid"},shadows:{_tab_label:"Schaduw en belichting",component:"Onderdeel",override:"Overschrijven",shadow_id:"Schaduw #{value}",blur:"Vervagen",spread:"Spreiding",inset:"Inzet",hint:"Voor schaduw kan je ook --variable gebruiken als een kleur waarde om CSS3 variabelen te gebruiken. Houd er rekening mee dat het instellen van opaciteit in dit geval niet werkt.",filter_hint:{always_drop_shadow:"Waarschuwing, deze schaduw gebruikt altijd {0} als de browser dit ondersteund.",drop_shadow_syntax:"{0} ondersteund niet de {1} parameter en {2} sleutelwoord.",avatar_inset:"Houdt er rekening mee dat het combineren van zowel inzet and niet-inzet schaduwen op transparante avatars onverwachte resultaten kan opleveren.",spread_zero:"Schaduw met spreiding > 0 worden weergegeven alsof ze op nul staan",inset_classic:"Inzet schaduw zal {0} gebruiken"},components:{panel:"Paneel",panelHeader:"Paneel koptekst",topBar:"Top balk",avatar:"Gebruikers avatar (in profiel weergave)",avatarStatus:"Gebruikers avatar (in bericht weergave)",popup:"Popups en tooltips",button:"Knop",buttonHover:"Knop (zweven)",buttonPressed:"Knop (ingedrukt)",buttonPressedHover:"Knop (ingedrukt+zweven)",input:"Invoerveld"},hintV3:"Voor schaduwen kun je ook de {0} notatie gebruiken om de andere kleur invoer te gebruiken."},fonts:{_tab_label:"Lettertypes",help:'Selecteer het lettertype om te gebruiken voor elementen van de UI. Voor "aangepast" dien je de exacte naam van het lettertype in te voeren zoals die in het systeem wordt weergegeven.',components:{interface:"Interface",input:"Invoervelden",post:"Bericht tekst",postCode:"Monospaced tekst in een bericht (rich text)"},family:"Lettertype naam",size:"Grootte (in px)",weight:"Gewicht (dikgedruktheid)",custom:"Aangepast"},preview:{header:"Voorvertoning",content:"Inhoud",error:"Voorbeeld fout",button:"Knop",text:"Nog een boel andere {0} en {1}",mono:"inhoud",input:"Tijd voor anime!",faint_link:"handige gebruikershandleiding",fine_print:"Lees onze {0} om niets nuttig te leren!",header_faint:"Alles komt goed",checkbox:"Ik heb de gebruikersvoorwaarden gelezen",link:"een leuke kleine link"}},notification_setting_follows:"Gebruikers die je volgt",notification_setting_non_follows:"Gebruikers die je niet volgt",notification_setting_followers:"Gebruikers die je volgen",notification_setting_privacy:"Privacy",notification_setting_privacy_option:"Verberg de afzender en inhoud van push meldingen",notification_mutes:"Om niet langer meldingen te ontvangen van een specifieke gebruiker, kun je deze negeren.",app_name:"App naam",security:"Beveiliging",enter_current_password_to_confirm:"Voer je huidige wachtwoord in om je identiteit te bevestigen",mfa:{otp:"OTP",setup_otp:"OTP instellen",wait_pre_setup_otp:"OTP voorinstellen",confirm_and_enable:"Bevestig en schakel OTP in",title:"Twee-factor Authenticatie",generate_new_recovery_codes:"Genereer nieuwe herstelcodes",recovery_codes:"Herstelcodes.",waiting_a_recovery_codes:"Backup codes ontvangen…",authentication_methods:"Authenticatie methodes",scan:{title:"Scannen",desc:"Scan de QR code of voer een sleutel in met je twee-factor applicatie:",secret_code:"Sleutel"},verify:{desc:"Voer de code van je twee-factor applicatie in om twee-factor authenticatie in te schakelen:"},warning_of_generate_new_codes:"Wanneer je nieuwe herstelcodes genereert, zullen je oude code niet langer werken.",recovery_codes_warning:"Schrijf de codes op of sla ze op een veilige locatie op - anders kun je ze niet meer inzien. Als je toegang tot je 2FA app en herstelcodes verliest, zal je buitengesloten zijn uit je account."},allow_following_move:"Automatisch volgen toestaan wanneer een gevolgd account migreert",block_export:"Blokkades exporteren",block_import:"Blokkades importeren",blocks_imported:"Blokkades geïmporteerd! Het kan even duren voordat deze verwerkt zijn.",blocks_tab:"Blokkades",change_email:"Email wijzigen",change_email_error:"Er is een fout opgetreden tijdens het wijzigen van je email.",changed_email:"Email succesvol gewijzigd!",domain_mutes:"Domeinen",avatar_size_instruction:"De aangeraden minimale afmeting voor avatar afbeeldingen is 150x150 pixels.",pad_emoji:"Vul emoji aan met spaties wanneer deze met de picker ingevoegd worden",emoji_reactions_on_timeline:"Toon emoji reacties op de tijdlijn",accent:"Accent",hide_muted_posts:"Verberg berichten van genegeerde gebruikers",max_thumbnails:"Maximaal aantal miniaturen per bericht",use_one_click_nsfw:"Open gevoelige bijlagen met slechts één klik",hide_filtered_statuses:"Gefilterde statussen verbergen",import_blocks_from_a_csv_file:"Importeer blokkades van een csv bestand",mutes_tab:"Negeringen",play_videos_in_modal:"Speel video's af in een popup frame",new_email:"Nieuwe Email",notification_visibility_emoji_reactions:"Reacties",no_blocks:"Geen blokkades",no_mutes:"Geen negeringen",hide_followers_description:"Niet tonen wie mij volgt",hide_followers_count_description:"Niet mijn volgers aantal tonen",hide_follows_count_description:"Niet mijn gevolgde aantal tonen",show_admin_badge:"Beheerders badge tonen in mijn profiel",autohide_floating_post_button:"Nieuw Bericht knop automatisch verbergen (mobiel)",search_user_to_block:"Zoek wie je wilt blokkeren",search_user_to_mute:"Zoek wie je wilt negeren",minimal_scopes_mode:"Bericht bereik-opties minimaliseren",post_status_content_type:"Bericht status content type",user_mutes:"Gebruikers",useStreamingApi:"Berichten en meldingen in real-time ontvangen",useStreamingApiWarning:"(Afgeraden, experimenteel, kan berichten overslaan)",type_domains_to_mute:"Zoek domeinen om te negeren",upload_a_photo:"Upload een foto",fun:"Plezier",greentext:"Meme pijlen",notification_setting:"Ontvang meldingen van:",block_export_button:"Exporteer je geblokkeerde gebruikers naar een csv bestand",block_import_error:"Fout bij importeren blokkades",discoverable:"Sta toe dat dit account ontdekt kan worden in zoekresultaten en andere diensten",use_contain_fit:"Snij bijlage in miniaturen niet bij",notification_visibility_moves:"Gebruiker Migraties",hide_follows_description:"Niet tonen wie ik volg",show_moderator_badge:"Moderators badge tonen in mijn profiel",notification_setting_filters:"Filters",notification_setting_non_followers:"Gebruikers die je niet volgen",notification_blocks:"Door een gebruiker te blokkeren, ontvang je geen meldingen meer van de gebruiker en wordt je abonnement op de gebruiker opgeheven.",version:{frontend_version:"Frontend Versie",backend_version:"Backend Versie",title:"Versie"},mutes_and_blocks:"Negeringen en Blokkades",profile_fields:{value:"Inhoud",name:"Label",add_field:"Veld Toevoegen",label:"Profiel metadata"},bot:"Dit is een bot account"},timeline:{collapse:"Inklappen",conversation:"Conversatie",error_fetching:"Fout bij ophalen van updates",load_older:"Oudere statussen laden",no_retweet_hint:"Bericht is gemarkeerd als enkel volgers of direct en kan niet worden herhaald",repeated:"herhaalde",show_new:"Nieuwe tonen",up_to_date:"Up-to-date",no_statuses:"Geen statussen",no_more_statuses:"Geen statussen meer"},user_card:{approve:"Goedkeuren",block:"Blokkeren",blocked:"Geblokkeerd!",deny:"Weigeren",favorites:"Favorieten",follow:"Volgen",follow_sent:"Aanvraag verzonden!",follow_progress:"Aanvragen…",follow_again:"Aanvraag opnieuw zenden?",follow_unfollow:"Stop volgen",followees:"Aan het volgen",followers:"Volgers",following:"Aan het volgen!",follows_you:"Volgt jou!",its_you:"'t is jij!",mute:"Negeren",muted:"Genegeerd",per_day:"per dag",remote_follow:"Volg vanop afstand",statuses:"Statussen",admin_menu:{delete_user_confirmation:"Weet je het heel zeker? Deze uitvoering kan niet ongedaan worden gemaakt.",delete_user:"Gebruiker verwijderen",quarantine:"Federeren van gebruikers berichten verbieden",disable_any_subscription:"Volgen van gebruiker in zijn geheel verbieden",disable_remote_subscription:"Volgen van gebruiker vanaf andere instanties verbieden",sandbox:"Berichten forceren om alleen voor volgers zichtbaar te zijn",force_unlisted:"Berichten forceren om niet publiekelijk getoond te worden",strip_media:"Media van berichten verwijderen",force_nsfw:"Alle berichten als gevoelig markeren",delete_account:"Account verwijderen",deactivate_account:"Account deactiveren",activate_account:"Account activeren",revoke_moderator:"Moderatorsrechten intrekken",grant_moderator:"Moderatorsrechten toekennen",revoke_admin:"Beheerdersrechten intrekken",grant_admin:"Beheerdersrechten toekennen",moderation:"Moderatie"},show_repeats:"Herhalingen tonen",hide_repeats:"Herhalingen verbergen",mute_progress:"Negeren…",unmute_progress:"Negering opheffen…",unmute:"Negering opheffen",block_progress:"Blokkeren…",unblock_progress:"Blokkade opheffen…",unblock:"Blokkade opheffen",unsubscribe:"Abonnement opzeggen",subscribe:"Abonneren",report:"Aangeven",mention:"Vermelding",media:"Media",hidden:"Verborgen"},user_profile:{timeline_title:"Gebruikers Tijdlijn",profile_loading_error:"Sorry, er is een fout opgetreden bij het laden van dit profiel.",profile_does_not_exist:"Sorry, dit profiel bestaat niet."},who_to_follow:{more:"Meer",who_to_follow:"Wie te volgen"},tool_tip:{media_upload:"Media Uploaden",repeat:"Herhalen",reply:"Beantwoorden",favorite:"Favoriet maken",user_settings:"Gebruikers Instellingen",reject_follow_request:"Volg-verzoek afwijzen",accept_follow_request:"Volg-aanvraag accepteren",add_reaction:"Reactie toevoegen"},upload:{error:{base:"Upload mislukt.",file_too_big:"Bestand is te groot [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Probeer het later opnieuw"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},about:{mrf:{federation:"Federatie",keyword:{reject:"Afwijzen",replace:"Vervangen",is_replaced_by:"→",keyword_policies:"Zoekwoord Beleid",ftl_removal:'Verwijdering van "Het Geheel Bekende Netwerk" Tijdlijn'},mrf_policies_desc:"MRF regels beïnvloeden het federatie gedrag van de instantie. De volgende regels zijn ingeschakeld:",mrf_policies:"Ingeschakelde MRF Regels",simple:{simple_policies:"Instantie-specifieke Regels",accept:"Accepteren",accept_desc:"Deze instantie accepteert alleen berichten van de volgende instanties:",reject:"Afwijzen",reject_desc:"Deze instantie zal geen berichten accepteren van de volgende instanties:",quarantine:"Quarantaine",quarantine_desc:"Deze instantie zal alleen publieke berichten sturen naar de volgende instanties:",ftl_removal_desc:'Deze instantie verwijdert de volgende instanties van "Het Geheel Bekende Netwerk" tijdlijn:',media_removal_desc:"Deze instantie verwijdert media van berichten van de volgende instanties:",media_nsfw_desc:"Deze instantie stelt media in als gevoelig in berichten van de volgende instanties:",ftl_removal:'Verwijderen van "Het Geheel Bekende Netwerk" Tijdlijn',media_removal:"Media Verwijdering",media_nsfw:"Forceer Media als Gevoelig"}},staff:"Personeel"},domain_mute_card:{mute:"Negeren",mute_progress:"Negeren…",unmute:"Negering opheffen",unmute_progress:"Negering wordt opgeheven…"},exporter:{export:"Exporteren",processing:"Verwerken, er wordt zo gevraagd om je bestand te downloaden"},image_cropper:{save:"Opslaan",save_without_cropping:"Opslaan zonder bijsnijden",cancel:"Annuleren",crop_picture:"Afbeelding bijsnijden"},importer:{submit:"Verzenden",success:"Succesvol geïmporteerd.",error:"Er is een fout opgetreden bij het importeren van dit bestand."},media_modal:{previous:"Vorige",next:"Volgende"},polls:{add_poll:"Poll Toevoegen",add_option:"Optie Toevoegen",option:"Optie",votes:"stemmen",vote:"Stem",single_choice:"Enkele keuze",multiple_choices:"Meerkeuze",expiry:"Poll leeftijd",expires_in:"Poll eindigt in {0}",expired:"Poll is {0} geleden beëindigd",not_enough_options:"Te weinig opties in poll",type:"Poll type"},emoji:{emoji:"Emoji",keep_open:"Picker openhouden",search_emoji:"Zoek voor een emoji",add_emoji:"Emoji invoegen",unicode:"Unicode emoji",load_all:"Alle {emojiAmount} emoji worden geladen",stickers:"Stickers",load_all_hint:"Eerste {saneAmount} emoji geladen, alle emoji tegelijk laden kan problemen veroorzaken met prestaties.",custom:"Gepersonaliseerde emoji"},interactions:{favs_repeats:"Herhalingen en Favorieten",follows:"Nieuwe volgingen",moves:"Gebruiker migreert",load_older:"Oudere interacties laden"},remote_user_resolver:{searching_for:"Zoeken naar",error:"Niet gevonden.",remote_user_resolver:"Externe gebruikers zoeker"},selectable_list:{select_all:"Alles selecteren"},password_reset:{password_reset_required_but_mailer_is_disabled:"Je dient je wachtwoord opnieuw in te stellen, maar wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.",password_reset_required:"Je dient je wachtwoord opnieuw in te stellen om in te kunnen loggen.",password_reset_disabled:"Wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.",too_many_requests:"Je hebt het maximaal aantal pogingen bereikt, probeer het later opnieuw.",not_found:"We kunnen die email of gebruikersnaam niet vinden.",return_home:"Terugkeren naar de home pagina",check_email:"Controleer je email inbox voor een link om je wachtwoord opnieuw in te stellen.",placeholder:"Je email of gebruikersnaam",instruction:"Voer je email adres of gebruikersnaam in. We sturen je een link om je wachtwoord opnieuw in te stellen.",password_reset:"Wachtwoord opnieuw instellen",forgot_password:"Wachtwoord vergeten?"},search:{no_results:"Geen resultaten",people_talking:"{count} personen aan het praten",person_talking:"{count} persoon aan het praten",hashtags:"Hashtags",people:"Personen"},user_reporting:{generic_error:"Er is een fout opgetreden tijdens het verwerken van je verzoek.",submit:"Verzenden",forward_to:"Doorsturen naar {0}",forward_description:"Dit account hoort bij een andere server. Wil je een kopie van het rapport ook daarheen sturen?",additional_comments:"Aanvullende opmerkingen",add_comment_description:"Het rapport zal naar de moderators van de instantie worden verstuurd. Je kunt hieronder uitleg bijvoegen waarom je dit account wilt aangeven:",title:"{0} aangeven"},status:{copy_link:"Link naar status kopiëren",status_unavailable:"Status niet beschikbaar",unmute_conversation:"Conversatie niet meer negeren",mute_conversation:"Conversatie negeren",replies_list:"Antwoorden:",reply_to:"Antwoorden aan",delete_confirm:"Wil je echt deze status verwijderen?",pin:"Aan profiel vastmaken",pinned:"Vastgezet",unpin:"Van profiel losmaken",delete:"Status verwijderen",repeats:"Herhalingen",favorites:"Favorieten",thread_muted_and_words:", heeft woorden:",thread_muted:"Thread genegeerd"},time:{years_short:"{0}j",year_short:"{0}j",years:"{0} jaren",year:"{0} jaar",weeks_short:"{0}w",week_short:"{0}w",weeks:"{0} weken",week:"{0} week",seconds_short:"{0}s",second_short:"{0}s",seconds:"{0} seconden",second:"{0} seconde",now_short:"nu",now:"zojuist",months_short:"{0}ma",month_short:"{0}ma",months:"{0} maanden",month:"{0} maand",minutes_short:"{0}min",minute_short:"{0}min",minutes:"{0} minuten",minute:"{0} minuut",in_past:"{0} geleden",in_future:"over {0}",hours_short:"{0}u",hour_short:"{0}u",hours:"{0} uren",hour:"{0} uur",days_short:"{0}d",day_short:"{0}d",days:"{0} dagen",day:"{0} dag"}}}}]); -//# sourceMappingURL=23.91a60b775352a806f887.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{574:function(e){e.exports={chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Media proxy",scope_options:"Zichtbaarheidsopties",text_limit:"Tekst limiet",title:"Kenmerken",who_to_follow:"Wie te volgen"},finder:{error_fetching_user:"Fout tijdens ophalen gebruiker",find_user:"Gebruiker zoeken"},general:{apply:"Toepassen",submit:"Verzend",more:"Meer",optional:"optioneel",show_more:"Bekijk meer",show_less:"Bekijk minder",dismiss:"Opheffen",cancel:"Annuleren",disable:"Uitschakelen",enable:"Inschakelen",confirm:"Bevestigen",verify:"Verifiëren",generic_error:"Er is een fout opgetreden",peek:"Spiek",close:"Sluiten",retry:"Opnieuw proberen",error_retry:"Probeer het opnieuw",loading:"Laden…"},login:{login:"Log in",description:"Log in met OAuth",logout:"Uitloggen",password:"Wachtwoord",placeholder:"bijv. lain",register:"Registreren",username:"Gebruikersnaam",hint:"Log in om deel te nemen aan de discussie",authentication_code:"Authenticatie code",enter_recovery_code:"Voer een herstelcode in",enter_two_factor_code:"Voer een twee-factor code in",recovery_code:"Herstelcode",heading:{totp:"Twee-factor authenticatie",recovery:"Twee-factor herstelling"}},nav:{about:"Over",back:"Terug",chat:"Lokale Chat",friend_requests:"Volgverzoeken",mentions:"Vermeldingen",dms:"Directe Berichten",public_tl:"Publieke Tijdlijn",timeline:"Tijdlijn",twkn:"Het Geheel Bekende Netwerk",user_search:"Gebruiker Zoeken",who_to_follow:"Wie te volgen",preferences:"Voorkeuren",administration:"Administratie",search:"Zoeken",interactions:"Interacties"},notifications:{broken_favorite:"Onbekende status, aan het zoeken…",favorited_you:"vond je status leuk",followed_you:"volgt jou",load_older:"Laad oudere meldingen",notifications:"Meldingen",read:"Gelezen!",repeated_you:"Herhaalde je status",no_more_notifications:"Geen meldingen meer",migrated_to:"is gemigreerd naar",follow_request:"wil je volgen",reacted_with:"reageerde met {0}"},post_status:{new_status:"Nieuwe status plaatsen",account_not_locked_warning:"Je account is niet {0}. Iedereen kan je volgen om je alleen-volgers berichten te lezen.",account_not_locked_warning_link:"gesloten",attachments_sensitive:"Markeer bijlagen als gevoelig",content_type:{"text/plain":"Platte tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Onderwerp (optioneel)",default:"Tijd voor anime!",direct_warning:"Deze post zal enkel zichtbaar zijn voor de personen die genoemd zijn.",posting:"Plaatsen",scope:{direct:"Direct - Post enkel naar vermelde gebruikers",private:"Enkel volgers - Post enkel naar volgers",public:"Publiek - Post op publieke tijdlijnen",unlisted:"Niet Vermelden - Niet tonen op publieke tijdlijnen"},direct_warning_to_all:"Dit bericht zal zichtbaar zijn voor alle vermelde gebruikers.",direct_warning_to_first_only:"Dit bericht zal alleen zichtbaar zijn voor de vermelde gebruikers aan het begin van het bericht.",scope_notice:{public:"Dit bericht zal voor iedereen zichtbaar zijn",unlisted:"Dit bericht zal niet zichtbaar zijn in de Publieke Tijdlijn en Het Geheel Bekende Netwerk",private:"Dit bericht zal voor alleen je volgers zichtbaar zijn"}},registration:{bio:"Bio",email:"Email",fullname:"Weergave naam",password_confirm:"Wachtwoord bevestiging",registration:"Registratie",token:"Uitnodigings-token",captcha:"CAPTCHA",new_captcha:"Klik op de afbeelding voor een nieuwe captcha",validations:{username_required:"moet ingevuld zijn",fullname_required:"moet ingevuld zijn",email_required:"moet ingevuld zijn",password_required:"moet ingevuld zijn",password_confirmation_required:"moet ingevuld zijn",password_confirmation_match:"komt niet overeen met het wachtwoord"},username_placeholder:"bijv. lain",fullname_placeholder:"bijv. Lain Iwakura",bio_placeholder:"bijv.\nHallo, ik ben Lain.\nIk ben een anime meisje woonachtig in een buitenwijk in Japan. Je kent me misschien van the Wired."},settings:{attachmentRadius:"Bijlages",attachments:"Bijlages",autoload:"Automatisch laden inschakelen wanneer tot de bodem gescrold wordt",avatar:"Avatar",avatarAltRadius:"Avatars (Meldingen)",avatarRadius:"Avatars",background:"Achtergrond",bio:"Bio",btnRadius:"Knoppen",cBlue:"Blauw (Beantwoorden, volgen)",cGreen:"Groen (Herhalen)",cOrange:"Oranje (Favoriet)",cRed:"Rood (Annuleren)",change_password:"Wachtwoord Wijzigen",change_password_error:"Er is een fout opgetreden bij het wijzigen van je wachtwoord.",changed_password:"Wachtwoord succesvol gewijzigd!",collapse_subject:"Klap berichten met een onderwerp in",composing:"Opstellen",confirm_new_password:"Nieuw wachtwoord bevestigen",current_avatar:"Je huidige avatar",current_password:"Huidig wachtwoord",current_profile_banner:"Je huidige profiel banner",data_import_export_tab:"Data Import / Export",default_vis:"Standaard zichtbaarheidsbereik",delete_account:"Account Verwijderen",delete_account_description:"Permanent je gegevens verwijderen en account deactiveren.",delete_account_error:"Er is een fout opgetreden bij het verwijderen van je account. Indien dit probleem zich voor blijft doen, neem dan contact op met de beheerder van deze instantie.",delete_account_instructions:"Voer je wachtwoord in het onderstaande invoerveld in om het verwijderen van je account te bevestigen.",export_theme:"Preset opslaan",filtering:"Filtering",filtering_explanation:"Alle statussen die deze woorden bevatten worden genegeerd, één filter per lijn",follow_export:"Volgers exporteren",follow_export_button:"Exporteer je volgers naar een csv bestand",follow_export_processing:"Aan het verwerken, binnen enkele ogenblikken wordt je gevraagd je bestand te downloaden",follow_import:"Volgers importeren",follow_import_error:"Fout bij importeren volgers",follows_imported:"Volgers geïmporteerd! Het kan even duren voordat deze verwerkt zijn.",foreground:"Voorgrond",general:"Algemeen",hide_attachments_in_convo:"Verberg bijlages in conversaties",hide_attachments_in_tl:"Verberg bijlages in de tijdlijn",hide_isp:"Verberg instantie-specifiek paneel",preload_images:"Afbeeldingen vooraf laden",hide_post_stats:"Verberg bericht statistieken (bijv. het aantal favorieten)",hide_user_stats:"Verberg bericht statistieken (bijv. het aantal volgers)",import_followers_from_a_csv_file:"Importeer volgers uit een csv bestand",import_theme:"Preset laden",inputRadius:"Invoervelden",checkboxRadius:"Checkboxen",instance_default:"(standaard: {value})",instance_default_simple:"(standaard)",interface:"Interface",interfaceLanguage:"Interface taal",invalid_theme_imported:"Het geselecteerde bestand is geen door Pleroma ondersteund thema. Er zijn geen aanpassingen gedaan.",limited_availability:"Niet beschikbaar in je browser",links:"Links",lock_account_description:"Laat volgers enkel toe na expliciete toestemming",loop_video:"Herhaal video's",loop_video_silent_only:"Herhaal enkel video's zonder geluid (bijv. Mastodon's \"gifs\")",name:"Naam",name_bio:"Naam & Bio",new_password:"Nieuw wachtwoord",notification_visibility:"Type meldingen die getoond worden",notification_visibility_follows:"Volgingen",notification_visibility_likes:"Vind-ik-leuks",notification_visibility_mentions:"Vermeldingen",notification_visibility_repeats:"Herhalingen",no_rich_text_description:"Verwijder rich text formattering van alle berichten",hide_network_description:"Toon niet wie mij volgt en wie ik volg.",nsfw_clickthrough:"Doorklikbaar verbergen van gevoelige bijlages inschakelen",oauth_tokens:"OAuth-tokens",token:"Token",refresh_token:"Token Vernieuwen",valid_until:"Geldig tot",revoke_token:"Intrekken",panelRadius:"Panelen",pause_on_unfocused:"Streamen pauzeren wanneer de tab niet in focus is",presets:"Presets",profile_background:"Profiel Achtergrond",profile_banner:"Profiel Banner",profile_tab:"Profiel",radii_help:"Stel afronding van hoeken in de interface in (in pixels)",replies_in_timeline:"Antwoorden in tijdlijn",reply_link_preview:"Antwoord-link weergave inschakelen bij aanwijzen met muisaanwijzer",reply_visibility_all:"Alle antwoorden tonen",reply_visibility_following:"Enkel antwoorden tonen die aan mij of gevolgde gebruikers gericht zijn",reply_visibility_self:"Enkel antwoorden tonen die aan mij gericht zijn",saving_err:"Fout tijdens opslaan van instellingen",saving_ok:"Instellingen opgeslagen",security_tab:"Beveiliging",scope_copy:"Neem bereik over bij beantwoorden (Directe Berichten blijven altijd Direct)",set_new_avatar:"Nieuwe avatar instellen",set_new_profile_background:"Nieuwe profiel achtergrond instellen",set_new_profile_banner:"Nieuwe profiel banner instellen",settings:"Instellingen",subject_input_always_show:"Altijd onderwerpveld tonen",subject_line_behavior:"Onderwerp kopiëren bij antwoorden",subject_line_email:'Zoals email: "re: onderwerp"',subject_line_mastodon:"Zoals mastodon: kopieer zoals het is",subject_line_noop:"Niet kopiëren",stop_gifs:"GIFs afspelen bij zweven",streaming:"Automatisch streamen van nieuwe berichten inschakelen wanneer tot boven gescrold is",text:"Tekst",theme:"Thema",theme_help:"Gebruik hex color codes (#rrggbb) om je kleurschema te wijzigen.",theme_help_v2_1:'Je kan ook de kleur en transparantie van bepaalde componenten overschrijven door de checkbox aan te vinken, gebruik de "Alles wissen" knop om alle overschrijvingen te annuleren.',theme_help_v2_2:"Iconen onder sommige onderdelen zijn achtergrond/tekst contrast indicatoren, zweef er over voor gedetailleerde info. Hou er rekening mee dat bij doorzichtigheid de ergst mogelijke situatie wordt weer gegeven.",tooltipRadius:"Tooltips/alarmen",user_settings:"Gebruikersinstellingen",values:{false:"nee",true:"ja"},notifications:"Meldingen",enable_web_push_notifications:"Web push meldingen inschakelen",style:{switcher:{keep_color:"Kleuren behouden",keep_shadows:"Schaduwen behouden",keep_opacity:"Transparantie behouden",keep_roundness:"Rondingen behouden",keep_fonts:"Lettertypes behouden",save_load_hint:"\"Behoud\" opties behouden de momenteel ingestelde opties bij het selecteren of laden van thema's, maar slaan ook de genoemde opties op bij het exporteren van een thema. Wanneer alle selectievakjes zijn uitgeschakeld, zal het exporteren van thema's alles opslaan.",reset:"Reset",clear_all:"Alles wissen",clear_opacity:"Transparantie wissen",keep_as_is:"Hou zoals het is",use_snapshot:"Oude versie",use_source:"Nieuwe versie",help:{future_version_imported:"Het geïmporteerde bestand is gemaakt voor een nieuwere versie van FE.",older_version_imported:"Het geïmporteerde bestand is gemaakt voor een oudere versie van FE.",upgraded_from_v2:"PleromaFE is bijgewerkt, het thema kan iets anders uitzien dan dat je gewend bent.",v2_imported:"Het geïmporteerde bestand is gemaakt voor een oudere FE. We proberen compatibiliteit te maximaliseren, maar het kan toch voorkomen dat er inconsistenties zijn.",snapshot_source_mismatch:"Versie conflict: waarschijnlijk was FE terug gerold en opnieuw bijgewerkt, indien je het thema aangepast hebt met de oudere versie van FE wil je waarschijnlijk de oude versie gebruiken, gebruik anders de nieuwe versie.",migration_napshot_gone:"Voor een onduidelijke reden mist de momentopname, dus sommige dingen kunnen anders uitzien dan je gewend bent.",migration_snapshot_ok:"Voor de zekerheid is een momentopname van het thema geladen. Je kunt proberen om de thema gegevens te laden.",fe_downgraded:"PleromaFE's versie is terug gerold.",fe_upgraded:"De thema-engine van PleromaFE is bijgewerkt na de versie update.",snapshot_missing:"Het bestand bevat geen thema momentopname, dus het thema kan anders uitzien dan je oorspronkelijk bedacht had.",snapshot_present:"Thema momentopname is geladen, alle waarden zijn overschreven. Je kunt in plaats daarvan ook de daadwerkelijke data van het thema laden."},load_theme:"Thema laden"},common:{color:"Kleur",opacity:"Transparantie",contrast:{hint:"Contrast verhouding is {ratio}, {level} {context}",level:{aa:"voldoet aan de richtlijn van niveau AA (minimum)",aaa:"voldoet aan de richtlijn van niveau AAA (aangeraden)",bad:"voldoet aan geen enkele toegankelijkheidsrichtlijn"},context:{"18pt":"voor grote (18pt+) tekst",text:"voor tekst"}}},common_colors:{_tab_label:"Algemeen",main:"Algemene kleuren",foreground_hint:'Zie "Geavanceerd" tab voor meer gedetailleerde controle',rgbo:"Iconen, accenten, badges"},advanced_colors:{_tab_label:"Geavanceerd",alert:"Alarm achtergrond",alert_error:"Fout",badge:"Badge achtergrond",badge_notification:"Meldingen",panel_header:"Paneel koptekst",top_bar:"Top balk",borders:"Randen",buttons:"Knoppen",inputs:"Invoervelden",faint_text:"Vervaagde tekst",tabs:"Tabbladen",toggled:"Geschakeld",disabled:"Uitgeschakeld",selectedMenu:"Geselecteerd menu item",selectedPost:"Geselecteerd bericht",pressed:"Ingedrukt",highlight:"Gemarkeerde elementen",icons:"Iconen",poll:"Poll grafiek",underlay:"Onderlaag",popover:"Tooltips, menu's, popovers",post:"Berichten / Gebruiker bios",alert_neutral:"Neutraal",alert_warning:"Waarschuwing"},radii:{_tab_label:"Rondheid"},shadows:{_tab_label:"Schaduw en belichting",component:"Onderdeel",override:"Overschrijven",shadow_id:"Schaduw #{value}",blur:"Vervagen",spread:"Spreiding",inset:"Inzet",hint:"Voor schaduw kan je ook --variable gebruiken als een kleur waarde om CSS3 variabelen te gebruiken. Houd er rekening mee dat het instellen van opaciteit in dit geval niet werkt.",filter_hint:{always_drop_shadow:"Waarschuwing, deze schaduw gebruikt altijd {0} als de browser dit ondersteund.",drop_shadow_syntax:"{0} ondersteund niet de {1} parameter en {2} sleutelwoord.",avatar_inset:"Houdt er rekening mee dat het combineren van zowel inzet and niet-inzet schaduwen op transparante avatars onverwachte resultaten kan opleveren.",spread_zero:"Schaduw met spreiding > 0 worden weergegeven alsof ze op nul staan",inset_classic:"Inzet schaduw zal {0} gebruiken"},components:{panel:"Paneel",panelHeader:"Paneel koptekst",topBar:"Top balk",avatar:"Gebruikers avatar (in profiel weergave)",avatarStatus:"Gebruikers avatar (in bericht weergave)",popup:"Popups en tooltips",button:"Knop",buttonHover:"Knop (zweven)",buttonPressed:"Knop (ingedrukt)",buttonPressedHover:"Knop (ingedrukt+zweven)",input:"Invoerveld"},hintV3:"Voor schaduwen kun je ook de {0} notatie gebruiken om de andere kleur invoer te gebruiken."},fonts:{_tab_label:"Lettertypes",help:'Selecteer het lettertype om te gebruiken voor elementen van de UI. Voor "aangepast" dien je de exacte naam van het lettertype in te voeren zoals die in het systeem wordt weergegeven.',components:{interface:"Interface",input:"Invoervelden",post:"Bericht tekst",postCode:"Monospaced tekst in een bericht (rich text)"},family:"Lettertype naam",size:"Grootte (in px)",weight:"Gewicht (dikgedruktheid)",custom:"Aangepast"},preview:{header:"Voorvertoning",content:"Inhoud",error:"Voorbeeld fout",button:"Knop",text:"Nog een boel andere {0} en {1}",mono:"inhoud",input:"Tijd voor anime!",faint_link:"handige gebruikershandleiding",fine_print:"Lees onze {0} om niets nuttig te leren!",header_faint:"Alles komt goed",checkbox:"Ik heb de gebruikersvoorwaarden gelezen",link:"een leuke kleine link"}},notification_setting_follows:"Gebruikers die je volgt",notification_setting_non_follows:"Gebruikers die je niet volgt",notification_setting_followers:"Gebruikers die je volgen",notification_setting_privacy:"Privacy",notification_setting_privacy_option:"Verberg de afzender en inhoud van push meldingen",notification_mutes:"Om niet langer meldingen te ontvangen van een specifieke gebruiker, kun je deze negeren.",app_name:"App naam",security:"Beveiliging",enter_current_password_to_confirm:"Voer je huidige wachtwoord in om je identiteit te bevestigen",mfa:{otp:"OTP",setup_otp:"OTP instellen",wait_pre_setup_otp:"OTP voorinstellen",confirm_and_enable:"Bevestig en schakel OTP in",title:"Twee-factor Authenticatie",generate_new_recovery_codes:"Genereer nieuwe herstelcodes",recovery_codes:"Herstelcodes.",waiting_a_recovery_codes:"Backup codes ontvangen…",authentication_methods:"Authenticatie methodes",scan:{title:"Scannen",desc:"Scan de QR code of voer een sleutel in met je twee-factor applicatie:",secret_code:"Sleutel"},verify:{desc:"Voer de code van je twee-factor applicatie in om twee-factor authenticatie in te schakelen:"},warning_of_generate_new_codes:"Wanneer je nieuwe herstelcodes genereert, zullen je oude code niet langer werken.",recovery_codes_warning:"Schrijf de codes op of sla ze op een veilige locatie op - anders kun je ze niet meer inzien. Als je toegang tot je 2FA app en herstelcodes verliest, zal je buitengesloten zijn uit je account."},allow_following_move:"Automatisch volgen toestaan wanneer een gevolgd account migreert",block_export:"Blokkades exporteren",block_import:"Blokkades importeren",blocks_imported:"Blokkades geïmporteerd! Het kan even duren voordat deze verwerkt zijn.",blocks_tab:"Blokkades",change_email:"Email wijzigen",change_email_error:"Er is een fout opgetreden tijdens het wijzigen van je email.",changed_email:"Email succesvol gewijzigd!",domain_mutes:"Domeinen",avatar_size_instruction:"De aangeraden minimale afmeting voor avatar afbeeldingen is 150x150 pixels.",pad_emoji:"Vul emoji aan met spaties wanneer deze met de picker ingevoegd worden",emoji_reactions_on_timeline:"Toon emoji reacties op de tijdlijn",accent:"Accent",hide_muted_posts:"Verberg berichten van genegeerde gebruikers",max_thumbnails:"Maximaal aantal miniaturen per bericht",use_one_click_nsfw:"Open gevoelige bijlagen met slechts één klik",hide_filtered_statuses:"Gefilterde statussen verbergen",import_blocks_from_a_csv_file:"Importeer blokkades van een csv bestand",mutes_tab:"Negeringen",play_videos_in_modal:"Speel video's af in een popup frame",new_email:"Nieuwe Email",notification_visibility_emoji_reactions:"Reacties",no_blocks:"Geen blokkades",no_mutes:"Geen negeringen",hide_followers_description:"Niet tonen wie mij volgt",hide_followers_count_description:"Niet mijn volgers aantal tonen",hide_follows_count_description:"Niet mijn gevolgde aantal tonen",show_admin_badge:"Beheerders badge tonen in mijn profiel",autohide_floating_post_button:"Nieuw Bericht knop automatisch verbergen (mobiel)",search_user_to_block:"Zoek wie je wilt blokkeren",search_user_to_mute:"Zoek wie je wilt negeren",minimal_scopes_mode:"Bericht bereik-opties minimaliseren",post_status_content_type:"Bericht status content type",user_mutes:"Gebruikers",useStreamingApi:"Berichten en meldingen in real-time ontvangen",useStreamingApiWarning:"(Afgeraden, experimenteel, kan berichten overslaan)",type_domains_to_mute:"Zoek domeinen om te negeren",upload_a_photo:"Upload een foto",fun:"Plezier",greentext:"Meme pijlen",notification_setting:"Ontvang meldingen van:",block_export_button:"Exporteer je geblokkeerde gebruikers naar een csv bestand",block_import_error:"Fout bij importeren blokkades",discoverable:"Sta toe dat dit account ontdekt kan worden in zoekresultaten en andere diensten",use_contain_fit:"Snij bijlage in miniaturen niet bij",notification_visibility_moves:"Gebruiker Migraties",hide_follows_description:"Niet tonen wie ik volg",show_moderator_badge:"Moderators badge tonen in mijn profiel",notification_setting_filters:"Filters",notification_setting_non_followers:"Gebruikers die je niet volgen",notification_blocks:"Door een gebruiker te blokkeren, ontvang je geen meldingen meer van de gebruiker en wordt je abonnement op de gebruiker opgeheven.",version:{frontend_version:"Frontend Versie",backend_version:"Backend Versie",title:"Versie"},mutes_and_blocks:"Negeringen en Blokkades",profile_fields:{value:"Inhoud",name:"Label",add_field:"Veld Toevoegen",label:"Profiel metadata"},bot:"Dit is een bot account"},timeline:{collapse:"Inklappen",conversation:"Conversatie",error_fetching:"Fout bij ophalen van updates",load_older:"Oudere statussen laden",no_retweet_hint:"Bericht is gemarkeerd als enkel volgers of direct en kan niet worden herhaald",repeated:"herhaalde",show_new:"Nieuwe tonen",up_to_date:"Up-to-date",no_statuses:"Geen statussen",no_more_statuses:"Geen statussen meer"},user_card:{approve:"Goedkeuren",block:"Blokkeren",blocked:"Geblokkeerd!",deny:"Weigeren",favorites:"Favorieten",follow:"Volgen",follow_sent:"Aanvraag verzonden!",follow_progress:"Aanvragen…",follow_again:"Aanvraag opnieuw zenden?",follow_unfollow:"Stop volgen",followees:"Aan het volgen",followers:"Volgers",following:"Aan het volgen!",follows_you:"Volgt jou!",its_you:"'t is jij!",mute:"Negeren",muted:"Genegeerd",per_day:"per dag",remote_follow:"Volg vanop afstand",statuses:"Statussen",admin_menu:{delete_user_confirmation:"Weet je het heel zeker? Deze uitvoering kan niet ongedaan worden gemaakt.",delete_user:"Gebruiker verwijderen",quarantine:"Federeren van gebruikers berichten verbieden",disable_any_subscription:"Volgen van gebruiker in zijn geheel verbieden",disable_remote_subscription:"Volgen van gebruiker vanaf andere instanties verbieden",sandbox:"Berichten forceren om alleen voor volgers zichtbaar te zijn",force_unlisted:"Berichten forceren om niet publiekelijk getoond te worden",strip_media:"Media van berichten verwijderen",force_nsfw:"Alle berichten als gevoelig markeren",delete_account:"Account verwijderen",deactivate_account:"Account deactiveren",activate_account:"Account activeren",revoke_moderator:"Moderatorsrechten intrekken",grant_moderator:"Moderatorsrechten toekennen",revoke_admin:"Beheerdersrechten intrekken",grant_admin:"Beheerdersrechten toekennen",moderation:"Moderatie"},show_repeats:"Herhalingen tonen",hide_repeats:"Herhalingen verbergen",mute_progress:"Negeren…",unmute_progress:"Negering opheffen…",unmute:"Negering opheffen",block_progress:"Blokkeren…",unblock_progress:"Blokkade opheffen…",unblock:"Blokkade opheffen",unsubscribe:"Abonnement opzeggen",subscribe:"Abonneren",report:"Aangeven",mention:"Vermelding",media:"Media",hidden:"Verborgen"},user_profile:{timeline_title:"Gebruikers Tijdlijn",profile_loading_error:"Sorry, er is een fout opgetreden bij het laden van dit profiel.",profile_does_not_exist:"Sorry, dit profiel bestaat niet."},who_to_follow:{more:"Meer",who_to_follow:"Wie te volgen"},tool_tip:{media_upload:"Media Uploaden",repeat:"Herhalen",reply:"Beantwoorden",favorite:"Favoriet maken",user_settings:"Gebruikers Instellingen",reject_follow_request:"Volg-verzoek afwijzen",accept_follow_request:"Volg-aanvraag accepteren",add_reaction:"Reactie toevoegen"},upload:{error:{base:"Upload mislukt.",file_too_big:"Bestand is te groot [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Probeer het later opnieuw"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},about:{mrf:{federation:"Federatie",keyword:{reject:"Afwijzen",replace:"Vervangen",is_replaced_by:"→",keyword_policies:"Zoekwoord Beleid",ftl_removal:'Verwijdering van "Het Geheel Bekende Netwerk" Tijdlijn'},mrf_policies_desc:"MRF regels beïnvloeden het federatie gedrag van de instantie. De volgende regels zijn ingeschakeld:",mrf_policies:"Ingeschakelde MRF Regels",simple:{simple_policies:"Instantie-specifieke Regels",accept:"Accepteren",accept_desc:"Deze instantie accepteert alleen berichten van de volgende instanties:",reject:"Afwijzen",reject_desc:"Deze instantie zal geen berichten accepteren van de volgende instanties:",quarantine:"Quarantaine",quarantine_desc:"Deze instantie zal alleen publieke berichten sturen naar de volgende instanties:",ftl_removal_desc:'Deze instantie verwijdert de volgende instanties van "Het Geheel Bekende Netwerk" tijdlijn:',media_removal_desc:"Deze instantie verwijdert media van berichten van de volgende instanties:",media_nsfw_desc:"Deze instantie stelt media in als gevoelig in berichten van de volgende instanties:",ftl_removal:'Verwijderen van "Het Geheel Bekende Netwerk" Tijdlijn',media_removal:"Media Verwijdering",media_nsfw:"Forceer Media als Gevoelig"}},staff:"Personeel"},domain_mute_card:{mute:"Negeren",mute_progress:"Negeren…",unmute:"Negering opheffen",unmute_progress:"Negering wordt opgeheven…"},exporter:{export:"Exporteren",processing:"Verwerken, er wordt zo gevraagd om je bestand te downloaden"},image_cropper:{save:"Opslaan",save_without_cropping:"Opslaan zonder bijsnijden",cancel:"Annuleren",crop_picture:"Afbeelding bijsnijden"},importer:{submit:"Verzenden",success:"Succesvol geïmporteerd.",error:"Er is een fout opgetreden bij het importeren van dit bestand."},media_modal:{previous:"Vorige",next:"Volgende"},polls:{add_poll:"Poll Toevoegen",add_option:"Optie Toevoegen",option:"Optie",votes:"stemmen",vote:"Stem",single_choice:"Enkele keuze",multiple_choices:"Meerkeuze",expiry:"Poll leeftijd",expires_in:"Poll eindigt in {0}",expired:"Poll is {0} geleden beëindigd",not_enough_options:"Te weinig opties in poll",type:"Poll type"},emoji:{emoji:"Emoji",keep_open:"Picker openhouden",search_emoji:"Zoek voor een emoji",add_emoji:"Emoji invoegen",unicode:"Unicode emoji",load_all:"Alle {emojiAmount} emoji worden geladen",stickers:"Stickers",load_all_hint:"Eerste {saneAmount} emoji geladen, alle emoji tegelijk laden kan problemen veroorzaken met prestaties.",custom:"Gepersonaliseerde emoji"},interactions:{favs_repeats:"Herhalingen en Favorieten",follows:"Nieuwe volgingen",moves:"Gebruiker migreert",load_older:"Oudere interacties laden"},remote_user_resolver:{searching_for:"Zoeken naar",error:"Niet gevonden.",remote_user_resolver:"Externe gebruikers zoeker"},selectable_list:{select_all:"Alles selecteren"},password_reset:{password_reset_required_but_mailer_is_disabled:"Je dient je wachtwoord opnieuw in te stellen, maar wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.",password_reset_required:"Je dient je wachtwoord opnieuw in te stellen om in te kunnen loggen.",password_reset_disabled:"Wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.",too_many_requests:"Je hebt het maximaal aantal pogingen bereikt, probeer het later opnieuw.",not_found:"We kunnen die email of gebruikersnaam niet vinden.",return_home:"Terugkeren naar de home pagina",check_email:"Controleer je email inbox voor een link om je wachtwoord opnieuw in te stellen.",placeholder:"Je email of gebruikersnaam",instruction:"Voer je email adres of gebruikersnaam in. We sturen je een link om je wachtwoord opnieuw in te stellen.",password_reset:"Wachtwoord opnieuw instellen",forgot_password:"Wachtwoord vergeten?"},search:{no_results:"Geen resultaten",people_talking:"{count} personen aan het praten",person_talking:"{count} persoon aan het praten",hashtags:"Hashtags",people:"Personen"},user_reporting:{generic_error:"Er is een fout opgetreden tijdens het verwerken van je verzoek.",submit:"Verzenden",forward_to:"Doorsturen naar {0}",forward_description:"Dit account hoort bij een andere server. Wil je een kopie van het rapport ook daarheen sturen?",additional_comments:"Aanvullende opmerkingen",add_comment_description:"Het rapport zal naar de moderators van de instantie worden verstuurd. Je kunt hieronder uitleg bijvoegen waarom je dit account wilt aangeven:",title:"{0} aangeven"},status:{copy_link:"Link naar status kopiëren",status_unavailable:"Status niet beschikbaar",unmute_conversation:"Conversatie niet meer negeren",mute_conversation:"Conversatie negeren",replies_list:"Antwoorden:",reply_to:"Antwoorden aan",delete_confirm:"Wil je echt deze status verwijderen?",pin:"Aan profiel vastmaken",pinned:"Vastgezet",unpin:"Van profiel losmaken",delete:"Status verwijderen",repeats:"Herhalingen",favorites:"Favorieten",thread_muted_and_words:", heeft woorden:",thread_muted:"Thread genegeerd"},time:{years_short:"{0}j",year_short:"{0}j",years:"{0} jaren",year:"{0} jaar",weeks_short:"{0}w",week_short:"{0}w",weeks:"{0} weken",week:"{0} week",seconds_short:"{0}s",second_short:"{0}s",seconds:"{0} seconden",second:"{0} seconde",now_short:"nu",now:"zojuist",months_short:"{0}ma",month_short:"{0}ma",months:"{0} maanden",month:"{0} maand",minutes_short:"{0}min",minute_short:"{0}min",minutes:"{0} minuten",minute:"{0} minuut",in_past:"{0} geleden",in_future:"over {0}",hours_short:"{0}u",hour_short:"{0}u",hours:"{0} uren",hour:"{0} uur",days_short:"{0}d",day_short:"{0}d",days:"{0} dagen",day:"{0} dag"}}}}]); +//# sourceMappingURL=23.2653bf91bc77c2ed0160.js.map \ No newline at end of file diff --git a/priv/static/static/js/23.2653bf91bc77c2ed0160.js.map b/priv/static/static/js/23.2653bf91bc77c2ed0160.js.map new file mode 100644 index 000000000..4f031922e --- /dev/null +++ b/priv/static/static/js/23.2653bf91bc77c2ed0160.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/23.2653bf91bc77c2ed0160.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/23.91a60b775352a806f887.js.map b/priv/static/static/js/23.91a60b775352a806f887.js.map deleted file mode 100644 index 656b87b51..000000000 --- a/priv/static/static/js/23.91a60b775352a806f887.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/23.91a60b775352a806f887.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/24.c8d8438aac954d4707ac.js.map b/priv/static/static/js/24.c8d8438aac954d4707ac.js.map deleted file mode 100644 index 1a2bb1dfd..000000000 --- a/priv/static/static/js/24.c8d8438aac954d4707ac.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/24.c8d8438aac954d4707ac.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/24.c8d8438aac954d4707ac.js b/priv/static/static/js/24.f931d864a2297d880a9a.js similarity index 99% rename from priv/static/static/js/24.c8d8438aac954d4707ac.js rename to priv/static/static/js/24.f931d864a2297d880a9a.js index 0029d5b8a..0362730e0 100644 --- a/priv/static/static/js/24.c8d8438aac954d4707ac.js +++ b/priv/static/static/js/24.f931d864a2297d880a9a.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{557:function(a){a.exports={chat:{title:"Messatjariá"},exporter:{export:"Exportar",processing:"Tractament, vos demandarem lèu de telecargar lo fichièr"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Servidor mandatari mèdia",scope_options:"Nivèls de confidencialitat",text_limit:"Limita de tèxte",title:"Foncionalitats",who_to_follow:"Qual seguir"},finder:{error_fetching_user:"Error pendent la cèrca d’un utilizaire",find_user:"Cercar un utilizaire"},general:{apply:"Aplicar",submit:"Mandar",more:"Mai",generic_error:"Una error s’es producha",optional:"opcional",show_more:"Mostrar mai",show_less:"Mostrar mens",cancel:"Anullar"},image_cropper:{crop_picture:"Talhar l’imatge",save:"Salvar",save_without_cropping:"Salvar sens talhada",cancel:"Anullar"},importer:{submit:"Mandar",success:"Corrèctament importat.",error:"Una error s’es producha pendent l’importacion d’aqueste fichièr."},login:{login:"Connexion",description:"Connexion via OAuth",logout:"Desconnexion",password:"Senhal",placeholder:"e.g. lain",register:"Se marcar",username:"Nom d’utilizaire",hint:"Connectatz-vos per participar a la discutida"},media_modal:{previous:"Precedent",next:"Seguent"},nav:{about:"A prepaus",back:"Tornar",chat:"Chat local",friend_requests:"Demandas de seguiment",mentions:"Notificacions",dms:"Messatges privats",public_tl:"Estatuts locals",timeline:"Flux d’actualitat",twkn:"Lo malhum conegut",user_search:"Cèrca d’utilizaires",search:"Cercar",who_to_follow:"Qual seguir",preferences:"Preferéncias"},notifications:{broken_favorite:"Estatut desconegut, sèm a lo cercar...",favorited_you:"a aimat vòstre estatut",followed_you:"vos a seguit",load_older:"Cargar las notificacions mai ancianas",notifications:"Notficacions",read:"Legit !",repeated_you:"a repetit vòstre estatut",no_more_notifications:"Pas mai de notificacions"},polls:{add_poll:"Ajustar un sondatge",add_option:"Ajustar d’opcions",option:"Opcion",votes:"vòtes",vote:"Votar",type:"Tipe de sondatge",single_choice:"Causida unica",multiple_choices:"Causida multipla",expiry:"Durada del sondatge",expires_in:"Lo sondatge s’acabarà {0}",expired:"Sondatge acabat {0}",not_enough_options:"I a pas pro d’opcions"},stickers:{add_sticker:"Ajustar un pegasolet"},interactions:{favs_repeats:"Repeticions e favorits",follows:"Nòus seguidors",load_older:"Cargar d’interaccions anterioras"},post_status:{new_status:"Publicar d’estatuts novèls",account_not_locked_warning:"Vòstre compte es pas {0}. Qual que siá pòt vos seguir per veire vòstras publicacions destinadas pas qu’a vòstres seguidors.",account_not_locked_warning_link:"clavat",attachments_sensitive:"Marcar las pèças juntas coma sensiblas",content_type:{"text/plain":"Tèxte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Avís de contengut (opcional)",default:"Escrivètz aquí vòstre estatut.",direct_warning_to_all:"Aquesta publicacion serà pas que visibla pels utilizaires mencionats.",direct_warning_to_first_only:"Aquesta publicacion serà pas que visibla pels utilizaires mencionats a la debuta del messatge.",posting:"Mandadís",scope:{direct:"Dirècte - Publicar pels utilizaires mencionats solament",private:"Seguidors solament - Publicar pels sols seguidors",public:"Public - Publicar pel flux d’actualitat public",unlisted:"Pas listat - Publicar pas pel flux public"}},registration:{bio:"Biografia",email:"Adreça de corrièl",fullname:"Nom complèt",password_confirm:"Confirmar lo senhal",registration:"Inscripcion",token:"Geton de convidat",captcha:"CAPTCHA",new_captcha:"Clicatz l’imatge per obténer una nòva captcha",username_placeholder:"e.g. lain",fullname_placeholder:"e.g. Lain Iwakura",bio_placeholder:"e.g.\nHi, Soi lo Lain\nSoi afocada d’animes e vivi al Japan. Benlèu que me coneissètz de the Wired.",validations:{username_required:"pòt pas èsser void",fullname_required:"pòt pas èsser void",email_required:"pòt pas èsser void",password_required:"pòt pas èsser void",password_confirmation_required:"pòt pas èsser void",password_confirmation_match:"deu èsser lo meteis senhal"}},selectable_list:{select_all:"O seleccionar tot"},settings:{app_name:"Nom de l’aplicacion",attachmentRadius:"Pèças juntas",attachments:"Pèças juntas",autoload:"Activar lo cargament automatic un còp arribat al cap de la pagina",avatar:"Avatar",avatarAltRadius:"Avatars (Notificacions)",avatarRadius:"Avatars",background:"Rèire plan",bio:"Biografia",block_export:"Exportar los blocatges",block_export_button:"Exportar los blocatges dins un fichièr csv",block_import:"Impòrt de blocatges",block_import_error:"Error en importar los blocatges",blocks_imported:"Blocatges importats ! Lo tractament tardarà un pauc.",blocks_tab:"Blocatges",btnRadius:"Botons",cBlue:"Blau (Respondre, seguir)",cGreen:"Verd (Repertir)",cOrange:"Irange (Aimar)",cRed:"Roge (Anullar)",change_password:"Cambiar lo senhal",change_password_error:"Una error s’es producha en cambiant lo senhal.",changed_password:"Senhal corrèctament cambiat !",collapse_subject:"Replegar las publicacions amb de subjèctes",composing:"Escritura",confirm_new_password:"Confirmatz lo nòu senhal",current_avatar:"Vòstre avatar actual",current_password:"Senhal actual",current_profile_banner:"Bandièra actuala del perfil",data_import_export_tab:"Importar / Exportar las donadas",default_vis:"Nivèl de visibilitat per defaut",delete_account:"Suprimir lo compte",delete_account_description:"Suprimir vòstre compte e los messatges per sempre.",delete_account_error:"Una error s’es producha en suprimir lo compte. S’aquò ten d’arribar mercés de contactar vòstre administrator d’instància.",delete_account_instructions:"Picatz vòstre senhal dins lo camp tèxte çai-jos per confirmar la supression del compte.",avatar_size_instruction:"La talha minimum recomandada pels imatges d’avatar es 150x150 pixèls.",export_theme:"Enregistrar la preconfiguracion",filtering:"Filtratge",filtering_explanation:"Totes los estatuts amb aqueles mots seràn en silenci, un mot per linha",follow_export:"Exportar los abonaments",follow_export_button:"Exportar vòstres abonaments dins un fichièr csv",follow_import:"Importar los abonaments",follow_import_error:"Error en important los seguidors",follows_imported:"Seguidors importats. Lo tractament pòt trigar una estona.",foreground:"Endavant",general:"General",hide_attachments_in_convo:"Rescondre las pèças juntas dins las conversacions",hide_attachments_in_tl:"Rescondre las pèças juntas",hide_muted_posts:"Rescondre las publicacions del monde rescondut",max_thumbnails:"Nombre maximum de vinhetas per publicacion",hide_isp:"Amagar lo panèl especial instància",preload_images:"Precargar los imatges",use_one_click_nsfw:"Dobrir las pèças juntas NSFW amb un clic",hide_post_stats:"Amagar las estatisticas de publicacion (ex. lo nombre de favorits)",hide_user_stats:"Amagar las estatisticas de l’utilizaire (ex. lo nombre de seguidors)",hide_filtered_statuses:"Amagar los estatuts filtrats",import_followers_from_a_csv_file:"Importar los seguidors d’un fichièr csv",import_theme:"Cargar un tèma",inputRadius:"Camps tèxte",checkboxRadius:"Casas de marcar",instance_default:"(defaut : {value})",instance_default_simple:"(defaut)",interface:"Interfàcia",interfaceLanguage:"Lenga de l’interfàcia",invalid_theme_imported:"Lo fichièr seleccionat es pas un tèma Pleroma valid. Cap de cambiament es estat fach a vòstre tèma.",limited_availability:"Pas disponible per vòstre navigador",links:"Ligams",lock_account_description:"Limitar vòstre compte als seguidors acceptats solament",loop_video:"Bocla vidèo",loop_video_silent_only:"Legir en bocla solament las vidèos sens son (coma los « Gifs » de Mastodon)",mutes_tab:"Agamats",interactions_tab:"Interaccions",play_videos_in_modal:"Legir las vidèos dirèctament dins la visualizaira mèdia",use_contain_fit:"Talhar pas las pèças juntas per las vinhetas",name:"Nom",name_bio:"Nom & Bio",new_password:"Nòu senhal",notification_visibility_follows:"Abonaments",notification_visibility_likes:"Aimar",notification_visibility_mentions:"Mencions",notification_visibility_repeats:"Repeticions",notification_visibility:"Tipes de notificacion de mostrar",no_rich_text_description:"Netejar lo format tèxte de totas las publicacions",no_blocks:"Cap de blocatge",no_mutes:"Cap d’amagat",hide_follows_description:"Mostrar pas qual seguissi",hide_followers_description:"Mostrar pas qual me seguisson",show_admin_badge:"Mostrar lo badge Admin badge al perfil meu",show_moderator_badge:"Mostrar lo badge Moderator al perfil meu",nsfw_clickthrough:"Activar lo clic per mostrar los imatges marcats coma pels adults o sensibles",oauth_tokens:"Listats OAuth",token:"Geton",refresh_token:"Actualizar lo geton",valid_until:"Valid fins a",revoke_token:"Revocar",panelRadius:"Panèls",pause_on_unfocused:"Pausar la difusion quand l’onglet es pas seleccionat",presets:"Pre-enregistrats",profile_background:"Imatge de fons",profile_banner:"Bandièra del perfil",profile_tab:"Perfil",radii_help:"Configurar los caires arredondits de l’interfàcia (en pixèls)",replies_in_timeline:"Responsas del flux",reply_link_preview:"Activar l’apercebut en passar la mirga",reply_visibility_all:"Mostrar totas las responsas",reply_visibility_following:"Mostrar pas que las responsas que me son destinada a ieu o un utilizaire que seguissi",reply_visibility_self:"Mostrar pas que las responsas que me son destinadas",saving_err:"Error en enregistrant los paramètres",saving_ok:"Paramètres enregistrats",search_user_to_block:"Cercatz qual volètz blocar",search_user_to_mute:"Cercatz qual volètz rescondre",security_tab:"Seguretat",scope_copy:"Copiar lo nivèl de confidencialitat per las responsas (Totjorn aissí pels Messatges Dirèctes)",minimal_scopes_mode:"Minimizar lo nombre d’opcions per publicacion",set_new_avatar:"Definir un nòu avatar",set_new_profile_background:"Definir un nòu fons de perfil",set_new_profile_banner:"Definir una nòva bandièra de perfil",settings:"Paramètres",subject_input_always_show:"Totjorn mostrar lo camp de subjècte",subject_line_behavior:"Copiar lo subjècte per las responsas",subject_line_email:'Coma los corrièls : "re: subjècte"',subject_line_mastodon:"Coma mastodon : copiar tal coma es",subject_line_noop:"Copiar pas",post_status_content_type:"Publicar lo tipe de contengut dels estatuts",stop_gifs:"Lançar los GIFs al subrevòl",streaming:"Activar lo cargament automatic dels novèls estatus en anar amont",text:"Tèxte",theme:"Tèma",theme_help_v2_1:'Podètz tanben remplaçar la color d’unes compausants en clicant la case, utilizatz lo boton "O escafar tot" per escafar totes las subrecargadas.',theme_help_v2_2:"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.",theme_help:"Emplegatz los còdis de color hex (#rrggbb) per personalizar vòstre tèma de color.",tooltipRadius:"Astúcias/alèrtas",upload_a_photo:"Enviar una fotografia",user_settings:"Paramètres utilizaire",values:{false:"non",true:"òc"},notifications:"Notificacions",notification_setting:"Recebre las notificacions de :",notification_setting_follows:"Utilizaires que seguissètz",notification_setting_non_follows:"Utilizaires que seguissètz pas",notification_setting_followers:"Utilizaires que vos seguisson",notification_setting_non_followers:"Utilizaires que vos seguisson pas",notification_mutes:"Per recebre pas mai d’un utilizaire en particular, botatz-lo en silenci.",notification_blocks:"Blocar un utilizaire arrèsta totas las notificacions tan coma quitar de los seguir.",enable_web_push_notifications:"Activar las notificacions web push",style:{switcher:{keep_color:"Gardar las colors",keep_shadows:"Gardar las ombras",keep_opacity:"Gardar l’opacitat",keep_roundness:"Gardar la redondetat",keep_fonts:"Gardar las polissas",save_load_hint:"Las opcions « Gardar » permeton de servar las opcions configuradas actualament quand seleccionatz o cargatz un tèma, permeton tanben d’enregistrar aquelas opcions quand exportatz un tèma. Quand totas las casas son pas marcadas, l’exportacion de tèma o enregistrarà tot.",reset:"Restablir",clear_all:"O escafar tot",clear_opacity:"Escafar l’opacitat"},common:{color:"Color",opacity:"Opacitat",contrast:{hint:"Lo coeficient de contraste es de {ratio}. Dòna {level} {context}",level:{aa:"un nivèl AA minimum recomandat",aaa:"un nivèl AAA recomandat",bad:"pas un nivèl d’accessibilitat recomandat"},context:{"18pt":"pel tèxte grand (18pt+)",text:"pel tèxte"}}},common_colors:{_tab_label:"Comun",main:"Colors comunas",foreground_hint:"Vejatz « Avançat » per mai de paramètres detalhats",rgbo:"Icònas, accents, badges"},advanced_colors:{_tab_label:"Avançat",alert:"Rèire plan d’alèrtas",alert_error:"Error",badge:"Rèire plan dels badges",badge_notification:"Notificacion",panel_header:"Bandièra del tablèu de bòrd",top_bar:"Barra amont",borders:"Caires",buttons:"Botons",inputs:"Camps tèxte",faint_text:"Tèxte descolorit"},radii:{_tab_label:"Redondetat"},shadows:{_tab_label:"Ombra e luminositat",component:"Compausant",override:"Subrecargar",shadow_id:"Ombra #{value}",blur:"Fosc",spread:"Espandiment",inset:"Incrustacion",hint:"Per las ombras podètz tanben utilizar --variable coma valor de color per emplegar una variable CSS3. Notatz que lo paramètre d’opacitat foncionarà pas dins aquel cas.",filter_hint:{always_drop_shadow:"Avertiment, aquel ombra utiliza totjorn {0} quand lo navigator es compatible.",drop_shadow_syntax:"{0} es pas compatible amb lo paramètre {1} e lo mot clau {2}.",avatar_inset:"Notatz que combinar d’ombras incrustadas e pas incrustadas pòt donar de resultats inesperats amb los avatars transparents.",spread_zero:"L’ombra amb un espandiment de > 0 apareisserà coma reglat a zèro",inset_classic:"L’ombra d’incrustacion utilizarà {0}"},components:{panel:"Tablèu",panelHeader:"Bandièra del tablèu",topBar:"Barra amont",avatar:"Utilizar l’avatar (vista perfil)",avatarStatus:"Avatar de l’utilizaire (afichatge publicacion)",popup:"Fenèstras sorgissentas e astúcias",button:"Boton",buttonHover:"Boton (en passar la mirga)",buttonPressed:"Boton (en quichar)",buttonPressedHover:"Boton (en quichar e passar)",input:"Camp tèxte"}},fonts:{_tab_label:"Polissas",help:"Selecionatz la polissa d’utilizar pels elements de l’UI. Per « Personalizada » vos cal picar lo nom exacte tal coma apareis sul sistèma.",components:{interface:"Interfàcia",input:"Camps tèxte",post:"Tèxte de publicacion",postCode:"Tèxte Monospaced dins las publicacion (tèxte formatat)"},family:"Nom de la polissa",size:"Talha (en px)",weight:"Largor (gras)",custom:"Personalizada"},preview:{header:"Apercebut",content:"Contengut",error:"Error d’exemple",button:"Boton",text:"A tròç de mai de {0} e {1}",mono:"contengut",input:"arribada al país.",faint_link:"manual d’ajuda",fine_print:"Legissètz nòstre {0} per legir pas res d’util !",header_faint:"Va plan",checkbox:"Ai legit los tèrmes e condicions d’utilizacion",link:"un pichon ligam simpatic"}},version:{title:"Version",backend_version:"Version Backend",frontend_version:"Version Frontend"}},time:{day:"{0} jorn",days:"{0} jorns",day_short:"{0} jorn",days_short:"{0} jorns",hour:"{0} ora",hours:"{0} oras",hour_short:"{0}h",hours_short:"{0}h",in_future:"d’aquí {0}",in_past:"fa {0}",minute:"{0} minuta",minutes:"{0} minutas",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} mes",months:"{0} meses",month_short:"{0} mes",months_short:"{0} meses",now:"ara meteis",now_short:"ara meteis",second:"{0} segonda",seconds:"{0} segondas",second_short:"{0}s",seconds_short:"{0}s",week:"{0} setmana.",weeks:"{0} setmanas.",week_short:"{0} setm.",weeks_short:"{0} setm.",year:"{0} an",years:"{0} ans",year_short:"{0} an",years_short:"{0} ans"},timeline:{collapse:"Tampar",conversation:"Conversacion",error_fetching:"Error en cercant de mesas a jorn",load_older:"Ne veire mai",no_retweet_hint:"Las publicacions marcadas pels seguidors solament o dirèctas se pòdon pas repetir",repeated:"repetit",show_new:"Ne veire mai",up_to_date:"A jorn",no_more_statuses:"Pas mai d’estatuts",no_statuses:"Cap d’estatuts"},status:{favorites:"Li a agradat",repeats:"A repetit",reply_to:"Respond a",replies_list:"Responsas :"},user_card:{approve:"Validar",block:"Blocar",blocked:"Blocat !",deny:"Refusar",favorites:"Favorits",follow:"Seguir",follow_sent:"Demanda enviada !",follow_progress:"Demanda…",follow_again:"Tornar enviar la demanda ?",follow_unfollow:"Quitar de seguir",followees:"Abonaments",followers:"Seguidors",following:"Seguit !",follows_you:"Vos sèc !",its_you:"Sètz vos !",media:"Mèdia",mute:"Amagar",muted:"Amagat",per_day:"per jorn",remote_follow:"Seguir a distància",statuses:"Estatuts",subscribe:"S’abonar",unsubscribe:"Se desabonar",unblock:"Desblocar",unblock_progress:"Desblocatge...",block_progress:"Blocatge...",unmute:"Tornar mostrar",unmute_progress:"Afichatge...",mute_progress:"A amagar...",admin_menu:{moderation:"Moderacion",grant_admin:"Passar Admin",revoke_admin:"Revocar Admin",grant_moderator:"Passar Moderator",revoke_moderator:"Revocar Moderator",activate_account:"Activar lo compte",deactivate_account:"Desactivar lo compte",delete_account:"Suprimir lo compte",force_nsfw:"Marcar totas las publicacions coma sensiblas",strip_media:"Tirar los mèdias de las publicacions",force_unlisted:"Forçar las publicacions en pas-listadas",sandbox:"Forçar las publicacions en seguidors solament",disable_remote_subscription:"Desactivar lo seguiment d’utilizaire d’instàncias alonhadas",disable_any_subscription:"Desactivar tot seguiment",quarantine:"Defendre la federacion de las publicacions de l’utilizaire",delete_user:"Suprimir l’utilizaire",delete_user_confirmation:"Volètz vertadièrament far aquò ? Aquesta accion se pòt pas anullar."}},user_profile:{timeline_title:"Flux utilizaire",profile_does_not_exist:"Aqueste perfil existís pas.",profile_loading_error:"Una error s’es producha en cargant aqueste perfil."},who_to_follow:{more:"Mai",who_to_follow:"Qual seguir"},tool_tip:{media_upload:"Enviar un mèdia",repeat:"Repetir",reply:"Respondre",favorite:"aimar",user_settings:"Paramètres utilizaire"},upload:{error:{base:"Mandadís fracassat.",file_too_big:"Fichièr tròp grand [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Tornatz ensajar mai tard"},file_size_units:{B:"o",KiB:"Kio",MiB:"Mio",GiB:"Gio",TiB:"Tio"}},search:{people:"Gent",hashtags:"Etiquetas",person_talking:"{count} persona ne parla",people_talking:"{count} personas ne parlan",no_results:"Cap de resultats"}}}}]); -//# sourceMappingURL=24.c8d8438aac954d4707ac.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{575:function(a){a.exports={chat:{title:"Messatjariá"},exporter:{export:"Exportar",processing:"Tractament, vos demandarem lèu de telecargar lo fichièr"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Servidor mandatari mèdia",scope_options:"Nivèls de confidencialitat",text_limit:"Limita de tèxte",title:"Foncionalitats",who_to_follow:"Qual seguir"},finder:{error_fetching_user:"Error pendent la cèrca d’un utilizaire",find_user:"Cercar un utilizaire"},general:{apply:"Aplicar",submit:"Mandar",more:"Mai",generic_error:"Una error s’es producha",optional:"opcional",show_more:"Mostrar mai",show_less:"Mostrar mens",cancel:"Anullar"},image_cropper:{crop_picture:"Talhar l’imatge",save:"Salvar",save_without_cropping:"Salvar sens talhada",cancel:"Anullar"},importer:{submit:"Mandar",success:"Corrèctament importat.",error:"Una error s’es producha pendent l’importacion d’aqueste fichièr."},login:{login:"Connexion",description:"Connexion via OAuth",logout:"Desconnexion",password:"Senhal",placeholder:"e.g. lain",register:"Se marcar",username:"Nom d’utilizaire",hint:"Connectatz-vos per participar a la discutida"},media_modal:{previous:"Precedent",next:"Seguent"},nav:{about:"A prepaus",back:"Tornar",chat:"Chat local",friend_requests:"Demandas de seguiment",mentions:"Notificacions",dms:"Messatges privats",public_tl:"Estatuts locals",timeline:"Flux d’actualitat",twkn:"Lo malhum conegut",user_search:"Cèrca d’utilizaires",search:"Cercar",who_to_follow:"Qual seguir",preferences:"Preferéncias"},notifications:{broken_favorite:"Estatut desconegut, sèm a lo cercar...",favorited_you:"a aimat vòstre estatut",followed_you:"vos a seguit",load_older:"Cargar las notificacions mai ancianas",notifications:"Notficacions",read:"Legit !",repeated_you:"a repetit vòstre estatut",no_more_notifications:"Pas mai de notificacions"},polls:{add_poll:"Ajustar un sondatge",add_option:"Ajustar d’opcions",option:"Opcion",votes:"vòtes",vote:"Votar",type:"Tipe de sondatge",single_choice:"Causida unica",multiple_choices:"Causida multipla",expiry:"Durada del sondatge",expires_in:"Lo sondatge s’acabarà {0}",expired:"Sondatge acabat {0}",not_enough_options:"I a pas pro d’opcions"},stickers:{add_sticker:"Ajustar un pegasolet"},interactions:{favs_repeats:"Repeticions e favorits",follows:"Nòus seguidors",load_older:"Cargar d’interaccions anterioras"},post_status:{new_status:"Publicar d’estatuts novèls",account_not_locked_warning:"Vòstre compte es pas {0}. Qual que siá pòt vos seguir per veire vòstras publicacions destinadas pas qu’a vòstres seguidors.",account_not_locked_warning_link:"clavat",attachments_sensitive:"Marcar las pèças juntas coma sensiblas",content_type:{"text/plain":"Tèxte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Avís de contengut (opcional)",default:"Escrivètz aquí vòstre estatut.",direct_warning_to_all:"Aquesta publicacion serà pas que visibla pels utilizaires mencionats.",direct_warning_to_first_only:"Aquesta publicacion serà pas que visibla pels utilizaires mencionats a la debuta del messatge.",posting:"Mandadís",scope:{direct:"Dirècte - Publicar pels utilizaires mencionats solament",private:"Seguidors solament - Publicar pels sols seguidors",public:"Public - Publicar pel flux d’actualitat public",unlisted:"Pas listat - Publicar pas pel flux public"}},registration:{bio:"Biografia",email:"Adreça de corrièl",fullname:"Nom complèt",password_confirm:"Confirmar lo senhal",registration:"Inscripcion",token:"Geton de convidat",captcha:"CAPTCHA",new_captcha:"Clicatz l’imatge per obténer una nòva captcha",username_placeholder:"e.g. lain",fullname_placeholder:"e.g. Lain Iwakura",bio_placeholder:"e.g.\nHi, Soi lo Lain\nSoi afocada d’animes e vivi al Japan. Benlèu que me coneissètz de the Wired.",validations:{username_required:"pòt pas èsser void",fullname_required:"pòt pas èsser void",email_required:"pòt pas èsser void",password_required:"pòt pas èsser void",password_confirmation_required:"pòt pas èsser void",password_confirmation_match:"deu èsser lo meteis senhal"}},selectable_list:{select_all:"O seleccionar tot"},settings:{app_name:"Nom de l’aplicacion",attachmentRadius:"Pèças juntas",attachments:"Pèças juntas",autoload:"Activar lo cargament automatic un còp arribat al cap de la pagina",avatar:"Avatar",avatarAltRadius:"Avatars (Notificacions)",avatarRadius:"Avatars",background:"Rèire plan",bio:"Biografia",block_export:"Exportar los blocatges",block_export_button:"Exportar los blocatges dins un fichièr csv",block_import:"Impòrt de blocatges",block_import_error:"Error en importar los blocatges",blocks_imported:"Blocatges importats ! Lo tractament tardarà un pauc.",blocks_tab:"Blocatges",btnRadius:"Botons",cBlue:"Blau (Respondre, seguir)",cGreen:"Verd (Repertir)",cOrange:"Irange (Aimar)",cRed:"Roge (Anullar)",change_password:"Cambiar lo senhal",change_password_error:"Una error s’es producha en cambiant lo senhal.",changed_password:"Senhal corrèctament cambiat !",collapse_subject:"Replegar las publicacions amb de subjèctes",composing:"Escritura",confirm_new_password:"Confirmatz lo nòu senhal",current_avatar:"Vòstre avatar actual",current_password:"Senhal actual",current_profile_banner:"Bandièra actuala del perfil",data_import_export_tab:"Importar / Exportar las donadas",default_vis:"Nivèl de visibilitat per defaut",delete_account:"Suprimir lo compte",delete_account_description:"Suprimir vòstre compte e los messatges per sempre.",delete_account_error:"Una error s’es producha en suprimir lo compte. S’aquò ten d’arribar mercés de contactar vòstre administrator d’instància.",delete_account_instructions:"Picatz vòstre senhal dins lo camp tèxte çai-jos per confirmar la supression del compte.",avatar_size_instruction:"La talha minimum recomandada pels imatges d’avatar es 150x150 pixèls.",export_theme:"Enregistrar la preconfiguracion",filtering:"Filtratge",filtering_explanation:"Totes los estatuts amb aqueles mots seràn en silenci, un mot per linha",follow_export:"Exportar los abonaments",follow_export_button:"Exportar vòstres abonaments dins un fichièr csv",follow_import:"Importar los abonaments",follow_import_error:"Error en important los seguidors",follows_imported:"Seguidors importats. Lo tractament pòt trigar una estona.",foreground:"Endavant",general:"General",hide_attachments_in_convo:"Rescondre las pèças juntas dins las conversacions",hide_attachments_in_tl:"Rescondre las pèças juntas",hide_muted_posts:"Rescondre las publicacions del monde rescondut",max_thumbnails:"Nombre maximum de vinhetas per publicacion",hide_isp:"Amagar lo panèl especial instància",preload_images:"Precargar los imatges",use_one_click_nsfw:"Dobrir las pèças juntas NSFW amb un clic",hide_post_stats:"Amagar las estatisticas de publicacion (ex. lo nombre de favorits)",hide_user_stats:"Amagar las estatisticas de l’utilizaire (ex. lo nombre de seguidors)",hide_filtered_statuses:"Amagar los estatuts filtrats",import_followers_from_a_csv_file:"Importar los seguidors d’un fichièr csv",import_theme:"Cargar un tèma",inputRadius:"Camps tèxte",checkboxRadius:"Casas de marcar",instance_default:"(defaut : {value})",instance_default_simple:"(defaut)",interface:"Interfàcia",interfaceLanguage:"Lenga de l’interfàcia",invalid_theme_imported:"Lo fichièr seleccionat es pas un tèma Pleroma valid. Cap de cambiament es estat fach a vòstre tèma.",limited_availability:"Pas disponible per vòstre navigador",links:"Ligams",lock_account_description:"Limitar vòstre compte als seguidors acceptats solament",loop_video:"Bocla vidèo",loop_video_silent_only:"Legir en bocla solament las vidèos sens son (coma los « Gifs » de Mastodon)",mutes_tab:"Agamats",interactions_tab:"Interaccions",play_videos_in_modal:"Legir las vidèos dirèctament dins la visualizaira mèdia",use_contain_fit:"Talhar pas las pèças juntas per las vinhetas",name:"Nom",name_bio:"Nom & Bio",new_password:"Nòu senhal",notification_visibility_follows:"Abonaments",notification_visibility_likes:"Aimar",notification_visibility_mentions:"Mencions",notification_visibility_repeats:"Repeticions",notification_visibility:"Tipes de notificacion de mostrar",no_rich_text_description:"Netejar lo format tèxte de totas las publicacions",no_blocks:"Cap de blocatge",no_mutes:"Cap d’amagat",hide_follows_description:"Mostrar pas qual seguissi",hide_followers_description:"Mostrar pas qual me seguisson",show_admin_badge:"Mostrar lo badge Admin badge al perfil meu",show_moderator_badge:"Mostrar lo badge Moderator al perfil meu",nsfw_clickthrough:"Activar lo clic per mostrar los imatges marcats coma pels adults o sensibles",oauth_tokens:"Listats OAuth",token:"Geton",refresh_token:"Actualizar lo geton",valid_until:"Valid fins a",revoke_token:"Revocar",panelRadius:"Panèls",pause_on_unfocused:"Pausar la difusion quand l’onglet es pas seleccionat",presets:"Pre-enregistrats",profile_background:"Imatge de fons",profile_banner:"Bandièra del perfil",profile_tab:"Perfil",radii_help:"Configurar los caires arredondits de l’interfàcia (en pixèls)",replies_in_timeline:"Responsas del flux",reply_link_preview:"Activar l’apercebut en passar la mirga",reply_visibility_all:"Mostrar totas las responsas",reply_visibility_following:"Mostrar pas que las responsas que me son destinada a ieu o un utilizaire que seguissi",reply_visibility_self:"Mostrar pas que las responsas que me son destinadas",saving_err:"Error en enregistrant los paramètres",saving_ok:"Paramètres enregistrats",search_user_to_block:"Cercatz qual volètz blocar",search_user_to_mute:"Cercatz qual volètz rescondre",security_tab:"Seguretat",scope_copy:"Copiar lo nivèl de confidencialitat per las responsas (Totjorn aissí pels Messatges Dirèctes)",minimal_scopes_mode:"Minimizar lo nombre d’opcions per publicacion",set_new_avatar:"Definir un nòu avatar",set_new_profile_background:"Definir un nòu fons de perfil",set_new_profile_banner:"Definir una nòva bandièra de perfil",settings:"Paramètres",subject_input_always_show:"Totjorn mostrar lo camp de subjècte",subject_line_behavior:"Copiar lo subjècte per las responsas",subject_line_email:'Coma los corrièls : "re: subjècte"',subject_line_mastodon:"Coma mastodon : copiar tal coma es",subject_line_noop:"Copiar pas",post_status_content_type:"Publicar lo tipe de contengut dels estatuts",stop_gifs:"Lançar los GIFs al subrevòl",streaming:"Activar lo cargament automatic dels novèls estatus en anar amont",text:"Tèxte",theme:"Tèma",theme_help_v2_1:'Podètz tanben remplaçar la color d’unes compausants en clicant la case, utilizatz lo boton "O escafar tot" per escafar totes las subrecargadas.',theme_help_v2_2:"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.",theme_help:"Emplegatz los còdis de color hex (#rrggbb) per personalizar vòstre tèma de color.",tooltipRadius:"Astúcias/alèrtas",upload_a_photo:"Enviar una fotografia",user_settings:"Paramètres utilizaire",values:{false:"non",true:"òc"},notifications:"Notificacions",notification_setting:"Recebre las notificacions de :",notification_setting_follows:"Utilizaires que seguissètz",notification_setting_non_follows:"Utilizaires que seguissètz pas",notification_setting_followers:"Utilizaires que vos seguisson",notification_setting_non_followers:"Utilizaires que vos seguisson pas",notification_mutes:"Per recebre pas mai d’un utilizaire en particular, botatz-lo en silenci.",notification_blocks:"Blocar un utilizaire arrèsta totas las notificacions tan coma quitar de los seguir.",enable_web_push_notifications:"Activar las notificacions web push",style:{switcher:{keep_color:"Gardar las colors",keep_shadows:"Gardar las ombras",keep_opacity:"Gardar l’opacitat",keep_roundness:"Gardar la redondetat",keep_fonts:"Gardar las polissas",save_load_hint:"Las opcions « Gardar » permeton de servar las opcions configuradas actualament quand seleccionatz o cargatz un tèma, permeton tanben d’enregistrar aquelas opcions quand exportatz un tèma. Quand totas las casas son pas marcadas, l’exportacion de tèma o enregistrarà tot.",reset:"Restablir",clear_all:"O escafar tot",clear_opacity:"Escafar l’opacitat"},common:{color:"Color",opacity:"Opacitat",contrast:{hint:"Lo coeficient de contraste es de {ratio}. Dòna {level} {context}",level:{aa:"un nivèl AA minimum recomandat",aaa:"un nivèl AAA recomandat",bad:"pas un nivèl d’accessibilitat recomandat"},context:{"18pt":"pel tèxte grand (18pt+)",text:"pel tèxte"}}},common_colors:{_tab_label:"Comun",main:"Colors comunas",foreground_hint:"Vejatz « Avançat » per mai de paramètres detalhats",rgbo:"Icònas, accents, badges"},advanced_colors:{_tab_label:"Avançat",alert:"Rèire plan d’alèrtas",alert_error:"Error",badge:"Rèire plan dels badges",badge_notification:"Notificacion",panel_header:"Bandièra del tablèu de bòrd",top_bar:"Barra amont",borders:"Caires",buttons:"Botons",inputs:"Camps tèxte",faint_text:"Tèxte descolorit"},radii:{_tab_label:"Redondetat"},shadows:{_tab_label:"Ombra e luminositat",component:"Compausant",override:"Subrecargar",shadow_id:"Ombra #{value}",blur:"Fosc",spread:"Espandiment",inset:"Incrustacion",hint:"Per las ombras podètz tanben utilizar --variable coma valor de color per emplegar una variable CSS3. Notatz que lo paramètre d’opacitat foncionarà pas dins aquel cas.",filter_hint:{always_drop_shadow:"Avertiment, aquel ombra utiliza totjorn {0} quand lo navigator es compatible.",drop_shadow_syntax:"{0} es pas compatible amb lo paramètre {1} e lo mot clau {2}.",avatar_inset:"Notatz que combinar d’ombras incrustadas e pas incrustadas pòt donar de resultats inesperats amb los avatars transparents.",spread_zero:"L’ombra amb un espandiment de > 0 apareisserà coma reglat a zèro",inset_classic:"L’ombra d’incrustacion utilizarà {0}"},components:{panel:"Tablèu",panelHeader:"Bandièra del tablèu",topBar:"Barra amont",avatar:"Utilizar l’avatar (vista perfil)",avatarStatus:"Avatar de l’utilizaire (afichatge publicacion)",popup:"Fenèstras sorgissentas e astúcias",button:"Boton",buttonHover:"Boton (en passar la mirga)",buttonPressed:"Boton (en quichar)",buttonPressedHover:"Boton (en quichar e passar)",input:"Camp tèxte"}},fonts:{_tab_label:"Polissas",help:"Selecionatz la polissa d’utilizar pels elements de l’UI. Per « Personalizada » vos cal picar lo nom exacte tal coma apareis sul sistèma.",components:{interface:"Interfàcia",input:"Camps tèxte",post:"Tèxte de publicacion",postCode:"Tèxte Monospaced dins las publicacion (tèxte formatat)"},family:"Nom de la polissa",size:"Talha (en px)",weight:"Largor (gras)",custom:"Personalizada"},preview:{header:"Apercebut",content:"Contengut",error:"Error d’exemple",button:"Boton",text:"A tròç de mai de {0} e {1}",mono:"contengut",input:"arribada al país.",faint_link:"manual d’ajuda",fine_print:"Legissètz nòstre {0} per legir pas res d’util !",header_faint:"Va plan",checkbox:"Ai legit los tèrmes e condicions d’utilizacion",link:"un pichon ligam simpatic"}},version:{title:"Version",backend_version:"Version Backend",frontend_version:"Version Frontend"}},time:{day:"{0} jorn",days:"{0} jorns",day_short:"{0} jorn",days_short:"{0} jorns",hour:"{0} ora",hours:"{0} oras",hour_short:"{0}h",hours_short:"{0}h",in_future:"d’aquí {0}",in_past:"fa {0}",minute:"{0} minuta",minutes:"{0} minutas",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} mes",months:"{0} meses",month_short:"{0} mes",months_short:"{0} meses",now:"ara meteis",now_short:"ara meteis",second:"{0} segonda",seconds:"{0} segondas",second_short:"{0}s",seconds_short:"{0}s",week:"{0} setmana.",weeks:"{0} setmanas.",week_short:"{0} setm.",weeks_short:"{0} setm.",year:"{0} an",years:"{0} ans",year_short:"{0} an",years_short:"{0} ans"},timeline:{collapse:"Tampar",conversation:"Conversacion",error_fetching:"Error en cercant de mesas a jorn",load_older:"Ne veire mai",no_retweet_hint:"Las publicacions marcadas pels seguidors solament o dirèctas se pòdon pas repetir",repeated:"repetit",show_new:"Ne veire mai",up_to_date:"A jorn",no_more_statuses:"Pas mai d’estatuts",no_statuses:"Cap d’estatuts"},status:{favorites:"Li a agradat",repeats:"A repetit",reply_to:"Respond a",replies_list:"Responsas :"},user_card:{approve:"Validar",block:"Blocar",blocked:"Blocat !",deny:"Refusar",favorites:"Favorits",follow:"Seguir",follow_sent:"Demanda enviada !",follow_progress:"Demanda…",follow_again:"Tornar enviar la demanda ?",follow_unfollow:"Quitar de seguir",followees:"Abonaments",followers:"Seguidors",following:"Seguit !",follows_you:"Vos sèc !",its_you:"Sètz vos !",media:"Mèdia",mute:"Amagar",muted:"Amagat",per_day:"per jorn",remote_follow:"Seguir a distància",statuses:"Estatuts",subscribe:"S’abonar",unsubscribe:"Se desabonar",unblock:"Desblocar",unblock_progress:"Desblocatge...",block_progress:"Blocatge...",unmute:"Tornar mostrar",unmute_progress:"Afichatge...",mute_progress:"A amagar...",admin_menu:{moderation:"Moderacion",grant_admin:"Passar Admin",revoke_admin:"Revocar Admin",grant_moderator:"Passar Moderator",revoke_moderator:"Revocar Moderator",activate_account:"Activar lo compte",deactivate_account:"Desactivar lo compte",delete_account:"Suprimir lo compte",force_nsfw:"Marcar totas las publicacions coma sensiblas",strip_media:"Tirar los mèdias de las publicacions",force_unlisted:"Forçar las publicacions en pas-listadas",sandbox:"Forçar las publicacions en seguidors solament",disable_remote_subscription:"Desactivar lo seguiment d’utilizaire d’instàncias alonhadas",disable_any_subscription:"Desactivar tot seguiment",quarantine:"Defendre la federacion de las publicacions de l’utilizaire",delete_user:"Suprimir l’utilizaire",delete_user_confirmation:"Volètz vertadièrament far aquò ? Aquesta accion se pòt pas anullar."}},user_profile:{timeline_title:"Flux utilizaire",profile_does_not_exist:"Aqueste perfil existís pas.",profile_loading_error:"Una error s’es producha en cargant aqueste perfil."},who_to_follow:{more:"Mai",who_to_follow:"Qual seguir"},tool_tip:{media_upload:"Enviar un mèdia",repeat:"Repetir",reply:"Respondre",favorite:"aimar",user_settings:"Paramètres utilizaire"},upload:{error:{base:"Mandadís fracassat.",file_too_big:"Fichièr tròp grand [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Tornatz ensajar mai tard"},file_size_units:{B:"o",KiB:"Kio",MiB:"Mio",GiB:"Gio",TiB:"Tio"}},search:{people:"Gent",hashtags:"Etiquetas",person_talking:"{count} persona ne parla",people_talking:"{count} personas ne parlan",no_results:"Cap de resultats"}}}}]); +//# sourceMappingURL=24.f931d864a2297d880a9a.js.map \ No newline at end of file diff --git a/priv/static/static/js/24.f931d864a2297d880a9a.js.map b/priv/static/static/js/24.f931d864a2297d880a9a.js.map new file mode 100644 index 000000000..2fb375e79 --- /dev/null +++ b/priv/static/static/js/24.f931d864a2297d880a9a.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/24.f931d864a2297d880a9a.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/25.79ac9e020d571b67f02a.js.map b/priv/static/static/js/25.79ac9e020d571b67f02a.js.map deleted file mode 100644 index 5cd7d6b0c..000000000 --- a/priv/static/static/js/25.79ac9e020d571b67f02a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/25.79ac9e020d571b67f02a.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/25.79ac9e020d571b67f02a.js b/priv/static/static/js/25.886acc9ba83c64659279.js similarity index 99% rename from priv/static/static/js/25.79ac9e020d571b67f02a.js rename to priv/static/static/js/25.886acc9ba83c64659279.js index 7798e9e7e..4ff4c331b 100644 --- a/priv/static/static/js/25.79ac9e020d571b67f02a.js +++ b/priv/static/static/js/25.886acc9ba83c64659279.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{558:function(e){e.exports={about:{mrf:{federation:"Federacja",keyword:{keyword_policies:"Zasady słów kluczowych",ftl_removal:'Usunięcie z "Całej znanej sieci"',reject:"Odrzucanie",replace:"Zastąpienie",is_replaced_by:"→"},mrf_policies:"Włączone zasady MRF",mrf_policies_desc:"Zasady MRF zmieniają zachowanie federowania instancji. Następujące zasady są włączone:",simple:{simple_policies:"Zasady specyficzne dla instancji",accept:"Akceptowanie",accept_desc:"Ta instancja akceptuje tylko posty z wymienionych instancji:",reject:"Odrzucanie",reject_desc:"Ta instancja odrzuca posty z wymienionych instancji:",quarantine:"Kwarantanna",quarantine_desc:"Ta instancja wysyła tylko publiczne posty do wymienionych instancji:",ftl_removal:'Usunięcie z "Całej znanej sieci"',ftl_removal_desc:'Ta instancja usuwa wymienionych instancje z "Całej znanej sieci":',media_removal:"Usuwanie multimediów",media_removal_desc:"Ta instancja usuwa multimedia z postów od wymienionych instancji:",media_nsfw:"Multimedia ustawione jako wrażliwe",media_nsfw_desc:"Ta instancja wymusza, by multimedia z wymienionych instancji były ustawione jako wrażliwe:"}},staff:"Administracja"},chat:{title:"Czat"},domain_mute_card:{mute:"Wycisz",mute_progress:"Wyciszam...",unmute:"Odcisz",unmute_progress:"Odciszam..."},exporter:{export:"Eksportuj",processing:"Przetwarzam, za chwilę zostaniesz zapytany(-na) o ściągnięcie pliku"},features_panel:{chat:"Czat",gopher:"Gopher",media_proxy:"Proxy mediów",scope_options:"Ustawienia zakresu",text_limit:"Limit tekstu",title:"Funkcje",who_to_follow:"Propozycje obserwacji"},finder:{error_fetching_user:"Błąd przy pobieraniu profilu",find_user:"Znajdź użytkownika"},general:{apply:"Zastosuj",submit:"Wyślij",more:"Więcej",generic_error:"Wystąpił błąd",optional:"nieobowiązkowe",show_more:"Pokaż więcej",show_less:"Pokaż mniej",dismiss:"Odrzuć",cancel:"Anuluj",disable:"Wyłącz",enable:"Włącz",confirm:"Potwierdź",verify:"Zweryfikuj"},image_cropper:{crop_picture:"Przytnij obrazek",save:"Zapisz",save_without_cropping:"Zapisz bez przycinania",cancel:"Anuluj"},importer:{submit:"Wyślij",success:"Zaimportowano pomyślnie.",error:"Wystąpił błąd podczas importowania pliku."},login:{login:"Zaloguj",description:"Zaloguj używając OAuth",logout:"Wyloguj",password:"Hasło",placeholder:"n.p. lain",register:"Zarejestruj",username:"Użytkownik",hint:"Zaloguj się, aby dołączyć do dyskusji",authentication_code:"Kod weryfikacyjny",enter_recovery_code:"Wprowadź kod zapasowy",enter_two_factor_code:"Wprowadź kod weryfikacyjny",recovery_code:"Kod zapasowy",heading:{totp:"Weryfikacja dwuetapowa",recovery:"Zapasowa weryfikacja dwuetapowa"}},media_modal:{previous:"Poprzednie",next:"Następne"},nav:{about:"O nas",administration:"Administracja",back:"Wróć",chat:"Lokalny czat",friend_requests:"Prośby o możliwość obserwacji",mentions:"Wzmianki",interactions:"Interakcje",dms:"Wiadomości prywatne",public_tl:"Publiczna oś czasu",timeline:"Oś czasu",twkn:"Cała znana sieć",user_search:"Wyszukiwanie użytkowników",search:"Wyszukiwanie",who_to_follow:"Sugestie obserwacji",preferences:"Preferencje"},notifications:{broken_favorite:"Nieznany status, szukam go…",favorited_you:"dodał(-a) twój status do ulubionych",followed_you:"obserwuje cię",load_older:"Załaduj starsze powiadomienia",notifications:"Powiadomienia",read:"Przeczytane!",repeated_you:"powtórzył(-a) twój status",no_more_notifications:"Nie masz więcej powiadomień",migrated_to:"wyemigrował do",reacted_with:"zareagował z {0}",follow_request:"chce ciebie obserwować"},polls:{add_poll:"Dodaj ankietę",add_option:"Dodaj opcję",option:"Opcja",votes:"głosów",vote:"Głosuj",type:"Typ ankiety",single_choice:"jednokrotnego wyboru",multiple_choices:"wielokrotnego wyboru",expiry:"Czas trwania ankiety",expires_in:"Ankieta kończy się za {0}",expired:"Ankieta skończyła się {0} temu",not_enough_options:"Zbyt mało unikalnych opcji w ankiecie"},emoji:{stickers:"Naklejki",emoji:"Emoji",keep_open:"Zostaw selektor otwarty",search_emoji:"Wyszukaj emoji",add_emoji:"Wstaw emoji",custom:"Niestandardowe emoji",unicode:"Emoji unicode",load_all_hint:"Załadowano pierwsze {saneAmount} emoji, Załadowanie wszystkich emoji może spowodować problemy z wydajnością.",load_all:"Ładuję wszystkie {emojiAmount} emoji"},interactions:{favs_repeats:"Powtórzenia i ulubione",follows:"Nowi obserwujący",moves:"Użytkownik migruje",load_older:"Załaduj starsze interakcje"},post_status:{new_status:"Dodaj nowy status",account_not_locked_warning:"Twoje konto nie jest {0}. Każdy może cię zaobserwować aby zobaczyć wpisy tylko dla obserwujących.",account_not_locked_warning_link:"zablokowane",attachments_sensitive:"Oznacz załączniki jako wrażliwe",content_type:{"text/plain":"Czysty tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Temat (nieobowiązkowy)",default:"Właśnie wróciłem z kościoła",direct_warning_to_all:"Ten wpis zobaczą wszystkie osoby, o których wspomniałeś(-aś).",direct_warning_to_first_only:"Ten wpis zobaczą tylko te osoby, o których wspomniałeś(-aś) na początku wiadomości.",posting:"Wysyłanie",scope_notice:{public:"Ten post będzie widoczny dla każdego",private:"Ten post będzie widoczny tylko dla twoich obserwujących",unlisted:"Ten post nie będzie widoczny na publicznej osi czasu i całej znanej sieci"},scope:{direct:"Bezpośredni – Tylko dla wspomnianych użytkowników",private:"Tylko dla obserwujących – Umieść dla osób, które cię obserwują",public:"Publiczny – Umieść na publicznych osiach czasu",unlisted:"Niewidoczny – Nie umieszczaj na publicznych osiach czasu"}},registration:{bio:"Bio",email:"E-mail",fullname:"Wyświetlana nazwa profilu",password_confirm:"Potwierdzenie hasła",registration:"Rejestracja",token:"Token zaproszenia",captcha:"CAPTCHA",new_captcha:"Naciśnij na obrazek, aby dostać nowy kod captcha",username_placeholder:"np. lain",fullname_placeholder:"np. Lain Iwakura",bio_placeholder:"e.g.\nCześć, jestem Lain.\nJestem dziewczynką z anime żyjącą na peryferiach Japonii. Możesz znać mnie z Wired.",validations:{username_required:"nie może być pusta",fullname_required:"nie może być pusta",email_required:"nie może być pusty",password_required:"nie może być puste",password_confirmation_required:"nie może być puste",password_confirmation_match:"musi być takie jak hasło"}},remote_user_resolver:{remote_user_resolver:"Wyszukiwarka użytkowników nietutejszych",searching_for:"Szukam",error:"Nie znaleziono."},selectable_list:{select_all:"Zaznacz wszystko"},settings:{app_name:"Nazwa aplikacji",security:"Bezpieczeństwo",enter_current_password_to_confirm:"Wprowadź obecne hasło, by potwierdzić twoją tożsamość",mfa:{otp:"OTP",setup_otp:"Ustaw OTP",wait_pre_setup_otp:"początkowe ustawianie OTP",confirm_and_enable:"Potwierdź i włącz OTP",title:"Weryfikacja dwuetapowa",generate_new_recovery_codes:"Wygeneruj nowe kody zapasowe",warning_of_generate_new_codes:"Po tym gdy wygenerujesz nowe kody zapasowe, stare przestaną działać.",recovery_codes:"Kody zapasowe.",waiting_a_recovery_codes:"Otrzymuję kody zapasowe...",recovery_codes_warning:"Spisz kody na kartce papieru, albo zapisz je w bezpiecznym miejscu - inaczej nie zobaczysz ich już nigdy. Jeśli stracisz dostęp do twojej aplikacji 2FA i kodów zapasowych, nie będziesz miał(-a) dostępu do swojego konta.",authentication_methods:"Metody weryfikacji",scan:{title:"Skanuj",desc:"Zeskanuj ten kod QR używając twojej aplikacji 2FA albo wpisz ten klucz:",secret_code:"Klucz"},verify:{desc:"By włączyć weryfikację dwuetapową, wpisz kod z twojej aplikacji 2FA:"}},allow_following_move:"Zezwalaj na automatyczną obserwację gdy obserwowane konto migruje",attachmentRadius:"Załączniki",attachments:"Załączniki",autoload:"Włącz automatyczne ładowanie po przewinięciu do końca strony",avatar:"Awatar",avatarAltRadius:"Awatary (powiadomienia)",avatarRadius:"Awatary",background:"Tło",bio:"Bio",block_export:"Eksport blokad",block_export_button:"Eksportuj twoje blokady do pliku .csv",block_import:"Import blokad",block_import_error:"Wystąpił błąd podczas importowania blokad",blocks_imported:"Zaimportowano blokady, przetwarzanie może zająć trochę czasu.",blocks_tab:"Bloki",btnRadius:"Przyciski",cBlue:"Niebieski (odpowiedz, obserwuj)",cGreen:"Zielony (powtórzenia)",cOrange:"Pomarańczowy (ulubione)",cRed:"Czerwony (anuluj)",change_email:"Zmień email",change_email_error:"Wystąpił problem podczas zmiany emaila.",changed_email:"Pomyślnie zmieniono email!",change_password:"Zmień hasło",change_password_error:"Podczas zmiany hasła wystąpił problem.",changed_password:"Pomyślnie zmieniono hasło!",collapse_subject:"Zwijaj posty z tematami",composing:"Pisanie",confirm_new_password:"Potwierdź nowe hasło",current_avatar:"Twój obecny awatar",current_password:"Obecne hasło",current_profile_banner:"Twój obecny banner profilu",data_import_export_tab:"Import/eksport danych",default_vis:"Domyślny zakres widoczności",delete_account:"Usuń konto",delete_account_description:"Trwale usuń dane i zdezaktywuj konto.",delete_account_error:"Wystąpił problem z usuwaniem twojego konta. Jeżeli problem powtarza się, poinformuj administratora swojej instancji.",delete_account_instructions:"Wprowadź swoje hasło w poniższe pole aby potwierdzić usunięcie konta.",discoverable:"Zezwól na odkrywanie tego konta w wynikach wyszukiwania i innych usługach",domain_mutes:"Domeny",avatar_size_instruction:"Zalecany minimalny rozmiar awatarów to 150x150 pikseli.",pad_emoji:"Dodaj odstęp z obu stron emoji podczas dodawania selektorem",emoji_reactions_on_timeline:"Pokaż reakcje emoji na osi czasu",export_theme:"Zapisz motyw",filtering:"Filtrowanie",filtering_explanation:"Wszystkie statusy zawierające te słowa będą wyciszone. Jedno słowo na linijkę.",follow_export:"Eksport obserwowanych",follow_export_button:"Eksportuj swoją listę obserwowanych do pliku CSV",follow_import:"Import obserwowanych",follow_import_error:"Błąd przy importowaniu obserwowanych",follows_imported:"Obserwowani zaimportowani! Przetwarzanie może trochę potrwać.",accent:"Akcent",foreground:"Pierwszy plan",general:"Ogólne",hide_attachments_in_convo:"Ukrywaj załączniki w rozmowach",hide_attachments_in_tl:"Ukrywaj załączniki w osi czasu",hide_muted_posts:"Ukrywaj wpisy wyciszonych użytkowników",max_thumbnails:"Maksymalna liczba miniatur w poście",hide_isp:"Ukryj panel informacji o instancji",preload_images:"Ładuj wstępnie obrazy",use_one_click_nsfw:"Otwieraj załączniki NSFW jednym kliknięciem",hide_post_stats:"Ukrywaj statysyki postów (np. liczbę polubień)",hide_user_stats:"Ukrywaj statysyki użytkowników (np. liczbę obserwujących)",hide_filtered_statuses:"Ukrywaj filtrowane statusy",import_blocks_from_a_csv_file:"Importuj blokady z pliku CSV",import_followers_from_a_csv_file:"Importuj obserwowanych z pliku CSV",import_theme:"Załaduj motyw",inputRadius:"Pola tekstowe",checkboxRadius:"Pola wyboru",instance_default:"(domyślnie: {value})",instance_default_simple:"(domyślne)",interface:"Interfejs",interfaceLanguage:"Język interfejsu",invalid_theme_imported:"Wybrany plik nie jest obsługiwanym motywem Pleromy. Nie dokonano zmian w twoim motywie.",limited_availability:"Niedostępne w twojej przeglądarce",links:"Łącza",lock_account_description:"Spraw, by konto mogli wyświetlać tylko zatwierdzeni obserwujący",loop_video:"Zapętlaj filmy",loop_video_silent_only:"Zapętlaj tylko filmy bez dźwięku (np. mastodonowe „gify”)",mutes_tab:"Wyciszenia",play_videos_in_modal:"Odtwarzaj filmy bezpośrednio w przeglądarce mediów",use_contain_fit:"Nie przycinaj załączników na miniaturach",name:"Imię",name_bio:"Imię i bio",new_email:"Nowy email",new_password:"Nowe hasło",notification_visibility:"Rodzaje powiadomień do wyświetlania",notification_visibility_follows:"Obserwacje",notification_visibility_likes:"Ulubione",notification_visibility_mentions:"Wzmianki",notification_visibility_repeats:"Powtórzenia",notification_visibility_moves:"Użytkownik migruje",notification_visibility_emoji_reactions:"Reakcje",no_rich_text_description:"Usuwaj formatowanie ze wszystkich postów",no_blocks:"Bez blokad",no_mutes:"Bez wyciszeń",hide_follows_description:"Nie pokazuj kogo obserwuję",hide_followers_description:"Nie pokazuj kto mnie obserwuje",hide_follows_count_description:"Nie pokazuj licznika obserwowanych",hide_followers_count_description:"Nie pokazuj licznika obserwujących",show_admin_badge:"Pokazuj odznakę Administrator na moim profilu",show_moderator_badge:"Pokazuj odznakę Moderator na moim profilu",nsfw_clickthrough:"Włącz domyślne ukrywanie załączników o treści nieprzyzwoitej (NSFW)",oauth_tokens:"Tokeny OAuth",token:"Token",refresh_token:"Odśwież token",valid_until:"Ważne do",revoke_token:"Odwołać",panelRadius:"Panele",pause_on_unfocused:"Wstrzymuj strumieniowanie kiedy karta nie jest aktywna",presets:"Gotowe motywy",profile_background:"Tło profilu",profile_banner:"Banner profilu",profile_tab:"Profil",radii_help:"Ustaw zaokrąglenie krawędzi interfejsu (w pikselach)",replies_in_timeline:"Odpowiedzi na osi czasu",reply_link_preview:"Włącz dymek z podglądem postu po najechaniu na znak odpowiedzi",reply_visibility_all:"Pokazuj wszystkie odpowiedzi",reply_visibility_following:"Pokazuj tylko odpowiedzi skierowane do mnie i osób które obserwuję",reply_visibility_self:"Pokazuj tylko odpowiedzi skierowane do mnie",autohide_floating_post_button:'Ukryj automatycznie przycisk "Nowy post" (mobile)',saving_err:"Nie udało się zapisać ustawień",saving_ok:"Zapisano ustawienia",search_user_to_block:"Wyszukaj kogo chcesz zablokować",search_user_to_mute:"Wyszukaj kogo chcesz wyciszyć",security_tab:"Bezpieczeństwo",scope_copy:"Kopiuj zakres podczas odpowiadania (DM-y zawsze są kopiowane)",minimal_scopes_mode:"Zminimalizuj opcje wyboru zakresu postów",set_new_avatar:"Ustaw nowy awatar",set_new_profile_background:"Ustaw nowe tło profilu",set_new_profile_banner:"Ustaw nowy banner profilu",settings:"Ustawienia",subject_input_always_show:"Zawsze pokazuj pole tematu",subject_line_behavior:"Kopiuj temat podczas odpowiedzi",subject_line_email:"Jak w mailach – „re: temat”",subject_line_mastodon:"Jak na Mastodonie – po prostu kopiuj",subject_line_noop:"Nie kopiuj",post_status_content_type:"Post status content type",stop_gifs:"Odtwarzaj GIFy po najechaniu kursorem",streaming:"Włącz automatycznie strumieniowanie nowych postów gdy jesteś na początku strony",user_mutes:"Użytkownicy",useStreamingApi:"Otrzymuj posty i powiadomienia w czasie rzeczywistym",useStreamingApiWarning:"(Niezalecane, eksperymentalne, pomija posty)",text:"Tekst",theme:"Motyw",theme_help:"Użyj kolorów w notacji szesnastkowej (#rrggbb), by stworzyć swój motyw.",theme_help_v2_1:"Możesz też zastąpić kolory i widoczność poszczególnych komponentów przełączając pola wyboru, użyj „Wyczyść wszystko” aby usunąć wszystkie zastąpienia.",theme_help_v2_2:"Ikony pod niektórych wpisami są wskaźnikami kontrastu pomiędzy tłem a tekstem, po najechaniu na nie otrzymasz szczegółowe informacje. Zapamiętaj, że jeżeli używasz przezroczystości, wskaźniki pokazują najgorszy możliwy przypadek.",tooltipRadius:"Etykiety/alerty",type_domains_to_mute:"Wpisz domeny, które chcesz wyciszyć",upload_a_photo:"Wyślij zdjęcie",user_settings:"Ustawienia użytkownika",values:{false:"nie",true:"tak"},fun:"Zabawa",greentext:"Memiczne strzałki",notifications:"Powiadomienia",notification_setting:"Otrzymuj powiadomienia od:",notification_setting_follows:"Ludzi których obserwujesz",notification_setting_non_follows:"Ludzi których nie obserwujesz",notification_setting_followers:"Ludzi którzy obserwują ciebie",notification_setting_non_followers:"Ludzi którzy nie obserwują ciebie",notification_mutes:"By przestać otrzymywać powiadomienia od jednego użytkownika, wycisz go.",notification_blocks:"Blokowanie uzytkownika zatrzymuje wszystkie powiadomienia i odsubskrybowuje go.",enable_web_push_notifications:"Włącz powiadomienia push",style:{switcher:{keep_color:"Zachowaj kolory",keep_shadows:"Zachowaj cienie",keep_opacity:"Zachowaj widoczność",keep_roundness:"Zachowaj zaokrąglenie",keep_fonts:"Zachowaj czcionki",save_load_hint:"Opcje „zachowaj” pozwalają na pozostanie przy obecnych opcjach po wybraniu lub załadowaniu motywu, jak i przechowywanie ich podczas eksportowania motywu. Jeżeli wszystkie opcje są odznaczone, eksportowanie motywu spowoduje zapisanie wszystkiego.",reset:"Wyzeruj",clear_all:"Wyczyść wszystko",clear_opacity:"Wyczyść widoczność",load_theme:"Załaduj motyw",keep_as_is:"Zostaw po staremu",use_snapshot:"Stara wersja",use_source:"Nowa wersja",help:{upgraded_from_v2:"PleromaFE zostało zaaktualizowane, motyw może wyglądać nieco inaczej niż zapamiętałeś(-aś).",v2_imported:"Plik który zaimportowałeś(-aś) został stworzony dla starszego FE. Próbujemy zwiększyć kompatybilność, lecz wciąż mogą występować rozbieżności.",future_version_imported:"Plik który zaimportowałeś(-aś) został stworzony w nowszej wersji FE.",older_version_imported:"Plik który zaimportowałeś(-aś) został stworzony w starszej wersji FE.",snapshot_present:"Migawka motywu jest załadowana, więc wszystkie wartości zostały nadpisane. Zamiast tego możesz załadować właściwe dane motywu.",snapshot_missing:"Nie znaleziono migawki motywu w pliku, więc motyw może wyglądać inaczej niż pierwotnie zaplanowano.",fe_upgraded:"Silnik motywów PleromaFE został zaaktualizowany.",fe_downgraded:"Wersja PleromaFE została cofnięta.",migration_snapshot_ok:"Żeby być bezpiecznym, migawka motywu została załadowana. Możesz spróbować załadować dane motywu.",migration_napshot_gone:"Z jakiegoś powodu migawka zniknęła, niektóre rzeczy mogą wyglądać inaczej niż zapamiętałeś(-aś).",snapshot_source_mismatch:"Konflikt wersji: najprawdopodobniej FE zostało cofnięte do poprzedniej wersji i zaktualizowane ponownie, jeśli zmieniłeś(-aś) motyw używając starszej wersji FE, najprawdopodobniej chcesz używać starszej wersji, w przeciwnym razie użyj nowej wersji."}},common:{color:"Kolor",opacity:"Widoczność",contrast:{hint:"Współczynnik kontrastu wynosi {ratio}, {level} {context}",level:{aa:"spełnia wymogi poziomu AA (minimalne)",aaa:"spełnia wymogi poziomu AAA (zalecane)",bad:"nie spełnia żadnych wymogów dostępności"},context:{"18pt":"dla dużego tekstu (18pt+)",text:"dla tekstu"}}},common_colors:{_tab_label:"Ogólne",main:"Ogólne kolory",foreground_hint:"Zajrzyj do karty „Zaawansowane”, aby uzyskać dokładniejszą kontrolę",rgbo:"Ikony, wyróżnienia, odznaki"},advanced_colors:{_tab_label:"Zaawansowane",alert:"Tło alertu",alert_error:"Błąd",alert_warning:"Ostrzeżenie",alert_neutral:"Neutralne",post:"Posty/Bio użytkowników",badge:"Tło odznaki",popover:"Etykiety, menu, popovery",badge_notification:"Powiadomienie",panel_header:"Nagłówek panelu",top_bar:"Górny pasek",borders:"Granice",buttons:"Przyciski",inputs:"Pola wejścia",faint_text:"Zanikający tekst",underlay:"Podkład",poll:"Wykres ankiety",icons:"Ikony",highlight:"Podświetlone elementy",pressed:"Naciśnięte",selectedPost:"Wybrany post",selectedMenu:"Wybrany element menu",disabled:"Wyłączone",toggled:"Przełączone",tabs:"Karty"},radii:{_tab_label:"Zaokrąglenie"},shadows:{_tab_label:"Cień i podświetlenie",component:"Komponent",override:"Zastąp",shadow_id:"Cień #{value}",blur:"Rozmycie",spread:"Szerokość",inset:"Inset",hintV3:"Dla cieni możesz również użyć notacji {0} by użyć inny slot koloru.",filter_hint:{always_drop_shadow:"Ostrzeżenie, ten cień zawsze używa {0} jeżeli to obsługiwane przez przeglądarkę.",drop_shadow_syntax:"{0} nie obsługuje parametru {1} i słowa kluczowego {2}.",avatar_inset:"Pamiętaj że użycie jednocześnie cieni inset i nie inset na awatarach może dać nieoczekiwane wyniki z przezroczystymi awatarami.",spread_zero:"Cienie o ujemnej szerokości będą widoczne tak, jakby wynosiła ona zero",inset_classic:"Cienie inset będą używały {0}"},components:{panel:"Panel",panelHeader:"Nagłówek panelu",topBar:"Górny pasek",avatar:"Awatar użytkownika (w widoku profilu)",avatarStatus:"Awatar użytkownika (w widoku wpisu)",popup:"Wyskakujące okna i podpowiedzi",button:"Przycisk",buttonHover:"Przycisk (po najechaniu)",buttonPressed:"Przycisk (naciśnięty)",buttonPressedHover:"Przycisk(naciśnięty+najechany)",input:"Pole wejścia"}},fonts:{_tab_label:"Czcionki",help:"Wybierz czcionkę używaną przez elementy UI. Jeżeli wybierzesz niestandardową, musisz wpisać dokładnie tę nazwę, pod którą pojawia się w systemie.",components:{interface:"Interfejs",input:"Pola wejścia",post:"Tekst postu",postCode:"Tekst o stałej szerokości znaków w sformatowanym poście"},family:"Nazwa czcionki",size:"Rozmiar (w pikselach)",weight:"Grubość",custom:"Niestandardowa"},preview:{header:"Podgląd",content:"Zawartość",error:"Przykładowy błąd",button:"Przycisk",text:"Trochę więcej {0} i {1}",mono:"treści",input:"Właśnie wróciłem z kościoła",faint_link:"pomocny podręcznik",fine_print:"Przeczytaj nasz {0}, aby nie nauczyć się niczego przydatnego!",header_faint:"W porządku",checkbox:"Przeleciałem(-am) przez zasady użytkowania",link:"i fajny mały odnośnik"}},version:{title:"Wersja",backend_version:"Wersja back-endu",frontend_version:"Wersja front-endu"},notification_setting_privacy:"Prywatność",notification_setting_filters:"Filtry",notification_setting_privacy_option:"Ukryj nadawcę i zawartość powiadomień push"},time:{day:"{0} dzień",days:"{0} dni",day_short:"{0} d",days_short:"{0} d",hour:"{0} godzina",hours:"{0} godzin",hour_short:"{0} godz.",hours_short:"{0} godz.",in_future:"za {0}",in_past:"{0} temu",minute:"{0} minuta",minutes:"{0} minut",minute_short:"{0} min",minutes_short:"{0} min",month:"{0} miesiąc",months:"{0} miesięcy",month_short:"{0} mies.",months_short:"{0} mies.",now:"teraz",now_short:"teraz",second:"{0} sekunda",seconds:"{0} sekund",second_short:"{0} s",seconds_short:"{0} s",week:"{0} tydzień",weeks:"{0} tygodni",week_short:"{0} tydz.",weeks_short:"{0} tyg.",year:"{0} rok",years:"{0} lata",year_short:"{0} r.",years_short:"{0} lata"},timeline:{collapse:"Zwiń",conversation:"Rozmowa",error_fetching:"Błąd pobierania",load_older:"Załaduj starsze statusy",no_retweet_hint:"Wpis oznaczony jako tylko dla obserwujących lub bezpośredni nie może zostać powtórzony",repeated:"powtórzył(-a)",show_new:"Pokaż nowe",up_to_date:"Na bieżąco",no_more_statuses:"Brak kolejnych statusów",no_statuses:"Brak statusów"},status:{favorites:"Ulubione",repeats:"Powtórzenia",delete:"Usuń status",pin:"Przypnij na profilu",unpin:"Odepnij z profilu",pinned:"Przypnięte",delete_confirm:"Czy naprawdę chcesz usunąć ten status?",reply_to:"Odpowiedź dla",replies_list:"Odpowiedzi:",mute_conversation:"Wycisz konwersację",unmute_conversation:"Odcisz konwersację",status_unavailable:"Status niedostępny",copy_link:"Kopiuj link do statusu"},user_card:{approve:"Przyjmij",block:"Zablokuj",blocked:"Zablokowany!",deny:"Odrzuć",favorites:"Ulubione",follow:"Obserwuj",follow_sent:"Wysłano prośbę!",follow_progress:"Wysyłam prośbę…",follow_again:"Wysłać prośbę ponownie?",follow_unfollow:"Przestań obserwować",followees:"Obserwowani",followers:"Obserwujący",following:"Obserwowany!",follows_you:"Obserwuje cię!",hidden:"Ukryte",its_you:"To ty!",media:"Media",mention:"Wspomnienie",mute:"Wycisz",muted:"Wyciszony(-a)",per_day:"dziennie",remote_follow:"Zdalna obserwacja",report:"Zgłoś",statuses:"Statusy",subscribe:"Subskrybuj",unsubscribe:"Odsubskrybuj",unblock:"Odblokuj",unblock_progress:"Odblokowuję…",block_progress:"Blokuję…",unmute:"Cofnij wyciszenie",unmute_progress:"Cofam wyciszenie…",mute_progress:"Wyciszam…",hide_repeats:"Ukryj powtórzenia",show_repeats:"Pokaż powtórzenia",admin_menu:{moderation:"Moderacja",grant_admin:"Przyznaj admina",revoke_admin:"Odwołaj admina",grant_moderator:"Przyznaj moderatora",revoke_moderator:"Odwołaj moderatora",activate_account:"Aktywuj konto",deactivate_account:"Dezaktywuj konto",delete_account:"Usuń konto",force_nsfw:"Oznacz wszystkie posty jako NSFW",strip_media:"Usuń multimedia z postów",force_unlisted:"Wymuś posty na niepubliczne",sandbox:"Wymuś by posty były tylko dla obserwujących",disable_remote_subscription:"Zakaż obserwowania użytkownika ze zdalnych instancji",disable_any_subscription:"Zakaż całkowicie obserwowania użytkownika",quarantine:"Zakaż federowania postów od tego użytkownika",delete_user:"Usuń użytkownika",delete_user_confirmation:"Czy jesteś absolutnie pewny(-a)? Ta operacja nie może być cofnięta."}},user_profile:{timeline_title:"Oś czasu użytkownika",profile_does_not_exist:"Przepraszamy, ten profil nie istnieje.",profile_loading_error:"Przepraszamy, wystąpił błąd podczas ładowania tego profilu."},user_reporting:{title:"Raportowanie {0}",add_comment_description:"Zgłoszenie zostanie wysłane do moderatorów instancji. Możesz dodać powód dlaczego zgłaszasz owe konto poniżej:",additional_comments:"Dodatkowe komentarze",forward_description:"To konto jest z innego serwera. Wysłać również tam kopię zgłoszenia?",forward_to:"Przekaż do {0}",submit:"Wyślij",generic_error:"Wystąpił błąd podczas przetwarzania twojej prośby."},who_to_follow:{more:"Więcej",who_to_follow:"Propozycje obserwacji"},tool_tip:{media_upload:"Wyślij media",repeat:"Powtórz",reply:"Odpowiedz",favorite:"Dodaj do ulubionych",add_reaction:"Dodaj reakcję",user_settings:"Ustawienia użytkownika",accept_follow_request:"Akceptuj prośbę o możliwość obserwacji",reject_follow_request:"Odrzuć prośbę o możliwość obserwacji"},upload:{error:{base:"Wysyłanie nie powiodło się.",file_too_big:"Zbyt duży plik [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Spróbuj ponownie później"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Ludzie",hashtags:"Hasztagi",person_talking:"{count} osoba rozmawia o tym",people_talking:"{count} osób rozmawia o tym",no_results:"Brak wyników"},password_reset:{forgot_password:"Zapomniałeś(-aś) hasła?",password_reset:"Reset hasła",instruction:"Wprowadź swój adres email lub nazwę użytkownika. Wyślemy ci link z którym możesz zresetować hasło.",placeholder:"Twój email lub nazwa użytkownika",check_email:"Sprawdź pocztę, aby uzyskać link do zresetowania hasła.",return_home:"Wróć do strony głównej",not_found:"Nie mogliśmy znaleźć tego emaila lub nazwy użytkownika.",too_many_requests:"Przekroczyłeś(-aś) limit prób, spróbuj ponownie później.",password_reset_disabled:"Resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji.",password_reset_required:"Musisz zresetować hasło, by się zalogować.",password_reset_required_but_mailer_is_disabled:"Musisz zresetować hasło, ale resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji."}}}}]); -//# sourceMappingURL=25.79ac9e020d571b67f02a.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{576:function(e){e.exports={about:{mrf:{federation:"Federacja",keyword:{keyword_policies:"Zasady słów kluczowych",ftl_removal:'Usunięcie z "Całej znanej sieci"',reject:"Odrzucanie",replace:"Zastąpienie",is_replaced_by:"→"},mrf_policies:"Włączone zasady MRF",mrf_policies_desc:"Zasady MRF zmieniają zachowanie federowania instancji. Następujące zasady są włączone:",simple:{simple_policies:"Zasady specyficzne dla instancji",accept:"Akceptowanie",accept_desc:"Ta instancja akceptuje tylko posty z wymienionych instancji:",reject:"Odrzucanie",reject_desc:"Ta instancja odrzuca posty z wymienionych instancji:",quarantine:"Kwarantanna",quarantine_desc:"Ta instancja wysyła tylko publiczne posty do wymienionych instancji:",ftl_removal:'Usunięcie z "Całej znanej sieci"',ftl_removal_desc:'Ta instancja usuwa wymienionych instancje z "Całej znanej sieci":',media_removal:"Usuwanie multimediów",media_removal_desc:"Ta instancja usuwa multimedia z postów od wymienionych instancji:",media_nsfw:"Multimedia ustawione jako wrażliwe",media_nsfw_desc:"Ta instancja wymusza, by multimedia z wymienionych instancji były ustawione jako wrażliwe:"}},staff:"Administracja"},chat:{title:"Czat"},domain_mute_card:{mute:"Wycisz",mute_progress:"Wyciszam...",unmute:"Odcisz",unmute_progress:"Odciszam..."},exporter:{export:"Eksportuj",processing:"Przetwarzam, za chwilę zostaniesz zapytany(-na) o ściągnięcie pliku"},features_panel:{chat:"Czat",gopher:"Gopher",media_proxy:"Proxy mediów",scope_options:"Ustawienia zakresu",text_limit:"Limit tekstu",title:"Funkcje",who_to_follow:"Propozycje obserwacji"},finder:{error_fetching_user:"Błąd przy pobieraniu profilu",find_user:"Znajdź użytkownika"},general:{apply:"Zastosuj",submit:"Wyślij",more:"Więcej",generic_error:"Wystąpił błąd",optional:"nieobowiązkowe",show_more:"Pokaż więcej",show_less:"Pokaż mniej",dismiss:"Odrzuć",cancel:"Anuluj",disable:"Wyłącz",enable:"Włącz",confirm:"Potwierdź",verify:"Zweryfikuj"},image_cropper:{crop_picture:"Przytnij obrazek",save:"Zapisz",save_without_cropping:"Zapisz bez przycinania",cancel:"Anuluj"},importer:{submit:"Wyślij",success:"Zaimportowano pomyślnie.",error:"Wystąpił błąd podczas importowania pliku."},login:{login:"Zaloguj",description:"Zaloguj używając OAuth",logout:"Wyloguj",password:"Hasło",placeholder:"n.p. lain",register:"Zarejestruj",username:"Użytkownik",hint:"Zaloguj się, aby dołączyć do dyskusji",authentication_code:"Kod weryfikacyjny",enter_recovery_code:"Wprowadź kod zapasowy",enter_two_factor_code:"Wprowadź kod weryfikacyjny",recovery_code:"Kod zapasowy",heading:{totp:"Weryfikacja dwuetapowa",recovery:"Zapasowa weryfikacja dwuetapowa"}},media_modal:{previous:"Poprzednie",next:"Następne"},nav:{about:"O nas",administration:"Administracja",back:"Wróć",chat:"Lokalny czat",friend_requests:"Prośby o możliwość obserwacji",mentions:"Wzmianki",interactions:"Interakcje",dms:"Wiadomości prywatne",public_tl:"Publiczna oś czasu",timeline:"Oś czasu",twkn:"Cała znana sieć",user_search:"Wyszukiwanie użytkowników",search:"Wyszukiwanie",who_to_follow:"Sugestie obserwacji",preferences:"Preferencje"},notifications:{broken_favorite:"Nieznany status, szukam go…",favorited_you:"dodał(-a) twój status do ulubionych",followed_you:"obserwuje cię",load_older:"Załaduj starsze powiadomienia",notifications:"Powiadomienia",read:"Przeczytane!",repeated_you:"powtórzył(-a) twój status",no_more_notifications:"Nie masz więcej powiadomień",migrated_to:"wyemigrował do",reacted_with:"zareagował z {0}",follow_request:"chce ciebie obserwować"},polls:{add_poll:"Dodaj ankietę",add_option:"Dodaj opcję",option:"Opcja",votes:"głosów",vote:"Głosuj",type:"Typ ankiety",single_choice:"jednokrotnego wyboru",multiple_choices:"wielokrotnego wyboru",expiry:"Czas trwania ankiety",expires_in:"Ankieta kończy się za {0}",expired:"Ankieta skończyła się {0} temu",not_enough_options:"Zbyt mało unikalnych opcji w ankiecie"},emoji:{stickers:"Naklejki",emoji:"Emoji",keep_open:"Zostaw selektor otwarty",search_emoji:"Wyszukaj emoji",add_emoji:"Wstaw emoji",custom:"Niestandardowe emoji",unicode:"Emoji unicode",load_all_hint:"Załadowano pierwsze {saneAmount} emoji, Załadowanie wszystkich emoji może spowodować problemy z wydajnością.",load_all:"Ładuję wszystkie {emojiAmount} emoji"},interactions:{favs_repeats:"Powtórzenia i ulubione",follows:"Nowi obserwujący",moves:"Użytkownik migruje",load_older:"Załaduj starsze interakcje"},post_status:{new_status:"Dodaj nowy status",account_not_locked_warning:"Twoje konto nie jest {0}. Każdy może cię zaobserwować aby zobaczyć wpisy tylko dla obserwujących.",account_not_locked_warning_link:"zablokowane",attachments_sensitive:"Oznacz załączniki jako wrażliwe",content_type:{"text/plain":"Czysty tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"Temat (nieobowiązkowy)",default:"Właśnie wróciłem z kościoła",direct_warning_to_all:"Ten wpis zobaczą wszystkie osoby, o których wspomniałeś(-aś).",direct_warning_to_first_only:"Ten wpis zobaczą tylko te osoby, o których wspomniałeś(-aś) na początku wiadomości.",posting:"Wysyłanie",scope_notice:{public:"Ten post będzie widoczny dla każdego",private:"Ten post będzie widoczny tylko dla twoich obserwujących",unlisted:"Ten post nie będzie widoczny na publicznej osi czasu i całej znanej sieci"},scope:{direct:"Bezpośredni – Tylko dla wspomnianych użytkowników",private:"Tylko dla obserwujących – Umieść dla osób, które cię obserwują",public:"Publiczny – Umieść na publicznych osiach czasu",unlisted:"Niewidoczny – Nie umieszczaj na publicznych osiach czasu"}},registration:{bio:"Bio",email:"E-mail",fullname:"Wyświetlana nazwa profilu",password_confirm:"Potwierdzenie hasła",registration:"Rejestracja",token:"Token zaproszenia",captcha:"CAPTCHA",new_captcha:"Naciśnij na obrazek, aby dostać nowy kod captcha",username_placeholder:"np. lain",fullname_placeholder:"np. Lain Iwakura",bio_placeholder:"e.g.\nCześć, jestem Lain.\nJestem dziewczynką z anime żyjącą na peryferiach Japonii. Możesz znać mnie z Wired.",validations:{username_required:"nie może być pusta",fullname_required:"nie może być pusta",email_required:"nie może być pusty",password_required:"nie może być puste",password_confirmation_required:"nie może być puste",password_confirmation_match:"musi być takie jak hasło"}},remote_user_resolver:{remote_user_resolver:"Wyszukiwarka użytkowników nietutejszych",searching_for:"Szukam",error:"Nie znaleziono."},selectable_list:{select_all:"Zaznacz wszystko"},settings:{app_name:"Nazwa aplikacji",security:"Bezpieczeństwo",enter_current_password_to_confirm:"Wprowadź obecne hasło, by potwierdzić twoją tożsamość",mfa:{otp:"OTP",setup_otp:"Ustaw OTP",wait_pre_setup_otp:"początkowe ustawianie OTP",confirm_and_enable:"Potwierdź i włącz OTP",title:"Weryfikacja dwuetapowa",generate_new_recovery_codes:"Wygeneruj nowe kody zapasowe",warning_of_generate_new_codes:"Po tym gdy wygenerujesz nowe kody zapasowe, stare przestaną działać.",recovery_codes:"Kody zapasowe.",waiting_a_recovery_codes:"Otrzymuję kody zapasowe...",recovery_codes_warning:"Spisz kody na kartce papieru, albo zapisz je w bezpiecznym miejscu - inaczej nie zobaczysz ich już nigdy. Jeśli stracisz dostęp do twojej aplikacji 2FA i kodów zapasowych, nie będziesz miał(-a) dostępu do swojego konta.",authentication_methods:"Metody weryfikacji",scan:{title:"Skanuj",desc:"Zeskanuj ten kod QR używając twojej aplikacji 2FA albo wpisz ten klucz:",secret_code:"Klucz"},verify:{desc:"By włączyć weryfikację dwuetapową, wpisz kod z twojej aplikacji 2FA:"}},allow_following_move:"Zezwalaj na automatyczną obserwację gdy obserwowane konto migruje",attachmentRadius:"Załączniki",attachments:"Załączniki",autoload:"Włącz automatyczne ładowanie po przewinięciu do końca strony",avatar:"Awatar",avatarAltRadius:"Awatary (powiadomienia)",avatarRadius:"Awatary",background:"Tło",bio:"Bio",block_export:"Eksport blokad",block_export_button:"Eksportuj twoje blokady do pliku .csv",block_import:"Import blokad",block_import_error:"Wystąpił błąd podczas importowania blokad",blocks_imported:"Zaimportowano blokady, przetwarzanie może zająć trochę czasu.",blocks_tab:"Bloki",btnRadius:"Przyciski",cBlue:"Niebieski (odpowiedz, obserwuj)",cGreen:"Zielony (powtórzenia)",cOrange:"Pomarańczowy (ulubione)",cRed:"Czerwony (anuluj)",change_email:"Zmień email",change_email_error:"Wystąpił problem podczas zmiany emaila.",changed_email:"Pomyślnie zmieniono email!",change_password:"Zmień hasło",change_password_error:"Podczas zmiany hasła wystąpił problem.",changed_password:"Pomyślnie zmieniono hasło!",collapse_subject:"Zwijaj posty z tematami",composing:"Pisanie",confirm_new_password:"Potwierdź nowe hasło",current_avatar:"Twój obecny awatar",current_password:"Obecne hasło",current_profile_banner:"Twój obecny banner profilu",data_import_export_tab:"Import/eksport danych",default_vis:"Domyślny zakres widoczności",delete_account:"Usuń konto",delete_account_description:"Trwale usuń dane i zdezaktywuj konto.",delete_account_error:"Wystąpił problem z usuwaniem twojego konta. Jeżeli problem powtarza się, poinformuj administratora swojej instancji.",delete_account_instructions:"Wprowadź swoje hasło w poniższe pole aby potwierdzić usunięcie konta.",discoverable:"Zezwól na odkrywanie tego konta w wynikach wyszukiwania i innych usługach",domain_mutes:"Domeny",avatar_size_instruction:"Zalecany minimalny rozmiar awatarów to 150x150 pikseli.",pad_emoji:"Dodaj odstęp z obu stron emoji podczas dodawania selektorem",emoji_reactions_on_timeline:"Pokaż reakcje emoji na osi czasu",export_theme:"Zapisz motyw",filtering:"Filtrowanie",filtering_explanation:"Wszystkie statusy zawierające te słowa będą wyciszone. Jedno słowo na linijkę.",follow_export:"Eksport obserwowanych",follow_export_button:"Eksportuj swoją listę obserwowanych do pliku CSV",follow_import:"Import obserwowanych",follow_import_error:"Błąd przy importowaniu obserwowanych",follows_imported:"Obserwowani zaimportowani! Przetwarzanie może trochę potrwać.",accent:"Akcent",foreground:"Pierwszy plan",general:"Ogólne",hide_attachments_in_convo:"Ukrywaj załączniki w rozmowach",hide_attachments_in_tl:"Ukrywaj załączniki w osi czasu",hide_muted_posts:"Ukrywaj wpisy wyciszonych użytkowników",max_thumbnails:"Maksymalna liczba miniatur w poście",hide_isp:"Ukryj panel informacji o instancji",preload_images:"Ładuj wstępnie obrazy",use_one_click_nsfw:"Otwieraj załączniki NSFW jednym kliknięciem",hide_post_stats:"Ukrywaj statysyki postów (np. liczbę polubień)",hide_user_stats:"Ukrywaj statysyki użytkowników (np. liczbę obserwujących)",hide_filtered_statuses:"Ukrywaj filtrowane statusy",import_blocks_from_a_csv_file:"Importuj blokady z pliku CSV",import_followers_from_a_csv_file:"Importuj obserwowanych z pliku CSV",import_theme:"Załaduj motyw",inputRadius:"Pola tekstowe",checkboxRadius:"Pola wyboru",instance_default:"(domyślnie: {value})",instance_default_simple:"(domyślne)",interface:"Interfejs",interfaceLanguage:"Język interfejsu",invalid_theme_imported:"Wybrany plik nie jest obsługiwanym motywem Pleromy. Nie dokonano zmian w twoim motywie.",limited_availability:"Niedostępne w twojej przeglądarce",links:"Łącza",lock_account_description:"Spraw, by konto mogli wyświetlać tylko zatwierdzeni obserwujący",loop_video:"Zapętlaj filmy",loop_video_silent_only:"Zapętlaj tylko filmy bez dźwięku (np. mastodonowe „gify”)",mutes_tab:"Wyciszenia",play_videos_in_modal:"Odtwarzaj filmy bezpośrednio w przeglądarce mediów",use_contain_fit:"Nie przycinaj załączników na miniaturach",name:"Imię",name_bio:"Imię i bio",new_email:"Nowy email",new_password:"Nowe hasło",notification_visibility:"Rodzaje powiadomień do wyświetlania",notification_visibility_follows:"Obserwacje",notification_visibility_likes:"Ulubione",notification_visibility_mentions:"Wzmianki",notification_visibility_repeats:"Powtórzenia",notification_visibility_moves:"Użytkownik migruje",notification_visibility_emoji_reactions:"Reakcje",no_rich_text_description:"Usuwaj formatowanie ze wszystkich postów",no_blocks:"Bez blokad",no_mutes:"Bez wyciszeń",hide_follows_description:"Nie pokazuj kogo obserwuję",hide_followers_description:"Nie pokazuj kto mnie obserwuje",hide_follows_count_description:"Nie pokazuj licznika obserwowanych",hide_followers_count_description:"Nie pokazuj licznika obserwujących",show_admin_badge:"Pokazuj odznakę Administrator na moim profilu",show_moderator_badge:"Pokazuj odznakę Moderator na moim profilu",nsfw_clickthrough:"Włącz domyślne ukrywanie załączników o treści nieprzyzwoitej (NSFW)",oauth_tokens:"Tokeny OAuth",token:"Token",refresh_token:"Odśwież token",valid_until:"Ważne do",revoke_token:"Odwołać",panelRadius:"Panele",pause_on_unfocused:"Wstrzymuj strumieniowanie kiedy karta nie jest aktywna",presets:"Gotowe motywy",profile_background:"Tło profilu",profile_banner:"Banner profilu",profile_tab:"Profil",radii_help:"Ustaw zaokrąglenie krawędzi interfejsu (w pikselach)",replies_in_timeline:"Odpowiedzi na osi czasu",reply_link_preview:"Włącz dymek z podglądem postu po najechaniu na znak odpowiedzi",reply_visibility_all:"Pokazuj wszystkie odpowiedzi",reply_visibility_following:"Pokazuj tylko odpowiedzi skierowane do mnie i osób które obserwuję",reply_visibility_self:"Pokazuj tylko odpowiedzi skierowane do mnie",autohide_floating_post_button:'Ukryj automatycznie przycisk "Nowy post" (mobile)',saving_err:"Nie udało się zapisać ustawień",saving_ok:"Zapisano ustawienia",search_user_to_block:"Wyszukaj kogo chcesz zablokować",search_user_to_mute:"Wyszukaj kogo chcesz wyciszyć",security_tab:"Bezpieczeństwo",scope_copy:"Kopiuj zakres podczas odpowiadania (DM-y zawsze są kopiowane)",minimal_scopes_mode:"Zminimalizuj opcje wyboru zakresu postów",set_new_avatar:"Ustaw nowy awatar",set_new_profile_background:"Ustaw nowe tło profilu",set_new_profile_banner:"Ustaw nowy banner profilu",settings:"Ustawienia",subject_input_always_show:"Zawsze pokazuj pole tematu",subject_line_behavior:"Kopiuj temat podczas odpowiedzi",subject_line_email:"Jak w mailach – „re: temat”",subject_line_mastodon:"Jak na Mastodonie – po prostu kopiuj",subject_line_noop:"Nie kopiuj",post_status_content_type:"Post status content type",stop_gifs:"Odtwarzaj GIFy po najechaniu kursorem",streaming:"Włącz automatycznie strumieniowanie nowych postów gdy jesteś na początku strony",user_mutes:"Użytkownicy",useStreamingApi:"Otrzymuj posty i powiadomienia w czasie rzeczywistym",useStreamingApiWarning:"(Niezalecane, eksperymentalne, pomija posty)",text:"Tekst",theme:"Motyw",theme_help:"Użyj kolorów w notacji szesnastkowej (#rrggbb), by stworzyć swój motyw.",theme_help_v2_1:"Możesz też zastąpić kolory i widoczność poszczególnych komponentów przełączając pola wyboru, użyj „Wyczyść wszystko” aby usunąć wszystkie zastąpienia.",theme_help_v2_2:"Ikony pod niektórych wpisami są wskaźnikami kontrastu pomiędzy tłem a tekstem, po najechaniu na nie otrzymasz szczegółowe informacje. Zapamiętaj, że jeżeli używasz przezroczystości, wskaźniki pokazują najgorszy możliwy przypadek.",tooltipRadius:"Etykiety/alerty",type_domains_to_mute:"Wpisz domeny, które chcesz wyciszyć",upload_a_photo:"Wyślij zdjęcie",user_settings:"Ustawienia użytkownika",values:{false:"nie",true:"tak"},fun:"Zabawa",greentext:"Memiczne strzałki",notifications:"Powiadomienia",notification_setting:"Otrzymuj powiadomienia od:",notification_setting_follows:"Ludzi których obserwujesz",notification_setting_non_follows:"Ludzi których nie obserwujesz",notification_setting_followers:"Ludzi którzy obserwują ciebie",notification_setting_non_followers:"Ludzi którzy nie obserwują ciebie",notification_mutes:"By przestać otrzymywać powiadomienia od jednego użytkownika, wycisz go.",notification_blocks:"Blokowanie uzytkownika zatrzymuje wszystkie powiadomienia i odsubskrybowuje go.",enable_web_push_notifications:"Włącz powiadomienia push",style:{switcher:{keep_color:"Zachowaj kolory",keep_shadows:"Zachowaj cienie",keep_opacity:"Zachowaj widoczność",keep_roundness:"Zachowaj zaokrąglenie",keep_fonts:"Zachowaj czcionki",save_load_hint:"Opcje „zachowaj” pozwalają na pozostanie przy obecnych opcjach po wybraniu lub załadowaniu motywu, jak i przechowywanie ich podczas eksportowania motywu. Jeżeli wszystkie opcje są odznaczone, eksportowanie motywu spowoduje zapisanie wszystkiego.",reset:"Wyzeruj",clear_all:"Wyczyść wszystko",clear_opacity:"Wyczyść widoczność",load_theme:"Załaduj motyw",keep_as_is:"Zostaw po staremu",use_snapshot:"Stara wersja",use_source:"Nowa wersja",help:{upgraded_from_v2:"PleromaFE zostało zaaktualizowane, motyw może wyglądać nieco inaczej niż zapamiętałeś(-aś).",v2_imported:"Plik który zaimportowałeś(-aś) został stworzony dla starszego FE. Próbujemy zwiększyć kompatybilność, lecz wciąż mogą występować rozbieżności.",future_version_imported:"Plik który zaimportowałeś(-aś) został stworzony w nowszej wersji FE.",older_version_imported:"Plik który zaimportowałeś(-aś) został stworzony w starszej wersji FE.",snapshot_present:"Migawka motywu jest załadowana, więc wszystkie wartości zostały nadpisane. Zamiast tego możesz załadować właściwe dane motywu.",snapshot_missing:"Nie znaleziono migawki motywu w pliku, więc motyw może wyglądać inaczej niż pierwotnie zaplanowano.",fe_upgraded:"Silnik motywów PleromaFE został zaaktualizowany.",fe_downgraded:"Wersja PleromaFE została cofnięta.",migration_snapshot_ok:"Żeby być bezpiecznym, migawka motywu została załadowana. Możesz spróbować załadować dane motywu.",migration_napshot_gone:"Z jakiegoś powodu migawka zniknęła, niektóre rzeczy mogą wyglądać inaczej niż zapamiętałeś(-aś).",snapshot_source_mismatch:"Konflikt wersji: najprawdopodobniej FE zostało cofnięte do poprzedniej wersji i zaktualizowane ponownie, jeśli zmieniłeś(-aś) motyw używając starszej wersji FE, najprawdopodobniej chcesz używać starszej wersji, w przeciwnym razie użyj nowej wersji."}},common:{color:"Kolor",opacity:"Widoczność",contrast:{hint:"Współczynnik kontrastu wynosi {ratio}, {level} {context}",level:{aa:"spełnia wymogi poziomu AA (minimalne)",aaa:"spełnia wymogi poziomu AAA (zalecane)",bad:"nie spełnia żadnych wymogów dostępności"},context:{"18pt":"dla dużego tekstu (18pt+)",text:"dla tekstu"}}},common_colors:{_tab_label:"Ogólne",main:"Ogólne kolory",foreground_hint:"Zajrzyj do karty „Zaawansowane”, aby uzyskać dokładniejszą kontrolę",rgbo:"Ikony, wyróżnienia, odznaki"},advanced_colors:{_tab_label:"Zaawansowane",alert:"Tło alertu",alert_error:"Błąd",alert_warning:"Ostrzeżenie",alert_neutral:"Neutralne",post:"Posty/Bio użytkowników",badge:"Tło odznaki",popover:"Etykiety, menu, popovery",badge_notification:"Powiadomienie",panel_header:"Nagłówek panelu",top_bar:"Górny pasek",borders:"Granice",buttons:"Przyciski",inputs:"Pola wejścia",faint_text:"Zanikający tekst",underlay:"Podkład",poll:"Wykres ankiety",icons:"Ikony",highlight:"Podświetlone elementy",pressed:"Naciśnięte",selectedPost:"Wybrany post",selectedMenu:"Wybrany element menu",disabled:"Wyłączone",toggled:"Przełączone",tabs:"Karty"},radii:{_tab_label:"Zaokrąglenie"},shadows:{_tab_label:"Cień i podświetlenie",component:"Komponent",override:"Zastąp",shadow_id:"Cień #{value}",blur:"Rozmycie",spread:"Szerokość",inset:"Inset",hintV3:"Dla cieni możesz również użyć notacji {0} by użyć inny slot koloru.",filter_hint:{always_drop_shadow:"Ostrzeżenie, ten cień zawsze używa {0} jeżeli to obsługiwane przez przeglądarkę.",drop_shadow_syntax:"{0} nie obsługuje parametru {1} i słowa kluczowego {2}.",avatar_inset:"Pamiętaj że użycie jednocześnie cieni inset i nie inset na awatarach może dać nieoczekiwane wyniki z przezroczystymi awatarami.",spread_zero:"Cienie o ujemnej szerokości będą widoczne tak, jakby wynosiła ona zero",inset_classic:"Cienie inset będą używały {0}"},components:{panel:"Panel",panelHeader:"Nagłówek panelu",topBar:"Górny pasek",avatar:"Awatar użytkownika (w widoku profilu)",avatarStatus:"Awatar użytkownika (w widoku wpisu)",popup:"Wyskakujące okna i podpowiedzi",button:"Przycisk",buttonHover:"Przycisk (po najechaniu)",buttonPressed:"Przycisk (naciśnięty)",buttonPressedHover:"Przycisk(naciśnięty+najechany)",input:"Pole wejścia"}},fonts:{_tab_label:"Czcionki",help:"Wybierz czcionkę używaną przez elementy UI. Jeżeli wybierzesz niestandardową, musisz wpisać dokładnie tę nazwę, pod którą pojawia się w systemie.",components:{interface:"Interfejs",input:"Pola wejścia",post:"Tekst postu",postCode:"Tekst o stałej szerokości znaków w sformatowanym poście"},family:"Nazwa czcionki",size:"Rozmiar (w pikselach)",weight:"Grubość",custom:"Niestandardowa"},preview:{header:"Podgląd",content:"Zawartość",error:"Przykładowy błąd",button:"Przycisk",text:"Trochę więcej {0} i {1}",mono:"treści",input:"Właśnie wróciłem z kościoła",faint_link:"pomocny podręcznik",fine_print:"Przeczytaj nasz {0}, aby nie nauczyć się niczego przydatnego!",header_faint:"W porządku",checkbox:"Przeleciałem(-am) przez zasady użytkowania",link:"i fajny mały odnośnik"}},version:{title:"Wersja",backend_version:"Wersja back-endu",frontend_version:"Wersja front-endu"},notification_setting_privacy:"Prywatność",notification_setting_filters:"Filtry",notification_setting_privacy_option:"Ukryj nadawcę i zawartość powiadomień push"},time:{day:"{0} dzień",days:"{0} dni",day_short:"{0} d",days_short:"{0} d",hour:"{0} godzina",hours:"{0} godzin",hour_short:"{0} godz.",hours_short:"{0} godz.",in_future:"za {0}",in_past:"{0} temu",minute:"{0} minuta",minutes:"{0} minut",minute_short:"{0} min",minutes_short:"{0} min",month:"{0} miesiąc",months:"{0} miesięcy",month_short:"{0} mies.",months_short:"{0} mies.",now:"teraz",now_short:"teraz",second:"{0} sekunda",seconds:"{0} sekund",second_short:"{0} s",seconds_short:"{0} s",week:"{0} tydzień",weeks:"{0} tygodni",week_short:"{0} tydz.",weeks_short:"{0} tyg.",year:"{0} rok",years:"{0} lata",year_short:"{0} r.",years_short:"{0} lata"},timeline:{collapse:"Zwiń",conversation:"Rozmowa",error_fetching:"Błąd pobierania",load_older:"Załaduj starsze statusy",no_retweet_hint:"Wpis oznaczony jako tylko dla obserwujących lub bezpośredni nie może zostać powtórzony",repeated:"powtórzył(-a)",show_new:"Pokaż nowe",up_to_date:"Na bieżąco",no_more_statuses:"Brak kolejnych statusów",no_statuses:"Brak statusów"},status:{favorites:"Ulubione",repeats:"Powtórzenia",delete:"Usuń status",pin:"Przypnij na profilu",unpin:"Odepnij z profilu",pinned:"Przypnięte",delete_confirm:"Czy naprawdę chcesz usunąć ten status?",reply_to:"Odpowiedź dla",replies_list:"Odpowiedzi:",mute_conversation:"Wycisz konwersację",unmute_conversation:"Odcisz konwersację",status_unavailable:"Status niedostępny",copy_link:"Kopiuj link do statusu"},user_card:{approve:"Przyjmij",block:"Zablokuj",blocked:"Zablokowany!",deny:"Odrzuć",favorites:"Ulubione",follow:"Obserwuj",follow_sent:"Wysłano prośbę!",follow_progress:"Wysyłam prośbę…",follow_again:"Wysłać prośbę ponownie?",follow_unfollow:"Przestań obserwować",followees:"Obserwowani",followers:"Obserwujący",following:"Obserwowany!",follows_you:"Obserwuje cię!",hidden:"Ukryte",its_you:"To ty!",media:"Media",mention:"Wspomnienie",mute:"Wycisz",muted:"Wyciszony(-a)",per_day:"dziennie",remote_follow:"Zdalna obserwacja",report:"Zgłoś",statuses:"Statusy",subscribe:"Subskrybuj",unsubscribe:"Odsubskrybuj",unblock:"Odblokuj",unblock_progress:"Odblokowuję…",block_progress:"Blokuję…",unmute:"Cofnij wyciszenie",unmute_progress:"Cofam wyciszenie…",mute_progress:"Wyciszam…",hide_repeats:"Ukryj powtórzenia",show_repeats:"Pokaż powtórzenia",admin_menu:{moderation:"Moderacja",grant_admin:"Przyznaj admina",revoke_admin:"Odwołaj admina",grant_moderator:"Przyznaj moderatora",revoke_moderator:"Odwołaj moderatora",activate_account:"Aktywuj konto",deactivate_account:"Dezaktywuj konto",delete_account:"Usuń konto",force_nsfw:"Oznacz wszystkie posty jako NSFW",strip_media:"Usuń multimedia z postów",force_unlisted:"Wymuś posty na niepubliczne",sandbox:"Wymuś by posty były tylko dla obserwujących",disable_remote_subscription:"Zakaż obserwowania użytkownika ze zdalnych instancji",disable_any_subscription:"Zakaż całkowicie obserwowania użytkownika",quarantine:"Zakaż federowania postów od tego użytkownika",delete_user:"Usuń użytkownika",delete_user_confirmation:"Czy jesteś absolutnie pewny(-a)? Ta operacja nie może być cofnięta."}},user_profile:{timeline_title:"Oś czasu użytkownika",profile_does_not_exist:"Przepraszamy, ten profil nie istnieje.",profile_loading_error:"Przepraszamy, wystąpił błąd podczas ładowania tego profilu."},user_reporting:{title:"Raportowanie {0}",add_comment_description:"Zgłoszenie zostanie wysłane do moderatorów instancji. Możesz dodać powód dlaczego zgłaszasz owe konto poniżej:",additional_comments:"Dodatkowe komentarze",forward_description:"To konto jest z innego serwera. Wysłać również tam kopię zgłoszenia?",forward_to:"Przekaż do {0}",submit:"Wyślij",generic_error:"Wystąpił błąd podczas przetwarzania twojej prośby."},who_to_follow:{more:"Więcej",who_to_follow:"Propozycje obserwacji"},tool_tip:{media_upload:"Wyślij media",repeat:"Powtórz",reply:"Odpowiedz",favorite:"Dodaj do ulubionych",add_reaction:"Dodaj reakcję",user_settings:"Ustawienia użytkownika",accept_follow_request:"Akceptuj prośbę o możliwość obserwacji",reject_follow_request:"Odrzuć prośbę o możliwość obserwacji"},upload:{error:{base:"Wysyłanie nie powiodło się.",file_too_big:"Zbyt duży plik [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Spróbuj ponownie później"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"Ludzie",hashtags:"Hasztagi",person_talking:"{count} osoba rozmawia o tym",people_talking:"{count} osób rozmawia o tym",no_results:"Brak wyników"},password_reset:{forgot_password:"Zapomniałeś(-aś) hasła?",password_reset:"Reset hasła",instruction:"Wprowadź swój adres email lub nazwę użytkownika. Wyślemy ci link z którym możesz zresetować hasło.",placeholder:"Twój email lub nazwa użytkownika",check_email:"Sprawdź pocztę, aby uzyskać link do zresetowania hasła.",return_home:"Wróć do strony głównej",not_found:"Nie mogliśmy znaleźć tego emaila lub nazwy użytkownika.",too_many_requests:"Przekroczyłeś(-aś) limit prób, spróbuj ponownie później.",password_reset_disabled:"Resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji.",password_reset_required:"Musisz zresetować hasło, by się zalogować.",password_reset_required_but_mailer_is_disabled:"Musisz zresetować hasło, ale resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji."}}}}]); +//# sourceMappingURL=25.886acc9ba83c64659279.js.map \ No newline at end of file diff --git a/priv/static/static/js/25.886acc9ba83c64659279.js.map b/priv/static/static/js/25.886acc9ba83c64659279.js.map new file mode 100644 index 000000000..c39f71238 --- /dev/null +++ b/priv/static/static/js/25.886acc9ba83c64659279.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/25.886acc9ba83c64659279.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/26.3af8f54349f672f2c7c8.js.map b/priv/static/static/js/26.3af8f54349f672f2c7c8.js.map deleted file mode 100644 index b30d820f8..000000000 --- a/priv/static/static/js/26.3af8f54349f672f2c7c8.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/26.3af8f54349f672f2c7c8.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/26.3af8f54349f672f2c7c8.js b/priv/static/static/js/26.e15b1645079c72c60586.js similarity index 99% rename from priv/static/static/js/26.3af8f54349f672f2c7c8.js rename to priv/static/static/js/26.e15b1645079c72c60586.js index ea37ad7d1..303170088 100644 --- a/priv/static/static/js/26.3af8f54349f672f2c7c8.js +++ b/priv/static/static/js/26.e15b1645079c72c60586.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{559:function(e){e.exports={chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Proxy de mídia",scope_options:"Opções de privacidade",text_limit:"Limite de caracteres",title:"Funções",who_to_follow:"Quem seguir"},finder:{error_fetching_user:"Erro ao procurar usuário",find_user:"Buscar usuário"},general:{apply:"Aplicar",submit:"Enviar",more:"Mais",generic_error:"Houve um erro",optional:"opcional"},image_cropper:{crop_picture:"Cortar imagem",save:"Salvar",cancel:"Cancelar"},login:{login:"Entrar",description:"Entrar com OAuth",logout:"Sair",password:"Senha",placeholder:"p.e. lain",register:"Registrar",username:"Usuário",hint:"Entre para participar da discussão"},media_modal:{previous:"Anterior",next:"Próximo"},nav:{about:"Sobre",back:"Voltar",chat:"Chat local",friend_requests:"Solicitações de seguidores",mentions:"Menções",dms:"Mensagens diretas",public_tl:"Linha do tempo pública",timeline:"Linha do tempo",twkn:"Toda a rede conhecida",user_search:"Buscar usuários",who_to_follow:"Quem seguir",preferences:"Preferências"},notifications:{broken_favorite:"Status desconhecido, buscando...",favorited_you:"favoritou sua postagem",followed_you:"seguiu você",load_older:"Carregar notificações antigas",notifications:"Notificações",read:"Lido!",repeated_you:"repetiu sua postagem",no_more_notifications:"Mais nenhuma notificação"},post_status:{new_status:"Postar novo status",account_not_locked_warning:"Sua conta não é {0}. Qualquer pessoa pode te seguir e ver seus posts privados (só para seguidores).",account_not_locked_warning_link:"restrita",attachments_sensitive:"Marcar anexos como sensíveis",content_type:{"text/plain":"Texto puro"},content_warning:"Assunto (opcional)",default:"Acabei de chegar no Rio!",direct_warning:"Este post será visível apenas para os usuários mencionados.",posting:"Publicando",scope:{direct:"Direto - Enviar somente aos usuários mencionados",private:"Apenas para seguidores - Enviar apenas para seguidores",public:"Público - Enviar a linhas do tempo públicas",unlisted:"Não listado - Não enviar a linhas do tempo públicas"}},registration:{bio:"Biografia",email:"Correio eletrônico",fullname:"Nome para exibição",password_confirm:"Confirmação de senha",registration:"Registro",token:"Código do convite",captcha:"CAPTCHA",new_captcha:"Clique na imagem para carregar um novo captcha",username_placeholder:"p. ex. lain",fullname_placeholder:"p. ex. Lain Iwakura",bio_placeholder:"e.g.\nOi, sou Lain\nSou uma garota que vive no subúrbio do Japão. Você deve me conhecer da Rede.",validations:{username_required:"não pode ser deixado em branco",fullname_required:"não pode ser deixado em branco",email_required:"não pode ser deixado em branco",password_required:"não pode ser deixado em branco",password_confirmation_required:"não pode ser deixado em branco",password_confirmation_match:"deve ser idêntica à senha"}},settings:{app_name:"Nome do aplicativo",attachmentRadius:"Anexos",attachments:"Anexos",autoload:"Habilitar carregamento automático quando a rolagem chegar ao fim.",avatar:"Avatar",avatarAltRadius:"Avatares (Notificações)",avatarRadius:"Avatares",background:"Pano de Fundo",bio:"Biografia",blocks_tab:"Bloqueios",btnRadius:"Botões",cBlue:"Azul (Responder, seguir)",cGreen:"Verde (Repetir)",cOrange:"Laranja (Favoritar)",cRed:"Vermelho (Cancelar)",change_password:"Mudar senha",change_password_error:"Houve um erro ao modificar sua senha.",changed_password:"Senha modificada com sucesso!",collapse_subject:"Esconder posts com assunto",composing:"Escrita",confirm_new_password:"Confirmar nova senha",current_avatar:"Seu avatar atual",current_password:"Sua senha atual",current_profile_banner:"Sua capa de perfil atual",data_import_export_tab:"Importação/exportação de dados",default_vis:"Opção de privacidade padrão",delete_account:"Deletar conta",delete_account_description:"Deletar sua conta e mensagens permanentemente.",delete_account_error:"Houve um problema ao deletar sua conta. Se ele persistir, por favor entre em contato com o/a administrador/a da instância.",delete_account_instructions:"Digite sua senha no campo abaixo para confirmar a exclusão da conta.",avatar_size_instruction:"O tamanho mínimo recomendado para imagens de avatar é 150x150 pixels.",export_theme:"Salvar predefinições",filtering:"Filtragem",filtering_explanation:"Todas as postagens contendo estas palavras serão silenciadas; uma palavra por linha.",follow_export:"Exportar quem você segue",follow_export_button:"Exportar quem você segue para um arquivo CSV",follow_export_processing:"Processando. Em breve você receberá a solicitação de download do arquivo",follow_import:"Importar quem você segue",follow_import_error:"Erro ao importar seguidores",follows_imported:"Seguidores importados! O processamento pode demorar um pouco.",foreground:"Primeiro Plano",general:"Geral",hide_attachments_in_convo:"Ocultar anexos em conversas",hide_attachments_in_tl:"Ocultar anexos na linha do tempo.",max_thumbnails:"Número máximo de miniaturas por post",hide_isp:"Esconder painel específico da instância",preload_images:"Pré-carregar imagens",use_one_click_nsfw:"Abrir anexos sensíveis com um clique",hide_post_stats:"Esconder estatísticas de posts (p. ex. número de favoritos)",hide_user_stats:"Esconder estatísticas do usuário (p. ex. número de seguidores)",hide_filtered_statuses:"Esconder posts filtrados",import_followers_from_a_csv_file:"Importe seguidores a partir de um arquivo CSV",import_theme:"Carregar pré-definição",inputRadius:"Campos de entrada",checkboxRadius:"Checkboxes",instance_default:"(padrão: {value})",instance_default_simple:"(padrão)",interface:"Interface",interfaceLanguage:"Idioma da interface",invalid_theme_imported:"O arquivo selecionado não é um tema compatível com o Pleroma. Nenhuma mudança no tema foi feita.",limited_availability:"Indisponível para seu navegador",links:"Links",lock_account_description:"Restringir sua conta a seguidores aprovados",loop_video:"Repetir vídeos",loop_video_silent_only:'Repetir apenas vídeos sem som (como os "gifs" do Mastodon)',mutes_tab:"Silenciados",play_videos_in_modal:"Tocar vídeos diretamente no visualizador de mídia",use_contain_fit:"Não cortar o anexo na miniatura",name:"Nome",name_bio:"Nome & Biografia",new_password:"Nova senha",notification_visibility:"Tipos de notificação para mostrar",notification_visibility_follows:"Seguidas",notification_visibility_likes:"Favoritos",notification_visibility_mentions:"Menções",notification_visibility_repeats:"Repetições",no_rich_text_description:"Remover formatação de todos os posts",no_blocks:"Sem bloqueios",no_mutes:"Sem silenciados",hide_follows_description:"Não mostrar quem estou seguindo",hide_followers_description:"Não mostrar quem me segue",show_admin_badge:"Mostrar título de Administrador em meu perfil",show_moderator_badge:"Mostrar título de Moderador em meu perfil",nsfw_clickthrough:"Habilitar clique para ocultar anexos sensíveis",oauth_tokens:"Token OAuth",token:"Token",refresh_token:"Atualizar Token",valid_until:"Válido até",revoke_token:"Revogar",panelRadius:"Paineis",pause_on_unfocused:"Parar transmissão quando a aba não estiver em primeiro plano",presets:"Predefinições",profile_background:"Pano de fundo de perfil",profile_banner:"Capa de perfil",profile_tab:"Perfil",radii_help:"Arredondar arestas da interface (em pixel)",replies_in_timeline:"Respostas na linha do tempo",reply_link_preview:"Habilitar a pré-visualização de de respostas ao passar o mouse.",reply_visibility_all:"Mostrar todas as respostas",reply_visibility_following:"Só mostrar respostas direcionadas a mim ou a usuários que sigo",reply_visibility_self:"Só mostrar respostas direcionadas a mim",saving_err:"Erro ao salvar configurações",saving_ok:"Configurações salvas",security_tab:"Segurança",scope_copy:"Copiar opções de privacidade ao responder (Mensagens diretas sempre copiam)",set_new_avatar:"Alterar avatar",set_new_profile_background:"Alterar o pano de fundo de perfil",set_new_profile_banner:"Alterar capa de perfil",settings:"Configurações",subject_input_always_show:"Sempre mostrar campo de assunto",subject_line_behavior:"Copiar assunto ao responder",subject_line_email:'Como em email: "re: assunto"',subject_line_mastodon:"Como o Mastodon: copiar como está",subject_line_noop:"Não copiar",post_status_content_type:"Tipo de conteúdo do status",stop_gifs:"Reproduzir GIFs ao passar o cursor",streaming:"Habilitar o fluxo automático de postagens no topo da página",text:"Texto",theme:"Tema",theme_help:"Use cores em código hexadecimal (#rrggbb) para personalizar seu esquema de cores.",theme_help_v2_1:'Você também pode sobrescrever as cores e opacidade de alguns componentes ao modificar o checkbox, use "Limpar todos" para limpar todas as modificações.',theme_help_v2_2:"Alguns ícones sob registros são indicadores de fundo/contraste de textos, passe por cima para informações detalhadas. Tenha ciência de que os indicadores de contraste não funcionam muito bem com transparência.",tooltipRadius:"Dicas/alertas",upload_a_photo:"Enviar uma foto",user_settings:"Configurações de Usuário",values:{false:"não",true:"sim"},notifications:"Notificações",enable_web_push_notifications:"Habilitar notificações web push",style:{switcher:{keep_color:"Manter cores",keep_shadows:"Manter sombras",keep_opacity:"Manter opacidade",keep_roundness:"Manter arredondado",keep_fonts:"Manter fontes",save_load_hint:"Manter as opções preserva as opções atuais ao selecionar ou carregar temas; também salva as opções ao exportar um tempo. Quanto todos os campos estiverem desmarcados, tudo será salvo ao exportar o tema.",reset:"Restaurar o padrão",clear_all:"Limpar tudo",clear_opacity:"Limpar opacidade"},common:{color:"Cor",opacity:"Opacidade",contrast:{hint:"A taxa de contraste é {ratio}, {level} {context}",level:{aa:"padrão Nível AA (mínimo)",aaa:"padrão Nível AAA (recomendado)",bad:"nenhum padrão de acessibilidade"},context:{"18pt":"para textos longos (18pt+)",text:"para texto"}}},common_colors:{_tab_label:"Comum",main:"Cores Comuns",foreground_hint:'Configurações mais detalhadas na aba"Avançado"',rgbo:"Ícones, acentuação, distintivos"},advanced_colors:{_tab_label:"Avançado",alert:"Fundo de alerta",alert_error:"Erro",badge:"Fundo do distintivo",badge_notification:"Notificação",panel_header:"Topo do painel",top_bar:"Barra do topo",borders:"Bordas",buttons:"Botões",inputs:"Caixas de entrada",faint_text:"Texto esmaecido"},radii:{_tab_label:"Arredondado"},shadows:{_tab_label:"Luz e sombra",component:"Componente",override:"Sobrescrever",shadow_id:"Sombra #{value}",blur:"Borrado",spread:"Difusão",inset:"Inserção",hint:"Para as sombras você também pode usar --variável como valor de cor para utilizar variáveis do CSS3. Tenha em mente que configurar a opacidade não será possível neste caso.",filter_hint:{always_drop_shadow:"Atenção, esta sombra sempre utiliza {0} quando compatível com o navegador.",drop_shadow_syntax:"{0} não é compatível com o parâmetro {1} e a palavra-chave {2}.",avatar_inset:"Tenha em mente que combinar as sombras de inserção e a não-inserção em avatares pode causar resultados inesperados em avatares transparentes.",spread_zero:"Sombras com uma difusão > 0 aparecerão como se fossem definidas como 0.",inset_classic:"Sombras de inserção utilizarão {0}"},components:{panel:"Painel",panelHeader:"Topo do painel",topBar:"Barra do topo",avatar:"Avatar do usuário (na visualização do perfil)",avatarStatus:"Avatar do usuário (na exibição de posts)",popup:"Dicas e notificações",button:"Botão",buttonHover:"Botão (em cima)",buttonPressed:"Botão (pressionado)",buttonPressedHover:"Botão (pressionado+em cima)",input:"Campo de entrada"}},fonts:{_tab_label:"Fontes",help:'Selecione as fontes dos elementos da interface. Para fonte "personalizada" você deve inserir o mesmo nome da fonte no sistema.',components:{interface:"Interface",input:"Campo de entrada",post:"Postar texto",postCode:"Texto monoespaçado em post (formatação rica)"},family:"Nome da fonte",size:"Tamanho (em px)",weight:"Peso",custom:"Personalizada"},preview:{header:"Pré-visualizar",content:"Conteúdo",error:"Erro de exemplo",button:"Botão",text:"Vários {0} e {1}",mono:"conteúdo",input:"Acabei de chegar no Rio!",faint_link:"manual útil",fine_print:"Leia nosso {0} para não aprender nada!",header_faint:"Está ok!",checkbox:"Li os termos e condições",link:"um belo link"}}},timeline:{collapse:"Esconder",conversation:"Conversa",error_fetching:"Erro ao buscar atualizações",load_older:"Carregar postagens antigas",no_retweet_hint:"Posts apenas para seguidores ou diretos não podem ser repetidos",repeated:"Repetido",show_new:"Mostrar novas",up_to_date:"Atualizado",no_more_statuses:"Sem mais posts",no_statuses:"Sem posts"},status:{reply_to:"Responder a",replies_list:"Respostas:"},user_card:{approve:"Aprovar",block:"Bloquear",blocked:"Bloqueado!",deny:"Negar",favorites:"Favoritos",follow:"Seguir",follow_sent:"Pedido enviado!",follow_progress:"Enviando…",follow_again:"Enviar solicitação novamente?",follow_unfollow:"Deixar de seguir",followees:"Seguindo",followers:"Seguidores",following:"Seguindo!",follows_you:"Segue você!",its_you:"É você!",media:"Mídia",mute:"Silenciar",muted:"Silenciado",per_day:"por dia",remote_follow:"Seguir remotamente",statuses:"Postagens",unblock:"Desbloquear",unblock_progress:"Desbloqueando...",block_progress:"Bloqueando...",unmute:"Retirar silêncio",unmute_progress:"Retirando silêncio...",mute_progress:"Silenciando..."},user_profile:{timeline_title:"Linha do tempo do usuário",profile_does_not_exist:"Desculpe, este perfil não existe.",profile_loading_error:"Desculpe, houve um erro ao carregar este perfil."},who_to_follow:{more:"Mais",who_to_follow:"Quem seguir"},tool_tip:{media_upload:"Envio de mídia",repeat:"Repetir",reply:"Responder",favorite:"Favoritar",user_settings:"Configurações do usuário"},upload:{error:{base:"Falha no envio.",file_too_big:"Arquivo grande demais [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Tente novamente mais tarde"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}}}}}]); -//# sourceMappingURL=26.3af8f54349f672f2c7c8.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{577:function(e){e.exports={chat:{title:"Chat"},features_panel:{chat:"Chat",gopher:"Gopher",media_proxy:"Proxy de mídia",scope_options:"Opções de privacidade",text_limit:"Limite de caracteres",title:"Funções",who_to_follow:"Quem seguir"},finder:{error_fetching_user:"Erro ao procurar usuário",find_user:"Buscar usuário"},general:{apply:"Aplicar",submit:"Enviar",more:"Mais",generic_error:"Houve um erro",optional:"opcional"},image_cropper:{crop_picture:"Cortar imagem",save:"Salvar",cancel:"Cancelar"},login:{login:"Entrar",description:"Entrar com OAuth",logout:"Sair",password:"Senha",placeholder:"p.e. lain",register:"Registrar",username:"Usuário",hint:"Entre para participar da discussão"},media_modal:{previous:"Anterior",next:"Próximo"},nav:{about:"Sobre",back:"Voltar",chat:"Chat local",friend_requests:"Solicitações de seguidores",mentions:"Menções",dms:"Mensagens diretas",public_tl:"Linha do tempo pública",timeline:"Linha do tempo",twkn:"Toda a rede conhecida",user_search:"Buscar usuários",who_to_follow:"Quem seguir",preferences:"Preferências"},notifications:{broken_favorite:"Status desconhecido, buscando...",favorited_you:"favoritou sua postagem",followed_you:"seguiu você",load_older:"Carregar notificações antigas",notifications:"Notificações",read:"Lido!",repeated_you:"repetiu sua postagem",no_more_notifications:"Mais nenhuma notificação"},post_status:{new_status:"Postar novo status",account_not_locked_warning:"Sua conta não é {0}. Qualquer pessoa pode te seguir e ver seus posts privados (só para seguidores).",account_not_locked_warning_link:"restrita",attachments_sensitive:"Marcar anexos como sensíveis",content_type:{"text/plain":"Texto puro"},content_warning:"Assunto (opcional)",default:"Acabei de chegar no Rio!",direct_warning:"Este post será visível apenas para os usuários mencionados.",posting:"Publicando",scope:{direct:"Direto - Enviar somente aos usuários mencionados",private:"Apenas para seguidores - Enviar apenas para seguidores",public:"Público - Enviar a linhas do tempo públicas",unlisted:"Não listado - Não enviar a linhas do tempo públicas"}},registration:{bio:"Biografia",email:"Correio eletrônico",fullname:"Nome para exibição",password_confirm:"Confirmação de senha",registration:"Registro",token:"Código do convite",captcha:"CAPTCHA",new_captcha:"Clique na imagem para carregar um novo captcha",username_placeholder:"p. ex. lain",fullname_placeholder:"p. ex. Lain Iwakura",bio_placeholder:"e.g.\nOi, sou Lain\nSou uma garota que vive no subúrbio do Japão. Você deve me conhecer da Rede.",validations:{username_required:"não pode ser deixado em branco",fullname_required:"não pode ser deixado em branco",email_required:"não pode ser deixado em branco",password_required:"não pode ser deixado em branco",password_confirmation_required:"não pode ser deixado em branco",password_confirmation_match:"deve ser idêntica à senha"}},settings:{app_name:"Nome do aplicativo",attachmentRadius:"Anexos",attachments:"Anexos",autoload:"Habilitar carregamento automático quando a rolagem chegar ao fim.",avatar:"Avatar",avatarAltRadius:"Avatares (Notificações)",avatarRadius:"Avatares",background:"Pano de Fundo",bio:"Biografia",blocks_tab:"Bloqueios",btnRadius:"Botões",cBlue:"Azul (Responder, seguir)",cGreen:"Verde (Repetir)",cOrange:"Laranja (Favoritar)",cRed:"Vermelho (Cancelar)",change_password:"Mudar senha",change_password_error:"Houve um erro ao modificar sua senha.",changed_password:"Senha modificada com sucesso!",collapse_subject:"Esconder posts com assunto",composing:"Escrita",confirm_new_password:"Confirmar nova senha",current_avatar:"Seu avatar atual",current_password:"Sua senha atual",current_profile_banner:"Sua capa de perfil atual",data_import_export_tab:"Importação/exportação de dados",default_vis:"Opção de privacidade padrão",delete_account:"Deletar conta",delete_account_description:"Deletar sua conta e mensagens permanentemente.",delete_account_error:"Houve um problema ao deletar sua conta. Se ele persistir, por favor entre em contato com o/a administrador/a da instância.",delete_account_instructions:"Digite sua senha no campo abaixo para confirmar a exclusão da conta.",avatar_size_instruction:"O tamanho mínimo recomendado para imagens de avatar é 150x150 pixels.",export_theme:"Salvar predefinições",filtering:"Filtragem",filtering_explanation:"Todas as postagens contendo estas palavras serão silenciadas; uma palavra por linha.",follow_export:"Exportar quem você segue",follow_export_button:"Exportar quem você segue para um arquivo CSV",follow_export_processing:"Processando. Em breve você receberá a solicitação de download do arquivo",follow_import:"Importar quem você segue",follow_import_error:"Erro ao importar seguidores",follows_imported:"Seguidores importados! O processamento pode demorar um pouco.",foreground:"Primeiro Plano",general:"Geral",hide_attachments_in_convo:"Ocultar anexos em conversas",hide_attachments_in_tl:"Ocultar anexos na linha do tempo.",max_thumbnails:"Número máximo de miniaturas por post",hide_isp:"Esconder painel específico da instância",preload_images:"Pré-carregar imagens",use_one_click_nsfw:"Abrir anexos sensíveis com um clique",hide_post_stats:"Esconder estatísticas de posts (p. ex. número de favoritos)",hide_user_stats:"Esconder estatísticas do usuário (p. ex. número de seguidores)",hide_filtered_statuses:"Esconder posts filtrados",import_followers_from_a_csv_file:"Importe seguidores a partir de um arquivo CSV",import_theme:"Carregar pré-definição",inputRadius:"Campos de entrada",checkboxRadius:"Checkboxes",instance_default:"(padrão: {value})",instance_default_simple:"(padrão)",interface:"Interface",interfaceLanguage:"Idioma da interface",invalid_theme_imported:"O arquivo selecionado não é um tema compatível com o Pleroma. Nenhuma mudança no tema foi feita.",limited_availability:"Indisponível para seu navegador",links:"Links",lock_account_description:"Restringir sua conta a seguidores aprovados",loop_video:"Repetir vídeos",loop_video_silent_only:'Repetir apenas vídeos sem som (como os "gifs" do Mastodon)',mutes_tab:"Silenciados",play_videos_in_modal:"Tocar vídeos diretamente no visualizador de mídia",use_contain_fit:"Não cortar o anexo na miniatura",name:"Nome",name_bio:"Nome & Biografia",new_password:"Nova senha",notification_visibility:"Tipos de notificação para mostrar",notification_visibility_follows:"Seguidas",notification_visibility_likes:"Favoritos",notification_visibility_mentions:"Menções",notification_visibility_repeats:"Repetições",no_rich_text_description:"Remover formatação de todos os posts",no_blocks:"Sem bloqueios",no_mutes:"Sem silenciados",hide_follows_description:"Não mostrar quem estou seguindo",hide_followers_description:"Não mostrar quem me segue",show_admin_badge:"Mostrar título de Administrador em meu perfil",show_moderator_badge:"Mostrar título de Moderador em meu perfil",nsfw_clickthrough:"Habilitar clique para ocultar anexos sensíveis",oauth_tokens:"Token OAuth",token:"Token",refresh_token:"Atualizar Token",valid_until:"Válido até",revoke_token:"Revogar",panelRadius:"Paineis",pause_on_unfocused:"Parar transmissão quando a aba não estiver em primeiro plano",presets:"Predefinições",profile_background:"Pano de fundo de perfil",profile_banner:"Capa de perfil",profile_tab:"Perfil",radii_help:"Arredondar arestas da interface (em pixel)",replies_in_timeline:"Respostas na linha do tempo",reply_link_preview:"Habilitar a pré-visualização de de respostas ao passar o mouse.",reply_visibility_all:"Mostrar todas as respostas",reply_visibility_following:"Só mostrar respostas direcionadas a mim ou a usuários que sigo",reply_visibility_self:"Só mostrar respostas direcionadas a mim",saving_err:"Erro ao salvar configurações",saving_ok:"Configurações salvas",security_tab:"Segurança",scope_copy:"Copiar opções de privacidade ao responder (Mensagens diretas sempre copiam)",set_new_avatar:"Alterar avatar",set_new_profile_background:"Alterar o pano de fundo de perfil",set_new_profile_banner:"Alterar capa de perfil",settings:"Configurações",subject_input_always_show:"Sempre mostrar campo de assunto",subject_line_behavior:"Copiar assunto ao responder",subject_line_email:'Como em email: "re: assunto"',subject_line_mastodon:"Como o Mastodon: copiar como está",subject_line_noop:"Não copiar",post_status_content_type:"Tipo de conteúdo do status",stop_gifs:"Reproduzir GIFs ao passar o cursor",streaming:"Habilitar o fluxo automático de postagens no topo da página",text:"Texto",theme:"Tema",theme_help:"Use cores em código hexadecimal (#rrggbb) para personalizar seu esquema de cores.",theme_help_v2_1:'Você também pode sobrescrever as cores e opacidade de alguns componentes ao modificar o checkbox, use "Limpar todos" para limpar todas as modificações.',theme_help_v2_2:"Alguns ícones sob registros são indicadores de fundo/contraste de textos, passe por cima para informações detalhadas. Tenha ciência de que os indicadores de contraste não funcionam muito bem com transparência.",tooltipRadius:"Dicas/alertas",upload_a_photo:"Enviar uma foto",user_settings:"Configurações de Usuário",values:{false:"não",true:"sim"},notifications:"Notificações",enable_web_push_notifications:"Habilitar notificações web push",style:{switcher:{keep_color:"Manter cores",keep_shadows:"Manter sombras",keep_opacity:"Manter opacidade",keep_roundness:"Manter arredondado",keep_fonts:"Manter fontes",save_load_hint:"Manter as opções preserva as opções atuais ao selecionar ou carregar temas; também salva as opções ao exportar um tempo. Quanto todos os campos estiverem desmarcados, tudo será salvo ao exportar o tema.",reset:"Restaurar o padrão",clear_all:"Limpar tudo",clear_opacity:"Limpar opacidade"},common:{color:"Cor",opacity:"Opacidade",contrast:{hint:"A taxa de contraste é {ratio}, {level} {context}",level:{aa:"padrão Nível AA (mínimo)",aaa:"padrão Nível AAA (recomendado)",bad:"nenhum padrão de acessibilidade"},context:{"18pt":"para textos longos (18pt+)",text:"para texto"}}},common_colors:{_tab_label:"Comum",main:"Cores Comuns",foreground_hint:'Configurações mais detalhadas na aba"Avançado"',rgbo:"Ícones, acentuação, distintivos"},advanced_colors:{_tab_label:"Avançado",alert:"Fundo de alerta",alert_error:"Erro",badge:"Fundo do distintivo",badge_notification:"Notificação",panel_header:"Topo do painel",top_bar:"Barra do topo",borders:"Bordas",buttons:"Botões",inputs:"Caixas de entrada",faint_text:"Texto esmaecido"},radii:{_tab_label:"Arredondado"},shadows:{_tab_label:"Luz e sombra",component:"Componente",override:"Sobrescrever",shadow_id:"Sombra #{value}",blur:"Borrado",spread:"Difusão",inset:"Inserção",hint:"Para as sombras você também pode usar --variável como valor de cor para utilizar variáveis do CSS3. Tenha em mente que configurar a opacidade não será possível neste caso.",filter_hint:{always_drop_shadow:"Atenção, esta sombra sempre utiliza {0} quando compatível com o navegador.",drop_shadow_syntax:"{0} não é compatível com o parâmetro {1} e a palavra-chave {2}.",avatar_inset:"Tenha em mente que combinar as sombras de inserção e a não-inserção em avatares pode causar resultados inesperados em avatares transparentes.",spread_zero:"Sombras com uma difusão > 0 aparecerão como se fossem definidas como 0.",inset_classic:"Sombras de inserção utilizarão {0}"},components:{panel:"Painel",panelHeader:"Topo do painel",topBar:"Barra do topo",avatar:"Avatar do usuário (na visualização do perfil)",avatarStatus:"Avatar do usuário (na exibição de posts)",popup:"Dicas e notificações",button:"Botão",buttonHover:"Botão (em cima)",buttonPressed:"Botão (pressionado)",buttonPressedHover:"Botão (pressionado+em cima)",input:"Campo de entrada"}},fonts:{_tab_label:"Fontes",help:'Selecione as fontes dos elementos da interface. Para fonte "personalizada" você deve inserir o mesmo nome da fonte no sistema.',components:{interface:"Interface",input:"Campo de entrada",post:"Postar texto",postCode:"Texto monoespaçado em post (formatação rica)"},family:"Nome da fonte",size:"Tamanho (em px)",weight:"Peso",custom:"Personalizada"},preview:{header:"Pré-visualizar",content:"Conteúdo",error:"Erro de exemplo",button:"Botão",text:"Vários {0} e {1}",mono:"conteúdo",input:"Acabei de chegar no Rio!",faint_link:"manual útil",fine_print:"Leia nosso {0} para não aprender nada!",header_faint:"Está ok!",checkbox:"Li os termos e condições",link:"um belo link"}}},timeline:{collapse:"Esconder",conversation:"Conversa",error_fetching:"Erro ao buscar atualizações",load_older:"Carregar postagens antigas",no_retweet_hint:"Posts apenas para seguidores ou diretos não podem ser repetidos",repeated:"Repetido",show_new:"Mostrar novas",up_to_date:"Atualizado",no_more_statuses:"Sem mais posts",no_statuses:"Sem posts"},status:{reply_to:"Responder a",replies_list:"Respostas:"},user_card:{approve:"Aprovar",block:"Bloquear",blocked:"Bloqueado!",deny:"Negar",favorites:"Favoritos",follow:"Seguir",follow_sent:"Pedido enviado!",follow_progress:"Enviando…",follow_again:"Enviar solicitação novamente?",follow_unfollow:"Deixar de seguir",followees:"Seguindo",followers:"Seguidores",following:"Seguindo!",follows_you:"Segue você!",its_you:"É você!",media:"Mídia",mute:"Silenciar",muted:"Silenciado",per_day:"por dia",remote_follow:"Seguir remotamente",statuses:"Postagens",unblock:"Desbloquear",unblock_progress:"Desbloqueando...",block_progress:"Bloqueando...",unmute:"Retirar silêncio",unmute_progress:"Retirando silêncio...",mute_progress:"Silenciando..."},user_profile:{timeline_title:"Linha do tempo do usuário",profile_does_not_exist:"Desculpe, este perfil não existe.",profile_loading_error:"Desculpe, houve um erro ao carregar este perfil."},who_to_follow:{more:"Mais",who_to_follow:"Quem seguir"},tool_tip:{media_upload:"Envio de mídia",repeat:"Repetir",reply:"Responder",favorite:"Favoritar",user_settings:"Configurações do usuário"},upload:{error:{base:"Falha no envio.",file_too_big:"Arquivo grande demais [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"Tente novamente mais tarde"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}}}}}]); +//# sourceMappingURL=26.e15b1645079c72c60586.js.map \ No newline at end of file diff --git a/priv/static/static/js/26.e15b1645079c72c60586.js.map b/priv/static/static/js/26.e15b1645079c72c60586.js.map new file mode 100644 index 000000000..e62345884 --- /dev/null +++ b/priv/static/static/js/26.e15b1645079c72c60586.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/26.e15b1645079c72c60586.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/27.51287d408313da67b0b8.js.map b/priv/static/static/js/27.51287d408313da67b0b8.js.map deleted file mode 100644 index 074c63e2e..000000000 --- a/priv/static/static/js/27.51287d408313da67b0b8.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/27.51287d408313da67b0b8.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/27.51287d408313da67b0b8.js b/priv/static/static/js/27.7b41e5953f74af7fddd1.js similarity index 94% rename from priv/static/static/js/27.51287d408313da67b0b8.js rename to priv/static/static/js/27.7b41e5953f74af7fddd1.js index bbed0b854..769fba11b 100644 --- a/priv/static/static/js/27.51287d408313da67b0b8.js +++ b/priv/static/static/js/27.7b41e5953f74af7fddd1.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{560:function(e){e.exports={finder:{error_fetching_user:"Eroare la preluarea utilizatorului",find_user:"Găsește utilizator"},general:{submit:"trimite"},login:{login:"Loghează",logout:"Deloghează",password:"Parolă",placeholder:"d.e. lain",register:"Înregistrare",username:"Nume utilizator"},nav:{mentions:"Menționări",public_tl:"Cronologie Publică",timeline:"Cronologie",twkn:"Toată Reșeaua Cunoscută"},notifications:{followed_you:"te-a urmărit",notifications:"Notificări",read:"Citit!"},post_status:{default:"Nu de mult am aterizat în L.A.",posting:"Postează"},registration:{bio:"Bio",email:"Email",fullname:"Numele întreg",password_confirm:"Cofirmă parola",registration:"Îregistrare"},settings:{attachments:"Atașamente",autoload:"Permite încărcarea automată când scrolat la capăt",avatar:"Avatar",bio:"Bio",current_avatar:"Avatarul curent",current_profile_banner:"Bannerul curent al profilului",filtering:"Filtru",filtering_explanation:"Toate stările care conțin aceste cuvinte vor fi puse pe mut, una pe linie",hide_attachments_in_convo:"Ascunde atașamentele în conversații",hide_attachments_in_tl:"Ascunde atașamentele în cronologie",name:"Nume",name_bio:"Nume și Bio",nsfw_clickthrough:"Permite ascunderea al atașamentelor NSFW",profile_background:"Fundalul de profil",profile_banner:"Banner de profil",reply_link_preview:"Permite previzualizarea linkului de răspuns la planarea de mouse",set_new_avatar:"Setează avatar nou",set_new_profile_background:"Setează fundal nou",set_new_profile_banner:"Setează banner nou la profil",settings:"Setări",theme:"Temă",user_settings:"Setările utilizatorului"},timeline:{conversation:"Conversație",error_fetching:"Erare la preluarea actualizărilor",load_older:"Încarcă stări mai vechi",show_new:"Arată cele noi",up_to_date:"La zi"},user_card:{block:"Blochează",blocked:"Blocat!",follow:"Urmărește",followees:"Urmărește",followers:"Următori",following:"Urmărit!",follows_you:"Te urmărește!",mute:"Pune pe mut",muted:"Pus pe mut",per_day:"pe zi",statuses:"Stări"}}}}]); -//# sourceMappingURL=27.51287d408313da67b0b8.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{578:function(e){e.exports={finder:{error_fetching_user:"Eroare la preluarea utilizatorului",find_user:"Găsește utilizator"},general:{submit:"trimite"},login:{login:"Loghează",logout:"Deloghează",password:"Parolă",placeholder:"d.e. lain",register:"Înregistrare",username:"Nume utilizator"},nav:{mentions:"Menționări",public_tl:"Cronologie Publică",timeline:"Cronologie",twkn:"Toată Reșeaua Cunoscută"},notifications:{followed_you:"te-a urmărit",notifications:"Notificări",read:"Citit!"},post_status:{default:"Nu de mult am aterizat în L.A.",posting:"Postează"},registration:{bio:"Bio",email:"Email",fullname:"Numele întreg",password_confirm:"Cofirmă parola",registration:"Îregistrare"},settings:{attachments:"Atașamente",autoload:"Permite încărcarea automată când scrolat la capăt",avatar:"Avatar",bio:"Bio",current_avatar:"Avatarul curent",current_profile_banner:"Bannerul curent al profilului",filtering:"Filtru",filtering_explanation:"Toate stările care conțin aceste cuvinte vor fi puse pe mut, una pe linie",hide_attachments_in_convo:"Ascunde atașamentele în conversații",hide_attachments_in_tl:"Ascunde atașamentele în cronologie",name:"Nume",name_bio:"Nume și Bio",nsfw_clickthrough:"Permite ascunderea al atașamentelor NSFW",profile_background:"Fundalul de profil",profile_banner:"Banner de profil",reply_link_preview:"Permite previzualizarea linkului de răspuns la planarea de mouse",set_new_avatar:"Setează avatar nou",set_new_profile_background:"Setează fundal nou",set_new_profile_banner:"Setează banner nou la profil",settings:"Setări",theme:"Temă",user_settings:"Setările utilizatorului"},timeline:{conversation:"Conversație",error_fetching:"Erare la preluarea actualizărilor",load_older:"Încarcă stări mai vechi",show_new:"Arată cele noi",up_to_date:"La zi"},user_card:{block:"Blochează",blocked:"Blocat!",follow:"Urmărește",followees:"Urmărește",followers:"Următori",following:"Urmărit!",follows_you:"Te urmărește!",mute:"Pune pe mut",muted:"Pus pe mut",per_day:"pe zi",statuses:"Stări"}}}}]); +//# sourceMappingURL=27.7b41e5953f74af7fddd1.js.map \ No newline at end of file diff --git a/priv/static/static/js/27.7b41e5953f74af7fddd1.js.map b/priv/static/static/js/27.7b41e5953f74af7fddd1.js.map new file mode 100644 index 000000000..078f5ff9a --- /dev/null +++ b/priv/static/static/js/27.7b41e5953f74af7fddd1.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/27.7b41e5953f74af7fddd1.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/28.be5118beb1098a81332d.js b/priv/static/static/js/28.4f39e562aaceaa01e883.js similarity index 99% rename from priv/static/static/js/28.be5118beb1098a81332d.js rename to priv/static/static/js/28.4f39e562aaceaa01e883.js index 30a6546eb..629359bda 100644 --- a/priv/static/static/js/28.be5118beb1098a81332d.js +++ b/priv/static/static/js/28.4f39e562aaceaa01e883.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{561:function(e){e.exports={chat:{title:"Чат"},finder:{error_fetching_user:"Пользователь не найден",find_user:"Найти пользователя"},general:{apply:"Применить",submit:"Отправить",cancel:"Отмена",disable:"Оключить",enable:"Включить",confirm:"Подтвердить",verify:"Проверить",more:"Больше",generic_error:"Произошла ошибка",optional:"не обязательно",show_less:"Показать меньше",show_more:"Показать больше"},login:{login:"Войти",logout:"Выйти",password:"Пароль",placeholder:"e.c. lain",register:"Зарегистрироваться",username:"Имя пользователя",authentication_code:"Код аутентификации",enter_recovery_code:"Ввести код восстановления",enter_two_factor_code:"Ввести код аутентификации",recovery_code:"Код восстановления",heading:{TotpForm:"Двухфакторная аутентификация",RecoveryForm:"Two-factor recovery"}},nav:{back:"Назад",chat:"Локальный чат",mentions:"Упоминания",interactions:"Взаимодействия",public_tl:"Публичная лента",timeline:"Лента",twkn:"Федеративная лента",search:"Поиск",friend_requests:"Запросы на чтение",bookmarks:"Закладки"},notifications:{broken_favorite:"Неизвестный статус, ищем...",favorited_you:"нравится ваш статус",followed_you:"начал(а) читать вас",load_older:"Загрузить старые уведомления",notifications:"Уведомления",read:"Прочесть",repeated_you:"повторил(а) ваш статус",follow_request:"хочет читать вас"},interactions:{favs_repeats:"Повторы и фавориты",follows:"Новые подписки",load_older:"Загрузить старые взаимодействия"},post_status:{account_not_locked_warning:"Ваш аккаунт не {0}. Кто угодно может начать читать вас чтобы видеть посты только для подписчиков.",account_not_locked_warning_link:"залочен",attachments_sensitive:"Вложения содержат чувствительный контент",content_warning:"Тема (не обязательно)",default:"Что нового?",direct_warning:"Этот пост будет виден только упомянутым пользователям",posting:"Отправляется",scope_notice:{public:"Этот пост будет виден всем",private:"Этот пост будет виден только вашим подписчикам",unlisted:"Этот пост не будет виден в публичной и федеративной ленте"},scope:{direct:"Личное - этот пост видят только те кто в нём упомянут",private:"Для подписчиков - этот пост видят только подписчики",public:"Публичный - этот пост виден всем",unlisted:"Непубличный - этот пост не виден на публичных лентах"}},registration:{bio:"Описание",email:"Email",fullname:"Отображаемое имя",password_confirm:"Подтверждение пароля",registration:"Регистрация",token:"Код приглашения",validations:{username_required:"не должно быть пустым",fullname_required:"не должно быть пустым",email_required:"не должен быть пустым",password_required:"не должен быть пустым",password_confirmation_required:"не должно быть пустым",password_confirmation_match:"должно совпадать с паролем"}},settings:{enter_current_password_to_confirm:"Введите свой текущий пароль",mfa:{otp:"OTP",setup_otp:"Настройка OTP",wait_pre_setup_otp:"предварительная настройка OTP",confirm_and_enable:"Подтвердить и включить OTP",title:"Двухфакторная аутентификация",generate_new_recovery_codes:"Получить новые коды востановления",warning_of_generate_new_codes:"После получения новых кодов восстановления, старые больше не будут работать.",recovery_codes:"Коды восстановления.",waiting_a_recovery_codes:"Получение кодов восстановления ...",recovery_codes_warning:"Запишите эти коды и держите в безопасном месте - иначе вы их больше не увидите. Если вы потеряете доступ к OTP приложению - без резервных кодов вы больше не сможете залогиниться.",authentication_methods:"Методы аутентификации",scan:{title:"Сканирование",desc:"Используйте приложение для двухэтапной аутентификации для сканирования этого QR-код или введите текстовый ключ:",secret_code:"Ключ"},verify:{desc:"Чтобы включить двухэтапную аутентификации, введите код из вашего приложение для двухэтапной аутентификации:"}},attachmentRadius:"Прикреплённые файлы",attachments:"Вложения",autoload:"Включить автоматическую загрузку при прокрутке вниз",avatar:"Аватар",avatarAltRadius:"Аватары в уведомлениях",avatarRadius:"Аватары",background:"Фон",bio:"Описание",btnRadius:"Кнопки",bot:"Это аккаунт бота",cBlue:"Ответить, читать",cGreen:"Повторить",cOrange:"Нравится",cRed:"Отменить",change_email:"Сменить email",change_email_error:"Произошла ошибка при попытке изменить email.",changed_email:"Email изменён успешно!",change_password:"Сменить пароль",change_password_error:"Произошла ошибка при попытке изменить пароль.",changed_password:"Пароль изменён успешно!",collapse_subject:"Сворачивать посты с темой",confirm_new_password:"Подтверждение нового пароля",current_avatar:"Текущий аватар",current_password:"Текущий пароль",current_profile_banner:"Текущий баннер профиля",data_import_export_tab:"Импорт / Экспорт данных",delete_account:"Удалить аккаунт",delete_account_description:"Удалить ваш аккаунт и все ваши сообщения.",delete_account_error:"Возникла ошибка в процессе удаления вашего аккаунта. Если это повторяется, свяжитесь с администратором вашего сервера.",delete_account_instructions:"Введите ваш пароль в поле ниже для подтверждения удаления.",export_theme:"Сохранить Тему",filtering:"Фильтрация",filtering_explanation:"Все статусы, содержащие данные слова, будут игнорироваться, по одному в строке",follow_export:"Экспортировать читаемых",follow_export_button:"Экспортировать читаемых в файл .csv",follow_export_processing:"Ведётся обработка, скоро вам будет предложено загрузить файл",follow_import:"Импортировать читаемых",follow_import_error:"Ошибка при импортировании читаемых",follows_imported:"Список читаемых импортирован. Обработка займёт некоторое время..",foreground:"Передний план",general:"Общие",hide_attachments_in_convo:"Прятать вложения в разговорах",hide_attachments_in_tl:"Прятать вложения в ленте",hide_isp:"Скрыть серверную панель",import_followers_from_a_csv_file:"Импортировать читаемых из файла .csv",import_theme:"Загрузить Тему",inputRadius:"Поля ввода",checkboxRadius:"Чекбоксы",instance_default:"(по умолчанию: {value})",instance_default_simple:"(по умолчанию)",interface:"Интерфейс",interfaceLanguage:"Язык интерфейса",limited_availability:"Не доступно в вашем браузере",links:"Ссылки",lock_account_description:"Аккаунт доступен только подтверждённым подписчикам",loop_video:"Зациливать видео",loop_video_silent_only:'Зацикливать только беззвучные видео (т.е. "гифки" с Mastodon)',name:"Имя",name_bio:"Имя и описание",new_email:"Новый email",new_password:"Новый пароль",fun:"Потешное",greentext:"Мемные стрелочки",notification_visibility:"Показывать уведомления",notification_visibility_follows:"Подписки",notification_visibility_likes:"Лайки",notification_visibility_mentions:"Упоминания",notification_visibility_repeats:"Повторы",no_rich_text_description:"Убрать форматирование из всех постов",hide_follows_description:"Не показывать кого я читаю",hide_followers_description:"Не показывать кто читает меня",hide_follows_count_description:"Не показывать число читаемых пользователей",hide_followers_count_description:"Не показывать число моих подписчиков",show_admin_badge:"Показывать значок администратора в моем профиле",show_moderator_badge:"Показывать значок модератора в моем профиле",nsfw_clickthrough:"Включить скрытие NSFW вложений",oauth_tokens:"OAuth токены",token:"Токен",refresh_token:"Рефреш токен",valid_until:"Годен до",revoke_token:"Удалить",panelRadius:"Панели",pause_on_unfocused:"Приостановить загрузку когда вкладка не в фокусе",presets:"Пресеты",profile_background:"Фон профиля",profile_banner:"Баннер профиля",profile_tab:"Профиль",radii_help:"Скругление углов элементов интерфейса (в пикселях)",replies_in_timeline:"Ответы в ленте",reply_link_preview:"Включить предварительный просмотр ответа при наведении мыши",reply_visibility_all:"Показывать все ответы",reply_visibility_following:"Показывать только ответы мне или тех на кого я подписан",reply_visibility_self:"Показывать только ответы мне",autohide_floating_post_button:"Автоматически скрывать кнопку постинга (в мобильной версии)",saving_err:"Не удалось сохранить настройки",saving_ok:"Сохранено",security_tab:"Безопасность",scope_copy:"Копировать видимость поста при ответе (всегда включено для Личных Сообщений)",minimal_scopes_mode:"Минимизировать набор опций видимости поста",set_new_avatar:"Загрузить новый аватар",set_new_profile_background:"Загрузить новый фон профиля",set_new_profile_banner:"Загрузить новый баннер профиля",settings:"Настройки",subject_input_always_show:"Всегда показывать поле ввода темы",stop_gifs:"Проигрывать GIF анимации только при наведении",streaming:"Включить автоматическую загрузку новых сообщений при прокрутке вверх",useStreamingApi:"Получать сообщения и уведомления в реальном времени",useStreamingApiWarning:"(Не рекомендуется, экспериментально, сообщения могут пропадать)",text:"Текст",theme:"Тема",theme_help:"Используйте шестнадцатеричные коды цветов (#rrggbb) для настройки темы.",theme_help_v2_1:'Вы так же можете перепоределить цвета определенных компонентов нажав соотв. галочку. Используйте кнопку "Очистить всё" чтобы снять все переопределения.',theme_help_v2_2:"Под некоторыми полями ввода это идикаторы контрастности, наведите на них мышью чтобы узнать больше. Приспользовании прозрачности контраст расчитывается для наихудшего варианта.",tooltipRadius:"Всплывающие подсказки/уведомления",user_settings:"Настройки пользователя",values:{false:"нет",true:"да"},style:{switcher:{keep_color:"Оставить цвета",keep_shadows:"Оставить тени",keep_opacity:"Оставить прозрачность",keep_roundness:"Оставить скругление",keep_fonts:"Оставить шрифты",save_load_hint:'Опции "оставить..." позволяют сохранить текущие настройки при выборе другой темы или импорта её из файла. Так же они влияют на то какие компоненты будут сохранены при экспорте темы. Когда все галочки сняты все компоненты будут экспортированы.',reset:"Сбросить",clear_all:"Очистить всё",clear_opacity:"Очистить прозрачность"},common:{color:"Цвет",opacity:"Прозрачность",contrast:{hint:"Уровень контраста: {ratio}, что {level} {context}",level:{aa:"соответствует гайдлайну Level AA (минимальный)",aaa:"соответствует гайдлайну Level AAA (рекомендуемый)",bad:"не соответствует каким либо гайдлайнам"},context:{"18pt":"для крупного (18pt+) текста",text:"для текста"}}},common_colors:{_tab_label:"Общие",main:"Общие цвета",foreground_hint:'См. вкладку "Дополнительно" для более детального контроля',rgbo:"Иконки, акценты, ярылки"},advanced_colors:{_tab_label:"Дополнительно",alert:"Фон уведомлений",alert_error:"Ошибки",badge:"Фон значков",badge_notification:"Уведомления",panel_header:"Заголовок панели",top_bar:"Верняя полоска",borders:"Границы",buttons:"Кнопки",inputs:"Поля ввода",faint_text:"Маловажный текст"},radii:{_tab_label:"Скругление"},shadows:{_tab_label:"Светотень",component:"Компонент",override:"Переопределить",shadow_id:"Тень №{value}",blur:"Размытие",spread:"Разброс",inset:"Внутренняя",hint:"Для теней вы так же можете использовать --variable в качестве цвета чтобы использовать CSS3-переменные. В таком случае прозрачность работать не будет.",filter_hint:{always_drop_shadow:"Внимание, эта тень всегда использует {0} когда браузер поддерживает это.",drop_shadow_syntax:"{0} не поддерживает параметр {1} и ключевое слово {2}.",avatar_inset:"Одновременное использование внутренних и внешних теней на (прозрачных) аватарках может дать не те результаты что вы ожидаете.",spread_zero:"Тени с разбросом > 0 будут выглядеть как если бы разброс установлен в 0",inset_classic:"Внутренние тени будут использовать {0}"},components:{panel:"Панель",panelHeader:"Заголовок панели",topBar:"Верхняя полоска",avatar:"Аватарка (профиль)",avatarStatus:"Аватарка (в ленте)",popup:"Всплывающие подсказки",button:"Кнопки",buttonHover:"Кнопки (наведен курсор)",buttonPressed:"Кнопки (нажата)",buttonPressedHover:"Кнопки (нажата+наведен курсор)",input:"Поля ввода"}},fonts:{_tab_label:"Шрифты",help:'Выберите тип шрифта для использования в интерфейсе. При выборе варианта "другой" надо ввести название шрифта в точности как он называется в системе.',components:{interface:"Интерфейс",input:"Поля ввода",post:"Текст постов",postCode:"Моноширинный текст в посте (форматирование)"},family:"Шрифт",size:"Размер (в пикселях)",weight:"Ширина",custom:"Другой"},preview:{header:"Пример",content:"Контент",error:"Ошибка стоп 000",button:"Кнопка",text:"Еще немного {0} и масенькая {1}",mono:"контента",input:"Что нового?",faint_link:"Его придется убрать",fine_print:"Если проблемы остались — ваш гуртовщик мыши плохо стоит. {0}.",header_faint:"Все идет по плану",checkbox:"Я подтверждаю что не было ни единого разрыва",link:"ссылка"}},notification_setting_non_followers:"Не читающие вас",allow_following_move:"Разрешить автоматически читать новый аккаунт при перемещении на другой сервер",hide_user_stats:"Не показывать статистику пользователей (например количество читателей)",notification_setting_followers:"Читающие вас",notification_setting_follows:"Читаемые вами",notification_setting_non_follows:"Не читаемые вами"},timeline:{collapse:"Свернуть",conversation:"Разговор",error_fetching:"Ошибка при обновлении",load_older:"Загрузить старые статусы",no_retweet_hint:'Пост помечен как "только для подписчиков" или "личное" и поэтому не может быть повторён',repeated:"повторил(а)",show_new:"Показать новые",up_to_date:"Обновлено"},status:{bookmark:"В закладки",unbookmark:"Удалить из закладок"},user_card:{block:"Заблокировать",blocked:"Заблокирован",favorites:"Понравившиеся",follow:"Читать",follow_sent:"Запрос отправлен!",follow_progress:"Запрашиваем…",follow_again:"Запросить еще раз?",follow_unfollow:"Перестать читать",followees:"Читаемые",followers:"Читатели",following:"Читаю!",follows_you:"Читает вас!",mute:"Игнорировать",muted:"Игнорирую",per_day:"в день",remote_follow:"Читать удалённо",statuses:"Статусы",admin_menu:{moderation:"Опции модератора",grant_admin:"Сделать администратором",revoke_admin:"Забрать права администратора",grant_moderator:"Сделать модератором",revoke_moderator:"Забрать права модератора",activate_account:"Активировать аккаунт",deactivate_account:"Деактивировать аккаунт",delete_account:"Удалить аккаунт",force_nsfw:"Отмечать посты пользователя как NSFW",strip_media:"Убирать вложения из постов пользователя",force_unlisted:"Не добавлять посты в публичные ленты",sandbox:"Принудить видимость постов только читателям",disable_remote_subscription:"Запретить читать с удаленных серверов",disable_any_subscription:"Запретить читать пользователя",quarantine:"Не федерировать посты пользователя",delete_user:"Удалить пользователя",delete_user_confirmation:"Вы уверены? Это действие нельзя отменить."}},user_profile:{timeline_title:"Лента пользователя"},search:{people:"Люди",hashtags:"Хэштэги",person_talking:"Популярно у {count} человека",people_talking:"Популярно у {count} человек",no_results:"Ничего не найдено"},password_reset:{forgot_password:"Забыли пароль?",password_reset:"Сброс пароля",instruction:"Введите ваш email или имя пользователя, и мы отправим вам ссылку для сброса пароля.",placeholder:"Ваш email или имя пользователя",check_email:"Проверьте ваш email и перейдите по ссылке для сброса пароля.",return_home:"Вернуться на главную страницу",not_found:"Мы не смогли найти аккаунт с таким email-ом или именем пользователя.",too_many_requests:"Вы исчерпали допустимое количество попыток, попробуйте позже.",password_reset_disabled:"Сброс пароля отключен. Cвяжитесь с администратором вашего сервера."},about:{mrf:{federation:"Федерация",simple:{accept_desc:"Данный сервер принимает сообщения только со следующих серверов:",ftl_removal_desc:"Данный сервер скрывает следующие сервера с федеративной ленты:",media_nsfw_desc:"Данный сервер принужденно помечает вложения со следущих серверов как NSFW:",simple_policies:"Правила для определенных серверов",accept:"Принимаемые сообщения",reject:"Отклоняемые сообщения",reject_desc:"Данный сервер не принимает сообщения со следующих серверов:",quarantine:"Зона карантина",quarantine_desc:"Данный сервер отправляет только публичные посты следующим серверам:",ftl_removal:"Скрытие с федеративной ленты",media_removal:"Удаление вложений",media_removal_desc:"Данный сервер удаляет вложения со следующих серверов:",media_nsfw:"Принужденно помеченно как NSFW"},keyword:{ftl_removal:"Убрать из федеративной ленты",reject:"Отклонить",keyword_policies:"Действия на ключевые слова",replace:"Заменить",is_replaced_by:"→"},mrf_policies:"Активные правила MRF (модуль переписывания сообщений)",mrf_policies_desc:"Правила MRF (модуль переписывания сообщений) влияют на федерацию данного сервера. Следующие правила активны:"},staff:"Администрация"},domain_mute_card:{mute:"Игнорировать",mute_progress:"В процессе…",unmute:"Прекратить игнорирование",unmute_progress:"В процессе…"},exporter:{export:"Экспорт",processing:"Запрос в обработке, вам скоро будет предложено загрузить файл"},features_panel:{chat:"Чат",media_proxy:"Прокси для внешних вложений",text_limit:"Лимит символов",title:"Особенности",gopher:"Gopher"},tool_tip:{accept_follow_request:"Принять запрос на чтение",reject_follow_request:"Отклонить запрос на чтение"}}}}]); -//# sourceMappingURL=28.be5118beb1098a81332d.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{579:function(e){e.exports={chat:{title:"Чат"},finder:{error_fetching_user:"Пользователь не найден",find_user:"Найти пользователя"},general:{apply:"Применить",submit:"Отправить",cancel:"Отмена",disable:"Оключить",enable:"Включить",confirm:"Подтвердить",verify:"Проверить",more:"Больше",generic_error:"Произошла ошибка",optional:"не обязательно",show_less:"Показать меньше",show_more:"Показать больше"},login:{login:"Войти",logout:"Выйти",password:"Пароль",placeholder:"e.c. lain",register:"Зарегистрироваться",username:"Имя пользователя",authentication_code:"Код аутентификации",enter_recovery_code:"Ввести код восстановления",enter_two_factor_code:"Ввести код аутентификации",recovery_code:"Код восстановления",heading:{TotpForm:"Двухфакторная аутентификация",RecoveryForm:"Two-factor recovery"}},nav:{back:"Назад",chat:"Локальный чат",mentions:"Упоминания",interactions:"Взаимодействия",public_tl:"Публичная лента",timeline:"Лента",twkn:"Федеративная лента",search:"Поиск",friend_requests:"Запросы на чтение",bookmarks:"Закладки"},notifications:{broken_favorite:"Неизвестный статус, ищем...",favorited_you:"нравится ваш статус",followed_you:"начал(а) читать вас",load_older:"Загрузить старые уведомления",notifications:"Уведомления",read:"Прочесть",repeated_you:"повторил(а) ваш статус",follow_request:"хочет читать вас"},interactions:{favs_repeats:"Повторы и фавориты",follows:"Новые подписки",load_older:"Загрузить старые взаимодействия"},post_status:{account_not_locked_warning:"Ваш аккаунт не {0}. Кто угодно может начать читать вас чтобы видеть посты только для подписчиков.",account_not_locked_warning_link:"залочен",attachments_sensitive:"Вложения содержат чувствительный контент",content_warning:"Тема (не обязательно)",default:"Что нового?",direct_warning:"Этот пост будет виден только упомянутым пользователям",posting:"Отправляется",scope_notice:{public:"Этот пост будет виден всем",private:"Этот пост будет виден только вашим подписчикам",unlisted:"Этот пост не будет виден в публичной и федеративной ленте"},scope:{direct:"Личное - этот пост видят только те кто в нём упомянут",private:"Для подписчиков - этот пост видят только подписчики",public:"Публичный - этот пост виден всем",unlisted:"Непубличный - этот пост не виден на публичных лентах"}},registration:{bio:"Описание",email:"Email",fullname:"Отображаемое имя",password_confirm:"Подтверждение пароля",registration:"Регистрация",token:"Код приглашения",validations:{username_required:"не должно быть пустым",fullname_required:"не должно быть пустым",email_required:"не должен быть пустым",password_required:"не должен быть пустым",password_confirmation_required:"не должно быть пустым",password_confirmation_match:"должно совпадать с паролем"}},settings:{enter_current_password_to_confirm:"Введите свой текущий пароль",mfa:{otp:"OTP",setup_otp:"Настройка OTP",wait_pre_setup_otp:"предварительная настройка OTP",confirm_and_enable:"Подтвердить и включить OTP",title:"Двухфакторная аутентификация",generate_new_recovery_codes:"Получить новые коды востановления",warning_of_generate_new_codes:"После получения новых кодов восстановления, старые больше не будут работать.",recovery_codes:"Коды восстановления.",waiting_a_recovery_codes:"Получение кодов восстановления ...",recovery_codes_warning:"Запишите эти коды и держите в безопасном месте - иначе вы их больше не увидите. Если вы потеряете доступ к OTP приложению - без резервных кодов вы больше не сможете залогиниться.",authentication_methods:"Методы аутентификации",scan:{title:"Сканирование",desc:"Используйте приложение для двухэтапной аутентификации для сканирования этого QR-код или введите текстовый ключ:",secret_code:"Ключ"},verify:{desc:"Чтобы включить двухэтапную аутентификации, введите код из вашего приложение для двухэтапной аутентификации:"}},attachmentRadius:"Прикреплённые файлы",attachments:"Вложения",autoload:"Включить автоматическую загрузку при прокрутке вниз",avatar:"Аватар",avatarAltRadius:"Аватары в уведомлениях",avatarRadius:"Аватары",background:"Фон",bio:"Описание",btnRadius:"Кнопки",bot:"Это аккаунт бота",cBlue:"Ответить, читать",cGreen:"Повторить",cOrange:"Нравится",cRed:"Отменить",change_email:"Сменить email",change_email_error:"Произошла ошибка при попытке изменить email.",changed_email:"Email изменён успешно!",change_password:"Сменить пароль",change_password_error:"Произошла ошибка при попытке изменить пароль.",changed_password:"Пароль изменён успешно!",collapse_subject:"Сворачивать посты с темой",confirm_new_password:"Подтверждение нового пароля",current_avatar:"Текущий аватар",current_password:"Текущий пароль",current_profile_banner:"Текущий баннер профиля",data_import_export_tab:"Импорт / Экспорт данных",delete_account:"Удалить аккаунт",delete_account_description:"Удалить ваш аккаунт и все ваши сообщения.",delete_account_error:"Возникла ошибка в процессе удаления вашего аккаунта. Если это повторяется, свяжитесь с администратором вашего сервера.",delete_account_instructions:"Введите ваш пароль в поле ниже для подтверждения удаления.",export_theme:"Сохранить Тему",filtering:"Фильтрация",filtering_explanation:"Все статусы, содержащие данные слова, будут игнорироваться, по одному в строке",follow_export:"Экспортировать читаемых",follow_export_button:"Экспортировать читаемых в файл .csv",follow_export_processing:"Ведётся обработка, скоро вам будет предложено загрузить файл",follow_import:"Импортировать читаемых",follow_import_error:"Ошибка при импортировании читаемых",follows_imported:"Список читаемых импортирован. Обработка займёт некоторое время..",foreground:"Передний план",general:"Общие",hide_attachments_in_convo:"Прятать вложения в разговорах",hide_attachments_in_tl:"Прятать вложения в ленте",hide_isp:"Скрыть серверную панель",import_followers_from_a_csv_file:"Импортировать читаемых из файла .csv",import_theme:"Загрузить Тему",inputRadius:"Поля ввода",checkboxRadius:"Чекбоксы",instance_default:"(по умолчанию: {value})",instance_default_simple:"(по умолчанию)",interface:"Интерфейс",interfaceLanguage:"Язык интерфейса",limited_availability:"Не доступно в вашем браузере",links:"Ссылки",lock_account_description:"Аккаунт доступен только подтверждённым подписчикам",loop_video:"Зациливать видео",loop_video_silent_only:'Зацикливать только беззвучные видео (т.е. "гифки" с Mastodon)',name:"Имя",name_bio:"Имя и описание",new_email:"Новый email",new_password:"Новый пароль",fun:"Потешное",greentext:"Мемные стрелочки",notification_visibility:"Показывать уведомления",notification_visibility_follows:"Подписки",notification_visibility_likes:"Лайки",notification_visibility_mentions:"Упоминания",notification_visibility_repeats:"Повторы",no_rich_text_description:"Убрать форматирование из всех постов",hide_follows_description:"Не показывать кого я читаю",hide_followers_description:"Не показывать кто читает меня",hide_follows_count_description:"Не показывать число читаемых пользователей",hide_followers_count_description:"Не показывать число моих подписчиков",show_admin_badge:"Показывать значок администратора в моем профиле",show_moderator_badge:"Показывать значок модератора в моем профиле",nsfw_clickthrough:"Включить скрытие NSFW вложений",oauth_tokens:"OAuth токены",token:"Токен",refresh_token:"Рефреш токен",valid_until:"Годен до",revoke_token:"Удалить",panelRadius:"Панели",pause_on_unfocused:"Приостановить загрузку когда вкладка не в фокусе",presets:"Пресеты",profile_background:"Фон профиля",profile_banner:"Баннер профиля",profile_tab:"Профиль",radii_help:"Скругление углов элементов интерфейса (в пикселях)",replies_in_timeline:"Ответы в ленте",reply_link_preview:"Включить предварительный просмотр ответа при наведении мыши",reply_visibility_all:"Показывать все ответы",reply_visibility_following:"Показывать только ответы мне или тех на кого я подписан",reply_visibility_self:"Показывать только ответы мне",autohide_floating_post_button:"Автоматически скрывать кнопку постинга (в мобильной версии)",saving_err:"Не удалось сохранить настройки",saving_ok:"Сохранено",security_tab:"Безопасность",scope_copy:"Копировать видимость поста при ответе (всегда включено для Личных Сообщений)",minimal_scopes_mode:"Минимизировать набор опций видимости поста",set_new_avatar:"Загрузить новый аватар",set_new_profile_background:"Загрузить новый фон профиля",set_new_profile_banner:"Загрузить новый баннер профиля",settings:"Настройки",subject_input_always_show:"Всегда показывать поле ввода темы",stop_gifs:"Проигрывать GIF анимации только при наведении",streaming:"Включить автоматическую загрузку новых сообщений при прокрутке вверх",useStreamingApi:"Получать сообщения и уведомления в реальном времени",useStreamingApiWarning:"(Не рекомендуется, экспериментально, сообщения могут пропадать)",text:"Текст",theme:"Тема",theme_help:"Используйте шестнадцатеричные коды цветов (#rrggbb) для настройки темы.",theme_help_v2_1:'Вы так же можете перепоределить цвета определенных компонентов нажав соотв. галочку. Используйте кнопку "Очистить всё" чтобы снять все переопределения.',theme_help_v2_2:"Под некоторыми полями ввода это идикаторы контрастности, наведите на них мышью чтобы узнать больше. Приспользовании прозрачности контраст расчитывается для наихудшего варианта.",tooltipRadius:"Всплывающие подсказки/уведомления",user_settings:"Настройки пользователя",values:{false:"нет",true:"да"},style:{switcher:{keep_color:"Оставить цвета",keep_shadows:"Оставить тени",keep_opacity:"Оставить прозрачность",keep_roundness:"Оставить скругление",keep_fonts:"Оставить шрифты",save_load_hint:'Опции "оставить..." позволяют сохранить текущие настройки при выборе другой темы или импорта её из файла. Так же они влияют на то какие компоненты будут сохранены при экспорте темы. Когда все галочки сняты все компоненты будут экспортированы.',reset:"Сбросить",clear_all:"Очистить всё",clear_opacity:"Очистить прозрачность"},common:{color:"Цвет",opacity:"Прозрачность",contrast:{hint:"Уровень контраста: {ratio}, что {level} {context}",level:{aa:"соответствует гайдлайну Level AA (минимальный)",aaa:"соответствует гайдлайну Level AAA (рекомендуемый)",bad:"не соответствует каким либо гайдлайнам"},context:{"18pt":"для крупного (18pt+) текста",text:"для текста"}}},common_colors:{_tab_label:"Общие",main:"Общие цвета",foreground_hint:'См. вкладку "Дополнительно" для более детального контроля',rgbo:"Иконки, акценты, ярылки"},advanced_colors:{_tab_label:"Дополнительно",alert:"Фон уведомлений",alert_error:"Ошибки",badge:"Фон значков",badge_notification:"Уведомления",panel_header:"Заголовок панели",top_bar:"Верняя полоска",borders:"Границы",buttons:"Кнопки",inputs:"Поля ввода",faint_text:"Маловажный текст"},radii:{_tab_label:"Скругление"},shadows:{_tab_label:"Светотень",component:"Компонент",override:"Переопределить",shadow_id:"Тень №{value}",blur:"Размытие",spread:"Разброс",inset:"Внутренняя",hint:"Для теней вы так же можете использовать --variable в качестве цвета чтобы использовать CSS3-переменные. В таком случае прозрачность работать не будет.",filter_hint:{always_drop_shadow:"Внимание, эта тень всегда использует {0} когда браузер поддерживает это.",drop_shadow_syntax:"{0} не поддерживает параметр {1} и ключевое слово {2}.",avatar_inset:"Одновременное использование внутренних и внешних теней на (прозрачных) аватарках может дать не те результаты что вы ожидаете.",spread_zero:"Тени с разбросом > 0 будут выглядеть как если бы разброс установлен в 0",inset_classic:"Внутренние тени будут использовать {0}"},components:{panel:"Панель",panelHeader:"Заголовок панели",topBar:"Верхняя полоска",avatar:"Аватарка (профиль)",avatarStatus:"Аватарка (в ленте)",popup:"Всплывающие подсказки",button:"Кнопки",buttonHover:"Кнопки (наведен курсор)",buttonPressed:"Кнопки (нажата)",buttonPressedHover:"Кнопки (нажата+наведен курсор)",input:"Поля ввода"}},fonts:{_tab_label:"Шрифты",help:'Выберите тип шрифта для использования в интерфейсе. При выборе варианта "другой" надо ввести название шрифта в точности как он называется в системе.',components:{interface:"Интерфейс",input:"Поля ввода",post:"Текст постов",postCode:"Моноширинный текст в посте (форматирование)"},family:"Шрифт",size:"Размер (в пикселях)",weight:"Ширина",custom:"Другой"},preview:{header:"Пример",content:"Контент",error:"Ошибка стоп 000",button:"Кнопка",text:"Еще немного {0} и масенькая {1}",mono:"контента",input:"Что нового?",faint_link:"Его придется убрать",fine_print:"Если проблемы остались — ваш гуртовщик мыши плохо стоит. {0}.",header_faint:"Все идет по плану",checkbox:"Я подтверждаю что не было ни единого разрыва",link:"ссылка"}},notification_setting_non_followers:"Не читающие вас",allow_following_move:"Разрешить автоматически читать новый аккаунт при перемещении на другой сервер",hide_user_stats:"Не показывать статистику пользователей (например количество читателей)",notification_setting_followers:"Читающие вас",notification_setting_follows:"Читаемые вами",notification_setting_non_follows:"Не читаемые вами"},timeline:{collapse:"Свернуть",conversation:"Разговор",error_fetching:"Ошибка при обновлении",load_older:"Загрузить старые статусы",no_retweet_hint:'Пост помечен как "только для подписчиков" или "личное" и поэтому не может быть повторён',repeated:"повторил(а)",show_new:"Показать новые",up_to_date:"Обновлено"},status:{bookmark:"В закладки",unbookmark:"Удалить из закладок"},user_card:{block:"Заблокировать",blocked:"Заблокирован",favorites:"Понравившиеся",follow:"Читать",follow_sent:"Запрос отправлен!",follow_progress:"Запрашиваем…",follow_again:"Запросить еще раз?",follow_unfollow:"Перестать читать",followees:"Читаемые",followers:"Читатели",following:"Читаю!",follows_you:"Читает вас!",mute:"Игнорировать",muted:"Игнорирую",per_day:"в день",remote_follow:"Читать удалённо",statuses:"Статусы",admin_menu:{moderation:"Опции модератора",grant_admin:"Сделать администратором",revoke_admin:"Забрать права администратора",grant_moderator:"Сделать модератором",revoke_moderator:"Забрать права модератора",activate_account:"Активировать аккаунт",deactivate_account:"Деактивировать аккаунт",delete_account:"Удалить аккаунт",force_nsfw:"Отмечать посты пользователя как NSFW",strip_media:"Убирать вложения из постов пользователя",force_unlisted:"Не добавлять посты в публичные ленты",sandbox:"Принудить видимость постов только читателям",disable_remote_subscription:"Запретить читать с удаленных серверов",disable_any_subscription:"Запретить читать пользователя",quarantine:"Не федерировать посты пользователя",delete_user:"Удалить пользователя",delete_user_confirmation:"Вы уверены? Это действие нельзя отменить."}},user_profile:{timeline_title:"Лента пользователя"},search:{people:"Люди",hashtags:"Хэштэги",person_talking:"Популярно у {count} человека",people_talking:"Популярно у {count} человек",no_results:"Ничего не найдено"},password_reset:{forgot_password:"Забыли пароль?",password_reset:"Сброс пароля",instruction:"Введите ваш email или имя пользователя, и мы отправим вам ссылку для сброса пароля.",placeholder:"Ваш email или имя пользователя",check_email:"Проверьте ваш email и перейдите по ссылке для сброса пароля.",return_home:"Вернуться на главную страницу",not_found:"Мы не смогли найти аккаунт с таким email-ом или именем пользователя.",too_many_requests:"Вы исчерпали допустимое количество попыток, попробуйте позже.",password_reset_disabled:"Сброс пароля отключен. Cвяжитесь с администратором вашего сервера."},about:{mrf:{federation:"Федерация",simple:{accept_desc:"Данный сервер принимает сообщения только со следующих серверов:",ftl_removal_desc:"Данный сервер скрывает следующие сервера с федеративной ленты:",media_nsfw_desc:"Данный сервер принужденно помечает вложения со следущих серверов как NSFW:",simple_policies:"Правила для определенных серверов",accept:"Принимаемые сообщения",reject:"Отклоняемые сообщения",reject_desc:"Данный сервер не принимает сообщения со следующих серверов:",quarantine:"Зона карантина",quarantine_desc:"Данный сервер отправляет только публичные посты следующим серверам:",ftl_removal:"Скрытие с федеративной ленты",media_removal:"Удаление вложений",media_removal_desc:"Данный сервер удаляет вложения со следующих серверов:",media_nsfw:"Принужденно помеченно как NSFW"},keyword:{ftl_removal:"Убрать из федеративной ленты",reject:"Отклонить",keyword_policies:"Действия на ключевые слова",replace:"Заменить",is_replaced_by:"→"},mrf_policies:"Активные правила MRF (модуль переписывания сообщений)",mrf_policies_desc:"Правила MRF (модуль переписывания сообщений) влияют на федерацию данного сервера. Следующие правила активны:"},staff:"Администрация"},domain_mute_card:{mute:"Игнорировать",mute_progress:"В процессе…",unmute:"Прекратить игнорирование",unmute_progress:"В процессе…"},exporter:{export:"Экспорт",processing:"Запрос в обработке, вам скоро будет предложено загрузить файл"},features_panel:{chat:"Чат",media_proxy:"Прокси для внешних вложений",text_limit:"Лимит символов",title:"Особенности",gopher:"Gopher"},tool_tip:{accept_follow_request:"Принять запрос на чтение",reject_follow_request:"Отклонить запрос на чтение"}}}}]); +//# sourceMappingURL=28.4f39e562aaceaa01e883.js.map \ No newline at end of file diff --git a/priv/static/static/js/28.4f39e562aaceaa01e883.js.map b/priv/static/static/js/28.4f39e562aaceaa01e883.js.map new file mode 100644 index 000000000..24c675a4c --- /dev/null +++ b/priv/static/static/js/28.4f39e562aaceaa01e883.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/28.4f39e562aaceaa01e883.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/28.be5118beb1098a81332d.js.map b/priv/static/static/js/28.be5118beb1098a81332d.js.map deleted file mode 100644 index 57e1d7124..000000000 --- a/priv/static/static/js/28.be5118beb1098a81332d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/28.be5118beb1098a81332d.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/29.084f6fb0987d3862d410.js.map b/priv/static/static/js/29.084f6fb0987d3862d410.js.map deleted file mode 100644 index c977b4c84..000000000 --- a/priv/static/static/js/29.084f6fb0987d3862d410.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/29.084f6fb0987d3862d410.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/29.084f6fb0987d3862d410.js b/priv/static/static/js/29.137e2a68b558eed58152.js similarity index 99% rename from priv/static/static/js/29.084f6fb0987d3862d410.js rename to priv/static/static/js/29.137e2a68b558eed58152.js index 0a92f928a..50cb11ffd 100644 --- a/priv/static/static/js/29.084f6fb0987d3862d410.js +++ b/priv/static/static/js/29.137e2a68b558eed58152.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{562:function(e){e.exports={"chat.title":"చాట్","features_panel.chat":"చాట్","features_panel.gopher":"గోఫర్","features_panel.media_proxy":"మీడియా ప్రాక్సీ","features_panel.scope_options":"స్కోప్ ఎంపికలు","features_panel.text_limit":"వచన పరిమితి","features_panel.title":"లక్షణాలు","features_panel.who_to_follow":"ఎవరిని అనుసరించాలి","finder.error_fetching_user":"వినియోగదారుని పొందడంలో లోపం","finder.find_user":"వినియోగదారుని కనుగొనండి","general.apply":"వర్తించు","general.submit":"సమర్పించు","general.more":"మరిన్ని","general.generic_error":"ఒక తప్పిదం సంభవించినది","general.optional":"ఐచ్చికం","image_cropper.crop_picture":"చిత్రాన్ని కత్తిరించండి","image_cropper.save":"దాచు","image_cropper.save_without_cropping":"కత్తిరించకుండా సేవ్ చేయి","image_cropper.cancel":"రద్దుచేయి","login.login":"లాగిన్","login.description":"OAuth తో లాగిన్ అవ్వండి","login.logout":"లాగౌట్","login.password":"సంకేతపదము","login.placeholder":"ఉదా. lain","login.register":"నమోదు చేసుకోండి","login.username":"వాడుకరి పేరు","login.hint":"చర్చలో చేరడానికి లాగిన్ అవ్వండి","media_modal.previous":"ముందరి పుట","media_modal.next":"తరువాత","nav.about":"గురించి","nav.back":"వెనక్కి","nav.chat":"స్థానిక చాట్","nav.friend_requests":"అనుసరించడానికి అభ్యర్థనలు","nav.mentions":"ప్రస్తావనలు","nav.dms":"నేరుగా పంపిన సందేశాలు","nav.public_tl":"ప్రజా కాలక్రమం","nav.timeline":"కాలక్రమం","nav.twkn":"మొత్తం తెలిసిన నెట్వర్క్","nav.user_search":"వాడుకరి శోధన","nav.who_to_follow":"ఎవరిని అనుసరించాలి","nav.preferences":"ప్రాధాన్యతలు","notifications.broken_favorite":"తెలియని స్థితి, దాని కోసం శోధిస్తోంది...","notifications.favorited_you":"మీ స్థితిని ఇష్టపడ్డారు","notifications.followed_you":"మిమ్మల్ని అనుసరించారు","notifications.load_older":"పాత నోటిఫికేషన్లను లోడ్ చేయండి","notifications.notifications":"ప్రకటనలు","notifications.read":"చదివాను!","notifications.repeated_you":"మీ స్థితిని పునరావృతం చేసారు","notifications.no_more_notifications":"ఇక నోటిఫికేషన్లు లేవు","post_status.new_status":"క్రొత్త స్థితిని పోస్ట్ చేయండి","post_status.account_not_locked_warning":"మీ ఖాతా {౦} కాదు. ఎవరైనా మిమ్మల్ని అనుసరించి అనుచరులకు మాత్రమే ఉద్దేశించిన పోస్టులను చూడవచ్చు.","post_status.account_not_locked_warning_link":"తాళం వేయబడినది","post_status.attachments_sensitive":"జోడింపులను సున్నితమైనవిగా గుర్తించండి","post_status.content_type.text/plain":"సాధారణ అక్షరాలు","post_status.content_type.text/html":"హెచ్‌టిఎమ్ఎల్","post_status.content_type.text/markdown":"మార్క్డౌన్","post_status.content_warning":"విషయం (ఐచ్ఛికం)","post_status.default":"ఇప్పుడే విజయవాడలో దిగాను.","post_status.direct_warning":"ఈ పోస్ట్ మాత్రమే పేర్కొన్న వినియోగదారులకు మాత్రమే కనిపిస్తుంది.","post_status.posting":"పోస్ట్ చేస్తున్నా","post_status.scope.direct":"ప్రత్యక్ష - పేర్కొన్న వినియోగదారులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.private":"అనుచరులకు మాత్రమే - అనుచరులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.public":"పబ్లిక్ - ప్రజా కాలక్రమాలకు పోస్ట్ చేయబడుతుంది","post_status.scope.unlisted":"జాబితా చేయబడనిది - ప్రజా కాలక్రమాలకు పోస్ట్ చేయవద్దు","registration.bio":"బయో","registration.email":"ఈ మెయిల్","registration.fullname":"ప్రదర్శన పేరు","registration.password_confirm":"పాస్వర్డ్ నిర్ధారణ","registration.registration":"నమోదు","registration.token":"ఆహ్వాన టోకెన్","registration.captcha":"కాప్చా","registration.new_captcha":"కొత్త కాప్చా పొందుటకు చిత్రం మీద క్లిక్ చేయండి","registration.username_placeholder":"ఉదా. lain","registration.fullname_placeholder":"ఉదా. Lain Iwakura","registration.bio_placeholder":"e.g.\nHi, I'm Lain.\nI’m an anime girl living in suburban Japan. You may know me from the Wired.","registration.validations.username_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.fullname_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.email_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_match":"సంకేతపదం వలె ఉండాలి","settings.app_name":"అనువర్తన పేరు","settings.attachmentRadius":"జోడింపులు","settings.attachments":"జోడింపులు","settings.autoload":"క్రిందికి స్క్రోల్ చేయబడినప్పుడు స్వయంచాలక లోడింగ్ని ప్రారంభించు","settings.avatar":"అవతారం","settings.avatarAltRadius":"అవతారాలు (ప్రకటనలు)","settings.avatarRadius":"అవతారాలు","settings.background":"బ్యాక్‌గ్రౌండు","settings.bio":"బయో","settings.blocks_tab":"బ్లాక్‌లు","settings.btnRadius":"బటన్లు","settings.cBlue":"నీలం (ప్రత్యుత్తరం, అనుసరించండి)","settings.cGreen":"Green (Retweet)","settings.cOrange":"ఆరెంజ్ (ఇష్టపడు)","settings.cRed":"Red (Cancel)","settings.change_password":"పాస్‌వర్డ్ మార్చండి","settings.change_password_error":"మీ పాస్వర్డ్ను మార్చడంలో సమస్య ఉంది.","settings.changed_password":"పాస్వర్డ్ విజయవంతంగా మార్చబడింది!","settings.collapse_subject":"Collapse posts with subjects","settings.composing":"Composing","settings.confirm_new_password":"కొత్త పాస్వర్డ్ను నిర్ధారించండి","settings.current_avatar":"మీ ప్రస్తుత అవతారం","settings.current_password":"ప్రస్తుత పాస్వర్డ్","settings.current_profile_banner":"మీ ప్రస్తుత ప్రొఫైల్ బ్యానర్","settings.data_import_export_tab":"Data Import / Export","settings.default_vis":"Default visibility scope","settings.delete_account":"Delete Account","settings.delete_account_description":"మీ ఖాతా మరియు మీ అన్ని సందేశాలను శాశ్వతంగా తొలగించండి.","settings.delete_account_error":"There was an issue deleting your account. If this persists please contact your instance administrator.","settings.delete_account_instructions":"ఖాతా తొలగింపును నిర్ధారించడానికి దిగువ ఇన్పుట్లో మీ పాస్వర్డ్ను టైప్ చేయండి.","settings.avatar_size_instruction":"అవతార్ చిత్రాలకు సిఫార్సు చేసిన కనీస పరిమాణం 150x150 పిక్సెల్స్.","settings.export_theme":"Save preset","settings.filtering":"వడపోత","settings.filtering_explanation":"All statuses containing these words will be muted, one per line","settings.follow_export":"Follow export","settings.follow_export_button":"Export your follows to a csv file","settings.follow_export_processing":"Processing, you'll soon be asked to download your file","settings.follow_import":"Follow import","settings.follow_import_error":"అనుచరులను దిగుమతి చేయడంలో లోపం","settings.follows_imported":"Follows imported! Processing them will take a while.","settings.foreground":"Foreground","settings.general":"General","settings.hide_attachments_in_convo":"సంభాషణలలో జోడింపులను దాచు","settings.hide_attachments_in_tl":"కాలక్రమంలో జోడింపులను దాచు","settings.hide_muted_posts":"మ్యూట్ చేసిన వినియోగదారుల యొక్క పోస్ట్లను దాచిపెట్టు","settings.max_thumbnails":"Maximum amount of thumbnails per post","settings.hide_isp":"Hide instance-specific panel","settings.preload_images":"Preload images","settings.use_one_click_nsfw":"కేవలం ఒక క్లిక్ తో NSFW జోడింపులను తెరవండి","settings.hide_post_stats":"Hide post statistics (e.g. the number of favorites)","settings.hide_user_stats":"Hide user statistics (e.g. the number of followers)","settings.hide_filtered_statuses":"Hide filtered statuses","settings.import_followers_from_a_csv_file":"Import follows from a csv file","settings.import_theme":"Load preset","settings.inputRadius":"Input fields","settings.checkboxRadius":"Checkboxes","settings.instance_default":"(default: {value})","settings.instance_default_simple":"(default)","settings.interface":"Interface","settings.interfaceLanguage":"Interface language","settings.invalid_theme_imported":"The selected file is not a supported Pleroma theme. No changes to your theme were made.","settings.limited_availability":"మీ బ్రౌజర్లో అందుబాటులో లేదు","settings.links":"Links","settings.lock_account_description":"మీ ఖాతాను ఆమోదించిన అనుచరులకు మాత్రమే పరిమితం చేయండి","settings.loop_video":"Loop videos","settings.loop_video_silent_only":'Loop only videos without sound (i.e. Mastodon\'s "gifs")',"settings.mutes_tab":"మ్యూట్ చేయబడినవి","settings.play_videos_in_modal":"మీడియా వీక్షికలో నేరుగా వీడియోలను ప్లే చేయి","settings.use_contain_fit":"అటాచ్మెంట్ సూక్ష్మచిత్రాలను కత్తిరించవద్దు","settings.name":"Name","settings.name_bio":"పేరు & బయో","settings.new_password":"కొత్త సంకేతపదం","settings.notification_visibility":"చూపించవలసిన నోటిఫికేషన్ రకాలు","settings.notification_visibility_follows":"Follows","settings.notification_visibility_likes":"ఇష్టాలు","settings.notification_visibility_mentions":"ప్రస్తావనలు","settings.notification_visibility_repeats":"పునఃప్రసారాలు","settings.no_rich_text_description":"అన్ని పోస్ట్ల నుండి రిచ్ టెక్స్ట్ ఫార్మాటింగ్ను స్ట్రిప్ చేయండి","settings.no_blocks":"బ్లాక్స్ లేవు","settings.no_mutes":"మ్యూట్లు లేవు","settings.hide_follows_description":"నేను ఎవరిని అనుసరిస్తున్నానో చూపించవద్దు","settings.hide_followers_description":"నన్ను ఎవరు అనుసరిస్తున్నారో చూపవద్దు","settings.show_admin_badge":"నా ప్రొఫైల్ లో అడ్మిన్ బ్యాడ్జ్ చూపించు","settings.show_moderator_badge":"నా ప్రొఫైల్లో మోడరేటర్ బ్యాడ్జ్ని చూపించు","settings.nsfw_clickthrough":"Enable clickthrough NSFW attachment hiding","settings.oauth_tokens":"OAuth tokens","settings.token":"Token","settings.refresh_token":"Refresh Token","settings.valid_until":"Valid Until","settings.revoke_token":"Revoke","settings.panelRadius":"Panels","settings.pause_on_unfocused":"Pause streaming when tab is not focused","settings.presets":"Presets","settings.profile_background":"Profile Background","settings.profile_banner":"Profile Banner","settings.profile_tab":"Profile","settings.radii_help":"Set up interface edge rounding (in pixels)","settings.replies_in_timeline":"Replies in timeline","settings.reply_link_preview":"Enable reply-link preview on mouse hover","settings.reply_visibility_all":"Show all replies","settings.reply_visibility_following":"Only show replies directed at me or users I'm following","settings.reply_visibility_self":"Only show replies directed at me","settings.saving_err":"Error saving settings","settings.saving_ok":"Settings saved","settings.security_tab":"Security","settings.scope_copy":"Copy scope when replying (DMs are always copied)","settings.set_new_avatar":"Set new avatar","settings.set_new_profile_background":"Set new profile background","settings.set_new_profile_banner":"Set new profile banner","settings.settings":"Settings","settings.subject_input_always_show":"Always show subject field","settings.subject_line_behavior":"Copy subject when replying","settings.subject_line_email":'Like email: "re: subject"',"settings.subject_line_mastodon":"Like mastodon: copy as is","settings.subject_line_noop":"Do not copy","settings.post_status_content_type":"Post status content type","settings.stop_gifs":"Play-on-hover GIFs","settings.streaming":"Enable automatic streaming of new posts when scrolled to the top","settings.text":"Text","settings.theme":"Theme","settings.theme_help":"Use hex color codes (#rrggbb) to customize your color theme.","settings.theme_help_v2_1":'You can also override certain component\'s colors and opacity by toggling the checkbox, use "Clear all" button to clear all overrides.',"settings.theme_help_v2_2":"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.","settings.tooltipRadius":"Tooltips/alerts","settings.upload_a_photo":"Upload a photo","settings.user_settings":"User Settings","settings.values.false":"no","settings.values.true":"yes","settings.notifications":"Notifications","settings.enable_web_push_notifications":"Enable web push notifications","settings.style.switcher.keep_color":"Keep colors","settings.style.switcher.keep_shadows":"Keep shadows","settings.style.switcher.keep_opacity":"Keep opacity","settings.style.switcher.keep_roundness":"Keep roundness","settings.style.switcher.keep_fonts":"Keep fonts","settings.style.switcher.save_load_hint":'"Keep" options preserve currently set options when selecting or loading themes, it also stores said options when exporting a theme. When all checkboxes unset, exporting theme will save everything.',"settings.style.switcher.reset":"Reset","settings.style.switcher.clear_all":"Clear all","settings.style.switcher.clear_opacity":"Clear opacity","settings.style.common.color":"Color","settings.style.common.opacity":"Opacity","settings.style.common.contrast.hint":"Contrast ratio is {ratio}, it {level} {context}","settings.style.common.contrast.level.aa":"meets Level AA guideline (minimal)","settings.style.common.contrast.level.aaa":"meets Level AAA guideline (recommended)","settings.style.common.contrast.level.bad":"doesn't meet any accessibility guidelines","settings.style.common.contrast.context.18pt":"for large (18pt+) text","settings.style.common.contrast.context.text":"for text","settings.style.common_colors._tab_label":"Common","settings.style.common_colors.main":"Common colors","settings.style.common_colors.foreground_hint":'See "Advanced" tab for more detailed control',"settings.style.common_colors.rgbo":"Icons, accents, badges","settings.style.advanced_colors._tab_label":"Advanced","settings.style.advanced_colors.alert":"Alert background","settings.style.advanced_colors.alert_error":"Error","settings.style.advanced_colors.badge":"Badge background","settings.style.advanced_colors.badge_notification":"Notification","settings.style.advanced_colors.panel_header":"Panel header","settings.style.advanced_colors.top_bar":"Top bar","settings.style.advanced_colors.borders":"Borders","settings.style.advanced_colors.buttons":"Buttons","settings.style.advanced_colors.inputs":"Input fields","settings.style.advanced_colors.faint_text":"Faded text","settings.style.radii._tab_label":"Roundness","settings.style.shadows._tab_label":"Shadow and lighting","settings.style.shadows.component":"Component","settings.style.shadows.override":"Override","settings.style.shadows.shadow_id":"Shadow #{value}","settings.style.shadows.blur":"Blur","settings.style.shadows.spread":"Spread","settings.style.shadows.inset":"Inset","settings.style.shadows.hint":"For shadows you can also use --variable as a color value to use CSS3 variables. Please note that setting opacity won't work in this case.","settings.style.shadows.filter_hint.always_drop_shadow":"Warning, this shadow always uses {0} when browser supports it.","settings.style.shadows.filter_hint.drop_shadow_syntax":"{0} does not support {1} parameter and {2} keyword.","settings.style.shadows.filter_hint.avatar_inset":"Please note that combining both inset and non-inset shadows on avatars might give unexpected results with transparent avatars.","settings.style.shadows.filter_hint.spread_zero":"Shadows with spread > 0 will appear as if it was set to zero","settings.style.shadows.filter_hint.inset_classic":"Inset shadows will be using {0}","settings.style.shadows.components.panel":"Panel","settings.style.shadows.components.panelHeader":"Panel header","settings.style.shadows.components.topBar":"Top bar","settings.style.shadows.components.avatar":"User avatar (in profile view)","settings.style.shadows.components.avatarStatus":"User avatar (in post display)","settings.style.shadows.components.popup":"Popups and tooltips","settings.style.shadows.components.button":"Button","settings.style.shadows.components.buttonHover":"Button (hover)","settings.style.shadows.components.buttonPressed":"Button (pressed)","settings.style.shadows.components.buttonPressedHover":"Button (pressed+hover)","settings.style.shadows.components.input":"Input field","settings.style.fonts._tab_label":"Fonts","settings.style.fonts.help":'Select font to use for elements of UI. For "custom" you have to enter exact font name as it appears in system.',"settings.style.fonts.components.interface":"Interface","settings.style.fonts.components.input":"Input fields","settings.style.fonts.components.post":"Post text","settings.style.fonts.components.postCode":"Monospaced text in a post (rich text)","settings.style.fonts.family":"Font name","settings.style.fonts.size":"Size (in px)","settings.style.fonts.weight":"Weight (boldness)","settings.style.fonts.custom":"Custom","settings.style.preview.header":"Preview","settings.style.preview.content":"Content","settings.style.preview.error":"Example error","settings.style.preview.button":"Button","settings.style.preview.text":"A bunch of more {0} and {1}","settings.style.preview.mono":"content","settings.style.preview.input":"Just landed in L.A.","settings.style.preview.faint_link":"helpful manual","settings.style.preview.fine_print":"Read our {0} to learn nothing useful!","settings.style.preview.header_faint":"This is fine","settings.style.preview.checkbox":"I have skimmed over terms and conditions","settings.style.preview.link":"a nice lil' link","settings.version.title":"Version","settings.version.backend_version":"Backend Version","settings.version.frontend_version":"Frontend Version","timeline.collapse":"Collapse","timeline.conversation":"Conversation","timeline.error_fetching":"Error fetching updates","timeline.load_older":"Load older statuses","timeline.no_retweet_hint":"Post is marked as followers-only or direct and cannot be repeated","timeline.repeated":"repeated","timeline.show_new":"Show new","timeline.up_to_date":"Up-to-date","timeline.no_more_statuses":"No more statuses","timeline.no_statuses":"No statuses","status.reply_to":"Reply to","status.replies_list":"Replies:","user_card.approve":"Approve","user_card.block":"Block","user_card.blocked":"Blocked!","user_card.deny":"Deny","user_card.favorites":"Favorites","user_card.follow":"Follow","user_card.follow_sent":"Request sent!","user_card.follow_progress":"Requesting…","user_card.follow_again":"Send request again?","user_card.follow_unfollow":"Unfollow","user_card.followees":"Following","user_card.followers":"Followers","user_card.following":"Following!","user_card.follows_you":"Follows you!","user_card.its_you":"It's you!","user_card.media":"Media","user_card.mute":"Mute","user_card.muted":"Muted","user_card.per_day":"per day","user_card.remote_follow":"Remote follow","user_card.statuses":"Statuses","user_card.unblock":"Unblock","user_card.unblock_progress":"Unblocking...","user_card.block_progress":"Blocking...","user_card.unmute":"Unmute","user_card.unmute_progress":"Unmuting...","user_card.mute_progress":"Muting...","user_profile.timeline_title":"User Timeline","user_profile.profile_does_not_exist":"Sorry, this profile does not exist.","user_profile.profile_loading_error":"Sorry, there was an error loading this profile.","who_to_follow.more":"More","who_to_follow.who_to_follow":"Who to follow","tool_tip.media_upload":"Upload Media","tool_tip.repeat":"Repeat","tool_tip.reply":"Reply","tool_tip.favorite":"Favorite","tool_tip.user_settings":"User Settings","upload.error.base":"Upload failed.","upload.error.file_too_big":"File too big [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","upload.error.default":"Try again later","upload.file_size_units.B":"B","upload.file_size_units.KiB":"KiB","upload.file_size_units.MiB":"MiB","upload.file_size_units.GiB":"GiB","upload.file_size_units.TiB":"TiB"}}}]); -//# sourceMappingURL=29.084f6fb0987d3862d410.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{580:function(e){e.exports={"chat.title":"చాట్","features_panel.chat":"చాట్","features_panel.gopher":"గోఫర్","features_panel.media_proxy":"మీడియా ప్రాక్సీ","features_panel.scope_options":"స్కోప్ ఎంపికలు","features_panel.text_limit":"వచన పరిమితి","features_panel.title":"లక్షణాలు","features_panel.who_to_follow":"ఎవరిని అనుసరించాలి","finder.error_fetching_user":"వినియోగదారుని పొందడంలో లోపం","finder.find_user":"వినియోగదారుని కనుగొనండి","general.apply":"వర్తించు","general.submit":"సమర్పించు","general.more":"మరిన్ని","general.generic_error":"ఒక తప్పిదం సంభవించినది","general.optional":"ఐచ్చికం","image_cropper.crop_picture":"చిత్రాన్ని కత్తిరించండి","image_cropper.save":"దాచు","image_cropper.save_without_cropping":"కత్తిరించకుండా సేవ్ చేయి","image_cropper.cancel":"రద్దుచేయి","login.login":"లాగిన్","login.description":"OAuth తో లాగిన్ అవ్వండి","login.logout":"లాగౌట్","login.password":"సంకేతపదము","login.placeholder":"ఉదా. lain","login.register":"నమోదు చేసుకోండి","login.username":"వాడుకరి పేరు","login.hint":"చర్చలో చేరడానికి లాగిన్ అవ్వండి","media_modal.previous":"ముందరి పుట","media_modal.next":"తరువాత","nav.about":"గురించి","nav.back":"వెనక్కి","nav.chat":"స్థానిక చాట్","nav.friend_requests":"అనుసరించడానికి అభ్యర్థనలు","nav.mentions":"ప్రస్తావనలు","nav.dms":"నేరుగా పంపిన సందేశాలు","nav.public_tl":"ప్రజా కాలక్రమం","nav.timeline":"కాలక్రమం","nav.twkn":"మొత్తం తెలిసిన నెట్వర్క్","nav.user_search":"వాడుకరి శోధన","nav.who_to_follow":"ఎవరిని అనుసరించాలి","nav.preferences":"ప్రాధాన్యతలు","notifications.broken_favorite":"తెలియని స్థితి, దాని కోసం శోధిస్తోంది...","notifications.favorited_you":"మీ స్థితిని ఇష్టపడ్డారు","notifications.followed_you":"మిమ్మల్ని అనుసరించారు","notifications.load_older":"పాత నోటిఫికేషన్లను లోడ్ చేయండి","notifications.notifications":"ప్రకటనలు","notifications.read":"చదివాను!","notifications.repeated_you":"మీ స్థితిని పునరావృతం చేసారు","notifications.no_more_notifications":"ఇక నోటిఫికేషన్లు లేవు","post_status.new_status":"క్రొత్త స్థితిని పోస్ట్ చేయండి","post_status.account_not_locked_warning":"మీ ఖాతా {౦} కాదు. ఎవరైనా మిమ్మల్ని అనుసరించి అనుచరులకు మాత్రమే ఉద్దేశించిన పోస్టులను చూడవచ్చు.","post_status.account_not_locked_warning_link":"తాళం వేయబడినది","post_status.attachments_sensitive":"జోడింపులను సున్నితమైనవిగా గుర్తించండి","post_status.content_type.text/plain":"సాధారణ అక్షరాలు","post_status.content_type.text/html":"హెచ్‌టిఎమ్ఎల్","post_status.content_type.text/markdown":"మార్క్డౌన్","post_status.content_warning":"విషయం (ఐచ్ఛికం)","post_status.default":"ఇప్పుడే విజయవాడలో దిగాను.","post_status.direct_warning":"ఈ పోస్ట్ మాత్రమే పేర్కొన్న వినియోగదారులకు మాత్రమే కనిపిస్తుంది.","post_status.posting":"పోస్ట్ చేస్తున్నా","post_status.scope.direct":"ప్రత్యక్ష - పేర్కొన్న వినియోగదారులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.private":"అనుచరులకు మాత్రమే - అనుచరులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.public":"పబ్లిక్ - ప్రజా కాలక్రమాలకు పోస్ట్ చేయబడుతుంది","post_status.scope.unlisted":"జాబితా చేయబడనిది - ప్రజా కాలక్రమాలకు పోస్ట్ చేయవద్దు","registration.bio":"బయో","registration.email":"ఈ మెయిల్","registration.fullname":"ప్రదర్శన పేరు","registration.password_confirm":"పాస్వర్డ్ నిర్ధారణ","registration.registration":"నమోదు","registration.token":"ఆహ్వాన టోకెన్","registration.captcha":"కాప్చా","registration.new_captcha":"కొత్త కాప్చా పొందుటకు చిత్రం మీద క్లిక్ చేయండి","registration.username_placeholder":"ఉదా. lain","registration.fullname_placeholder":"ఉదా. Lain Iwakura","registration.bio_placeholder":"e.g.\nHi, I'm Lain.\nI’m an anime girl living in suburban Japan. You may know me from the Wired.","registration.validations.username_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.fullname_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.email_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_match":"సంకేతపదం వలె ఉండాలి","settings.app_name":"అనువర్తన పేరు","settings.attachmentRadius":"జోడింపులు","settings.attachments":"జోడింపులు","settings.autoload":"క్రిందికి స్క్రోల్ చేయబడినప్పుడు స్వయంచాలక లోడింగ్ని ప్రారంభించు","settings.avatar":"అవతారం","settings.avatarAltRadius":"అవతారాలు (ప్రకటనలు)","settings.avatarRadius":"అవతారాలు","settings.background":"బ్యాక్‌గ్రౌండు","settings.bio":"బయో","settings.blocks_tab":"బ్లాక్‌లు","settings.btnRadius":"బటన్లు","settings.cBlue":"నీలం (ప్రత్యుత్తరం, అనుసరించండి)","settings.cGreen":"Green (Retweet)","settings.cOrange":"ఆరెంజ్ (ఇష్టపడు)","settings.cRed":"Red (Cancel)","settings.change_password":"పాస్‌వర్డ్ మార్చండి","settings.change_password_error":"మీ పాస్వర్డ్ను మార్చడంలో సమస్య ఉంది.","settings.changed_password":"పాస్వర్డ్ విజయవంతంగా మార్చబడింది!","settings.collapse_subject":"Collapse posts with subjects","settings.composing":"Composing","settings.confirm_new_password":"కొత్త పాస్వర్డ్ను నిర్ధారించండి","settings.current_avatar":"మీ ప్రస్తుత అవతారం","settings.current_password":"ప్రస్తుత పాస్వర్డ్","settings.current_profile_banner":"మీ ప్రస్తుత ప్రొఫైల్ బ్యానర్","settings.data_import_export_tab":"Data Import / Export","settings.default_vis":"Default visibility scope","settings.delete_account":"Delete Account","settings.delete_account_description":"మీ ఖాతా మరియు మీ అన్ని సందేశాలను శాశ్వతంగా తొలగించండి.","settings.delete_account_error":"There was an issue deleting your account. If this persists please contact your instance administrator.","settings.delete_account_instructions":"ఖాతా తొలగింపును నిర్ధారించడానికి దిగువ ఇన్పుట్లో మీ పాస్వర్డ్ను టైప్ చేయండి.","settings.avatar_size_instruction":"అవతార్ చిత్రాలకు సిఫార్సు చేసిన కనీస పరిమాణం 150x150 పిక్సెల్స్.","settings.export_theme":"Save preset","settings.filtering":"వడపోత","settings.filtering_explanation":"All statuses containing these words will be muted, one per line","settings.follow_export":"Follow export","settings.follow_export_button":"Export your follows to a csv file","settings.follow_export_processing":"Processing, you'll soon be asked to download your file","settings.follow_import":"Follow import","settings.follow_import_error":"అనుచరులను దిగుమతి చేయడంలో లోపం","settings.follows_imported":"Follows imported! Processing them will take a while.","settings.foreground":"Foreground","settings.general":"General","settings.hide_attachments_in_convo":"సంభాషణలలో జోడింపులను దాచు","settings.hide_attachments_in_tl":"కాలక్రమంలో జోడింపులను దాచు","settings.hide_muted_posts":"మ్యూట్ చేసిన వినియోగదారుల యొక్క పోస్ట్లను దాచిపెట్టు","settings.max_thumbnails":"Maximum amount of thumbnails per post","settings.hide_isp":"Hide instance-specific panel","settings.preload_images":"Preload images","settings.use_one_click_nsfw":"కేవలం ఒక క్లిక్ తో NSFW జోడింపులను తెరవండి","settings.hide_post_stats":"Hide post statistics (e.g. the number of favorites)","settings.hide_user_stats":"Hide user statistics (e.g. the number of followers)","settings.hide_filtered_statuses":"Hide filtered statuses","settings.import_followers_from_a_csv_file":"Import follows from a csv file","settings.import_theme":"Load preset","settings.inputRadius":"Input fields","settings.checkboxRadius":"Checkboxes","settings.instance_default":"(default: {value})","settings.instance_default_simple":"(default)","settings.interface":"Interface","settings.interfaceLanguage":"Interface language","settings.invalid_theme_imported":"The selected file is not a supported Pleroma theme. No changes to your theme were made.","settings.limited_availability":"మీ బ్రౌజర్లో అందుబాటులో లేదు","settings.links":"Links","settings.lock_account_description":"మీ ఖాతాను ఆమోదించిన అనుచరులకు మాత్రమే పరిమితం చేయండి","settings.loop_video":"Loop videos","settings.loop_video_silent_only":'Loop only videos without sound (i.e. Mastodon\'s "gifs")',"settings.mutes_tab":"మ్యూట్ చేయబడినవి","settings.play_videos_in_modal":"మీడియా వీక్షికలో నేరుగా వీడియోలను ప్లే చేయి","settings.use_contain_fit":"అటాచ్మెంట్ సూక్ష్మచిత్రాలను కత్తిరించవద్దు","settings.name":"Name","settings.name_bio":"పేరు & బయో","settings.new_password":"కొత్త సంకేతపదం","settings.notification_visibility":"చూపించవలసిన నోటిఫికేషన్ రకాలు","settings.notification_visibility_follows":"Follows","settings.notification_visibility_likes":"ఇష్టాలు","settings.notification_visibility_mentions":"ప్రస్తావనలు","settings.notification_visibility_repeats":"పునఃప్రసారాలు","settings.no_rich_text_description":"అన్ని పోస్ట్ల నుండి రిచ్ టెక్స్ట్ ఫార్మాటింగ్ను స్ట్రిప్ చేయండి","settings.no_blocks":"బ్లాక్స్ లేవు","settings.no_mutes":"మ్యూట్లు లేవు","settings.hide_follows_description":"నేను ఎవరిని అనుసరిస్తున్నానో చూపించవద్దు","settings.hide_followers_description":"నన్ను ఎవరు అనుసరిస్తున్నారో చూపవద్దు","settings.show_admin_badge":"నా ప్రొఫైల్ లో అడ్మిన్ బ్యాడ్జ్ చూపించు","settings.show_moderator_badge":"నా ప్రొఫైల్లో మోడరేటర్ బ్యాడ్జ్ని చూపించు","settings.nsfw_clickthrough":"Enable clickthrough NSFW attachment hiding","settings.oauth_tokens":"OAuth tokens","settings.token":"Token","settings.refresh_token":"Refresh Token","settings.valid_until":"Valid Until","settings.revoke_token":"Revoke","settings.panelRadius":"Panels","settings.pause_on_unfocused":"Pause streaming when tab is not focused","settings.presets":"Presets","settings.profile_background":"Profile Background","settings.profile_banner":"Profile Banner","settings.profile_tab":"Profile","settings.radii_help":"Set up interface edge rounding (in pixels)","settings.replies_in_timeline":"Replies in timeline","settings.reply_link_preview":"Enable reply-link preview on mouse hover","settings.reply_visibility_all":"Show all replies","settings.reply_visibility_following":"Only show replies directed at me or users I'm following","settings.reply_visibility_self":"Only show replies directed at me","settings.saving_err":"Error saving settings","settings.saving_ok":"Settings saved","settings.security_tab":"Security","settings.scope_copy":"Copy scope when replying (DMs are always copied)","settings.set_new_avatar":"Set new avatar","settings.set_new_profile_background":"Set new profile background","settings.set_new_profile_banner":"Set new profile banner","settings.settings":"Settings","settings.subject_input_always_show":"Always show subject field","settings.subject_line_behavior":"Copy subject when replying","settings.subject_line_email":'Like email: "re: subject"',"settings.subject_line_mastodon":"Like mastodon: copy as is","settings.subject_line_noop":"Do not copy","settings.post_status_content_type":"Post status content type","settings.stop_gifs":"Play-on-hover GIFs","settings.streaming":"Enable automatic streaming of new posts when scrolled to the top","settings.text":"Text","settings.theme":"Theme","settings.theme_help":"Use hex color codes (#rrggbb) to customize your color theme.","settings.theme_help_v2_1":'You can also override certain component\'s colors and opacity by toggling the checkbox, use "Clear all" button to clear all overrides.',"settings.theme_help_v2_2":"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.","settings.tooltipRadius":"Tooltips/alerts","settings.upload_a_photo":"Upload a photo","settings.user_settings":"User Settings","settings.values.false":"no","settings.values.true":"yes","settings.notifications":"Notifications","settings.enable_web_push_notifications":"Enable web push notifications","settings.style.switcher.keep_color":"Keep colors","settings.style.switcher.keep_shadows":"Keep shadows","settings.style.switcher.keep_opacity":"Keep opacity","settings.style.switcher.keep_roundness":"Keep roundness","settings.style.switcher.keep_fonts":"Keep fonts","settings.style.switcher.save_load_hint":'"Keep" options preserve currently set options when selecting or loading themes, it also stores said options when exporting a theme. When all checkboxes unset, exporting theme will save everything.',"settings.style.switcher.reset":"Reset","settings.style.switcher.clear_all":"Clear all","settings.style.switcher.clear_opacity":"Clear opacity","settings.style.common.color":"Color","settings.style.common.opacity":"Opacity","settings.style.common.contrast.hint":"Contrast ratio is {ratio}, it {level} {context}","settings.style.common.contrast.level.aa":"meets Level AA guideline (minimal)","settings.style.common.contrast.level.aaa":"meets Level AAA guideline (recommended)","settings.style.common.contrast.level.bad":"doesn't meet any accessibility guidelines","settings.style.common.contrast.context.18pt":"for large (18pt+) text","settings.style.common.contrast.context.text":"for text","settings.style.common_colors._tab_label":"Common","settings.style.common_colors.main":"Common colors","settings.style.common_colors.foreground_hint":'See "Advanced" tab for more detailed control',"settings.style.common_colors.rgbo":"Icons, accents, badges","settings.style.advanced_colors._tab_label":"Advanced","settings.style.advanced_colors.alert":"Alert background","settings.style.advanced_colors.alert_error":"Error","settings.style.advanced_colors.badge":"Badge background","settings.style.advanced_colors.badge_notification":"Notification","settings.style.advanced_colors.panel_header":"Panel header","settings.style.advanced_colors.top_bar":"Top bar","settings.style.advanced_colors.borders":"Borders","settings.style.advanced_colors.buttons":"Buttons","settings.style.advanced_colors.inputs":"Input fields","settings.style.advanced_colors.faint_text":"Faded text","settings.style.radii._tab_label":"Roundness","settings.style.shadows._tab_label":"Shadow and lighting","settings.style.shadows.component":"Component","settings.style.shadows.override":"Override","settings.style.shadows.shadow_id":"Shadow #{value}","settings.style.shadows.blur":"Blur","settings.style.shadows.spread":"Spread","settings.style.shadows.inset":"Inset","settings.style.shadows.hint":"For shadows you can also use --variable as a color value to use CSS3 variables. Please note that setting opacity won't work in this case.","settings.style.shadows.filter_hint.always_drop_shadow":"Warning, this shadow always uses {0} when browser supports it.","settings.style.shadows.filter_hint.drop_shadow_syntax":"{0} does not support {1} parameter and {2} keyword.","settings.style.shadows.filter_hint.avatar_inset":"Please note that combining both inset and non-inset shadows on avatars might give unexpected results with transparent avatars.","settings.style.shadows.filter_hint.spread_zero":"Shadows with spread > 0 will appear as if it was set to zero","settings.style.shadows.filter_hint.inset_classic":"Inset shadows will be using {0}","settings.style.shadows.components.panel":"Panel","settings.style.shadows.components.panelHeader":"Panel header","settings.style.shadows.components.topBar":"Top bar","settings.style.shadows.components.avatar":"User avatar (in profile view)","settings.style.shadows.components.avatarStatus":"User avatar (in post display)","settings.style.shadows.components.popup":"Popups and tooltips","settings.style.shadows.components.button":"Button","settings.style.shadows.components.buttonHover":"Button (hover)","settings.style.shadows.components.buttonPressed":"Button (pressed)","settings.style.shadows.components.buttonPressedHover":"Button (pressed+hover)","settings.style.shadows.components.input":"Input field","settings.style.fonts._tab_label":"Fonts","settings.style.fonts.help":'Select font to use for elements of UI. For "custom" you have to enter exact font name as it appears in system.',"settings.style.fonts.components.interface":"Interface","settings.style.fonts.components.input":"Input fields","settings.style.fonts.components.post":"Post text","settings.style.fonts.components.postCode":"Monospaced text in a post (rich text)","settings.style.fonts.family":"Font name","settings.style.fonts.size":"Size (in px)","settings.style.fonts.weight":"Weight (boldness)","settings.style.fonts.custom":"Custom","settings.style.preview.header":"Preview","settings.style.preview.content":"Content","settings.style.preview.error":"Example error","settings.style.preview.button":"Button","settings.style.preview.text":"A bunch of more {0} and {1}","settings.style.preview.mono":"content","settings.style.preview.input":"Just landed in L.A.","settings.style.preview.faint_link":"helpful manual","settings.style.preview.fine_print":"Read our {0} to learn nothing useful!","settings.style.preview.header_faint":"This is fine","settings.style.preview.checkbox":"I have skimmed over terms and conditions","settings.style.preview.link":"a nice lil' link","settings.version.title":"Version","settings.version.backend_version":"Backend Version","settings.version.frontend_version":"Frontend Version","timeline.collapse":"Collapse","timeline.conversation":"Conversation","timeline.error_fetching":"Error fetching updates","timeline.load_older":"Load older statuses","timeline.no_retweet_hint":"Post is marked as followers-only or direct and cannot be repeated","timeline.repeated":"repeated","timeline.show_new":"Show new","timeline.up_to_date":"Up-to-date","timeline.no_more_statuses":"No more statuses","timeline.no_statuses":"No statuses","status.reply_to":"Reply to","status.replies_list":"Replies:","user_card.approve":"Approve","user_card.block":"Block","user_card.blocked":"Blocked!","user_card.deny":"Deny","user_card.favorites":"Favorites","user_card.follow":"Follow","user_card.follow_sent":"Request sent!","user_card.follow_progress":"Requesting…","user_card.follow_again":"Send request again?","user_card.follow_unfollow":"Unfollow","user_card.followees":"Following","user_card.followers":"Followers","user_card.following":"Following!","user_card.follows_you":"Follows you!","user_card.its_you":"It's you!","user_card.media":"Media","user_card.mute":"Mute","user_card.muted":"Muted","user_card.per_day":"per day","user_card.remote_follow":"Remote follow","user_card.statuses":"Statuses","user_card.unblock":"Unblock","user_card.unblock_progress":"Unblocking...","user_card.block_progress":"Blocking...","user_card.unmute":"Unmute","user_card.unmute_progress":"Unmuting...","user_card.mute_progress":"Muting...","user_profile.timeline_title":"User Timeline","user_profile.profile_does_not_exist":"Sorry, this profile does not exist.","user_profile.profile_loading_error":"Sorry, there was an error loading this profile.","who_to_follow.more":"More","who_to_follow.who_to_follow":"Who to follow","tool_tip.media_upload":"Upload Media","tool_tip.repeat":"Repeat","tool_tip.reply":"Reply","tool_tip.favorite":"Favorite","tool_tip.user_settings":"User Settings","upload.error.base":"Upload failed.","upload.error.file_too_big":"File too big [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","upload.error.default":"Try again later","upload.file_size_units.B":"B","upload.file_size_units.KiB":"KiB","upload.file_size_units.MiB":"MiB","upload.file_size_units.GiB":"GiB","upload.file_size_units.TiB":"TiB"}}}]); +//# sourceMappingURL=29.137e2a68b558eed58152.js.map \ No newline at end of file diff --git a/priv/static/static/js/29.137e2a68b558eed58152.js.map b/priv/static/static/js/29.137e2a68b558eed58152.js.map new file mode 100644 index 000000000..0ac2f7fd3 --- /dev/null +++ b/priv/static/static/js/29.137e2a68b558eed58152.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/29.137e2a68b558eed58152.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/3.e1f7d368d5840e12e850.js b/priv/static/static/js/3.56898c1005d9ba1b8d4a.js similarity index 99% rename from priv/static/static/js/3.e1f7d368d5840e12e850.js rename to priv/static/static/js/3.56898c1005d9ba1b8d4a.js index 18212aa8f..6b20ecb04 100644 --- a/priv/static/static/js/3.e1f7d368d5840e12e850.js +++ b/priv/static/static/js/3.56898c1005d9ba1b8d4a.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{585:function(t,e,a){var n=a(214),i=a(215),r=a(586),o=a(587),s=a(216),h=a(48),c=/^\s+|\s+$/g;t.exports=function(t,e,a){if((t=h(t))&&(a||void 0===e))return t.replace(c,"");if(!t||!(e=n(e)))return t;var u=s(t),l=s(e),d=o(u,l),m=r(u,l)+1;return i(u,d,m).join("")}},586:function(t,e,a){var n=a(131);t.exports=function(t,e){for(var a=t.length;a--&&n(e,t[a],0)>-1;);return a}},587:function(t,e,a){var n=a(131);t.exports=function(t,e){for(var a=-1,i=t.length;++a-1;);return a}},592:function(t,e,a){"use strict";(function(t){ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{603:function(t,e,a){var n=a(221),i=a(222),r=a(604),o=a(605),s=a(223),h=a(48),c=/^\s+|\s+$/g;t.exports=function(t,e,a){if((t=h(t))&&(a||void 0===e))return t.replace(c,"");if(!t||!(e=n(e)))return t;var u=s(t),l=s(e),d=o(u,l),m=r(u,l)+1;return i(u,d,m).join("")}},604:function(t,e,a){var n=a(141);t.exports=function(t,e){for(var a=t.length;a--&&n(e,t[a],0)>-1;);return a}},605:function(t,e,a){var n=a(141);t.exports=function(t,e){for(var a=-1,i=t.length;++a-1;);return a}},610:function(t,e,a){"use strict";(function(t){ /*! * vue-qrcode v1.0.0 * https://fengyuanchen.github.io/vue-qrcode @@ -8,7 +8,7 @@ * * Date: 2018-10-21T13:04:02.951Z */ -var a="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};function n(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var i,r=(function(t,e){t.exports=function t(e,a,i){function r(s,h){if(!a[s]){if(!e[s]){var c=n;if(!h&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=a[s]={exports:{}};e[s][0].call(l.exports,function(t){var a=e[s][1][t];return r(a||t)},l,l.exports,t,e,a,i)}return a[s].exports}for(var o=n,s=0;s>>7-t%8&1)},put:function(t,e){for(var a=0;a>>e-a-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],4:[function(t,e,a){var n=t("../utils/buffer");function i(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new n(t*t),this.data.fill(0),this.reservedBit=new n(t*t),this.reservedBit.fill(0)}i.prototype.set=function(t,e,a,n){var i=t*this.size+e;this.data[i]=a,n&&(this.reservedBit[i]=!0)},i.prototype.get=function(t,e){return this.data[t*this.size+e]},i.prototype.xor=function(t,e,a){this.data[t*this.size+e]^=a},i.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=i},{"../utils/buffer":27}],5:[function(t,e,a){var n=t("../utils/buffer"),i=t("./mode");function r(t){this.mode=i.BYTE,this.data=new n(t)}r.getBitsLength=function(t){return 8*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){for(var e=0,a=this.data.length;e=0&&t.bit<4},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return a.L;case"m":case"medium":return a.M;case"q":case"quartile":return a.Q;case"h":case"high":return a.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],8:[function(t,e,a){var n=t("./utils").getSymbolSize;a.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":20}],9:[function(t,e,a){var n=t("./utils"),i=n.getBCHDigit(1335);a.getEncodedBits=function(t,e){for(var a=t.bit<<3|e,r=a<<10;n.getBCHDigit(r)-i>=0;)r^=1335<=33088&&a<=40956)a-=33088;else{if(!(a>=57408&&a<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");a-=49472}a=192*(a>>>8&255)+(255&a),t.put(a,13)}},e.exports=r},{"./mode":13,"./utils":20}],12:[function(t,e,a){a.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n={N1:3,N2:3,N3:40,N4:10};function i(t,e,n){switch(t){case a.Patterns.PATTERN000:return(e+n)%2==0;case a.Patterns.PATTERN001:return e%2==0;case a.Patterns.PATTERN010:return n%3==0;case a.Patterns.PATTERN011:return(e+n)%3==0;case a.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case a.Patterns.PATTERN101:return e*n%2+e*n%3==0;case a.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case a.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}a.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},a.from=function(t){return a.isValid(t)?parseInt(t,10):void 0},a.getPenaltyN1=function(t){for(var e=t.size,a=0,i=0,r=0,o=null,s=null,h=0;h=5&&(a+=n.N1+(i-5)),o=u,i=1),(u=t.get(c,h))===s?r++:(r>=5&&(a+=n.N1+(r-5)),s=u,r=1)}i>=5&&(a+=n.N1+(i-5)),r>=5&&(a+=n.N1+(r-5))}return a},a.getPenaltyN2=function(t){for(var e=t.size,a=0,i=0;i=10&&(1488===i||93===i)&&a++,r=r<<1&2047|t.get(s,o),s>=10&&(1488===r||93===r)&&a++}return a*n.N3},a.getPenaltyN4=function(t){for(var e=0,a=t.data.length,i=0;i=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},a.getBestModeForData=function(t){return i.testNumeric(t)?a.NUMERIC:i.testAlphanumeric(t)?a.ALPHANUMERIC:i.testKanji(t)?a.KANJI:a.BYTE},a.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},a.isValid=function(t){return t&&t.bit&&t.ccBits},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return a.NUMERIC;case"alphanumeric":return a.ALPHANUMERIC;case"kanji":return a.KANJI;case"byte":return a.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":18,"./version-check":21}],14:[function(t,e,a){var n=t("./mode");function i(t){this.mode=n.NUMERIC,this.data=t.toString()}i.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){var e,a,n;for(e=0;e+3<=this.data.length;e+=3)a=this.data.substr(e,3),n=parseInt(a,10),t.put(n,10);var i=this.data.length-e;i>0&&(a=this.data.substr(e),n=parseInt(a,10),t.put(n,3*i+1))},e.exports=i},{"./mode":13}],15:[function(t,e,a){var n=t("../utils/buffer"),i=t("./galois-field");a.mul=function(t,e){var a=new n(t.length+e.length-1);a.fill(0);for(var r=0;r=0;){for(var r=a[0],o=0;o>n&1),n<6?t.set(n,8,i,!0):n<8?t.set(n+1,8,i,!0):t.set(r-15+n,8,i,!0),n<8?t.set(8,r-n-1,i,!0):n<9?t.set(8,15-n-1+1,i,!0):t.set(8,15-n-1,i,!0);t.set(r-8,8,1,!0)}function y(t,e,a){var r=new o;a.forEach(function(e){r.put(e.mode.bit,4),r.put(e.getLength(),p.getCharCountIndicator(e.mode,t)),e.write(r)});var s=i.getSymbolTotalCodewords(t),h=l.getTotalCodewordsCount(t,e),c=8*(s-h);for(r.getLengthInBits()+4<=c&&r.put(0,4);r.getLengthInBits()%8!=0;)r.putBit(0);for(var u=(c-r.getLengthInBits())/8,m=0;m=0&&s<=6&&(0===h||6===h)||h>=0&&h<=6&&(0===s||6===s)||s>=2&&s<=4&&h>=2&&h<=4?t.set(r+s,o+h,!0,!0):t.set(r+s,o+h,!1,!0))}(b,e),function(t){for(var e=t.size,a=8;a=7&&function(t,e){for(var a,n,i,r=t.size,o=m.getEncodedBits(e),s=0;s<18;s++)a=Math.floor(s/3),n=s%3+r-8-3,i=1==(o>>s&1),t.set(a,n,i,!0),t.set(n,a,i,!0)}(b,e),function(t,e){for(var a=t.size,n=-1,i=a-1,r=7,o=0,s=a-1;s>0;s-=2)for(6===s&&s--;;){for(var h=0;h<2;h++)if(!t.isReserved(i,s-h)){var c=!1;o>>r&1)),t.set(i,s-h,c),-1==--r&&(o++,r=7)}if((i+=n)<0||a<=i){i-=n,n=-n;break}}}(b,f),isNaN(n)&&(n=u.getBestMask(b,w.bind(null,b,a))),u.applyMask(n,b),w(b,a,n),{modules:b,version:e,errorCorrectionLevel:a,maskPattern:n,segments:r}}a.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var a,n,o=r.M;return void 0!==e&&(o=r.from(e.errorCorrectionLevel,r.M),a=m.from(e.version),n=u.from(e.maskPattern),e.toSJISFunc&&i.setToSJISFunction(e.toSJISFunc)),b(t,a,o,n)}},{"../utils/buffer":27,"./alignment-pattern":1,"./bit-buffer":3,"./bit-matrix":4,"./error-correction-code":6,"./error-correction-level":7,"./finder-pattern":8,"./format-info":9,"./mask-pattern":12,"./mode":13,"./reed-solomon-encoder":17,"./segments":19,"./utils":20,"./version":22,isarray:30}],17:[function(t,e,a){var n=t("../utils/buffer"),i=t("./polynomial");function r(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(t){this.degree=t,this.genPoly=i.generateECPolynomial(this.degree)},r.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new n(this.degree);e.fill(0);var a=n.concat([t,e],t.length+this.degree),r=i.mod(a,this.genPoly),o=this.degree-r.length;if(o>0){var s=new n(this.degree);return s.fill(0),r.copy(s,o),s}return r},e.exports=r},{"../utils/buffer":27,"./polynomial":15}],18:[function(t,e,a){var n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",i="(?:(?![A-Z0-9 $%*+\\-./:]|"+(n=n.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";a.KANJI=new RegExp(n,"g"),a.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),a.BYTE=new RegExp(i,"g"),a.NUMERIC=new RegExp("[0-9]+","g"),a.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var r=new RegExp("^"+n+"$"),o=new RegExp("^[0-9]+$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");a.testKanji=function(t){return r.test(t)},a.testNumeric=function(t){return o.test(t)},a.testAlphanumeric=function(t){return s.test(t)}},{}],19:[function(t,e,a){var n=t("./mode"),i=t("./numeric-data"),r=t("./alphanumeric-data"),o=t("./byte-data"),s=t("./kanji-data"),h=t("./regex"),c=t("./utils"),u=t("dijkstrajs");function l(t){return unescape(encodeURIComponent(t)).length}function d(t,e,a){for(var n,i=[];null!==(n=t.exec(a));)i.push({data:n[0],index:n.index,mode:e,length:n[0].length});return i}function m(t){var e,a,i=d(h.NUMERIC,n.NUMERIC,t),r=d(h.ALPHANUMERIC,n.ALPHANUMERIC,t);c.isKanjiModeEnabled()?(e=d(h.BYTE,n.BYTE,t),a=d(h.KANJI,n.KANJI,t)):(e=d(h.BYTE_KANJI,n.BYTE,t),a=[]);var o=i.concat(r,e,a);return o.sort(function(t,e){return t.index-e.index}).map(function(t){return{data:t.data,mode:t.mode,length:t.length}})}function f(t,e){switch(e){case n.NUMERIC:return i.getBitsLength(t);case n.ALPHANUMERIC:return r.getBitsLength(t);case n.KANJI:return s.getBitsLength(t);case n.BYTE:return o.getBitsLength(t)}}function p(t,e){var a,h=n.getBestModeForData(t);if((a=n.from(e,h))!==n.BYTE&&a.bit=0?t[t.length-1]:null;return a&&a.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)},[])}(h))},a.rawSplit=function(t){return a.fromArray(m(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":2,"./byte-data":5,"./kanji-data":11,"./mode":13,"./numeric-data":14,"./regex":18,"./utils":20,dijkstrajs:29}],20:[function(t,e,a){var n,i=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];a.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},a.getSymbolTotalCodewords=function(t){return i[t]},a.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},a.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},a.isKanjiModeEnabled=function(){return void 0!==n},a.toSJIS=function(t){return n(t)}},{}],21:[function(t,e,a){a.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],22:[function(t,e,a){var n=t("./utils"),i=t("./error-correction-code"),r=t("./error-correction-level"),o=t("./mode"),s=t("./version-check"),h=t("isarray"),c=n.getBCHDigit(7973);function u(t,e){return o.getCharCountIndicator(t,e)+4}function l(t,e){var a=0;return t.forEach(function(t){var n=u(t.mode,e);a+=n+t.getBitsLength()}),a}a.from=function(t,e){return s.isValid(t)?parseInt(t,10):e},a.getCapacity=function(t,e,a){if(!s.isValid(t))throw new Error("Invalid QR Code version");void 0===a&&(a=o.BYTE);var r=n.getSymbolTotalCodewords(t),h=i.getTotalCodewordsCount(t,e),c=8*(r-h);if(a===o.MIXED)return c;var l=c-u(a,t);switch(a){case o.NUMERIC:return Math.floor(l/10*3);case o.ALPHANUMERIC:return Math.floor(l/11*2);case o.KANJI:return Math.floor(l/13);case o.BYTE:default:return Math.floor(l/8)}},a.getBestVersionForData=function(t,e){var n,i=r.from(e,r.M);if(h(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++){var i=l(t,n);if(i<=a.getCapacity(n,e,o.MIXED))return n}}(t,i);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var i=1;i<=40;i++)if(e<=a.getCapacity(i,n,t))return i}(n.mode,n.getLength(),i)},a.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<':"",l="0&&c>0&&t[h-1]||(n+=o?r("M",c+a,.5+u+a):r("m",i,0),i=0,o=!1),c+1',d='viewBox="0 0 '+c+" "+c+'"',m=o.width?'width="'+o.width+'" height="'+o.width+'" ':"",f=''+u+l+"\n";return"function"==typeof a&&a(null,f),f}},{"./utils":26}],26:[function(t,e,a){function n(t){if("string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map(function(t){return[t,t]}))),6===e.length&&e.push("F","F");var a=parseInt(e.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:255&a,hex:"#"+e.slice(0,6).join("")}}a.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,a=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:a,scale:a?4:i,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},a.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},a.getImageWidth=function(t,e){var n=a.getScale(t,e);return Math.floor((t+2*e.margin)*n)},a.qrToImageData=function(t,e,n){for(var i=e.modules.size,r=e.modules.data,o=a.getScale(i,n),s=Math.floor((i+2*n.margin)*o),h=n.margin*o,c=[n.color.light,n.color.dark],u=0;u=h&&l>=h&&u=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|t}function s(t,e){var a;return r.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(e)).__proto__=r.prototype:(null===(a=t)&&(a=new r(e)),a.length=e),a}function h(t,e){var a=s(t,e<0?0:0|o(e));if(!r.TYPED_ARRAY_SUPPORT)for(var n=0;n55295&&a<57344){if(!i){if(a>56319){(e-=3)>-1&&r.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&r.push(239,191,189);continue}i=a;continue}if(a<56320){(e-=3)>-1&&r.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(e-=3)>-1&&r.push(239,191,189);if(i=null,a<128){if((e-=1)<0)break;r.push(a)}else if(a<2048){if((e-=2)<0)break;r.push(a>>6|192,63&a|128)}else if(a<65536){if((e-=3)<0)break;r.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;r.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return r}function l(t){if(r.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;return 0===e?0:u(t).length}r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),r.prototype.write=function(t,e,a){void 0===e?(a=this.length,e=0):void 0===a&&"string"==typeof e?(a=this.length,e=0):isFinite(e)&&(e|=0,isFinite(a)?a|=0:a=void 0);var n=this.length-e;if((void 0===a||a>n)&&(a=n),t.length>0&&(a<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,a,n){return function(t,e,a,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+a]=t[i];return i}(u(e,t.length-a),t,a,n)}(this,t,e,a)},r.prototype.slice=function(t,e){var a,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+a];else if(o<1e3||!r.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,a=void 0===a?this.length:a>>>0,t||(t=0),"number"==typeof t)for(i=e;id)&&(r[h]=d,f.push(h,d),i[h]=s));if(void 0!==a&&void 0===r[a]){var p=["Could not find a path from ",e," to ",a,"."].join("");throw new Error(p)}return i},extract_shortest_path_from_predecessor_list:function(t,e){for(var a=[],n=e;n;)a.push(n),t[n],n=t[n];return a.reverse(),a},find_path:function(t,e,a){var i=n.single_source_shortest_paths(t,e,a);return n.extract_shortest_path_from_predecessor_list(i,a)},PriorityQueue:{make:function(t){var e,a=n.PriorityQueue,i={};for(e in t=t||{},a)a.hasOwnProperty(e)&&(i[e]=a[e]);return i.queue=[],i.sorter=t.sorter||a.default_sorter,i},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var a={value:t,cost:e};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],30:[function(t,e,a){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}],31:[function(t,e,n){(function(t){e.exports="object"==typeof self&&self.self===self&&self||"object"==typeof t&&t.global===t&&t||this}).call(this,void 0!==a?a:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[23])(23)}(i={exports:{}},i.exports),i.exports),o={name:"qrcode",props:{options:Object,tag:{type:String,default:"canvas"},value:null},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,e=this.options,a=this.tag,n=String(this.value);"canvas"===a?r.toCanvas(this.$el,n,e,function(t){if(t)throw t}):"img"===a?r.toDataURL(n,e,function(e,a){if(e)throw e;t.$el.src=a}):r.toString(n,e,function(e,a){if(e)throw e;t.$el.innerHTML=a})}},mounted:function(){this.generate()}};e.a=o}).call(this,a(47))},597:function(t,e,a){"use strict"; +var a="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};function n(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var i,r=(function(t,e){t.exports=function t(e,a,i){function r(s,h){if(!a[s]){if(!e[s]){var c=n;if(!h&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=a[s]={exports:{}};e[s][0].call(l.exports,function(t){var a=e[s][1][t];return r(a||t)},l,l.exports,t,e,a,i)}return a[s].exports}for(var o=n,s=0;s>>7-t%8&1)},put:function(t,e){for(var a=0;a>>e-a-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],4:[function(t,e,a){var n=t("../utils/buffer");function i(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new n(t*t),this.data.fill(0),this.reservedBit=new n(t*t),this.reservedBit.fill(0)}i.prototype.set=function(t,e,a,n){var i=t*this.size+e;this.data[i]=a,n&&(this.reservedBit[i]=!0)},i.prototype.get=function(t,e){return this.data[t*this.size+e]},i.prototype.xor=function(t,e,a){this.data[t*this.size+e]^=a},i.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=i},{"../utils/buffer":27}],5:[function(t,e,a){var n=t("../utils/buffer"),i=t("./mode");function r(t){this.mode=i.BYTE,this.data=new n(t)}r.getBitsLength=function(t){return 8*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){for(var e=0,a=this.data.length;e=0&&t.bit<4},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return a.L;case"m":case"medium":return a.M;case"q":case"quartile":return a.Q;case"h":case"high":return a.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],8:[function(t,e,a){var n=t("./utils").getSymbolSize;a.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":20}],9:[function(t,e,a){var n=t("./utils"),i=n.getBCHDigit(1335);a.getEncodedBits=function(t,e){for(var a=t.bit<<3|e,r=a<<10;n.getBCHDigit(r)-i>=0;)r^=1335<=33088&&a<=40956)a-=33088;else{if(!(a>=57408&&a<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");a-=49472}a=192*(a>>>8&255)+(255&a),t.put(a,13)}},e.exports=r},{"./mode":13,"./utils":20}],12:[function(t,e,a){a.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n={N1:3,N2:3,N3:40,N4:10};function i(t,e,n){switch(t){case a.Patterns.PATTERN000:return(e+n)%2==0;case a.Patterns.PATTERN001:return e%2==0;case a.Patterns.PATTERN010:return n%3==0;case a.Patterns.PATTERN011:return(e+n)%3==0;case a.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case a.Patterns.PATTERN101:return e*n%2+e*n%3==0;case a.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case a.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}a.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},a.from=function(t){return a.isValid(t)?parseInt(t,10):void 0},a.getPenaltyN1=function(t){for(var e=t.size,a=0,i=0,r=0,o=null,s=null,h=0;h=5&&(a+=n.N1+(i-5)),o=u,i=1),(u=t.get(c,h))===s?r++:(r>=5&&(a+=n.N1+(r-5)),s=u,r=1)}i>=5&&(a+=n.N1+(i-5)),r>=5&&(a+=n.N1+(r-5))}return a},a.getPenaltyN2=function(t){for(var e=t.size,a=0,i=0;i=10&&(1488===i||93===i)&&a++,r=r<<1&2047|t.get(s,o),s>=10&&(1488===r||93===r)&&a++}return a*n.N3},a.getPenaltyN4=function(t){for(var e=0,a=t.data.length,i=0;i=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},a.getBestModeForData=function(t){return i.testNumeric(t)?a.NUMERIC:i.testAlphanumeric(t)?a.ALPHANUMERIC:i.testKanji(t)?a.KANJI:a.BYTE},a.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},a.isValid=function(t){return t&&t.bit&&t.ccBits},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return a.NUMERIC;case"alphanumeric":return a.ALPHANUMERIC;case"kanji":return a.KANJI;case"byte":return a.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":18,"./version-check":21}],14:[function(t,e,a){var n=t("./mode");function i(t){this.mode=n.NUMERIC,this.data=t.toString()}i.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){var e,a,n;for(e=0;e+3<=this.data.length;e+=3)a=this.data.substr(e,3),n=parseInt(a,10),t.put(n,10);var i=this.data.length-e;i>0&&(a=this.data.substr(e),n=parseInt(a,10),t.put(n,3*i+1))},e.exports=i},{"./mode":13}],15:[function(t,e,a){var n=t("../utils/buffer"),i=t("./galois-field");a.mul=function(t,e){var a=new n(t.length+e.length-1);a.fill(0);for(var r=0;r=0;){for(var r=a[0],o=0;o>n&1),n<6?t.set(n,8,i,!0):n<8?t.set(n+1,8,i,!0):t.set(r-15+n,8,i,!0),n<8?t.set(8,r-n-1,i,!0):n<9?t.set(8,15-n-1+1,i,!0):t.set(8,15-n-1,i,!0);t.set(r-8,8,1,!0)}function y(t,e,a){var r=new o;a.forEach(function(e){r.put(e.mode.bit,4),r.put(e.getLength(),p.getCharCountIndicator(e.mode,t)),e.write(r)});var s=i.getSymbolTotalCodewords(t),h=l.getTotalCodewordsCount(t,e),c=8*(s-h);for(r.getLengthInBits()+4<=c&&r.put(0,4);r.getLengthInBits()%8!=0;)r.putBit(0);for(var u=(c-r.getLengthInBits())/8,m=0;m=0&&s<=6&&(0===h||6===h)||h>=0&&h<=6&&(0===s||6===s)||s>=2&&s<=4&&h>=2&&h<=4?t.set(r+s,o+h,!0,!0):t.set(r+s,o+h,!1,!0))}(b,e),function(t){for(var e=t.size,a=8;a=7&&function(t,e){for(var a,n,i,r=t.size,o=m.getEncodedBits(e),s=0;s<18;s++)a=Math.floor(s/3),n=s%3+r-8-3,i=1==(o>>s&1),t.set(a,n,i,!0),t.set(n,a,i,!0)}(b,e),function(t,e){for(var a=t.size,n=-1,i=a-1,r=7,o=0,s=a-1;s>0;s-=2)for(6===s&&s--;;){for(var h=0;h<2;h++)if(!t.isReserved(i,s-h)){var c=!1;o>>r&1)),t.set(i,s-h,c),-1==--r&&(o++,r=7)}if((i+=n)<0||a<=i){i-=n,n=-n;break}}}(b,f),isNaN(n)&&(n=u.getBestMask(b,w.bind(null,b,a))),u.applyMask(n,b),w(b,a,n),{modules:b,version:e,errorCorrectionLevel:a,maskPattern:n,segments:r}}a.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var a,n,o=r.M;return void 0!==e&&(o=r.from(e.errorCorrectionLevel,r.M),a=m.from(e.version),n=u.from(e.maskPattern),e.toSJISFunc&&i.setToSJISFunction(e.toSJISFunc)),b(t,a,o,n)}},{"../utils/buffer":27,"./alignment-pattern":1,"./bit-buffer":3,"./bit-matrix":4,"./error-correction-code":6,"./error-correction-level":7,"./finder-pattern":8,"./format-info":9,"./mask-pattern":12,"./mode":13,"./reed-solomon-encoder":17,"./segments":19,"./utils":20,"./version":22,isarray:30}],17:[function(t,e,a){var n=t("../utils/buffer"),i=t("./polynomial");function r(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(t){this.degree=t,this.genPoly=i.generateECPolynomial(this.degree)},r.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new n(this.degree);e.fill(0);var a=n.concat([t,e],t.length+this.degree),r=i.mod(a,this.genPoly),o=this.degree-r.length;if(o>0){var s=new n(this.degree);return s.fill(0),r.copy(s,o),s}return r},e.exports=r},{"../utils/buffer":27,"./polynomial":15}],18:[function(t,e,a){var n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",i="(?:(?![A-Z0-9 $%*+\\-./:]|"+(n=n.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";a.KANJI=new RegExp(n,"g"),a.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),a.BYTE=new RegExp(i,"g"),a.NUMERIC=new RegExp("[0-9]+","g"),a.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var r=new RegExp("^"+n+"$"),o=new RegExp("^[0-9]+$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");a.testKanji=function(t){return r.test(t)},a.testNumeric=function(t){return o.test(t)},a.testAlphanumeric=function(t){return s.test(t)}},{}],19:[function(t,e,a){var n=t("./mode"),i=t("./numeric-data"),r=t("./alphanumeric-data"),o=t("./byte-data"),s=t("./kanji-data"),h=t("./regex"),c=t("./utils"),u=t("dijkstrajs");function l(t){return unescape(encodeURIComponent(t)).length}function d(t,e,a){for(var n,i=[];null!==(n=t.exec(a));)i.push({data:n[0],index:n.index,mode:e,length:n[0].length});return i}function m(t){var e,a,i=d(h.NUMERIC,n.NUMERIC,t),r=d(h.ALPHANUMERIC,n.ALPHANUMERIC,t);c.isKanjiModeEnabled()?(e=d(h.BYTE,n.BYTE,t),a=d(h.KANJI,n.KANJI,t)):(e=d(h.BYTE_KANJI,n.BYTE,t),a=[]);var o=i.concat(r,e,a);return o.sort(function(t,e){return t.index-e.index}).map(function(t){return{data:t.data,mode:t.mode,length:t.length}})}function f(t,e){switch(e){case n.NUMERIC:return i.getBitsLength(t);case n.ALPHANUMERIC:return r.getBitsLength(t);case n.KANJI:return s.getBitsLength(t);case n.BYTE:return o.getBitsLength(t)}}function p(t,e){var a,h=n.getBestModeForData(t);if((a=n.from(e,h))!==n.BYTE&&a.bit=0?t[t.length-1]:null;return a&&a.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)},[])}(h))},a.rawSplit=function(t){return a.fromArray(m(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":2,"./byte-data":5,"./kanji-data":11,"./mode":13,"./numeric-data":14,"./regex":18,"./utils":20,dijkstrajs:29}],20:[function(t,e,a){var n,i=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];a.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},a.getSymbolTotalCodewords=function(t){return i[t]},a.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},a.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},a.isKanjiModeEnabled=function(){return void 0!==n},a.toSJIS=function(t){return n(t)}},{}],21:[function(t,e,a){a.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],22:[function(t,e,a){var n=t("./utils"),i=t("./error-correction-code"),r=t("./error-correction-level"),o=t("./mode"),s=t("./version-check"),h=t("isarray"),c=n.getBCHDigit(7973);function u(t,e){return o.getCharCountIndicator(t,e)+4}function l(t,e){var a=0;return t.forEach(function(t){var n=u(t.mode,e);a+=n+t.getBitsLength()}),a}a.from=function(t,e){return s.isValid(t)?parseInt(t,10):e},a.getCapacity=function(t,e,a){if(!s.isValid(t))throw new Error("Invalid QR Code version");void 0===a&&(a=o.BYTE);var r=n.getSymbolTotalCodewords(t),h=i.getTotalCodewordsCount(t,e),c=8*(r-h);if(a===o.MIXED)return c;var l=c-u(a,t);switch(a){case o.NUMERIC:return Math.floor(l/10*3);case o.ALPHANUMERIC:return Math.floor(l/11*2);case o.KANJI:return Math.floor(l/13);case o.BYTE:default:return Math.floor(l/8)}},a.getBestVersionForData=function(t,e){var n,i=r.from(e,r.M);if(h(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++){var i=l(t,n);if(i<=a.getCapacity(n,e,o.MIXED))return n}}(t,i);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var i=1;i<=40;i++)if(e<=a.getCapacity(i,n,t))return i}(n.mode,n.getLength(),i)},a.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<':"",l="0&&c>0&&t[h-1]||(n+=o?r("M",c+a,.5+u+a):r("m",i,0),i=0,o=!1),c+1',d='viewBox="0 0 '+c+" "+c+'"',m=o.width?'width="'+o.width+'" height="'+o.width+'" ':"",f=''+u+l+"\n";return"function"==typeof a&&a(null,f),f}},{"./utils":26}],26:[function(t,e,a){function n(t){if("string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map(function(t){return[t,t]}))),6===e.length&&e.push("F","F");var a=parseInt(e.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:255&a,hex:"#"+e.slice(0,6).join("")}}a.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,a=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:a,scale:a?4:i,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},a.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},a.getImageWidth=function(t,e){var n=a.getScale(t,e);return Math.floor((t+2*e.margin)*n)},a.qrToImageData=function(t,e,n){for(var i=e.modules.size,r=e.modules.data,o=a.getScale(i,n),s=Math.floor((i+2*n.margin)*o),h=n.margin*o,c=[n.color.light,n.color.dark],u=0;u=h&&l>=h&&u=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|t}function s(t,e){var a;return r.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(e)).__proto__=r.prototype:(null===(a=t)&&(a=new r(e)),a.length=e),a}function h(t,e){var a=s(t,e<0?0:0|o(e));if(!r.TYPED_ARRAY_SUPPORT)for(var n=0;n55295&&a<57344){if(!i){if(a>56319){(e-=3)>-1&&r.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&r.push(239,191,189);continue}i=a;continue}if(a<56320){(e-=3)>-1&&r.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(e-=3)>-1&&r.push(239,191,189);if(i=null,a<128){if((e-=1)<0)break;r.push(a)}else if(a<2048){if((e-=2)<0)break;r.push(a>>6|192,63&a|128)}else if(a<65536){if((e-=3)<0)break;r.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;r.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return r}function l(t){if(r.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;return 0===e?0:u(t).length}r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),r.prototype.write=function(t,e,a){void 0===e?(a=this.length,e=0):void 0===a&&"string"==typeof e?(a=this.length,e=0):isFinite(e)&&(e|=0,isFinite(a)?a|=0:a=void 0);var n=this.length-e;if((void 0===a||a>n)&&(a=n),t.length>0&&(a<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,a,n){return function(t,e,a,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+a]=t[i];return i}(u(e,t.length-a),t,a,n)}(this,t,e,a)},r.prototype.slice=function(t,e){var a,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+a];else if(o<1e3||!r.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,a=void 0===a?this.length:a>>>0,t||(t=0),"number"==typeof t)for(i=e;id)&&(r[h]=d,f.push(h,d),i[h]=s));if(void 0!==a&&void 0===r[a]){var p=["Could not find a path from ",e," to ",a,"."].join("");throw new Error(p)}return i},extract_shortest_path_from_predecessor_list:function(t,e){for(var a=[],n=e;n;)a.push(n),t[n],n=t[n];return a.reverse(),a},find_path:function(t,e,a){var i=n.single_source_shortest_paths(t,e,a);return n.extract_shortest_path_from_predecessor_list(i,a)},PriorityQueue:{make:function(t){var e,a=n.PriorityQueue,i={};for(e in t=t||{},a)a.hasOwnProperty(e)&&(i[e]=a[e]);return i.queue=[],i.sorter=t.sorter||a.default_sorter,i},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var a={value:t,cost:e};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],30:[function(t,e,a){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}],31:[function(t,e,n){(function(t){e.exports="object"==typeof self&&self.self===self&&self||"object"==typeof t&&t.global===t&&t||this}).call(this,void 0!==a?a:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[23])(23)}(i={exports:{}},i.exports),i.exports),o={name:"qrcode",props:{options:Object,tag:{type:String,default:"canvas"},value:null},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,e=this.options,a=this.tag,n=String(this.value);"canvas"===a?r.toCanvas(this.$el,n,e,function(t){if(t)throw t}):"img"===a?r.toDataURL(n,e,function(e,a){if(e)throw e;t.$el.src=a}):r.toString(n,e,function(e,a){if(e)throw e;t.$el.innerHTML=a})}},mounted:function(){this.generate()}};e.a=o}).call(this,a(55))},615:function(t,e,a){"use strict"; /*! * Cropper.js v1.4.3 * https://fengyuanchen.github.io/cropperjs @@ -17,5 +17,5 @@ var a="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?se * Released under the MIT license * * Date: 2018-10-24T13:07:15.032Z - */function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){for(var a=0;a1?e-1:0),n=1;n0&&a.forEach(function(e){T(e)&&Object.keys(e).forEach(function(a){t[a]=e[a]})}),t},P=/\.\d*(?:0|9){12}\d*$/;function I(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return P.test(t)?Math.round(t*e)/e:t}var z=/^(?:width|height|left|top|marginLeft|marginTop)$/;function O(t,e){var a=t.style;S(e,function(t,e){z.test(e)&&k(t)&&(t+="px"),a[e]=t})}function Y(t,e){if(e)if(k(t.length))S(t,function(t){Y(t,e)});else if(t.classList)t.classList.add(e);else{var a=t.className.trim();a?a.indexOf(e)<0&&(t.className="".concat(a," ").concat(e)):t.className=e}}function H(t,e){e&&(k(t.length)?S(t,function(t){H(t,e)}):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function U(t,e,a){e&&(k(t.length)?S(t,function(t){U(t,e,a)}):a?Y(t,e):H(t,e))}var j=/([a-z\d])([A-Z])/g;function _(t){return t.replace(j,"$1-$2").toLowerCase()}function W(t,e){return T(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(_(e)))}function X(t,e,a){T(a)?t[e]=a:t.dataset?t.dataset[e]=a:t.setAttribute("data-".concat(_(e)),a)}var K=/\s\s*/,F=function(){var t=!1;if(o){var e=!1,a=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});s.addEventListener("test",a,n),s.removeEventListener("test",a,n)}return t}();function q(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(K).forEach(function(e){if(!F){var r=t.listeners;r&&r[e]&&r[e][a]&&(i=r[e][a],delete r[e][a],0===Object.keys(r[e]).length&&delete r[e],0===Object.keys(r).length&&delete t.listeners)}t.removeEventListener(e,i,n)})}function J(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(K).forEach(function(e){if(n.once&&!F){var r=t.listeners,o=void 0===r?{}:r;i=function(){delete o[e][a],t.removeEventListener(e,i,n);for(var r=arguments.length,s=new Array(r),h=0;h1&&void 0!==arguments[1]?arguments[1]:"contain",r=function(t){return nt(t)&&t>0};if(r(n)&&r(a)){var o=a*e;"contain"===i&&o>n||"cover"===i&&o=8&&(r=h+u)}}}if(r){var l,d,m=a.getUint16(r,n);for(d=0;dt.width?3===a?s=t.height*o:h=t.width/o:3===a?h=t.width/o:s=t.height*o;var c={aspectRatio:o,naturalWidth:i,naturalHeight:r,width:s,height:h};c.left=(t.width-s)/2,c.top=(t.height-h)/2,c.oldLeft=c.left,c.oldTop=c.top,this.canvasData=c,this.limited=1===a||2===a,this.limitCanvas(!0,!0),this.initialImageData=L({},e),this.initialCanvasData=L({},c)},limitCanvas:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=a.viewMode,s=i.aspectRatio,h=this.cropped&&r;if(t){var c=Number(a.minCanvasWidth)||0,u=Number(a.minCanvasHeight)||0;o>1?(c=Math.max(c,n.width),u=Math.max(u,n.height),3===o&&(u*s>c?c=u*s:u=c/s)):o>0&&(c?c=Math.max(c,h?r.width:0):u?u=Math.max(u,h?r.height:0):h&&(c=r.width,(u=r.height)*s>c?c=u*s:u=c/s));var l=it({aspectRatio:s,width:c,height:u});c=l.width,u=l.height,i.minWidth=c,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(e)if(o>(h?0:1)){var d=n.width-i.width,m=n.height-i.height;i.minLeft=Math.min(0,d),i.minTop=Math.min(0,m),i.maxLeft=Math.max(0,d),i.maxTop=Math.max(0,m),h&&this.limited&&(i.minLeft=Math.min(r.left,r.left+(r.width-i.width)),i.minTop=Math.min(r.top,r.top+(r.height-i.height)),i.maxLeft=r.left,i.maxTop=r.top,2===o&&(i.width>=n.width&&(i.minLeft=Math.min(0,d),i.maxLeft=Math.max(0,d)),i.height>=n.height&&(i.minTop=Math.min(0,m),i.maxTop=Math.max(0,m))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=n.width,i.maxTop=n.height},renderCanvas:function(t,e){var a=this.canvasData,n=this.imageData;if(e){var i=function(t){var e=t.width,a=t.height,n=t.degree;if(90==(n=Math.abs(n)%180))return{width:a,height:e};var i=n%90*Math.PI/180,r=Math.sin(i),o=Math.cos(i),s=e*o+a*r,h=e*r+a*o;return n>90?{width:h,height:s}:{width:s,height:h}}({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),r=i.width,o=i.height,s=a.width*(r/a.naturalWidth),h=a.height*(o/a.naturalHeight);a.left-=(s-a.width)/2,a.top-=(h-a.height)/2,a.width=s,a.height=h,a.aspectRatio=r/o,a.naturalWidth=r,a.naturalHeight=o,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighte.width?i.height=i.width/a:i.width=i.height*a),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*n),i.height=Math.max(i.minHeight,i.height*n),i.left=e.left+(e.width-i.width)/2,i.top=e.top+(e.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=L({},i)},limitCropBox:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=this.limited,s=a.aspectRatio;if(t){var h=Number(a.minCropBoxWidth)||0,c=Number(a.minCropBoxHeight)||0,u=o?Math.min(n.width,i.width,i.width+i.left,n.width-i.left):n.width,l=o?Math.min(n.height,i.height,i.height+i.top,n.height-i.top):n.height;h=Math.min(h,n.width),c=Math.min(c,n.height),s&&(h&&c?c*s>h?c=h/s:h=c*s:h?c=h/s:c&&(h=c*s),l*s>u?l=u/s:u=l*s),r.minWidth=Math.min(h,u),r.minHeight=Math.min(c,l),r.maxWidth=u,r.maxHeight=l}e&&(o?(r.minLeft=Math.max(0,i.left),r.minTop=Math.max(0,i.top),r.maxLeft=Math.min(n.width,i.left+i.width)-r.width,r.maxTop=Math.min(n.height,i.top+i.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=n.width-r.width,r.maxTop=n.height-r.height))},renderCropBox:function(){var t=this.options,e=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=e.width&&a.height>=e.height?"move":"all"),O(this.cropBox,L({width:a.width,height:a.height},et({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),V(this.element,"crop",this.getData())}},ct={initPreview:function(){var t=this.crossOrigin,e=this.options.preview,a=t?this.crossOriginUrl:this.url,n=document.createElement("img");if(t&&(n.crossOrigin=t),n.src=a,this.viewBox.appendChild(n),this.viewBoxImage=n,e){var i=e;"string"==typeof e?i=this.element.ownerDocument.querySelectorAll(e):e.querySelector&&(i=[e]),this.previews=i,S(i,function(e){var n=document.createElement("img");X(e,g,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=a,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)})}},resetPreview:function(){S(this.previews,function(t){var e=W(t,g);O(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(T(t[e]))try{delete t[e]}catch(a){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(a){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(_(e)))}(t,g)})},preview:function(){var t=this.imageData,e=this.canvasData,a=this.cropBoxData,n=a.width,i=a.height,r=t.width,o=t.height,s=a.left-e.left-t.left,h=a.top-e.top-t.top;this.cropped&&!this.disabled&&(O(this.viewBoxImage,L({width:r,height:o},et(L({translateX:-s,translateY:-h},t)))),S(this.previews,function(e){var a=W(e,g),c=a.width,u=a.height,l=c,d=u,m=1;n&&(d=i*(m=c/n)),i&&d>u&&(l=n*(m=u/i),d=u),O(e,{width:l,height:d}),O(e.getElementsByTagName("img")[0],L({width:r*m,height:o*m},et(L({translateX:-s*m,translateY:-h*m},t))))}))}},ut={bind:function(){var t=this.element,e=this.options,a=this.cropper;R(e.cropstart)&&J(t,"cropstart",e.cropstart),R(e.cropmove)&&J(t,"cropmove",e.cropmove),R(e.cropend)&&J(t,"cropend",e.cropend),R(e.crop)&&J(t,"crop",e.crop),R(e.zoom)&&J(t,"zoom",e.zoom),J(a,v,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&J(a,"wheel mousewheel DOMMouseScroll",this.onWheel=this.wheel.bind(this)),e.toggleDragModeOnDblclick&&J(a,"dblclick",this.onDblclick=this.dblclick.bind(this)),J(t.ownerDocument,w,this.onCropMove=this.cropMove.bind(this)),J(t.ownerDocument,y,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&J(window,"resize",this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,a=this.cropper;R(e.cropstart)&&q(t,"cropstart",e.cropstart),R(e.cropmove)&&q(t,"cropmove",e.cropmove),R(e.cropend)&&q(t,"cropend",e.cropend),R(e.crop)&&q(t,"crop",e.crop),R(e.zoom)&&q(t,"zoom",e.zoom),q(a,v,this.onCropStart),e.zoomable&&e.zoomOnWheel&&q(a,"wheel mousewheel DOMMouseScroll",this.onWheel),e.toggleDragModeOnDblclick&&q(a,"dblclick",this.onDblclick),q(t.ownerDocument,w,this.onCropMove),q(t.ownerDocument,y,this.onCropEnd),e.responsive&&q(window,"resize",this.onResize)}},lt={resize:function(){var t=this.options,e=this.container,a=this.containerData,n=Number(t.minContainerWidth)||200,i=Number(t.minContainerHeight)||100;if(!(this.disabled||a.width<=n||a.height<=i)){var r,o,s=e.offsetWidth/a.width;if(1!==s||e.offsetHeight!==a.height)t.restore&&(r=this.getCanvasData(),o=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(S(r,function(t,e){r[e]=t*s})),this.setCropBoxData(S(o,function(t,e){o[e]=t*s})))}},dblclick:function(){var t,e;this.disabled||"none"===this.options.dragMode||this.setDragMode((t=this.dragBox,e=h,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?"move":"crop"))},wheel:function(t){var e=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout(function(){e.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){if(!this.disabled){var e,a=this.options,n=this.pointers;t.changedTouches?S(t.changedTouches,function(t){n[t.identifier]=at(t)}):n[t.pointerId||0]=at(t),e=Object.keys(n).length>1&&a.zoomable&&a.zoomOnTouch?"zoom":W(t.target,p),b.test(e)&&!1!==V(this.element,"cropstart",{originalEvent:t,action:e})&&(t.preventDefault(),this.action=e,this.cropping=!1,"crop"===e&&(this.cropping=!0,Y(this.dragBox,m)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var a=this.pointers;t.preventDefault(),!1!==V(this.element,"cropmove",{originalEvent:t,action:e})&&(t.changedTouches?S(t.changedTouches,function(t){L(a[t.identifier]||{},at(t,!0))}):L(a[t.pointerId||0]||{},at(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,a=this.pointers;t.changedTouches?S(t.changedTouches,function(t){delete a[t.identifier]}):delete a[t.pointerId||0],e&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,U(this.dragBox,m,this.cropped&&this.options.modal)),V(this.element,"cropend",{originalEvent:t,action:e}))}}},dt={change:function(t){var e,a=this.options,n=this.canvasData,i=this.containerData,r=this.cropBoxData,o=this.pointers,s=this.action,h=a.aspectRatio,c=r.left,l=r.top,d=r.width,m=r.height,f=c+d,p=l+m,g=0,v=0,w=i.width,y=i.height,b=!0;!h&&t.shiftKey&&(h=d&&m?d/m:1),this.limited&&(g=r.minLeft,v=r.minTop,w=g+Math.min(i.width,n.width,n.left+n.width),y=v+Math.min(i.height,n.height,n.top+n.height));var N=o[Object.keys(o)[0]],x={x:N.endX-N.startX,y:N.endY-N.startY},C=function(t){switch(t){case"e":f+x.x>w&&(x.x=w-f);break;case"w":c+x.xy&&(x.y=y-p)}};switch(s){case"all":c+=x.x,l+=x.y;break;case"e":if(x.x>=0&&(f>=w||h&&(l<=v||p>=y))){b=!1;break}C("e"),(d+=x.x)<0&&(s="w",c-=d=-d),h&&(m=d/h,l+=(r.height-m)/2);break;case"n":if(x.y<=0&&(l<=v||h&&(c<=g||f>=w))){b=!1;break}C("n"),m-=x.y,l+=x.y,m<0&&(s="s",l-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"w":if(x.x<=0&&(c<=g||h&&(l<=v||p>=y))){b=!1;break}C("w"),d-=x.x,c+=x.x,d<0&&(s="e",c-=d=-d),h&&(m=d/h,l+=(r.height-m)/2);break;case"s":if(x.y>=0&&(p>=y||h&&(c<=g||f>=w))){b=!1;break}C("s"),(m+=x.y)<0&&(s="n",l-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"ne":if(h){if(x.y<=0&&(l<=v||f>=w)){b=!1;break}C("n"),m-=x.y,l+=x.y,d=m*h}else C("n"),C("e"),x.x>=0?fv&&(m-=x.y,l+=x.y):(m-=x.y,l+=x.y);d<0&&m<0?(s="sw",l-=m=-m,c-=d=-d):d<0?(s="nw",c-=d=-d):m<0&&(s="se",l-=m=-m);break;case"nw":if(h){if(x.y<=0&&(l<=v||c<=g)){b=!1;break}C("n"),m-=x.y,l+=x.y,d=m*h,c+=r.width-d}else C("n"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y<=0&&l<=v&&(b=!1):(d-=x.x,c+=x.x),x.y<=0?l>v&&(m-=x.y,l+=x.y):(m-=x.y,l+=x.y);d<0&&m<0?(s="se",l-=m=-m,c-=d=-d):d<0?(s="ne",c-=d=-d):m<0&&(s="sw",l-=m=-m);break;case"sw":if(h){if(x.x<=0&&(c<=g||p>=y)){b=!1;break}C("w"),d-=x.x,c+=x.x,m=d/h}else C("s"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y>=0&&p>=y&&(b=!1):(d-=x.x,c+=x.x),x.y>=0?p=0&&(f>=w||p>=y)){b=!1;break}C("e"),m=(d+=x.x)/h}else C("s"),C("e"),x.x>=0?f=0&&p>=y&&(b=!1):d+=x.x,x.y>=0?p0?s=x.y>0?"se":"ne":x.x<0&&(c-=d,s=x.y>0?"sw":"nw"),x.y<0&&(l-=m),this.cropped||(H(this.cropBox,u),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}b&&(r.width=d,r.height=m,r.left=c,r.top=l,this.action=s,this.renderCropBox()),S(o,function(t){t.startX=t.endX,t.startY=t.endY})}},mt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Y(this.dragBox,m),H(this.cropBox,u),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=L({},this.initialImageData),this.canvasData=L({},this.initialCanvasData),this.cropBoxData=L({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(L(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),H(this.dragBox,m),Y(this.cropBox,u)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,S(this.previews,function(e){e.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,H(this.cropper,c)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Y(this.cropper,c)),this},destroy:function(){var t=this.element;return t.cropper?(t.cropper=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=a.left,i=a.top;return this.moveTo(B(t)?t:n+Number(t),B(e)?e:i+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(k(t)&&(a.left=t,n=!0),k(e)&&(a.top=e,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var a=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(a.width*t/a.naturalWidth,null,e)},zoomTo:function(t,e,a){var n=this.options,i=this.canvasData,r=i.width,o=i.height,s=i.naturalWidth,h=i.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&n.zoomable){var c=s*t,u=h*t;if(!1===V(this.element,"zoom",{ratio:t,oldRatio:r/s,originalEvent:a}))return this;if(a){var l=this.pointers,d=$(this.cropper),m=l&&Object.keys(l).length?function(t){var e=0,a=0,n=0;return S(t,function(t){var i=t.startX,r=t.startY;e+=i,a+=r,n+=1}),{pageX:e/=n,pageY:a/=n}}(l):{pageX:a.pageX,pageY:a.pageY};i.left-=(c-r)*((m.pageX-d.left-i.left)/r),i.top-=(u-o)*((m.pageY-d.top-i.top)/o)}else D(e)&&k(e.x)&&k(e.y)?(i.left-=(c-r)*((e.x-i.left)/r),i.top-=(u-o)*((e.y-i.top)/o)):(i.left-=(c-r)/2,i.top-=(u-o)/2);i.width=c,i.height=u,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return k(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,k(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(k(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(k(t)&&(a.scaleX=t,n=!0),k(e)&&(a.scaleY=e,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=this.options,n=this.imageData,i=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){t={x:r.left-i.left,y:r.top-i.top,width:r.width,height:r.height};var o=n.width/n.naturalWidth;if(S(t,function(e,a){t[a]=e/o}),e){var s=Math.round(t.y+t.height),h=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=h-t.x,t.height=s-t.y}}else t={x:0,y:0,width:0,height:0};return a.rotatable&&(t.rotate=n.rotate||0),a.scalable&&(t.scaleX=n.scaleX||1,t.scaleY=n.scaleY||1),t},setData:function(t){var e=this.options,a=this.imageData,n=this.canvasData,i={};if(this.ready&&!this.disabled&&D(t)){var r=!1;e.rotatable&&k(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,r=!0),e.scalable&&(k(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,r=!0),k(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var o=a.width/a.naturalWidth;k(t.x)&&(i.left=t.x*o+n.left),k(t.y)&&(i.top=t.y*o+n.top),k(t.width)&&(i.width=t.width*o),k(t.height)&&(i.height=t.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?L({},this.containerData):{}},getImageData:function(){return this.sized?L({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&S(["left","top","width","height","naturalWidth","naturalHeight"],function(a){e[a]=t[a]}),e},setCanvasData:function(t){var e=this.canvasData,a=e.aspectRatio;return this.ready&&!this.disabled&&D(t)&&(k(t.left)&&(e.left=t.left),k(t.top)&&(e.top=t.top),k(t.width)?(e.width=t.width,e.height=t.width/a):k(t.height)&&(e.height=t.height,e.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,a,n=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&D(t)&&(k(t.left)&&(n.left=t.left),k(t.top)&&(n.top=t.top),k(t.width)&&t.width!==n.width&&(e=!0,n.width=t.width),k(t.height)&&t.height!==n.height&&(a=!0,n.height=t.height),i&&(e?n.height=n.width/i:a&&(n.width=n.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,a=function(t,e,a,n){var i=e.aspectRatio,o=e.naturalWidth,s=e.naturalHeight,h=e.rotate,c=void 0===h?0:h,u=e.scaleX,l=void 0===u?1:u,d=e.scaleY,m=void 0===d?1:d,f=a.aspectRatio,p=a.naturalWidth,g=a.naturalHeight,v=n.fillColor,w=void 0===v?"transparent":v,y=n.imageSmoothingEnabled,b=void 0===y||y,N=n.imageSmoothingQuality,x=void 0===N?"low":N,C=n.maxWidth,M=void 0===C?1/0:C,E=n.maxHeight,k=void 0===E?1/0:E,B=n.minWidth,T=void 0===B?0:B,A=n.minHeight,D=void 0===A?0:A,R=document.createElement("canvas"),S=R.getContext("2d"),L=it({aspectRatio:f,width:M,height:k}),P=it({aspectRatio:f,width:T,height:D},"cover"),z=Math.min(L.width,Math.max(P.width,p)),O=Math.min(L.height,Math.max(P.height,g)),Y=it({aspectRatio:i,width:M,height:k}),H=it({aspectRatio:i,width:T,height:D},"cover"),U=Math.min(Y.width,Math.max(H.width,o)),j=Math.min(Y.height,Math.max(H.height,s)),_=[-U/2,-j/2,U,j];return R.width=I(z),R.height=I(O),S.fillStyle=w,S.fillRect(0,0,z,O),S.save(),S.translate(z/2,O/2),S.rotate(c*Math.PI/180),S.scale(l,m),S.imageSmoothingEnabled=b,S.imageSmoothingQuality=x,S.drawImage.apply(S,[t].concat(r(_.map(function(t){return Math.floor(I(t))})))),S.restore(),R}(this.image,this.imageData,e,t);if(!this.cropped)return a;var n=this.getData(),i=n.x,o=n.y,s=n.width,h=n.height,c=a.width/Math.floor(e.naturalWidth);1!==c&&(i*=c,o*=c,s*=c,h*=c);var u=s/h,l=it({aspectRatio:u,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),d=it({aspectRatio:u,width:t.minWidth||0,height:t.minHeight||0},"cover"),m=it({aspectRatio:u,width:t.width||(1!==c?a.width:s),height:t.height||(1!==c?a.height:h)}),f=m.width,p=m.height;f=Math.min(l.width,Math.max(d.width,f)),p=Math.min(l.height,Math.max(d.height,p));var g=document.createElement("canvas"),v=g.getContext("2d");g.width=I(f),g.height=I(p),v.fillStyle=t.fillColor||"transparent",v.fillRect(0,0,f,p);var w=t.imageSmoothingEnabled,y=void 0===w||w,b=t.imageSmoothingQuality;v.imageSmoothingEnabled=y,b&&(v.imageSmoothingQuality=b);var N,x,C,M,E,k,B=a.width,T=a.height,A=i,D=o;A<=-s||A>B?(A=0,N=0,C=0,E=0):A<=0?(C=-A,A=0,E=N=Math.min(B,s+A)):A<=B&&(C=0,E=N=Math.min(s,B-A)),N<=0||D<=-h||D>T?(D=0,x=0,M=0,k=0):D<=0?(M=-D,D=0,k=x=Math.min(T,h+D)):D<=T&&(M=0,k=x=Math.min(h,T-D));var R=[A,D,N,x];if(E>0&&k>0){var S=f/s;R.push(C*S,M*S,E*S,k*S)}return v.drawImage.apply(v,[a].concat(r(R.map(function(t){return Math.floor(I(t))})))),g},setAspectRatio:function(t){var e=this.options;return this.disabled||B(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var i="crop"===t,r=e.movable&&"move"===t;t=i||r?t:"none",e.dragMode=t,X(a,p,t),U(a,h,i),U(a,f,r),e.cropBoxMovable||(X(n,p,t),U(n,h,i),U(n,f,r))}return this}},ft=s.Cropper,pt=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e||!C.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=L({},M,D(a)&&a),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}var e,a,n;return e=t,n=[{key:"noConflict",value:function(){return window.Cropper=ft,t}},{key:"setDefaults",value:function(t){L(M,D(t)&&t)}}],(a=[{key:"init",value:function(){var t,e=this.element,a=e.tagName.toLowerCase();if(!e.cropper){if(e.cropper=this,"img"===a){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===a&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e=this;if(t){this.url=t,this.imageData={};var a=this.element,n=this.options;if(n.rotatable||n.scalable||(n.checkOrientation=!1),n.checkOrientation&&window.ArrayBuffer)if(N.test(t))x.test(t)?this.read((i=t.replace(ot,""),r=atob(i),o=new ArrayBuffer(r.length),S(s=new Uint8Array(o),function(t,e){s[e]=r.charCodeAt(e)}),o)):this.clone();else{var i,r,o,s,h=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=h,h.ontimeout=c,h.onabort=c,h.onerror=c,h.onprogress=function(){"image/jpeg"!==h.getResponseHeader("content-type")&&h.abort()},h.onload=function(){e.read(h.response)},h.onloadend=function(){e.reloading=!1,e.xhr=null},n.checkCrossOrigin&&Z(t)&&a.crossOrigin&&(t=tt(t)),h.open("GET",t),h.responseType="arraybuffer",h.withCredentials="use-credentials"===a.crossOrigin,h.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,a=this.imageData,n=st(t),i=0,o=1,s=1;if(n>1){this.url=function(t,e){for(var a=[],n=new Uint8Array(t);n.length>0;)a.push(rt.apply(void 0,r(n.subarray(0,8192)))),n=n.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(a.join("")))}(t,"image/jpeg");var h=function(t){var e=0,a=1,n=1;switch(t){case 2:a=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,a=-1;break;case 8:e=-90}return{rotate:e,scaleX:a,scaleY:n}}(n);i=h.rotate,o=h.scaleX,s=h.scaleY}e.rotatable&&(a.rotate=i),e.scalable&&(a.scaleX=o,a.scaleY=s),this.clone()}},{key:"clone",value:function(){var t,e,a=this.element,n=this.url;this.options.checkCrossOrigin&&Z(n)&&((t=a.crossOrigin)?e=n:(t="anonymous",e=tt(n))),this.crossOrigin=t,this.crossOriginUrl=e;var i=document.createElement("img");t&&(i.crossOrigin=t),i.src=e||n,this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),Y(i,l),a.parentNode.insertBefore(i,a.nextSibling)}},{key:"start",value:function(){var t=this,e=this.isImg?this.element:this.image;e.onload=null,e.onerror=null,this.sizing=!0;var a=s.navigator&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(s.navigator.userAgent),n=function(e,a){L(t.imageData,{naturalWidth:e,naturalHeight:a,aspectRatio:e/a}),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||a){var i=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){n(i.width,i.height),a||r.removeChild(i)},i.src=e.src,a||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(i))}else n(e.naturalWidth,e.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,a=this.image,n=t.parentNode,i=document.createElement("div");i.innerHTML='
';var r=i.querySelector(".".concat("cropper","-container")),o=r.querySelector(".".concat("cropper","-canvas")),s=r.querySelector(".".concat("cropper","-drag-box")),h=r.querySelector(".".concat("cropper","-crop-box")),c=h.querySelector(".".concat("cropper","-face"));this.container=n,this.cropper=r,this.canvas=o,this.dragBox=s,this.cropBox=h,this.viewBox=r.querySelector(".".concat("cropper","-view-box")),this.face=c,o.appendChild(a),Y(t,u),n.insertBefore(r,t.nextSibling),this.isImg||H(a,l),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,Y(h,u),e.guides||Y(h.getElementsByClassName("".concat("cropper","-dashed")),u),e.center||Y(h.getElementsByClassName("".concat("cropper","-center")),u),e.background&&Y(r,"".concat("cropper","-bg")),e.highlight||Y(c,d),e.cropBoxMovable&&(Y(c,f),X(c,p,"all")),e.cropBoxResizable||(Y(h.getElementsByClassName("".concat("cropper","-line")),u),Y(h.getElementsByClassName("".concat("cropper","-point")),u)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),R(e.ready)&&J(t,"ready",e.ready,{once:!0}),V(t,"ready")}}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),H(this.element,u))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&i(e.prototype,a),n&&i(e,n),t}();L(pt.prototype,ht,ct,ut,lt,dt,mt),e.a=pt},598:function(t,e,a){},615:function(t,e,a){"use strict";var n={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"аҧсуа бызшәа"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"አማርኛ"},an:{name:"Aragonese",nativeName:"aragonés"},ar:{name:"Arabic",nativeName:"اللغة العربية"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},be:{name:"Belarusian",nativeName:"беларуская мова"},bg:{name:"Bulgarian",nativeName:"български език"},bh:{name:"Bihari",nativeName:"भोजपुरी"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"বাংলা"},bo:{name:"Tibetan Standard",nativeName:"བོད་ཡིག"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"català"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},cs:{name:"Czech",nativeName:"čeština"},cu:{name:"Old Church Slavonic",nativeName:"ѩзыкъ словѣньскъ"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"Dhivehi"},dz:{name:"Dzongkha",nativeName:"རྫོང་ཁ"},ee:{name:"Ewe",nativeName:"Eʋegbe"},el:{name:"Greek",nativeName:"ελληνικά"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Español"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"فارسی"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"Vakaviti"},fo:{name:"Faroese",nativeName:"føroyskt"},fr:{name:"French",nativeName:"Français"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"Gàidhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaraní",nativeName:"Avañe'ẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"هَوُسَ"},he:{name:"Hebrew",nativeName:"עברית"},hi:{name:"Hindi",nativeName:"हिन्दी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"hrvatski jezik"},ht:{name:"Haitian",nativeName:"Kreyòl ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"Հայերեն"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Indonesian"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"Iñupiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"ქართული"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"Gĩkũyũ"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"қазақ тілі"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"ខេមរភាសា"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},ko:{name:"Korean",nativeName:"한국어"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी"},ku:{name:"Kurdish",nativeName:"Kurdî"},kv:{name:"Komi",nativeName:"коми кыв"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"Кыргызча"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"Lëtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:"Tshiluba"},lv:{name:"Latvian",nativeName:"latviešu valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mi:{name:"Māori",nativeName:"te reo Māori"},mk:{name:"Macedonian",nativeName:"македонски јазик"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mn:{name:"Mongolian",nativeName:"Монгол хэл"},mr:{name:"Marathi",nativeName:"मराठी"},ms:{name:"Malay",nativeName:"هاس ملايو‎"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"ဗမာစာ"},na:{name:"Nauru",nativeName:"Ekakairũ Naoero"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Diné bizaad"},ny:{name:"Chichewa",nativeName:"chiCheŵa"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian",nativeName:"ирон æвзаг"},pa:{name:"Panjabi",nativeName:"ਪੰਜਾਬੀ"},pi:{name:"Pāli",nativeName:"पाऴि"},pl:{name:"Polish",nativeName:"język polski"},ps:{name:"Pashto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"},ro:{name:"Romanian",nativeName:"limba română"},ru:{name:"Russian",nativeName:"Русский"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},si:{name:"Sinhala",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovene",nativeName:"slovenski jezik"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"српски језик"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},tk:{name:"Turkmen",nativeName:"Türkmen"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татар теле"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"Українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"Ўзбек"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang",nativeName:"Saɯ cueŋƅ"},zh:{name:"Chinese",nativeName:"中文"},zu:{name:"Zulu",nativeName:"isiZulu"}};a.d(e,"a",function(){return i});class i{static getLanguages(t=[]){return t.map(t=>({code:t,name:i.getName(t),nativeName:i.getNativeName(t)}))}static getName(t){return i.validate(t)?n[t].name:""}static getAllNames(){return Object.values(n).map(t=>t.name)}static getNativeName(t){return i.validate(t)?n[t].nativeName:""}static getAllNativeNames(){return Object.values(n).map(t=>t.nativeName)}static getCode(t){return Object.keys(n).find(e=>{const a=n[e];return a.name.toLowerCase()===t.toLowerCase()||a.nativeName.toLowerCase()===t.toLowerCase()})||""}static getAllCodes(){return Object.keys(n)}static validate(t){return void 0!==n[t]}}}}]); -//# sourceMappingURL=3.e1f7d368d5840e12e850.js.map \ No newline at end of file + */function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){for(var a=0;a1?e-1:0),n=1;n0&&a.forEach(function(e){T(e)&&Object.keys(e).forEach(function(a){t[a]=e[a]})}),t},P=/\.\d*(?:0|9){12}\d*$/;function I(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return P.test(t)?Math.round(t*e)/e:t}var z=/^(?:width|height|left|top|marginLeft|marginTop)$/;function O(t,e){var a=t.style;S(e,function(t,e){z.test(e)&&k(t)&&(t+="px"),a[e]=t})}function Y(t,e){if(e)if(k(t.length))S(t,function(t){Y(t,e)});else if(t.classList)t.classList.add(e);else{var a=t.className.trim();a?a.indexOf(e)<0&&(t.className="".concat(a," ").concat(e)):t.className=e}}function H(t,e){e&&(k(t.length)?S(t,function(t){H(t,e)}):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function U(t,e,a){e&&(k(t.length)?S(t,function(t){U(t,e,a)}):a?Y(t,e):H(t,e))}var j=/([a-z\d])([A-Z])/g;function _(t){return t.replace(j,"$1-$2").toLowerCase()}function W(t,e){return T(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(_(e)))}function X(t,e,a){T(a)?t[e]=a:t.dataset?t.dataset[e]=a:t.setAttribute("data-".concat(_(e)),a)}var K=/\s\s*/,F=function(){var t=!1;if(o){var e=!1,a=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});s.addEventListener("test",a,n),s.removeEventListener("test",a,n)}return t}();function q(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(K).forEach(function(e){if(!F){var r=t.listeners;r&&r[e]&&r[e][a]&&(i=r[e][a],delete r[e][a],0===Object.keys(r[e]).length&&delete r[e],0===Object.keys(r).length&&delete t.listeners)}t.removeEventListener(e,i,n)})}function J(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(K).forEach(function(e){if(n.once&&!F){var r=t.listeners,o=void 0===r?{}:r;i=function(){delete o[e][a],t.removeEventListener(e,i,n);for(var r=arguments.length,s=new Array(r),h=0;h1&&void 0!==arguments[1]?arguments[1]:"contain",r=function(t){return nt(t)&&t>0};if(r(n)&&r(a)){var o=a*e;"contain"===i&&o>n||"cover"===i&&o=8&&(r=h+u)}}}if(r){var l,d,m=a.getUint16(r,n);for(d=0;dt.width?3===a?s=t.height*o:h=t.width/o:3===a?h=t.width/o:s=t.height*o;var c={aspectRatio:o,naturalWidth:i,naturalHeight:r,width:s,height:h};c.left=(t.width-s)/2,c.top=(t.height-h)/2,c.oldLeft=c.left,c.oldTop=c.top,this.canvasData=c,this.limited=1===a||2===a,this.limitCanvas(!0,!0),this.initialImageData=L({},e),this.initialCanvasData=L({},c)},limitCanvas:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=a.viewMode,s=i.aspectRatio,h=this.cropped&&r;if(t){var c=Number(a.minCanvasWidth)||0,u=Number(a.minCanvasHeight)||0;o>1?(c=Math.max(c,n.width),u=Math.max(u,n.height),3===o&&(u*s>c?c=u*s:u=c/s)):o>0&&(c?c=Math.max(c,h?r.width:0):u?u=Math.max(u,h?r.height:0):h&&(c=r.width,(u=r.height)*s>c?c=u*s:u=c/s));var l=it({aspectRatio:s,width:c,height:u});c=l.width,u=l.height,i.minWidth=c,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(e)if(o>(h?0:1)){var d=n.width-i.width,m=n.height-i.height;i.minLeft=Math.min(0,d),i.minTop=Math.min(0,m),i.maxLeft=Math.max(0,d),i.maxTop=Math.max(0,m),h&&this.limited&&(i.minLeft=Math.min(r.left,r.left+(r.width-i.width)),i.minTop=Math.min(r.top,r.top+(r.height-i.height)),i.maxLeft=r.left,i.maxTop=r.top,2===o&&(i.width>=n.width&&(i.minLeft=Math.min(0,d),i.maxLeft=Math.max(0,d)),i.height>=n.height&&(i.minTop=Math.min(0,m),i.maxTop=Math.max(0,m))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=n.width,i.maxTop=n.height},renderCanvas:function(t,e){var a=this.canvasData,n=this.imageData;if(e){var i=function(t){var e=t.width,a=t.height,n=t.degree;if(90==(n=Math.abs(n)%180))return{width:a,height:e};var i=n%90*Math.PI/180,r=Math.sin(i),o=Math.cos(i),s=e*o+a*r,h=e*r+a*o;return n>90?{width:h,height:s}:{width:s,height:h}}({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),r=i.width,o=i.height,s=a.width*(r/a.naturalWidth),h=a.height*(o/a.naturalHeight);a.left-=(s-a.width)/2,a.top-=(h-a.height)/2,a.width=s,a.height=h,a.aspectRatio=r/o,a.naturalWidth=r,a.naturalHeight=o,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighte.width?i.height=i.width/a:i.width=i.height*a),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*n),i.height=Math.max(i.minHeight,i.height*n),i.left=e.left+(e.width-i.width)/2,i.top=e.top+(e.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=L({},i)},limitCropBox:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=this.limited,s=a.aspectRatio;if(t){var h=Number(a.minCropBoxWidth)||0,c=Number(a.minCropBoxHeight)||0,u=o?Math.min(n.width,i.width,i.width+i.left,n.width-i.left):n.width,l=o?Math.min(n.height,i.height,i.height+i.top,n.height-i.top):n.height;h=Math.min(h,n.width),c=Math.min(c,n.height),s&&(h&&c?c*s>h?c=h/s:h=c*s:h?c=h/s:c&&(h=c*s),l*s>u?l=u/s:u=l*s),r.minWidth=Math.min(h,u),r.minHeight=Math.min(c,l),r.maxWidth=u,r.maxHeight=l}e&&(o?(r.minLeft=Math.max(0,i.left),r.minTop=Math.max(0,i.top),r.maxLeft=Math.min(n.width,i.left+i.width)-r.width,r.maxTop=Math.min(n.height,i.top+i.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=n.width-r.width,r.maxTop=n.height-r.height))},renderCropBox:function(){var t=this.options,e=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=e.width&&a.height>=e.height?"move":"all"),O(this.cropBox,L({width:a.width,height:a.height},et({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),V(this.element,"crop",this.getData())}},ct={initPreview:function(){var t=this.crossOrigin,e=this.options.preview,a=t?this.crossOriginUrl:this.url,n=document.createElement("img");if(t&&(n.crossOrigin=t),n.src=a,this.viewBox.appendChild(n),this.viewBoxImage=n,e){var i=e;"string"==typeof e?i=this.element.ownerDocument.querySelectorAll(e):e.querySelector&&(i=[e]),this.previews=i,S(i,function(e){var n=document.createElement("img");X(e,g,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=a,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)})}},resetPreview:function(){S(this.previews,function(t){var e=W(t,g);O(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(T(t[e]))try{delete t[e]}catch(a){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(a){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(_(e)))}(t,g)})},preview:function(){var t=this.imageData,e=this.canvasData,a=this.cropBoxData,n=a.width,i=a.height,r=t.width,o=t.height,s=a.left-e.left-t.left,h=a.top-e.top-t.top;this.cropped&&!this.disabled&&(O(this.viewBoxImage,L({width:r,height:o},et(L({translateX:-s,translateY:-h},t)))),S(this.previews,function(e){var a=W(e,g),c=a.width,u=a.height,l=c,d=u,m=1;n&&(d=i*(m=c/n)),i&&d>u&&(l=n*(m=u/i),d=u),O(e,{width:l,height:d}),O(e.getElementsByTagName("img")[0],L({width:r*m,height:o*m},et(L({translateX:-s*m,translateY:-h*m},t))))}))}},ut={bind:function(){var t=this.element,e=this.options,a=this.cropper;R(e.cropstart)&&J(t,"cropstart",e.cropstart),R(e.cropmove)&&J(t,"cropmove",e.cropmove),R(e.cropend)&&J(t,"cropend",e.cropend),R(e.crop)&&J(t,"crop",e.crop),R(e.zoom)&&J(t,"zoom",e.zoom),J(a,v,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&J(a,"wheel mousewheel DOMMouseScroll",this.onWheel=this.wheel.bind(this)),e.toggleDragModeOnDblclick&&J(a,"dblclick",this.onDblclick=this.dblclick.bind(this)),J(t.ownerDocument,w,this.onCropMove=this.cropMove.bind(this)),J(t.ownerDocument,y,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&J(window,"resize",this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,a=this.cropper;R(e.cropstart)&&q(t,"cropstart",e.cropstart),R(e.cropmove)&&q(t,"cropmove",e.cropmove),R(e.cropend)&&q(t,"cropend",e.cropend),R(e.crop)&&q(t,"crop",e.crop),R(e.zoom)&&q(t,"zoom",e.zoom),q(a,v,this.onCropStart),e.zoomable&&e.zoomOnWheel&&q(a,"wheel mousewheel DOMMouseScroll",this.onWheel),e.toggleDragModeOnDblclick&&q(a,"dblclick",this.onDblclick),q(t.ownerDocument,w,this.onCropMove),q(t.ownerDocument,y,this.onCropEnd),e.responsive&&q(window,"resize",this.onResize)}},lt={resize:function(){var t=this.options,e=this.container,a=this.containerData,n=Number(t.minContainerWidth)||200,i=Number(t.minContainerHeight)||100;if(!(this.disabled||a.width<=n||a.height<=i)){var r,o,s=e.offsetWidth/a.width;if(1!==s||e.offsetHeight!==a.height)t.restore&&(r=this.getCanvasData(),o=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(S(r,function(t,e){r[e]=t*s})),this.setCropBoxData(S(o,function(t,e){o[e]=t*s})))}},dblclick:function(){var t,e;this.disabled||"none"===this.options.dragMode||this.setDragMode((t=this.dragBox,e=h,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?"move":"crop"))},wheel:function(t){var e=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout(function(){e.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){if(!this.disabled){var e,a=this.options,n=this.pointers;t.changedTouches?S(t.changedTouches,function(t){n[t.identifier]=at(t)}):n[t.pointerId||0]=at(t),e=Object.keys(n).length>1&&a.zoomable&&a.zoomOnTouch?"zoom":W(t.target,p),b.test(e)&&!1!==V(this.element,"cropstart",{originalEvent:t,action:e})&&(t.preventDefault(),this.action=e,this.cropping=!1,"crop"===e&&(this.cropping=!0,Y(this.dragBox,m)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var a=this.pointers;t.preventDefault(),!1!==V(this.element,"cropmove",{originalEvent:t,action:e})&&(t.changedTouches?S(t.changedTouches,function(t){L(a[t.identifier]||{},at(t,!0))}):L(a[t.pointerId||0]||{},at(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,a=this.pointers;t.changedTouches?S(t.changedTouches,function(t){delete a[t.identifier]}):delete a[t.pointerId||0],e&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,U(this.dragBox,m,this.cropped&&this.options.modal)),V(this.element,"cropend",{originalEvent:t,action:e}))}}},dt={change:function(t){var e,a=this.options,n=this.canvasData,i=this.containerData,r=this.cropBoxData,o=this.pointers,s=this.action,h=a.aspectRatio,c=r.left,l=r.top,d=r.width,m=r.height,f=c+d,p=l+m,g=0,v=0,w=i.width,y=i.height,b=!0;!h&&t.shiftKey&&(h=d&&m?d/m:1),this.limited&&(g=r.minLeft,v=r.minTop,w=g+Math.min(i.width,n.width,n.left+n.width),y=v+Math.min(i.height,n.height,n.top+n.height));var N=o[Object.keys(o)[0]],x={x:N.endX-N.startX,y:N.endY-N.startY},C=function(t){switch(t){case"e":f+x.x>w&&(x.x=w-f);break;case"w":c+x.xy&&(x.y=y-p)}};switch(s){case"all":c+=x.x,l+=x.y;break;case"e":if(x.x>=0&&(f>=w||h&&(l<=v||p>=y))){b=!1;break}C("e"),(d+=x.x)<0&&(s="w",c-=d=-d),h&&(m=d/h,l+=(r.height-m)/2);break;case"n":if(x.y<=0&&(l<=v||h&&(c<=g||f>=w))){b=!1;break}C("n"),m-=x.y,l+=x.y,m<0&&(s="s",l-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"w":if(x.x<=0&&(c<=g||h&&(l<=v||p>=y))){b=!1;break}C("w"),d-=x.x,c+=x.x,d<0&&(s="e",c-=d=-d),h&&(m=d/h,l+=(r.height-m)/2);break;case"s":if(x.y>=0&&(p>=y||h&&(c<=g||f>=w))){b=!1;break}C("s"),(m+=x.y)<0&&(s="n",l-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"ne":if(h){if(x.y<=0&&(l<=v||f>=w)){b=!1;break}C("n"),m-=x.y,l+=x.y,d=m*h}else C("n"),C("e"),x.x>=0?fv&&(m-=x.y,l+=x.y):(m-=x.y,l+=x.y);d<0&&m<0?(s="sw",l-=m=-m,c-=d=-d):d<0?(s="nw",c-=d=-d):m<0&&(s="se",l-=m=-m);break;case"nw":if(h){if(x.y<=0&&(l<=v||c<=g)){b=!1;break}C("n"),m-=x.y,l+=x.y,d=m*h,c+=r.width-d}else C("n"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y<=0&&l<=v&&(b=!1):(d-=x.x,c+=x.x),x.y<=0?l>v&&(m-=x.y,l+=x.y):(m-=x.y,l+=x.y);d<0&&m<0?(s="se",l-=m=-m,c-=d=-d):d<0?(s="ne",c-=d=-d):m<0&&(s="sw",l-=m=-m);break;case"sw":if(h){if(x.x<=0&&(c<=g||p>=y)){b=!1;break}C("w"),d-=x.x,c+=x.x,m=d/h}else C("s"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y>=0&&p>=y&&(b=!1):(d-=x.x,c+=x.x),x.y>=0?p=0&&(f>=w||p>=y)){b=!1;break}C("e"),m=(d+=x.x)/h}else C("s"),C("e"),x.x>=0?f=0&&p>=y&&(b=!1):d+=x.x,x.y>=0?p0?s=x.y>0?"se":"ne":x.x<0&&(c-=d,s=x.y>0?"sw":"nw"),x.y<0&&(l-=m),this.cropped||(H(this.cropBox,u),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}b&&(r.width=d,r.height=m,r.left=c,r.top=l,this.action=s,this.renderCropBox()),S(o,function(t){t.startX=t.endX,t.startY=t.endY})}},mt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Y(this.dragBox,m),H(this.cropBox,u),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=L({},this.initialImageData),this.canvasData=L({},this.initialCanvasData),this.cropBoxData=L({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(L(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),H(this.dragBox,m),Y(this.cropBox,u)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,S(this.previews,function(e){e.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,H(this.cropper,c)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Y(this.cropper,c)),this},destroy:function(){var t=this.element;return t.cropper?(t.cropper=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=a.left,i=a.top;return this.moveTo(B(t)?t:n+Number(t),B(e)?e:i+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(k(t)&&(a.left=t,n=!0),k(e)&&(a.top=e,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var a=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(a.width*t/a.naturalWidth,null,e)},zoomTo:function(t,e,a){var n=this.options,i=this.canvasData,r=i.width,o=i.height,s=i.naturalWidth,h=i.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&n.zoomable){var c=s*t,u=h*t;if(!1===V(this.element,"zoom",{ratio:t,oldRatio:r/s,originalEvent:a}))return this;if(a){var l=this.pointers,d=$(this.cropper),m=l&&Object.keys(l).length?function(t){var e=0,a=0,n=0;return S(t,function(t){var i=t.startX,r=t.startY;e+=i,a+=r,n+=1}),{pageX:e/=n,pageY:a/=n}}(l):{pageX:a.pageX,pageY:a.pageY};i.left-=(c-r)*((m.pageX-d.left-i.left)/r),i.top-=(u-o)*((m.pageY-d.top-i.top)/o)}else D(e)&&k(e.x)&&k(e.y)?(i.left-=(c-r)*((e.x-i.left)/r),i.top-=(u-o)*((e.y-i.top)/o)):(i.left-=(c-r)/2,i.top-=(u-o)/2);i.width=c,i.height=u,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return k(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,k(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(k(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(k(t)&&(a.scaleX=t,n=!0),k(e)&&(a.scaleY=e,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=this.options,n=this.imageData,i=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){t={x:r.left-i.left,y:r.top-i.top,width:r.width,height:r.height};var o=n.width/n.naturalWidth;if(S(t,function(e,a){t[a]=e/o}),e){var s=Math.round(t.y+t.height),h=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=h-t.x,t.height=s-t.y}}else t={x:0,y:0,width:0,height:0};return a.rotatable&&(t.rotate=n.rotate||0),a.scalable&&(t.scaleX=n.scaleX||1,t.scaleY=n.scaleY||1),t},setData:function(t){var e=this.options,a=this.imageData,n=this.canvasData,i={};if(this.ready&&!this.disabled&&D(t)){var r=!1;e.rotatable&&k(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,r=!0),e.scalable&&(k(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,r=!0),k(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var o=a.width/a.naturalWidth;k(t.x)&&(i.left=t.x*o+n.left),k(t.y)&&(i.top=t.y*o+n.top),k(t.width)&&(i.width=t.width*o),k(t.height)&&(i.height=t.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?L({},this.containerData):{}},getImageData:function(){return this.sized?L({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&S(["left","top","width","height","naturalWidth","naturalHeight"],function(a){e[a]=t[a]}),e},setCanvasData:function(t){var e=this.canvasData,a=e.aspectRatio;return this.ready&&!this.disabled&&D(t)&&(k(t.left)&&(e.left=t.left),k(t.top)&&(e.top=t.top),k(t.width)?(e.width=t.width,e.height=t.width/a):k(t.height)&&(e.height=t.height,e.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,a,n=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&D(t)&&(k(t.left)&&(n.left=t.left),k(t.top)&&(n.top=t.top),k(t.width)&&t.width!==n.width&&(e=!0,n.width=t.width),k(t.height)&&t.height!==n.height&&(a=!0,n.height=t.height),i&&(e?n.height=n.width/i:a&&(n.width=n.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,a=function(t,e,a,n){var i=e.aspectRatio,o=e.naturalWidth,s=e.naturalHeight,h=e.rotate,c=void 0===h?0:h,u=e.scaleX,l=void 0===u?1:u,d=e.scaleY,m=void 0===d?1:d,f=a.aspectRatio,p=a.naturalWidth,g=a.naturalHeight,v=n.fillColor,w=void 0===v?"transparent":v,y=n.imageSmoothingEnabled,b=void 0===y||y,N=n.imageSmoothingQuality,x=void 0===N?"low":N,C=n.maxWidth,M=void 0===C?1/0:C,E=n.maxHeight,k=void 0===E?1/0:E,B=n.minWidth,T=void 0===B?0:B,A=n.minHeight,D=void 0===A?0:A,R=document.createElement("canvas"),S=R.getContext("2d"),L=it({aspectRatio:f,width:M,height:k}),P=it({aspectRatio:f,width:T,height:D},"cover"),z=Math.min(L.width,Math.max(P.width,p)),O=Math.min(L.height,Math.max(P.height,g)),Y=it({aspectRatio:i,width:M,height:k}),H=it({aspectRatio:i,width:T,height:D},"cover"),U=Math.min(Y.width,Math.max(H.width,o)),j=Math.min(Y.height,Math.max(H.height,s)),_=[-U/2,-j/2,U,j];return R.width=I(z),R.height=I(O),S.fillStyle=w,S.fillRect(0,0,z,O),S.save(),S.translate(z/2,O/2),S.rotate(c*Math.PI/180),S.scale(l,m),S.imageSmoothingEnabled=b,S.imageSmoothingQuality=x,S.drawImage.apply(S,[t].concat(r(_.map(function(t){return Math.floor(I(t))})))),S.restore(),R}(this.image,this.imageData,e,t);if(!this.cropped)return a;var n=this.getData(),i=n.x,o=n.y,s=n.width,h=n.height,c=a.width/Math.floor(e.naturalWidth);1!==c&&(i*=c,o*=c,s*=c,h*=c);var u=s/h,l=it({aspectRatio:u,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),d=it({aspectRatio:u,width:t.minWidth||0,height:t.minHeight||0},"cover"),m=it({aspectRatio:u,width:t.width||(1!==c?a.width:s),height:t.height||(1!==c?a.height:h)}),f=m.width,p=m.height;f=Math.min(l.width,Math.max(d.width,f)),p=Math.min(l.height,Math.max(d.height,p));var g=document.createElement("canvas"),v=g.getContext("2d");g.width=I(f),g.height=I(p),v.fillStyle=t.fillColor||"transparent",v.fillRect(0,0,f,p);var w=t.imageSmoothingEnabled,y=void 0===w||w,b=t.imageSmoothingQuality;v.imageSmoothingEnabled=y,b&&(v.imageSmoothingQuality=b);var N,x,C,M,E,k,B=a.width,T=a.height,A=i,D=o;A<=-s||A>B?(A=0,N=0,C=0,E=0):A<=0?(C=-A,A=0,E=N=Math.min(B,s+A)):A<=B&&(C=0,E=N=Math.min(s,B-A)),N<=0||D<=-h||D>T?(D=0,x=0,M=0,k=0):D<=0?(M=-D,D=0,k=x=Math.min(T,h+D)):D<=T&&(M=0,k=x=Math.min(h,T-D));var R=[A,D,N,x];if(E>0&&k>0){var S=f/s;R.push(C*S,M*S,E*S,k*S)}return v.drawImage.apply(v,[a].concat(r(R.map(function(t){return Math.floor(I(t))})))),g},setAspectRatio:function(t){var e=this.options;return this.disabled||B(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var i="crop"===t,r=e.movable&&"move"===t;t=i||r?t:"none",e.dragMode=t,X(a,p,t),U(a,h,i),U(a,f,r),e.cropBoxMovable||(X(n,p,t),U(n,h,i),U(n,f,r))}return this}},ft=s.Cropper,pt=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e||!C.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=L({},M,D(a)&&a),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}var e,a,n;return e=t,n=[{key:"noConflict",value:function(){return window.Cropper=ft,t}},{key:"setDefaults",value:function(t){L(M,D(t)&&t)}}],(a=[{key:"init",value:function(){var t,e=this.element,a=e.tagName.toLowerCase();if(!e.cropper){if(e.cropper=this,"img"===a){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===a&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e=this;if(t){this.url=t,this.imageData={};var a=this.element,n=this.options;if(n.rotatable||n.scalable||(n.checkOrientation=!1),n.checkOrientation&&window.ArrayBuffer)if(N.test(t))x.test(t)?this.read((i=t.replace(ot,""),r=atob(i),o=new ArrayBuffer(r.length),S(s=new Uint8Array(o),function(t,e){s[e]=r.charCodeAt(e)}),o)):this.clone();else{var i,r,o,s,h=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=h,h.ontimeout=c,h.onabort=c,h.onerror=c,h.onprogress=function(){"image/jpeg"!==h.getResponseHeader("content-type")&&h.abort()},h.onload=function(){e.read(h.response)},h.onloadend=function(){e.reloading=!1,e.xhr=null},n.checkCrossOrigin&&Z(t)&&a.crossOrigin&&(t=tt(t)),h.open("GET",t),h.responseType="arraybuffer",h.withCredentials="use-credentials"===a.crossOrigin,h.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,a=this.imageData,n=st(t),i=0,o=1,s=1;if(n>1){this.url=function(t,e){for(var a=[],n=new Uint8Array(t);n.length>0;)a.push(rt.apply(void 0,r(n.subarray(0,8192)))),n=n.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(a.join("")))}(t,"image/jpeg");var h=function(t){var e=0,a=1,n=1;switch(t){case 2:a=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,a=-1;break;case 8:e=-90}return{rotate:e,scaleX:a,scaleY:n}}(n);i=h.rotate,o=h.scaleX,s=h.scaleY}e.rotatable&&(a.rotate=i),e.scalable&&(a.scaleX=o,a.scaleY=s),this.clone()}},{key:"clone",value:function(){var t,e,a=this.element,n=this.url;this.options.checkCrossOrigin&&Z(n)&&((t=a.crossOrigin)?e=n:(t="anonymous",e=tt(n))),this.crossOrigin=t,this.crossOriginUrl=e;var i=document.createElement("img");t&&(i.crossOrigin=t),i.src=e||n,this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),Y(i,l),a.parentNode.insertBefore(i,a.nextSibling)}},{key:"start",value:function(){var t=this,e=this.isImg?this.element:this.image;e.onload=null,e.onerror=null,this.sizing=!0;var a=s.navigator&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(s.navigator.userAgent),n=function(e,a){L(t.imageData,{naturalWidth:e,naturalHeight:a,aspectRatio:e/a}),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||a){var i=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){n(i.width,i.height),a||r.removeChild(i)},i.src=e.src,a||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(i))}else n(e.naturalWidth,e.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,a=this.image,n=t.parentNode,i=document.createElement("div");i.innerHTML='
';var r=i.querySelector(".".concat("cropper","-container")),o=r.querySelector(".".concat("cropper","-canvas")),s=r.querySelector(".".concat("cropper","-drag-box")),h=r.querySelector(".".concat("cropper","-crop-box")),c=h.querySelector(".".concat("cropper","-face"));this.container=n,this.cropper=r,this.canvas=o,this.dragBox=s,this.cropBox=h,this.viewBox=r.querySelector(".".concat("cropper","-view-box")),this.face=c,o.appendChild(a),Y(t,u),n.insertBefore(r,t.nextSibling),this.isImg||H(a,l),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,Y(h,u),e.guides||Y(h.getElementsByClassName("".concat("cropper","-dashed")),u),e.center||Y(h.getElementsByClassName("".concat("cropper","-center")),u),e.background&&Y(r,"".concat("cropper","-bg")),e.highlight||Y(c,d),e.cropBoxMovable&&(Y(c,f),X(c,p,"all")),e.cropBoxResizable||(Y(h.getElementsByClassName("".concat("cropper","-line")),u),Y(h.getElementsByClassName("".concat("cropper","-point")),u)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),R(e.ready)&&J(t,"ready",e.ready,{once:!0}),V(t,"ready")}}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),H(this.element,u))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&i(e.prototype,a),n&&i(e,n),t}();L(pt.prototype,ht,ct,ut,lt,dt,mt),e.a=pt},616:function(t,e,a){},633:function(t,e,a){"use strict";var n={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"аҧсуа бызшәа"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"አማርኛ"},an:{name:"Aragonese",nativeName:"aragonés"},ar:{name:"Arabic",nativeName:"اللغة العربية"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},be:{name:"Belarusian",nativeName:"беларуская мова"},bg:{name:"Bulgarian",nativeName:"български език"},bh:{name:"Bihari",nativeName:"भोजपुरी"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"বাংলা"},bo:{name:"Tibetan Standard",nativeName:"བོད་ཡིག"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"català"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},cs:{name:"Czech",nativeName:"čeština"},cu:{name:"Old Church Slavonic",nativeName:"ѩзыкъ словѣньскъ"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"Dhivehi"},dz:{name:"Dzongkha",nativeName:"རྫོང་ཁ"},ee:{name:"Ewe",nativeName:"Eʋegbe"},el:{name:"Greek",nativeName:"ελληνικά"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Español"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"فارسی"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"Vakaviti"},fo:{name:"Faroese",nativeName:"føroyskt"},fr:{name:"French",nativeName:"Français"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"Gàidhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaraní",nativeName:"Avañe'ẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"هَوُسَ"},he:{name:"Hebrew",nativeName:"עברית"},hi:{name:"Hindi",nativeName:"हिन्दी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"hrvatski jezik"},ht:{name:"Haitian",nativeName:"Kreyòl ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"Հայերեն"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Indonesian"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"Iñupiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"ქართული"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"Gĩkũyũ"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"қазақ тілі"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"ខេមរភាសា"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},ko:{name:"Korean",nativeName:"한국어"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी"},ku:{name:"Kurdish",nativeName:"Kurdî"},kv:{name:"Komi",nativeName:"коми кыв"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"Кыргызча"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"Lëtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:"Tshiluba"},lv:{name:"Latvian",nativeName:"latviešu valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mi:{name:"Māori",nativeName:"te reo Māori"},mk:{name:"Macedonian",nativeName:"македонски јазик"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mn:{name:"Mongolian",nativeName:"Монгол хэл"},mr:{name:"Marathi",nativeName:"मराठी"},ms:{name:"Malay",nativeName:"هاس ملايو‎"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"ဗမာစာ"},na:{name:"Nauru",nativeName:"Ekakairũ Naoero"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Diné bizaad"},ny:{name:"Chichewa",nativeName:"chiCheŵa"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian",nativeName:"ирон æвзаг"},pa:{name:"Panjabi",nativeName:"ਪੰਜਾਬੀ"},pi:{name:"Pāli",nativeName:"पाऴि"},pl:{name:"Polish",nativeName:"język polski"},ps:{name:"Pashto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"},ro:{name:"Romanian",nativeName:"limba română"},ru:{name:"Russian",nativeName:"Русский"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},si:{name:"Sinhala",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovene",nativeName:"slovenski jezik"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"српски језик"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},tk:{name:"Turkmen",nativeName:"Türkmen"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татар теле"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"Українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"Ўзбек"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang",nativeName:"Saɯ cueŋƅ"},zh:{name:"Chinese",nativeName:"中文"},zu:{name:"Zulu",nativeName:"isiZulu"}};a.d(e,"a",function(){return i});class i{static getLanguages(t=[]){return t.map(t=>({code:t,name:i.getName(t),nativeName:i.getNativeName(t)}))}static getName(t){return i.validate(t)?n[t].name:""}static getAllNames(){return Object.values(n).map(t=>t.name)}static getNativeName(t){return i.validate(t)?n[t].nativeName:""}static getAllNativeNames(){return Object.values(n).map(t=>t.nativeName)}static getCode(t){return Object.keys(n).find(e=>{const a=n[e];return a.name.toLowerCase()===t.toLowerCase()||a.nativeName.toLowerCase()===t.toLowerCase()})||""}static getAllCodes(){return Object.keys(n)}static validate(t){return void 0!==n[t]}}}}]); +//# sourceMappingURL=3.56898c1005d9ba1b8d4a.js.map \ No newline at end of file diff --git a/priv/static/static/js/3.e1f7d368d5840e12e850.js.map b/priv/static/static/js/3.56898c1005d9ba1b8d4a.js.map similarity index 99% rename from priv/static/static/js/3.e1f7d368d5840e12e850.js.map rename to priv/static/static/js/3.56898c1005d9ba1b8d4a.js.map index 1d1dd7f3f..594d9047b 100644 --- a/priv/static/static/js/3.e1f7d368d5840e12e850.js.map +++ b/priv/static/static/js/3.56898c1005d9ba1b8d4a.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/lodash/trim.js","webpack:///./node_modules/lodash/_charsEndIndex.js","webpack:///./node_modules/lodash/_charsStartIndex.js","webpack:///./node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.esm.js","webpack:///./node_modules/cropperjs/dist/cropper.esm.js","webpack:///./node_modules/iso-639-1/src/data.js","webpack:///./node_modules/iso-639-1/src/index.js"],"names":["baseToString","__webpack_require__","castSlice","charsEndIndex","charsStartIndex","stringToArray","toString","reTrim","module","exports","string","chars","guard","undefined","replace","strSymbols","chrSymbols","start","end","join","baseIndexOf","index","length","global","commonjsGlobal","window","self","commonjsRequire","Error","qrcode","r","e","n","t","o","i","f","c","u","a","code","p","call","1","require","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","push","reverse","getPositions","coords","pos","posLength","j","./utils","2","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","prototype","getLength","write","bitBuffer","value","indexOf","put","./mode","3","BitBuffer","buffer","get","bufIndex","num","putBit","getLengthInBits","bit","4","Buffer","BitMatrix","fill","reservedBit","set","row","col","reserved","xor","isReserved","../utils/buffer","5","ByteData","BYTE","l","6","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","./error-correction-level","7","isValid","level","from","defaultValue","toLowerCase","fromString","8","9","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","10","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","11","KanjiData","KANJI","toSJIS","12","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","N1","N2","N3","N4","getMaskAt","maskPattern","isNaN","parseInt","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","k","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","13","VersionCheck","Regex","NUMERIC","id","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","./regex","./version-check","14","NumericData","group","substr","remainingNum","15","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","./galois-field","16","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","totalCodewords","getSymbolTotalCodewords","ecTotalCodewords","dataTotalCodewordsBits","remainingByte","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","./alignment-pattern","./bit-buffer","./bit-matrix","./error-correction-code","./finder-pattern","./format-info","./mask-pattern","./reed-solomon-encoder","./segments","./version","isarray","17","Polynomial","genPoly","initialize","pad","paddedData","concat","remainder","buff","copy","./polynomial","18","kanji","byte","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","19","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","segs","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","nodes","buildNodes","graph","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","path","find_path","optimizedSegs","curr","prevSeg","mergeSegments","./alphanumeric-data","./byte-data","./kanji-data","./numeric-data","dijkstrajs","20","toSJISFunction","CODEWORDS_COUNT","digit","21","22","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","23","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","Promise","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","./core/qrcode","./renderer/canvas","./renderer/svg-tag.js","can-promise","24","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","25","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","26","hex2rgba","hexCode","split","apply","hexValue","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","27","TYPED_ARRAY_SUPPORT","arr","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","newBuf","subarray","sliceLen","target","targetStart","list","_isBuffer","28","G","then","window-or-global","29","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","30","31","fn","name","props","tag","String","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","error","url","innerHTML","mounted","__webpack_exports__","_typeof","iterator","constructor","_defineProperties","descriptor","_toConsumableArray","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","IN_BROWSER","WINDOW","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","EVENT_POINTER_DOWN","PointerEvent","EVENT_POINTER_MOVE","EVENT_POINTER_UP","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","DEFAULTS","viewMode","dragMode","initialAspectRatio","NaN","aspectRatio","preview","responsive","restore","checkCrossOrigin","checkOrientation","modal","guides","center","highlight","background","autoCrop","autoCropArea","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","wheelZoomRatio","cropBoxMovable","cropBoxResizable","toggleDragModeOnDblclick","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","minContainerWidth","minContainerHeight","ready","cropstart","cropmove","cropend","crop","zoom","Number","isNumber","isUndefined","isObject","isPlainObject","_constructor","isFunction","callback","assign","_len","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","round","REGEXP_SUFFIX","setStyle","element","styles","property","addClass","elem","classList","add","className","trim","removeClass","remove","toggleClass","added","REGEXP_HYPHENATE","hyphenate","getData","dataset","getAttribute","setData","setAttribute","REGEXP_SPACES","onceSupported","supported","once","listener","addEventListener","removeEventListener","removeListener","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","Event","CustomEvent","detail","bubbles","cancelable","createEvent","initCustomEvent","getOffset","box","getBoundingClientRect","left","pageXOffset","documentElement","clientLeft","top","pageYOffset","clientTop","location","REGEXP_ORIGINS","isCrossOriginURL","parts","match","protocol","hostname","port","addTimestamp","timestamp","Date","getTime","getTransforms","_ref","rotate","scaleX","scaleY","translateX","translateY","values","transform","WebkitTransform","msTransform","getPointer","_ref2","endOnly","pageX","pageY","endX","endY","startX","startY","getAdjustedSizes","_ref4","isValidNumber","adjustedWidth","fromCharCode","REGEXP_DATA_URL_HEAD","resetAndGetOrientation","arrayBuffer","orientation","dataView","DataView","littleEndian","app1Start","ifdStart","getUint8","tiffOffset","getStringFromCharCode","endianness","getUint16","firstIFDOffset","getUint32","_offset","_length","setUint16","initContainer","initCanvas","initCropBox","cropped","renderCropBox","container","cropper","containerData","offsetWidth","offsetHeight","imageData","rotated","naturalWidth","naturalHeight","canvasWidth","canvasHeight","canvasData","oldLeft","oldTop","limited","limitCanvas","initialImageData","initialCanvasData","sizeLimited","positionLimited","cropBoxData","_getAdjustedSizes","minWidth","minHeight","maxWidth","maxHeight","newCanvasLeft","newCanvasTop","minLeft","min","minTop","maxLeft","maxTop","changed","transformed","_getRotatedSizes","_ref5","arc","PI","sinArc","sin","cosArc","cos","newWidth","newHeight","getRotatedSizes","renderImage","limitCropBox","output","initialCropBoxData","maxCropBoxWidth","maxCropBoxHeight","face","cropBox","disabled","initPreview","crossOrigin","crossOriginUrl","appendChild","viewBoxImage","previews","ownerDocument","querySelectorAll","querySelector","el","img","html","cssText","resetPreview","removeAttribute","removeData","cropBoxWidth","cropBoxHeight","originalWidth","originalHeight","ratio","getElementsByTagName","events","onCropStart","cropStart","onWheel","wheel","onDblclick","dblclick","onCropMove","cropMove","onCropEnd","cropEnd","onResize","resize","unbind","handlers","getCanvasData","getCropBoxData","setCanvasData","setCropBoxData","setDragMode","dragBox","contains","delta","preventDefault","wheeling","setTimeout","deltaY","wheelDelta","action","pointers","changedTouches","touch","identifier","pointerId","originalEvent","cropping","change","right","bottom","renderable","shiftKey","pointer","range","check","side","move","pointers2","ratios","pointer2","x1","y1","x2","y2","z1","sqrt","getMaxZoomRatio","reset","clear","hasSameSize","isImg","replaced","uncreate","load","enable","disable","destroy","originalUrl","offsetX","offsetY","_this$canvasData","moveTo","_originalEvent","zoomTo","pivot","oldRatio","count","_ref3","getPointersCenter","rotateTo","_scaleX","_scaleY","rounded","getContainerData","getImageData","sized","widthChanged","heightChanged","getCroppedCanvas","HTMLCanvasElement","source","_ref6","_ref7","_ref8","imageAspectRatio","imageNaturalWidth","imageNaturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","_ref8$fillColor","fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","_ref8$maxHeight","_ref8$minWidth","_ref8$minHeight","context","maxSizes","minSizes","destMaxSizes","destMinSizes","destWidth","destHeight","params","fillStyle","fillRect","save","translate","drawImage","param","getSourceCanvas","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","sourceWidth","sourceHeight","srcX","srcY","setAspectRatio","croppable","AnotherCropper","Cropper","instance","Constructor","_classCallCheck","tagName","reloading","sizing","init","protoProps","staticProps","read","base64","binary","atob","uint8","clone","xhr","XMLHttpRequest","ontimeout","onabort","onerror","onprogress","getResponseHeader","abort","onload","response","onloadend","responseType","withCredentials","send","mimeType","chunks","btoa","arrayBufferToDataURL","_parseOrientation","parseOrientation","stop","parentNode","insertBefore","nextSibling","_this2","IS_SAFARI","navigator","userAgent","done","build","sizingImage","body","removeChild","template","getElementsByClassName","unbuild","aa","nativeName","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","ie","ig","ii","ik","io","is","it","iu","ja","jv","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","src_ISO6391","[object Object]","codes","getName","getNativeName","validate","find","language"],"mappings":"6EAAA,IAAAA,EAAmBC,EAAQ,KAC3BC,EAAgBD,EAAQ,KACxBE,EAAoBF,EAAQ,KAC5BG,EAAsBH,EAAQ,KAC9BI,EAAoBJ,EAAQ,KAC5BK,EAAeL,EAAQ,IAGvBM,EAAA,aAwCAC,EAAAC,QAhBA,SAAAC,EAAAC,EAAAC,GAEA,IADAF,EAAAJ,EAAAI,MACAE,QAAAC,IAAAF,GACA,OAAAD,EAAAI,QAAAP,EAAA,IAEA,IAAAG,KAAAC,EAAAX,EAAAW,IACA,OAAAD,EAEA,IAAAK,EAAAV,EAAAK,GACAM,EAAAX,EAAAM,GACAM,EAAAb,EAAAW,EAAAC,GACAE,EAAAf,EAAAY,EAAAC,GAAA,EAEA,OAAAd,EAAAa,EAAAE,EAAAC,GAAAC,KAAA,0BC7CA,IAAAC,EAAkBnB,EAAQ,KAkB1BO,EAAAC,QAPA,SAAAM,EAAAC,GAGA,IAFA,IAAAK,EAAAN,EAAAO,OAEAD,KAAAD,EAAAJ,EAAAD,EAAAM,GAAA,QACA,OAAAA,wBCfA,IAAAD,EAAkBnB,EAAQ,KAmB1BO,EAAAC,QARA,SAAAM,EAAAC,GAIA,IAHA,IAAAK,GAAA,EACAC,EAAAP,EAAAO,SAEAD,EAAAC,GAAAF,EAAAJ,EAAAD,EAAAM,GAAA,QACA,OAAAA,sCChBA,SAAAE;;;;;;;;;;AAUA,IAAAC,EAAA,oBAAAC,mBAAA,IAAAF,IAAA,oBAAAG,UAAA,GAEA,SAAAC,IACA,UAAAC,MAAA,0EAOA,IAJApB,EAIAqB,GAAA,SAAArB,EAAAC,GACcD,EAAAC,QAAqD,SAAAqB,EAAAC,EAAAC,EAAAC,GAAkB,SAAAC,EAAAC,EAAAC,GAAgB,IAAAJ,EAAAG,GAAA,CAAU,IAAAJ,EAAAI,GAAA,CAAU,IAAAE,EAAAV,EAA0D,IAAAS,GAAAC,EAAA,OAAAA,EAAAF,GAAA,GAAwB,GAAAG,EAAA,OAAAA,EAAAH,GAAA,GAAoB,IAAAI,EAAA,IAAAX,MAAA,uBAAAO,EAAA,KAA8C,MAAAI,EAAAC,KAAA,mBAAAD,EAAkC,IAAAE,EAAAT,EAAAG,GAAA,CAAY1B,QAAA,IAAYsB,EAAAI,GAAA,GAAAO,KAAAD,EAAAhC,QAAA,SAAAqB,GAAmC,IAAAE,EAAAD,EAAAI,GAAA,GAAAL,GAAiB,OAAAI,EAAAF,GAAAF,IAAeW,IAAAhC,QAAAqB,EAAAC,EAAAC,EAAAC,GAAuB,OAAAD,EAAAG,GAAA1B,QAAoB,QAAA6B,EAAAX,EAAAQ,EAAA,EAAkEA,EAAAF,EAAAX,OAAWa,IAAAD,EAAAD,EAAAE,IAAY,OAAAD,EAA9d,CAAgf,CAAKS,EAAA,UAAAC,EAAApC,EAAAC,GAWriB,IAAAoC,EAAAD,EAAA,WAAAC,cAgBApC,EAAAqC,gBAAA,SAAAC,GACA,OAAAA,EAAA,SAOA,IALA,IAAAC,EAAAC,KAAAC,MAAAH,EAAA,KACAI,EAAAN,EAAAE,GACAK,EAAA,MAAAD,EAAA,KAAAF,KAAAI,MAAAF,EAAA,OAAAH,EAAA,IACAM,EAAA,CAAAH,EAAA,GAEAhB,EAAA,EAAiBA,EAAAa,EAAA,EAAkBb,IACnCmB,EAAAnB,GAAAmB,EAAAnB,EAAA,GAAAiB,EAKA,OAFAE,EAAAC,KAAA,GAEAD,EAAAE,WAuBA/C,EAAAgD,aAAA,SAAAV,GAKA,IAJA,IAAAW,EAAA,GACAC,EAAAlD,EAAAqC,gBAAAC,GACAa,EAAAD,EAAArC,OAEAa,EAAA,EAAiBA,EAAAyB,EAAezB,IAChC,QAAA0B,EAAA,EAAmBA,EAAAD,EAAeC,IAElC,IAAA1B,GAAA,IAAA0B,GACA,IAAA1B,GAAA0B,IAAAD,EAAA,GACAzB,IAAAyB,EAAA,OAAAC,GAIAH,EAAAH,KAAA,CAAAI,EAAAxB,GAAAwB,EAAAE,KAIA,OAAAH,IAGC,CAAEI,UAAA,KAAaC,EAAA,UAAAnB,EAAApC,EAAAC,GAChB,IAAAuD,EAAApB,EAAA,UAWAqB,EAAA,CACA,wCACA,oDACA,oDACA,qCAGA,SAAAC,EAAAC,GACAC,KAAAC,KAAAL,EAAAM,aACAF,KAAAD,OAGAD,EAAAK,cAAA,SAAAjD,GACA,UAAA2B,KAAAC,MAAA5B,EAAA,GAAAA,EAAA,KAGA4C,EAAAM,UAAAC,UAAA,WACA,OAAAL,KAAAD,KAAA7C,QAGA4C,EAAAM,UAAAD,cAAA,WACA,OAAAL,EAAAK,cAAAH,KAAAD,KAAA7C,SAGA4C,EAAAM,UAAAE,MAAA,SAAAC,GACA,IAAAxC,EAIA,IAAAA,EAAA,EAAaA,EAAA,GAAAiC,KAAAD,KAAA7C,OAA2Ba,GAAA,GAExC,IAAAyC,EAAA,GAAAX,EAAAY,QAAAT,KAAAD,KAAAhC,IAGAyC,GAAAX,EAAAY,QAAAT,KAAAD,KAAAhC,EAAA,IAGAwC,EAAAG,IAAAF,EAAA,IAKAR,KAAAD,KAAA7C,OAAA,GACAqD,EAAAG,IAAAb,EAAAY,QAAAT,KAAAD,KAAAhC,IAAA,IAIA3B,EAAAC,QAAAyD,GAEC,CAAEa,SAAA,KAAYC,EAAA,UAAApC,EAAApC,EAAAC,GACf,SAAAwE,IACAb,KAAAc,OAAA,GACAd,KAAA9C,OAAA,EAGA2D,EAAAT,UAAA,CAEAW,IAAA,SAAA9D,GACA,IAAA+D,EAAAnC,KAAAC,MAAA7B,EAAA,GACA,WAAA+C,KAAAc,OAAAE,KAAA,EAAA/D,EAAA,MAGAyD,IAAA,SAAAO,EAAA/D,GACA,QAAAa,EAAA,EAAmBA,EAAAb,EAAYa,IAC/BiC,KAAAkB,OAAA,IAAAD,IAAA/D,EAAAa,EAAA,OAIAoD,gBAAA,WACA,OAAAnB,KAAA9C,QAGAgE,OAAA,SAAAE,GACA,IAAAJ,EAAAnC,KAAAC,MAAAkB,KAAA9C,OAAA,GACA8C,KAAAc,OAAA5D,QAAA8D,GACAhB,KAAAc,OAAA3B,KAAA,GAGAiC,IACApB,KAAAc,OAAAE,IAAA,MAAAhB,KAAA9C,OAAA,GAGA8C,KAAA9C,WAIAd,EAAAC,QAAAwE,GAEC,IAAGQ,EAAA,UAAA7C,EAAApC,EAAAC,GACJ,IAAAiF,EAAA9C,EAAA,mBAOA,SAAA+C,EAAAxC,GACA,IAAAA,KAAA,EACA,UAAAvB,MAAA,qDAGAwC,KAAAjB,OACAiB,KAAAD,KAAA,IAAAuB,EAAAvC,KACAiB,KAAAD,KAAAyB,KAAA,GACAxB,KAAAyB,YAAA,IAAAH,EAAAvC,KACAiB,KAAAyB,YAAAD,KAAA,GAYAD,EAAAnB,UAAAsB,IAAA,SAAAC,EAAAC,EAAApB,EAAAqB,GACA,IAAA5E,EAAA0E,EAAA3B,KAAAjB,KAAA6C,EACA5B,KAAAD,KAAA9C,GAAAuD,EACAqB,IAAA7B,KAAAyB,YAAAxE,IAAA,IAUAsE,EAAAnB,UAAAW,IAAA,SAAAY,EAAAC,GACA,OAAA5B,KAAAD,KAAA4B,EAAA3B,KAAAjB,KAAA6C,IAWAL,EAAAnB,UAAA0B,IAAA,SAAAH,EAAAC,EAAApB,GACAR,KAAAD,KAAA4B,EAAA3B,KAAAjB,KAAA6C,IAAApB,GAUAe,EAAAnB,UAAA2B,WAAA,SAAAJ,EAAAC,GACA,OAAA5B,KAAAyB,YAAAE,EAAA3B,KAAAjB,KAAA6C,IAGAxF,EAAAC,QAAAkF,GAEC,CAAES,kBAAA,KAAqBC,EAAA,UAAAzD,EAAApC,EAAAC,GACxB,IAAAiF,EAAA9C,EAAA,mBACAoB,EAAApB,EAAA,UAEA,SAAA0D,EAAAnC,GACAC,KAAAC,KAAAL,EAAAuC,KACAnC,KAAAD,KAAA,IAAAuB,EAAAvB,GAGAmC,EAAA/B,cAAA,SAAAjD,GACA,SAAAA,GAGAgF,EAAA9B,UAAAC,UAAA,WACA,OAAAL,KAAAD,KAAA7C,QAGAgF,EAAA9B,UAAAD,cAAA,WACA,OAAA+B,EAAA/B,cAAAH,KAAAD,KAAA7C,SAGAgF,EAAA9B,UAAAE,MAAA,SAAAC,GACA,QAAAxC,EAAA,EAAAqE,EAAApC,KAAAD,KAAA7C,OAAuCa,EAAAqE,EAAOrE,IAC9CwC,EAAAG,IAAAV,KAAAD,KAAAhC,GAAA,IAIA3B,EAAAC,QAAA6F,GAEC,CAAEF,kBAAA,GAAArB,SAAA,KAAiC0B,EAAA,UAAA7D,EAAApC,EAAAC,GACpC,IAAAiG,EAAA9D,EAAA,4BAEA+D,EAAA,CAEA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,aAGAC,EAAA,CAEA,WACA,YACA,YACA,YACA,YACA,aACA,cACA,cACA,eACA,eACA,eACA,eACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBACA,iBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBAWAnG,EAAAoG,eAAA,SAAA9D,EAAA+D,GACA,OAAAA,GACA,KAAAJ,EAAAK,EACA,OAAAJ,EAAA,GAAA5D,EAAA,MACA,KAAA2D,EAAAM,EACA,OAAAL,EAAA,GAAA5D,EAAA,MACA,KAAA2D,EAAAO,EACA,OAAAN,EAAA,GAAA5D,EAAA,MACA,KAAA2D,EAAAQ,EACA,OAAAP,EAAA,GAAA5D,EAAA,MACA,QACA,SAYAtC,EAAA0G,uBAAA,SAAApE,EAAA+D,GACA,OAAAA,GACA,KAAAJ,EAAAK,EACA,OAAAH,EAAA,GAAA7D,EAAA,MACA,KAAA2D,EAAAM,EACA,OAAAJ,EAAA,GAAA7D,EAAA,MACA,KAAA2D,EAAAO,EACA,OAAAL,EAAA,GAAA7D,EAAA,MACA,KAAA2D,EAAAQ,EACA,OAAAN,EAAA,GAAA7D,EAAA,MACA,QACA,UAIC,CAAEqE,2BAAA,IAA6BC,EAAA,UAAAzE,EAAApC,EAAAC,GAChCA,EAAAsG,EAAA,CAAavB,IAAA,GACb/E,EAAAuG,EAAA,CAAaxB,IAAA,GACb/E,EAAAwG,EAAA,CAAazB,IAAA,GACb/E,EAAAyG,EAAA,CAAa1B,IAAA,GA+Bb/E,EAAA6G,QAAA,SAAAC,GACA,OAAAA,QAAA,IAAAA,EAAA/B,KACA+B,EAAA/B,KAAA,GAAA+B,EAAA/B,IAAA,GAGA/E,EAAA+G,KAAA,SAAA5C,EAAA6C,GACA,GAAAhH,EAAA6G,QAAA1C,GACA,OAAAA,EAGA,IACA,OAxCA,SAAAlE,GACA,oBAAAA,EACA,UAAAkB,MAAA,yBAKA,OAFAlB,EAAAgH,eAGA,QACA,UACA,OAAAjH,EAAAsG,EAEA,QACA,aACA,OAAAtG,EAAAuG,EAEA,QACA,eACA,OAAAvG,EAAAwG,EAEA,QACA,WACA,OAAAxG,EAAAyG,EAEA,QACA,UAAAtF,MAAA,qBAAAlB,IAeAiH,CAAA/C,GACG,MAAA7C,GACH,OAAA0F,KAIC,IAAGG,EAAA,UAAAhF,EAAApC,EAAAC,GACJ,IAAAoC,EAAAD,EAAA,WAAAC,cAUApC,EAAAgD,aAAA,SAAAV,GACA,IAAAI,EAAAN,EAAAE,GAEA,OAEA,MAEA,CAAAI,EAhBA,EAgBA,GAEA,GAAAA,EAlBA,MAsBC,CAAEW,UAAA,KAAa+D,EAAA,UAAAjF,EAAApC,EAAAC,GAChB,IAAAqH,EAAAlF,EAAA,WAIAmF,EAAAD,EAAAE,YAFA,MAcAvH,EAAAwH,eAAA,SAAAnB,EAAAoB,GAIA,IAHA,IAAA/D,EAAA2C,EAAAtB,KAAA,EAAA0C,EACAC,EAAAhE,GAAA,GAEA2D,EAAAE,YAAAG,GAAAJ,GAAA,GACAI,GAnBA,MAmBAL,EAAAE,YAAAG,GAAAJ,EAMA,OAxBA,OAwBA5D,GAAA,GAAAgE,KAGC,CAAErE,UAAA,KAAasE,GAAA,UAAAxF,EAAApC,EAAAC,GAChB,IAAAiF,EAAA9C,EAAA,mBAEAyF,EAAA,IAAA3C,EAAA,KACA4C,EAAA,IAAA5C,EAAA,MAUC,WAED,IADA,IAAA6C,EAAA,EACApG,EAAA,EAAiBA,EAAA,IAASA,IAC1BkG,EAAAlG,GAAAoG,EACAD,EAAAC,GAAApG,EAMA,KAJAoG,IAAA,KAKAA,GAAA,KAQA,IAAApG,EAAA,IAAeA,EAAA,IAASA,IACxBkG,EAAAlG,GAAAkG,EAAAlG,EAAA,KApBC,GA8BD1B,EAAA+H,IAAA,SAAAxG,GACA,GAAAA,EAAA,YAAAJ,MAAA,OAAAI,EAAA,KACA,OAAAsG,EAAAtG,IASAvB,EAAAgI,IAAA,SAAAzG,GACA,OAAAqG,EAAArG,IAUAvB,EAAAiI,IAAA,SAAAH,EAAAI,GACA,WAAAJ,GAAA,IAAAI,EAAA,EAIAN,EAAAC,EAAAC,GAAAD,EAAAK,MAGC,CAAEvC,kBAAA,KAAqBwC,GAAA,UAAAhG,EAAApC,EAAAC,GACxB,IAAAuD,EAAApB,EAAA,UACAkF,EAAAlF,EAAA,WAEA,SAAAiG,EAAA1E,GACAC,KAAAC,KAAAL,EAAA8E,MACA1E,KAAAD,OAGA0E,EAAAtE,cAAA,SAAAjD,GACA,UAAAA,GAGAuH,EAAArE,UAAAC,UAAA,WACA,OAAAL,KAAAD,KAAA7C,QAGAuH,EAAArE,UAAAD,cAAA,WACA,OAAAsE,EAAAtE,cAAAH,KAAAD,KAAA7C,SAGAuH,EAAArE,UAAAE,MAAA,SAAAC,GACA,IAAAxC,EAKA,IAAAA,EAAA,EAAaA,EAAAiC,KAAAD,KAAA7C,OAAsBa,IAAA,CACnC,IAAAyC,EAAAkD,EAAAiB,OAAA3E,KAAAD,KAAAhC,IAGA,GAAAyC,GAAA,OAAAA,GAAA,MAEAA,GAAA,UAGK,MAAAA,GAAA,OAAAA,GAAA,OAIL,UAAAhD,MACA,2BAAAwC,KAAAD,KAAAhC,GAAA,qCAHAyC,GAAA,MASAA,EAAA,KAAAA,IAAA,YAAAA,GAGAD,EAAAG,IAAAF,EAAA,MAIApE,EAAAC,QAAAoI,GAEC,CAAE9D,SAAA,GAAAjB,UAAA,KAAyBkF,GAAA,UAAApG,EAAApC,EAAAC,GAK5BA,EAAAwI,SAAA,CACAC,WAAA,EACAC,WAAA,EACAC,WAAA,EACAC,WAAA,EACAC,WAAA,EACAC,WAAA,EACAC,WAAA,EACAC,WAAA,GAOA,IAAAC,EAAA,CACAC,GAAA,EACAC,GAAA,EACAC,GAAA,GACAC,GAAA,IAkJA,SAAAC,EAAAC,EAAA7H,EAAA0B,GACA,OAAAmG,GACA,KAAAvJ,EAAAwI,SAAAC,WAAA,OAAA/G,EAAA0B,GAAA,KACA,KAAApD,EAAAwI,SAAAE,WAAA,OAAAhH,EAAA,KACA,KAAA1B,EAAAwI,SAAAG,WAAA,OAAAvF,EAAA,KACA,KAAApD,EAAAwI,SAAAI,WAAA,OAAAlH,EAAA0B,GAAA,KACA,KAAApD,EAAAwI,SAAAK,WAAA,OAAArG,KAAAC,MAAAf,EAAA,GAAAc,KAAAC,MAAAW,EAAA,SACA,KAAApD,EAAAwI,SAAAM,WAAA,OAAApH,EAAA0B,EAAA,EAAA1B,EAAA0B,EAAA,KACA,KAAApD,EAAAwI,SAAAO,WAAA,OAAArH,EAAA0B,EAAA,EAAA1B,EAAA0B,EAAA,QACA,KAAApD,EAAAwI,SAAAQ,WAAA,OAAAtH,EAAA0B,EAAA,GAAA1B,EAAA0B,GAAA,QAEA,kBAAAjC,MAAA,mBAAAoI,IApJAvJ,EAAA6G,QAAA,SAAAY,GACA,aAAAA,GAAA,KAAAA,IAAA+B,MAAA/B,OAAA,GAAAA,GAAA,GAUAzH,EAAA+G,KAAA,SAAA5C,GACA,OAAAnE,EAAA6G,QAAA1C,GAAAsF,SAAAtF,EAAA,SAAA/D,GAUAJ,EAAA0J,aAAA,SAAAhG,GAQA,IAPA,IAAAhB,EAAAgB,EAAAhB,KACAiH,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,KACAC,EAAA,KAEAzE,EAAA,EAAmBA,EAAA5C,EAAY4C,IAAA,CAC/BsE,EAAAC,EAAA,EACAC,EAAAC,EAAA,KAEA,QAAAxE,EAAA,EAAqBA,EAAA7C,EAAY6C,IAAA,CACjC,IAAAxF,EAAA2D,EAAAgB,IAAAY,EAAAC,GACAxF,IAAA+J,EACAF,KAEAA,GAAA,IAAAD,GAAAV,EAAAC,IAAAU,EAAA,IACAE,EAAA/J,EACA6J,EAAA,IAGA7J,EAAA2D,EAAAgB,IAAAa,EAAAD,MACAyE,EACAF,KAEAA,GAAA,IAAAF,GAAAV,EAAAC,IAAAW,EAAA,IACAE,EAAAhK,EACA8J,EAAA,GAIAD,GAAA,IAAAD,GAAAV,EAAAC,IAAAU,EAAA,IACAC,GAAA,IAAAF,GAAAV,EAAAC,IAAAW,EAAA,IAGA,OAAAF,GAQA3J,EAAAgK,aAAA,SAAAtG,GAIA,IAHA,IAAAhB,EAAAgB,EAAAhB,KACAiH,EAAA,EAEArE,EAAA,EAAmBA,EAAA5C,EAAA,EAAgB4C,IACnC,QAAAC,EAAA,EAAqBA,EAAA7C,EAAA,EAAgB6C,IAAA,CACrC,IAAA0E,EAAAvG,EAAAgB,IAAAY,EAAAC,GACA7B,EAAAgB,IAAAY,EAAAC,EAAA,GACA7B,EAAAgB,IAAAY,EAAA,EAAAC,GACA7B,EAAAgB,IAAAY,EAAA,EAAAC,EAAA,GAEA,IAAA0E,GAAA,IAAAA,GAAAN,IAIA,OAAAA,EAAAV,EAAAE,IASAnJ,EAAAkK,aAAA,SAAAxG,GAMA,IALA,IAAAhB,EAAAgB,EAAAhB,KACAiH,EAAA,EACAQ,EAAA,EACAC,EAAA,EAEA9E,EAAA,EAAmBA,EAAA5C,EAAY4C,IAAA,CAC/B6E,EAAAC,EAAA,EACA,QAAA7E,EAAA,EAAqBA,EAAA7C,EAAY6C,IACjC4E,KAAA,OAAAzG,EAAAgB,IAAAY,EAAAC,GACAA,GAAA,YAAA4E,GAAA,KAAAA,IAAAR,IAEAS,KAAA,OAAA1G,EAAAgB,IAAAa,EAAAD,GACAC,GAAA,YAAA6E,GAAA,KAAAA,IAAAT,IAIA,OAAAA,EAAAV,EAAAG,IAWApJ,EAAAqK,aAAA,SAAA3G,GAIA,IAHA,IAAA4G,EAAA,EACAC,EAAA7G,OAAA7C,OAEAa,EAAA,EAAiBA,EAAA6I,EAAkB7I,IAAA4I,GAAA5G,OAAAhC,GAEnC,IAAA8I,EAAAhI,KAAAiI,IAAAjI,KAAAI,KAAA,IAAA0H,EAAAC,EAAA,OAEA,OAAAC,EAAAvB,EAAAI,IAgCArJ,EAAA0K,UAAA,SAAAC,EAAAjH,GAGA,IAFA,IAAAhB,EAAAgB,EAAAhB,KAEA6C,EAAA,EAAmBA,EAAA7C,EAAY6C,IAC/B,QAAAD,EAAA,EAAqBA,EAAA5C,EAAY4C,IACjC5B,EAAAgC,WAAAJ,EAAAC,IACA7B,EAAA+B,IAAAH,EAAAC,EAAA+D,EAAAqB,EAAArF,EAAAC,KAWAvF,EAAA4K,YAAA,SAAAlH,EAAAmH,GAKA,IAJA,IAAAC,EAAAC,OAAAC,KAAAhL,EAAAwI,UAAA3H,OACAoK,EAAA,EACAC,EAAAC,IAEAnJ,EAAA,EAAiBA,EAAA8I,EAAiB9I,IAAA,CAClC6I,EAAA7I,GACAhC,EAAA0K,UAAA1I,EAAA0B,GAGA,IAAA0H,EACApL,EAAA0J,aAAAhG,GACA1D,EAAAgK,aAAAtG,GACA1D,EAAAkK,aAAAxG,GACA1D,EAAAqK,aAAA3G,GAGA1D,EAAA0K,UAAA1I,EAAA0B,GAEA0H,EAAAF,IACAA,EAAAE,EACAH,EAAAjJ,GAIA,OAAAiJ,IAGC,IAAGI,GAAA,UAAAlJ,EAAApC,EAAAC,GACJ,IAAAsL,EAAAnJ,EAAA,mBACAoJ,EAAApJ,EAAA,WASAnC,EAAAwL,QAAA,CACAC,GAAA,UACA1G,IAAA,EACA2G,OAAA,YAYA1L,EAAA6D,aAAA,CACA4H,GAAA,eACA1G,IAAA,EACA2G,OAAA,WAQA1L,EAAA8F,KAAA,CACA2F,GAAA,OACA1G,IAAA,EACA2G,OAAA,WAYA1L,EAAAqI,MAAA,CACAoD,GAAA,QACA1G,IAAA,EACA2G,OAAA,WASA1L,EAAA2L,MAAA,CACA5G,KAAA,GAWA/E,EAAA4L,sBAAA,SAAAhI,EAAAtB,GACA,IAAAsB,EAAA8H,OAAA,UAAAvK,MAAA,iBAAAyC,GAEA,IAAA0H,EAAAzE,QAAAvE,GACA,UAAAnB,MAAA,oBAAAmB,GAGA,OAAAA,GAAA,GAAAA,EAAA,GAAAsB,EAAA8H,OAAA,GACApJ,EAAA,GAAAsB,EAAA8H,OAAA,GACA9H,EAAA8H,OAAA,IASA1L,EAAA6L,mBAAA,SAAAC,GACA,OAAAP,EAAAQ,YAAAD,GAAA9L,EAAAwL,QACAD,EAAAS,iBAAAF,GAAA9L,EAAA6D,aACA0H,EAAAU,UAAAH,GAAA9L,EAAAqI,MACArI,EAAA8F,MASA9F,EAAAH,SAAA,SAAA+D,GACA,GAAAA,KAAA6H,GAAA,OAAA7H,EAAA6H,GACA,UAAAtK,MAAA,iBASAnB,EAAA6G,QAAA,SAAAjD,GACA,OAAAA,KAAAmB,KAAAnB,EAAA8H,QAsCA1L,EAAA+G,KAAA,SAAA5C,EAAA6C,GACA,GAAAhH,EAAA6G,QAAA1C,GACA,OAAAA,EAGA,IACA,OAnCA,SAAAlE,GACA,oBAAAA,EACA,UAAAkB,MAAA,yBAKA,OAFAlB,EAAAgH,eAGA,cACA,OAAAjH,EAAAwL,QACA,mBACA,OAAAxL,EAAA6D,aACA,YACA,OAAA7D,EAAAqI,MACA,WACA,OAAArI,EAAA8F,KACA,QACA,UAAA3E,MAAA,iBAAAlB,IAkBAiH,CAAA/C,GACG,MAAA7C,GACH,OAAA0F,KAIC,CAAEkF,UAAA,GAAAC,kBAAA,KAAkCC,GAAA,UAAAjK,EAAApC,EAAAC,GACrC,IAAAuD,EAAApB,EAAA,UAEA,SAAAkK,EAAA3I,GACAC,KAAAC,KAAAL,EAAAiI,QACA7H,KAAAD,OAAA7D,WAGAwM,EAAAvI,cAAA,SAAAjD,GACA,UAAA2B,KAAAC,MAAA5B,EAAA,IAAAA,EAAA,EAAAA,EAAA,UAGAwL,EAAAtI,UAAAC,UAAA,WACA,OAAAL,KAAAD,KAAA7C,QAGAwL,EAAAtI,UAAAD,cAAA,WACA,OAAAuI,EAAAvI,cAAAH,KAAAD,KAAA7C,SAGAwL,EAAAtI,UAAAE,MAAA,SAAAC,GACA,IAAAxC,EAAA4K,EAAAnI,EAIA,IAAAzC,EAAA,EAAaA,EAAA,GAAAiC,KAAAD,KAAA7C,OAA2Ba,GAAA,EACxC4K,EAAA3I,KAAAD,KAAA6I,OAAA7K,EAAA,GACAyC,EAAAsF,SAAA6C,EAAA,IAEApI,EAAAG,IAAAF,EAAA,IAKA,IAAAqI,EAAA7I,KAAAD,KAAA7C,OAAAa,EACA8K,EAAA,IACAF,EAAA3I,KAAAD,KAAA6I,OAAA7K,GACAyC,EAAAsF,SAAA6C,EAAA,IAEApI,EAAAG,IAAAF,EAAA,EAAAqI,EAAA,KAIAzM,EAAAC,QAAAqM,GAEC,CAAE/H,SAAA,KAAYmI,GAAA,UAAAtK,EAAApC,EAAAC,GACf,IAAAiF,EAAA9C,EAAA,mBACAuK,EAAAvK,EAAA,kBASAnC,EAAAiI,IAAA,SAAA0E,EAAAC,GACA,IAAAC,EAAA,IAAA5H,EAAA0H,EAAA9L,OAAA+L,EAAA/L,OAAA,GACAgM,EAAA1H,KAAA,GAEA,QAAAzD,EAAA,EAAiBA,EAAAiL,EAAA9L,OAAea,IAChC,QAAA0B,EAAA,EAAmBA,EAAAwJ,EAAA/L,OAAeuC,IAClCyJ,EAAAnL,EAAA0B,IAAAsJ,EAAAzE,IAAA0E,EAAAjL,GAAAkL,EAAAxJ,IAIA,OAAAyJ,GAUA7M,EAAA8M,IAAA,SAAAC,EAAAC,GAGA,IAFA,IAAAC,EAAA,IAAAhI,EAAA8H,GAEAE,EAAApM,OAAAmM,EAAAnM,QAAA,IAGA,IAFA,IAAAgM,EAAAI,EAAA,GAEAvL,EAAA,EAAmBA,EAAAsL,EAAAnM,OAAoBa,IACvCuL,EAAAvL,IAAAgL,EAAAzE,IAAA+E,EAAAtL,GAAAmL,GAKA,IADA,IAAAK,EAAA,EACAA,EAAAD,EAAApM,QAAA,IAAAoM,EAAAC,QACAD,IAAAE,MAAAD,GAGA,OAAAD,GAUAjN,EAAAoN,qBAAA,SAAAC,GAEA,IADA,IAAAC,EAAA,IAAArI,EAAA,KACAvD,EAAA,EAAiBA,EAAA2L,EAAY3L,IAC7B4L,EAAAtN,EAAAiI,IAAAqF,EAAA,GAAAZ,EAAA1E,IAAAtG,KAGA,OAAA4L,IAGC,CAAE3H,kBAAA,GAAA4H,iBAAA,KAAyCC,GAAA,UAAArL,EAAApC,EAAAC,GAC5C,IAAAiF,EAAA9C,EAAA,mBACAkF,EAAAlF,EAAA,WACA8D,EAAA9D,EAAA,4BACAqC,EAAArC,EAAA,gBACA+C,EAAA/C,EAAA,gBACAsL,EAAAtL,EAAA,uBACAuL,EAAAvL,EAAA,oBACAwL,EAAAxL,EAAA,kBACAyL,EAAAzL,EAAA,2BACA0L,EAAA1L,EAAA,0BACA2L,EAAA3L,EAAA,aACA4L,EAAA5L,EAAA,iBACAoB,EAAApB,EAAA,UACA6L,EAAA7L,EAAA,cACA8L,EAAA9L,EAAA,WAqIA,SAAA+L,EAAAC,EAAA9H,EAAAkD,GACA,IAEA7H,EAAAoL,EAFApK,EAAAyL,EAAAzL,KACA0L,EAAAL,EAAAvG,eAAAnB,EAAAkD,GAGA,IAAA7H,EAAA,EAAaA,EAAA,GAAQA,IACrBoL,EAAA,IAAAsB,GAAA1M,EAAA,GAGAA,EAAA,EACAyM,EAAA9I,IAAA3D,EAAA,EAAAoL,GAAA,GACKpL,EAAA,EACLyM,EAAA9I,IAAA3D,EAAA,IAAAoL,GAAA,GAEAqB,EAAA9I,IAAA3C,EAAA,GAAAhB,EAAA,EAAAoL,GAAA,GAIApL,EAAA,EACAyM,EAAA9I,IAAA,EAAA3C,EAAAhB,EAAA,EAAAoL,GAAA,GACKpL,EAAA,EACLyM,EAAA9I,IAAA,KAAA3D,EAAA,IAAAoL,GAAA,GAEAqB,EAAA9I,IAAA,KAAA3D,EAAA,EAAAoL,GAAA,GAKAqB,EAAA9I,IAAA3C,EAAA,UAyDA,SAAA2L,EAAA/L,EAAA+D,EAAAiI,GAEA,IAAA7J,EAAA,IAAAD,EAEA8J,EAAAC,QAAA,SAAA7K,GAEAe,EAAAJ,IAAAX,EAAAE,KAAAmB,IAAA,GASAN,EAAAJ,IAAAX,EAAAM,YAAAT,EAAAqI,sBAAAlI,EAAAE,KAAAtB,IAGAoB,EAAAO,MAAAQ,KAIA,IAAA+J,EAAAnH,EAAAoH,wBAAAnM,GACAoM,EAAAd,EAAAlH,uBAAApE,EAAA+D,GACAsI,EAAA,GAAAH,EAAAE,GAgBA,IATAjK,EAAAK,kBAAA,GAAA6J,GACAlK,EAAAJ,IAAA,KAQAI,EAAAK,kBAAA,MACAL,EAAAI,OAAA,GAQA,IADA,IAAA+J,GAAAD,EAAAlK,EAAAK,mBAAA,EACApD,EAAA,EAAiBA,EAAAkN,EAAmBlN,IACpC+C,EAAAJ,IAAA3C,EAAA,YAGA,OAYA,SAAAwC,EAAA5B,EAAA+D,GAmCA,IAjCA,IAAAmI,EAAAnH,EAAAoH,wBAAAnM,GAGAoM,EAAAd,EAAAlH,uBAAApE,EAAA+D,GAGAwI,EAAAL,EAAAE,EAGAI,EAAAlB,EAAAxH,eAAA9D,EAAA+D,GAIA0I,EAAAD,EADAN,EAAAM,EAGAE,EAAAxM,KAAAC,MAAA+L,EAAAM,GAEAG,EAAAzM,KAAAC,MAAAoM,EAAAC,GACAI,EAAAD,EAAA,EAGAE,EAAAH,EAAAC,EAGAG,EAAA,IAAAvB,EAAAsB,GAEAjC,EAAA,EACAmC,EAAA,IAAAC,MAAAR,GACAS,EAAA,IAAAD,MAAAR,GACAU,EAAA,EACA/K,EAAA,IAAAQ,EAAAf,EAAAO,QAGAgL,EAAA,EAAiBA,EAAAX,EAAmBW,IAAA,CACpC,IAAAC,EAAAD,EAAAV,EAAAE,EAAAC,EAGAG,EAAAI,GAAAhL,EAAA0I,MAAAD,IAAAwC,GAGAH,EAAAE,GAAAL,EAAAO,OAAAN,EAAAI,IAEAvC,GAAAwC,EACAF,EAAAhN,KAAAoN,IAAAJ,EAAAE,GAKA,IAEAhO,EAAAL,EAFAqC,EAAA,IAAAuB,EAAAuJ,GACA5N,EAAA,EAIA,IAAAc,EAAA,EAAaA,EAAA8N,EAAiB9N,IAC9B,IAAAL,EAAA,EAAeA,EAAAyN,EAAmBzN,IAClCK,EAAA2N,EAAAhO,GAAAR,SACA6C,EAAA9C,KAAAyO,EAAAhO,GAAAK,IAMA,IAAAA,EAAA,EAAaA,EAAAyN,EAAazN,IAC1B,IAAAL,EAAA,EAAeA,EAAAyN,EAAmBzN,IAClCqC,EAAA9C,KAAA2O,EAAAlO,GAAAK,GAIA,OAAAgC,EAlFAmM,CAAApL,EAAAnC,EAAA+D,GA8FA,SAAAyJ,EAAApM,EAAApB,EAAA+D,EAAAkD,GACA,IAAA+E,EAEA,GAAAL,EAAAvK,GACA4K,EAAAN,EAAA+B,UAAArM,OACG,qBAAAA,EAeH,UAAAvC,MAAA,gBAdA,IAAA6O,EAAA1N,EAEA,IAAA0N,EAAA,CACA,IAAAC,EAAAjC,EAAAkC,SAAAxM,GAGAsM,EAAAlC,EAAAqC,sBAAAF,EACA5J,GAKAiI,EAAAN,EAAA9G,WAAAxD,EAAAsM,GAAA,IAMA,IAAAI,EAAAtC,EAAAqC,sBAAA7B,EACAjI,GAGA,IAAA+J,EACA,UAAAjP,MAAA,2DAIA,GAAAmB,GAIG,GAAAA,EAAA8N,EACH,UAAAjP,MAAA,wHAEAiP,EAAA,YANA9N,EAAA8N,EAUA,IAAAC,EAAAhC,EAAA/L,EAAA+D,EAAAiI,GAGAgC,EAAAjJ,EAAAjF,cAAAE,GACAiO,EAAA,IAAArL,EAAAoL,GAgCA,OA3ZA,SAAAnC,EAAA7L,GAIA,IAHA,IAAAI,EAAAyL,EAAAzL,KACAQ,EAAAwK,EAAA1K,aAAAV,GAEAZ,EAAA,EAAiBA,EAAAwB,EAAArC,OAAgBa,IAIjC,IAHA,IAAA4D,EAAApC,EAAAxB,GAAA,GACA6D,EAAArC,EAAAxB,GAAA,GAEAL,GAAA,EAAoBA,GAAA,EAAQA,IAC5B,KAAAiE,EAAAjE,IAAA,GAAAqB,GAAA4C,EAAAjE,GAEA,QAAAO,GAAA,EAAsBA,GAAA,EAAQA,IAC9B2D,EAAA3D,IAAA,GAAAc,GAAA6C,EAAA3D,IAEAP,GAAA,GAAAA,GAAA,QAAAO,GAAA,IAAAA,IACAA,GAAA,GAAAA,GAAA,QAAAP,GAAA,IAAAA,IACAA,GAAA,GAAAA,GAAA,GAAAO,GAAA,GAAAA,GAAA,EACAuM,EAAA9I,IAAAC,EAAAjE,EAAAkE,EAAA3D,GAAA,MAEAuM,EAAA9I,IAAAC,EAAAjE,EAAAkE,EAAA3D,GAAA,OA2WA4O,CAAAD,EAAAjO,GA7VA,SAAA6L,GAGA,IAFA,IAAAzL,EAAAyL,EAAAzL,KAEArB,EAAA,EAAiBA,EAAAqB,EAAA,EAAcrB,IAAA,CAC/B,IAAA8C,EAAA9C,EAAA,KACA8M,EAAA9I,IAAAhE,EAAA,EAAA8C,GAAA,GACAgK,EAAA9I,IAAA,EAAAhE,EAAA8C,GAAA,IAwVAsM,CAAAF,GA5UA,SAAApC,EAAA7L,GAGA,IAFA,IAAAY,EAAAuK,EAAAzK,aAAAV,GAEAZ,EAAA,EAAiBA,EAAAwB,EAAArC,OAAgBa,IAIjC,IAHA,IAAA4D,EAAApC,EAAAxB,GAAA,GACA6D,EAAArC,EAAAxB,GAAA,GAEAL,GAAA,EAAoBA,GAAA,EAAQA,IAC5B,QAAAO,GAAA,EAAsBA,GAAA,EAAQA,KAC9B,IAAAP,GAAA,IAAAA,IAAA,IAAAO,GAAA,IAAAA,GACA,IAAAP,GAAA,IAAAO,EACAuM,EAAA9I,IAAAC,EAAAjE,EAAAkE,EAAA3D,GAAA,MAEAuM,EAAA9I,IAAAC,EAAAjE,EAAAkE,EAAA3D,GAAA,MAgUA8O,CAAAH,EAAAjO,GAMA4L,EAAAqC,EAAAlK,EAAA,GAEA/D,GAAA,GA3TA,SAAA6L,EAAA7L,GAKA,IAJA,IAEAgD,EAAAC,EAAAuH,EAFApK,EAAAyL,EAAAzL,KACA0L,EAAAN,EAAAtG,eAAAlF,GAGAZ,EAAA,EAAiBA,EAAA,GAAQA,IACzB4D,EAAA9C,KAAAC,MAAAf,EAAA,GACA6D,EAAA7D,EAAA,EAAAgB,EAAA,IACAoK,EAAA,IAAAsB,GAAA1M,EAAA,GAEAyM,EAAA9I,IAAAC,EAAAC,EAAAuH,GAAA,GACAqB,EAAA9I,IAAAE,EAAAD,EAAAwH,GAAA,GAiTA6D,CAAAJ,EAAAjO,GAjQA,SAAA6L,EAAAzK,GAOA,IANA,IAAAhB,EAAAyL,EAAAzL,KACAkO,GAAA,EACAtL,EAAA5C,EAAA,EACAmO,EAAA,EACAC,EAAA,EAEAvL,EAAA7C,EAAA,EAA0B6C,EAAA,EAASA,GAAA,EAGnC,IAFA,IAAAA,SAEA,CACA,QAAA3D,EAAA,EAAqBA,EAAA,EAAOA,IAC5B,IAAAuM,EAAAzI,WAAAJ,EAAAC,EAAA3D,GAAA,CACA,IAAAmP,GAAA,EAEAD,EAAApN,EAAA7C,SACAkQ,EAAA,IAAArN,EAAAoN,KAAAD,EAAA,IAGA1C,EAAA9I,IAAAC,EAAAC,EAAA3D,EAAAmP,IAGA,KAFAF,IAGAC,IACAD,EAAA,GAOA,IAFAvL,GAAAsL,GAEA,GAAAlO,GAAA4C,EAAA,CACAA,GAAAsL,EACAA,KACA,QAmOAI,CAAAT,EAAAF,GAEA7G,MAAAD,KAEAA,EAAAoE,EAAA/C,YAAA2F,EACArC,EAAA+C,KAAA,KAAAV,EAAAlK,KAIAsH,EAAAjD,UAAAnB,EAAAgH,GAGArC,EAAAqC,EAAAlK,EAAAkD,GAEA,CACAgH,UACAjO,UACA+D,uBACAkD,cACA+E,YAaAtO,EAAAkR,OAAA,SAAAxN,EAAAyN,GACA,YAAAzN,GAAA,KAAAA,EACA,UAAAvC,MAAA,iBAGA,IACAmB,EACAmF,EAFApB,EAAAJ,EAAAM,EAeA,YAXA,IAAA4K,IAEA9K,EAAAJ,EAAAc,KAAAoK,EAAA9K,qBAAAJ,EAAAM,GACAjE,EAAAwL,EAAA/G,KAAAoK,EAAA7O,SACAmF,EAAAkG,EAAA5G,KAAAoK,EAAA5H,aAEA4H,EAAAC,YACA/J,EAAAgK,kBAAAF,EAAAC,aAIAtB,EAAApM,EAAApB,EAAA+D,EAAAoB,KAGC,CAAE9B,kBAAA,GAAA2L,sBAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,0BAAA,EAAA9K,2BAAA,EAAA+K,mBAAA,EAAAC,gBAAA,EAAAC,iBAAA,GAAAtN,SAAA,GAAAuN,yBAAA,GAAAC,aAAA,GAAAzO,UAAA,GAAA0O,YAAA,GAAAC,QAAA,KAAoSC,GAAA,UAAA9P,EAAApC,EAAAC,GACvS,IAAAiF,EAAA9C,EAAA,mBACA+P,EAAA/P,EAAA,gBAEA,SAAA0L,EAAAR,GACA1J,KAAAwO,aAAA/R,EACAuD,KAAA0J,SAEA1J,KAAA0J,QAAA1J,KAAAyO,WAAAzO,KAAA0J,QASAQ,EAAA9J,UAAAqO,WAAA,SAAA/E,GAEA1J,KAAA0J,SACA1J,KAAAwO,QAAAD,EAAA9E,qBAAAzJ,KAAA0J,SASAQ,EAAA9J,UAAA4L,OAAA,SAAAjM,GACA,IAAAC,KAAAwO,QACA,UAAAhR,MAAA,2BAKA,IAAAkR,EAAA,IAAApN,EAAAtB,KAAA0J,QACAgF,EAAAlN,KAAA,GACA,IAAAmN,EAAArN,EAAAsN,OAAA,CAAA7O,EAAA2O,GAAA3O,EAAA7C,OAAA8C,KAAA0J,QAIAmF,EAAAN,EAAApF,IAAAwF,EAAA3O,KAAAwO,SAKA3R,EAAAmD,KAAA0J,OAAAmF,EAAA3R,OACA,GAAAL,EAAA,GACA,IAAAiS,EAAA,IAAAxN,EAAAtB,KAAA0J,QAIA,OAHAoF,EAAAtN,KAAA,GACAqN,EAAAE,KAAAD,EAAAjS,GAEAiS,EAGA,OAAAD,GAGAzS,EAAAC,QAAA6N,GAEC,CAAElI,kBAAA,GAAAgN,eAAA,KAAuCC,GAAA,UAAAzQ,EAAApC,EAAAC,GAC1C,IAEA6S,EAAA,mNAMAC,EAAA,8BAFAD,IAAAxS,QAAA,aAEA,kBAEAL,EAAAqI,MAAA,IAAA0K,OAAAF,EAAA,KACA7S,EAAAgT,WAAA,IAAAD,OAAA,6BACA/S,EAAA8F,KAAA,IAAAiN,OAAAD,EAAA,KACA9S,EAAAwL,QAAA,IAAAuH,OAbA,SAaA,KACA/S,EAAA6D,aAAA,IAAAkP,OAbA,oBAaA,KAEA,IAAAE,EAAA,IAAAF,OAAA,IAAAF,EAAA,KACAK,EAAA,IAAAH,OAAA,YACAI,EAAA,IAAAJ,OAAA,0BAEA/S,EAAAiM,UAAA,SAAAmH,GACA,OAAAH,EAAAI,KAAAD,IAGApT,EAAA+L,YAAA,SAAAqH,GACA,OAAAF,EAAAG,KAAAD,IAGApT,EAAAgM,iBAAA,SAAAoH,GACA,OAAAD,EAAAE,KAAAD,KAGC,IAAGE,GAAA,UAAAnR,EAAApC,EAAAC,GACJ,IAAAuD,EAAApB,EAAA,UACAkK,EAAAlK,EAAA,kBACAsB,EAAAtB,EAAA,uBACA0D,EAAA1D,EAAA,eACAiG,EAAAjG,EAAA,gBACAoJ,EAAApJ,EAAA,WACAkF,EAAAlF,EAAA,WACAoR,EAAApR,EAAA,cAQA,SAAAqR,EAAAJ,GACA,OAAAK,SAAAC,mBAAAN,IAAAvS,OAWA,SAAA8S,EAAAC,EAAAhQ,EAAAwP,GAIA,IAHA,IACAnG,EADAqB,EAAA,GAGA,QAAArB,EAAA2G,EAAAC,KAAAT,KACA9E,EAAAxL,KAAA,CACAY,KAAAuJ,EAAA,GACArM,MAAAqM,EAAArM,MACAgD,OACA/C,OAAAoM,EAAA,GAAApM,SAIA,OAAAyN,EAUA,SAAAwF,EAAAhI,GACA,IAEAiI,EACAC,EAHAC,EAAAN,EAAApI,EAAAC,QAAAjI,EAAAiI,QAAAM,GACAoI,EAAAP,EAAApI,EAAA1H,aAAAN,EAAAM,aAAAiI,GAIAzE,EAAA8M,sBACAJ,EAAAJ,EAAApI,EAAAzF,KAAAvC,EAAAuC,KAAAgG,GACAkI,EAAAL,EAAApI,EAAAlD,MAAA9E,EAAA8E,MAAAyD,KAEAiI,EAAAJ,EAAApI,EAAAyH,WAAAzP,EAAAuC,KAAAgG,GACAkI,EAAA,IAGA,IAAAI,EAAAH,EAAA1B,OAAA2B,EAAAH,EAAAC,GAEA,OAAAI,EACAC,KAAA,SAAAC,EAAAC,GACA,OAAAD,EAAA1T,MAAA2T,EAAA3T,QAEA4T,IAAA,SAAAC,GACA,OACA/Q,KAAA+Q,EAAA/Q,KACAE,KAAA6Q,EAAA7Q,KACA/C,OAAA4T,EAAA5T,UAaA,SAAA6T,EAAA7T,EAAA+C,GACA,OAAAA,GACA,KAAAL,EAAAiI,QACA,OAAAa,EAAAvI,cAAAjD,GACA,KAAA0C,EAAAM,aACA,OAAAJ,EAAAK,cAAAjD,GACA,KAAA0C,EAAA8E,MACA,OAAAD,EAAAtE,cAAAjD,GACA,KAAA0C,EAAAuC,KACA,OAAAD,EAAA/B,cAAAjD,IAwIA,SAAA8T,EAAAjR,EAAAkR,GACA,IAAAhR,EACAiR,EAAAtR,EAAAsI,mBAAAnI,GAKA,IAHAE,EAAAL,EAAAwD,KAAA6N,EAAAC,MAGAtR,EAAAuC,MAAAlC,EAAAmB,IAAA8P,EAAA9P,IACA,UAAA5D,MAAA,IAAAuC,EAAA,iCACAH,EAAA1D,SAAA+D,GACA,0BAAAL,EAAA1D,SAAAgV,IAQA,OAJAjR,IAAAL,EAAA8E,OAAAhB,EAAA8M,uBACAvQ,EAAAL,EAAAuC,MAGAlC,GACA,KAAAL,EAAAiI,QACA,WAAAa,EAAA3I,GAEA,KAAAH,EAAAM,aACA,WAAAJ,EAAAC,GAEA,KAAAH,EAAA8E,MACA,WAAAD,EAAA1E,GAEA,KAAAH,EAAAuC,KACA,WAAAD,EAAAnC,IAmBA1D,EAAA+P,UAAA,SAAA+E,GACA,OAAAA,EAAAC,OAAA,SAAAC,EAAAC,GAOA,MANA,iBAAAA,EACAD,EAAAlS,KAAA6R,EAAAM,EAAA,OACKA,EAAAvR,MACLsR,EAAAlS,KAAA6R,EAAAM,EAAAvR,KAAAuR,EAAArR,OAGAoR,GACG,KAWHhV,EAAAkH,WAAA,SAAAxD,EAAApB,GAQA,IAPA,IAAA8R,EAAAN,EAAApQ,EAAA2D,EAAA8M,sBAEAe,EAxKA,SAAAd,GAEA,IADA,IAAAc,EAAA,GACAxT,EAAA,EAAiBA,EAAA0S,EAAAvT,OAAiBa,IAAA,CAClC,IAAAuT,EAAAb,EAAA1S,GAEA,OAAAuT,EAAArR,MACA,KAAAL,EAAAiI,QACA0J,EAAApS,KAAA,CAAAmS,EACA,CAAWvR,KAAAuR,EAAAvR,KAAAE,KAAAL,EAAAM,aAAAhD,OAAAoU,EAAApU,QACX,CAAW6C,KAAAuR,EAAAvR,KAAAE,KAAAL,EAAAuC,KAAAjF,OAAAoU,EAAApU,UAEX,MACA,KAAA0C,EAAAM,aACAqR,EAAApS,KAAA,CAAAmS,EACA,CAAWvR,KAAAuR,EAAAvR,KAAAE,KAAAL,EAAAuC,KAAAjF,OAAAoU,EAAApU,UAEX,MACA,KAAA0C,EAAA8E,MACA6M,EAAApS,KAAA,CAAAmS,EACA,CAAWvR,KAAAuR,EAAAvR,KAAAE,KAAAL,EAAAuC,KAAAjF,OAAA2S,EAAAyB,EAAAvR,SAEX,MACA,KAAAH,EAAAuC,KACAoP,EAAApS,KAAA,CACA,CAAWY,KAAAuR,EAAAvR,KAAAE,KAAAL,EAAAuC,KAAAjF,OAAA2S,EAAAyB,EAAAvR,UAKX,OAAAwR,EA2IAC,CAAAf,GACAgB,EA7HA,SAAAF,EAAA5S,GAKA,IAJA,IAAA+S,EAAA,GACAD,EAAA,CAAe5U,MAAA,IACf8U,EAAA,UAEA5T,EAAA,EAAiBA,EAAAwT,EAAArU,OAAkBa,IAAA,CAInC,IAHA,IAAA6T,EAAAL,EAAAxT,GACA8T,EAAA,GAEApS,EAAA,EAAmBA,EAAAmS,EAAA1U,OAAsBuC,IAAA,CACzC,IAAAqS,EAAAF,EAAAnS,GACAsS,EAAA,GAAAhU,EAAA0B,EAEAoS,EAAA1S,KAAA4S,GACAL,EAAAK,GAAA,CAAoBD,OAAAE,UAAA,GACpBP,EAAAM,GAAA,GAEA,QAAAnU,EAAA,EAAqBA,EAAA+T,EAAAzU,OAAwBU,IAAA,CAC7C,IAAAqU,EAAAN,EAAA/T,GAEA8T,EAAAO,IAAAP,EAAAO,GAAAH,KAAA7R,OAAA6R,EAAA7R,MACAwR,EAAAQ,GAAAF,GACAhB,EAAAW,EAAAO,GAAAD,UAAAF,EAAA5U,OAAA4U,EAAA7R,MACA8Q,EAAAW,EAAAO,GAAAD,UAAAF,EAAA7R,MAEAyR,EAAAO,GAAAD,WAAAF,EAAA5U,SAEAwU,EAAAO,KAAAP,EAAAO,GAAAD,UAAAF,EAAA5U,QAEAuU,EAAAQ,GAAAF,GAAAhB,EAAAe,EAAA5U,OAAA4U,EAAA7R,MACA,EAAAL,EAAAqI,sBAAA6J,EAAA7R,KAAAtB,KAKAgT,EAAAE,EAGA,IAAAjU,EAAA,EAAaA,EAAA+T,EAAAzU,OAAwBU,IACrC6T,EAAAE,EAAA/T,IAAA,MAGA,OAAUiT,IAAAY,EAAAC,SAmFVQ,CAAAX,EAAA5S,GACAwT,EAAAvC,EAAAwC,UAAAX,EAAAZ,IAAA,eAEAwB,EAAA,GACAtU,EAAA,EAAiBA,EAAAoU,EAAAjV,OAAA,EAAqBa,IACtCsU,EAAAlT,KAAAsS,EAAAC,MAAAS,EAAApU,IAAA+T,MAGA,OAAAzV,EAAA+P,UA9MA,SAAAqE,GACA,OAAAA,EAAAW,OAAA,SAAAC,EAAAiB,GACA,IAAAC,EAAAlB,EAAAnU,OAAA,KAAAmU,IAAAnU,OAAA,QACA,OAAAqV,KAAAtS,OAAAqS,EAAArS,MACAoR,IAAAnU,OAAA,GAAA6C,MAAAuS,EAAAvS,KACAsR,IAGAA,EAAAlS,KAAAmT,GACAjB,IACG,IAoMHmB,CAAAH,KAaAhW,EAAAkQ,SAAA,SAAAxM,GACA,OAAA1D,EAAA+P,UACA+D,EAAApQ,EAAA2D,EAAA8M,yBAIC,CAAEiC,sBAAA,EAAAC,cAAA,EAAAC,eAAA,GAAAhS,SAAA,GAAAiS,iBAAA,GAAArK,UAAA,GAAA7I,UAAA,GAAAmT,WAAA,KAAoIC,GAAA,UAAAtU,EAAApC,EAAAC,GACvI,IAAA0W,EACAC,EAAA,CACA,EACA,qCACA,yCACA,kDACA,mDASA3W,EAAAoC,cAAA,SAAAE,GACA,IAAAA,EAAA,UAAAnB,MAAA,yCACA,GAAAmB,EAAA,GAAAA,EAAA,aAAAnB,MAAA,6CACA,SAAAmB,EAAA,IASAtC,EAAAyO,wBAAA,SAAAnM,GACA,OAAAqU,EAAArU,IASAtC,EAAAuH,YAAA,SAAA7D,GAGA,IAFA,IAAAkT,EAAA,EAEA,IAAAlT,GACAkT,IACAlT,KAAA,EAGA,OAAAkT,GAGA5W,EAAAqR,kBAAA,SAAA1P,GACA,sBAAAA,EACA,UAAAR,MAAA,yCAGAuV,EAAA/U,GAGA3B,EAAAmU,mBAAA,WACA,gBAAAuC,GAGA1W,EAAAsI,OAAA,SAAAuK,GACA,OAAA6D,EAAA7D,KAGC,IAAGgE,GAAA,UAAA1U,EAAApC,EAAAC,GAOJA,EAAA6G,QAAA,SAAAvE,GACA,OAAAkH,MAAAlH,OAAA,GAAAA,GAAA,KAGC,IAAGwU,GAAA,UAAA3U,EAAApC,EAAAC,GACJ,IAAAqH,EAAAlF,EAAA,WACAyL,EAAAzL,EAAA,2BACA8D,EAAA9D,EAAA,4BACAoB,EAAApB,EAAA,UACAmJ,EAAAnJ,EAAA,mBACA8L,EAAA9L,EAAA,WAIA4U,EAAA1P,EAAAE,YADA,MAaA,SAAAyP,EAAApT,EAAAtB,GAEA,OAAAiB,EAAAqI,sBAAAhI,EAAAtB,GAAA,EAGA,SAAA2U,EAAA3I,EAAAhM,GACA,IAAA4U,EAAA,EAOA,OALA5I,EAAAC,QAAA,SAAA7K,GACA,IAAAyT,EAAAH,EAAAtT,EAAAE,KAAAtB,GACA4U,GAAAC,EAAAzT,EAAAI,kBAGAoT,EAsBAlX,EAAA+G,KAAA,SAAA5C,EAAA6C,GACA,OAAAsE,EAAAzE,QAAA1C,GACAsF,SAAAtF,EAAA,IAGA6C,GAYAhH,EAAAoX,YAAA,SAAA9U,EAAA+D,EAAAzC,GACA,IAAA0H,EAAAzE,QAAAvE,GACA,UAAAnB,MAAA,gCAIA,IAAAyC,MAAAL,EAAAuC,MAGA,IAAA0I,EAAAnH,EAAAoH,wBAAAnM,GAGAoM,EAAAd,EAAAlH,uBAAApE,EAAA+D,GAGAsI,EAAA,GAAAH,EAAAE,GAEA,GAAA9K,IAAAL,EAAAoI,MAAA,OAAAgD,EAEA,IAAA0I,EAAA1I,EAAAqI,EAAApT,EAAAtB,GAGA,OAAAsB,GACA,KAAAL,EAAAiI,QACA,OAAAhJ,KAAAC,MAAA4U,EAAA,MAEA,KAAA9T,EAAAM,aACA,OAAArB,KAAAC,MAAA4U,EAAA,MAEA,KAAA9T,EAAA8E,MACA,OAAA7F,KAAAC,MAAA4U,EAAA,IAEA,KAAA9T,EAAAuC,KACA,QACA,OAAAtD,KAAAC,MAAA4U,EAAA,KAYArX,EAAAmQ,sBAAA,SAAAzM,EAAA2C,GACA,IAAA4O,EAEAqC,EAAArR,EAAAc,KAAAV,EAAAJ,EAAAM,GAEA,GAAA0H,EAAAvK,GAAA,CACA,GAAAA,EAAA7C,OAAA,EACA,OAzFA,SAAAyN,EAAAjI,GACA,QAAAkR,EAAA,EAA8BA,GAAA,GAAsBA,IAAA,CACpD,IAAA1W,EAAAoW,EAAA3I,EAAAiJ,GACA,GAAA1W,GAAAb,EAAAoX,YAAAG,EAAAlR,EAAA9C,EAAAoI,OACA,OAAA4L,GAqFAC,CAAA9T,EAAA4T,GAGA,OAAA5T,EAAA7C,OACA,SAGAoU,EAAAvR,EAAA,QAEAuR,EAAAvR,EAGA,OA/HA,SAAAE,EAAA/C,EAAAwF,GACA,QAAAkR,EAAA,EAA8BA,GAAA,GAAsBA,IACpD,GAAA1W,GAAAb,EAAAoX,YAAAG,EAAAlR,EAAAzC,GACA,OAAA2T,EA4HAE,CAAAxC,EAAArR,KAAAqR,EAAAjR,YAAAsT,IAaAtX,EAAAwH,eAAA,SAAAlF,GACA,IAAAgJ,EAAAzE,QAAAvE,MAAA,EACA,UAAAnB,MAAA,2BAKA,IAFA,IAAAuG,EAAApF,GAAA,GAEA+E,EAAAE,YAAAG,GAAAqP,GAAA,GACArP,GAvJA,MAuJAL,EAAAE,YAAAG,GAAAqP,EAGA,OAAAzU,GAAA,GAAAoF,IAGC,CAAE+J,0BAAA,EAAA9K,2BAAA,EAAArC,SAAA,GAAAjB,UAAA,GAAA8I,kBAAA,GAAA6F,QAAA,KAAoH0F,GAAA,UAAAvV,EAAApC,EAAAC,GACvH,IAAA2X,EAAAxV,EAAA,eACAyV,EAAAzV,EAAA,iBACA0V,EAAA1V,EAAA,qBACA2V,EAAA3V,EAAA,yBAEA,SAAA4V,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAA,GAAAlL,MAAAlL,KAAAqW,UAAA,GACAC,EAAAF,EAAAxX,OACA2X,EAAA,mBAAAH,EAAAE,EAAA,GAEA,IAAAC,IAAAb,IACA,UAAAxW,MAAA,sCAGA,IAAAqX,EAoBG,CACH,GAAAD,EAAA,EACA,UAAApX,MAAA,8BAYA,OATA,IAAAoX,GACAL,EAAAD,EACAA,EAAAE,OAAA/X,GACK,IAAAmY,GAAAN,EAAAQ,aACLN,EAAAD,EACAA,EAAAD,EACAA,OAAA7X,GAGA,IAAAsY,QAAA,SAAAC,EAAAC,GACA,IACA,IAAAlV,EAAAkU,EAAA1G,OAAAgH,EAAAC,GACAQ,EAAAX,EAAAtU,EAAAuU,EAAAE,IACO,MAAA7W,GACPsX,EAAAtX,MAtCA,GAAAiX,EAAA,EACA,UAAApX,MAAA,8BAGA,IAAAoX,GACAH,EAAAF,EACAA,EAAAD,EACAA,EAAAE,OAAA/X,GACK,IAAAmY,IACLN,EAAAQ,iBAAA,IAAAL,GACAA,EAAAD,EACAA,OAAA/X,IAEAgY,EAAAD,EACAA,EAAAD,EACAA,EAAAD,EACAA,OAAA7X,IA2BA,IACA,IAAAsD,EAAAkU,EAAA1G,OAAAgH,EAAAC,GACAC,EAAA,KAAAJ,EAAAtU,EAAAuU,EAAAE,IACG,MAAA7W,GACH8W,EAAA9W,IAIAtB,EAAAkR,OAAA0G,EAAA1G,OACAlR,EAAA6Y,SAAAd,EAAA9G,KAAA,KAAA4G,EAAAiB,QACA9Y,EAAA+Y,UAAAhB,EAAA9G,KAAA,KAAA4G,EAAAmB,iBAGAhZ,EAAAH,SAAAkY,EAAA9G,KAAA,cAAAvN,EAAAuV,EAAAd,GACA,OAAAL,EAAAgB,OAAApV,EAAAyU,MAGC,CAAEe,gBAAA,GAAAC,oBAAA,GAAAC,wBAAA,GAAAC,cAAA,KAAsFC,GAAA,UAAAnX,EAAApC,EAAAC,GACzF,IAAAqH,EAAAlF,EAAA,WAoBAnC,EAAA8Y,OAAA,SAAAS,EAAAtB,EAAA9G,GACA,IAAAgH,EAAAhH,EACAqI,EAAAvB,OAEA,IAAAE,GAAAF,KAAAQ,aACAN,EAAAF,EACAA,OAAA7X,GAGA6X,IACAuB,EAlBA,WACA,IACA,OAAAC,SAAAC,cAAA,UACG,MAAApY,GACH,UAAAH,MAAA,yCAcAwY,IAGAxB,EAAA9Q,EAAAuS,WAAAzB,GACA,IAAAzV,EAAA2E,EAAAwS,cAAAN,EAAAhJ,QAAA7N,KAAAyV,GAEA2B,EAAAN,EAAAf,WAAA,MACAsB,EAAAD,EAAAE,gBAAAtX,KAMA,OALA2E,EAAA4S,cAAAF,EAAArW,KAAA6V,EAAApB,GApCA,SAAA2B,EAAA7B,EAAAvV,GACAoX,EAAAI,UAAA,IAAAjC,EAAAkC,MAAAlC,EAAAmC,QAEAnC,EAAAoC,QAAApC,EAAAoC,MAAA,IACApC,EAAAmC,OAAA1X,EACAuV,EAAAkC,MAAAzX,EACAuV,EAAAoC,MAAAD,OAAA1X,EAAA,KACAuV,EAAAoC,MAAAF,MAAAzX,EAAA,KA+BA4X,CAAAR,EAAAN,EAAA9W,GACAoX,EAAAS,aAAAR,EAAA,KAEAP,GAGAxZ,EAAAgZ,gBAAA,SAAAO,EAAAtB,EAAA9G,GACA,IAAAgH,EAAAhH,OAEA,IAAAgH,GAAAF,KAAAQ,aACAN,EAAAF,EACAA,OAAA7X,GAGA+X,MAAA,IAEA,IAAAqB,EAAAxZ,EAAA8Y,OAAAS,EAAAtB,EAAAE,GAEAqC,EAAArC,EAAAqC,MAAA,YACAC,EAAAtC,EAAAsC,cAAA,GAEA,OAAAjB,EAAAT,UAAAyB,EAAAC,EAAAC,WAGC,CAAErX,UAAA,KAAasX,GAAA,UAAAxY,EAAApC,EAAAC,GAChB,IAAAqH,EAAAlF,EAAA,WAEA,SAAAyY,EAAAC,EAAAC,GACA,IAAAC,EAAAF,EAAA/Y,EAAA,IACAsR,EAAA0H,EAAA,KAAAD,EAAAG,IAAA,IAEA,OAAAD,EAAA,EACA3H,EAAA,IAAA0H,EAAA,aAAAC,EAAAE,QAAA,GAAA9N,MAAA,OACAiG,EAGA,SAAA8H,EAAAC,EAAArT,EAAAI,GACA,IAAAkL,EAAA+H,EAAArT,EAGA,YAFA,IAAAI,IAAAkL,GAAA,IAAAlL,GAEAkL,EAuCApT,EAAA8Y,OAAA,SAAAS,EAAApI,EAAAiH,GACA,IAAAD,EAAA9Q,EAAAuS,WAAAzI,GACAzO,EAAA6W,EAAAhJ,QAAA7N,KACAgB,EAAA6V,EAAAhJ,QAAA7M,KACA0X,EAAA1Y,EAAA,EAAAyV,EAAAkD,OAEAC,EAAAnD,EAAA0C,MAAAU,MAAAzZ,EAEA,SAAA8Y,EAAAzC,EAAA0C,MAAAU,MAAA,QACA,YAAAH,EAAA,IAAAA,EAAA,SAFA,GAIAtF,EACA,SAAA8E,EAAAzC,EAAA0C,MAAA9J,KAAA,UACA,OAjDA,SAAArN,EAAAhB,EAAA2Y,GAMA,IALA,IAAAvF,EAAA,GACA0F,EAAA,EACAC,GAAA,EACAC,EAAA,EAEAha,EAAA,EAAiBA,EAAAgC,EAAA7C,OAAiBa,IAAA,CAClC,IAAA6D,EAAA/C,KAAAC,MAAAf,EAAAgB,GACA4C,EAAA9C,KAAAC,MAAAf,EAAAgB,GAEA6C,GAAAkW,OAAA,GAEA/X,EAAAhC,IACAga,IAEAha,EAAA,GAAA6D,EAAA,GAAA7B,EAAAhC,EAAA,KACAoU,GAAA2F,EACAP,EAAA,IAAA3V,EAAA8V,EAAA,GAAA/V,EAAA+V,GACAH,EAAA,IAAAM,EAAA,GAEAA,EAAA,EACAC,GAAA,GAGAlW,EAAA,EAAA7C,GAAAgB,EAAAhC,EAAA,KACAoU,GAAAoF,EAAA,IAAAQ,GACAA,EAAA,IAGAF,IAIA,OAAA1F,EAgBA6F,CAAAjY,EAAAhB,EAAAyV,EAAAkD,QAAA,MAEAO,EAAA,gBAAAR,EAAA,IAAAA,EAAA,IAEAjB,EAAAhC,EAAAgC,MAAA,UAAAhC,EAAAgC,MAAA,aAAAhC,EAAAgC,MAAA,QAEA0B,EAAA,2CAAA1B,EAAAyB,EAAA,iCAAAN,EAAAxF,EAAA,WAMA,MAJA,mBAAAsC,GACAA,EAAA,KAAAyD,GAGAA,IAGC,CAAExY,UAAA,KAAayY,GAAA,UAAA3Z,EAAApC,EAAAC,GAChB,SAAA+b,EAAAf,GACA,oBAAAA,EACA,UAAA7Z,MAAA,yCAGA,IAAA6a,EAAAhB,EAAA7N,QAAA9M,QAAA,QAAA4b,MAAA,IACA,GAAAD,EAAAnb,OAAA,OAAAmb,EAAAnb,QAAAmb,EAAAnb,OAAA,EACA,UAAAM,MAAA,sBAAA6Z,GAIA,IAAAgB,EAAAnb,QAAA,IAAAmb,EAAAnb,SACAmb,EAAA1M,MAAAvL,UAAAwO,OAAA2J,MAAA,GAAAF,EAAAxH,IAAA,SAAA5S,GACA,OAAAA,SAKA,IAAAoa,EAAAnb,QAAAmb,EAAAlZ,KAAA,SAEA,IAAAqZ,EAAA1S,SAAAuS,EAAAtb,KAAA,QAEA,OACAW,EAAA8a,GAAA,OACAC,EAAAD,GAAA,OACA1M,EAAA0M,GAAA,MACAra,EAAA,IAAAqa,EACAnB,IAAA,IAAAgB,EAAA7O,MAAA,KAAAzM,KAAA,KAIAV,EAAA4Z,WAAA,SAAAzI,GACAA,MAAA,IACAA,EAAA0J,QAAA1J,EAAA0J,MAAA,IAEA,IAAAQ,OAAA,IAAAlK,EAAAkK,QACA,OAAAlK,EAAAkK,QACAlK,EAAAkK,OAAA,IAAAlK,EAAAkK,OAEAlB,EAAAhJ,EAAAgJ,OAAAhJ,EAAAgJ,OAAA,GAAAhJ,EAAAgJ,WAAA/Z,EACAic,EAAAlL,EAAAkL,OAAA,EAEA,OACAlC,QACAkC,MAAAlC,EAAA,EAAAkC,EACAhB,SACAR,MAAA,CACA9J,KAAAgL,EAAA5K,EAAA0J,MAAA9J,MAAA,aACAwK,MAAAQ,EAAA5K,EAAA0J,MAAAU,OAAA,cAEAf,KAAArJ,EAAAqJ,KACAC,aAAAtJ,EAAAsJ,cAAA,KAIAza,EAAAsc,SAAA,SAAAC,EAAApE,GACA,OAAAA,EAAAgC,OAAAhC,EAAAgC,OAAAoC,EAAA,EAAApE,EAAAkD,OACAlD,EAAAgC,OAAAoC,EAAA,EAAApE,EAAAkD,QACAlD,EAAAkE,OAGArc,EAAA6Z,cAAA,SAAA0C,EAAApE,GACA,IAAAkE,EAAArc,EAAAsc,SAAAC,EAAApE,GACA,OAAA3V,KAAAC,OAAA8Z,EAAA,EAAApE,EAAAkD,QAAAgB,IAGArc,EAAAia,cAAA,SAAAuC,EAAAC,EAAAtE,GAQA,IAPA,IAAAzV,EAAA+Z,EAAAlM,QAAA7N,KACAgB,EAAA+Y,EAAAlM,QAAA7M,KACA2Y,EAAArc,EAAAsc,SAAA5Z,EAAAyV,GACAuE,EAAAla,KAAAC,OAAAC,EAAA,EAAAyV,EAAAkD,QAAAgB,GACAM,EAAAxE,EAAAkD,OAAAgB,EACAO,EAAA,CAAAzE,EAAA0C,MAAAU,MAAApD,EAAA0C,MAAA9J,MAEArP,EAAA,EAAiBA,EAAAgb,EAAgBhb,IACjC,QAAA0B,EAAA,EAAmBA,EAAAsZ,EAAgBtZ,IAAA,CACnC,IAAAyZ,EAAA,GAAAnb,EAAAgb,EAAAtZ,GACA0Z,EAAA3E,EAAA0C,MAAAU,MAEA,GAAA7Z,GAAAib,GAAAvZ,GAAAuZ,GACAjb,EAAAgb,EAAAC,GAAAvZ,EAAAsZ,EAAAC,EAAA,CACA,IAAAI,EAAAva,KAAAC,OAAAf,EAAAib,GAAAN,GACAW,EAAAxa,KAAAC,OAAAW,EAAAuZ,GAAAN,GACAS,EAAAF,EAAAlZ,EAAAqZ,EAAAra,EAAAsa,GAAA,KAGAR,EAAAK,KAAAC,EAAAzb,EACAmb,EAAAK,KAAAC,EAAAV,EACAI,EAAAK,KAAAC,EAAArN,EACA+M,EAAAK,GAAAC,EAAAhb,KAKC,IAAGmb,GAAA,UAAA9a,EAAApC,EAAAC,GAEJ,IAAAiO,EAAA9L,EAAA,WAaA8C,EAAAiY,oBAXA,WAEA,IACA,IAAAC,EAAA,IAAAC,WAAA,GAEA,OADAD,EAAAE,UAAA,CAAqBA,UAAAD,WAAArZ,UAAAuZ,IAAA,WAAmD,YACxE,KAAAH,EAAAG,MACG,MAAAhc,GACH,UAIAic,GAEA,IAAAC,EAAAvY,EAAAiY,oBACA,WACA,WAEA,SAAAjY,EAAAwY,EAAAvQ,EAAArM,GACA,OAAAoE,EAAAiY,qBAAAvZ,gBAAAsB,EAIA,iBAAAwY,EACAC,EAAA/Z,KAAA8Z,GAmQA,SAAAE,EAAAxZ,EAAA+I,EAAArM,GACA,oBAAAsD,EACA,UAAAyZ,UAAA,yCAGA,0BAAAC,aAAA1Z,aAAA0Z,YA9KA,SAAAF,EAAA7I,EAAAgJ,EAAAjd,GACA,GAAAid,EAAA,GAAAhJ,EAAAiJ,WAAAD,EACA,UAAAE,WAAA,6BAGA,GAAAlJ,EAAAiJ,WAAAD,GAAAjd,GAAA,GACA,UAAAmd,WAAA,6BAGA,IAAAC,EAiBA,OAfAA,OADA7d,IAAA0d,QAAA1d,IAAAS,EACA,IAAAuc,WAAAtI,QACG1U,IAAAS,EACH,IAAAuc,WAAAtI,EAAAgJ,GAEA,IAAAV,WAAAtI,EAAAgJ,EAAAjd,GAGAoE,EAAAiY,oBAEAe,EAAAZ,UAAApY,EAAAlB,UAGAka,EAAAC,EAAAP,EAAAM,GAGAA,EAqJAE,CAAAR,EAAAxZ,EAAA+I,EAAArM,GAGA,iBAAAsD,EA3MA,SAAAwZ,EAAA1d,GACA,IAAAY,EAAA,EAAAkd,EAAA9d,GACAge,EAAAG,EAAAT,EAAA9c,GAEAwd,EAAAJ,EAAAha,MAAAhE,GASA,OAPAoe,IAAAxd,IAIAod,IAAA9Q,MAAA,EAAAkR,IAGAJ,EA+LA/W,CAAAyW,EAAAxZ,GAtJA,SAAAwZ,EAAAlJ,GACA,GAAAxP,EAAAqZ,SAAA7J,GAAA,CACA,IAAA8J,EAAA,EAAAC,EAAA/J,EAAA5T,QACAod,EAAAG,EAAAT,EAAAY,GAEA,WAAAN,EAAApd,OACAod,GAGAxJ,EAAA/B,KAAAuL,EAAA,IAAAM,GACAN,GAGA,GAAAxJ,EAAA,CACA,uBAAAoJ,aACApJ,EAAAhQ,kBAAAoZ,aAAA,WAAApJ,EACA,uBAAAA,EAAA5T,SAvGA4d,EAuGAhK,EAAA5T,SAtGA4d,EAuGAL,EAAAT,EAAA,GAEAO,EAAAP,EAAAlJ,GAGA,cAAAA,EAAA+F,MAAAlL,MAAArB,QAAAwG,EAAA/Q,MACA,OAAAwa,EAAAP,EAAAlJ,EAAA/Q,MA9GA,IAAA+a,EAkHA,UAAAb,UAAA,sFA8HAc,CAAAf,EAAAxZ,GA7QA4C,CAAApD,KAAA8Z,EAAAvQ,EAAArM,GAPA,IAAAoE,EAAAwY,EAAAvQ,EAAArM,GA0BA,SAAA2d,EAAA3d,GAGA,GAAAA,GAAA2c,EACA,UAAAQ,WAAA,0DACAR,EAAA3d,SAAA,cAEA,SAAAgB,EAOA,SAAAud,EAAAT,EAAA9c,GACA,IAAAod,EAaA,OAZAhZ,EAAAiY,qBACAe,EAAA,IAAAb,WAAAvc,IACAwc,UAAApY,EAAAlB,WAIA,QADAka,EAAAN,KAEAM,EAAA,IAAAhZ,EAAApE,IAEAod,EAAApd,UAGAod,EAGA,SAAAP,EAAAC,EAAAjb,GACA,IAAAub,EAAAG,EAAAT,EAAAjb,EAAA,MAAA8b,EAAA9b,IAEA,IAAAuC,EAAAiY,oBACA,QAAAxb,EAAA,EAAmBA,EAAAgB,IAAUhB,EAC7Buc,EAAAvc,GAAA,EAIA,OAAAuc,EAmBA,SAAAC,EAAAP,EAAA7I,GAGA,IAFA,IAAAjU,EAAAiU,EAAAjU,OAAA,MAAA2d,EAAA1J,EAAAjU,QACAod,EAAAG,EAAAT,EAAA9c,GACAa,EAAA,EAAiBA,EAAAb,EAAYa,GAAA,EAC7Buc,EAAAvc,GAAA,IAAAoT,EAAApT,GAEA,OAAAuc,EA8DA,SAAAU,EAAA1e,EAAA2e,GAEA,IAAAC,EADAD,KAAAzT,IAMA,IAJA,IAAAtK,EAAAZ,EAAAY,OACAie,EAAA,KACAC,EAAA,GAEArd,EAAA,EAAiBA,EAAAb,IAAYa,EAAA,CAI7B,IAHAmd,EAAA5e,EAAA+e,WAAAtd,IAGA,OAAAmd,EAAA,OAEA,IAAAC,EAAA,CAEA,GAAAD,EAAA,QAEAD,GAAA,OAAAG,EAAAjc,KAAA,aACA,SACS,GAAApB,EAAA,IAAAb,EAAA,EAET+d,GAAA,OAAAG,EAAAjc,KAAA,aACA,SAIAgc,EAAAD,EAEA,SAIA,GAAAA,EAAA,QACAD,GAAA,OAAAG,EAAAjc,KAAA,aACAgc,EAAAD,EACA,SAIAA,EAAA,OAAAC,EAAA,UAAAD,EAAA,YACKC,IAELF,GAAA,OAAAG,EAAAjc,KAAA,aAMA,GAHAgc,EAAA,KAGAD,EAAA,KACA,IAAAD,GAAA,WACAG,EAAAjc,KAAA+b,QACK,GAAAA,EAAA,MACL,IAAAD,GAAA,WACAG,EAAAjc,KACA+b,GAAA,MACA,GAAAA,EAAA,UAEK,GAAAA,EAAA,OACL,IAAAD,GAAA,WACAG,EAAAjc,KACA+b,GAAA,OACAA,GAAA,SACA,GAAAA,EAAA,SAEK,MAAAA,EAAA,SASL,UAAA1d,MAAA,sBARA,IAAAyd,GAAA,WACAG,EAAAjc,KACA+b,GAAA,OACAA,GAAA,UACAA,GAAA,SACA,GAAAA,EAAA,MAOA,OAAAE,EAGA,SAAAhB,EAAA9d,GACA,GAAAgF,EAAAqZ,SAAAre,GACA,OAAAA,EAAAY,OAEA,uBAAAgd,aAAA,mBAAAA,YAAAoB,SACApB,YAAAoB,OAAAhf,iBAAA4d,aACA,OAAA5d,EAAA8d,WAEA,iBAAA9d,IACAA,EAAA,GAAAA,GAGA,IAAAse,EAAAte,EAAAY,OACA,WAAA0d,EAAA,EAEAI,EAAA1e,GAAAY,OA9OAoE,EAAAiY,sBACAjY,EAAAlB,UAAAsZ,UAAAD,WAAArZ,UACAkB,EAAAoY,UAAAD,WAGA,oBAAA8B,eAAAC,SACAla,EAAAia,OAAAC,WAAAla,GACA8F,OAAAqU,eAAAna,EAAAia,OAAAC,QAAA,CACAhb,MAAA,KACAkb,cAAA,EACAC,YAAA,EACAC,UAAA,KAkQAta,EAAAlB,UAAAE,MAAA,SAAAhE,EAAAiN,EAAArM,QAEAT,IAAA8M,GACArM,EAAA8C,KAAA9C,OACAqM,EAAA,QAEG9M,IAAAS,GAAA,iBAAAqM,GACHrM,EAAA8C,KAAA9C,OACAqM,EAAA,GAEGsS,SAAAtS,KACHA,GAAA,EACAsS,SAAA3e,GACAA,GAAA,EAEAA,OAAAT,GAIA,IAAAqf,EAAA9b,KAAA9C,OAAAqM,EAGA,SAFA9M,IAAAS,KAAA4e,KAAA5e,EAAA4e,GAEAxf,EAAAY,OAAA,IAAAA,EAAA,GAAAqM,EAAA,IAAAA,EAAAvJ,KAAA9C,OACA,UAAAmd,WAAA,0CAGA,OA9CA,SAAAC,EAAAhe,EAAAiN,EAAArM,GACA,OATA,SAAA6e,EAAAC,EAAAzS,EAAArM,GACA,QAAAa,EAAA,EAAiBA,EAAAb,KACjBa,EAAAwL,GAAAyS,EAAA9e,QAAAa,GAAAge,EAAA7e,UAD6Ba,EAE7Bie,EAAAje,EAAAwL,GAAAwS,EAAAhe,GAEA,OAAAA,EAIAke,CAAAjB,EAAA1e,EAAAge,EAAApd,OAAAqM,GAAA+Q,EAAA/Q,EAAArM,GA6CAgf,CAAAlc,KAAA1D,EAAAiN,EAAArM,IAGAoE,EAAAlB,UAAAoJ,MAAA,SAAA3M,EAAAC,GACA,IAoBAqf,EApBAvB,EAAA5a,KAAA9C,OAqBA,IApBAL,OAGA,GACAA,GAAA+d,GACA,IAAA/d,EAAA,GACGA,EAAA+d,IACH/d,EAAA+d,IANA9d,OAAAL,IAAAK,EAAA8d,IAAA9d,GASA,GACAA,GAAA8d,GACA,IAAA9d,EAAA,GACGA,EAAA8d,IACH9d,EAAA8d,GAGA9d,EAAAD,IAAAC,EAAAD,GAGAyE,EAAAiY,qBACA4C,EAAAnc,KAAAoc,SAAAvf,EAAAC,IAEA4c,UAAApY,EAAAlB,cACG,CACH,IAAAic,EAAAvf,EAAAD,EACAsf,EAAA,IAAA7a,EAAA+a,OAAA5f,GACA,QAAAsB,EAAA,EAAmBA,EAAAse,IAActe,EACjCoe,EAAApe,GAAAiC,KAAAjC,EAAAlB,GAIA,OAAAsf,GAGA7a,EAAAlB,UAAA2O,KAAA,SAAAuN,EAAAC,EAAA1f,EAAAC,GAQA,GAPAD,MAAA,GACAC,GAAA,IAAAA,MAAAkD,KAAA9C,QACAqf,GAAAD,EAAApf,SAAAqf,EAAAD,EAAApf,QACAqf,MAAA,GACAzf,EAAA,GAAAA,EAAAD,IAAAC,EAAAD,GAGAC,IAAAD,EAAA,SACA,OAAAyf,EAAApf,QAAA,IAAA8C,KAAA9C,OAAA,SAGA,GAAAqf,EAAA,EACA,UAAAlC,WAAA,6BAEA,GAAAxd,EAAA,GAAAA,GAAAmD,KAAA9C,OAAA,UAAAmd,WAAA,6BACA,GAAAvd,EAAA,YAAAud,WAAA,2BAGAvd,EAAAkD,KAAA9C,SAAAJ,EAAAkD,KAAA9C,QACAof,EAAApf,OAAAqf,EAAAzf,EAAAD,IACAC,EAAAwf,EAAApf,OAAAqf,EAAA1f,GAGA,IACAkB,EADA6c,EAAA9d,EAAAD,EAGA,GAAAmD,OAAAsc,GAAAzf,EAAA0f,KAAAzf,EAEA,IAAAiB,EAAA6c,EAAA,EAAqB7c,GAAA,IAAQA,EAC7Bue,EAAAve,EAAAwe,GAAAvc,KAAAjC,EAAAlB,QAEG,GAAA+d,EAAA,MAAAtZ,EAAAiY,oBAEH,IAAAxb,EAAA,EAAeA,EAAA6c,IAAS7c,EACxBue,EAAAve,EAAAwe,GAAAvc,KAAAjC,EAAAlB,QAGA4c,WAAArZ,UAAAsB,IAAApD,KACAge,EACAtc,KAAAoc,SAAAvf,IAAA+d,GACA2B,GAIA,OAAA3B,GAGAtZ,EAAAlB,UAAAoB,KAAA,SAAAsZ,EAAAje,EAAAC,GAEA,oBAAAge,GAOA,GANA,iBAAAje,GACAA,EAAA,EACAC,EAAAkD,KAAA9C,QACK,iBAAAJ,IACLA,EAAAkD,KAAA9C,QAEA,IAAA4d,EAAA5d,OAAA,CACA,IAAAkB,EAAA0c,EAAAO,WAAA,GACAjd,EAAA,MACA0c,EAAA1c,QAGG,iBAAA0c,IACHA,GAAA,KAIA,GAAAje,EAAA,GAAAmD,KAAA9C,OAAAL,GAAAmD,KAAA9C,OAAAJ,EACA,UAAAud,WAAA,sBAGA,GAAAvd,GAAAD,EACA,OAAAmD,KAQA,IAAAjC,EACA,GANAlB,KAAA,EACAC,OAAAL,IAAAK,EAAAkD,KAAA9C,OAAAJ,IAAA,EAEAge,MAAA,GAGA,iBAAAA,EACA,IAAA/c,EAAAlB,EAAmBkB,EAAAjB,IAASiB,EAC5BiC,KAAAjC,GAAA+c,MAEG,CACH,IAAAM,EAAA9Z,EAAAqZ,SAAAG,GACAA,EACA,IAAAxZ,EAAAwZ,GACAF,EAAAQ,EAAAle,OACA,IAAAa,EAAA,EAAeA,EAAAjB,EAAAD,IAAiBkB,EAChCiC,KAAAjC,EAAAlB,GAAAue,EAAArd,EAAA6c,GAIA,OAAA5a,MAGAsB,EAAAsN,OAAA,SAAA4N,EAAAtf,GACA,IAAAoN,EAAAkS,GACA,UAAAvC,UAAA,+CAGA,OAAAuC,EAAAtf,OACA,OAAAud,EAAA,QAGA,IAAA1c,EACA,QAAAtB,IAAAS,EAEA,IADAA,EAAA,EACAa,EAAA,EAAeA,EAAAye,EAAAtf,SAAiBa,EAChCb,GAAAsf,EAAAze,GAAAb,OAIA,IAAA4D,EAAAiZ,EAAA,KAAA7c,GACAqC,EAAA,EACA,IAAAxB,EAAA,EAAaA,EAAAye,EAAAtf,SAAiBa,EAAA,CAC9B,IAAAuc,EAAAkC,EAAAze,GACA,IAAAuD,EAAAqZ,SAAAL,GACA,UAAAL,UAAA,+CAEAK,EAAAvL,KAAAjO,EAAAvB,GACAA,GAAA+a,EAAApd,OAEA,OAAA4D,GAGAQ,EAAA8Y,aAEA9Y,EAAAlB,UAAAqc,WAAA,EACAnb,EAAAqZ,SAAA,SAAA7O,GACA,cAAAA,MAAA2Q,YAGArgB,EAAAC,QAAAiF,GAEC,CAAE+M,QAAA,KAAaqO,GAAA,UAAAle,EAAApC,EAAAC,GAEhB,IAAAsgB,EAAAne,EAAA,oBAEApC,EAAAC,QAAA,WACA,MACA,mBAAAsgB,EAAA5H,SACA,mBAAA4H,EAAA5H,QAAA3U,UAAAwc,OAIC,CAAEC,mBAAA,KAAsBC,GAAA,UAAAte,EAAApC,EAAAC,GAuBzB,IAAAuT,EAAA,CACAmN,6BAAA,SAAAtL,EAAAuL,EAAAjZ,GAGA,IAAAkZ,EAAA,GAIAC,EAAA,GACAA,EAAAF,GAAA,EAMA,IAGAG,EACAjf,EAAAkf,EACAC,EACAC,EACAC,EACAC,EACAC,EATAC,EAAA9N,EAAA+N,cAAAC,OAWA,IAVAF,EAAAve,KAAA6d,EAAA,IAUAU,EAAAG,SAaA,IAAAT,KAVAD,EAAAO,EAAAI,MACA5f,EAAAif,EAAA3c,MACA6c,EAAAF,EAAAY,KAGAT,EAAA7L,EAAAvT,IAAA,GAMAof,EAAAU,eAAAZ,KAEAG,EAAAD,EAAAF,GAKAI,EAAAH,EAAAE,EAMAE,EAAAP,EAAAE,SACA,IAAAF,EAAAE,IACAK,EAAAD,KACAN,EAAAE,GAAAI,EACAE,EAAAve,KAAAie,EAAAI,GACAP,EAAAG,GAAAlf,IAMA,YAAA6F,QAAA,IAAAmZ,EAAAnZ,GAAA,CACA,IAAAka,EAAA,+BAAAjB,EAAA,OAAAjZ,EAAA,KAAAhH,KAAA,IACA,UAAAS,MAAAygB,GAGA,OAAAhB,GAGAiB,4CAAA,SAAAjB,EAAAlZ,GAIA,IAHA,IAAAwN,EAAA,GACArT,EAAA6F,EAEA7F,GACAqT,EAAApS,KAAAjB,GACA+e,EAAA/e,GACAA,EAAA+e,EAAA/e,GAGA,OADAqT,EAAAnS,UACAmS,GAGAa,UAAA,SAAAX,EAAAuL,EAAAjZ,GACA,IAAAkZ,EAAArN,EAAAmN,6BAAAtL,EAAAuL,EAAAjZ,GACA,OAAA6L,EAAAsO,4CACAjB,EAAAlZ,IAMA4Z,cAAA,CACAC,KAAA,SAAApJ,GACA,IAEAzC,EAFAoM,EAAAvO,EAAA+N,cACA9f,EAAA,GAGA,IAAAkU,KADAyC,KAAA,GACA2J,EACAA,EAAAH,eAAAjM,KACAlU,EAAAkU,GAAAoM,EAAApM,IAKA,OAFAlU,EAAAugB,MAAA,GACAvgB,EAAAwgB,OAAA7J,EAAA6J,QAAAF,EAAAG,eACAzgB,GAGAygB,eAAA,SAAAngB,EAAA2N,GACA,OAAA3N,EAAA4f,KAAAjS,EAAAiS,MAOA5e,KAAA,SAAAqB,EAAAud,GACA,IAAAQ,EAAA,CAAkB/d,QAAAud,QAClB/d,KAAAoe,MAAAjf,KAAAof,GACAve,KAAAoe,MAAA1N,KAAA1Q,KAAAqe,SAMAP,IAAA,WACA,OAAA9d,KAAAoe,MAAAI,SAGAX,MAAA,WACA,WAAA7d,KAAAoe,MAAAlhB,eAOA,IAAAd,IACAA,EAAAC,QAAAuT,IAGC,IAAG6O,GAAA,UAAAjgB,EAAApC,EAAAC,GACJ,IAAAH,EAAA,GAAiBA,SAEjBE,EAAAC,QAAAsP,MAAArB,SAAA,SAAAkP,GACA,wBAAAtd,EAAAoC,KAAAkb,KAGC,IAAGkF,GAAA,UAAAlgB,EAAApC,EAAAC,IACJ,SAAAc,GACAf,EAAAC,QAAA,iBAAAiB,8BACA,iBAAAH,oBACA6C,OAEC1B,KAAA0B,UAAA,IAAA5C,IAAA,oBAAAE,UAAA,oBAAAD,cAAA,KAEA,KAAK,GAAG,KAjyGuC,CAiyGvC,IAryGuBshB,CAAhCviB,EAAA,CAAkBC,QAAA,IAAcD,EAAAC,SAAAD,EAAAC,SA2yGhCY,EAAA,CACA2hB,KAAA,SACAC,MAAA,CAKArR,QAAApG,OAKA0X,IAAA,CACAjI,KAAAkI,OACAC,QAAA,UAMAxe,MAAA,MAEA2U,OAAA,SAAAY,GACA,OAAAA,EAAA/V,KAAA8e,IAAA9e,KAAAif,OAAAD,UAEAE,MAAA,CACAC,OAAA,CACAC,MAAA,EACAC,WAAA,EACAC,QAAA,WACAtf,KAAAuf,KACAvf,KAAAwf,cAKAC,QAAA,CAIAD,SAAA,WACA,IAAAE,EAAA1f,KAEAwN,EAAAxN,KAAAwN,QACAsR,EAAA9e,KAAA8e,IACAte,EAAAue,OAAA/e,KAAAQ,OAEA,WAAAse,EACArhB,EAAAyX,SAAAlV,KAAAuf,IAAA/e,EAAAgN,EAAA,SAAAmS,GACA,GAAAA,EACA,MAAAA,IAGO,QAAAb,EACPrhB,EAAA2X,UAAA5U,EAAAgN,EAAA,SAAAmS,EAAAC,GACA,GAAAD,EACA,MAAAA,EAGAD,EAAAH,IAAAxD,IAAA6D,IAGAniB,EAAAvB,SAAAsE,EAAAgN,EAAA,SAAAmS,EAAArjB,GACA,GAAAqjB,EACA,MAAAA,EAGAD,EAAAH,IAAAM,UAAAvjB,MAKAwjB,QAAA,WACA9f,KAAAwf,aAIeO,EAAA;;;;;;;;;GC/3Gf,SAAAC,EAAAlP,GAWA,OATAkP,EADA,mBAAAzE,QAAA,iBAAAA,OAAA0E,SACA,SAAAnP,GACA,cAAAA,GAGA,SAAAA,GACA,OAAAA,GAAA,mBAAAyK,QAAAzK,EAAAoP,cAAA3E,QAAAzK,IAAAyK,OAAAnb,UAAA,gBAAA0Q,IAIAA,GASA,SAAAqP,EAAA7D,EAAAuC,GACA,QAAA9gB,EAAA,EAAiBA,EAAA8gB,EAAA3hB,OAAkBa,IAAA,CACnC,IAAAqiB,EAAAvB,EAAA9gB,GACAqiB,EAAAzE,WAAAyE,EAAAzE,aAAA,EACAyE,EAAA1E,cAAA,EACA,UAAA0E,MAAAxE,UAAA,GACAxU,OAAAqU,eAAAa,EAAA8D,EAAArO,IAAAqO,IAUA,SAAAC,EAAA7G,GACA,OAGA,SAAAA,GACA,GAAA7N,MAAArB,QAAAkP,GAAA,CACA,QAAAzb,EAAA,EAAAuiB,EAAA,IAAA3U,MAAA6N,EAAAtc,QAAiDa,EAAAyb,EAAAtc,OAAgBa,IAAAuiB,EAAAviB,GAAAyb,EAAAzb,GAEjE,OAAAuiB,GAPAC,CAAA/G,IAWA,SAAAgH,GACA,GAAAjF,OAAA0E,YAAA7Y,OAAAoZ,IAAA,uBAAApZ,OAAAhH,UAAAlE,SAAAoC,KAAAkiB,GAAA,OAAA7U,MAAAvI,KAAAod,GAZAC,CAAAjH,IAeA,WACA,UAAAS,UAAA,mDAhBAyG,GAmBA,IAAAC,EAAA,oBAAAtjB,OACAujB,EAAAD,EAAAtjB,OAAA,GAgBAwjB,EAAA,GAAAjS,OAfA,UAeA,SACAkS,EAAA,GAAAlS,OAhBA,UAgBA,aACAmS,EAAA,GAAAnS,OAjBA,UAiBA,WACAoS,EAAA,GAAApS,OAlBA,UAkBA,SACAqS,EAAA,GAAArS,OAnBA,UAmBA,cACAsS,EAAA,GAAAtS,OApBA,UAoBA,UACAuS,EAAA,GAAAvS,OArBA,UAqBA,SAEAwS,EAAA,GAAAxS,OAvBA,UAuBA,UACAyS,EAAA,GAAAzS,OAxBA,UAwBA,WAWA0S,EAAAV,EAAAW,aAAA,qCACAC,EAAAZ,EAAAW,aAAA,oCACAE,EAAAb,EAAAW,aAAA,yDAQAG,EAAA,+CACAC,EAAA,SACAC,EAAA,4BACAC,EAAA,oBAEAC,EAAA,CAEAC,SAAA,EAGAC,SA7BA,OAgCAC,mBAAAC,IAEAC,YAAAD,IAEAniB,KAAA,KAEAqiB,QAAA,GAEAC,YAAA,EAEAC,SAAA,EAEAC,kBAAA,EAEAC,kBAAA,EAEAC,OAAA,EAEAC,QAAA,EAEAC,QAAA,EAEAC,WAAA,EAEAC,YAAA,EAEAC,UAAA,EAEAC,aAAA,GAEAC,SAAA,EAEAC,WAAA,EAEAC,UAAA,EAEAC,UAAA,EAEAC,aAAA,EAEAC,aAAA,EAEAC,eAAA,GAEAC,gBAAA,EAEAC,kBAAA,EAEAC,0BAAA,EAEAC,eAAA,EACAC,gBAAA,EACAC,gBAAA,EACAC,iBAAA,EACAC,kBAAA,IACAC,mBAAA,IAEAC,MAAA,KACAC,UAAA,KACAC,SAAA,KACAC,QAAA,KACAC,KAAA,KACAC,KAAA,MASAxe,EAAAye,OAAAze,OAAA+a,EAAA/a,MAOA,SAAA0e,EAAA/jB,GACA,uBAAAA,IAAAqF,EAAArF,GAQA,SAAAgkB,EAAAhkB,GACA,gBAAAA,EAQA,SAAAikB,EAAAjkB,GACA,iBAAAwf,EAAAxf,IAAA,OAAAA,EAEA,IAAAwd,EAAA5W,OAAAhH,UAAA4d,eAOA,SAAA0G,EAAAlkB,GACA,IAAAikB,EAAAjkB,GACA,SAGA,IACA,IAAAmkB,EAAAnkB,EAAA0f,YACA9f,EAAAukB,EAAAvkB,UACA,OAAAukB,GAAAvkB,GAAA4d,EAAA1f,KAAA8B,EAAA,iBACG,MAAAzC,GACH,UASA,SAAAinB,EAAApkB,GACA,yBAAAA,EASA,SAAAoK,EAAA7K,EAAA8kB,GACA,GAAA9kB,GAAA6kB,EAAAC,GACA,GAAAlZ,MAAArB,QAAAvK,IAAAwkB,EAAAxkB,EAAA7C,QAEA,CACA,IACAa,EADAb,EAAA6C,EAAA7C,OAGA,IAAAa,EAAA,EAAmBA,EAAAb,IACnB,IAAA2nB,EAAAvmB,KAAAyB,IAAAhC,KAAAgC,GAD+BhC,GAAA,SAKxB0mB,EAAA1kB,IACPqH,OAAAC,KAAAtH,GAAA6K,QAAA,SAAAmH,GACA8S,EAAAvmB,KAAAyB,IAAAgS,KAAAhS,KAKA,OAAAA,EASA,IAAA+kB,EAAA1d,OAAA0d,QAAA,SAAAhU,GACA,QAAAiU,EAAApQ,UAAAzX,OAAAwX,EAAA,IAAA/I,MAAAoZ,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAwFA,EAAAD,EAAaC,IACrGtQ,EAAAsQ,EAAA,GAAArQ,UAAAqQ,GAaA,OAVAP,EAAA3T,IAAA4D,EAAAxX,OAAA,GACAwX,EAAA9J,QAAA,SAAAkP,GACA2K,EAAA3K,IACA1S,OAAAC,KAAAyS,GAAAlP,QAAA,SAAAmH,GACAjB,EAAAiB,GAAA+H,EAAA/H,OAMAjB,GAEAmU,EAAA,uBASA,SAAAC,EAAA1kB,GACA,IAAA2kB,EAAAxQ,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,QACA,OAAAsQ,EAAAvV,KAAAlP,GAAA3B,KAAAumB,MAAA5kB,EAAA2kB,KAAA3kB,EAEA,IAAA6kB,EAAA,mDAOA,SAAAC,EAAAC,EAAAC,GACA,IAAA9O,EAAA6O,EAAA7O,MACA9L,EAAA4a,EAAA,SAAAhlB,EAAAilB,GACAJ,EAAA3V,KAAA+V,IAAAlB,EAAA/jB,KACAA,GAAA,MAGAkW,EAAA+O,GAAAjlB,IAmBA,SAAAklB,EAAAH,EAAA/kB,GACA,GAAAA,EAIA,GAAA+jB,EAAAgB,EAAAroB,QACA0N,EAAA2a,EAAA,SAAAI,GACAD,EAAAC,EAAAnlB,UAKA,GAAA+kB,EAAAK,UACAL,EAAAK,UAAAC,IAAArlB,OADA,CAKA,IAAAslB,EAAAP,EAAAO,UAAAC,OAEAD,EAEGA,EAAArlB,QAAAD,GAAA,IACH+kB,EAAAO,UAAA,GAAAlX,OAAAkX,EAAA,KAAAlX,OAAApO,IAFA+kB,EAAAO,UAAAtlB,GAWA,SAAAwlB,EAAAT,EAAA/kB,GACAA,IAIA+jB,EAAAgB,EAAAroB,QACA0N,EAAA2a,EAAA,SAAAI,GACAK,EAAAL,EAAAnlB,KAKA+kB,EAAAK,UACAL,EAAAK,UAAAK,OAAAzlB,GAIA+kB,EAAAO,UAAArlB,QAAAD,IAAA,IACA+kB,EAAAO,UAAAP,EAAAO,UAAAppB,QAAA8D,EAAA,MAUA,SAAA0lB,EAAAX,EAAA/kB,EAAA2lB,GACA3lB,IAIA+jB,EAAAgB,EAAAroB,QACA0N,EAAA2a,EAAA,SAAAI,GACAO,EAAAP,EAAAnlB,EAAA2lB,KAMAA,EACAT,EAAAH,EAAA/kB,GAEAwlB,EAAAT,EAAA/kB,IAGA,IAAA4lB,EAAA,oBAOA,SAAAC,EAAA7lB,GACA,OAAAA,EAAA9D,QAAA0pB,EAAA,SAAA9iB,cASA,SAAAgjB,EAAAf,EAAA3G,GACA,OAAA6F,EAAAc,EAAA3G,IACA2G,EAAA3G,GAGA2G,EAAAgB,QACAhB,EAAAgB,QAAA3H,GAGA2G,EAAAiB,aAAA,QAAA5X,OAAAyX,EAAAzH,KASA,SAAA6H,EAAAlB,EAAA3G,EAAA7e,GACA0kB,EAAA1kB,GACAwlB,EAAA3G,GAAA7e,EACGwlB,EAAAgB,QACHhB,EAAAgB,QAAA3H,GAAA7e,EAEAwlB,EAAAmB,aAAA,QAAA9X,OAAAyX,EAAAzH,IAAA7e,GA2BA,IAAA4mB,EAAA,QAEAC,EAAA,WACA,IAAAC,GAAA,EAEA,GAAAlG,EAAA,CACA,IAAAmG,GAAA,EAEAC,EAAA,aAEAvZ,EAAApG,OAAAqU,eAAA,GAA0C,QAC1C1a,IAAA,WAEA,OADA8lB,GAAA,EACAC,GAQAplB,IAAA,SAAAlB,GACAsmB,EAAAtmB,KAGAogB,EAAAoG,iBAAA,OAAAD,EAAAvZ,GACAoT,EAAAqG,oBAAA,OAAAF,EAAAvZ,GAGA,OAAAqZ,EA3BA,GAsCA,SAAAK,EAAA3B,EAAA1O,EAAAkQ,GACA,IAAAvZ,EAAAmH,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,MACA2K,EAAAyH,EACAlQ,EAAAkP,OAAAzN,MAAAqO,GAAA/b,QAAA,SAAAuc,GACA,IAAAP,EAAA,CACA,IAAAQ,EAAA7B,EAAA6B,UAEAA,KAAAD,IAAAC,EAAAD,GAAAJ,KACAzH,EAAA8H,EAAAD,GAAAJ,UACAK,EAAAD,GAAAJ,GAEA,IAAA3f,OAAAC,KAAA+f,EAAAD,IAAAjqB,eACAkqB,EAAAD,GAGA,IAAA/f,OAAAC,KAAA+f,GAAAlqB,eACAqoB,EAAA6B,WAKA7B,EAAA0B,oBAAAE,EAAA7H,EAAA9R,KAWA,SAAA6Z,EAAA9B,EAAA1O,EAAAkQ,GACA,IAAAvZ,EAAAmH,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,MACA2S,EAAAP,EACAlQ,EAAAkP,OAAAzN,MAAAqO,GAAA/b,QAAA,SAAAuc,GACA,GAAA3Z,EAAAsZ,OAAAF,EAAA,CACA,IAAAW,EAAAhC,EAAA6B,UACAA,OAAA,IAAAG,EAAA,GAAwDA,EAExDD,EAAA,kBACAF,EAAAD,GAAAJ,GACAxB,EAAA0B,oBAAAE,EAAAG,EAAA9Z,GAEA,QAAAga,EAAA7S,UAAAzX,OAAAwX,EAAA,IAAA/I,MAAA6b,GAAAC,EAAA,EAA8EA,EAAAD,EAAeC,IAC7F/S,EAAA+S,GAAA9S,UAAA8S,GAGAV,EAAAxO,MAAAgN,EAAA7Q,IAGA0S,EAAAD,KACAC,EAAAD,GAAA,IAGAC,EAAAD,GAAAJ,IACAxB,EAAA0B,oBAAAE,EAAAC,EAAAD,GAAAJ,GAAAvZ,GAGA4Z,EAAAD,GAAAJ,GAAAO,EACA/B,EAAA6B,YAGA7B,EAAAyB,iBAAAG,EAAAG,EAAA9Z,KAWA,SAAAka,EAAAnC,EAAA1O,EAAA9W,GACA,IAAAonB,EAaA,OAXAvC,EAAA+C,QAAA/C,EAAAgD,aACAT,EAAA,IAAAS,YAAA/Q,EAAA,CACAgR,OAAA9nB,EACA+nB,SAAA,EACAC,YAAA,KAGAZ,EAAArR,SAAAkS,YAAA,gBACAC,gBAAApR,GAAA,KAAA9W,GAGAwlB,EAAAmC,cAAAP,GAQA,SAAAe,EAAA3C,GACA,IAAA4C,EAAA5C,EAAA6C,wBACA,OACAC,KAAAF,EAAAE,MAAAhrB,OAAAirB,YAAAxS,SAAAyS,gBAAAC,YACAC,IAAAN,EAAAM,KAAAprB,OAAAqrB,YAAA5S,SAAAyS,gBAAAI,YAGA,IAAAC,EAAAhI,EAAAgI,SACAC,EAAA,oCAOA,SAAAC,EAAAlJ,GACA,IAAAmJ,EAAAnJ,EAAAoJ,MAAAH,GACA,OAAAE,MAAA,KAAAH,EAAAK,UAAAF,EAAA,KAAAH,EAAAM,UAAAH,EAAA,KAAAH,EAAAO,MAQA,SAAAC,GAAAxJ,GACA,IAAAyJ,EAAA,aAAAza,QAAA,IAAA0a,MAAAC,WACA,OAAA3J,IAAA,IAAAA,EAAAnf,QAAA,cAAA4oB,EAQA,SAAAG,GAAAC,GACA,IAAAC,EAAAD,EAAAC,OACAC,EAAAF,EAAAE,OACAC,EAAAH,EAAAG,OACAC,EAAAJ,EAAAI,WACAC,EAAAL,EAAAK,WACAC,EAAA,GAEAxF,EAAAsF,IAAA,IAAAA,GACAE,EAAA5qB,KAAA,cAAAyP,OAAAib,EAAA,QAGAtF,EAAAuF,IAAA,IAAAA,GACAC,EAAA5qB,KAAA,cAAAyP,OAAAkb,EAAA,QAIAvF,EAAAmF,IAAA,IAAAA,GACAK,EAAA5qB,KAAA,UAAAyP,OAAA8a,EAAA,SAGAnF,EAAAoF,IAAA,IAAAA,GACAI,EAAA5qB,KAAA,UAAAyP,OAAA+a,EAAA,MAGApF,EAAAqF,IAAA,IAAAA,GACAG,EAAA5qB,KAAA,UAAAyP,OAAAgb,EAAA,MAGA,IAAAI,EAAAD,EAAA7sB,OAAA6sB,EAAAhtB,KAAA,YACA,OACAktB,gBAAAD,EACAE,YAAAF,EACAA,aAqCA,SAAAG,GAAAC,EAAAC,GACA,IAAAC,EAAAF,EAAAE,MACAC,EAAAH,EAAAG,MACAztB,EAAA,CACA0tB,KAAAF,EACAG,KAAAF,GAEA,OAAAF,EAAAvtB,EAAAgoB,EAAA,CACA4F,OAAAJ,EACAK,OAAAJ,GACGztB,GA8BH,IAAA+e,GAAAyI,OAAAzI,UAAA+E,EAAA/E,SAQA,SAAA+O,GAAAC,GAEA,IAAA1I,EAAA0I,EAAA1I,YACA1L,EAAAoU,EAAApU,OACAD,EAAAqU,EAAArU,MACAK,EAAAlC,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,aAEAmW,EAAA,SAAAtqB,GACA,OAAAqb,GAAArb,MAAA,GAGA,GAAAsqB,EAAAtU,IAAAsU,EAAArU,GAAA,CACA,IAAAsU,EAAAtU,EAAA0L,EAEA,YAAAtL,GAAAkU,EAAAvU,GAAA,UAAAK,GAAAkU,EAAAvU,EACAC,EAAAD,EAAA2L,EAEA3L,EAAAC,EAAA0L,OAEG2I,EAAAtU,GACHC,EAAAD,EAAA2L,EACG2I,EAAArU,KACHD,EAAAC,EAAA0L,GAGA,OACA3L,QACAC,UAoHA,IAAAuU,GAAAjM,OAAAiM,aAoBA,IAAAC,GAAA,YA0CA,SAAAC,GAAAC,GACA,IACAC,EADAC,EAAA,IAAAC,SAAAH,GAGA,IACA,IAAAI,EACAC,EACAC,EAEA,SAAAJ,EAAAK,SAAA,UAAAL,EAAAK,SAAA,GAIA,IAHA,IAAAxuB,EAAAmuB,EAAAjR,WACA7Q,EAAA,EAEAA,EAAA,EAAArM,GAAA,CACA,SAAAmuB,EAAAK,SAAAniB,IAAA,MAAA8hB,EAAAK,SAAAniB,EAAA,IACAiiB,EAAAjiB,EACA,MAGAA,GAAA,EAIA,GAAAiiB,EAAA,CACA,IACAG,EAAAH,EAAA,GAEA,YAhFA,SAAAH,EAAAxuB,EAAAK,GACA,IACAa,EADA0R,EAAA,GAIA,IAFAvS,GAAAL,EAEAkB,EAAAlB,EAAiBkB,EAAAb,EAAYa,GAAA,EAC7B0R,GAAAub,GAAAK,EAAAK,SAAA3tB,IAGA,OAAA0R,EAuEAmc,CAAAP,EAHAG,EAAA,EAGA,IACA,IAAAK,EAAAR,EAAAS,UAAAH,GAGA,KAFAJ,EAAA,QAAAM,IAEA,QAAAA,IAGA,KAAAR,EAAAS,UAAAH,EAAA,EAAAJ,GAAA,CACA,IAAAQ,EAAAV,EAAAW,UAAAL,EAAA,EAAAJ,GAEAQ,GAAA,IACAN,EAAAE,EAAAI,KAOA,GAAAN,EAAA,CACA,IAEAQ,EAEAluB,EAJAmuB,EAAAb,EAAAS,UAAAL,EAAAF,GAMA,IAAAxtB,EAAA,EAAiBA,EAAAmuB,EAAanuB,GAAA,EAG9B,GAFAkuB,EAAAR,EAAA,GAAA1tB,EAAA,EAEA,MAAAstB,EAAAS,UAAAG,EAAAV,GAEA,CAEAU,GAAA,EAEAb,EAAAC,EAAAS,UAAAG,EAAAV,GAEAF,EAAAc,UAAAF,EAAA,EAAAV,GACA,QAIG,MAAA5tB,GACHytB,EAAA,EAGA,OAAAA,EA6DA,IAAAjW,GAAA,CACAA,OAAA,WACAnV,KAAAosB,gBACApsB,KAAAqsB,aACArsB,KAAAssB,cACAtsB,KAAAoU,eAEApU,KAAAusB,SACAvsB,KAAAwsB,iBAGAJ,cAAA,WACA,IAAA7G,EAAAvlB,KAAAulB,QACA/X,EAAAxN,KAAAwN,QACAif,EAAAzsB,KAAAysB,UACAC,EAAA1sB,KAAA0sB,QACAhH,EAAAgH,EAAA3L,GACAiF,EAAAT,EAAAxE,GACA,IAAA4L,EAAA,CACAnW,MAAA3X,KAAAoN,IAAAwgB,EAAAG,YAAAtI,OAAA9W,EAAAsW,oBAAA,KACArN,OAAA5X,KAAAoN,IAAAwgB,EAAAI,aAAAvI,OAAA9W,EAAAuW,qBAAA,MAEA/jB,KAAA2sB,gBACArH,EAAAoH,EAAA,CACAlW,MAAAmW,EAAAnW,MACAC,OAAAkW,EAAAlW,SAEAiP,EAAAH,EAAAxE,GACAiF,EAAA0G,EAAA3L,IAGAsL,WAAA,WACA,IAAAM,EAAA3sB,KAAA2sB,cACAG,EAAA9sB,KAAA8sB,UACA/K,EAAA/hB,KAAAwN,QAAAuU,SACAgL,EAAAluB,KAAAiI,IAAAgmB,EAAApD,QAAA,QACAsD,EAAAD,EAAAD,EAAAG,cAAAH,EAAAE,aACAC,EAAAF,EAAAD,EAAAE,aAAAF,EAAAG,cACA9K,EAAA6K,EAAAC,EACAC,EAAAP,EAAAnW,MACA2W,EAAAR,EAAAlW,OAEAkW,EAAAlW,OAAA0L,EAAAwK,EAAAnW,MACA,IAAAuL,EACAmL,EAAAP,EAAAlW,OAAA0L,EAEAgL,EAAAR,EAAAnW,MAAA2L,EAEK,IAAAJ,EACLoL,EAAAR,EAAAnW,MAAA2L,EAEA+K,EAAAP,EAAAlW,OAAA0L,EAGA,IAAAiL,EAAA,CACAjL,cACA6K,eACAC,gBACAzW,MAAA0W,EACAzW,OAAA0W,GAEAC,EAAA/E,MAAAsE,EAAAnW,MAAA0W,GAAA,EACAE,EAAA3E,KAAAkE,EAAAlW,OAAA0W,GAAA,EACAC,EAAAC,QAAAD,EAAA/E,KACA+E,EAAAE,OAAAF,EAAA3E,IACAzoB,KAAAotB,aACAptB,KAAAutB,QAAA,IAAAxL,GAAA,IAAAA,EACA/hB,KAAAwtB,aAAA,MACAxtB,KAAAytB,iBAAA3I,EAAA,GAAqCgI,GACrC9sB,KAAA0tB,kBAAA5I,EAAA,GAAsCsI,IAEtCI,YAAA,SAAAG,EAAAC,GACA,IAAApgB,EAAAxN,KAAAwN,QACAmf,EAAA3sB,KAAA2sB,cACAS,EAAAptB,KAAAotB,WACAS,EAAA7tB,KAAA6tB,YACA9L,EAAAvU,EAAAuU,SACAI,EAAAiL,EAAAjL,YACAoK,EAAAvsB,KAAAusB,SAAAsB,EAEA,GAAAF,EAAA,CACA,IAAAjK,EAAAY,OAAA9W,EAAAkW,iBAAA,EACAC,EAAAW,OAAA9W,EAAAmW,kBAAA,EAEA5B,EAAA,GACA2B,EAAA7kB,KAAAoN,IAAAyX,EAAAiJ,EAAAnW,OACAmN,EAAA9kB,KAAAoN,IAAA0X,EAAAgJ,EAAAlW,QAEA,IAAAsL,IACA4B,EAAAxB,EAAAuB,EACAA,EAAAC,EAAAxB,EAEAwB,EAAAD,EAAAvB,IAGOJ,EAAA,IACP2B,EACAA,EAAA7kB,KAAAoN,IAAAyX,EAAA6I,EAAAsB,EAAArX,MAAA,GACSmN,EACTA,EAAA9kB,KAAAoN,IAAA0X,EAAA4I,EAAAsB,EAAApX,OAAA,GACS8V,IACT7I,EAAAmK,EAAArX,OACAmN,EAAAkK,EAAApX,QAEA0L,EAAAuB,EACAA,EAAAC,EAAAxB,EAEAwB,EAAAD,EAAAvB,IAKA,IAAA2L,EAAAlD,GAAA,CACAzI,cACA3L,MAAAkN,EACAjN,OAAAkN,IAGAD,EAAAoK,EAAAtX,MACAmN,EAAAmK,EAAArX,OACA2W,EAAAW,SAAArK,EACA0J,EAAAY,UAAArK,EACAyJ,EAAAa,SAAAzmB,IACA4lB,EAAAc,UAAA1mB,IAGA,GAAAomB,EACA,GAAA7L,GAAAwK,EAAA,MACA,IAAA4B,EAAAxB,EAAAnW,MAAA4W,EAAA5W,MACA4X,EAAAzB,EAAAlW,OAAA2W,EAAA3W,OACA2W,EAAAiB,QAAAxvB,KAAAyvB,IAAA,EAAAH,GACAf,EAAAmB,OAAA1vB,KAAAyvB,IAAA,EAAAF,GACAhB,EAAAoB,QAAA3vB,KAAAoN,IAAA,EAAAkiB,GACAf,EAAAqB,OAAA5vB,KAAAoN,IAAA,EAAAmiB,GAEA7B,GAAAvsB,KAAAutB,UACAH,EAAAiB,QAAAxvB,KAAAyvB,IAAAT,EAAAxF,KAAAwF,EAAAxF,MAAAwF,EAAArX,MAAA4W,EAAA5W,QACA4W,EAAAmB,OAAA1vB,KAAAyvB,IAAAT,EAAApF,IAAAoF,EAAApF,KAAAoF,EAAApX,OAAA2W,EAAA3W,SACA2W,EAAAoB,QAAAX,EAAAxF,KACA+E,EAAAqB,OAAAZ,EAAApF,IAEA,IAAA1G,IACAqL,EAAA5W,OAAAmW,EAAAnW,QACA4W,EAAAiB,QAAAxvB,KAAAyvB,IAAA,EAAAH,GACAf,EAAAoB,QAAA3vB,KAAAoN,IAAA,EAAAkiB,IAGAf,EAAA3W,QAAAkW,EAAAlW,SACA2W,EAAAmB,OAAA1vB,KAAAyvB,IAAA,EAAAF,GACAhB,EAAAqB,OAAA5vB,KAAAoN,IAAA,EAAAmiB,WAKAhB,EAAAiB,SAAAjB,EAAA5W,MACA4W,EAAAmB,QAAAnB,EAAA3W,OACA2W,EAAAoB,QAAA7B,EAAAnW,MACA4W,EAAAqB,OAAA9B,EAAAlW,QAIArC,aAAA,SAAAsa,EAAAC,GACA,IAAAvB,EAAAptB,KAAAotB,WACAN,EAAA9sB,KAAA8sB,UAEA,GAAA6B,EAAA,CACA,IAAAC,EApdA,SAAAC,GACA,IAAArY,EAAAqY,EAAArY,MACAC,EAAAoY,EAAApY,OACA/M,EAAAmlB,EAAAnlB,OAGA,QAFAA,EAAA7K,KAAAiI,IAAA4C,GAAA,KAGA,OACA8M,MAAAC,EACAA,OAAAD,GAIA,IAAAsY,EAAAplB,EAAA,GAAA7K,KAAAkwB,GAAA,IACAC,EAAAnwB,KAAAowB,IAAAH,GACAI,EAAArwB,KAAAswB,IAAAL,GACAM,EAAA5Y,EAAA0Y,EAAAzY,EAAAuY,EACAK,EAAA7Y,EAAAwY,EAAAvY,EAAAyY,EACA,OAAAxlB,EAAA,IACA8M,MAAA6Y,EACA5Y,OAAA2Y,GACG,CACH5Y,MAAA4Y,EACA3Y,OAAA4Y,GA6bAC,CAAA,CACA9Y,MAAAsW,EAAAE,aAAAnuB,KAAAiI,IAAAgmB,EAAAnD,QAAA,GACAlT,OAAAqW,EAAAG,cAAApuB,KAAAiI,IAAAgmB,EAAAlD,QAAA,GACAlgB,OAAAojB,EAAApD,QAAA,IAEAsD,EAAA4B,EAAApY,MACAyW,EAAA2B,EAAAnY,OAEAD,EAAA4W,EAAA5W,OAAAwW,EAAAI,EAAAJ,cACAvW,EAAA2W,EAAA3W,QAAAwW,EAAAG,EAAAH,eACAG,EAAA/E,OAAA7R,EAAA4W,EAAA5W,OAAA,EACA4W,EAAA3E,MAAAhS,EAAA2W,EAAA3W,QAAA,EACA2W,EAAA5W,QACA4W,EAAA3W,SACA2W,EAAAjL,YAAA6K,EAAAC,EACAG,EAAAJ,eACAI,EAAAH,gBACAjtB,KAAAwtB,aAAA,OAGAJ,EAAA5W,MAAA4W,EAAAa,UAAAb,EAAA5W,MAAA4W,EAAAW,YACAX,EAAA/E,KAAA+E,EAAAC,UAGAD,EAAA3W,OAAA2W,EAAAc,WAAAd,EAAA3W,OAAA2W,EAAAY,aACAZ,EAAA3E,IAAA2E,EAAAE,QAGAF,EAAA5W,MAAA3X,KAAAyvB,IAAAzvB,KAAAoN,IAAAmhB,EAAA5W,MAAA4W,EAAAW,UAAAX,EAAAa,UACAb,EAAA3W,OAAA5X,KAAAyvB,IAAAzvB,KAAAoN,IAAAmhB,EAAA3W,OAAA2W,EAAAY,WAAAZ,EAAAc,WACAluB,KAAAwtB,aAAA,MACAJ,EAAA/E,KAAAxpB,KAAAyvB,IAAAzvB,KAAAoN,IAAAmhB,EAAA/E,KAAA+E,EAAAiB,SAAAjB,EAAAoB,SACApB,EAAA3E,IAAA5pB,KAAAyvB,IAAAzvB,KAAAoN,IAAAmhB,EAAA3E,IAAA2E,EAAAmB,QAAAnB,EAAAqB,QACArB,EAAAC,QAAAD,EAAA/E,KACA+E,EAAAE,OAAAF,EAAA3E,IACAnD,EAAAtlB,KAAAsU,OAAAwQ,EAAA,CACAtO,MAAA4W,EAAA5W,MACAC,OAAA2W,EAAA3W,QACK+S,GAAA,CACLK,WAAAuD,EAAA/E,KACAyB,WAAAsD,EAAA3E,QAEAzoB,KAAAuvB,YAAAb,GAEA1uB,KAAAusB,SAAAvsB,KAAAutB,SACAvtB,KAAAwvB,cAAA,OAGAD,YAAA,SAAAb,GACA,IAAAtB,EAAAptB,KAAAotB,WACAN,EAAA9sB,KAAA8sB,UACAtW,EAAAsW,EAAAE,cAAAI,EAAA5W,MAAA4W,EAAAJ,cACAvW,EAAAqW,EAAAG,eAAAG,EAAA3W,OAAA2W,EAAAH,eACAnI,EAAAgI,EAAA,CACAtW,QACAC,SACA4R,MAAA+E,EAAA5W,SAAA,EACAiS,KAAA2E,EAAA3W,UAAA,IAEA6O,EAAAtlB,KAAAoW,MAAA0O,EAAA,CACAtO,MAAAsW,EAAAtW,MACAC,OAAAqW,EAAArW,QACK+S,GAAA1E,EAAA,CACL+E,WAAAiD,EAAAzE,KACAyB,WAAAgD,EAAArE,KACKqE,MAEL4B,GACA1uB,KAAAyvB,UAGAnD,YAAA,WACA,IAAA9e,EAAAxN,KAAAwN,QACA4f,EAAAptB,KAAAotB,WACAjL,EAAA3U,EAAA2U,aAAA3U,EAAAyU,mBACAc,EAAAuB,OAAA9W,EAAAuV,eAAA,GACA8K,EAAA,CACArX,MAAA4W,EAAA5W,MACAC,OAAA2W,EAAA3W,QAGA0L,IACAiL,EAAA3W,OAAA0L,EAAAiL,EAAA5W,MACAqX,EAAApX,OAAAoX,EAAArX,MAAA2L,EAEA0L,EAAArX,MAAAqX,EAAApX,OAAA0L,GAIAniB,KAAA6tB,cACA7tB,KAAAwvB,cAAA,MAEA3B,EAAArX,MAAA3X,KAAAyvB,IAAAzvB,KAAAoN,IAAA4hB,EAAArX,MAAAqX,EAAAE,UAAAF,EAAAI,UACAJ,EAAApX,OAAA5X,KAAAyvB,IAAAzvB,KAAAoN,IAAA4hB,EAAApX,OAAAoX,EAAAG,WAAAH,EAAAK,WAEAL,EAAArX,MAAA3X,KAAAoN,IAAA4hB,EAAAE,SAAAF,EAAArX,MAAAuM,GACA8K,EAAApX,OAAA5X,KAAAoN,IAAA4hB,EAAAG,UAAAH,EAAApX,OAAAsM,GACA8K,EAAAxF,KAAA+E,EAAA/E,MAAA+E,EAAA5W,MAAAqX,EAAArX,OAAA,EACAqX,EAAApF,IAAA2E,EAAA3E,KAAA2E,EAAA3W,OAAAoX,EAAApX,QAAA,EACAoX,EAAAR,QAAAQ,EAAAxF,KACAwF,EAAAP,OAAAO,EAAApF,IACAzoB,KAAA0vB,mBAAA5K,EAAA,GAAuC+I,IAEvC2B,aAAA,SAAA7B,EAAAC,GACA,IAAApgB,EAAAxN,KAAAwN,QACAmf,EAAA3sB,KAAA2sB,cACAS,EAAAptB,KAAAotB,WACAS,EAAA7tB,KAAA6tB,YACAN,EAAAvtB,KAAAutB,QACApL,EAAA3U,EAAA2U,YAEA,GAAAwL,EAAA,CACA,IAAA/J,EAAAU,OAAA9W,EAAAoW,kBAAA,EACAC,EAAAS,OAAA9W,EAAAqW,mBAAA,EACA8L,EAAApC,EAAA1uB,KAAAyvB,IAAA3B,EAAAnW,MAAA4W,EAAA5W,MAAA4W,EAAA5W,MAAA4W,EAAA/E,KAAAsE,EAAAnW,MAAA4W,EAAA/E,MAAAsE,EAAAnW,MACAoZ,EAAArC,EAAA1uB,KAAAyvB,IAAA3B,EAAAlW,OAAA2W,EAAA3W,OAAA2W,EAAA3W,OAAA2W,EAAA3E,IAAAkE,EAAAlW,OAAA2W,EAAA3E,KAAAkE,EAAAlW,OAEAmN,EAAA/kB,KAAAyvB,IAAA1K,EAAA+I,EAAAnW,OACAqN,EAAAhlB,KAAAyvB,IAAAzK,EAAA8I,EAAAlW,QAEA0L,IACAyB,GAAAC,EACAA,EAAA1B,EAAAyB,EACAC,EAAAD,EAAAzB,EAEAyB,EAAAC,EAAA1B,EAESyB,EACTC,EAAAD,EAAAzB,EACS0B,IACTD,EAAAC,EAAA1B,GAGAyN,EAAAzN,EAAAwN,EACAC,EAAAD,EAAAxN,EAEAwN,EAAAC,EAAAzN,GAKA0L,EAAAE,SAAAlvB,KAAAyvB,IAAA1K,EAAA+L,GACA9B,EAAAG,UAAAnvB,KAAAyvB,IAAAzK,EAAA+L,GACA/B,EAAAI,SAAA0B,EACA9B,EAAAK,UAAA0B,EAGAhC,IACAL,GACAM,EAAAQ,QAAAxvB,KAAAoN,IAAA,EAAAmhB,EAAA/E,MACAwF,EAAAU,OAAA1vB,KAAAoN,IAAA,EAAAmhB,EAAA3E,KACAoF,EAAAW,QAAA3vB,KAAAyvB,IAAA3B,EAAAnW,MAAA4W,EAAA/E,KAAA+E,EAAA5W,OAAAqX,EAAArX,MACAqX,EAAAY,OAAA5vB,KAAAyvB,IAAA3B,EAAAlW,OAAA2W,EAAA3E,IAAA2E,EAAA3W,QAAAoX,EAAApX,SAEAoX,EAAAQ,QAAA,EACAR,EAAAU,OAAA,EACAV,EAAAW,QAAA7B,EAAAnW,MAAAqX,EAAArX,MACAqX,EAAAY,OAAA9B,EAAAlW,OAAAoX,EAAApX,UAIA+V,cAAA,WACA,IAAAhf,EAAAxN,KAAAwN,QACAmf,EAAA3sB,KAAA2sB,cACAkB,EAAA7tB,KAAA6tB,aAEAA,EAAArX,MAAAqX,EAAAI,UAAAJ,EAAArX,MAAAqX,EAAAE,YACAF,EAAAxF,KAAAwF,EAAAR,UAGAQ,EAAApX,OAAAoX,EAAAK,WAAAL,EAAApX,OAAAoX,EAAAG,aACAH,EAAApF,IAAAoF,EAAAP,QAGAO,EAAArX,MAAA3X,KAAAyvB,IAAAzvB,KAAAoN,IAAA4hB,EAAArX,MAAAqX,EAAAE,UAAAF,EAAAI,UACAJ,EAAApX,OAAA5X,KAAAyvB,IAAAzvB,KAAAoN,IAAA4hB,EAAApX,OAAAoX,EAAAG,WAAAH,EAAAK,WACAluB,KAAAwvB,cAAA,MACA3B,EAAAxF,KAAAxpB,KAAAyvB,IAAAzvB,KAAAoN,IAAA4hB,EAAAxF,KAAAwF,EAAAQ,SAAAR,EAAAW,SACAX,EAAApF,IAAA5pB,KAAAyvB,IAAAzvB,KAAAoN,IAAA4hB,EAAApF,IAAAoF,EAAAU,QAAAV,EAAAY,QACAZ,EAAAR,QAAAQ,EAAAxF,KACAwF,EAAAP,OAAAO,EAAApF,IAEAjb,EAAAwV,SAAAxV,EAAA+V,gBAEAkD,EAAAzmB,KAAA6vB,KAAAzO,EAAAyM,EAAArX,OAAAmW,EAAAnW,OAAAqX,EAAApX,QAAAkW,EAAAlW,OA53CA,OAFA,OAi4CA6O,EAAAtlB,KAAA8vB,QAAAhL,EAAA,CACAtO,MAAAqX,EAAArX,MACAC,OAAAoX,EAAApX,QACK+S,GAAA,CACLK,WAAAgE,EAAAxF,KACAyB,WAAA+D,EAAApF,QAGAzoB,KAAAusB,SAAAvsB,KAAAutB,SACAvtB,KAAAwtB,aAAA,MAGAxtB,KAAA+vB,UACA/vB,KAAAyvB,UAGAA,OAAA,WACAzvB,KAAAoiB,UACAsF,EAAA1nB,KAAAulB,QAv3CA,OAu3CAvlB,KAAAsmB,aAIAlE,GAAA,CACA4N,YAAA,WACA,IAAAC,EAAAjwB,KAAAiwB,YACA7N,EAAApiB,KAAAwN,QAAA4U,QACAxC,EAAAqQ,EAAAjwB,KAAAkwB,eAAAlwB,KAAA4f,IACAxJ,EAAAN,SAAAC,cAAA,OAUA,GARAka,IACA7Z,EAAA6Z,eAGA7Z,EAAA2F,IAAA6D,EACA5f,KAAAiY,QAAAkY,YAAA/Z,GACApW,KAAAowB,aAAAha,EAEAgM,EAAA,CAIA,IAAAiO,EAAAjO,EAEA,iBAAAA,EACAiO,EAAArwB,KAAAulB,QAAA+K,cAAAC,iBAAAnO,GACKA,EAAAoO,gBACLH,EAAA,CAAAjO,IAGApiB,KAAAqwB,WACAzlB,EAAAylB,EAAA,SAAAI,GACA,IAAAC,EAAA5a,SAAAC,cAAA,OAEA0Q,EAAAgK,EAAApP,EAAA,CACA7K,MAAAia,EAAA7D,YACAnW,OAAAga,EAAA5D,aACA8D,KAAAF,EAAA5Q,YAGAoQ,IACAS,EAAAT,eAGAS,EAAA3U,IAAA6D,EAQA8Q,EAAAha,MAAAka,QAAA,0KACAH,EAAA5Q,UAAA,GACA4Q,EAAAN,YAAAO,OAGAG,aAAA,WACAjmB,EAAA5K,KAAAqwB,SAAA,SAAA9K,GACA,IAAAxlB,EAAAumB,EAAAf,EAAAlE,GACAiE,EAAAC,EAAA,CACA/O,MAAAzW,EAAAyW,MACAC,OAAA1W,EAAA0W,SAEA8O,EAAA1F,UAAA9f,EAAA4wB,KAzjCA,SAAApL,EAAA3G,GACA,GAAA6F,EAAAc,EAAA3G,IACA,WACA2G,EAAA3G,GACK,MAAAjhB,GACL4nB,EAAA3G,QAAAniB,OAEG,GAAA8oB,EAAAgB,QAEH,WACAhB,EAAAgB,QAAA3H,GACK,MAAAjhB,GACL4nB,EAAAgB,QAAA3H,QAAAniB,OAGA8oB,EAAAuL,gBAAA,QAAAliB,OAAAyX,EAAAzH,KA2iCAmS,CAAAxL,EAAAlE,MAGAe,QAAA,WACA,IAAA0K,EAAA9sB,KAAA8sB,UACAM,EAAAptB,KAAAotB,WACAS,EAAA7tB,KAAA6tB,YACAmD,EAAAnD,EAAArX,MACAya,EAAApD,EAAApX,OACAD,EAAAsW,EAAAtW,MACAC,EAAAqW,EAAArW,OACA4R,EAAAwF,EAAAxF,KAAA+E,EAAA/E,KAAAyE,EAAAzE,KACAI,EAAAoF,EAAApF,IAAA2E,EAAA3E,IAAAqE,EAAArE,IAEAzoB,KAAAusB,UAAAvsB,KAAA+vB,WAIAzK,EAAAtlB,KAAAowB,aAAAtL,EAAA,CACAtO,QACAC,UACK+S,GAAA1E,EAAA,CACL+E,YAAAxB,EACAyB,YAAArB,GACKqE,MACLliB,EAAA5K,KAAAqwB,SAAA,SAAA9K,GACA,IAAAxlB,EAAAumB,EAAAf,EAAAlE,GACA6P,EAAAnxB,EAAAyW,MACA2a,EAAApxB,EAAA0W,OACA2Y,EAAA8B,EACA7B,EAAA8B,EACAC,EAAA,EAEAJ,IAEA3B,EAAA4B,GADAG,EAAAF,EAAAF,IAIAC,GAAA5B,EAAA8B,IAEA/B,EAAA4B,GADAI,EAAAD,EAAAF,GAEA5B,EAAA8B,GAGA7L,EAAAC,EAAA,CACA/O,MAAA4Y,EACA3Y,OAAA4Y,IAEA/J,EAAAC,EAAA8L,qBAAA,UAAAvM,EAAA,CACAtO,QAAA4a,EACA3a,SAAA2a,GACO5H,GAAA1E,EAAA,CACP+E,YAAAxB,EAAA+I,EACAtH,YAAArB,EAAA2I,GACOtE,WAKPwE,GAAA,CACAhkB,KAAA,WACA,IAAAiY,EAAAvlB,KAAAulB,QACA/X,EAAAxN,KAAAwN,QACAkf,EAAA1sB,KAAA0sB,QAEA9H,EAAApX,EAAAyW,YACAoD,EAAA9B,EAx/CA,YAw/CA/X,EAAAyW,WAGAW,EAAApX,EAAA0W,WACAmD,EAAA9B,EA7/CA,WA6/CA/X,EAAA0W,UAGAU,EAAApX,EAAA2W,UACAkD,EAAA9B,EAlgDA,UAkgDA/X,EAAA2W,SAGAS,EAAApX,EAAA4W,OACAiD,EAAA9B,EAvgDA,OAugDA/X,EAAA4W,MAGAQ,EAAApX,EAAA6W,OACAgD,EAAA9B,EAhgDA,OAggDA/X,EAAA6W,MAGAgD,EAAAqF,EAAApL,EAAAthB,KAAAuxB,YAAAvxB,KAAAwxB,UAAAlkB,KAAAtN,OAEAwN,EAAA2V,UAAA3V,EAAA6V,aACAgE,EAAAqF,EAvgDA,kCAugDA1sB,KAAAyxB,QAAAzxB,KAAA0xB,MAAApkB,KAAAtN,OAGAwN,EAAAiW,0BACA4D,EAAAqF,EAjhDA,WAihDA1sB,KAAA2xB,WAAA3xB,KAAA4xB,SAAAtkB,KAAAtN,OAGAqnB,EAAA9B,EAAA+K,cAAA9O,EAAAxhB,KAAA6xB,WAAA7xB,KAAA8xB,SAAAxkB,KAAAtN,OACAqnB,EAAA9B,EAAA+K,cAAA7O,EAAAzhB,KAAA+xB,UAAA/xB,KAAAgyB,QAAA1kB,KAAAtN,OAEAwN,EAAA6U,YACAgF,EAAAhqB,OAnhDA,SAmhDA2C,KAAAiyB,SAAAjyB,KAAAkyB,OAAA5kB,KAAAtN,QAGAmyB,OAAA,WACA,IAAA5M,EAAAvlB,KAAAulB,QACA/X,EAAAxN,KAAAwN,QACAkf,EAAA1sB,KAAA0sB,QAEA9H,EAAApX,EAAAyW,YACAiD,EAAA3B,EAliDA,YAkiDA/X,EAAAyW,WAGAW,EAAApX,EAAA0W,WACAgD,EAAA3B,EAviDA,WAuiDA/X,EAAA0W,UAGAU,EAAApX,EAAA2W,UACA+C,EAAA3B,EA5iDA,UA4iDA/X,EAAA2W,SAGAS,EAAApX,EAAA4W,OACA8C,EAAA3B,EAjjDA,OAijDA/X,EAAA4W,MAGAQ,EAAApX,EAAA6W,OACA6C,EAAA3B,EA1iDA,OA0iDA/X,EAAA6W,MAGA6C,EAAAwF,EAAApL,EAAAthB,KAAAuxB,aAEA/jB,EAAA2V,UAAA3V,EAAA6V,aACA6D,EAAAwF,EAjjDA,kCAijDA1sB,KAAAyxB,SAGAjkB,EAAAiW,0BACAyD,EAAAwF,EA3jDA,WA2jDA1sB,KAAA2xB,YAGAzK,EAAA3B,EAAA+K,cAAA9O,EAAAxhB,KAAA6xB,YACA3K,EAAA3B,EAAA+K,cAAA7O,EAAAzhB,KAAA+xB,WAEAvkB,EAAA6U,YACA6E,EAAA7pB,OA7jDA,SA6jDA2C,KAAAiyB,YAKAG,GAAA,CACAF,OAAA,WACA,IAAA1kB,EAAAxN,KAAAwN,QACAif,EAAAzsB,KAAAysB,UACAE,EAAA3sB,KAAA2sB,cACA7I,EAAAQ,OAAA9W,EAAAsW,oBAAA,IACAC,EAAAO,OAAA9W,EAAAuW,qBAAA,IAEA,KAAA/jB,KAAA+vB,UAAApD,EAAAnW,OAAAsN,GAAA6I,EAAAlW,QAAAsN,GAAA,CAIA,IAGAqJ,EACAS,EAJAuD,EAAA3E,EAAAG,YAAAD,EAAAnW,MAEA,OAAA4a,GAAA3E,EAAAI,eAAAF,EAAAlW,OAIAjJ,EAAA8U,UACA8K,EAAAptB,KAAAqyB,gBACAxE,EAAA7tB,KAAAsyB,kBAGAtyB,KAAAmV,SAEA3H,EAAA8U,UACAtiB,KAAAuyB,cAAA3nB,EAAAwiB,EAAA,SAAAxvB,EAAAG,GACAqvB,EAAArvB,GAAAH,EAAAwzB,KAEApxB,KAAAwyB,eAAA5nB,EAAAijB,EAAA,SAAAjwB,EAAAG,GACA8vB,EAAA9vB,GAAAH,EAAAwzB,QAKAQ,SAAA,WAx3CA,IAAArM,EAAA/kB,EAy3CAR,KAAA+vB,UAjnDA,SAinDA/vB,KAAAwN,QAAAwU,UAIAhiB,KAAAyyB,aA73CAlN,EA63CAvlB,KAAA0yB,QA73CAlyB,EA63CAqgB,GA53CA0E,EAAAK,UAAAL,EAAAK,UAAA+M,SAAAnyB,GAAA+kB,EAAAO,UAAArlB,QAAAD,IAAA,GA1PA,OADA,UAynDAkxB,MAAA,SAAA/zB,GACA,IAAA+hB,EAAA1f,KAEAoxB,EAAA9M,OAAAtkB,KAAAwN,QAAA8V,iBAAA,GACAsP,EAAA,EAEA5yB,KAAA+vB,WAIApyB,EAAAk1B,iBAEA7yB,KAAA8yB,WAIA9yB,KAAA8yB,UAAA,EACAC,WAAA,WACArT,EAAAoT,UAAA,GACK,IAELn1B,EAAAq1B,OACAJ,EAAAj1B,EAAAq1B,OAAA,OACKr1B,EAAAs1B,WACLL,GAAAj1B,EAAAs1B,WAAA,IACKt1B,EAAAkqB,SACL+K,EAAAj1B,EAAAkqB,OAAA,QAGA7nB,KAAAqkB,MAAAuO,EAAAxB,EAAAzzB,MAEA6zB,UAAA,SAAA7zB,GACA,IAAAqC,KAAA+vB,SAAA,CAIA,IAEAmD,EAFA1lB,EAAAxN,KAAAwN,QACA2lB,EAAAnzB,KAAAmzB,SAGAx1B,EAAAy1B,eAEAxoB,EAAAjN,EAAAy1B,eAAA,SAAAC,GACAF,EAAAE,EAAAC,YAAAnJ,GAAAkJ,KAIAF,EAAAx1B,EAAA41B,WAAA,GAAApJ,GAAAxsB,GAIAu1B,EADA9rB,OAAAC,KAAA8rB,GAAAj2B,OAAA,GAAAsQ,EAAA2V,UAAA3V,EAAA4V,YAhsDA,OAmsDAkD,EAAA3oB,EAAA2e,OAAA8E,GAGAM,EAAAhS,KAAAwjB,KAOK,IAHLxL,EAAA1nB,KAAAulB,QA9qDA,YA8qDA,CACAiO,cAAA71B,EACAu1B,aAMAv1B,EAAAk1B,iBACA7yB,KAAAkzB,SACAlzB,KAAAyzB,UAAA,EAttDA,SAwtDAP,IACAlzB,KAAAyzB,UAAA,EACA/N,EAAA1lB,KAAA0yB,QAAAxR,OAGA4Q,SAAA,SAAAn0B,GACA,IAAAu1B,EAAAlzB,KAAAkzB,OAEA,IAAAlzB,KAAA+vB,UAAAmD,EAAA,CAIA,IAAAC,EAAAnzB,KAAAmzB,SACAx1B,EAAAk1B,kBAKK,IAHLnL,EAAA1nB,KAAAulB,QA1sDA,WA0sDA,CACAiO,cAAA71B,EACAu1B,aAKAv1B,EAAAy1B,eACAxoB,EAAAjN,EAAAy1B,eAAA,SAAAC,GAEAvO,EAAAqO,EAAAE,EAAAC,aAAA,GAA+CnJ,GAAAkJ,GAAA,MAG/CvO,EAAAqO,EAAAx1B,EAAA41B,WAAA,OAA6CpJ,GAAAxsB,GAAA,IAG7CqC,KAAA0zB,OAAA/1B,MAEAq0B,QAAA,SAAAr0B,GACA,IAAAqC,KAAA+vB,SAAA,CAIA,IAAAmD,EAAAlzB,KAAAkzB,OACAC,EAAAnzB,KAAAmzB,SAEAx1B,EAAAy1B,eACAxoB,EAAAjN,EAAAy1B,eAAA,SAAAC,UACAF,EAAAE,EAAAC,qBAGAH,EAAAx1B,EAAA41B,WAAA,GAGAL,IAIAv1B,EAAAk1B,iBAEAzrB,OAAAC,KAAA8rB,GAAAj2B,SACA8C,KAAAkzB,OAAA,IAGAlzB,KAAAyzB,WACAzzB,KAAAyzB,UAAA,EACAvN,EAAAlmB,KAAA0yB,QAAAxR,EAAAlhB,KAAAusB,SAAAvsB,KAAAwN,QAAAiV,QAGAiF,EAAA1nB,KAAAulB,QA5vDA,UA4vDA,CACAiO,cAAA71B,EACAu1B,eAKAQ,GAAA,CACAA,OAAA,SAAA/1B,GACA,IAkBA4L,EAlBAiE,EAAAxN,KAAAwN,QACA4f,EAAAptB,KAAAotB,WACAT,EAAA3sB,KAAA2sB,cACAkB,EAAA7tB,KAAA6tB,YACAsF,EAAAnzB,KAAAmzB,SACAD,EAAAlzB,KAAAkzB,OACA/Q,EAAA3U,EAAA2U,YACAkG,EAAAwF,EAAAxF,KACAI,EAAAoF,EAAApF,IACAjS,EAAAqX,EAAArX,MACAC,EAAAoX,EAAApX,OACAkd,EAAAtL,EAAA7R,EACAod,EAAAnL,EAAAhS,EACA4X,EAAA,EACAE,EAAA,EACAN,EAAAtB,EAAAnW,MACA0X,EAAAvB,EAAAlW,OACAod,GAAA,GAGA1R,GAAAxkB,EAAAm2B,WACA3R,EAAA3L,GAAAC,EAAAD,EAAAC,EAAA,GAGAzW,KAAAutB,UACAc,EAAAR,EAAAQ,QACAE,EAAAV,EAAAU,OACAN,EAAAI,EAAAxvB,KAAAyvB,IAAA3B,EAAAnW,MAAA4W,EAAA5W,MAAA4W,EAAA/E,KAAA+E,EAAA5W,OACA0X,EAAAK,EAAA1vB,KAAAyvB,IAAA3B,EAAAlW,OAAA2W,EAAA3W,OAAA2W,EAAA3E,IAAA2E,EAAA3W,SAGA,IAAAsd,EAAAZ,EAAA/rB,OAAAC,KAAA8rB,GAAA,IACAa,EAAA,CACA7vB,EAAA4vB,EAAAvJ,KAAAuJ,EAAArJ,OACAnmB,EAAAwvB,EAAAtJ,KAAAsJ,EAAApJ,QAGAsJ,EAAA,SAAAC,GACA,OAAAA,GACA,IAr0DA,IAs0DAP,EAAAK,EAAA7vB,EAAA8pB,IACA+F,EAAA7vB,EAAA8pB,EAAA0F,GAGA,MAEA,IA30DA,IA40DAtL,EAAA2L,EAAA7vB,EAAAkqB,IACA2F,EAAA7vB,EAAAkqB,EAAAhG,GAGA,MAEA,IAh1DA,IAi1DAI,EAAAuL,EAAAzvB,EAAAgqB,IACAyF,EAAAzvB,EAAAgqB,EAAA9F,GAGA,MAEA,IAx1DA,IAy1DAmL,EAAAI,EAAAzvB,EAAA2pB,IACA8F,EAAAzvB,EAAA2pB,EAAA0F,KASA,OAAAV,GAEA,IA32DA,MA42DA7K,GAAA2L,EAAA7vB,EACAskB,GAAAuL,EAAAzvB,EACA,MAGA,IA72DA,IA82DA,GAAAyvB,EAAA7vB,GAAA,IAAAwvB,GAAA1F,GAAA9L,IAAAsG,GAAA8F,GAAAqF,GAAA1F,IAAA,CACA2F,GAAA,EACA,MAGAI,EAn3DA,MAo3DAzd,GAAAwd,EAAA7vB,GAEA,IACA+uB,EAt3DA,IAw3DA7K,GADA7R,MAIA2L,IACA1L,EAAAD,EAAA2L,EACAsG,IAAAoF,EAAApX,UAAA,GAGA,MAEA,IAh4DA,IAi4DA,GAAAud,EAAAzvB,GAAA,IAAAkkB,GAAA8F,GAAApM,IAAAkG,GAAAgG,GAAAsF,GAAA1F,IAAA,CACA4F,GAAA,EACA,MAGAI,EAt4DA,KAu4DAxd,GAAAud,EAAAzvB,EACAkkB,GAAAuL,EAAAzvB,EAEAkS,EAAA,IACAyc,EA54DA,IA84DAzK,GADAhS,MAIA0L,IACA3L,EAAAC,EAAA0L,EACAkG,IAAAwF,EAAArX,SAAA,GAGA,MAEA,IAz5DA,IA05DA,GAAAwd,EAAA7vB,GAAA,IAAAkkB,GAAAgG,GAAAlM,IAAAsG,GAAA8F,GAAAqF,GAAA1F,IAAA,CACA2F,GAAA,EACA,MAGAI,EA/5DA,KAg6DAzd,GAAAwd,EAAA7vB,EACAkkB,GAAA2L,EAAA7vB,EAEAqS,EAAA,IACA0c,EAr6DA,IAu6DA7K,GADA7R,MAIA2L,IACA1L,EAAAD,EAAA2L,EACAsG,IAAAoF,EAAApX,UAAA,GAGA,MAEA,IA/6DA,IAg7DA,GAAAud,EAAAzvB,GAAA,IAAAqvB,GAAA1F,GAAA/L,IAAAkG,GAAAgG,GAAAsF,GAAA1F,IAAA,CACA4F,GAAA,EACA,MAGAI,EAr7DA,MAs7DAxd,GAAAud,EAAAzvB,GAEA,IACA2uB,EAx7DA,IA07DAzK,GADAhS,MAIA0L,IACA3L,EAAAC,EAAA0L,EACAkG,IAAAwF,EAAArX,SAAA,GAGA,MAEA,IAn8DA,KAo8DA,GAAA2L,EAAA,CACA,GAAA6R,EAAAzvB,GAAA,IAAAkkB,GAAA8F,GAAAoF,GAAA1F,GAAA,CACA4F,GAAA,EACA,MAGAI,EA38DA,KA48DAxd,GAAAud,EAAAzvB,EACAkkB,GAAAuL,EAAAzvB,EACAiS,EAAAC,EAAA0L,OAEA8R,EAh9DA,KAi9DAA,EAp9DA,KAs9DAD,EAAA7vB,GAAA,EACAwvB,EAAA1F,EACAzX,GAAAwd,EAAA7vB,EACa6vB,EAAAzvB,GAAA,GAAAkkB,GAAA8F,IACbsF,GAAA,GAGArd,GAAAwd,EAAA7vB,EAGA6vB,EAAAzvB,GAAA,EACAkkB,EAAA8F,IACA9X,GAAAud,EAAAzvB,EACAkkB,GAAAuL,EAAAzvB,IAGAkS,GAAAud,EAAAzvB,EACAkkB,GAAAuL,EAAAzvB,GAIAiS,EAAA,GAAAC,EAAA,GACAyc,EAr+DA,KAw+DAzK,GAFAhS,KAGA4R,GAFA7R,MAGSA,EAAA,GACT0c,EA7+DA,KA++DA7K,GADA7R,MAESC,EAAA,IACTyc,EAh/DA,KAk/DAzK,GADAhS,MAIA,MAEA,IAx/DA,KAy/DA,GAAA0L,EAAA,CACA,GAAA6R,EAAAzvB,GAAA,IAAAkkB,GAAA8F,GAAAlG,GAAAgG,GAAA,CACAwF,GAAA,EACA,MAGAI,EAjgEA,KAkgEAxd,GAAAud,EAAAzvB,EACAkkB,GAAAuL,EAAAzvB,EACAiS,EAAAC,EAAA0L,EACAkG,GAAAwF,EAAArX,aAEAyd,EAvgEA,KAwgEAA,EA1gEA,KA4gEAD,EAAA7vB,GAAA,EACAkkB,EAAAgG,GACA7X,GAAAwd,EAAA7vB,EACAkkB,GAAA2L,EAAA7vB,GACa6vB,EAAAzvB,GAAA,GAAAkkB,GAAA8F,IACbsF,GAAA,IAGArd,GAAAwd,EAAA7vB,EACAkkB,GAAA2L,EAAA7vB,GAGA6vB,EAAAzvB,GAAA,EACAkkB,EAAA8F,IACA9X,GAAAud,EAAAzvB,EACAkkB,GAAAuL,EAAAzvB,IAGAkS,GAAAud,EAAAzvB,EACAkkB,GAAAuL,EAAAzvB,GAIAiS,EAAA,GAAAC,EAAA,GACAyc,EA/hEA,KAkiEAzK,GAFAhS,KAGA4R,GAFA7R,MAGSA,EAAA,GACT0c,EAviEA,KAyiEA7K,GADA7R,MAESC,EAAA,IACTyc,EAxiEA,KA0iEAzK,GADAhS,MAIA,MAEA,IA/iEA,KAgjEA,GAAA0L,EAAA,CACA,GAAA6R,EAAA7vB,GAAA,IAAAkkB,GAAAgG,GAAAuF,GAAA1F,GAAA,CACA2F,GAAA,EACA,MAGAI,EA5jEA,KA6jEAzd,GAAAwd,EAAA7vB,EACAkkB,GAAA2L,EAAA7vB,EACAsS,EAAAD,EAAA2L,OAEA8R,EAhkEA,KAikEAA,EAlkEA,KAokEAD,EAAA7vB,GAAA,EACAkkB,EAAAgG,GACA7X,GAAAwd,EAAA7vB,EACAkkB,GAAA2L,EAAA7vB,GACa6vB,EAAAzvB,GAAA,GAAAqvB,GAAA1F,IACb2F,GAAA,IAGArd,GAAAwd,EAAA7vB,EACAkkB,GAAA2L,EAAA7vB,GAGA6vB,EAAAzvB,GAAA,EACAqvB,EAAA1F,IACAzX,GAAAud,EAAAzvB,GAGAkS,GAAAud,EAAAzvB,EAIAiS,EAAA,GAAAC,EAAA,GACAyc,EAvlEA,KA0lEAzK,GAFAhS,KAGA4R,GAFA7R,MAGSA,EAAA,GACT0c,EA3lEA,KA6lEA7K,GADA7R,MAESC,EAAA,IACTyc,EAhmEA,KAkmEAzK,GADAhS,MAIA,MAEA,IAtmEA,KAumEA,GAAA0L,EAAA,CACA,GAAA6R,EAAA7vB,GAAA,IAAAwvB,GAAA1F,GAAA2F,GAAA1F,GAAA,CACA2F,GAAA,EACA,MAGAI,EAnnEA,KAqnEAxd,GADAD,GAAAwd,EAAA7vB,GACAge,OAEA8R,EArnEA,KAsnEAA,EAxnEA,KA0nEAD,EAAA7vB,GAAA,EACAwvB,EAAA1F,EACAzX,GAAAwd,EAAA7vB,EACa6vB,EAAAzvB,GAAA,GAAAqvB,GAAA1F,IACb2F,GAAA,GAGArd,GAAAwd,EAAA7vB,EAGA6vB,EAAAzvB,GAAA,EACAqvB,EAAA1F,IACAzX,GAAAud,EAAAzvB,GAGAkS,GAAAud,EAAAzvB,EAIAiS,EAAA,GAAAC,EAAA,GACAyc,EAzoEA,KA4oEAzK,GAFAhS,KAGA4R,GAFA7R,MAGSA,EAAA,GACT0c,EA7oEA,KA+oEA7K,GADA7R,MAESC,EAAA,IACTyc,EAppEA,KAspEAzK,GADAhS,MAIA,MAGA,IAlqEA,OAmqEAzW,KAAAm0B,KAAAH,EAAA7vB,EAAA6vB,EAAAzvB,GACAsvB,GAAA,EACA,MAGA,IAvqEA,OAwqEA7zB,KAAAqkB,KAziDA,SAAA8O,GACA,IAAAiB,EAAAtP,EAAA,GAA2BqO,GAC3BkB,EAAA,GAiBA,OAhBAzpB,EAAAuoB,EAAA,SAAAY,EAAAR,UACAa,EAAAb,GACA3oB,EAAAwpB,EAAA,SAAAE,GACA,IAAAC,EAAA11B,KAAAiI,IAAAitB,EAAArJ,OAAA4J,EAAA5J,QACA8J,EAAA31B,KAAAiI,IAAAitB,EAAApJ,OAAA2J,EAAA3J,QACA8J,EAAA51B,KAAAiI,IAAAitB,EAAAvJ,KAAA8J,EAAA9J,MACAkK,EAAA71B,KAAAiI,IAAAitB,EAAAtJ,KAAA6J,EAAA7J,MACAkK,EAAA91B,KAAA+1B,KAAAL,IAAAC,KAEApD,GADAvyB,KAAA+1B,KAAAH,IAAAC,KACAC,KACAN,EAAAl1B,KAAAiyB,OAGAiD,EAAA3jB,KAAA,SAAAvS,EAAA2N,GACA,OAAAjN,KAAAiI,IAAA3I,GAAAU,KAAAiI,IAAAgF,KAEAuoB,EAAA,GAshDAQ,CAAA1B,GAAAx1B,GACAk2B,GAAA,EACA,MAGA,IA/qEA,OAgrEA,IAAAG,EAAA7vB,IAAA6vB,EAAAzvB,EAAA,CACAsvB,GAAA,EACA,MAGAtqB,EAAA2e,EAAAloB,KAAA0sB,SACArE,EAAA0L,EAAArJ,OAAAnhB,EAAA8e,KACAI,EAAAsL,EAAApJ,OAAAphB,EAAAkf,IACAjS,EAAAqX,EAAAE,SACAtX,EAAAoX,EAAAG,UAEAgG,EAAA7vB,EAAA,EACA+uB,EAAAc,EAAAzvB,EAAA,EAnrEA,KAFA,KAsrESyvB,EAAA7vB,EAAA,IACTkkB,GAAA7R,EACA0c,EAAAc,EAAAzvB,EAAA,EArrEA,KAFA,MA0rEAyvB,EAAAzvB,EAAA,IACAkkB,GAAAhS,GAIAzW,KAAAusB,UACAvG,EAAAhmB,KAAA8vB,QAAA/O,GACA/gB,KAAAusB,SAAA,EAEAvsB,KAAAutB,SACAvtB,KAAAwvB,cAAA,OASAqE,IACAhG,EAAArX,QACAqX,EAAApX,SACAoX,EAAAxF,OACAwF,EAAApF,MACAzoB,KAAAkzB,SACAlzB,KAAAwsB,iBAIA5hB,EAAAuoB,EAAA,SAAA90B,GACAA,EAAAqsB,OAAArsB,EAAAmsB,KACAnsB,EAAAssB,OAAAtsB,EAAAosB,SAKAhL,GAAA,CAEA2E,KAAA,WAaA,OAZApkB,KAAAgkB,OAAAhkB,KAAAusB,SAAAvsB,KAAA+vB,WACA/vB,KAAAusB,SAAA,EACAvsB,KAAAwvB,cAAA,MAEAxvB,KAAAwN,QAAAiV,OACAiD,EAAA1lB,KAAA0yB,QAAAxR,GAGA8E,EAAAhmB,KAAA8vB,QAAA/O,GACA/gB,KAAAwyB,eAAAxyB,KAAA0vB,qBAGA1vB,MAGA80B,MAAA,WAYA,OAXA90B,KAAAgkB,QAAAhkB,KAAA+vB,WACA/vB,KAAA8sB,UAAAhI,EAAA,GAAgC9kB,KAAAytB,kBAChCztB,KAAAotB,WAAAtI,EAAA,GAAiC9kB,KAAA0tB,mBACjC1tB,KAAA6tB,YAAA/I,EAAA,GAAkC9kB,KAAA0vB,oBAClC1vB,KAAAoU,eAEApU,KAAAusB,SACAvsB,KAAAwsB,iBAIAxsB,MAGA+0B,MAAA,WAiBA,OAhBA/0B,KAAAusB,UAAAvsB,KAAA+vB,WACAjL,EAAA9kB,KAAA6tB,YAAA,CACAxF,KAAA,EACAI,IAAA,EACAjS,MAAA,EACAC,OAAA,IAEAzW,KAAAusB,SAAA,EACAvsB,KAAAwsB,gBACAxsB,KAAAwtB,aAAA,MAEAxtB,KAAAoU,eACA4R,EAAAhmB,KAAA0yB,QAAAxR,GACAwE,EAAA1lB,KAAA8vB,QAAA/O,IAGA/gB,MASAtD,QAAA,SAAAkjB,GACA,IAAAoV,EAAArgB,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,IAAAA,UAAA,GA4BA,OA1BA3U,KAAA+vB,UAAAnQ,IACA5f,KAAAi1B,QACAj1B,KAAAulB,QAAAxJ,IAAA6D,GAGAoV,GACAh1B,KAAA4f,MACA5f,KAAAoW,MAAA2F,IAAA6D,EAEA5f,KAAAgkB,QACAhkB,KAAAowB,aAAArU,IAAA6D,EACAhV,EAAA5K,KAAAqwB,SAAA,SAAA9K,GACAA,EAAA8L,qBAAA,UAAAtV,IAAA6D,OAIA5f,KAAAi1B,QACAj1B,KAAAk1B,UAAA,GAGAl1B,KAAAwN,QAAAzN,KAAA,KACAC,KAAAm1B,WACAn1B,KAAAo1B,KAAAxV,KAIA5f,MAGAq1B,OAAA,WAMA,OALAr1B,KAAAgkB,OAAAhkB,KAAA+vB,WACA/vB,KAAA+vB,UAAA,EACA/J,EAAAhmB,KAAA0sB,QAAA5L,IAGA9gB,MAGAs1B,QAAA,WAMA,OALAt1B,KAAAgkB,QAAAhkB,KAAA+vB,WACA/vB,KAAA+vB,UAAA,EACArK,EAAA1lB,KAAA0sB,QAAA5L,IAGA9gB,MAOAu1B,QAAA,WACA,IAAAhQ,EAAAvlB,KAAAulB,QAEA,OAAAA,EAAA,SAIAA,EAAA,aAAA9oB,EAEAuD,KAAAi1B,OAAAj1B,KAAAk1B,WACA3P,EAAAxJ,IAAA/b,KAAAw1B,aAGAx1B,KAAAm1B,WACAn1B,MAVAA,MAmBAm0B,KAAA,SAAAsB,GACA,IAAAC,EAAA/gB,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,GAAA8gB,EACAE,EAAA31B,KAAAotB,WACA/E,EAAAsN,EAAAtN,KACAI,EAAAkN,EAAAlN,IACA,OAAAzoB,KAAA41B,OAAApR,EAAAiR,KAAApN,EAAA/D,OAAAmR,GAAAjR,EAAAkR,KAAAjN,EAAAnE,OAAAoR,KASAE,OAAA,SAAAzxB,GACA,IAAAI,EAAAoQ,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,GAAAxQ,EACAipB,EAAAptB,KAAAotB,WACAsB,GAAA,EAoBA,OAnBAvqB,EAAAmgB,OAAAngB,GACAI,EAAA+f,OAAA/f,GAEAvE,KAAAgkB,QAAAhkB,KAAA+vB,UAAA/vB,KAAAwN,QAAAwV,UACAuB,EAAApgB,KACAipB,EAAA/E,KAAAlkB,EACAuqB,GAAA,GAGAnK,EAAAhgB,KACA6oB,EAAA3E,IAAAlkB,EACAmqB,GAAA,GAGAA,GACA1uB,KAAAoU,cAAA,IAIApU,MASAqkB,KAAA,SAAA+M,EAAAyE,GACA,IAAAzI,EAAAptB,KAAAotB,WASA,OALAgE,GAHAA,EAAA9M,OAAA8M,IAEA,EACA,KAAAA,GAEA,EAAAA,EAGApxB,KAAA81B,OAAA1I,EAAA5W,MAAA4a,EAAAhE,EAAAJ,aAAA,KAAA6I,IAUAC,OAAA,SAAA1E,EAAA2E,EAAAF,GACA,IAAAroB,EAAAxN,KAAAwN,QACA4f,EAAAptB,KAAAotB,WACA5W,EAAA4W,EAAA5W,MACAC,EAAA2W,EAAA3W,OACAuW,EAAAI,EAAAJ,aACAC,EAAAG,EAAAH,cAGA,IAFAmE,EAAA9M,OAAA8M,KAEA,GAAApxB,KAAAgkB,QAAAhkB,KAAA+vB,UAAAviB,EAAA2V,SAAA,CACA,IAAAiM,EAAApC,EAAAoE,EACA/B,EAAApC,EAAAmE,EAEA,IAIO,IAJP1J,EAAA1nB,KAAAulB,QAv5EA,OAu5EA,CACA6L,QACA4E,SAAAxf,EAAAwW,EACAwG,cAAAqC,IAEA,OAAA71B,KAGA,GAAA61B,EAAA,CACA,IAAA1C,EAAAnzB,KAAAmzB,SACA5pB,EAAA2e,EAAAloB,KAAA0sB,SACA/J,EAAAwQ,GAAA/rB,OAAAC,KAAA8rB,GAAAj2B,OAzxDA,SAAAi2B,GACA,IAAA7I,EAAA,EACAC,EAAA,EACA0L,EAAA,EAUA,OATArrB,EAAAuoB,EAAA,SAAA+C,GACA,IAAAxL,EAAAwL,EAAAxL,OACAC,EAAAuL,EAAAvL,OACAL,GAAAI,EACAH,GAAAI,EACAsL,GAAA,IAIA,CACA3L,MAHAA,GAAA2L,EAIA1L,MAHAA,GAAA0L,GA6wDAE,CAAAhD,GAAA,CACA7I,MAAAuL,EAAAvL,MACAC,MAAAsL,EAAAtL,OAGA6C,EAAA/E,OAAA+G,EAAA5Y,KAAAmM,EAAA2H,MAAA/gB,EAAA8e,KAAA+E,EAAA/E,MAAA7R,GACA4W,EAAA3E,MAAA4G,EAAA5Y,KAAAkM,EAAA4H,MAAAhhB,EAAAkf,IAAA2E,EAAA3E,KAAAhS,QACOiO,EAAAqR,IAAAxR,EAAAwR,EAAA5xB,IAAAogB,EAAAwR,EAAAxxB,IACP6oB,EAAA/E,OAAA+G,EAAA5Y,KAAAuf,EAAA5xB,EAAAipB,EAAA/E,MAAA7R,GACA4W,EAAA3E,MAAA4G,EAAA5Y,KAAAsf,EAAAxxB,EAAA6oB,EAAA3E,KAAAhS,KAGA2W,EAAA/E,OAAA+G,EAAA5Y,GAAA,EACA4W,EAAA3E,MAAA4G,EAAA5Y,GAAA,GAGA2W,EAAA5W,MAAA4Y,EACAhC,EAAA3W,OAAA4Y,EACArvB,KAAAoU,cAAA,GAGA,OAAApU,MAQA0pB,OAAA,SAAAhgB,GACA,OAAA1J,KAAAo2B,UAAAp2B,KAAA8sB,UAAApD,QAAA,GAAApF,OAAA5a,KAQA0sB,SAAA,SAAA1sB,GAQA,OALA6a,EAFA7a,EAAA4a,OAAA5a,KAEA1J,KAAAgkB,QAAAhkB,KAAA+vB,UAAA/vB,KAAAwN,QAAAyV,YACAjjB,KAAA8sB,UAAApD,OAAAhgB,EAAA,IACA1J,KAAAoU,cAAA,OAGApU,MAQA2pB,OAAA,SAAA0M,GACA,IAAAzM,EAAA5pB,KAAA8sB,UAAAlD,OACA,OAAA5pB,KAAA0Y,MAAA2d,EAAA9R,EAAAqF,KAAA,IAQAA,OAAA,SAAA0M,GACA,IAAA3M,EAAA3pB,KAAA8sB,UAAAnD,OACA,OAAA3pB,KAAA0Y,MAAA6L,EAAAoF,KAAA,EAAA2M,IASA5d,MAAA,SAAAiR,GACA,IAAAC,EAAAjV,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,GAAAgV,EACAmD,EAAA9sB,KAAA8sB,UACA6B,GAAA,EAoBA,OAnBAhF,EAAArF,OAAAqF,GACAC,EAAAtF,OAAAsF,GAEA5pB,KAAAgkB,QAAAhkB,KAAA+vB,UAAA/vB,KAAAwN,QAAA0V,WACAqB,EAAAoF,KACAmD,EAAAnD,SACAgF,GAAA,GAGApK,EAAAqF,KACAkD,EAAAlD,SACA+E,GAAA,GAGAA,GACA3uB,KAAAoU,cAAA,OAIApU,MAQAsmB,QAAA,WACA,IAKAvmB,EALAw2B,EAAA5hB,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,IAAAA,UAAA,GACAnH,EAAAxN,KAAAwN,QACAsf,EAAA9sB,KAAA8sB,UACAM,EAAAptB,KAAAotB,WACAS,EAAA7tB,KAAA6tB,YAGA,GAAA7tB,KAAAgkB,OAAAhkB,KAAAusB,QAAA,CACAxsB,EAAA,CACAoE,EAAA0pB,EAAAxF,KAAA+E,EAAA/E,KACA9jB,EAAAspB,EAAApF,IAAA2E,EAAA3E,IACAjS,MAAAqX,EAAArX,MACAC,OAAAoX,EAAApX,QAEA,IAAA2a,EAAAtE,EAAAtW,MAAAsW,EAAAE,aAKA,GAJApiB,EAAA7K,EAAA,SAAAnC,EAAAG,GACAgC,EAAAhC,GAAAH,EAAAwzB,IAGAmF,EAAA,CAGA,IAAA3C,EAAA/0B,KAAAumB,MAAArlB,EAAAwE,EAAAxE,EAAA0W,QACAkd,EAAA90B,KAAAumB,MAAArlB,EAAAoE,EAAApE,EAAAyW,OACAzW,EAAAoE,EAAAtF,KAAAumB,MAAArlB,EAAAoE,GACApE,EAAAwE,EAAA1F,KAAAumB,MAAArlB,EAAAwE,GACAxE,EAAAyW,MAAAmd,EAAA5zB,EAAAoE,EACApE,EAAA0W,OAAAmd,EAAA7zB,EAAAwE,QAGAxE,EAAA,CACAoE,EAAA,EACAI,EAAA,EACAiS,MAAA,EACAC,OAAA,GAaA,OATAjJ,EAAAyV,YACAljB,EAAA2pB,OAAAoD,EAAApD,QAAA,GAGAlc,EAAA0V,WACAnjB,EAAA4pB,OAAAmD,EAAAnD,QAAA,EACA5pB,EAAA6pB,OAAAkD,EAAAlD,QAAA,GAGA7pB,GAQA0mB,QAAA,SAAA1mB,GACA,IAAAyN,EAAAxN,KAAAwN,QACAsf,EAAA9sB,KAAA8sB,UACAM,EAAAptB,KAAAotB,WACAS,EAAA,GAEA,GAAA7tB,KAAAgkB,QAAAhkB,KAAA+vB,UAAArL,EAAA3kB,GAAA,CACA,IAAA4uB,GAAA,EAEAnhB,EAAAyV,WACAsB,EAAAxkB,EAAA2pB,SAAA3pB,EAAA2pB,SAAAoD,EAAApD,SACAoD,EAAApD,OAAA3pB,EAAA2pB,OACAiF,GAAA,GAIAnhB,EAAA0V,WACAqB,EAAAxkB,EAAA4pB,SAAA5pB,EAAA4pB,SAAAmD,EAAAnD,SACAmD,EAAAnD,OAAA5pB,EAAA4pB,OACAgF,GAAA,GAGApK,EAAAxkB,EAAA6pB,SAAA7pB,EAAA6pB,SAAAkD,EAAAlD,SACAkD,EAAAlD,OAAA7pB,EAAA6pB,OACA+E,GAAA,IAIAA,GACA3uB,KAAAoU,cAAA,MAGA,IAAAgd,EAAAtE,EAAAtW,MAAAsW,EAAAE,aAEAzI,EAAAxkB,EAAAoE,KACA0pB,EAAAxF,KAAAtoB,EAAAoE,EAAAitB,EAAAhE,EAAA/E,MAGA9D,EAAAxkB,EAAAwE,KACAspB,EAAApF,IAAA1oB,EAAAwE,EAAA6sB,EAAAhE,EAAA3E,KAGAlE,EAAAxkB,EAAAyW,SACAqX,EAAArX,MAAAzW,EAAAyW,MAAA4a,GAGA7M,EAAAxkB,EAAA0W,UACAoX,EAAApX,OAAA1W,EAAA0W,OAAA2a,GAGApxB,KAAAwyB,eAAA3E,GAGA,OAAA7tB,MAOAw2B,iBAAA,WACA,OAAAx2B,KAAAgkB,MAAAc,EAAA,GAAiC9kB,KAAA2sB,eAAA,IAOjC8J,aAAA,WACA,OAAAz2B,KAAA02B,MAAA5R,EAAA,GAAiC9kB,KAAA8sB,WAAA,IAOjCuF,cAAA,WACA,IAAAjF,EAAAptB,KAAAotB,WACArtB,EAAA,GAQA,OANAC,KAAAgkB,OACApZ,EAAA,wEAAAhN,GACAmC,EAAAnC,GAAAwvB,EAAAxvB,KAIAmC,GAQAwyB,cAAA,SAAAxyB,GACA,IAAAqtB,EAAAptB,KAAAotB,WACAjL,EAAAiL,EAAAjL,YAsBA,OApBAniB,KAAAgkB,QAAAhkB,KAAA+vB,UAAArL,EAAA3kB,KACAwkB,EAAAxkB,EAAAsoB,QACA+E,EAAA/E,KAAAtoB,EAAAsoB,MAGA9D,EAAAxkB,EAAA0oB,OACA2E,EAAA3E,IAAA1oB,EAAA0oB,KAGAlE,EAAAxkB,EAAAyW,QACA4W,EAAA5W,MAAAzW,EAAAyW,MACA4W,EAAA3W,OAAA1W,EAAAyW,MAAA2L,GACOoC,EAAAxkB,EAAA0W,UACP2W,EAAA3W,OAAA1W,EAAA0W,OACA2W,EAAA5W,MAAAzW,EAAA0W,OAAA0L,GAGAniB,KAAAoU,cAAA,IAGApU,MAOAsyB,eAAA,WACA,IACAvyB,EADA8tB,EAAA7tB,KAAA6tB,YAYA,OATA7tB,KAAAgkB,OAAAhkB,KAAAusB,UACAxsB,EAAA,CACAsoB,KAAAwF,EAAAxF,KACAI,IAAAoF,EAAApF,IACAjS,MAAAqX,EAAArX,MACAC,OAAAoX,EAAApX,SAIA1W,GAAA,IAQAyyB,eAAA,SAAAzyB,GACA,IAEA42B,EACAC,EAHA/I,EAAA7tB,KAAA6tB,YACA1L,EAAAniB,KAAAwN,QAAA2U,YAkCA,OA9BAniB,KAAAgkB,OAAAhkB,KAAAusB,UAAAvsB,KAAA+vB,UAAArL,EAAA3kB,KACAwkB,EAAAxkB,EAAAsoB,QACAwF,EAAAxF,KAAAtoB,EAAAsoB,MAGA9D,EAAAxkB,EAAA0oB,OACAoF,EAAApF,IAAA1oB,EAAA0oB,KAGAlE,EAAAxkB,EAAAyW,QAAAzW,EAAAyW,QAAAqX,EAAArX,QACAmgB,GAAA,EACA9I,EAAArX,MAAAzW,EAAAyW,OAGA+N,EAAAxkB,EAAA0W,SAAA1W,EAAA0W,SAAAoX,EAAApX,SACAmgB,GAAA,EACA/I,EAAApX,OAAA1W,EAAA0W,QAGA0L,IACAwU,EACA9I,EAAApX,OAAAoX,EAAArX,MAAA2L,EACSyU,IACT/I,EAAArX,MAAAqX,EAAApX,OAAA0L,IAIAniB,KAAAwsB,iBAGAxsB,MAQA62B,iBAAA,WACA,IAAArpB,EAAAmH,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,MAEA,IAAA3U,KAAAgkB,QAAA3mB,OAAAy5B,kBACA,YAGA,IAAA1J,EAAAptB,KAAAotB,WACA2J,EA5hEA,SAAA3gB,EAAA4gB,EAAAC,EAAAC,GACA,IAAAC,EAAAH,EAAA7U,YACAiV,EAAAJ,EAAAhK,aACAqK,EAAAL,EAAA/J,cACAqK,EAAAN,EAAAtN,OACAA,OAAA,IAAA4N,EAAA,EAAAA,EACAC,EAAAP,EAAArN,OACAA,OAAA,IAAA4N,EAAA,EAAAA,EACAC,EAAAR,EAAApN,OACAA,OAAA,IAAA4N,EAAA,EAAAA,EACArV,EAAA8U,EAAA9U,YACA6K,EAAAiK,EAAAjK,aACAC,EAAAgK,EAAAhK,cACAwK,EAAAP,EAAAQ,UACAA,OAAA,IAAAD,EAAA,cAAAA,EACAE,EAAAT,EAAAU,sBACAA,OAAA,IAAAD,KACAE,EAAAX,EAAAY,sBACAA,OAAA,IAAAD,EAAA,MAAAA,EACAE,EAAAb,EAAAjJ,SACAA,OAAA,IAAA8J,EAAAvwB,IAAAuwB,EACAC,EAAAd,EAAAhJ,UACAA,OAAA,IAAA8J,EAAAxwB,IAAAwwB,EACAC,EAAAf,EAAAnJ,SACAA,OAAA,IAAAkK,EAAA,EAAAA,EACAC,EAAAhB,EAAAlJ,UACAA,OAAA,IAAAkK,EAAA,EAAAA,EACA5jB,EAAAwB,SAAAC,cAAA,UACAoiB,EAAA7jB,EAAAQ,WAAA,MACAsjB,EAAAxN,GAAA,CACAzI,cACA3L,MAAAyX,EACAxX,OAAAyX,IAEAmK,EAAAzN,GAAA,CACAzI,cACA3L,MAAAuX,EACAtX,OAAAuX,GACG,SACHxX,EAAA3X,KAAAyvB,IAAA8J,EAAA5hB,MAAA3X,KAAAoN,IAAAosB,EAAA7hB,MAAAwW,IACAvW,EAAA5X,KAAAyvB,IAAA8J,EAAA3hB,OAAA5X,KAAAoN,IAAAosB,EAAA5hB,OAAAwW,IAGAqL,EAAA1N,GAAA,CACAzI,YAAAgV,EACA3gB,MAAAyX,EACAxX,OAAAyX,IAEAqK,EAAA3N,GAAA,CACAzI,YAAAgV,EACA3gB,MAAAuX,EACAtX,OAAAuX,GACG,SACHwK,EAAA35B,KAAAyvB,IAAAgK,EAAA9hB,MAAA3X,KAAAoN,IAAAssB,EAAA/hB,MAAA4gB,IACAqB,EAAA55B,KAAAyvB,IAAAgK,EAAA7hB,OAAA5X,KAAAoN,IAAAssB,EAAA9hB,OAAA4gB,IACAqB,EAAA,EAAAF,EAAA,GAAAC,EAAA,EAAAD,EAAAC,GAeA,OAdAnkB,EAAAkC,MAAA0O,EAAA1O,GACAlC,EAAAmC,OAAAyO,EAAAzO,GACA0hB,EAAAQ,UAAAjB,EACAS,EAAAS,SAAA,IAAApiB,EAAAC,GACA0hB,EAAAU,OACAV,EAAAW,UAAAtiB,EAAA,EAAAC,EAAA,GACA0hB,EAAAzO,SAAA7qB,KAAAkwB,GAAA,KACAoJ,EAAAzf,MAAAiR,EAAAC,GACAuO,EAAAP,wBACAO,EAAAL,wBACAK,EAAAY,UAAAxgB,MAAA4f,EAAA,CAAA/hB,GAAAxH,OAAAyR,EAAAqY,EAAA7nB,IAAA,SAAAmoB,GACA,OAAAn6B,KAAAC,MAAAomB,EAAA8T,SAEAb,EAAA7V,UACAhO,EAs9DA2kB,CAAAj5B,KAAAoW,MAAApW,KAAA8sB,UAAAM,EAAA5f,GAEA,IAAAxN,KAAAusB,QACA,OAAAwK,EAGA,IAAAmC,EAAAl5B,KAAAsmB,UACA6S,EAAAD,EAAA/0B,EACAi1B,EAAAF,EAAA30B,EACA80B,EAAAH,EAAA1iB,MACA8iB,EAAAJ,EAAAziB,OAEA2a,EAAA2F,EAAAvgB,MAAA3X,KAAAC,MAAAsuB,EAAAJ,cAEA,IAAAoE,IACA+H,GAAA/H,EACAgI,GAAAhI,EACAiI,GAAAjI,EACAkI,GAAAlI,GAGA,IAAAjP,EAAAkX,EAAAC,EACAlB,EAAAxN,GAAA,CACAzI,cACA3L,MAAAhJ,EAAAygB,UAAAzmB,IACAiP,OAAAjJ,EAAA0gB,WAAA1mB,MAEA6wB,EAAAzN,GAAA,CACAzI,cACA3L,MAAAhJ,EAAAugB,UAAA,EACAtX,OAAAjJ,EAAAwgB,WAAA,GACK,SAELF,EAAAlD,GAAA,CACAzI,cACA3L,MAAAhJ,EAAAgJ,QAAA,IAAA4a,EAAA2F,EAAAvgB,MAAA6iB,GACA5iB,OAAAjJ,EAAAiJ,SAAA,IAAA2a,EAAA2F,EAAAtgB,OAAA6iB,KAEA9iB,EAAAsX,EAAAtX,MACAC,EAAAqX,EAAArX,OAEAD,EAAA3X,KAAAyvB,IAAA8J,EAAA5hB,MAAA3X,KAAAoN,IAAAosB,EAAA7hB,UACAC,EAAA5X,KAAAyvB,IAAA8J,EAAA3hB,OAAA5X,KAAAoN,IAAAosB,EAAA5hB,WACA,IAAAnC,EAAAwB,SAAAC,cAAA,UACAoiB,EAAA7jB,EAAAQ,WAAA,MACAR,EAAAkC,MAAA0O,EAAA1O,GACAlC,EAAAmC,OAAAyO,EAAAzO,GACA0hB,EAAAQ,UAAAnrB,EAAAkqB,WAAA,cACAS,EAAAS,SAAA,IAAApiB,EAAAC,GACA,IAAA8iB,EAAA/rB,EAAAoqB,sBACAA,OAAA,IAAA2B,KACAzB,EAAAtqB,EAAAsqB,sBACAK,EAAAP,wBAEAE,IACAK,EAAAL,yBAIA,IAKA0B,EACAC,EAEAC,EACAC,EACAC,EACAC,EAXAC,EAAA/C,EAAAvgB,MACAujB,EAAAhD,EAAAtgB,OAEAujB,EAAAb,EACAc,EAAAb,EASAY,IAAAX,GAAAW,EAAAF,GACAE,EAAA,EACAR,EAAA,EACAE,EAAA,EACAE,EAAA,GACKI,GAAA,GACLN,GAAAM,EACAA,EAAA,EAEAJ,EADAJ,EAAA36B,KAAAyvB,IAAAwL,EAAAT,EAAAW,IAEKA,GAAAF,IACLJ,EAAA,EAEAE,EADAJ,EAAA36B,KAAAyvB,IAAA+K,EAAAS,EAAAE,IAIAR,GAAA,GAAAS,IAAAX,GAAAW,EAAAF,GACAE,EAAA,EACAR,EAAA,EACAE,EAAA,EACAE,EAAA,GACKI,GAAA,GACLN,GAAAM,EACAA,EAAA,EAEAJ,EADAJ,EAAA56B,KAAAyvB,IAAAyL,EAAAT,EAAAW,IAEKA,GAAAF,IACLJ,EAAA,EAEAE,EADAJ,EAAA56B,KAAAyvB,IAAAgL,EAAAS,EAAAE,IAIA,IAAAvB,EAAA,CAAAsB,EAAAC,EAAAT,EAAAC,GAEA,GAAAG,EAAA,GAAAC,EAAA,GACA,IAAAnhB,EAAAlC,EAAA6iB,EACAX,EAAAv5B,KAAAu6B,EAAAhhB,EAAAihB,EAAAjhB,EAAAkhB,EAAAlhB,EAAAmhB,EAAAnhB,GAQA,OAHAyf,EAAAY,UAAAxgB,MAAA4f,EAAA,CAAApB,GAAAnoB,OAAAyR,EAAAqY,EAAA7nB,IAAA,SAAAmoB,GACA,OAAAn6B,KAAAC,MAAAomB,EAAA8T,SAEA1kB,GAQA4lB,eAAA,SAAA/X,GACA,IAAA3U,EAAAxN,KAAAwN,QAeA,OAbAxN,KAAA+vB,UAAAvL,EAAArC,KAEA3U,EAAA2U,YAAAtjB,KAAAoN,IAAA,EAAAkW,IAAAD,IAEAliB,KAAAgkB,QACAhkB,KAAAssB,cAEAtsB,KAAAusB,SACAvsB,KAAAwsB,kBAKAxsB,MAQAyyB,YAAA,SAAAxyB,GACA,IAAAuN,EAAAxN,KAAAwN,QACAklB,EAAA1yB,KAAA0yB,QACA7C,EAAA7vB,KAAA6vB,KAEA,GAAA7vB,KAAAgkB,QAAAhkB,KAAA+vB,SAAA,CACA,IAAAoK,EAn7FA,SAm7FAl6B,EACA+iB,EAAAxV,EAAAwV,SAn7FA,SAm7FA/iB,EACAA,EAAAk6B,GAAAnX,EAAA/iB,EAn7FA,OAo7FAuN,EAAAwU,SAAA/hB,EACAwmB,EAAAiM,EAAAtR,EAAAnhB,GACAimB,EAAAwM,EAAA7R,EAAAsZ,GACAjU,EAAAwM,EAAAvR,EAAA6B,GAEAxV,EAAA+V,iBAEAkD,EAAAoJ,EAAAzO,EAAAnhB,GACAimB,EAAA2J,EAAAhP,EAAAsZ,GACAjU,EAAA2J,EAAA1O,EAAA6B,IAIA,OAAAhjB,OAIAo6B,GAAAxZ,EAAAyZ,QAEAA,GAEA,WAMA,SAAAA,EAAA9U,GACA,IAAA/X,EAAAmH,UAAAzX,OAAA,QAAAT,IAAAkY,UAAA,GAAAA,UAAA,MAIA,GA5hGA,SAAA2lB,EAAAC,GACA,KAAAD,aAAAC,GACA,UAAAtgB,UAAA,qCAwhGAugB,CAAAx6B,KAAAq6B,IAEA9U,IAAA1D,EAAAnS,KAAA6V,EAAAkV,SACA,UAAAj9B,MAAA,4EAGAwC,KAAAulB,UACAvlB,KAAAwN,QAAAsX,EAAA,GAA4BhD,EAAA4C,EAAAlX,OAC5BxN,KAAAusB,SAAA,EACAvsB,KAAA+vB,UAAA,EACA/vB,KAAAmzB,SAAA,GACAnzB,KAAAgkB,OAAA,EACAhkB,KAAA06B,WAAA,EACA16B,KAAAk1B,UAAA,EACAl1B,KAAA02B,OAAA,EACA12B,KAAA26B,QAAA,EACA36B,KAAA46B,OA1hGA,IAAAL,EAAAM,EAAAC,EA24GA,OA34GAP,EA6hGAF,EA7hGAS,EAy3GG,EACH/oB,IAAA,aACAvR,MAAA,WAEA,OADAnD,OAAAg9B,QAAAD,GACAC,IAOG,CACHtoB,IAAA,cACAvR,MAAA,SAAAgN,GACAsX,EAAAhD,EAAA4C,EAAAlX,WAv4GAqtB,EA6hGA,EACA9oB,IAAA,OACAvR,MAAA,WACA,IAEAof,EAFA2F,EAAAvlB,KAAAulB,QACAkV,EAAAlV,EAAAkV,QAAAn3B,cAGA,IAAAiiB,EAAA,SAMA,GAFAA,EAAA,QAAAvlB,KAEA,QAAAy6B,EAAA,CAMA,GALAz6B,KAAAi1B,OAAA,EAEArV,EAAA2F,EAAAiB,aAAA,WACAxmB,KAAAw1B,YAAA5V,GAEAA,EACA,OAIAA,EAAA2F,EAAAxJ,QACO,WAAA0e,GAAAp9B,OAAAy5B,oBACPlX,EAAA2F,EAAAnQ,aAGApV,KAAAo1B,KAAAxV,MAEG,CACH7N,IAAA,OACAvR,MAAA,SAAAof,GACA,IAAAF,EAAA1f,KAEA,GAAA4f,EAAA,CAIA5f,KAAA4f,MACA5f,KAAA8sB,UAAA,GACA,IAAAvH,EAAAvlB,KAAAulB,QACA/X,EAAAxN,KAAAwN,QAOA,GALAA,EAAAyV,WAAAzV,EAAA0V,WACA1V,EAAAgV,kBAAA,GAIAhV,EAAAgV,kBAAAnlB,OAAA6c,YAMA,GAAAyH,EAAAjS,KAAAkQ,GACAgC,EAAAlS,KAAAkQ,GACA5f,KAAA+6B,MAhsEAC,EAgsEApb,EAhsEAljB,QAAAuuB,GAAA,IACAgQ,EAAAC,KAAAF,GACA7P,EAAA,IAAAjR,YAAA+gB,EAAA/9B,QAEA0N,EADAuwB,EAAA,IAAA1hB,WAAA0R,GACA,SAAA3qB,EAAAzC,GACAo9B,EAAAp9B,GAAAk9B,EAAA5f,WAAAtd,KAEAotB,IA2rEAnrB,KAAAo7B,YAJA,CA/rEA,IACAJ,EACAC,EACA9P,EACAgQ,EAqsEAE,EAAA,IAAAC,eACAF,EAAAp7B,KAAAo7B,MAAA9tB,KAAAtN,MACAA,KAAA06B,WAAA,EACA16B,KAAAq7B,MACAA,EAAAE,UAAAH,EACAC,EAAAG,QAAAJ,EACAC,EAAAI,QAAAL,EAEAC,EAAAK,WAAA,WAhiGA,eAiiGAL,EAAAM,kBAAA,iBACAN,EAAAO,SAIAP,EAAAQ,OAAA,WACAnc,EAAAqb,KAAAM,EAAAS,WAGAT,EAAAU,UAAA,WACArc,EAAAgb,WAAA,EACAhb,EAAA2b,IAAA,MAIA7tB,EAAA+U,kBAAAuG,EAAAlJ,IAAA2F,EAAA0K,cACArQ,EAAAwJ,GAAAxJ,IAGAyb,EAAA3d,KAAA,MAAAkC,GACAyb,EAAAW,aAAA,cACAX,EAAAY,gBAAA,oBAAA1W,EAAA0K,YACAoL,EAAAa,YA9CAl8B,KAAAo7B,WAgDG,CACHrpB,IAAA,OACAvR,MAAA,SAAA2qB,GACA,IAAA3d,EAAAxN,KAAAwN,QACAsf,EAAA9sB,KAAA8sB,UACA1B,EAAAF,GAAAC,GACAzB,EAAA,EACAC,EAAA,EACAC,EAAA,EAEA,GAAAwB,EAAA,GAGAprB,KAAA4f,IAtuEA,SAAAuL,EAAAgR,GAKA,IAJA,IAAAC,EAAA,GAEAjB,EAAA,IAAA1hB,WAAA0R,GAEAgQ,EAAAj+B,OAAA,GACAk/B,EAAAj9B,KAAA6rB,GAAAzS,WAAA,EAAA8H,EAAA8a,EAAA/e,SAAA,EAJA,SAKA+e,IAAA/e,SALA,MAQA,cAAAxN,OAAAutB,EAAA,YAAoCvtB,OAAAytB,KAAAD,EAAAr/B,KAAA,MA4tEpCu/B,CAAAnR,EAtkGA,cAwkGA,IAAAoR,EAtoEA,SAAAnR,GACA,IAAA1B,EAAA,EACAC,EAAA,EACAC,EAAA,EAEA,OAAAwB,GAEA,OACAzB,GAAA,EACA,MAGA,OACAD,GAAA,IACA,MAGA,OACAE,GAAA,EACA,MAGA,OACAF,EAAA,GACAE,GAAA,EACA,MAGA,OACAF,EAAA,GACA,MAGA,OACAA,EAAA,GACAC,GAAA,EACA,MAGA,OACAD,GAAA,GAMA,OACAA,SACAC,SACAC,UAqlEA4S,CAAApR,GAEA1B,EAAA6S,EAAA7S,OACAC,EAAA4S,EAAA5S,OACAC,EAAA2S,EAAA3S,OAGApc,EAAAyV,YACA6J,EAAApD,UAGAlc,EAAA0V,WACA4J,EAAAnD,SACAmD,EAAAlD,UAGA5pB,KAAAo7B,UAEG,CACHrpB,IAAA,QACAvR,MAAA,WACA,IAEAyvB,EACAC,EAHA3K,EAAAvlB,KAAAulB,QACA3F,EAAA5f,KAAA4f,IAIA5f,KAAAwN,QAAA+U,kBAAAuG,EAAAlJ,MACAqQ,EAAA1K,EAAA0K,aAGAC,EAAAtQ,GAEAqQ,EAAA,YAEAC,EAAA9G,GAAAxJ,KAIA5f,KAAAiwB,cACAjwB,KAAAkwB,iBACA,IAAA9Z,EAAAN,SAAAC,cAAA,OAEAka,IACA7Z,EAAA6Z,eAGA7Z,EAAA2F,IAAAmU,GAAAtQ,EACA5f,KAAAoW,QACAA,EAAAylB,OAAA77B,KAAAnD,MAAAyQ,KAAAtN,MACAoW,EAAAqlB,QAAAz7B,KAAAy8B,KAAAnvB,KAAAtN,MACA0lB,EAAAtP,EAAA4K,GACAuE,EAAAmX,WAAAC,aAAAvmB,EAAAmP,EAAAqX,eAEG,CACH7qB,IAAA,QACAvR,MAAA,WACA,IAAAq8B,EAAA78B,KAEAoW,EAAApW,KAAAi1B,MAAAj1B,KAAAulB,QAAAvlB,KAAAoW,MACAA,EAAAylB,OAAA,KACAzlB,EAAAqlB,QAAA,KACAz7B,KAAA26B,QAAA,EACA,IAAAmC,EAAAlc,EAAAmc,WAAA,6CAAArtB,KAAAkR,EAAAmc,UAAAC,WAEAC,EAAA,SAAAjQ,EAAAC,GACAnI,EAAA+X,EAAA/P,UAAA,CACAE,eACAC,gBACA9K,YAAA6K,EAAAC,IAEA4P,EAAAlC,QAAA,EACAkC,EAAAnG,OAAA,EAEAmG,EAAAK,SAIA,IAAA9mB,EAAA4W,cAAA8P,EAAA,CAKA,IAAAK,EAAArnB,SAAAC,cAAA,OACAqnB,EAAAtnB,SAAAsnB,MAAAtnB,SAAAyS,gBACAvoB,KAAAm9B,cAEAA,EAAAtB,OAAA,WACAoB,EAAAE,EAAA3mB,MAAA2mB,EAAA1mB,QAEAqmB,GACAM,EAAAC,YAAAF,IAIAA,EAAAphB,IAAA3F,EAAA2F,IAGA+gB,IACAK,EAAAzmB,MAAAka,QAAA,uJACAwM,EAAAjN,YAAAgN,SArBAF,EAAA7mB,EAAA4W,aAAA5W,EAAA6W,iBAwBG,CACHlb,IAAA,OACAvR,MAAA,WACA,IAAA4V,EAAApW,KAAAoW,MACAA,EAAAylB,OAAA,KACAzlB,EAAAqlB,QAAA,KACArlB,EAAAsmB,WAAAW,YAAAjnB,GACApW,KAAAoW,MAAA,OAEG,CACHrE,IAAA,QACAvR,MAAA,WACA,GAAAR,KAAA02B,QAAA12B,KAAAgkB,MAAA,CAIA,IAAAuB,EAAAvlB,KAAAulB,QACA/X,EAAAxN,KAAAwN,QACA4I,EAAApW,KAAAoW,MAEAqW,EAAAlH,EAAAmX,WACAY,EAAAxnB,SAAAC,cAAA,OACAunB,EAAAzd,UApnGA,orCAqnGA,IAAA6M,EAAA4Q,EAAA9M,cAAA,IAAA5hB,OAhvGA,UAgvGA,eACA0F,EAAAoY,EAAA8D,cAAA,IAAA5hB,OAjvGA,UAivGA,YACA8jB,EAAAhG,EAAA8D,cAAA,IAAA5hB,OAlvGA,UAkvGA,cACAkhB,EAAApD,EAAA8D,cAAA,IAAA5hB,OAnvGA,UAmvGA,cACAihB,EAAAC,EAAAU,cAAA,IAAA5hB,OApvGA,UAovGA,UACA5O,KAAAysB,YACAzsB,KAAA0sB,UACA1sB,KAAAsU,SACAtU,KAAA0yB,UACA1yB,KAAA8vB,UACA9vB,KAAAiY,QAAAyU,EAAA8D,cAAA,IAAA5hB,OA1vGA,UA0vGA,cACA5O,KAAA6vB,OACAvb,EAAA6b,YAAA/Z,GAEAsP,EAAAH,EAAAxE,GAEA0L,EAAAkQ,aAAAjQ,EAAAnH,EAAAqX,aAEA58B,KAAAi1B,OACAjP,EAAA5P,EAAA4K,GAGAhhB,KAAAgwB,cACAhwB,KAAAsN,OACAE,EAAAyU,mBAAApjB,KAAAoN,IAAA,EAAAuB,EAAAyU,qBAAAC,IACA1U,EAAA2U,YAAAtjB,KAAAoN,IAAA,EAAAuB,EAAA2U,cAAAD,IACA1U,EAAAuU,SAAAljB,KAAAoN,IAAA,EAAApN,KAAAyvB,IAAA,EAAAzvB,KAAAumB,MAAA5X,EAAAuU,aAAA,EACA2D,EAAAoK,EAAA/O,GAEAvT,EAAAkV,QACAgD,EAAAoK,EAAAyN,uBAAA,GAAA3uB,OA9wGA,UA8wGA,YAAAmS,GAGAvT,EAAAmV,QACA+C,EAAAoK,EAAAyN,uBAAA,GAAA3uB,OAlxGA,UAkxGA,YAAAmS,GAGAvT,EAAAqV,YACA6C,EAAAgH,EAAA,GAAA9d,OAtxGA,UAsxGA,QAGApB,EAAAoV,WACA8C,EAAAmK,EAAA5O,GAGAzT,EAAA+V,iBACAmC,EAAAmK,EAAA1O,GACAsF,EAAAoJ,EAAAzO,EA7xGA,QAgyGA5T,EAAAgW,mBACAkC,EAAAoK,EAAAyN,uBAAA,GAAA3uB,OAnyGA,UAmyGA,UAAAmS,GACA2E,EAAAoK,EAAAyN,uBAAA,GAAA3uB,OApyGA,UAoyGA,WAAAmS,IAGA/gB,KAAAmV,SACAnV,KAAAgkB,OAAA,EACAhkB,KAAAyyB,YAAAjlB,EAAAwU,UAEAxU,EAAAsV,UACA9iB,KAAAokB,OAGApkB,KAAAymB,QAAAjZ,EAAAzN,MAEA6kB,EAAApX,EAAAwW,QACAqD,EAAA9B,EA5wGA,QA4wGA/X,EAAAwW,MAAA,CACA8C,MAAA,IAIAY,EAAAnC,EAjxGA,YAmxGG,CACHxT,IAAA,UACAvR,MAAA,WACAR,KAAAgkB,QAIAhkB,KAAAgkB,OAAA,EACAhkB,KAAAmyB,SACAnyB,KAAA6wB,eACA7wB,KAAA0sB,QAAAgQ,WAAAW,YAAAr9B,KAAA0sB,SACA1G,EAAAhmB,KAAAulB,QAAAxE,MAEG,CACHhP,IAAA,WACAvR,MAAA,WACAR,KAAAgkB,OACAhkB,KAAAw9B,UACAx9B,KAAAgkB,OAAA,EACAhkB,KAAAusB,SAAA,GACOvsB,KAAA26B,QACP36B,KAAAm9B,YAAAtB,OAAA,KACA77B,KAAA26B,QAAA,EACA36B,KAAA02B,OAAA,GACO12B,KAAA06B,WACP16B,KAAAq7B,IAAAG,QAAA,KACAx7B,KAAAq7B,IAAAO,SACO57B,KAAAoW,OACPpW,KAAAy8B,YAh3GAtc,EAAAoa,EAAAn6B,UAAAy6B,GACAC,GAAA3a,EAAAoa,EAAAO,GAy4GAT,EA1YA,GA6YAvV,EAAAuV,GAAAj6B,UAAA+U,GAAAiN,GAAAkP,GAAAc,GAAAsB,GAAAjU,IAEeM,EAAA,6DCrtFA,IAAAhgB,EAnuBf,CACA09B,GAAA,CACA7e,KAAA,OACA8e,WAAA,UAEAC,GAAA,CACA/e,KAAA,SACA8e,WAAA,gBAEAE,GAAA,CACAhf,KAAA,UACA8e,WAAA,UAEAG,GAAA,CACAjf,KAAA,YACA8e,WAAA,aAEAI,GAAA,CACAlf,KAAA,OACA8e,WAAA,QAEAK,GAAA,CACAnf,KAAA,UACA8e,WAAA,QAEAM,GAAA,CACApf,KAAA,YACA8e,WAAA,YAEAO,GAAA,CACArf,KAAA,SACA8e,WAAA,iBAEAQ,GAAA,CACAtf,KAAA,WACA8e,WAAA,WAEAS,GAAA,CACAvf,KAAA,SACA8e,WAAA,aAEAU,GAAA,CACAxf,KAAA,SACA8e,WAAA,aAEAW,GAAA,CACAzf,KAAA,cACA8e,WAAA,mBAEAY,GAAA,CACA1f,KAAA,UACA8e,WAAA,gBAEAa,GAAA,CACA3f,KAAA,aACA8e,WAAA,mBAEA/lB,GAAA,CACAiH,KAAA,YACA8e,WAAA,kBAEAc,GAAA,CACA5f,KAAA,SACA8e,WAAA,WAEAe,GAAA,CACA7f,KAAA,UACA8e,WAAA,WAEAgB,GAAA,CACA9f,KAAA,UACA8e,WAAA,cAEAiB,GAAA,CACA/f,KAAA,UACA8e,WAAA,SAEAkB,GAAA,CACAhgB,KAAA,mBACA8e,WAAA,WAEAmB,GAAA,CACAjgB,KAAA,SACA8e,WAAA,aAEAoB,GAAA,CACAlgB,KAAA,UACA8e,WAAA,kBAEAqB,GAAA,CACAngB,KAAA,UACA8e,WAAA,UAEAsB,GAAA,CACApgB,KAAA,UACA8e,WAAA,gBAEAuB,GAAA,CACArgB,KAAA,WACA8e,WAAA,WAEAwB,GAAA,CACAtgB,KAAA,WACA8e,WAAA,SAEAyB,GAAA,CACAvgB,KAAA,OACA8e,WAAA,WAEA0B,GAAA,CACAxgB,KAAA,QACA8e,WAAA,WAEA2B,GAAA,CACAzgB,KAAA,sBACA8e,WAAA,oBAEA4B,GAAA,CACA1gB,KAAA,UACA8e,WAAA,eAEA6B,GAAA,CACA3gB,KAAA,QACA8e,WAAA,WAEA8B,GAAA,CACA5gB,KAAA,SACA8e,WAAA,SAEA+B,GAAA,CACA7gB,KAAA,SACA8e,WAAA,WAEAgC,GAAA,CACA9gB,KAAA,SACA8e,WAAA,WAEAiC,GAAA,CACA/gB,KAAA,WACA8e,WAAA,UAEAkC,GAAA,CACAhhB,KAAA,MACA8e,WAAA,UAEAjN,GAAA,CACA7R,KAAA,QACA8e,WAAA,YAEAmC,GAAA,CACAjhB,KAAA,UACA8e,WAAA,WAEAoC,GAAA,CACAlhB,KAAA,YACA8e,WAAA,aAEAqC,GAAA,CACAnhB,KAAA,UACA8e,WAAA,WAEAsC,GAAA,CACAphB,KAAA,WACA8e,WAAA,SAEAuC,GAAA,CACArhB,KAAA,SACA8e,WAAA,WAEAwC,GAAA,CACAthB,KAAA,UACA8e,WAAA,SAEAyC,GAAA,CACAvhB,KAAA,OACA8e,WAAA,YAEA0C,GAAA,CACAxhB,KAAA,UACA8e,WAAA,SAEA2C,GAAA,CACAzhB,KAAA,SACA8e,WAAA,YAEA4C,GAAA,CACA1hB,KAAA,UACA8e,WAAA,YAEA6C,GAAA,CACA3hB,KAAA,SACA8e,WAAA,YAEA8C,GAAA,CACA5hB,KAAA,kBACA8e,WAAA,SAEA+C,GAAA,CACA7hB,KAAA,QACA8e,WAAA,WAEAgD,GAAA,CACA9hB,KAAA,kBACA8e,WAAA,YAEAiD,GAAA,CACA/hB,KAAA,WACA8e,WAAA,UAEAkD,GAAA,CACAhiB,KAAA,UACA8e,WAAA,WAEAmD,GAAA,CACAjiB,KAAA,WACA8e,WAAA,WAEAoD,GAAA,CACAliB,KAAA,OACA8e,WAAA,SAEAqD,GAAA,CACAniB,KAAA,QACA8e,WAAA,UAEAsD,GAAA,CACApiB,KAAA,SACA8e,WAAA,SAEAuD,GAAA,CACAriB,KAAA,QACA8e,WAAA,UAEAwD,GAAA,CACAtiB,KAAA,YACA8e,WAAA,aAEAyD,GAAA,CACAviB,KAAA,WACA8e,WAAA,kBAEA0D,GAAA,CACAxiB,KAAA,UACA8e,WAAA,kBAEA2D,GAAA,CACAziB,KAAA,YACA8e,WAAA,UAEA4D,GAAA,CACA1iB,KAAA,WACA8e,WAAA,WAEA6D,GAAA,CACA3iB,KAAA,SACA8e,WAAA,cAEA8D,GAAA,CACA5iB,KAAA,cACA8e,WAAA,eAEA51B,GAAA,CACA8W,KAAA,aACA8e,WAAA,cAEA+D,GAAA,CACA7iB,KAAA,cACA8e,WAAA,eAEAgE,GAAA,CACA9iB,KAAA,OACA8e,WAAA,cAEAiE,GAAA,CACA/iB,KAAA,QACA8e,WAAA,iBAEAkE,GAAA,CACAhjB,KAAA,UACA8e,WAAA,WAEAmE,GAAA,CACAjjB,KAAA,MACA8e,WAAA,OAEAoE,GAAA,CACAljB,KAAA,YACA8e,WAAA,YAEAqE,GAAA,CACAnjB,KAAA,UACA8e,WAAA,YAEAsE,GAAA,CACApjB,KAAA,YACA8e,WAAA,UAEAuE,GAAA,CACArjB,KAAA,WACA8e,WAAA,OAEAwE,GAAA,CACAtjB,KAAA,WACA8e,WAAA,aAEAyE,GAAA,CACAvjB,KAAA,WACA8e,WAAA,WAEA0E,GAAA,CACAxjB,KAAA,QACA8e,WAAA,WAEA2E,GAAA,CACAzjB,KAAA,SACA8e,WAAA,UAEA4E,GAAA,CACA1jB,KAAA,WACA8e,WAAA,YAEA6E,GAAA,CACA3jB,KAAA,SACA8e,WAAA,cAEA8E,GAAA,CACA5jB,KAAA,cACA8e,WAAA,eAEA+E,GAAA,CACA7jB,KAAA,QACA8e,WAAA,YAEAgF,GAAA,CACA9jB,KAAA,UACA8e,WAAA,SAEAiF,GAAA,CACA/jB,KAAA,SACA8e,WAAA,OAEAkF,GAAA,CACAhkB,KAAA,SACA8e,WAAA,UAEAmF,GAAA,CACAjkB,KAAA,WACA8e,WAAA,WAEAoF,GAAA,CACAlkB,KAAA,UACA8e,WAAA,SAEAqF,GAAA,CACAnkB,KAAA,OACA8e,WAAA,YAEAsF,GAAA,CACApkB,KAAA,UACA8e,WAAA,YAEAuF,GAAA,CACArkB,KAAA,SACA8e,WAAA,YAEAwF,GAAA,CACAtkB,KAAA,QACA8e,WAAA,UAEAyF,GAAA,CACAvkB,KAAA,gBACA8e,WAAA,kBAEA0F,GAAA,CACAxkB,KAAA,QACA8e,WAAA,WAEA2F,GAAA,CACAzkB,KAAA,aACA8e,WAAA,YAEA4F,GAAA,CACA1kB,KAAA,UACA8e,WAAA,WAEA6F,GAAA,CACA3kB,KAAA,MACA8e,WAAA,QAEA8F,GAAA,CACA5kB,KAAA,aACA8e,WAAA,kBAEA+F,GAAA,CACA7kB,KAAA,eACA8e,WAAA,YAEAgG,GAAA,CACA9kB,KAAA,UACA8e,WAAA,mBAEAiG,GAAA,CACA/kB,KAAA,WACA8e,WAAA,mBAEAkG,GAAA,CACAhlB,KAAA,cACA8e,WAAA,gBAEAmG,GAAA,CACAjlB,KAAA,QACA8e,WAAA,gBAEAoG,GAAA,CACAllB,KAAA,aACA8e,WAAA,oBAEAqG,GAAA,CACAnlB,KAAA,YACA8e,WAAA,UAEAsG,GAAA,CACAplB,KAAA,YACA8e,WAAA,cAEAuG,GAAA,CACArlB,KAAA,UACA8e,WAAA,SAEAwG,GAAA,CACAtlB,KAAA,QACA8e,WAAA,cAEAyG,GAAA,CACAvlB,KAAA,UACA8e,WAAA,SAEA0G,GAAA,CACAxlB,KAAA,UACA8e,WAAA,SAEA2G,GAAA,CACAzlB,KAAA,QACA8e,WAAA,mBAEA4G,GAAA,CACA1lB,KAAA,mBACA8e,WAAA,gBAEA6G,GAAA,CACA3lB,KAAA,mBACA8e,WAAA,cAEA8G,GAAA,CACA5lB,KAAA,SACA8e,WAAA,UAEA+G,GAAA,CACA7lB,KAAA,SACA8e,WAAA,UAEAgH,GAAA,CACA9lB,KAAA,QACA8e,WAAA,cAEAiH,GAAA,CACA/lB,KAAA,oBACA8e,WAAA,iBAEAkH,GAAA,CACAhmB,KAAA,YACA8e,WAAA,SAEAmH,GAAA,CACAjmB,KAAA,mBACA8e,WAAA,cAEAoH,GAAA,CACAlmB,KAAA,SACA8e,WAAA,eAEAqH,GAAA,CACAnmB,KAAA,WACA8e,WAAA,YAEAsH,GAAA,CACApmB,KAAA,UACA8e,WAAA,WAEAuH,GAAA,CACArmB,KAAA,SACA8e,WAAA,YAEAwH,GAAA,CACAtmB,KAAA,QACA8e,WAAA,gBAEAyH,GAAA,CACAvmB,KAAA,QACA8e,WAAA,SAEA0H,GAAA,CACAxmB,KAAA,WACA8e,WAAA,cAEA2H,GAAA,CACAzmB,KAAA,UACA8e,WAAA,UAEA4H,GAAA,CACA1mB,KAAA,OACA8e,WAAA,QAEA6H,GAAA,CACA3mB,KAAA,SACA8e,WAAA,gBAEA8H,GAAA,CACA5mB,KAAA,SACA8e,WAAA,QAEA+H,GAAA,CACA7mB,KAAA,aACA8e,WAAA,aAEAgI,GAAA,CACA9mB,KAAA,UACA8e,WAAA,aAEAiI,GAAA,CACA/mB,KAAA,UACA8e,WAAA,sBAEAkI,GAAA,CACAhnB,KAAA,UACA8e,WAAA,YAEAmI,GAAA,CACAjnB,KAAA,WACA8e,WAAA,gBAEAoI,GAAA,CACAlnB,KAAA,UACA8e,WAAA,WAEAqI,GAAA,CACAnnB,KAAA,cACA8e,WAAA,gBAEAsI,GAAA,CACApnB,KAAA,WACA8e,WAAA,aAEAuI,GAAA,CACArnB,KAAA,YACA8e,WAAA,SAEAwI,GAAA,CACAtnB,KAAA,SACA8e,WAAA,UAEAyI,GAAA,CACAvnB,KAAA,gBACA8e,WAAA,mBAEA0I,GAAA,CACAxnB,KAAA,QACA8e,WAAA,kBAEA2I,GAAA,CACAznB,KAAA,UACA8e,WAAA,SAEA4I,GAAA,CACA1nB,KAAA,SACA8e,WAAA,cAEA6I,GAAA,CACA3nB,KAAA,UACA8e,WAAA,mBAEA8I,GAAA,CACA5nB,KAAA,SACA8e,WAAA,qBAEA+I,GAAA,CACA7nB,KAAA,QACA8e,WAAA,YAEAgJ,GAAA,CACA9nB,KAAA,SACA8e,WAAA,cAEAiJ,GAAA,CACA/nB,KAAA,WACA8e,WAAA,SAEAkJ,GAAA,CACAhoB,KAAA,UACA8e,WAAA,gBAEAmJ,GAAA,CACAjoB,KAAA,QACA8e,WAAA,WAEAoJ,GAAA,CACAloB,KAAA,iBACA8e,WAAA,WAEAqJ,GAAA,CACAnoB,KAAA,YACA8e,WAAA,cAEAsJ,GAAA,CACApoB,KAAA,UACA8e,WAAA,WAEAuJ,GAAA,CACAroB,KAAA,UACA8e,WAAA,aAEAwJ,GAAA,CACAtoB,KAAA,QACA8e,WAAA,SAEAyJ,GAAA,CACAvoB,KAAA,SACA8e,WAAA,UAEA0J,GAAA,CACAxoB,KAAA,QACA8e,WAAA,UAEA2J,GAAA,CACAzoB,KAAA,OACA8e,WAAA,OAEA4J,GAAA,CACA1oB,KAAA,WACA8e,WAAA,QAEA6J,GAAA,CACA3oB,KAAA,UACA8e,WAAA,WAEA8J,GAAA,CACA5oB,KAAA,UACA8e,WAAA,kBAEA+J,GAAA,CACA7oB,KAAA,SACA8e,WAAA,YAEAgK,GAAA,CACA9oB,KAAA,QACA8e,WAAA,cAEAiK,GAAA,CACA/oB,KAAA,UACA8e,WAAA,UAEAkK,GAAA,CACAhpB,KAAA,SACA8e,WAAA,YAEAmK,GAAA,CACAjpB,KAAA,QACA8e,WAAA,cAEAoK,GAAA,CACAlpB,KAAA,MACA8e,WAAA,OAEAqK,GAAA,CACAnpB,KAAA,WACA8e,WAAA,cAEAsK,GAAA,CACAppB,KAAA,SACA8e,WAAA,aAEAuK,GAAA,CACArpB,KAAA,YACA8e,WAAA,cAEAwK,GAAA,CACAtpB,KAAA,OACA8e,WAAA,QAEAyK,GAAA,CACAvpB,KAAA,QACA8e,WAAA,SAEA0K,GAAA,CACAxpB,KAAA,QACA8e,WAAA,aAEA2K,GAAA,CACAzpB,KAAA,aACA8e,WAAA,cAEA4K,GAAA,CACA1pB,KAAA,UACA8e,WAAA,WAEA6K,GAAA,CACA3pB,KAAA,UACA8e,WAAA,SAEA8K,GAAA,CACA5pB,KAAA,QACA8e,WAAA,UAEA+K,GAAA,CACA7pB,KAAA,QACA8e,WAAA,YAEAgL,GAAA,CACA9pB,KAAA,UACA8e,WAAA,UAEAiL,GAAA,CACA/pB,KAAA,SACA8e,WAAA,UAEAkL,GAAA,CACAhqB,KAAA,SACA8e,WAAA,aAEAmL,GAAA,CACAjqB,KAAA,UACA8e,WAAA,MAEAoL,GAAA,CACAlqB,KAAA,OACA8e,WAAA,YC/tBA7hC,EAAAkI,EAAAgc,EAAA,sBAAAgpB,IAEe,MAAMA,EACrBC,oBAAAC,EAAA,IACA,OAAAA,EAAAp4B,IAAAzS,IAAA,CACAA,OACAwgB,KAAYmqB,EAAOG,QAAA9qC,GACnBs/B,WAAkBqL,EAAOI,cAAA/qC,MAIzB4qC,eAAA5qC,GACA,OAAW2qC,EAAOK,SAAAhrC,GAAkB2B,EAAc3B,GAAAwgB,KAAA,GAGlDoqB,qBACA,OAAA5hC,OAAA2iB,OAAyBhqB,GAAc8Q,IAAAzO,KAAAwc,MAGvCoqB,qBAAA5qC,GACA,OAAW2qC,EAAOK,SAAAhrC,GAAkB2B,EAAc3B,GAAAs/B,WAAA,GAGlDsL,2BACA,OAAA5hC,OAAA2iB,OAAyBhqB,GAAc8Q,IAAAzO,KAAAs7B,YAGvCsL,eAAApqB,GASA,OARAxX,OAAAC,KAA6BtH,GAAcspC,KAAAjrC,IAC3C,MAAAkrC,EAAuBvpC,EAAc3B,GAErC,OACAkrC,EAAA1qB,KAAAtb,gBAAAsb,EAAAtb,eACAgmC,EAAA5L,WAAAp6B,gBAAAsb,EAAAtb,iBAGA,GAGA0lC,qBACA,OAAA5hC,OAAAC,KAAuBtH,GAGvBipC,gBAAA5qC,GACA,YAAyB3B,IAAdsD,EAAc3B","file":"static/js/3.e1f7d368d5840e12e850.js","sourcesContent":["var baseToString = require('./_baseToString'),\n castSlice = require('./_castSlice'),\n charsEndIndex = require('./_charsEndIndex'),\n charsStartIndex = require('./_charsStartIndex'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim(' abc ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map([' foo ', ' bar '], _.trim);\n * // => ['foo', 'bar']\n */\nfunction trim(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrim, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n chrSymbols = stringToArray(chars),\n start = charsStartIndex(strSymbols, chrSymbols),\n end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n return castSlice(strSymbols, start, end).join('');\n}\n\nmodule.exports = trim;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsEndIndex;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsStartIndex;\n","/*!\n * vue-qrcode v1.0.0\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-21T13:04:02.951Z\n */\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar qrcode = createCommonjsModule(function (module, exports) {\n(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (var i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n var bufIndex = Math.floor(this.length / 8);\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0);\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n }\n\n this.length++;\n }\n};\n\nmodule.exports = BitBuffer;\n\n},{}],4:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\n/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size;\n this.data = new Buffer(size * size);\n this.data.fill(0);\n this.reservedBit = new Buffer(size * size);\n this.reservedBit.fill(0);\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n var index = row * this.size + col;\n this.data[index] = value;\n if (reserved) this.reservedBit[index] = true;\n};\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n};\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value;\n};\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n};\n\nmodule.exports = BitMatrix;\n\n},{\"../utils/buffer\":27}],5:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Mode = require('./mode');\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE;\n this.data = new Buffer(data);\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n};\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n};\n\nByteData.prototype.write = function (bitBuffer) {\n for (var i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8);\n }\n};\n\nmodule.exports = ByteData;\n\n},{\"../utils/buffer\":27,\"./mode\":13}],6:[function(require,module,exports){\nvar ECLevel = require('./error-correction-level');\r\n\r\nvar EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n];\r\n\r\nvar EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n];\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\n},{\"./error-correction-level\":7}],7:[function(require,module,exports){\nexports.L = { bit: 1 };\nexports.M = { bit: 0 };\nexports.Q = { bit: 3 };\nexports.H = { bit: 2 };\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n};\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{}],8:[function(require,module,exports){\nvar getSymbolSize = require('./utils').getSymbolSize;\nvar FINDER_PATTERN_SIZE = 7;\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n var size = getSymbolSize(version);\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n};\n\n},{\"./utils\":20}],9:[function(require,module,exports){\nvar Utils = require('./utils');\n\nvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\nvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\nvar G15_BCH = Utils.getBCHDigit(G15);\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n var data = ((errorCorrectionLevel.bit << 3) | mask);\n var d = data << 10;\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n};\n\n},{\"./utils\":20}],10:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\nvar EXP_TABLE = new Buffer(512);\nvar LOG_TABLE = new Buffer(256)\n\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n var x = 1;\n for (var i = 0; i < 255; i++) {\n EXP_TABLE[i] = x;\n LOG_TABLE[x] = i;\n\n x <<= 1; // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D;\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255];\n }\n}());\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n};\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n};\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n};\n\n},{\"../utils/buffer\":27}],11:[function(require,module,exports){\nvar Mode = require('./mode');\nvar Utils = require('./utils');\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI;\n this.data = data;\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n};\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n};\n\nKanjiData.prototype.write = function (bitBuffer) {\n var i;\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n var value = Utils.toSJIS(this.data[i]);\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140;\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140;\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13);\n }\n};\n\nmodule.exports = KanjiData;\n\n},{\"./mode\":13,\"./utils\":20}],12:[function(require,module,exports){\n/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n};\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nvar PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n};\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n};\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n};\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n var size = data.size;\n var points = 0;\n var sameCountCol = 0;\n var sameCountRow = 0;\n var lastCol = null;\n var lastRow = null;\n\n for (var row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0;\n lastCol = lastRow = null;\n\n for (var col = 0; col < size; col++) {\n var module = data.get(row, col);\n if (module === lastCol) {\n sameCountCol++;\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n lastCol = module;\n sameCountCol = 1;\n }\n\n module = data.get(col, row);\n if (module === lastRow) {\n sameCountRow++;\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n lastRow = module;\n sameCountRow = 1;\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n }\n\n return points\n};\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n var size = data.size;\n var points = 0;\n\n for (var row = 0; row < size - 1; row++) {\n for (var col = 0; col < size - 1; col++) {\n var last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1);\n\n if (last === 4 || last === 0) points++;\n }\n }\n\n return points * PenaltyScores.N2\n};\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n var size = data.size;\n var points = 0;\n var bitsCol = 0;\n var bitsRow = 0;\n\n for (var row = 0; row < size; row++) {\n bitsCol = bitsRow = 0;\n for (var col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n }\n }\n\n return points * PenaltyScores.N3\n};\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n var darkCount = 0;\n var modulesCount = data.data.length;\n\n for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n return k * PenaltyScores.N4\n};\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n var size = data.size;\n\n for (var col = 0; col < size; col++) {\n for (var row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col));\n }\n }\n};\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n var numPatterns = Object.keys(exports.Patterns).length;\n var bestPattern = 0;\n var lowerPenalty = Infinity;\n\n for (var p = 0; p < numPatterns; p++) {\n setupFormatFunc(p);\n exports.applyMask(p, data);\n\n // Calculate penalty\n var penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data);\n\n // Undo previously applied mask\n exports.applyMask(p, data);\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty;\n bestPattern = p;\n }\n }\n\n return bestPattern\n};\n\n},{}],13:[function(require,module,exports){\nvar VersionCheck = require('./version-check');\nvar Regex = require('./regex');\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n};\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n};\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n};\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n};\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n};\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n};\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n};\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n};\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n};\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{\"./regex\":18,\"./version-check\":21}],14:[function(require,module,exports){\nvar Mode = require('./mode');\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC;\n this.data = data.toString();\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n};\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n};\n\nNumericData.prototype.write = function write (bitBuffer) {\n var i, group, value;\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, 10);\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n var remainingNum = this.data.length - i;\n if (remainingNum > 0) {\n group = this.data.substr(i);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, remainingNum * 3 + 1);\n }\n};\n\nmodule.exports = NumericData;\n\n},{\"./mode\":13}],15:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar GF = require('./galois-field');\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Buffer} p1 Polynomial\n * @param {Buffer} p2 Polynomial\n * @return {Buffer} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n var coeff = new Buffer(p1.length + p2.length - 1);\n coeff.fill(0);\n\n for (var i = 0; i < p1.length; i++) {\n for (var j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n }\n }\n\n return coeff\n};\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Buffer} divident Polynomial\n * @param {Buffer} divisor Polynomial\n * @return {Buffer} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n var result = new Buffer(divident);\n\n while ((result.length - divisor.length) >= 0) {\n var coeff = result[0];\n\n for (var i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff);\n }\n\n // remove all zeros from buffer head\n var offset = 0;\n while (offset < result.length && result[offset] === 0) offset++;\n result = result.slice(offset);\n }\n\n return result\n};\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Buffer} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n var poly = new Buffer([1]);\n for (var i = 0; i < degree; i++) {\n poly = exports.mul(poly, [1, GF.exp(i)]);\n }\n\n return poly\n};\n\n},{\"../utils/buffer\":27,\"./galois-field\":10}],16:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Utils = require('./utils');\nvar ECLevel = require('./error-correction-level');\nvar BitBuffer = require('./bit-buffer');\nvar BitMatrix = require('./bit-matrix');\nvar AlignmentPattern = require('./alignment-pattern');\nvar FinderPattern = require('./finder-pattern');\nvar MaskPattern = require('./mask-pattern');\nvar ECCode = require('./error-correction-code');\nvar ReedSolomonEncoder = require('./reed-solomon-encoder');\nvar Version = require('./version');\nvar FormatInfo = require('./format-info');\nvar Mode = require('./mode');\nvar Segments = require('./segments');\nvar isArray = require('isarray');\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n var size = matrix.size;\n var pos = FinderPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (var c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n var size = matrix.size;\n\n for (var r = 8; r < size - 8; r++) {\n var value = r % 2 === 0;\n matrix.set(r, 6, value, true);\n matrix.set(6, r, value, true);\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n var pos = AlignmentPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -2; r <= 2; r++) {\n for (var c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n var size = matrix.size;\n var bits = Version.getEncodedBits(version);\n var row, col, mod;\n\n for (var i = 0; i < 18; i++) {\n row = Math.floor(i / 3);\n col = i % 3 + size - 8 - 3;\n mod = ((bits >> i) & 1) === 1;\n\n matrix.set(row, col, mod, true);\n matrix.set(col, row, mod, true);\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n var size = matrix.size;\n var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n var i, mod;\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1;\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true);\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true);\n } else {\n matrix.set(size - 15 + i, 8, mod, true);\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true);\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true);\n } else {\n matrix.set(8, 15 - i - 1, mod, true);\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true);\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Buffer} data Data codewords\n */\nfunction setupData (matrix, data) {\n var size = matrix.size;\n var inc = -1;\n var row = size - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n\n for (var col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--;\n\n while (true) {\n for (var c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n var dark = false;\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n }\n\n matrix.set(row, col - c, dark);\n bitIndex--;\n\n if (bitIndex === -1) {\n byteIndex++;\n bitIndex = 7;\n }\n }\n }\n\n row += inc;\n\n if (row < 0 || size <= row) {\n row -= inc;\n inc = -inc;\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n var buffer = new BitBuffer();\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4);\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n // add binary data sequence to buffer\n data.write(buffer);\n });\n\n // Calculate required number of bits\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4);\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0);\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n for (var i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n // Total number of blocks\n var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n // Calculate how many blocks each group should contain\n var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n // Number of EC codewords is the same for both groups\n var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n var rs = new ReedSolomonEncoder(ecCount);\n\n var offset = 0;\n var dcData = new Array(ecTotalBlocks);\n var ecData = new Array(ecTotalBlocks);\n var maxDataSize = 0;\n var buffer = new Buffer(bitBuffer.buffer);\n\n // Divide the buffer into the required number of blocks\n for (var b = 0; b < ecTotalBlocks; b++) {\n var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize);\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b]);\n\n offset += dataSize;\n maxDataSize = Math.max(maxDataSize, dataSize);\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n var data = new Buffer(totalCodewords);\n var index = 0;\n var i, r;\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i];\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i];\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n var segments;\n\n if (isArray(data)) {\n segments = Segments.fromArray(data);\n } else if (typeof data === 'string') {\n var estimatedVersion = version;\n\n if (!estimatedVersion) {\n var rawSegments = Segments.rawSplit(data);\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments,\n errorCorrectionLevel);\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40);\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n var bestVersion = Version.getBestVersionForData(segments,\n errorCorrectionLevel);\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion;\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n var dataBits = createData(version, errorCorrectionLevel, segments);\n\n // Allocate matrix buffer\n var moduleCount = Utils.getSymbolSize(version);\n var modules = new BitMatrix(moduleCount);\n\n // Add function modules\n setupFinderPattern(modules, version);\n setupTimingPattern(modules);\n setupAlignmentPattern(modules, version);\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n if (version >= 7) {\n setupVersionInfo(modules, version);\n }\n\n // Add data codewords\n setupData(modules, dataBits);\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules);\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n var errorCorrectionLevel = ECLevel.M;\n var version;\n var mask;\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n version = Version.from(options.version);\n mask = MaskPattern.from(options.maskPattern);\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc);\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n};\n\n},{\"../utils/buffer\":27,\"./alignment-pattern\":1,\"./bit-buffer\":3,\"./bit-matrix\":4,\"./error-correction-code\":6,\"./error-correction-level\":7,\"./finder-pattern\":8,\"./format-info\":9,\"./mask-pattern\":12,\"./mode\":13,\"./reed-solomon-encoder\":17,\"./segments\":19,\"./utils\":20,\"./version\":22,\"isarray\":30}],17:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Polynomial = require('./polynomial');\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined;\n this.degree = degree;\n\n if (this.degree) this.initialize(this.degree);\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree;\n this.genPoly = Polynomial.generateECPolynomial(this.degree);\n};\n\n/**\n * Encodes a chunk of data\n *\n * @param {Buffer} data Buffer containing input data\n * @return {Buffer} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n var pad = new Buffer(this.degree);\n pad.fill(0);\n var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n var start = this.degree - remainder.length;\n if (start > 0) {\n var buff = new Buffer(this.degree);\n buff.fill(0);\n remainder.copy(buff, start);\n\n return buff\n }\n\n return remainder\n};\n\nmodule.exports = ReedSolomonEncoder;\n\n},{\"../utils/buffer\":27,\"./polynomial\":15}],18:[function(require,module,exports){\nvar numeric = '[0-9]+';\nvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\nvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\nkanji = kanji.replace(/u/g, '\\\\u');\n\nvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\nexports.KANJI = new RegExp(kanji, 'g');\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\nexports.BYTE = new RegExp(byte, 'g');\nexports.NUMERIC = new RegExp(numeric, 'g');\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\nvar TEST_KANJI = new RegExp('^' + kanji + '$');\nvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\nvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n};\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n};\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n};\n\n},{}],19:[function(require,module,exports){\nvar Mode = require('./mode');\nvar NumericData = require('./numeric-data');\nvar AlphanumericData = require('./alphanumeric-data');\nvar ByteData = require('./byte-data');\nvar KanjiData = require('./kanji-data');\nvar Regex = require('./regex');\nvar Utils = require('./utils');\nvar dijkstra = require('dijkstrajs');\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n var segments = [];\n var result;\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n });\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n var byteSegs;\n var kanjiSegs;\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n kanjiSegs = [];\n }\n\n var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data;\n return acc\n }\n\n acc.push(curr);\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n var nodes = [];\n for (var i = 0; i < segs.length; i++) {\n var seg = segs[i];\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n var table = {};\n var graph = {'start': {}};\n var prevNodeIds = ['start'];\n\n for (var i = 0; i < nodes.length; i++) {\n var nodeGroup = nodes[i];\n var currentNodeIds = [];\n\n for (var j = 0; j < nodeGroup.length; j++) {\n var node = nodeGroup[j];\n var key = '' + i + j;\n\n currentNodeIds.push(key);\n table[key] = { node: node, lastCount: 0 };\n graph[key] = {};\n\n for (var n = 0; n < prevNodeIds.length; n++) {\n var prevNodeId = prevNodeIds[n];\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n table[prevNodeId].lastCount += node.length;\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds;\n }\n\n for (n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]]['end'] = 0;\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n var mode;\n var bestMode = Mode.getBestModeForData(data);\n\n mode = Mode.from(modesHint, bestMode);\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE;\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null));\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode));\n }\n\n return acc\n }, [])\n};\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n var nodes = buildNodes(segs);\n var graph = buildGraph(nodes, version);\n var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n var optimizedSegs = [];\n for (var i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node);\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n};\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n};\n\n},{\"./alphanumeric-data\":2,\"./byte-data\":5,\"./kanji-data\":11,\"./mode\":13,\"./numeric-data\":14,\"./regex\":18,\"./utils\":20,\"dijkstrajs\":29}],20:[function(require,module,exports){\nvar toSJISFunction;\nvar CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n];\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n};\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n};\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n var digit = 0;\n\n while (data !== 0) {\n digit++;\n data >>>= 1;\n }\n\n return digit\n};\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f;\n};\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n};\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n};\n\n},{}],21:[function(require,module,exports){\n/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n};\n\n},{}],22:[function(require,module,exports){\nvar Utils = require('./utils');\nvar ECCode = require('./error-correction-code');\nvar ECLevel = require('./error-correction-level');\nvar Mode = require('./mode');\nvar VersionCheck = require('./version-check');\nvar isArray = require('isarray');\n\n// Generator polynomial used to encode version information\nvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\nvar G18_BCH = Utils.getBCHDigit(G18);\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n var totalBits = 0;\n\n segments.forEach(function (data) {\n var reservedBits = getReservedBitsCount(data.mode, version);\n totalBits += reservedBits + data.getBitsLength();\n });\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n var length = getTotalBitsFromDataArray(segments, currentVersion);\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n};\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n};\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n var seg;\n\n var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n if (isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0];\n } else {\n seg = data;\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n};\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n var d = version << 12;\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n }\n\n return (version << 12) | d\n};\n\n},{\"./error-correction-code\":6,\"./error-correction-level\":7,\"./mode\":13,\"./utils\":20,\"./version-check\":21,\"isarray\":30}],23:[function(require,module,exports){\nvar canPromise = require('can-promise');\nvar QRCode = require('./core/qrcode');\nvar CanvasRenderer = require('./renderer/canvas');\nvar SvgRenderer = require('./renderer/svg-tag.js');\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n var args = [].slice.call(arguments, 1);\n var argsNum = args.length;\n var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text;\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts;\n opts = undefined;\n } else {\n cb = opts;\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n\n return new Promise(function (resolve, reject) {\n try {\n var data = QRCode.create(text, opts);\n resolve(renderFunc(data, canvas, opts));\n } catch (e) {\n reject(e);\n }\n })\n }\n\n try {\n var data = QRCode.create(text, opts);\n cb(null, renderFunc(data, canvas, opts));\n } catch (e) {\n cb(e);\n }\n}\n\nexports.create = QRCode.create;\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n});\n\n},{\"./core/qrcode\":16,\"./renderer/canvas\":24,\"./renderer/svg-tag.js\":25,\"can-promise\":28}],24:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (!canvas.style) canvas.style = {};\n canvas.height = size;\n canvas.width = size;\n canvas.style.height = size + 'px';\n canvas.style.width = size + 'px';\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n var opts = options;\n var canvasEl = canvas;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement();\n }\n\n opts = Utils.getOptions(opts);\n var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n var ctx = canvasEl.getContext('2d');\n var image = ctx.createImageData(size, size);\n Utils.qrToImageData(image.data, qrData, opts);\n\n clearCanvas(ctx, canvasEl, size);\n ctx.putImageData(image, 0, 0);\n\n return canvasEl\n};\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n var opts = options;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!opts) opts = {};\n\n var canvasEl = exports.render(qrData, canvas, opts);\n\n var type = opts.type || 'image/png';\n var rendererOpts = opts.rendererOpts || {};\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n};\n\n},{\"./utils\":26}],25:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction getColorAttrib (color, attrib) {\n var alpha = color.a / 255;\n var str = attrib + '=\"' + color.hex + '\"';\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n var str = cmd + x;\n if (typeof y !== 'undefined') str += ' ' + y;\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n var path = '';\n var moveBy = 0;\n var newRow = false;\n var lineLength = 0;\n\n for (var i = 0; i < data.length; i++) {\n var col = Math.floor(i % size);\n var row = Math.floor(i / size);\n\n if (!col && !newRow) newRow = true;\n\n if (data[i]) {\n lineLength++;\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0);\n\n moveBy = 0;\n newRow = false;\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength);\n lineLength = 0;\n }\n } else {\n moveBy++;\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n var opts = Utils.getOptions(options);\n var size = qrData.modules.size;\n var data = qrData.modules.data;\n var qrcodesize = size + opts.margin * 2;\n\n var bg = !opts.color.light.a\n ? ''\n : '';\n\n var path =\n '';\n\n var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n var svgTag = '' + bg + path + '\\n';\n\n if (typeof cb === 'function') {\n cb(null, svgTag);\n }\n\n return svgTag\n};\n\n},{\"./utils\":26}],26:[function(require,module,exports){\nfunction hex2rgba (hex) {\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n var hexCode = hex.slice().replace('#', '').split('');\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }));\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F');\n\n var hexValue = parseInt(hexCode.join(''), 16);\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {};\n if (!options.color) options.color = {};\n\n var margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0 ? 4 : options.margin;\n\n var width = options.width && options.width >= 21 ? options.width : undefined;\n var scale = options.scale || 4;\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n};\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n};\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n var scale = exports.getScale(qrSize, opts);\n return Math.floor((qrSize + opts.margin * 2) * scale)\n};\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n var size = qr.modules.size;\n var data = qr.modules.data;\n var scale = exports.getScale(size, opts);\n var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n var scaledMargin = opts.margin * scale;\n var palette = [opts.color.light, opts.color.dark];\n\n for (var i = 0; i < symbolSize; i++) {\n for (var j = 0; j < symbolSize; j++) {\n var posDst = (i * symbolSize + j) * 4;\n var pxColor = opts.color.light;\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n var iSrc = Math.floor((i - scaledMargin) / scale);\n var jSrc = Math.floor((j - scaledMargin) / scale);\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n }\n\n imgData[posDst++] = pxColor.r;\n imgData[posDst++] = pxColor.g;\n imgData[posDst++] = pxColor.b;\n imgData[posDst] = pxColor.a;\n }\n }\n};\n\n},{}],27:[function(require,module,exports){\n\nvar isArray = require('isarray');\n\nfunction typedArraySupport () {\n // Can typed array instances be augmented?\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\nvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff;\n\nfunction Buffer (arg, offset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, offset, length)\n }\n\n if (typeof arg === 'number') {\n return allocUnsafe(this, arg)\n }\n\n return from(this, arg, offset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n });\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\nfunction createBuffer (that, length) {\n var buf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n buf = new Uint8Array(length);\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = that;\n if (buf === null) {\n buf = new Buffer(length);\n }\n buf.length = length;\n }\n\n return buf\n}\n\nfunction allocUnsafe (that, size) {\n var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n buf[i] = 0;\n }\n }\n\n return buf\n}\n\nfunction fromString (that, string) {\n var length = byteLength(string) | 0;\n var buf = createBuffer(that, length);\n\n var actual = buf.write(string);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n var buf = createBuffer(that, length);\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n var buf;\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = fromArrayLike(that, buf);\n }\n\n return buf\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n var buf = createBuffer(that, len);\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len);\n return buf\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint;\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction byteLength (string) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string;\n }\n\n var len = string.length;\n if (len === 0) return 0\n\n return utf8ToBytes(string).length\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i];\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction from (that, value, offset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, offset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, offset)\n }\n\n return fromObject(that, value)\n}\n\nBuffer.prototype.write = function write (string, offset, length) {\n // Buffer#write(string)\n if (offset === undefined) {\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n if (isFinite(length)) {\n length = length | 0;\n } else {\n length = undefined;\n }\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n return utf8Write(this, string, offset, length)\n};\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n\n var newBuf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n\n return newBuf\n};\n\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n var i;\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n );\n }\n\n return len\n};\n\nBuffer.prototype.fill = function fill (val, start, end) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n end = this.length;\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (code < 256) {\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n if (!val) val = 0;\n\n var i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : new Buffer(val);\n var len = bytes.length;\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this\n};\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return createBuffer(null, 0)\n }\n\n var i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = allocUnsafe(null, length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer\n};\n\nBuffer.byteLength = byteLength;\n\nBuffer.prototype._isBuffer = true;\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n};\n\nmodule.exports = Buffer;\n\n},{\"isarray\":30}],28:[function(require,module,exports){\n\nvar G = require('window-or-global');\n\nmodule.exports = function() {\n return (\n typeof G.Promise === 'function' &&\n typeof G.Promise.prototype.then === 'function'\n )\n};\n\n},{\"window-or-global\":31}],29:[function(require,module,exports){\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n\n},{}],30:[function(require,module,exports){\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n},{}],31:[function(require,module,exports){\n(function (global){\nmodule.exports = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global) ||\n this;\n\n}).call(this,typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n\n},{}]},{},[23])(23)\n});\n\n\n});\n\nvar index = {\n name: 'qrcode',\n props: {\n /**\n * The options for the QR code generator.\n * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n */\n options: Object,\n\n /**\n * The tag name of the component's root element.\n */\n tag: {\n type: String,\n default: 'canvas'\n },\n\n /**\n * The value of the QR code.\n */\n value: null\n },\n render: function render(createElement) {\n return createElement(this.tag, this.$slots.default);\n },\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler: function handler() {\n if (this.$el) {\n this.generate();\n }\n }\n }\n },\n methods: {\n /**\n * Generate QR code.\n */\n generate: function generate() {\n var _this = this;\n\n var options = this.options,\n tag = this.tag;\n var value = String(this.value);\n\n if (tag === 'canvas') {\n qrcode.toCanvas(this.$el, value, options, function (error) {\n if (error) {\n throw error;\n }\n });\n } else if (tag === 'img') {\n qrcode.toDataURL(value, options, function (error, url) {\n if (error) {\n throw error;\n }\n\n _this.$el.src = url;\n });\n } else {\n qrcode.toString(value, options, function (error, string) {\n if (error) {\n throw error;\n }\n\n _this.$el.innerHTML = string;\n });\n }\n }\n },\n mounted: function mounted() {\n this.generate();\n }\n};\n\nexport default index;\n","/*!\n * Cropper.js v1.4.3\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-24T13:07:15.032Z\n */\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar IN_BROWSER = typeof window !== 'undefined';\nvar WINDOW = IN_BROWSER ? window : {};\nvar NAMESPACE = 'cropper'; // Actions\n\nvar ACTION_ALL = 'all';\nvar ACTION_CROP = 'crop';\nvar ACTION_MOVE = 'move';\nvar ACTION_ZOOM = 'zoom';\nvar ACTION_EAST = 'e';\nvar ACTION_WEST = 'w';\nvar ACTION_SOUTH = 's';\nvar ACTION_NORTH = 'n';\nvar ACTION_NORTH_EAST = 'ne';\nvar ACTION_NORTH_WEST = 'nw';\nvar ACTION_SOUTH_EAST = 'se';\nvar ACTION_SOUTH_WEST = 'sw'; // Classes\n\nvar CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\nvar CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\nvar CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\nvar CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\nvar CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\nvar CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\nvar CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\"); // Data keys\n\nvar DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\nvar DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\"); // Drag modes\n\nvar DRAG_MODE_CROP = 'crop';\nvar DRAG_MODE_MOVE = 'move';\nvar DRAG_MODE_NONE = 'none'; // Events\n\nvar EVENT_CROP = 'crop';\nvar EVENT_CROP_END = 'cropend';\nvar EVENT_CROP_MOVE = 'cropmove';\nvar EVENT_CROP_START = 'cropstart';\nvar EVENT_DBLCLICK = 'dblclick';\nvar EVENT_POINTER_DOWN = WINDOW.PointerEvent ? 'pointerdown' : 'touchstart mousedown';\nvar EVENT_POINTER_MOVE = WINDOW.PointerEvent ? 'pointermove' : 'touchmove mousemove';\nvar EVENT_POINTER_UP = WINDOW.PointerEvent ? 'pointerup pointercancel' : 'touchend touchcancel mouseup';\nvar EVENT_READY = 'ready';\nvar EVENT_RESIZE = 'resize';\nvar EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll';\nvar EVENT_ZOOM = 'zoom'; // Mime types\n\nvar MIME_TYPE_JPEG = 'image/jpeg'; // RegExps\n\nvar REGEXP_ACTIONS = /^(?:e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/;\nvar REGEXP_DATA_URL = /^data:/;\nvar REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\nvar REGEXP_TAG_NAME = /^(?:img|canvas)$/i;\n\nvar DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: 200,\n minContainerHeight: 100,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n};\n\nvar TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
';\n\n/**\n * Check if the given value is not a number.\n */\n\nvar isNaN = Number.isNaN || WINDOW.isNaN;\n/**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n\nfunction isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n/**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n/**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n\nfunction isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (e) {\n return false;\n }\n}\n/**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n\nfunction forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length)\n /* array-like */\n ) {\n var length = data.length;\n var i;\n\n for (i = 0; i < length; i += 1) {\n if (callback.call(data, data[i], i, data) === false) {\n break;\n }\n }\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n\n return data;\n}\n/**\n * Extend the given object.\n * @param {*} obj - The object to be extended.\n * @param {*} args - The rest objects which will be merged to the first object.\n * @returns {Object} The extended object.\n */\n\nvar assign = Object.assign || function assign(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (isObject(obj) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n obj[key] = arg[key];\n });\n }\n });\n }\n\n return obj;\n};\nvar REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n/**\n * Normalize decimal number.\n * Check out {@link http://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n\nfunction normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n}\nvar REGEXP_SUFFIX = /^(?:width|height|left|top|marginLeft|marginTop)$/;\n/**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n\nfunction setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value += 'px';\n }\n\n style[property] = value;\n });\n}\n/**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n\nfunction hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n}\n/**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n\nfunction addClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n\n var className = element.className.trim();\n\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n}\n/**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n\nfunction removeClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n}\n/**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n\nfunction toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n } // IE10-11 doesn't support the second parameter of `classList.toggle`\n\n\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n}\nvar REGEXP_HYPHENATE = /([a-z\\d])([A-Z])/g;\n/**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n\nfunction hyphenate(value) {\n return value.replace(REGEXP_HYPHENATE, '$1-$2').toLowerCase();\n}\n/**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n\nfunction getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n\n if (element.dataset) {\n return element.dataset[name];\n }\n\n return element.getAttribute(\"data-\".concat(hyphenate(name)));\n}\n/**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n\nfunction setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(hyphenate(name)), data);\n }\n}\n/**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n\nfunction removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (e) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (e) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(hyphenate(name)));\n }\n}\nvar REGEXP_SPACES = /\\s\\s*/;\n\nvar onceSupported = function () {\n var supported = false;\n\n if (IN_BROWSER) {\n var once = false;\n\n var listener = function listener() {};\n\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n\n return supported;\n}();\n/**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\n\nfunction removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n\n element.removeEventListener(event, handler, options);\n });\n}\n/**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\nfunction addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n listener.apply(element, args);\n };\n\n if (!listeners[event]) {\n listeners[event] = {};\n }\n\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n\n element.addEventListener(event, _handler, options);\n });\n}\n/**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n\nfunction dispatchEvent(element, type, data) {\n var event; // Event and CustomEvent on IE9-11 are global objects, not constructors\n\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n\n return element.dispatchEvent(event);\n}\n/**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n\nfunction getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n}\nvar location = WINDOW.location;\nvar REGEXP_ORIGINS = /^(https?:)\\/\\/([^:/?#]+):?(\\d*)/i;\n/**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n\nfunction isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n}\n/**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n\nfunction addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n}\n/**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n\nfunction getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n } // Rotate should come first before scale to match orientation transform\n\n\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n}\n/**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n\nfunction getMaxZoomRatio(pointers) {\n var pointers2 = assign({}, pointers);\n var ratios = [];\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n ratios.push(ratio);\n });\n });\n ratios.sort(function (a, b) {\n return Math.abs(a) < Math.abs(b);\n });\n return ratios[0];\n}\n/**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n\nfunction getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : assign({\n startX: pageX,\n startY: pageY\n }, end);\n}\n/**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n\nfunction getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n}\n/**\n * Check if the given value is a finite number.\n */\n\nvar isFinite = Number.isFinite || WINDOW.isFinite;\n/**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n\nfunction getAdjustedSizes(_ref4) // or 'cover'\n{\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n\n var isValidNumber = function isValidNumber(value) {\n return isFinite(value) && value > 0;\n };\n\n if (isValidNumber(width) && isValidNumber(height)) {\n var adjustedWidth = height * aspectRatio;\n\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidNumber(width)) {\n height = width / aspectRatio;\n } else if (isValidNumber(height)) {\n width = height * aspectRatio;\n }\n\n return {\n width: width,\n height: height\n };\n}\n/**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n\nfunction getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n}\n/**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n\nfunction getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight)); // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n}\nvar fromCharCode = String.fromCharCode;\n/**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n\nfunction getStringFromCharCode(dataView, start, length) {\n var str = '';\n var i;\n length += start;\n\n for (i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n\n return str;\n}\nvar REGEXP_DATA_URL_HEAD = /^data:.*,/;\n/**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n\nfunction dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n}\n/**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n\nfunction arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n\n while (uint8.length > 0) {\n chunks.push(fromCharCode.apply(void 0, _toConsumableArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n}\n/**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n\nfunction resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation; // Ignores range error when the image does not have correct Exif information\n\n try {\n var littleEndian;\n var app1Start;\n var ifdStart; // Only handle JPEG image (start by 0xFFD8)\n\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n\n offset += 1;\n }\n }\n\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n\n if (littleEndian || endianness === 0x4D4D\n /* bigEndian */\n ) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n\n var _offset;\n\n var i;\n\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n\n if (dataView.getUint16(_offset, littleEndian) === 0x0112\n /* Orientation */\n ) {\n // 8 is the offset of the current tag's value\n _offset += 8; // Get the original orientation value\n\n orientation = dataView.getUint16(_offset, littleEndian); // Override the orientation with its default value\n\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (e) {\n orientation = 1;\n }\n\n return orientation;\n}\n/**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n\nfunction parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n // Rotate left 180°\n\n case 3:\n rotate = -180;\n break;\n // Flip vertical\n\n case 4:\n scaleY = -1;\n break;\n // Flip vertical and rotate right 90°\n\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n // Rotate right 90°\n\n case 6:\n rotate = 90;\n break;\n // Flip horizontal and rotate right 90°\n\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n // Rotate left 90°\n\n case 8:\n rotate = -90;\n break;\n\n default:\n }\n\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n\nvar render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, Number(options.minContainerWidth) || 200),\n height: Math.max(container.offsetHeight, Number(options.minContainerHeight) || 100)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n canvasData.left = (containerData.width - canvasWidth) / 2;\n canvasData.top = (containerData.height - canvasHeight) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n this.initialImageData = assign({}, imageData);\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true); // Initialize auto crop area\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight); // The width/height of auto crop area must large than \"minWidth/Height\"\n\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height; // The min/maxCropBoxWidth/Height must be less than container's width/height\n\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n } // The minWidth/Height must be less than maxWidth/Height\n\n\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n};\n\nvar preview = {\n initPreview: function initPreview() {\n var crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = url;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n\n if (!preview) {\n return;\n }\n\n var previews = preview;\n\n if (typeof preview === 'string') {\n previews = this.element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img'); // Save the original size for recover\n\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n\n img.src = url;\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n\n if (!this.cropped || this.disabled) {\n return;\n }\n\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n};\n\nvar events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this));\n }\n\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel);\n }\n\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n};\n\nvar handlers = {\n resize: function resize() {\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var minContainerWidth = Number(options.minContainerWidth) || 200;\n var minContainerHeight = Number(options.minContainerHeight) || 100;\n\n if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {\n return;\n }\n\n var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed\n\n if (ratio !== 1 || container.offsetHeight !== containerData.height) {\n var canvasData;\n var cropBoxData;\n\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n\n this.render();\n\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(e) {\n var _this = this;\n\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n\n if (this.disabled) {\n return;\n }\n\n e.preventDefault(); // Limit wheel speed to prevent zoom too fast (#21)\n\n if (this.wheeling) {\n return;\n }\n\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n\n if (e.deltaY) {\n delta = e.deltaY > 0 ? 1 : -1;\n } else if (e.wheelDelta) {\n delta = -e.wheelDelta / 120;\n } else if (e.detail) {\n delta = e.detail > 0 ? 1 : -1;\n }\n\n this.zoom(-delta * ratio, e);\n },\n cropStart: function cropStart(e) {\n if (this.disabled) {\n return;\n }\n\n var options = this.options,\n pointers = this.pointers;\n var action;\n\n if (e.changedTouches) {\n // Handle touch event\n forEach(e.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[e.pointerId || 0] = getPointer(e);\n }\n\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(e.target, DATA_ACTION);\n }\n\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n } // This line is required for preventing page zooming in iOS browsers\n\n\n e.preventDefault();\n this.action = action;\n this.cropping = false;\n\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(e) {\n var action = this.action;\n\n if (this.disabled || !action) {\n return;\n }\n\n var pointers = this.pointers;\n e.preventDefault();\n\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n }\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[e.pointerId || 0] || {}, getPointer(e, true));\n }\n\n this.change(e);\n },\n cropEnd: function cropEnd(e) {\n if (this.disabled) {\n return;\n }\n\n var action = this.action,\n pointers = this.pointers;\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[e.pointerId || 0];\n }\n\n if (!action) {\n return;\n }\n\n e.preventDefault();\n\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: e,\n action: action\n });\n }\n};\n\nvar change = {\n change: function change(e) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset; // Locking aspect ratio in \"free mode\" by holding shift key\n\n if (!aspectRatio && e.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n\n break;\n\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n\n break;\n\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n\n break;\n\n default:\n }\n };\n\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n // Resize crop box\n\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_SOUTH);\n height += range.y;\n\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n // Move canvas\n\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n // Zoom canvas\n\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), e);\n renderable = false;\n break;\n // Create crop box\n\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n\n if (range.y < 0) {\n top -= height;\n } // Show the crop box if is hidden\n\n\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n\n break;\n\n default:\n }\n\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n } // Override\n\n\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n};\n\nvar methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true); // Render canvas after crop box rendered\n\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n\n return this;\n },\n\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n\n if (!element[NAMESPACE]) {\n return this;\n }\n\n element[NAMESPACE] = undefined;\n\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n\n this.uncreate();\n return this;\n },\n\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n\n if (changed) {\n this.renderCanvas(true);\n }\n }\n\n return this;\n },\n\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n }; // Zoom from the triggering point of the event\n\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n\n return this;\n },\n\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n\n return this;\n },\n\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData$$1() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n\n return data;\n },\n\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData$$1(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n\n var ratio = imageData.width / imageData.naturalWidth;\n\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n\n this.setCropBoxData(cropBoxData);\n }\n\n return this;\n },\n\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n\n return data;\n },\n\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n\n return data || {};\n },\n\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.renderCropBox();\n }\n\n return this;\n },\n\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options); // Returns the source canvas if it is not cropped.\n\n if (!this.cropped) {\n return source;\n }\n\n var _this$getData = this.getData(),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n } // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n\n\n var sourceWidth = source.width;\n var sourceHeight = source.height; // Source canvas parameters\n\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight; // Destination canvas parameters\n\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n\n var params = [srcX, srcY, srcWidth, srcHeight]; // Avoid \"IndexSizeError\"\n\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n } // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n\n\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n\n if (this.ready) {\n this.initCropBox();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n\n return this;\n },\n\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n\n return this;\n }\n};\n\nvar AnotherCropper = WINDOW.Cropper;\n\nvar Cropper =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Cropper);\n\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n\n if (element[NAMESPACE]) {\n return;\n }\n\n element[NAMESPACE] = this;\n\n if (tagName === 'img') {\n this.isImg = true; // e.g.: \"img/picture.jpg\"\n\n url = element.getAttribute('src') || '';\n this.originalUrl = url; // Stop when it's a blank image\n\n if (!url) {\n return;\n } // e.g.: \"http://example.com/img/picture.jpg\"\n\n\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n\n if (!url) {\n return;\n }\n\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n } // Only IE10+ supports Typed Arrays\n\n\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n } // XMLHttpRequest disallows to open a Data URL in some browsers like IE11 and Safari\n\n\n if (REGEXP_DATA_URL.test(url)) {\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n this.clone();\n }\n\n return;\n }\n\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n xhr.ontimeout = clone;\n xhr.onabort = clone;\n xhr.onerror = clone;\n\n xhr.onprogress = function () {\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n }; // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n\n\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n if (orientation > 1) {\n // Generate a new Data URL with the orientation value set to 1\n // as some iOS browsers will render image with its orientation\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n\n var _parseOrientation = parseOrientation(orientation);\n\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin;\n var crossOriginUrl;\n\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n crossOrigin = element.crossOrigin;\n\n if (crossOrigin) {\n crossOriginUrl = url;\n } else {\n crossOrigin = 'anonymous'; // Bust cache when there is not a \"crossOrigin\" property\n\n crossOriginUrl = addTimestamp(url);\n }\n }\n\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = crossOriginUrl || url;\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n var image = this.isImg ? this.element : this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n var IS_SAFARI = WINDOW.navigator && /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(WINDOW.navigator.userAgent);\n\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.sizing = false;\n _this2.sized = true;\n\n _this2.build();\n }; // Modern browsers (except Safari)\n\n\n if (image.naturalWidth && !IS_SAFARI) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n\n if (!IS_SAFARI) {\n body.removeChild(sizingImage);\n }\n };\n\n sizingImage.src = image.src; // iOS Safari will convert the image automatically\n // with its orientation once append it into DOM (#279)\n\n if (!IS_SAFARI) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n\n var element = this.element,\n options = this.options,\n image = this.image; // Create cropper elements\n\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image); // Hide the original image\n\n addClass(element, CLASS_HIDDEN); // Inserts the cropper after to the current image\n\n container.insertBefore(cropper, element.nextSibling); // Show the image if is hidden\n\n if (!this.isImg) {\n removeClass(image, CLASS_HIDE);\n }\n\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n\n if (options.autoCrop) {\n this.crop();\n }\n\n this.setData(options.data);\n\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n\n this.ready = false;\n this.unbind();\n this.resetPreview();\n this.cropper.parentNode.removeChild(this.cropper);\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n\n return Cropper;\n}();\n\nassign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\nexport default Cropper;\n","const LANGUAGES_LIST = {\n aa: {\n name: 'Afar',\n nativeName: 'Afaraf',\n },\n ab: {\n name: 'Abkhaz',\n nativeName: 'аҧсуа бызшәа',\n },\n ae: {\n name: 'Avestan',\n nativeName: 'avesta',\n },\n af: {\n name: 'Afrikaans',\n nativeName: 'Afrikaans',\n },\n ak: {\n name: 'Akan',\n nativeName: 'Akan',\n },\n am: {\n name: 'Amharic',\n nativeName: 'አማርኛ',\n },\n an: {\n name: 'Aragonese',\n nativeName: 'aragonés',\n },\n ar: {\n name: 'Arabic',\n nativeName: 'اللغة العربية',\n },\n as: {\n name: 'Assamese',\n nativeName: 'অসমীয়া',\n },\n av: {\n name: 'Avaric',\n nativeName: 'авар мацӀ',\n },\n ay: {\n name: 'Aymara',\n nativeName: 'aymar aru',\n },\n az: {\n name: 'Azerbaijani',\n nativeName: 'azərbaycan dili',\n },\n ba: {\n name: 'Bashkir',\n nativeName: 'башҡорт теле',\n },\n be: {\n name: 'Belarusian',\n nativeName: 'беларуская мова',\n },\n bg: {\n name: 'Bulgarian',\n nativeName: 'български език',\n },\n bh: {\n name: 'Bihari',\n nativeName: 'भोजपुरी',\n },\n bi: {\n name: 'Bislama',\n nativeName: 'Bislama',\n },\n bm: {\n name: 'Bambara',\n nativeName: 'bamanankan',\n },\n bn: {\n name: 'Bengali',\n nativeName: 'বাংলা',\n },\n bo: {\n name: 'Tibetan Standard',\n nativeName: 'བོད་ཡིག',\n },\n br: {\n name: 'Breton',\n nativeName: 'brezhoneg',\n },\n bs: {\n name: 'Bosnian',\n nativeName: 'bosanski jezik',\n },\n ca: {\n name: 'Catalan',\n nativeName: 'català',\n },\n ce: {\n name: 'Chechen',\n nativeName: 'нохчийн мотт',\n },\n ch: {\n name: 'Chamorro',\n nativeName: 'Chamoru',\n },\n co: {\n name: 'Corsican',\n nativeName: 'corsu',\n },\n cr: {\n name: 'Cree',\n nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ',\n },\n cs: {\n name: 'Czech',\n nativeName: 'čeština',\n },\n cu: {\n name: 'Old Church Slavonic',\n nativeName: 'ѩзыкъ словѣньскъ',\n },\n cv: {\n name: 'Chuvash',\n nativeName: 'чӑваш чӗлхи',\n },\n cy: {\n name: 'Welsh',\n nativeName: 'Cymraeg',\n },\n da: {\n name: 'Danish',\n nativeName: 'dansk',\n },\n de: {\n name: 'German',\n nativeName: 'Deutsch',\n },\n dv: {\n name: 'Divehi',\n nativeName: 'Dhivehi',\n },\n dz: {\n name: 'Dzongkha',\n nativeName: 'རྫོང་ཁ',\n },\n ee: {\n name: 'Ewe',\n nativeName: 'Eʋegbe',\n },\n el: {\n name: 'Greek',\n nativeName: 'ελληνικά',\n },\n en: {\n name: 'English',\n nativeName: 'English',\n },\n eo: {\n name: 'Esperanto',\n nativeName: 'Esperanto',\n },\n es: {\n name: 'Spanish',\n nativeName: 'Español',\n },\n et: {\n name: 'Estonian',\n nativeName: 'eesti',\n },\n eu: {\n name: 'Basque',\n nativeName: 'euskara',\n },\n fa: {\n name: 'Persian',\n nativeName: 'فارسی',\n },\n ff: {\n name: 'Fula',\n nativeName: 'Fulfulde',\n },\n fi: {\n name: 'Finnish',\n nativeName: 'suomi',\n },\n fj: {\n name: 'Fijian',\n nativeName: 'Vakaviti',\n },\n fo: {\n name: 'Faroese',\n nativeName: 'føroyskt',\n },\n fr: {\n name: 'French',\n nativeName: 'Français',\n },\n fy: {\n name: 'Western Frisian',\n nativeName: 'Frysk',\n },\n ga: {\n name: 'Irish',\n nativeName: 'Gaeilge',\n },\n gd: {\n name: 'Scottish Gaelic',\n nativeName: 'Gàidhlig',\n },\n gl: {\n name: 'Galician',\n nativeName: 'galego',\n },\n gn: {\n name: 'Guaraní',\n nativeName: \"Avañe'ẽ\",\n },\n gu: {\n name: 'Gujarati',\n nativeName: 'ગુજરાતી',\n },\n gv: {\n name: 'Manx',\n nativeName: 'Gaelg',\n },\n ha: {\n name: 'Hausa',\n nativeName: 'هَوُسَ',\n },\n he: {\n name: 'Hebrew',\n nativeName: 'עברית',\n },\n hi: {\n name: 'Hindi',\n nativeName: 'हिन्दी',\n },\n ho: {\n name: 'Hiri Motu',\n nativeName: 'Hiri Motu',\n },\n hr: {\n name: 'Croatian',\n nativeName: 'hrvatski jezik',\n },\n ht: {\n name: 'Haitian',\n nativeName: 'Kreyòl ayisyen',\n },\n hu: {\n name: 'Hungarian',\n nativeName: 'magyar',\n },\n hy: {\n name: 'Armenian',\n nativeName: 'Հայերեն',\n },\n hz: {\n name: 'Herero',\n nativeName: 'Otjiherero',\n },\n ia: {\n name: 'Interlingua',\n nativeName: 'Interlingua',\n },\n id: {\n name: 'Indonesian',\n nativeName: 'Indonesian',\n },\n ie: {\n name: 'Interlingue',\n nativeName: 'Interlingue',\n },\n ig: {\n name: 'Igbo',\n nativeName: 'Asụsụ Igbo',\n },\n ii: {\n name: 'Nuosu',\n nativeName: 'ꆈꌠ꒿ Nuosuhxop',\n },\n ik: {\n name: 'Inupiaq',\n nativeName: 'Iñupiaq',\n },\n io: {\n name: 'Ido',\n nativeName: 'Ido',\n },\n is: {\n name: 'Icelandic',\n nativeName: 'Íslenska',\n },\n it: {\n name: 'Italian',\n nativeName: 'Italiano',\n },\n iu: {\n name: 'Inuktitut',\n nativeName: 'ᐃᓄᒃᑎᑐᑦ',\n },\n ja: {\n name: 'Japanese',\n nativeName: '日本語',\n },\n jv: {\n name: 'Javanese',\n nativeName: 'basa Jawa',\n },\n ka: {\n name: 'Georgian',\n nativeName: 'ქართული',\n },\n kg: {\n name: 'Kongo',\n nativeName: 'Kikongo',\n },\n ki: {\n name: 'Kikuyu',\n nativeName: 'Gĩkũyũ',\n },\n kj: {\n name: 'Kwanyama',\n nativeName: 'Kuanyama',\n },\n kk: {\n name: 'Kazakh',\n nativeName: 'қазақ тілі',\n },\n kl: {\n name: 'Kalaallisut',\n nativeName: 'kalaallisut',\n },\n km: {\n name: 'Khmer',\n nativeName: 'ខេមរភាសា',\n },\n kn: {\n name: 'Kannada',\n nativeName: 'ಕನ್ನಡ',\n },\n ko: {\n name: 'Korean',\n nativeName: '한국어',\n },\n kr: {\n name: 'Kanuri',\n nativeName: 'Kanuri',\n },\n ks: {\n name: 'Kashmiri',\n nativeName: 'कश्मीरी',\n },\n ku: {\n name: 'Kurdish',\n nativeName: 'Kurdî',\n },\n kv: {\n name: 'Komi',\n nativeName: 'коми кыв',\n },\n kw: {\n name: 'Cornish',\n nativeName: 'Kernewek',\n },\n ky: {\n name: 'Kyrgyz',\n nativeName: 'Кыргызча',\n },\n la: {\n name: 'Latin',\n nativeName: 'latine',\n },\n lb: {\n name: 'Luxembourgish',\n nativeName: 'Lëtzebuergesch',\n },\n lg: {\n name: 'Ganda',\n nativeName: 'Luganda',\n },\n li: {\n name: 'Limburgish',\n nativeName: 'Limburgs',\n },\n ln: {\n name: 'Lingala',\n nativeName: 'Lingála',\n },\n lo: {\n name: 'Lao',\n nativeName: 'ພາສາ',\n },\n lt: {\n name: 'Lithuanian',\n nativeName: 'lietuvių kalba',\n },\n lu: {\n name: 'Luba-Katanga',\n nativeName: 'Tshiluba',\n },\n lv: {\n name: 'Latvian',\n nativeName: 'latviešu valoda',\n },\n mg: {\n name: 'Malagasy',\n nativeName: 'fiteny malagasy',\n },\n mh: {\n name: 'Marshallese',\n nativeName: 'Kajin M̧ajeļ',\n },\n mi: {\n name: 'Māori',\n nativeName: 'te reo Māori',\n },\n mk: {\n name: 'Macedonian',\n nativeName: 'македонски јазик',\n },\n ml: {\n name: 'Malayalam',\n nativeName: 'മലയാളം',\n },\n mn: {\n name: 'Mongolian',\n nativeName: 'Монгол хэл',\n },\n mr: {\n name: 'Marathi',\n nativeName: 'मराठी',\n },\n ms: {\n name: 'Malay',\n nativeName: 'هاس ملايو‎',\n },\n mt: {\n name: 'Maltese',\n nativeName: 'Malti',\n },\n my: {\n name: 'Burmese',\n nativeName: 'ဗမာစာ',\n },\n na: {\n name: 'Nauru',\n nativeName: 'Ekakairũ Naoero',\n },\n nb: {\n name: 'Norwegian Bokmål',\n nativeName: 'Norsk bokmål',\n },\n nd: {\n name: 'Northern Ndebele',\n nativeName: 'isiNdebele',\n },\n ne: {\n name: 'Nepali',\n nativeName: 'नेपाली',\n },\n ng: {\n name: 'Ndonga',\n nativeName: 'Owambo',\n },\n nl: {\n name: 'Dutch',\n nativeName: 'Nederlands',\n },\n nn: {\n name: 'Norwegian Nynorsk',\n nativeName: 'Norsk nynorsk',\n },\n no: {\n name: 'Norwegian',\n nativeName: 'Norsk',\n },\n nr: {\n name: 'Southern Ndebele',\n nativeName: 'isiNdebele',\n },\n nv: {\n name: 'Navajo',\n nativeName: 'Diné bizaad',\n },\n ny: {\n name: 'Chichewa',\n nativeName: 'chiCheŵa',\n },\n oc: {\n name: 'Occitan',\n nativeName: 'occitan',\n },\n oj: {\n name: 'Ojibwe',\n nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ',\n },\n om: {\n name: 'Oromo',\n nativeName: 'Afaan Oromoo',\n },\n or: {\n name: 'Oriya',\n nativeName: 'ଓଡ଼ିଆ',\n },\n os: {\n name: 'Ossetian',\n nativeName: 'ирон æвзаг',\n },\n pa: {\n name: 'Panjabi',\n nativeName: 'ਪੰਜਾਬੀ',\n },\n pi: {\n name: 'Pāli',\n nativeName: 'पाऴि',\n },\n pl: {\n name: 'Polish',\n nativeName: 'język polski',\n },\n ps: {\n name: 'Pashto',\n nativeName: 'پښتو',\n },\n pt: {\n name: 'Portuguese',\n nativeName: 'Português',\n },\n qu: {\n name: 'Quechua',\n nativeName: 'Runa Simi',\n },\n rm: {\n name: 'Romansh',\n nativeName: 'rumantsch grischun',\n },\n rn: {\n name: 'Kirundi',\n nativeName: 'Ikirundi',\n },\n ro: {\n name: 'Romanian',\n nativeName: 'limba română',\n },\n ru: {\n name: 'Russian',\n nativeName: 'Русский',\n },\n rw: {\n name: 'Kinyarwanda',\n nativeName: 'Ikinyarwanda',\n },\n sa: {\n name: 'Sanskrit',\n nativeName: 'संस्कृतम्',\n },\n sc: {\n name: 'Sardinian',\n nativeName: 'sardu',\n },\n sd: {\n name: 'Sindhi',\n nativeName: 'सिन्धी',\n },\n se: {\n name: 'Northern Sami',\n nativeName: 'Davvisámegiella',\n },\n sg: {\n name: 'Sango',\n nativeName: 'yângâ tî sängö',\n },\n si: {\n name: 'Sinhala',\n nativeName: 'සිංහල',\n },\n sk: {\n name: 'Slovak',\n nativeName: 'slovenčina',\n },\n sl: {\n name: 'Slovene',\n nativeName: 'slovenski jezik',\n },\n sm: {\n name: 'Samoan',\n nativeName: \"gagana fa'a Samoa\",\n },\n sn: {\n name: 'Shona',\n nativeName: 'chiShona',\n },\n so: {\n name: 'Somali',\n nativeName: 'Soomaaliga',\n },\n sq: {\n name: 'Albanian',\n nativeName: 'Shqip',\n },\n sr: {\n name: 'Serbian',\n nativeName: 'српски језик',\n },\n ss: {\n name: 'Swati',\n nativeName: 'SiSwati',\n },\n st: {\n name: 'Southern Sotho',\n nativeName: 'Sesotho',\n },\n su: {\n name: 'Sundanese',\n nativeName: 'Basa Sunda',\n },\n sv: {\n name: 'Swedish',\n nativeName: 'svenska',\n },\n sw: {\n name: 'Swahili',\n nativeName: 'Kiswahili',\n },\n ta: {\n name: 'Tamil',\n nativeName: 'தமிழ்',\n },\n te: {\n name: 'Telugu',\n nativeName: 'తెలుగు',\n },\n tg: {\n name: 'Tajik',\n nativeName: 'тоҷикӣ',\n },\n th: {\n name: 'Thai',\n nativeName: 'ไทย',\n },\n ti: {\n name: 'Tigrinya',\n nativeName: 'ትግርኛ',\n },\n tk: {\n name: 'Turkmen',\n nativeName: 'Türkmen',\n },\n tl: {\n name: 'Tagalog',\n nativeName: 'Wikang Tagalog',\n },\n tn: {\n name: 'Tswana',\n nativeName: 'Setswana',\n },\n to: {\n name: 'Tonga',\n nativeName: 'faka Tonga',\n },\n tr: {\n name: 'Turkish',\n nativeName: 'Türkçe',\n },\n ts: {\n name: 'Tsonga',\n nativeName: 'Xitsonga',\n },\n tt: {\n name: 'Tatar',\n nativeName: 'татар теле',\n },\n tw: {\n name: 'Twi',\n nativeName: 'Twi',\n },\n ty: {\n name: 'Tahitian',\n nativeName: 'Reo Tahiti',\n },\n ug: {\n name: 'Uyghur',\n nativeName: 'ئۇيغۇرچە‎',\n },\n uk: {\n name: 'Ukrainian',\n nativeName: 'Українська',\n },\n ur: {\n name: 'Urdu',\n nativeName: 'اردو',\n },\n uz: {\n name: 'Uzbek',\n nativeName: 'Ўзбек',\n },\n ve: {\n name: 'Venda',\n nativeName: 'Tshivenḓa',\n },\n vi: {\n name: 'Vietnamese',\n nativeName: 'Tiếng Việt',\n },\n vo: {\n name: 'Volapük',\n nativeName: 'Volapük',\n },\n wa: {\n name: 'Walloon',\n nativeName: 'walon',\n },\n wo: {\n name: 'Wolof',\n nativeName: 'Wollof',\n },\n xh: {\n name: 'Xhosa',\n nativeName: 'isiXhosa',\n },\n yi: {\n name: 'Yiddish',\n nativeName: 'ייִדיש',\n },\n yo: {\n name: 'Yoruba',\n nativeName: 'Yorùbá',\n },\n za: {\n name: 'Zhuang',\n nativeName: 'Saɯ cueŋƅ',\n },\n zh: {\n name: 'Chinese',\n nativeName: '中文',\n },\n zu: {\n name: 'Zulu',\n nativeName: 'isiZulu',\n },\n};\n\nexport default LANGUAGES_LIST;\n","import LANGUAGES_LIST from './data';\n\nexport default class ISO6391 {\n static getLanguages(codes = []) {\n return codes.map(code => ({\n code,\n name: ISO6391.getName(code),\n nativeName: ISO6391.getNativeName(code),\n }));\n }\n\n static getName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].name : '';\n }\n\n static getAllNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.name);\n }\n\n static getNativeName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].nativeName : '';\n }\n\n static getAllNativeNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.nativeName);\n }\n\n static getCode(name) {\n const code = Object.keys(LANGUAGES_LIST).find(code => {\n const language = LANGUAGES_LIST[code];\n\n return (\n language.name.toLowerCase() === name.toLowerCase() ||\n language.nativeName.toLowerCase() === name.toLowerCase()\n );\n });\n return code || '';\n }\n\n static getAllCodes() {\n return Object.keys(LANGUAGES_LIST);\n }\n\n static validate(code) {\n return LANGUAGES_LIST[code] !== undefined;\n }\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./node_modules/lodash/trim.js","webpack:///./node_modules/lodash/_charsEndIndex.js","webpack:///./node_modules/lodash/_charsStartIndex.js","webpack:///./node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.esm.js","webpack:///./node_modules/cropperjs/dist/cropper.esm.js","webpack:///./node_modules/iso-639-1/src/data.js","webpack:///./node_modules/iso-639-1/src/index.js"],"names":["baseToString","__webpack_require__","castSlice","charsEndIndex","charsStartIndex","stringToArray","toString","reTrim","module","exports","string","chars","guard","undefined","replace","strSymbols","chrSymbols","start","end","join","baseIndexOf","index","length","global","commonjsGlobal","window","self","commonjsRequire","Error","qrcode","r","e","n","t","o","i","f","c","u","a","code","p","call","1","require","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","push","reverse","getPositions","coords","pos","posLength","j","./utils","2","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","prototype","getLength","write","bitBuffer","value","indexOf","put","./mode","3","BitBuffer","buffer","get","bufIndex","num","putBit","getLengthInBits","bit","4","Buffer","BitMatrix","fill","reservedBit","set","row","col","reserved","xor","isReserved","../utils/buffer","5","ByteData","BYTE","l","6","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","./error-correction-level","7","isValid","level","from","defaultValue","toLowerCase","fromString","8","9","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","10","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","11","KanjiData","KANJI","toSJIS","12","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","N1","N2","N3","N4","getMaskAt","maskPattern","isNaN","parseInt","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","k","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","13","VersionCheck","Regex","NUMERIC","id","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","./regex","./version-check","14","NumericData","group","substr","remainingNum","15","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","./galois-field","16","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","totalCodewords","getSymbolTotalCodewords","ecTotalCodewords","dataTotalCodewordsBits","remainingByte","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","./alignment-pattern","./bit-buffer","./bit-matrix","./error-correction-code","./finder-pattern","./format-info","./mask-pattern","./reed-solomon-encoder","./segments","./version","isarray","17","Polynomial","genPoly","initialize","pad","paddedData","concat","remainder","buff","copy","./polynomial","18","kanji","byte","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","19","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","segs","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","nodes","buildNodes","graph","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","path","find_path","optimizedSegs","curr","prevSeg","mergeSegments","./alphanumeric-data","./byte-data","./kanji-data","./numeric-data","dijkstrajs","20","toSJISFunction","CODEWORDS_COUNT","digit","21","22","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","23","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","Promise","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","./core/qrcode","./renderer/canvas","./renderer/svg-tag.js","can-promise","24","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","25","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","26","hex2rgba","hexCode","split","apply","hexValue","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","27","TYPED_ARRAY_SUPPORT","arr","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","newBuf","subarray","sliceLen","target","targetStart","list","_isBuffer","28","G","then","window-or-global","29","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","30","31","fn","name","props","tag","String","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","error","url","innerHTML","mounted","__webpack_exports__","_typeof","iterator","constructor","_defineProperties","descriptor","_toConsumableArray","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","IN_BROWSER","WINDOW","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","EVENT_POINTER_DOWN","PointerEvent","EVENT_POINTER_MOVE","EVENT_POINTER_UP","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","DEFAULTS","viewMode","dragMode","initialAspectRatio","NaN","aspectRatio","preview","responsive","restore","checkCrossOrigin","checkOrientation","modal","guides","center","highlight","background","autoCrop","autoCropArea","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","wheelZoomRatio","cropBoxMovable","cropBoxResizable","toggleDragModeOnDblclick","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","minContainerWidth","minContainerHeight","ready","cropstart","cropmove","cropend","crop","zoom","Number","isNumber","isUndefined","isObject","isPlainObject","_constructor","isFunction","callback","assign","_len","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","round","REGEXP_SUFFIX","setStyle","element","styles","property","addClass","elem","classList","add","className","trim","removeClass","remove","toggleClass","added","REGEXP_HYPHENATE","hyphenate","getData","dataset","getAttribute","setData","setAttribute","REGEXP_SPACES","onceSupported","supported","once","listener","addEventListener","removeEventListener","removeListener","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","Event","CustomEvent","detail","bubbles","cancelable","createEvent","initCustomEvent","getOffset","box","getBoundingClientRect","left","pageXOffset","documentElement","clientLeft","top","pageYOffset","clientTop","location","REGEXP_ORIGINS","isCrossOriginURL","parts","match","protocol","hostname","port","addTimestamp","timestamp","Date","getTime","getTransforms","_ref","rotate","scaleX","scaleY","translateX","translateY","values","transform","WebkitTransform","msTransform","getPointer","_ref2","endOnly","pageX","pageY","endX","endY","startX","startY","getAdjustedSizes","_ref4","isValidNumber","adjustedWidth","fromCharCode","REGEXP_DATA_URL_HEAD","resetAndGetOrientation","arrayBuffer","orientation","dataView","DataView","littleEndian","app1Start","ifdStart","getUint8","tiffOffset","getStringFromCharCode","endianness","getUint16","firstIFDOffset","getUint32","_offset","_length","setUint16","initContainer","initCanvas","initCropBox","cropped","renderCropBox","container","cropper","containerData","offsetWidth","offsetHeight","imageData","rotated","naturalWidth","naturalHeight","canvasWidth","canvasHeight","canvasData","oldLeft","oldTop","limited","limitCanvas","initialImageData","initialCanvasData","sizeLimited","positionLimited","cropBoxData","_getAdjustedSizes","minWidth","minHeight","maxWidth","maxHeight","newCanvasLeft","newCanvasTop","minLeft","min","minTop","maxLeft","maxTop","changed","transformed","_getRotatedSizes","_ref5","arc","PI","sinArc","sin","cosArc","cos","newWidth","newHeight","getRotatedSizes","renderImage","limitCropBox","output","initialCropBoxData","maxCropBoxWidth","maxCropBoxHeight","face","cropBox","disabled","initPreview","crossOrigin","crossOriginUrl","appendChild","viewBoxImage","previews","ownerDocument","querySelectorAll","querySelector","el","img","html","cssText","resetPreview","removeAttribute","removeData","cropBoxWidth","cropBoxHeight","originalWidth","originalHeight","ratio","getElementsByTagName","events","onCropStart","cropStart","onWheel","wheel","onDblclick","dblclick","onCropMove","cropMove","onCropEnd","cropEnd","onResize","resize","unbind","handlers","getCanvasData","getCropBoxData","setCanvasData","setCropBoxData","setDragMode","dragBox","contains","delta","preventDefault","wheeling","setTimeout","deltaY","wheelDelta","action","pointers","changedTouches","touch","identifier","pointerId","originalEvent","cropping","change","right","bottom","renderable","shiftKey","pointer","range","check","side","move","pointers2","ratios","pointer2","x1","y1","x2","y2","z1","sqrt","getMaxZoomRatio","reset","clear","hasSameSize","isImg","replaced","uncreate","load","enable","disable","destroy","originalUrl","offsetX","offsetY","_this$canvasData","moveTo","_originalEvent","zoomTo","pivot","oldRatio","count","_ref3","getPointersCenter","rotateTo","_scaleX","_scaleY","rounded","getContainerData","getImageData","sized","widthChanged","heightChanged","getCroppedCanvas","HTMLCanvasElement","source","_ref6","_ref7","_ref8","imageAspectRatio","imageNaturalWidth","imageNaturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","_ref8$fillColor","fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","_ref8$maxHeight","_ref8$minWidth","_ref8$minHeight","context","maxSizes","minSizes","destMaxSizes","destMinSizes","destWidth","destHeight","params","fillStyle","fillRect","save","translate","drawImage","param","getSourceCanvas","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","sourceWidth","sourceHeight","srcX","srcY","setAspectRatio","croppable","AnotherCropper","Cropper","instance","Constructor","_classCallCheck","tagName","reloading","sizing","init","protoProps","staticProps","read","base64","binary","atob","uint8","clone","xhr","XMLHttpRequest","ontimeout","onabort","onerror","onprogress","getResponseHeader","abort","onload","response","onloadend","responseType","withCredentials","send","mimeType","chunks","btoa","arrayBufferToDataURL","_parseOrientation","parseOrientation","stop","parentNode","insertBefore","nextSibling","_this2","IS_SAFARI","navigator","userAgent","done","build","sizingImage","body","removeChild","template","getElementsByClassName","unbuild","aa","nativeName","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","ie","ig","ii","ik","io","is","it","iu","ja","jv","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","src_ISO6391","[object Object]","codes","getName","getNativeName","validate","find","language"],"mappings":"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","file":"static/js/3.56898c1005d9ba1b8d4a.js","sourcesContent":["var baseToString = require('./_baseToString'),\n castSlice = require('./_castSlice'),\n charsEndIndex = require('./_charsEndIndex'),\n charsStartIndex = require('./_charsStartIndex'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim(' abc ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map([' foo ', ' bar '], _.trim);\n * // => ['foo', 'bar']\n */\nfunction trim(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrim, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n chrSymbols = stringToArray(chars),\n start = charsStartIndex(strSymbols, chrSymbols),\n end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n return castSlice(strSymbols, start, end).join('');\n}\n\nmodule.exports = trim;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsEndIndex;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsStartIndex;\n","/*!\n * vue-qrcode v1.0.0\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-21T13:04:02.951Z\n */\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar qrcode = createCommonjsModule(function (module, exports) {\n(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (var i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n var bufIndex = Math.floor(this.length / 8);\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0);\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n }\n\n this.length++;\n }\n};\n\nmodule.exports = BitBuffer;\n\n},{}],4:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\n/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size;\n this.data = new Buffer(size * size);\n this.data.fill(0);\n this.reservedBit = new Buffer(size * size);\n this.reservedBit.fill(0);\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n var index = row * this.size + col;\n this.data[index] = value;\n if (reserved) this.reservedBit[index] = true;\n};\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n};\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value;\n};\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n};\n\nmodule.exports = BitMatrix;\n\n},{\"../utils/buffer\":27}],5:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Mode = require('./mode');\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE;\n this.data = new Buffer(data);\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n};\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n};\n\nByteData.prototype.write = function (bitBuffer) {\n for (var i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8);\n }\n};\n\nmodule.exports = ByteData;\n\n},{\"../utils/buffer\":27,\"./mode\":13}],6:[function(require,module,exports){\nvar ECLevel = require('./error-correction-level');\r\n\r\nvar EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n];\r\n\r\nvar EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n];\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\n},{\"./error-correction-level\":7}],7:[function(require,module,exports){\nexports.L = { bit: 1 };\nexports.M = { bit: 0 };\nexports.Q = { bit: 3 };\nexports.H = { bit: 2 };\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n};\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{}],8:[function(require,module,exports){\nvar getSymbolSize = require('./utils').getSymbolSize;\nvar FINDER_PATTERN_SIZE = 7;\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n var size = getSymbolSize(version);\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n};\n\n},{\"./utils\":20}],9:[function(require,module,exports){\nvar Utils = require('./utils');\n\nvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\nvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\nvar G15_BCH = Utils.getBCHDigit(G15);\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n var data = ((errorCorrectionLevel.bit << 3) | mask);\n var d = data << 10;\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n};\n\n},{\"./utils\":20}],10:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\nvar EXP_TABLE = new Buffer(512);\nvar LOG_TABLE = new Buffer(256)\n\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n var x = 1;\n for (var i = 0; i < 255; i++) {\n EXP_TABLE[i] = x;\n LOG_TABLE[x] = i;\n\n x <<= 1; // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D;\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255];\n }\n}());\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n};\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n};\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n};\n\n},{\"../utils/buffer\":27}],11:[function(require,module,exports){\nvar Mode = require('./mode');\nvar Utils = require('./utils');\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI;\n this.data = data;\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n};\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n};\n\nKanjiData.prototype.write = function (bitBuffer) {\n var i;\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n var value = Utils.toSJIS(this.data[i]);\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140;\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140;\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13);\n }\n};\n\nmodule.exports = KanjiData;\n\n},{\"./mode\":13,\"./utils\":20}],12:[function(require,module,exports){\n/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n};\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nvar PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n};\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n};\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n};\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n var size = data.size;\n var points = 0;\n var sameCountCol = 0;\n var sameCountRow = 0;\n var lastCol = null;\n var lastRow = null;\n\n for (var row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0;\n lastCol = lastRow = null;\n\n for (var col = 0; col < size; col++) {\n var module = data.get(row, col);\n if (module === lastCol) {\n sameCountCol++;\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n lastCol = module;\n sameCountCol = 1;\n }\n\n module = data.get(col, row);\n if (module === lastRow) {\n sameCountRow++;\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n lastRow = module;\n sameCountRow = 1;\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n }\n\n return points\n};\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n var size = data.size;\n var points = 0;\n\n for (var row = 0; row < size - 1; row++) {\n for (var col = 0; col < size - 1; col++) {\n var last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1);\n\n if (last === 4 || last === 0) points++;\n }\n }\n\n return points * PenaltyScores.N2\n};\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n var size = data.size;\n var points = 0;\n var bitsCol = 0;\n var bitsRow = 0;\n\n for (var row = 0; row < size; row++) {\n bitsCol = bitsRow = 0;\n for (var col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n }\n }\n\n return points * PenaltyScores.N3\n};\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n var darkCount = 0;\n var modulesCount = data.data.length;\n\n for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n return k * PenaltyScores.N4\n};\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n var size = data.size;\n\n for (var col = 0; col < size; col++) {\n for (var row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col));\n }\n }\n};\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n var numPatterns = Object.keys(exports.Patterns).length;\n var bestPattern = 0;\n var lowerPenalty = Infinity;\n\n for (var p = 0; p < numPatterns; p++) {\n setupFormatFunc(p);\n exports.applyMask(p, data);\n\n // Calculate penalty\n var penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data);\n\n // Undo previously applied mask\n exports.applyMask(p, data);\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty;\n bestPattern = p;\n }\n }\n\n return bestPattern\n};\n\n},{}],13:[function(require,module,exports){\nvar VersionCheck = require('./version-check');\nvar Regex = require('./regex');\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n};\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n};\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n};\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n};\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n};\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n};\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n};\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n};\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n};\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{\"./regex\":18,\"./version-check\":21}],14:[function(require,module,exports){\nvar Mode = require('./mode');\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC;\n this.data = data.toString();\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n};\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n};\n\nNumericData.prototype.write = function write (bitBuffer) {\n var i, group, value;\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, 10);\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n var remainingNum = this.data.length - i;\n if (remainingNum > 0) {\n group = this.data.substr(i);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, remainingNum * 3 + 1);\n }\n};\n\nmodule.exports = NumericData;\n\n},{\"./mode\":13}],15:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar GF = require('./galois-field');\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Buffer} p1 Polynomial\n * @param {Buffer} p2 Polynomial\n * @return {Buffer} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n var coeff = new Buffer(p1.length + p2.length - 1);\n coeff.fill(0);\n\n for (var i = 0; i < p1.length; i++) {\n for (var j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n }\n }\n\n return coeff\n};\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Buffer} divident Polynomial\n * @param {Buffer} divisor Polynomial\n * @return {Buffer} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n var result = new Buffer(divident);\n\n while ((result.length - divisor.length) >= 0) {\n var coeff = result[0];\n\n for (var i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff);\n }\n\n // remove all zeros from buffer head\n var offset = 0;\n while (offset < result.length && result[offset] === 0) offset++;\n result = result.slice(offset);\n }\n\n return result\n};\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Buffer} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n var poly = new Buffer([1]);\n for (var i = 0; i < degree; i++) {\n poly = exports.mul(poly, [1, GF.exp(i)]);\n }\n\n return poly\n};\n\n},{\"../utils/buffer\":27,\"./galois-field\":10}],16:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Utils = require('./utils');\nvar ECLevel = require('./error-correction-level');\nvar BitBuffer = require('./bit-buffer');\nvar BitMatrix = require('./bit-matrix');\nvar AlignmentPattern = require('./alignment-pattern');\nvar FinderPattern = require('./finder-pattern');\nvar MaskPattern = require('./mask-pattern');\nvar ECCode = require('./error-correction-code');\nvar ReedSolomonEncoder = require('./reed-solomon-encoder');\nvar Version = require('./version');\nvar FormatInfo = require('./format-info');\nvar Mode = require('./mode');\nvar Segments = require('./segments');\nvar isArray = require('isarray');\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n var size = matrix.size;\n var pos = FinderPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (var c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n var size = matrix.size;\n\n for (var r = 8; r < size - 8; r++) {\n var value = r % 2 === 0;\n matrix.set(r, 6, value, true);\n matrix.set(6, r, value, true);\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n var pos = AlignmentPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -2; r <= 2; r++) {\n for (var c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n var size = matrix.size;\n var bits = Version.getEncodedBits(version);\n var row, col, mod;\n\n for (var i = 0; i < 18; i++) {\n row = Math.floor(i / 3);\n col = i % 3 + size - 8 - 3;\n mod = ((bits >> i) & 1) === 1;\n\n matrix.set(row, col, mod, true);\n matrix.set(col, row, mod, true);\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n var size = matrix.size;\n var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n var i, mod;\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1;\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true);\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true);\n } else {\n matrix.set(size - 15 + i, 8, mod, true);\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true);\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true);\n } else {\n matrix.set(8, 15 - i - 1, mod, true);\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true);\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Buffer} data Data codewords\n */\nfunction setupData (matrix, data) {\n var size = matrix.size;\n var inc = -1;\n var row = size - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n\n for (var col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--;\n\n while (true) {\n for (var c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n var dark = false;\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n }\n\n matrix.set(row, col - c, dark);\n bitIndex--;\n\n if (bitIndex === -1) {\n byteIndex++;\n bitIndex = 7;\n }\n }\n }\n\n row += inc;\n\n if (row < 0 || size <= row) {\n row -= inc;\n inc = -inc;\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n var buffer = new BitBuffer();\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4);\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n // add binary data sequence to buffer\n data.write(buffer);\n });\n\n // Calculate required number of bits\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4);\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0);\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n for (var i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n // Total number of blocks\n var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n // Calculate how many blocks each group should contain\n var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n // Number of EC codewords is the same for both groups\n var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n var rs = new ReedSolomonEncoder(ecCount);\n\n var offset = 0;\n var dcData = new Array(ecTotalBlocks);\n var ecData = new Array(ecTotalBlocks);\n var maxDataSize = 0;\n var buffer = new Buffer(bitBuffer.buffer);\n\n // Divide the buffer into the required number of blocks\n for (var b = 0; b < ecTotalBlocks; b++) {\n var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize);\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b]);\n\n offset += dataSize;\n maxDataSize = Math.max(maxDataSize, dataSize);\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n var data = new Buffer(totalCodewords);\n var index = 0;\n var i, r;\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i];\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i];\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n var segments;\n\n if (isArray(data)) {\n segments = Segments.fromArray(data);\n } else if (typeof data === 'string') {\n var estimatedVersion = version;\n\n if (!estimatedVersion) {\n var rawSegments = Segments.rawSplit(data);\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments,\n errorCorrectionLevel);\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40);\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n var bestVersion = Version.getBestVersionForData(segments,\n errorCorrectionLevel);\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion;\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n var dataBits = createData(version, errorCorrectionLevel, segments);\n\n // Allocate matrix buffer\n var moduleCount = Utils.getSymbolSize(version);\n var modules = new BitMatrix(moduleCount);\n\n // Add function modules\n setupFinderPattern(modules, version);\n setupTimingPattern(modules);\n setupAlignmentPattern(modules, version);\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n if (version >= 7) {\n setupVersionInfo(modules, version);\n }\n\n // Add data codewords\n setupData(modules, dataBits);\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules);\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n var errorCorrectionLevel = ECLevel.M;\n var version;\n var mask;\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n version = Version.from(options.version);\n mask = MaskPattern.from(options.maskPattern);\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc);\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n};\n\n},{\"../utils/buffer\":27,\"./alignment-pattern\":1,\"./bit-buffer\":3,\"./bit-matrix\":4,\"./error-correction-code\":6,\"./error-correction-level\":7,\"./finder-pattern\":8,\"./format-info\":9,\"./mask-pattern\":12,\"./mode\":13,\"./reed-solomon-encoder\":17,\"./segments\":19,\"./utils\":20,\"./version\":22,\"isarray\":30}],17:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Polynomial = require('./polynomial');\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined;\n this.degree = degree;\n\n if (this.degree) this.initialize(this.degree);\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree;\n this.genPoly = Polynomial.generateECPolynomial(this.degree);\n};\n\n/**\n * Encodes a chunk of data\n *\n * @param {Buffer} data Buffer containing input data\n * @return {Buffer} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n var pad = new Buffer(this.degree);\n pad.fill(0);\n var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n var start = this.degree - remainder.length;\n if (start > 0) {\n var buff = new Buffer(this.degree);\n buff.fill(0);\n remainder.copy(buff, start);\n\n return buff\n }\n\n return remainder\n};\n\nmodule.exports = ReedSolomonEncoder;\n\n},{\"../utils/buffer\":27,\"./polynomial\":15}],18:[function(require,module,exports){\nvar numeric = '[0-9]+';\nvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\nvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\nkanji = kanji.replace(/u/g, '\\\\u');\n\nvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\nexports.KANJI = new RegExp(kanji, 'g');\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\nexports.BYTE = new RegExp(byte, 'g');\nexports.NUMERIC = new RegExp(numeric, 'g');\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\nvar TEST_KANJI = new RegExp('^' + kanji + '$');\nvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\nvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n};\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n};\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n};\n\n},{}],19:[function(require,module,exports){\nvar Mode = require('./mode');\nvar NumericData = require('./numeric-data');\nvar AlphanumericData = require('./alphanumeric-data');\nvar ByteData = require('./byte-data');\nvar KanjiData = require('./kanji-data');\nvar Regex = require('./regex');\nvar Utils = require('./utils');\nvar dijkstra = require('dijkstrajs');\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n var segments = [];\n var result;\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n });\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n var byteSegs;\n var kanjiSegs;\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n kanjiSegs = [];\n }\n\n var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data;\n return acc\n }\n\n acc.push(curr);\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n var nodes = [];\n for (var i = 0; i < segs.length; i++) {\n var seg = segs[i];\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n var table = {};\n var graph = {'start': {}};\n var prevNodeIds = ['start'];\n\n for (var i = 0; i < nodes.length; i++) {\n var nodeGroup = nodes[i];\n var currentNodeIds = [];\n\n for (var j = 0; j < nodeGroup.length; j++) {\n var node = nodeGroup[j];\n var key = '' + i + j;\n\n currentNodeIds.push(key);\n table[key] = { node: node, lastCount: 0 };\n graph[key] = {};\n\n for (var n = 0; n < prevNodeIds.length; n++) {\n var prevNodeId = prevNodeIds[n];\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n table[prevNodeId].lastCount += node.length;\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds;\n }\n\n for (n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]]['end'] = 0;\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n var mode;\n var bestMode = Mode.getBestModeForData(data);\n\n mode = Mode.from(modesHint, bestMode);\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE;\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null));\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode));\n }\n\n return acc\n }, [])\n};\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n var nodes = buildNodes(segs);\n var graph = buildGraph(nodes, version);\n var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n var optimizedSegs = [];\n for (var i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node);\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n};\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n};\n\n},{\"./alphanumeric-data\":2,\"./byte-data\":5,\"./kanji-data\":11,\"./mode\":13,\"./numeric-data\":14,\"./regex\":18,\"./utils\":20,\"dijkstrajs\":29}],20:[function(require,module,exports){\nvar toSJISFunction;\nvar CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n];\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n};\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n};\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n var digit = 0;\n\n while (data !== 0) {\n digit++;\n data >>>= 1;\n }\n\n return digit\n};\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f;\n};\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n};\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n};\n\n},{}],21:[function(require,module,exports){\n/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n};\n\n},{}],22:[function(require,module,exports){\nvar Utils = require('./utils');\nvar ECCode = require('./error-correction-code');\nvar ECLevel = require('./error-correction-level');\nvar Mode = require('./mode');\nvar VersionCheck = require('./version-check');\nvar isArray = require('isarray');\n\n// Generator polynomial used to encode version information\nvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\nvar G18_BCH = Utils.getBCHDigit(G18);\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n var totalBits = 0;\n\n segments.forEach(function (data) {\n var reservedBits = getReservedBitsCount(data.mode, version);\n totalBits += reservedBits + data.getBitsLength();\n });\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n var length = getTotalBitsFromDataArray(segments, currentVersion);\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n};\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n};\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n var seg;\n\n var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n if (isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0];\n } else {\n seg = data;\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n};\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n var d = version << 12;\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n }\n\n return (version << 12) | d\n};\n\n},{\"./error-correction-code\":6,\"./error-correction-level\":7,\"./mode\":13,\"./utils\":20,\"./version-check\":21,\"isarray\":30}],23:[function(require,module,exports){\nvar canPromise = require('can-promise');\nvar QRCode = require('./core/qrcode');\nvar CanvasRenderer = require('./renderer/canvas');\nvar SvgRenderer = require('./renderer/svg-tag.js');\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n var args = [].slice.call(arguments, 1);\n var argsNum = args.length;\n var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text;\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts;\n opts = undefined;\n } else {\n cb = opts;\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n\n return new Promise(function (resolve, reject) {\n try {\n var data = QRCode.create(text, opts);\n resolve(renderFunc(data, canvas, opts));\n } catch (e) {\n reject(e);\n }\n })\n }\n\n try {\n var data = QRCode.create(text, opts);\n cb(null, renderFunc(data, canvas, opts));\n } catch (e) {\n cb(e);\n }\n}\n\nexports.create = QRCode.create;\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n});\n\n},{\"./core/qrcode\":16,\"./renderer/canvas\":24,\"./renderer/svg-tag.js\":25,\"can-promise\":28}],24:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (!canvas.style) canvas.style = {};\n canvas.height = size;\n canvas.width = size;\n canvas.style.height = size + 'px';\n canvas.style.width = size + 'px';\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n var opts = options;\n var canvasEl = canvas;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement();\n }\n\n opts = Utils.getOptions(opts);\n var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n var ctx = canvasEl.getContext('2d');\n var image = ctx.createImageData(size, size);\n Utils.qrToImageData(image.data, qrData, opts);\n\n clearCanvas(ctx, canvasEl, size);\n ctx.putImageData(image, 0, 0);\n\n return canvasEl\n};\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n var opts = options;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!opts) opts = {};\n\n var canvasEl = exports.render(qrData, canvas, opts);\n\n var type = opts.type || 'image/png';\n var rendererOpts = opts.rendererOpts || {};\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n};\n\n},{\"./utils\":26}],25:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction getColorAttrib (color, attrib) {\n var alpha = color.a / 255;\n var str = attrib + '=\"' + color.hex + '\"';\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n var str = cmd + x;\n if (typeof y !== 'undefined') str += ' ' + y;\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n var path = '';\n var moveBy = 0;\n var newRow = false;\n var lineLength = 0;\n\n for (var i = 0; i < data.length; i++) {\n var col = Math.floor(i % size);\n var row = Math.floor(i / size);\n\n if (!col && !newRow) newRow = true;\n\n if (data[i]) {\n lineLength++;\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0);\n\n moveBy = 0;\n newRow = false;\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength);\n lineLength = 0;\n }\n } else {\n moveBy++;\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n var opts = Utils.getOptions(options);\n var size = qrData.modules.size;\n var data = qrData.modules.data;\n var qrcodesize = size + opts.margin * 2;\n\n var bg = !opts.color.light.a\n ? ''\n : '';\n\n var path =\n '';\n\n var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n var svgTag = '' + bg + path + '\\n';\n\n if (typeof cb === 'function') {\n cb(null, svgTag);\n }\n\n return svgTag\n};\n\n},{\"./utils\":26}],26:[function(require,module,exports){\nfunction hex2rgba (hex) {\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n var hexCode = hex.slice().replace('#', '').split('');\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }));\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F');\n\n var hexValue = parseInt(hexCode.join(''), 16);\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {};\n if (!options.color) options.color = {};\n\n var margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0 ? 4 : options.margin;\n\n var width = options.width && options.width >= 21 ? options.width : undefined;\n var scale = options.scale || 4;\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n};\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n};\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n var scale = exports.getScale(qrSize, opts);\n return Math.floor((qrSize + opts.margin * 2) * scale)\n};\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n var size = qr.modules.size;\n var data = qr.modules.data;\n var scale = exports.getScale(size, opts);\n var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n var scaledMargin = opts.margin * scale;\n var palette = [opts.color.light, opts.color.dark];\n\n for (var i = 0; i < symbolSize; i++) {\n for (var j = 0; j < symbolSize; j++) {\n var posDst = (i * symbolSize + j) * 4;\n var pxColor = opts.color.light;\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n var iSrc = Math.floor((i - scaledMargin) / scale);\n var jSrc = Math.floor((j - scaledMargin) / scale);\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n }\n\n imgData[posDst++] = pxColor.r;\n imgData[posDst++] = pxColor.g;\n imgData[posDst++] = pxColor.b;\n imgData[posDst] = pxColor.a;\n }\n }\n};\n\n},{}],27:[function(require,module,exports){\n\nvar isArray = require('isarray');\n\nfunction typedArraySupport () {\n // Can typed array instances be augmented?\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\nvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff;\n\nfunction Buffer (arg, offset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, offset, length)\n }\n\n if (typeof arg === 'number') {\n return allocUnsafe(this, arg)\n }\n\n return from(this, arg, offset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n });\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\nfunction createBuffer (that, length) {\n var buf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n buf = new Uint8Array(length);\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = that;\n if (buf === null) {\n buf = new Buffer(length);\n }\n buf.length = length;\n }\n\n return buf\n}\n\nfunction allocUnsafe (that, size) {\n var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n buf[i] = 0;\n }\n }\n\n return buf\n}\n\nfunction fromString (that, string) {\n var length = byteLength(string) | 0;\n var buf = createBuffer(that, length);\n\n var actual = buf.write(string);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n var buf = createBuffer(that, length);\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n var buf;\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = fromArrayLike(that, buf);\n }\n\n return buf\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n var buf = createBuffer(that, len);\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len);\n return buf\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint;\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction byteLength (string) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string;\n }\n\n var len = string.length;\n if (len === 0) return 0\n\n return utf8ToBytes(string).length\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i];\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction from (that, value, offset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, offset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, offset)\n }\n\n return fromObject(that, value)\n}\n\nBuffer.prototype.write = function write (string, offset, length) {\n // Buffer#write(string)\n if (offset === undefined) {\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n if (isFinite(length)) {\n length = length | 0;\n } else {\n length = undefined;\n }\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n return utf8Write(this, string, offset, length)\n};\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n\n var newBuf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n\n return newBuf\n};\n\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n var i;\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n );\n }\n\n return len\n};\n\nBuffer.prototype.fill = function fill (val, start, end) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n end = this.length;\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (code < 256) {\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n if (!val) val = 0;\n\n var i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : new Buffer(val);\n var len = bytes.length;\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this\n};\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return createBuffer(null, 0)\n }\n\n var i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = allocUnsafe(null, length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer\n};\n\nBuffer.byteLength = byteLength;\n\nBuffer.prototype._isBuffer = true;\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n};\n\nmodule.exports = Buffer;\n\n},{\"isarray\":30}],28:[function(require,module,exports){\n\nvar G = require('window-or-global');\n\nmodule.exports = function() {\n return (\n typeof G.Promise === 'function' &&\n typeof G.Promise.prototype.then === 'function'\n )\n};\n\n},{\"window-or-global\":31}],29:[function(require,module,exports){\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n\n},{}],30:[function(require,module,exports){\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n},{}],31:[function(require,module,exports){\n(function (global){\nmodule.exports = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global) ||\n this;\n\n}).call(this,typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n\n},{}]},{},[23])(23)\n});\n\n\n});\n\nvar index = {\n name: 'qrcode',\n props: {\n /**\n * The options for the QR code generator.\n * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n */\n options: Object,\n\n /**\n * The tag name of the component's root element.\n */\n tag: {\n type: String,\n default: 'canvas'\n },\n\n /**\n * The value of the QR code.\n */\n value: null\n },\n render: function render(createElement) {\n return createElement(this.tag, this.$slots.default);\n },\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler: function handler() {\n if (this.$el) {\n this.generate();\n }\n }\n }\n },\n methods: {\n /**\n * Generate QR code.\n */\n generate: function generate() {\n var _this = this;\n\n var options = this.options,\n tag = this.tag;\n var value = String(this.value);\n\n if (tag === 'canvas') {\n qrcode.toCanvas(this.$el, value, options, function (error) {\n if (error) {\n throw error;\n }\n });\n } else if (tag === 'img') {\n qrcode.toDataURL(value, options, function (error, url) {\n if (error) {\n throw error;\n }\n\n _this.$el.src = url;\n });\n } else {\n qrcode.toString(value, options, function (error, string) {\n if (error) {\n throw error;\n }\n\n _this.$el.innerHTML = string;\n });\n }\n }\n },\n mounted: function mounted() {\n this.generate();\n }\n};\n\nexport default index;\n","/*!\n * Cropper.js v1.4.3\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-24T13:07:15.032Z\n */\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar IN_BROWSER = typeof window !== 'undefined';\nvar WINDOW = IN_BROWSER ? window : {};\nvar NAMESPACE = 'cropper'; // Actions\n\nvar ACTION_ALL = 'all';\nvar ACTION_CROP = 'crop';\nvar ACTION_MOVE = 'move';\nvar ACTION_ZOOM = 'zoom';\nvar ACTION_EAST = 'e';\nvar ACTION_WEST = 'w';\nvar ACTION_SOUTH = 's';\nvar ACTION_NORTH = 'n';\nvar ACTION_NORTH_EAST = 'ne';\nvar ACTION_NORTH_WEST = 'nw';\nvar ACTION_SOUTH_EAST = 'se';\nvar ACTION_SOUTH_WEST = 'sw'; // Classes\n\nvar CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\nvar CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\nvar CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\nvar CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\nvar CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\nvar CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\nvar CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\"); // Data keys\n\nvar DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\nvar DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\"); // Drag modes\n\nvar DRAG_MODE_CROP = 'crop';\nvar DRAG_MODE_MOVE = 'move';\nvar DRAG_MODE_NONE = 'none'; // Events\n\nvar EVENT_CROP = 'crop';\nvar EVENT_CROP_END = 'cropend';\nvar EVENT_CROP_MOVE = 'cropmove';\nvar EVENT_CROP_START = 'cropstart';\nvar EVENT_DBLCLICK = 'dblclick';\nvar EVENT_POINTER_DOWN = WINDOW.PointerEvent ? 'pointerdown' : 'touchstart mousedown';\nvar EVENT_POINTER_MOVE = WINDOW.PointerEvent ? 'pointermove' : 'touchmove mousemove';\nvar EVENT_POINTER_UP = WINDOW.PointerEvent ? 'pointerup pointercancel' : 'touchend touchcancel mouseup';\nvar EVENT_READY = 'ready';\nvar EVENT_RESIZE = 'resize';\nvar EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll';\nvar EVENT_ZOOM = 'zoom'; // Mime types\n\nvar MIME_TYPE_JPEG = 'image/jpeg'; // RegExps\n\nvar REGEXP_ACTIONS = /^(?:e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/;\nvar REGEXP_DATA_URL = /^data:/;\nvar REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\nvar REGEXP_TAG_NAME = /^(?:img|canvas)$/i;\n\nvar DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: 200,\n minContainerHeight: 100,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n};\n\nvar TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
';\n\n/**\n * Check if the given value is not a number.\n */\n\nvar isNaN = Number.isNaN || WINDOW.isNaN;\n/**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n\nfunction isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n/**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n/**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n\nfunction isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (e) {\n return false;\n }\n}\n/**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n\nfunction forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length)\n /* array-like */\n ) {\n var length = data.length;\n var i;\n\n for (i = 0; i < length; i += 1) {\n if (callback.call(data, data[i], i, data) === false) {\n break;\n }\n }\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n\n return data;\n}\n/**\n * Extend the given object.\n * @param {*} obj - The object to be extended.\n * @param {*} args - The rest objects which will be merged to the first object.\n * @returns {Object} The extended object.\n */\n\nvar assign = Object.assign || function assign(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (isObject(obj) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n obj[key] = arg[key];\n });\n }\n });\n }\n\n return obj;\n};\nvar REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n/**\n * Normalize decimal number.\n * Check out {@link http://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n\nfunction normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n}\nvar REGEXP_SUFFIX = /^(?:width|height|left|top|marginLeft|marginTop)$/;\n/**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n\nfunction setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value += 'px';\n }\n\n style[property] = value;\n });\n}\n/**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n\nfunction hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n}\n/**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n\nfunction addClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n\n var className = element.className.trim();\n\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n}\n/**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n\nfunction removeClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n}\n/**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n\nfunction toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n } // IE10-11 doesn't support the second parameter of `classList.toggle`\n\n\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n}\nvar REGEXP_HYPHENATE = /([a-z\\d])([A-Z])/g;\n/**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n\nfunction hyphenate(value) {\n return value.replace(REGEXP_HYPHENATE, '$1-$2').toLowerCase();\n}\n/**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n\nfunction getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n\n if (element.dataset) {\n return element.dataset[name];\n }\n\n return element.getAttribute(\"data-\".concat(hyphenate(name)));\n}\n/**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n\nfunction setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(hyphenate(name)), data);\n }\n}\n/**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n\nfunction removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (e) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (e) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(hyphenate(name)));\n }\n}\nvar REGEXP_SPACES = /\\s\\s*/;\n\nvar onceSupported = function () {\n var supported = false;\n\n if (IN_BROWSER) {\n var once = false;\n\n var listener = function listener() {};\n\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n\n return supported;\n}();\n/**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\n\nfunction removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n\n element.removeEventListener(event, handler, options);\n });\n}\n/**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\nfunction addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n listener.apply(element, args);\n };\n\n if (!listeners[event]) {\n listeners[event] = {};\n }\n\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n\n element.addEventListener(event, _handler, options);\n });\n}\n/**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n\nfunction dispatchEvent(element, type, data) {\n var event; // Event and CustomEvent on IE9-11 are global objects, not constructors\n\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n\n return element.dispatchEvent(event);\n}\n/**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n\nfunction getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n}\nvar location = WINDOW.location;\nvar REGEXP_ORIGINS = /^(https?:)\\/\\/([^:/?#]+):?(\\d*)/i;\n/**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n\nfunction isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n}\n/**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n\nfunction addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n}\n/**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n\nfunction getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n } // Rotate should come first before scale to match orientation transform\n\n\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n}\n/**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n\nfunction getMaxZoomRatio(pointers) {\n var pointers2 = assign({}, pointers);\n var ratios = [];\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n ratios.push(ratio);\n });\n });\n ratios.sort(function (a, b) {\n return Math.abs(a) < Math.abs(b);\n });\n return ratios[0];\n}\n/**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n\nfunction getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : assign({\n startX: pageX,\n startY: pageY\n }, end);\n}\n/**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n\nfunction getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n}\n/**\n * Check if the given value is a finite number.\n */\n\nvar isFinite = Number.isFinite || WINDOW.isFinite;\n/**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n\nfunction getAdjustedSizes(_ref4) // or 'cover'\n{\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n\n var isValidNumber = function isValidNumber(value) {\n return isFinite(value) && value > 0;\n };\n\n if (isValidNumber(width) && isValidNumber(height)) {\n var adjustedWidth = height * aspectRatio;\n\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidNumber(width)) {\n height = width / aspectRatio;\n } else if (isValidNumber(height)) {\n width = height * aspectRatio;\n }\n\n return {\n width: width,\n height: height\n };\n}\n/**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n\nfunction getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n}\n/**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n\nfunction getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight)); // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n}\nvar fromCharCode = String.fromCharCode;\n/**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n\nfunction getStringFromCharCode(dataView, start, length) {\n var str = '';\n var i;\n length += start;\n\n for (i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n\n return str;\n}\nvar REGEXP_DATA_URL_HEAD = /^data:.*,/;\n/**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n\nfunction dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n}\n/**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n\nfunction arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n\n while (uint8.length > 0) {\n chunks.push(fromCharCode.apply(void 0, _toConsumableArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n}\n/**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n\nfunction resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation; // Ignores range error when the image does not have correct Exif information\n\n try {\n var littleEndian;\n var app1Start;\n var ifdStart; // Only handle JPEG image (start by 0xFFD8)\n\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n\n offset += 1;\n }\n }\n\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n\n if (littleEndian || endianness === 0x4D4D\n /* bigEndian */\n ) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n\n var _offset;\n\n var i;\n\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n\n if (dataView.getUint16(_offset, littleEndian) === 0x0112\n /* Orientation */\n ) {\n // 8 is the offset of the current tag's value\n _offset += 8; // Get the original orientation value\n\n orientation = dataView.getUint16(_offset, littleEndian); // Override the orientation with its default value\n\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (e) {\n orientation = 1;\n }\n\n return orientation;\n}\n/**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n\nfunction parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n // Rotate left 180°\n\n case 3:\n rotate = -180;\n break;\n // Flip vertical\n\n case 4:\n scaleY = -1;\n break;\n // Flip vertical and rotate right 90°\n\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n // Rotate right 90°\n\n case 6:\n rotate = 90;\n break;\n // Flip horizontal and rotate right 90°\n\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n // Rotate left 90°\n\n case 8:\n rotate = -90;\n break;\n\n default:\n }\n\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n\nvar render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, Number(options.minContainerWidth) || 200),\n height: Math.max(container.offsetHeight, Number(options.minContainerHeight) || 100)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n canvasData.left = (containerData.width - canvasWidth) / 2;\n canvasData.top = (containerData.height - canvasHeight) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n this.initialImageData = assign({}, imageData);\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true); // Initialize auto crop area\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight); // The width/height of auto crop area must large than \"minWidth/Height\"\n\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height; // The min/maxCropBoxWidth/Height must be less than container's width/height\n\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n } // The minWidth/Height must be less than maxWidth/Height\n\n\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n};\n\nvar preview = {\n initPreview: function initPreview() {\n var crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = url;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n\n if (!preview) {\n return;\n }\n\n var previews = preview;\n\n if (typeof preview === 'string') {\n previews = this.element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img'); // Save the original size for recover\n\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n\n img.src = url;\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n\n if (!this.cropped || this.disabled) {\n return;\n }\n\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n};\n\nvar events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this));\n }\n\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel);\n }\n\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n};\n\nvar handlers = {\n resize: function resize() {\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var minContainerWidth = Number(options.minContainerWidth) || 200;\n var minContainerHeight = Number(options.minContainerHeight) || 100;\n\n if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {\n return;\n }\n\n var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed\n\n if (ratio !== 1 || container.offsetHeight !== containerData.height) {\n var canvasData;\n var cropBoxData;\n\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n\n this.render();\n\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(e) {\n var _this = this;\n\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n\n if (this.disabled) {\n return;\n }\n\n e.preventDefault(); // Limit wheel speed to prevent zoom too fast (#21)\n\n if (this.wheeling) {\n return;\n }\n\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n\n if (e.deltaY) {\n delta = e.deltaY > 0 ? 1 : -1;\n } else if (e.wheelDelta) {\n delta = -e.wheelDelta / 120;\n } else if (e.detail) {\n delta = e.detail > 0 ? 1 : -1;\n }\n\n this.zoom(-delta * ratio, e);\n },\n cropStart: function cropStart(e) {\n if (this.disabled) {\n return;\n }\n\n var options = this.options,\n pointers = this.pointers;\n var action;\n\n if (e.changedTouches) {\n // Handle touch event\n forEach(e.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[e.pointerId || 0] = getPointer(e);\n }\n\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(e.target, DATA_ACTION);\n }\n\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n } // This line is required for preventing page zooming in iOS browsers\n\n\n e.preventDefault();\n this.action = action;\n this.cropping = false;\n\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(e) {\n var action = this.action;\n\n if (this.disabled || !action) {\n return;\n }\n\n var pointers = this.pointers;\n e.preventDefault();\n\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n }\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[e.pointerId || 0] || {}, getPointer(e, true));\n }\n\n this.change(e);\n },\n cropEnd: function cropEnd(e) {\n if (this.disabled) {\n return;\n }\n\n var action = this.action,\n pointers = this.pointers;\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[e.pointerId || 0];\n }\n\n if (!action) {\n return;\n }\n\n e.preventDefault();\n\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: e,\n action: action\n });\n }\n};\n\nvar change = {\n change: function change(e) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset; // Locking aspect ratio in \"free mode\" by holding shift key\n\n if (!aspectRatio && e.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n\n break;\n\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n\n break;\n\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n\n break;\n\n default:\n }\n };\n\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n // Resize crop box\n\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_SOUTH);\n height += range.y;\n\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n // Move canvas\n\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n // Zoom canvas\n\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), e);\n renderable = false;\n break;\n // Create crop box\n\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n\n if (range.y < 0) {\n top -= height;\n } // Show the crop box if is hidden\n\n\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n\n break;\n\n default:\n }\n\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n } // Override\n\n\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n};\n\nvar methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true); // Render canvas after crop box rendered\n\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n\n return this;\n },\n\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n\n if (!element[NAMESPACE]) {\n return this;\n }\n\n element[NAMESPACE] = undefined;\n\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n\n this.uncreate();\n return this;\n },\n\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n\n if (changed) {\n this.renderCanvas(true);\n }\n }\n\n return this;\n },\n\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n }; // Zoom from the triggering point of the event\n\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n\n return this;\n },\n\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n\n return this;\n },\n\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData$$1() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n\n return data;\n },\n\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData$$1(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n\n var ratio = imageData.width / imageData.naturalWidth;\n\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n\n this.setCropBoxData(cropBoxData);\n }\n\n return this;\n },\n\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n\n return data;\n },\n\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n\n return data || {};\n },\n\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.renderCropBox();\n }\n\n return this;\n },\n\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options); // Returns the source canvas if it is not cropped.\n\n if (!this.cropped) {\n return source;\n }\n\n var _this$getData = this.getData(),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n } // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n\n\n var sourceWidth = source.width;\n var sourceHeight = source.height; // Source canvas parameters\n\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight; // Destination canvas parameters\n\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n\n var params = [srcX, srcY, srcWidth, srcHeight]; // Avoid \"IndexSizeError\"\n\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n } // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n\n\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n\n if (this.ready) {\n this.initCropBox();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n\n return this;\n },\n\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n\n return this;\n }\n};\n\nvar AnotherCropper = WINDOW.Cropper;\n\nvar Cropper =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Cropper);\n\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n\n if (element[NAMESPACE]) {\n return;\n }\n\n element[NAMESPACE] = this;\n\n if (tagName === 'img') {\n this.isImg = true; // e.g.: \"img/picture.jpg\"\n\n url = element.getAttribute('src') || '';\n this.originalUrl = url; // Stop when it's a blank image\n\n if (!url) {\n return;\n } // e.g.: \"http://example.com/img/picture.jpg\"\n\n\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n\n if (!url) {\n return;\n }\n\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n } // Only IE10+ supports Typed Arrays\n\n\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n } // XMLHttpRequest disallows to open a Data URL in some browsers like IE11 and Safari\n\n\n if (REGEXP_DATA_URL.test(url)) {\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n this.clone();\n }\n\n return;\n }\n\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n xhr.ontimeout = clone;\n xhr.onabort = clone;\n xhr.onerror = clone;\n\n xhr.onprogress = function () {\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n }; // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n\n\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n if (orientation > 1) {\n // Generate a new Data URL with the orientation value set to 1\n // as some iOS browsers will render image with its orientation\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n\n var _parseOrientation = parseOrientation(orientation);\n\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin;\n var crossOriginUrl;\n\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n crossOrigin = element.crossOrigin;\n\n if (crossOrigin) {\n crossOriginUrl = url;\n } else {\n crossOrigin = 'anonymous'; // Bust cache when there is not a \"crossOrigin\" property\n\n crossOriginUrl = addTimestamp(url);\n }\n }\n\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = crossOriginUrl || url;\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n var image = this.isImg ? this.element : this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n var IS_SAFARI = WINDOW.navigator && /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(WINDOW.navigator.userAgent);\n\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.sizing = false;\n _this2.sized = true;\n\n _this2.build();\n }; // Modern browsers (except Safari)\n\n\n if (image.naturalWidth && !IS_SAFARI) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n\n if (!IS_SAFARI) {\n body.removeChild(sizingImage);\n }\n };\n\n sizingImage.src = image.src; // iOS Safari will convert the image automatically\n // with its orientation once append it into DOM (#279)\n\n if (!IS_SAFARI) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n\n var element = this.element,\n options = this.options,\n image = this.image; // Create cropper elements\n\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image); // Hide the original image\n\n addClass(element, CLASS_HIDDEN); // Inserts the cropper after to the current image\n\n container.insertBefore(cropper, element.nextSibling); // Show the image if is hidden\n\n if (!this.isImg) {\n removeClass(image, CLASS_HIDE);\n }\n\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n\n if (options.autoCrop) {\n this.crop();\n }\n\n this.setData(options.data);\n\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n\n this.ready = false;\n this.unbind();\n this.resetPreview();\n this.cropper.parentNode.removeChild(this.cropper);\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n\n return Cropper;\n}();\n\nassign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\nexport default Cropper;\n","const LANGUAGES_LIST = {\n aa: {\n name: 'Afar',\n nativeName: 'Afaraf',\n },\n ab: {\n name: 'Abkhaz',\n nativeName: 'аҧсуа бызшәа',\n },\n ae: {\n name: 'Avestan',\n nativeName: 'avesta',\n },\n af: {\n name: 'Afrikaans',\n nativeName: 'Afrikaans',\n },\n ak: {\n name: 'Akan',\n nativeName: 'Akan',\n },\n am: {\n name: 'Amharic',\n nativeName: 'አማርኛ',\n },\n an: {\n name: 'Aragonese',\n nativeName: 'aragonés',\n },\n ar: {\n name: 'Arabic',\n nativeName: 'اللغة العربية',\n },\n as: {\n name: 'Assamese',\n nativeName: 'অসমীয়া',\n },\n av: {\n name: 'Avaric',\n nativeName: 'авар мацӀ',\n },\n ay: {\n name: 'Aymara',\n nativeName: 'aymar aru',\n },\n az: {\n name: 'Azerbaijani',\n nativeName: 'azərbaycan dili',\n },\n ba: {\n name: 'Bashkir',\n nativeName: 'башҡорт теле',\n },\n be: {\n name: 'Belarusian',\n nativeName: 'беларуская мова',\n },\n bg: {\n name: 'Bulgarian',\n nativeName: 'български език',\n },\n bh: {\n name: 'Bihari',\n nativeName: 'भोजपुरी',\n },\n bi: {\n name: 'Bislama',\n nativeName: 'Bislama',\n },\n bm: {\n name: 'Bambara',\n nativeName: 'bamanankan',\n },\n bn: {\n name: 'Bengali',\n nativeName: 'বাংলা',\n },\n bo: {\n name: 'Tibetan Standard',\n nativeName: 'བོད་ཡིག',\n },\n br: {\n name: 'Breton',\n nativeName: 'brezhoneg',\n },\n bs: {\n name: 'Bosnian',\n nativeName: 'bosanski jezik',\n },\n ca: {\n name: 'Catalan',\n nativeName: 'català',\n },\n ce: {\n name: 'Chechen',\n nativeName: 'нохчийн мотт',\n },\n ch: {\n name: 'Chamorro',\n nativeName: 'Chamoru',\n },\n co: {\n name: 'Corsican',\n nativeName: 'corsu',\n },\n cr: {\n name: 'Cree',\n nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ',\n },\n cs: {\n name: 'Czech',\n nativeName: 'čeština',\n },\n cu: {\n name: 'Old Church Slavonic',\n nativeName: 'ѩзыкъ словѣньскъ',\n },\n cv: {\n name: 'Chuvash',\n nativeName: 'чӑваш чӗлхи',\n },\n cy: {\n name: 'Welsh',\n nativeName: 'Cymraeg',\n },\n da: {\n name: 'Danish',\n nativeName: 'dansk',\n },\n de: {\n name: 'German',\n nativeName: 'Deutsch',\n },\n dv: {\n name: 'Divehi',\n nativeName: 'Dhivehi',\n },\n dz: {\n name: 'Dzongkha',\n nativeName: 'རྫོང་ཁ',\n },\n ee: {\n name: 'Ewe',\n nativeName: 'Eʋegbe',\n },\n el: {\n name: 'Greek',\n nativeName: 'ελληνικά',\n },\n en: {\n name: 'English',\n nativeName: 'English',\n },\n eo: {\n name: 'Esperanto',\n nativeName: 'Esperanto',\n },\n es: {\n name: 'Spanish',\n nativeName: 'Español',\n },\n et: {\n name: 'Estonian',\n nativeName: 'eesti',\n },\n eu: {\n name: 'Basque',\n nativeName: 'euskara',\n },\n fa: {\n name: 'Persian',\n nativeName: 'فارسی',\n },\n ff: {\n name: 'Fula',\n nativeName: 'Fulfulde',\n },\n fi: {\n name: 'Finnish',\n nativeName: 'suomi',\n },\n fj: {\n name: 'Fijian',\n nativeName: 'Vakaviti',\n },\n fo: {\n name: 'Faroese',\n nativeName: 'føroyskt',\n },\n fr: {\n name: 'French',\n nativeName: 'Français',\n },\n fy: {\n name: 'Western Frisian',\n nativeName: 'Frysk',\n },\n ga: {\n name: 'Irish',\n nativeName: 'Gaeilge',\n },\n gd: {\n name: 'Scottish Gaelic',\n nativeName: 'Gàidhlig',\n },\n gl: {\n name: 'Galician',\n nativeName: 'galego',\n },\n gn: {\n name: 'Guaraní',\n nativeName: \"Avañe'ẽ\",\n },\n gu: {\n name: 'Gujarati',\n nativeName: 'ગુજરાતી',\n },\n gv: {\n name: 'Manx',\n nativeName: 'Gaelg',\n },\n ha: {\n name: 'Hausa',\n nativeName: 'هَوُسَ',\n },\n he: {\n name: 'Hebrew',\n nativeName: 'עברית',\n },\n hi: {\n name: 'Hindi',\n nativeName: 'हिन्दी',\n },\n ho: {\n name: 'Hiri Motu',\n nativeName: 'Hiri Motu',\n },\n hr: {\n name: 'Croatian',\n nativeName: 'hrvatski jezik',\n },\n ht: {\n name: 'Haitian',\n nativeName: 'Kreyòl ayisyen',\n },\n hu: {\n name: 'Hungarian',\n nativeName: 'magyar',\n },\n hy: {\n name: 'Armenian',\n nativeName: 'Հայերեն',\n },\n hz: {\n name: 'Herero',\n nativeName: 'Otjiherero',\n },\n ia: {\n name: 'Interlingua',\n nativeName: 'Interlingua',\n },\n id: {\n name: 'Indonesian',\n nativeName: 'Indonesian',\n },\n ie: {\n name: 'Interlingue',\n nativeName: 'Interlingue',\n },\n ig: {\n name: 'Igbo',\n nativeName: 'Asụsụ Igbo',\n },\n ii: {\n name: 'Nuosu',\n nativeName: 'ꆈꌠ꒿ Nuosuhxop',\n },\n ik: {\n name: 'Inupiaq',\n nativeName: 'Iñupiaq',\n },\n io: {\n name: 'Ido',\n nativeName: 'Ido',\n },\n is: {\n name: 'Icelandic',\n nativeName: 'Íslenska',\n },\n it: {\n name: 'Italian',\n nativeName: 'Italiano',\n },\n iu: {\n name: 'Inuktitut',\n nativeName: 'ᐃᓄᒃᑎᑐᑦ',\n },\n ja: {\n name: 'Japanese',\n nativeName: '日本語',\n },\n jv: {\n name: 'Javanese',\n nativeName: 'basa Jawa',\n },\n ka: {\n name: 'Georgian',\n nativeName: 'ქართული',\n },\n kg: {\n name: 'Kongo',\n nativeName: 'Kikongo',\n },\n ki: {\n name: 'Kikuyu',\n nativeName: 'Gĩkũyũ',\n },\n kj: {\n name: 'Kwanyama',\n nativeName: 'Kuanyama',\n },\n kk: {\n name: 'Kazakh',\n nativeName: 'қазақ тілі',\n },\n kl: {\n name: 'Kalaallisut',\n nativeName: 'kalaallisut',\n },\n km: {\n name: 'Khmer',\n nativeName: 'ខេមរភាសា',\n },\n kn: {\n name: 'Kannada',\n nativeName: 'ಕನ್ನಡ',\n },\n ko: {\n name: 'Korean',\n nativeName: '한국어',\n },\n kr: {\n name: 'Kanuri',\n nativeName: 'Kanuri',\n },\n ks: {\n name: 'Kashmiri',\n nativeName: 'कश्मीरी',\n },\n ku: {\n name: 'Kurdish',\n nativeName: 'Kurdî',\n },\n kv: {\n name: 'Komi',\n nativeName: 'коми кыв',\n },\n kw: {\n name: 'Cornish',\n nativeName: 'Kernewek',\n },\n ky: {\n name: 'Kyrgyz',\n nativeName: 'Кыргызча',\n },\n la: {\n name: 'Latin',\n nativeName: 'latine',\n },\n lb: {\n name: 'Luxembourgish',\n nativeName: 'Lëtzebuergesch',\n },\n lg: {\n name: 'Ganda',\n nativeName: 'Luganda',\n },\n li: {\n name: 'Limburgish',\n nativeName: 'Limburgs',\n },\n ln: {\n name: 'Lingala',\n nativeName: 'Lingála',\n },\n lo: {\n name: 'Lao',\n nativeName: 'ພາສາ',\n },\n lt: {\n name: 'Lithuanian',\n nativeName: 'lietuvių kalba',\n },\n lu: {\n name: 'Luba-Katanga',\n nativeName: 'Tshiluba',\n },\n lv: {\n name: 'Latvian',\n nativeName: 'latviešu valoda',\n },\n mg: {\n name: 'Malagasy',\n nativeName: 'fiteny malagasy',\n },\n mh: {\n name: 'Marshallese',\n nativeName: 'Kajin M̧ajeļ',\n },\n mi: {\n name: 'Māori',\n nativeName: 'te reo Māori',\n },\n mk: {\n name: 'Macedonian',\n nativeName: 'македонски јазик',\n },\n ml: {\n name: 'Malayalam',\n nativeName: 'മലയാളം',\n },\n mn: {\n name: 'Mongolian',\n nativeName: 'Монгол хэл',\n },\n mr: {\n name: 'Marathi',\n nativeName: 'मराठी',\n },\n ms: {\n name: 'Malay',\n nativeName: 'هاس ملايو‎',\n },\n mt: {\n name: 'Maltese',\n nativeName: 'Malti',\n },\n my: {\n name: 'Burmese',\n nativeName: 'ဗမာစာ',\n },\n na: {\n name: 'Nauru',\n nativeName: 'Ekakairũ Naoero',\n },\n nb: {\n name: 'Norwegian Bokmål',\n nativeName: 'Norsk bokmål',\n },\n nd: {\n name: 'Northern Ndebele',\n nativeName: 'isiNdebele',\n },\n ne: {\n name: 'Nepali',\n nativeName: 'नेपाली',\n },\n ng: {\n name: 'Ndonga',\n nativeName: 'Owambo',\n },\n nl: {\n name: 'Dutch',\n nativeName: 'Nederlands',\n },\n nn: {\n name: 'Norwegian Nynorsk',\n nativeName: 'Norsk nynorsk',\n },\n no: {\n name: 'Norwegian',\n nativeName: 'Norsk',\n },\n nr: {\n name: 'Southern Ndebele',\n nativeName: 'isiNdebele',\n },\n nv: {\n name: 'Navajo',\n nativeName: 'Diné bizaad',\n },\n ny: {\n name: 'Chichewa',\n nativeName: 'chiCheŵa',\n },\n oc: {\n name: 'Occitan',\n nativeName: 'occitan',\n },\n oj: {\n name: 'Ojibwe',\n nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ',\n },\n om: {\n name: 'Oromo',\n nativeName: 'Afaan Oromoo',\n },\n or: {\n name: 'Oriya',\n nativeName: 'ଓଡ଼ିଆ',\n },\n os: {\n name: 'Ossetian',\n nativeName: 'ирон æвзаг',\n },\n pa: {\n name: 'Panjabi',\n nativeName: 'ਪੰਜਾਬੀ',\n },\n pi: {\n name: 'Pāli',\n nativeName: 'पाऴि',\n },\n pl: {\n name: 'Polish',\n nativeName: 'język polski',\n },\n ps: {\n name: 'Pashto',\n nativeName: 'پښتو',\n },\n pt: {\n name: 'Portuguese',\n nativeName: 'Português',\n },\n qu: {\n name: 'Quechua',\n nativeName: 'Runa Simi',\n },\n rm: {\n name: 'Romansh',\n nativeName: 'rumantsch grischun',\n },\n rn: {\n name: 'Kirundi',\n nativeName: 'Ikirundi',\n },\n ro: {\n name: 'Romanian',\n nativeName: 'limba română',\n },\n ru: {\n name: 'Russian',\n nativeName: 'Русский',\n },\n rw: {\n name: 'Kinyarwanda',\n nativeName: 'Ikinyarwanda',\n },\n sa: {\n name: 'Sanskrit',\n nativeName: 'संस्कृतम्',\n },\n sc: {\n name: 'Sardinian',\n nativeName: 'sardu',\n },\n sd: {\n name: 'Sindhi',\n nativeName: 'सिन्धी',\n },\n se: {\n name: 'Northern Sami',\n nativeName: 'Davvisámegiella',\n },\n sg: {\n name: 'Sango',\n nativeName: 'yângâ tî sängö',\n },\n si: {\n name: 'Sinhala',\n nativeName: 'සිංහල',\n },\n sk: {\n name: 'Slovak',\n nativeName: 'slovenčina',\n },\n sl: {\n name: 'Slovene',\n nativeName: 'slovenski jezik',\n },\n sm: {\n name: 'Samoan',\n nativeName: \"gagana fa'a Samoa\",\n },\n sn: {\n name: 'Shona',\n nativeName: 'chiShona',\n },\n so: {\n name: 'Somali',\n nativeName: 'Soomaaliga',\n },\n sq: {\n name: 'Albanian',\n nativeName: 'Shqip',\n },\n sr: {\n name: 'Serbian',\n nativeName: 'српски језик',\n },\n ss: {\n name: 'Swati',\n nativeName: 'SiSwati',\n },\n st: {\n name: 'Southern Sotho',\n nativeName: 'Sesotho',\n },\n su: {\n name: 'Sundanese',\n nativeName: 'Basa Sunda',\n },\n sv: {\n name: 'Swedish',\n nativeName: 'svenska',\n },\n sw: {\n name: 'Swahili',\n nativeName: 'Kiswahili',\n },\n ta: {\n name: 'Tamil',\n nativeName: 'தமிழ்',\n },\n te: {\n name: 'Telugu',\n nativeName: 'తెలుగు',\n },\n tg: {\n name: 'Tajik',\n nativeName: 'тоҷикӣ',\n },\n th: {\n name: 'Thai',\n nativeName: 'ไทย',\n },\n ti: {\n name: 'Tigrinya',\n nativeName: 'ትግርኛ',\n },\n tk: {\n name: 'Turkmen',\n nativeName: 'Türkmen',\n },\n tl: {\n name: 'Tagalog',\n nativeName: 'Wikang Tagalog',\n },\n tn: {\n name: 'Tswana',\n nativeName: 'Setswana',\n },\n to: {\n name: 'Tonga',\n nativeName: 'faka Tonga',\n },\n tr: {\n name: 'Turkish',\n nativeName: 'Türkçe',\n },\n ts: {\n name: 'Tsonga',\n nativeName: 'Xitsonga',\n },\n tt: {\n name: 'Tatar',\n nativeName: 'татар теле',\n },\n tw: {\n name: 'Twi',\n nativeName: 'Twi',\n },\n ty: {\n name: 'Tahitian',\n nativeName: 'Reo Tahiti',\n },\n ug: {\n name: 'Uyghur',\n nativeName: 'ئۇيغۇرچە‎',\n },\n uk: {\n name: 'Ukrainian',\n nativeName: 'Українська',\n },\n ur: {\n name: 'Urdu',\n nativeName: 'اردو',\n },\n uz: {\n name: 'Uzbek',\n nativeName: 'Ўзбек',\n },\n ve: {\n name: 'Venda',\n nativeName: 'Tshivenḓa',\n },\n vi: {\n name: 'Vietnamese',\n nativeName: 'Tiếng Việt',\n },\n vo: {\n name: 'Volapük',\n nativeName: 'Volapük',\n },\n wa: {\n name: 'Walloon',\n nativeName: 'walon',\n },\n wo: {\n name: 'Wolof',\n nativeName: 'Wollof',\n },\n xh: {\n name: 'Xhosa',\n nativeName: 'isiXhosa',\n },\n yi: {\n name: 'Yiddish',\n nativeName: 'ייִדיש',\n },\n yo: {\n name: 'Yoruba',\n nativeName: 'Yorùbá',\n },\n za: {\n name: 'Zhuang',\n nativeName: 'Saɯ cueŋƅ',\n },\n zh: {\n name: 'Chinese',\n nativeName: '中文',\n },\n zu: {\n name: 'Zulu',\n nativeName: 'isiZulu',\n },\n};\n\nexport default LANGUAGES_LIST;\n","import LANGUAGES_LIST from './data';\n\nexport default class ISO6391 {\n static getLanguages(codes = []) {\n return codes.map(code => ({\n code,\n name: ISO6391.getName(code),\n nativeName: ISO6391.getNativeName(code),\n }));\n }\n\n static getName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].name : '';\n }\n\n static getAllNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.name);\n }\n\n static getNativeName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].nativeName : '';\n }\n\n static getAllNativeNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.nativeName);\n }\n\n static getCode(name) {\n const code = Object.keys(LANGUAGES_LIST).find(code => {\n const language = LANGUAGES_LIST[code];\n\n return (\n language.name.toLowerCase() === name.toLowerCase() ||\n language.nativeName.toLowerCase() === name.toLowerCase()\n );\n });\n return code || '';\n }\n\n static getAllCodes() {\n return Object.keys(LANGUAGES_LIST);\n }\n\n static validate(code) {\n return LANGUAGES_LIST[code] !== undefined;\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/30.6e6d63411def2e175d11.js.map b/priv/static/static/js/30.6e6d63411def2e175d11.js.map deleted file mode 100644 index ebd9270dc..000000000 --- a/priv/static/static/js/30.6e6d63411def2e175d11.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/30.6e6d63411def2e175d11.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/30.6e6d63411def2e175d11.js b/priv/static/static/js/30.73e09f3b43617410dec7.js similarity index 99% rename from priv/static/static/js/30.6e6d63411def2e175d11.js rename to priv/static/static/js/30.73e09f3b43617410dec7.js index df379aaa7..0c3d03cfa 100644 --- a/priv/static/static/js/30.6e6d63411def2e175d11.js +++ b/priv/static/static/js/30.73e09f3b43617410dec7.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{563:function(e){e.exports={chat:{title:"聊天"},exporter:{export:"导出",processing:"正在处理,稍后会提示您下载文件"},features_panel:{chat:"聊天",gopher:"Gopher",media_proxy:"媒体代理",scope_options:"可见范围设置",text_limit:"文本长度限制",title:"功能",who_to_follow:"推荐关注"},finder:{error_fetching_user:"获取用户时发生错误",find_user:"寻找用户"},general:{apply:"应用",submit:"提交",more:"更多",generic_error:"发生一个错误",optional:"可选项",show_more:"展开",show_less:"收起",cancel:"取消",disable:"禁用",enable:"启用",confirm:"确认",verify:"验证",dismiss:"忽略"},image_cropper:{crop_picture:"裁剪图片",save:"保存",save_without_cropping:"保存未经裁剪的图片",cancel:"取消"},importer:{submit:"提交",success:"导入成功。",error:"导入此文件时出现一个错误。"},login:{login:"登录",description:"用 OAuth 登录",logout:"登出",password:"密码",placeholder:"例如:lain",register:"注册",username:"用户名",hint:"登录后加入讨论",authentication_code:"验证码",enter_recovery_code:"输入一个恢复码",enter_two_factor_code:"输入一个双重因素验证码",recovery_code:"恢复码",heading:{totp:"双重因素验证",recovery:"双重因素恢复"}},media_modal:{previous:"往前",next:"往后"},nav:{about:"关于",back:"后退",chat:"本站聊天",friend_requests:"关注请求",mentions:"提及",interactions:"互动",dms:"私信",public_tl:"公共时间线",timeline:"时间线",twkn:"所有已知网络",user_search:"用户搜索",search:"搜索",who_to_follow:"推荐关注",preferences:"偏好设置",administration:"管理员"},notifications:{broken_favorite:"未知的状态,正在搜索中…",favorited_you:"收藏了你的状态",followed_you:"关注了你",load_older:"加载更早的通知",notifications:"通知",read:"阅读!",repeated_you:"转发了你的状态",no_more_notifications:"没有更多的通知",reacted_with:"和 {0} 互动过",migrated_to:"迁移到",follow_request:"想要关注你"},polls:{add_poll:"增加问卷调查",add_option:"增加选项",option:"选项",votes:"投票",vote:"投票",type:"问卷类型",single_choice:"单选项",multiple_choices:"多选项",expiry:"问卷的时间",expires_in:"投票于 {0} 内结束",expired:"投票 {0} 前已结束",not_enough_options:"投票的选项太少"},stickers:{add_sticker:"添加贴纸"},interactions:{favs_repeats:"转发和收藏",follows:"新的关注者",load_older:"加载更早的互动",moves:"用户迁移"},post_status:{new_status:"发布新状态",account_not_locked_warning:"你的帐号没有 {0}。任何人都可以关注你并浏览你的上锁内容。",account_not_locked_warning_link:"上锁",attachments_sensitive:"标记附件为敏感内容",content_type:{"text/plain":"纯文本","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"主题(可选)",default:"刚刚抵达上海",direct_warning_to_all:"本条内容只有被提及的用户能够看到。",direct_warning_to_first_only:"本条内容只有被在消息开始处提及的用户能够看到。",posting:"发送",scope_notice:{public:"本条内容可以被所有人看到",private:"关注你的人才能看到本条内容",unlisted:"本条内容既不在公共时间线,也不会在所有已知网络上可见"},scope:{direct:"私信 - 只发送给被提及的用户",private:"仅关注者 - 只有关注了你的人能看到",public:"公共 - 发送到公共时间轴",unlisted:"不公开 - 不会发送到公共时间轴"}},registration:{bio:"简介",email:"电子邮箱",fullname:"全名",password_confirm:"确认密码",registration:"注册",token:"邀请码",captcha:"CAPTCHA",new_captcha:"点击图片获取新的验证码",username_placeholder:"例如:lain",fullname_placeholder:"例如:岩仓玲音",bio_placeholder:"例如:\n你好,我是玲音。\n我是一个住在日本郊区的动画少女。你可能在 Wired 见过我。",validations:{username_required:"不能留空",fullname_required:"不能留空",email_required:"不能留空",password_required:"不能留空",password_confirmation_required:"不能留空",password_confirmation_match:"密码不一致"}},selectable_list:{select_all:"选择全部"},settings:{app_name:"App 名称",security:"安全",enter_current_password_to_confirm:"输入你当前密码来确认你的身份",mfa:{otp:"OTP",setup_otp:"设置 OTP",wait_pre_setup_otp:"预设 OTP",confirm_and_enable:"确认并启用 OTP",title:"双因素验证",generate_new_recovery_codes:"生成新的恢复码",warning_of_generate_new_codes:"当你生成新的恢复码时,你的旧恢复码就失效了。",recovery_codes:"恢复码。",waiting_a_recovery_codes:"正在接收备份码…",recovery_codes_warning:"抄写这些号码,或者保存在安全的地方。这些号码不会再次显示。如果你无法访问你的 2FA app,也丢失了你的恢复码,你的账号就再也无法登录了。",authentication_methods:"身份验证方法",scan:{title:"扫一下",desc:"使用你的双因素验证 app,扫描这个二维码,或者输入这些文字密钥:",secret_code:"密钥"},verify:{desc:"要启用双因素验证,请把你的双因素验证 app 里的数字输入:"}},attachmentRadius:"附件",attachments:"附件",autoload:"启用滚动到底部时的自动加载",avatar:"头像",avatarAltRadius:"头像(通知)",avatarRadius:"头像",background:"背景",bio:"简介",block_export:"拉黑名单导出",block_export_button:"导出你的拉黑名单到一个 csv 文件",block_import:"拉黑名单导入",block_import_error:"导入拉黑名单出错",blocks_imported:"拉黑名单导入成功!需要一点时间来处理。",blocks_tab:"块",btnRadius:"按钮",cBlue:"蓝色(回复,关注)",cGreen:"绿色(转发)",cOrange:"橙色(收藏)",cRed:"红色(取消)",change_password:"修改密码",change_password_error:"修改密码的时候出了点问题。",changed_password:"成功修改了密码!",collapse_subject:"折叠带主题的内容",composing:"正在书写",confirm_new_password:"确认新密码",current_avatar:"当前头像",current_password:"当前密码",current_profile_banner:"您当前的横幅图片",data_import_export_tab:"数据导入/导出",default_vis:"默认可见范围",delete_account:"删除账户",delete_account_description:"永久删除你的帐号和所有数据。",delete_account_error:"删除账户时发生错误,如果一直删除不了,请联系实例管理员。",delete_account_instructions:"在下面输入你的密码来确认删除账户",avatar_size_instruction:"推荐的头像图片最小的尺寸是 150x150 像素。",export_theme:"导出预置主题",filtering:"过滤器",filtering_explanation:"所有包含以下词汇的内容都会被隐藏,一行一个",follow_export:"导出关注",follow_export_button:"将关注导出成 csv 文件",follow_import:"导入关注",follow_import_error:"导入关注时错误",follows_imported:"关注已导入!尚需要一些时间来处理。",foreground:"前景",general:"通用",hide_attachments_in_convo:"在对话中隐藏附件",hide_attachments_in_tl:"在时间线上隐藏附件",hide_muted_posts:"不显示被隐藏的用户的帖子",max_thumbnails:"最多再每个帖子所能显示的缩略图数量",hide_isp:"隐藏指定实例的面板H",preload_images:"预载图片",use_one_click_nsfw:"点击一次以打开工作场所不适宜的附件",hide_post_stats:"隐藏推文相关的统计数据(例如:收藏的次数)",hide_user_stats:"隐藏用户的统计数据(例如:关注者的数量)",hide_filtered_statuses:"隐藏过滤的状态",import_blocks_from_a_csv_file:"从 csv 文件中导入拉黑名单",import_followers_from_a_csv_file:"从 csv 文件中导入关注",import_theme:"导入预置主题",inputRadius:"输入框",checkboxRadius:"复选框",instance_default:"(默认:{value})",instance_default_simple:"(默认)",interface:"界面",interfaceLanguage:"界面语言",invalid_theme_imported:"您所选择的主题文件不被 Pleroma 支持,因此主题未被修改。",limited_availability:"在您的浏览器中无法使用",links:"链接",lock_account_description:"你需要手动审核关注请求",loop_video:"循环视频",loop_video_silent_only:"只循环没有声音的视频(例如:Mastodon 里的“GIF”)",mutes_tab:"隐藏",play_videos_in_modal:"在弹出框内播放视频",use_contain_fit:"生成缩略图时不要裁剪附件",name:"名字",name_bio:"名字及简介",new_password:"新密码",notification_visibility:"要显示的通知类型",notification_visibility_follows:"关注",notification_visibility_likes:"点赞",notification_visibility_mentions:"提及",notification_visibility_repeats:"转发",no_rich_text_description:"不显示富文本格式",no_blocks:"没有拉黑的",no_mutes:"没有隐藏",hide_follows_description:"不要显示我所关注的人",hide_followers_description:"不要显示关注我的人",show_admin_badge:"显示管理徽章",show_moderator_badge:"显示版主徽章",nsfw_clickthrough:"将不和谐附件隐藏,点击才能打开",oauth_tokens:"OAuth令牌",token:"令牌",refresh_token:"刷新令牌",valid_until:"有效期至",revoke_token:"撤消",panelRadius:"面板",pause_on_unfocused:"在离开页面时暂停时间线推送",presets:"预置",profile_background:"个人资料背景图",profile_banner:"横幅图片",profile_tab:"个人资料",radii_help:"设置界面边缘的圆角 (单位:像素)",replies_in_timeline:"时间线中的回复",reply_link_preview:"启用鼠标悬停时预览回复链接",reply_visibility_all:"显示所有回复",reply_visibility_following:"只显示发送给我的回复/发送给我关注的用户的回复",reply_visibility_self:"只显示发送给我的回复",autohide_floating_post_button:"自动隐藏新帖子的按钮(移动设备)",saving_err:"保存设置时发生错误",saving_ok:"设置已保存",search_user_to_block:"搜索你想屏蔽的用户",search_user_to_mute:"搜索你想要隐藏的用户",security_tab:"安全",scope_copy:"回复时的复制范围(私信是总是复制的)",minimal_scopes_mode:"最小发文范围",set_new_avatar:"设置新头像",set_new_profile_background:"设置新的个人资料背景",set_new_profile_banner:"设置新的横幅图片",settings:"设置",subject_input_always_show:"总是显示主题框",subject_line_behavior:"回复时复制主题",subject_line_email:'比如电邮: "re: 主题"',subject_line_mastodon:"比如 mastodon: copy as is",subject_line_noop:"不要复制",post_status_content_type:"发文状态内容类型",stop_gifs:"鼠标悬停时播放GIF",streaming:"开启滚动到顶部时的自动推送",text:"文本",theme:"主题",theme_help:"使用十六进制代码(#rrggbb)来设置主题颜色。",theme_help_v2_1:"你也可以通过切换复选框来覆盖某些组件的颜色和透明。使用“清除所有”来清楚所有覆盖设置。",theme_help_v2_2:"某些条目下的图标是背景或文本对比指示器,鼠标悬停可以获取详细信息。请记住,使用透明度来显示最差的情况。",tooltipRadius:"提醒",upload_a_photo:"上传照片",user_settings:"用户设置",values:{false:"否",true:"是"},notifications:"通知",notification_setting:"通知来源:",notification_setting_follows:"你所关注的用户",notification_setting_non_follows:"你没有关注的用户",notification_setting_followers:"关注你的用户",notification_setting_non_followers:"没有关注你的用户",notification_mutes:"要停止收到某个指定的用户的通知,请使用隐藏功能。",notification_blocks:"拉黑一个用户会停掉所有他的通知,等同于取消关注。",enable_web_push_notifications:"启用 web 推送通知",style:{switcher:{keep_color:"保留颜色",keep_shadows:"保留阴影",keep_opacity:"保留透明度",keep_roundness:"保留圆角",keep_fonts:"保留字体",save_load_hint:'"保留" 选项在选择或加载主题时保留当前设置的选项,在导出主题时还会存储上述选项。当所有复选框未设置时,导出主题将保存所有内容。',reset:"重置",clear_all:"清除全部",clear_opacity:"清除透明度",load_theme:"加载主题",help:{upgraded_from_v2:"PleromaFE 已升级,主题会和你记忆中的不太一样。"},use_source:"新版本",use_snapshot:"老版本",keep_as_is:"保持原状"},common:{color:"颜色",opacity:"透明度",contrast:{hint:"对比度是 {ratio}, 它 {level} {context}",level:{aa:"符合 AA 等级准则(最低)",aaa:"符合 AAA 等级准则(推荐)",bad:"不符合任何辅助功能指南"},context:{"18pt":"大字文本 (18pt+)",text:"文本"}}},common_colors:{_tab_label:"常规",main:"常用颜色",foreground_hint:"点击”高级“ 标签进行细致的控制",rgbo:"图标,口音,徽章"},advanced_colors:{_tab_label:"高级",alert:"提醒或警告背景色",alert_error:"错误",badge:"徽章背景",badge_notification:"通知",panel_header:"面板标题",top_bar:"顶栏",borders:"边框",buttons:"按钮",inputs:"输入框",faint_text:"灰度文字"},radii:{_tab_label:"圆角"},shadows:{_tab_label:"阴影和照明",component:"组件",override:"覆盖",shadow_id:"阴影 #{value}",blur:"模糊",spread:"扩散",inset:"插入内部",hint:"对于阴影你还可以使用 --variable 作为颜色值来使用 CSS3 变量。请注意,这种情况下,透明设置将不起作用。",filter_hint:{always_drop_shadow:"警告,此阴影设置会总是使用 {0} ,如果浏览器支持的话。",drop_shadow_syntax:"{0} 不支持参数 {1} 和关键词 {2} 。",avatar_inset:"请注意组合两个内部和非内部的阴影到头像上,在透明头像上可能会有意料之外的效果。",spread_zero:"阴影的扩散 > 0 会同设置成零一样",inset_classic:"插入内部的阴影会使用 {0}"},components:{panel:"面板",panelHeader:"面板标题",topBar:"顶栏",avatar:"用户头像(在个人资料栏)",avatarStatus:"用户头像(在帖子显示栏)",popup:"弹窗和工具提示",button:"按钮",buttonHover:"按钮(悬停)",buttonPressed:"按钮(按下)",buttonPressedHover:"按钮(按下和悬停)",input:"输入框"}},fonts:{_tab_label:"字体",help:"给用户界面的元素选择字体。选择 “自选”的你必须输入确切的字体名称。",components:{interface:"界面",input:"输入框",post:"发帖文字",postCode:"帖子中使用等间距文字(富文本)"},family:"字体名称",size:"大小 (in px)",weight:"字重 (粗体))",custom:"自选"},preview:{header:"预览",content:"内容",error:"例子错误",button:"按钮",text:"有堆 {0} 和 {1}",mono:"内容",input:"刚刚抵达上海",faint_link:"帮助菜单",fine_print:"阅读我们的 {0} ,然而什么也学不到!",header_faint:"这很正常",checkbox:"我已经浏览了 TOC",link:"一个很棒的摇滚链接"}},version:{title:"版本",backend_version:"后端版本",frontend_version:"前端版本"},notification_setting_filters:"过滤器",domain_mutes:"域名",changed_email:"邮箱修改成功!",change_email_error:"修改你的电子邮箱时发生错误",change_email:"修改电子邮箱",allow_following_move:"正在关注的账号迁移时自动重新关注",notification_setting_privacy_option:"在通知推送中隐藏发送者和内容",notification_setting_privacy:"隐私",hide_follows_count_description:"不显示关注数",notification_visibility_emoji_reactions:"互动",notification_visibility_moves:"用户迁移",new_email:"新邮箱",emoji_reactions_on_timeline:"在时间线上显示表情符号互动"},time:{day:"{0} 天",days:"{0} 天",day_short:"{0}d",days_short:"{0}d",hour:"{0} 小时",hours:"{0} 小时",hour_short:"{0}h",hours_short:"{0}h",in_future:"还有 {0}",in_past:"{0} 之前",minute:"{0} 分钟",minutes:"{0} 分钟",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} 月",months:"{0} 月",month_short:"{0}mo",months_short:"{0}mo",now:"刚刚",now_short:"刚刚",second:"{0} 秒",seconds:"{0} 秒",second_short:"{0}s",seconds_short:"{0}s",week:"{0} 周",weeks:"{0} 周",week_short:"{0}w",weeks_short:"{0}w",year:"{0} 年",years:"{0} 年",year_short:"{0}y",years_short:"{0}y"},timeline:{collapse:"折叠",conversation:"对话",error_fetching:"获取更新时发生错误",load_older:"加载更早的状态",no_retweet_hint:"这条内容仅关注者可见,或者是私信,因此不能转发。",repeated:"已转发",show_new:"显示新内容",up_to_date:"已是最新",no_more_statuses:"没有更多的状态",no_statuses:"没有状态更新"},status:{favorites:"收藏",repeats:"转发",delete:"删除状态",pin:"在个人资料置顶",unpin:"取消在个人资料置顶",pinned:"置顶",delete_confirm:"你真的想要删除这条状态吗?",reply_to:"回复",replies_list:"回复:",mute_conversation:"隐藏对话",unmute_conversation:"对话取消隐藏"},user_card:{approve:"允许",block:"屏蔽",blocked:"已屏蔽!",deny:"拒绝",favorites:"收藏",follow:"关注",follow_sent:"请求已发送!",follow_progress:"请求中",follow_again:"再次发送请求?",follow_unfollow:"取消关注",followees:"正在关注",followers:"关注者",following:"正在关注!",follows_you:"关注了你!",its_you:"就是你!!",media:"媒体",mute:"隐藏",muted:"已隐藏",per_day:"每天",remote_follow:"跨站关注",report:"报告",statuses:"状态",subscribe:"订阅",unsubscribe:"退订",unblock:"取消拉黑",unblock_progress:"取消拉黑中…",block_progress:"拉黑中…",unmute:"取消隐藏",unmute_progress:"取消隐藏中…",mute_progress:"隐藏中…",admin_menu:{moderation:"权限",grant_admin:"赋予管理权限",revoke_admin:"撤销管理权限",grant_moderator:"赋予版主权限",revoke_moderator:"撤销版主权限",activate_account:"激活账号",deactivate_account:"关闭账号",delete_account:"删除账号",force_nsfw:"标记所有的帖子都是 - 工作场合不适",strip_media:"从帖子里删除媒体文件",force_unlisted:"强制帖子为不公开",sandbox:"强制帖子为只有关注者可看",disable_remote_subscription:"禁止从远程实例关注用户",disable_any_subscription:"完全禁止关注用户",quarantine:"从联合实例中禁止用户帖子",delete_user:"删除用户",delete_user_confirmation:"你确认吗?此操作无法撤销。"},hidden:"已隐藏",show_repeats:"显示转发",hide_repeats:"隐藏转发"},user_profile:{timeline_title:"用户时间线",profile_does_not_exist:"抱歉,此个人资料不存在。",profile_loading_error:"抱歉,载入个人资料时出错。"},user_reporting:{title:"报告 {0}",add_comment_description:"此报告会发送给你的实例管理员。你可以在下面提供更多详细信息解释报告的缘由:",additional_comments:"其它信息",forward_description:"这个账号是从另外一个服务器。同时发送一个副本到那里?",forward_to:"转发 {0}",submit:"提交",generic_error:"当处理你的请求时,发生了一个错误。"},who_to_follow:{more:"更多",who_to_follow:"推荐关注"},tool_tip:{media_upload:"上传多媒体",repeat:"转发",reply:"回复",favorite:"收藏",user_settings:"用户设置",reject_follow_request:"拒绝关注请求",add_reaction:"添加互动"},upload:{error:{base:"上传不成功。",file_too_big:"文件太大了 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"迟些再试"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"人",hashtags:"Hashtags",person_talking:"{count} 人正在讨论",people_talking:"{count} 人正在讨论",no_results:"没有搜索结果"},password_reset:{forgot_password:"忘记密码了?",password_reset:"重置密码",instruction:"输入你的电邮地址或者用户名,我们将发送一个链接到你的邮箱,用于重置密码。",placeholder:"你的电邮地址或者用户名",check_email:"检查你的邮箱,会有一个链接用于重置密码。",return_home:"回到首页",not_found:"我们无法找到匹配的邮箱地址或者用户名。",too_many_requests:"你触发了尝试的限制,请稍后再试。",password_reset_disabled:"密码重置已经被禁用。请联系你的实例管理员。"},remote_user_resolver:{error:"未找到。",searching_for:"搜索",remote_user_resolver:"远程用户解析器"},emoji:{keep_open:"选择器保持打开",stickers:"贴图",unicode:"Unicode 表情符号",custom:"自定义表情符号",add_emoji:"插入表情符号",search_emoji:"搜索表情符号",emoji:"表情符号"},about:{mrf:{simple:{quarantine_desc:"本实例只会把公开状态发送非下列实例:",quarantine:"隔离",reject_desc:"本实例不会接收来自下列实例的消息:",reject:"拒绝",accept_desc:"本实例只接收来自下列实例的消息:",simple_policies:"站规",accept:"接受",media_removal:"移除媒体"},mrf_policies_desc:"MRF 策略会影响本实例的互通行为。以下策略已启用:",mrf_policies:"已启动 MRF 策略",keyword:{ftl_removal:"从“全部已知网络”时间线上移除",keyword_policies:"关键词策略",is_replaced_by:"→",replace:"替换",reject:"拒绝"},federation:"联邦"}},domain_mute_card:{unmute_progress:"正在取消隐藏…",unmute:"取消隐藏",mute_progress:"隐藏中…",mute:"隐藏"}}}}]); -//# sourceMappingURL=30.6e6d63411def2e175d11.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{581:function(e){e.exports={chat:{title:"聊天"},exporter:{export:"导出",processing:"正在处理,稍后会提示您下载文件"},features_panel:{chat:"聊天",gopher:"Gopher",media_proxy:"媒体代理",scope_options:"可见范围设置",text_limit:"文本长度限制",title:"功能",who_to_follow:"推荐关注"},finder:{error_fetching_user:"获取用户时发生错误",find_user:"寻找用户"},general:{apply:"应用",submit:"提交",more:"更多",generic_error:"发生一个错误",optional:"可选项",show_more:"展开",show_less:"收起",cancel:"取消",disable:"禁用",enable:"启用",confirm:"确认",verify:"验证",dismiss:"忽略"},image_cropper:{crop_picture:"裁剪图片",save:"保存",save_without_cropping:"保存未经裁剪的图片",cancel:"取消"},importer:{submit:"提交",success:"导入成功。",error:"导入此文件时出现一个错误。"},login:{login:"登录",description:"用 OAuth 登录",logout:"登出",password:"密码",placeholder:"例如:lain",register:"注册",username:"用户名",hint:"登录后加入讨论",authentication_code:"验证码",enter_recovery_code:"输入一个恢复码",enter_two_factor_code:"输入一个双重因素验证码",recovery_code:"恢复码",heading:{totp:"双重因素验证",recovery:"双重因素恢复"}},media_modal:{previous:"往前",next:"往后"},nav:{about:"关于",back:"后退",chat:"本站聊天",friend_requests:"关注请求",mentions:"提及",interactions:"互动",dms:"私信",public_tl:"公共时间线",timeline:"时间线",twkn:"所有已知网络",user_search:"用户搜索",search:"搜索",who_to_follow:"推荐关注",preferences:"偏好设置",administration:"管理员"},notifications:{broken_favorite:"未知的状态,正在搜索中…",favorited_you:"收藏了你的状态",followed_you:"关注了你",load_older:"加载更早的通知",notifications:"通知",read:"阅读!",repeated_you:"转发了你的状态",no_more_notifications:"没有更多的通知",reacted_with:"和 {0} 互动过",migrated_to:"迁移到",follow_request:"想要关注你"},polls:{add_poll:"增加问卷调查",add_option:"增加选项",option:"选项",votes:"投票",vote:"投票",type:"问卷类型",single_choice:"单选项",multiple_choices:"多选项",expiry:"问卷的时间",expires_in:"投票于 {0} 内结束",expired:"投票 {0} 前已结束",not_enough_options:"投票的选项太少"},stickers:{add_sticker:"添加贴纸"},interactions:{favs_repeats:"转发和收藏",follows:"新的关注者",load_older:"加载更早的互动",moves:"用户迁移"},post_status:{new_status:"发布新状态",account_not_locked_warning:"你的帐号没有 {0}。任何人都可以关注你并浏览你的上锁内容。",account_not_locked_warning_link:"上锁",attachments_sensitive:"标记附件为敏感内容",content_type:{"text/plain":"纯文本","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},content_warning:"主题(可选)",default:"刚刚抵达上海",direct_warning_to_all:"本条内容只有被提及的用户能够看到。",direct_warning_to_first_only:"本条内容只有被在消息开始处提及的用户能够看到。",posting:"发送",scope_notice:{public:"本条内容可以被所有人看到",private:"关注你的人才能看到本条内容",unlisted:"本条内容既不在公共时间线,也不会在所有已知网络上可见"},scope:{direct:"私信 - 只发送给被提及的用户",private:"仅关注者 - 只有关注了你的人能看到",public:"公共 - 发送到公共时间轴",unlisted:"不公开 - 不会发送到公共时间轴"}},registration:{bio:"简介",email:"电子邮箱",fullname:"全名",password_confirm:"确认密码",registration:"注册",token:"邀请码",captcha:"CAPTCHA",new_captcha:"点击图片获取新的验证码",username_placeholder:"例如:lain",fullname_placeholder:"例如:岩仓玲音",bio_placeholder:"例如:\n你好,我是玲音。\n我是一个住在日本郊区的动画少女。你可能在 Wired 见过我。",validations:{username_required:"不能留空",fullname_required:"不能留空",email_required:"不能留空",password_required:"不能留空",password_confirmation_required:"不能留空",password_confirmation_match:"密码不一致"}},selectable_list:{select_all:"选择全部"},settings:{app_name:"App 名称",security:"安全",enter_current_password_to_confirm:"输入你当前密码来确认你的身份",mfa:{otp:"OTP",setup_otp:"设置 OTP",wait_pre_setup_otp:"预设 OTP",confirm_and_enable:"确认并启用 OTP",title:"双因素验证",generate_new_recovery_codes:"生成新的恢复码",warning_of_generate_new_codes:"当你生成新的恢复码时,你的旧恢复码就失效了。",recovery_codes:"恢复码。",waiting_a_recovery_codes:"正在接收备份码…",recovery_codes_warning:"抄写这些号码,或者保存在安全的地方。这些号码不会再次显示。如果你无法访问你的 2FA app,也丢失了你的恢复码,你的账号就再也无法登录了。",authentication_methods:"身份验证方法",scan:{title:"扫一下",desc:"使用你的双因素验证 app,扫描这个二维码,或者输入这些文字密钥:",secret_code:"密钥"},verify:{desc:"要启用双因素验证,请把你的双因素验证 app 里的数字输入:"}},attachmentRadius:"附件",attachments:"附件",autoload:"启用滚动到底部时的自动加载",avatar:"头像",avatarAltRadius:"头像(通知)",avatarRadius:"头像",background:"背景",bio:"简介",block_export:"拉黑名单导出",block_export_button:"导出你的拉黑名单到一个 csv 文件",block_import:"拉黑名单导入",block_import_error:"导入拉黑名单出错",blocks_imported:"拉黑名单导入成功!需要一点时间来处理。",blocks_tab:"块",btnRadius:"按钮",cBlue:"蓝色(回复,关注)",cGreen:"绿色(转发)",cOrange:"橙色(收藏)",cRed:"红色(取消)",change_password:"修改密码",change_password_error:"修改密码的时候出了点问题。",changed_password:"成功修改了密码!",collapse_subject:"折叠带主题的内容",composing:"正在书写",confirm_new_password:"确认新密码",current_avatar:"当前头像",current_password:"当前密码",current_profile_banner:"您当前的横幅图片",data_import_export_tab:"数据导入/导出",default_vis:"默认可见范围",delete_account:"删除账户",delete_account_description:"永久删除你的帐号和所有数据。",delete_account_error:"删除账户时发生错误,如果一直删除不了,请联系实例管理员。",delete_account_instructions:"在下面输入你的密码来确认删除账户",avatar_size_instruction:"推荐的头像图片最小的尺寸是 150x150 像素。",export_theme:"导出预置主题",filtering:"过滤器",filtering_explanation:"所有包含以下词汇的内容都会被隐藏,一行一个",follow_export:"导出关注",follow_export_button:"将关注导出成 csv 文件",follow_import:"导入关注",follow_import_error:"导入关注时错误",follows_imported:"关注已导入!尚需要一些时间来处理。",foreground:"前景",general:"通用",hide_attachments_in_convo:"在对话中隐藏附件",hide_attachments_in_tl:"在时间线上隐藏附件",hide_muted_posts:"不显示被隐藏的用户的帖子",max_thumbnails:"最多再每个帖子所能显示的缩略图数量",hide_isp:"隐藏指定实例的面板H",preload_images:"预载图片",use_one_click_nsfw:"点击一次以打开工作场所不适宜的附件",hide_post_stats:"隐藏推文相关的统计数据(例如:收藏的次数)",hide_user_stats:"隐藏用户的统计数据(例如:关注者的数量)",hide_filtered_statuses:"隐藏过滤的状态",import_blocks_from_a_csv_file:"从 csv 文件中导入拉黑名单",import_followers_from_a_csv_file:"从 csv 文件中导入关注",import_theme:"导入预置主题",inputRadius:"输入框",checkboxRadius:"复选框",instance_default:"(默认:{value})",instance_default_simple:"(默认)",interface:"界面",interfaceLanguage:"界面语言",invalid_theme_imported:"您所选择的主题文件不被 Pleroma 支持,因此主题未被修改。",limited_availability:"在您的浏览器中无法使用",links:"链接",lock_account_description:"你需要手动审核关注请求",loop_video:"循环视频",loop_video_silent_only:"只循环没有声音的视频(例如:Mastodon 里的“GIF”)",mutes_tab:"隐藏",play_videos_in_modal:"在弹出框内播放视频",use_contain_fit:"生成缩略图时不要裁剪附件",name:"名字",name_bio:"名字及简介",new_password:"新密码",notification_visibility:"要显示的通知类型",notification_visibility_follows:"关注",notification_visibility_likes:"点赞",notification_visibility_mentions:"提及",notification_visibility_repeats:"转发",no_rich_text_description:"不显示富文本格式",no_blocks:"没有拉黑的",no_mutes:"没有隐藏",hide_follows_description:"不要显示我所关注的人",hide_followers_description:"不要显示关注我的人",show_admin_badge:"显示管理徽章",show_moderator_badge:"显示版主徽章",nsfw_clickthrough:"将不和谐附件隐藏,点击才能打开",oauth_tokens:"OAuth令牌",token:"令牌",refresh_token:"刷新令牌",valid_until:"有效期至",revoke_token:"撤消",panelRadius:"面板",pause_on_unfocused:"在离开页面时暂停时间线推送",presets:"预置",profile_background:"个人资料背景图",profile_banner:"横幅图片",profile_tab:"个人资料",radii_help:"设置界面边缘的圆角 (单位:像素)",replies_in_timeline:"时间线中的回复",reply_link_preview:"启用鼠标悬停时预览回复链接",reply_visibility_all:"显示所有回复",reply_visibility_following:"只显示发送给我的回复/发送给我关注的用户的回复",reply_visibility_self:"只显示发送给我的回复",autohide_floating_post_button:"自动隐藏新帖子的按钮(移动设备)",saving_err:"保存设置时发生错误",saving_ok:"设置已保存",search_user_to_block:"搜索你想屏蔽的用户",search_user_to_mute:"搜索你想要隐藏的用户",security_tab:"安全",scope_copy:"回复时的复制范围(私信是总是复制的)",minimal_scopes_mode:"最小发文范围",set_new_avatar:"设置新头像",set_new_profile_background:"设置新的个人资料背景",set_new_profile_banner:"设置新的横幅图片",settings:"设置",subject_input_always_show:"总是显示主题框",subject_line_behavior:"回复时复制主题",subject_line_email:'比如电邮: "re: 主题"',subject_line_mastodon:"比如 mastodon: copy as is",subject_line_noop:"不要复制",post_status_content_type:"发文状态内容类型",stop_gifs:"鼠标悬停时播放GIF",streaming:"开启滚动到顶部时的自动推送",text:"文本",theme:"主题",theme_help:"使用十六进制代码(#rrggbb)来设置主题颜色。",theme_help_v2_1:"你也可以通过切换复选框来覆盖某些组件的颜色和透明。使用“清除所有”来清楚所有覆盖设置。",theme_help_v2_2:"某些条目下的图标是背景或文本对比指示器,鼠标悬停可以获取详细信息。请记住,使用透明度来显示最差的情况。",tooltipRadius:"提醒",upload_a_photo:"上传照片",user_settings:"用户设置",values:{false:"否",true:"是"},notifications:"通知",notification_setting:"通知来源:",notification_setting_follows:"你所关注的用户",notification_setting_non_follows:"你没有关注的用户",notification_setting_followers:"关注你的用户",notification_setting_non_followers:"没有关注你的用户",notification_mutes:"要停止收到某个指定的用户的通知,请使用隐藏功能。",notification_blocks:"拉黑一个用户会停掉所有他的通知,等同于取消关注。",enable_web_push_notifications:"启用 web 推送通知",style:{switcher:{keep_color:"保留颜色",keep_shadows:"保留阴影",keep_opacity:"保留透明度",keep_roundness:"保留圆角",keep_fonts:"保留字体",save_load_hint:'"保留" 选项在选择或加载主题时保留当前设置的选项,在导出主题时还会存储上述选项。当所有复选框未设置时,导出主题将保存所有内容。',reset:"重置",clear_all:"清除全部",clear_opacity:"清除透明度",load_theme:"加载主题",help:{upgraded_from_v2:"PleromaFE 已升级,主题会和你记忆中的不太一样。"},use_source:"新版本",use_snapshot:"老版本",keep_as_is:"保持原状"},common:{color:"颜色",opacity:"透明度",contrast:{hint:"对比度是 {ratio}, 它 {level} {context}",level:{aa:"符合 AA 等级准则(最低)",aaa:"符合 AAA 等级准则(推荐)",bad:"不符合任何辅助功能指南"},context:{"18pt":"大字文本 (18pt+)",text:"文本"}}},common_colors:{_tab_label:"常规",main:"常用颜色",foreground_hint:"点击”高级“ 标签进行细致的控制",rgbo:"图标,口音,徽章"},advanced_colors:{_tab_label:"高级",alert:"提醒或警告背景色",alert_error:"错误",badge:"徽章背景",badge_notification:"通知",panel_header:"面板标题",top_bar:"顶栏",borders:"边框",buttons:"按钮",inputs:"输入框",faint_text:"灰度文字"},radii:{_tab_label:"圆角"},shadows:{_tab_label:"阴影和照明",component:"组件",override:"覆盖",shadow_id:"阴影 #{value}",blur:"模糊",spread:"扩散",inset:"插入内部",hint:"对于阴影你还可以使用 --variable 作为颜色值来使用 CSS3 变量。请注意,这种情况下,透明设置将不起作用。",filter_hint:{always_drop_shadow:"警告,此阴影设置会总是使用 {0} ,如果浏览器支持的话。",drop_shadow_syntax:"{0} 不支持参数 {1} 和关键词 {2} 。",avatar_inset:"请注意组合两个内部和非内部的阴影到头像上,在透明头像上可能会有意料之外的效果。",spread_zero:"阴影的扩散 > 0 会同设置成零一样",inset_classic:"插入内部的阴影会使用 {0}"},components:{panel:"面板",panelHeader:"面板标题",topBar:"顶栏",avatar:"用户头像(在个人资料栏)",avatarStatus:"用户头像(在帖子显示栏)",popup:"弹窗和工具提示",button:"按钮",buttonHover:"按钮(悬停)",buttonPressed:"按钮(按下)",buttonPressedHover:"按钮(按下和悬停)",input:"输入框"}},fonts:{_tab_label:"字体",help:"给用户界面的元素选择字体。选择 “自选”的你必须输入确切的字体名称。",components:{interface:"界面",input:"输入框",post:"发帖文字",postCode:"帖子中使用等间距文字(富文本)"},family:"字体名称",size:"大小 (in px)",weight:"字重 (粗体))",custom:"自选"},preview:{header:"预览",content:"内容",error:"例子错误",button:"按钮",text:"有堆 {0} 和 {1}",mono:"内容",input:"刚刚抵达上海",faint_link:"帮助菜单",fine_print:"阅读我们的 {0} ,然而什么也学不到!",header_faint:"这很正常",checkbox:"我已经浏览了 TOC",link:"一个很棒的摇滚链接"}},version:{title:"版本",backend_version:"后端版本",frontend_version:"前端版本"},notification_setting_filters:"过滤器",domain_mutes:"域名",changed_email:"邮箱修改成功!",change_email_error:"修改你的电子邮箱时发生错误",change_email:"修改电子邮箱",allow_following_move:"正在关注的账号迁移时自动重新关注",notification_setting_privacy_option:"在通知推送中隐藏发送者和内容",notification_setting_privacy:"隐私",hide_follows_count_description:"不显示关注数",notification_visibility_emoji_reactions:"互动",notification_visibility_moves:"用户迁移",new_email:"新邮箱",emoji_reactions_on_timeline:"在时间线上显示表情符号互动"},time:{day:"{0} 天",days:"{0} 天",day_short:"{0}d",days_short:"{0}d",hour:"{0} 小时",hours:"{0} 小时",hour_short:"{0}h",hours_short:"{0}h",in_future:"还有 {0}",in_past:"{0} 之前",minute:"{0} 分钟",minutes:"{0} 分钟",minute_short:"{0}min",minutes_short:"{0}min",month:"{0} 月",months:"{0} 月",month_short:"{0}mo",months_short:"{0}mo",now:"刚刚",now_short:"刚刚",second:"{0} 秒",seconds:"{0} 秒",second_short:"{0}s",seconds_short:"{0}s",week:"{0} 周",weeks:"{0} 周",week_short:"{0}w",weeks_short:"{0}w",year:"{0} 年",years:"{0} 年",year_short:"{0}y",years_short:"{0}y"},timeline:{collapse:"折叠",conversation:"对话",error_fetching:"获取更新时发生错误",load_older:"加载更早的状态",no_retweet_hint:"这条内容仅关注者可见,或者是私信,因此不能转发。",repeated:"已转发",show_new:"显示新内容",up_to_date:"已是最新",no_more_statuses:"没有更多的状态",no_statuses:"没有状态更新"},status:{favorites:"收藏",repeats:"转发",delete:"删除状态",pin:"在个人资料置顶",unpin:"取消在个人资料置顶",pinned:"置顶",delete_confirm:"你真的想要删除这条状态吗?",reply_to:"回复",replies_list:"回复:",mute_conversation:"隐藏对话",unmute_conversation:"对话取消隐藏"},user_card:{approve:"允许",block:"屏蔽",blocked:"已屏蔽!",deny:"拒绝",favorites:"收藏",follow:"关注",follow_sent:"请求已发送!",follow_progress:"请求中",follow_again:"再次发送请求?",follow_unfollow:"取消关注",followees:"正在关注",followers:"关注者",following:"正在关注!",follows_you:"关注了你!",its_you:"就是你!!",media:"媒体",mute:"隐藏",muted:"已隐藏",per_day:"每天",remote_follow:"跨站关注",report:"报告",statuses:"状态",subscribe:"订阅",unsubscribe:"退订",unblock:"取消拉黑",unblock_progress:"取消拉黑中…",block_progress:"拉黑中…",unmute:"取消隐藏",unmute_progress:"取消隐藏中…",mute_progress:"隐藏中…",admin_menu:{moderation:"权限",grant_admin:"赋予管理权限",revoke_admin:"撤销管理权限",grant_moderator:"赋予版主权限",revoke_moderator:"撤销版主权限",activate_account:"激活账号",deactivate_account:"关闭账号",delete_account:"删除账号",force_nsfw:"标记所有的帖子都是 - 工作场合不适",strip_media:"从帖子里删除媒体文件",force_unlisted:"强制帖子为不公开",sandbox:"强制帖子为只有关注者可看",disable_remote_subscription:"禁止从远程实例关注用户",disable_any_subscription:"完全禁止关注用户",quarantine:"从联合实例中禁止用户帖子",delete_user:"删除用户",delete_user_confirmation:"你确认吗?此操作无法撤销。"},hidden:"已隐藏",show_repeats:"显示转发",hide_repeats:"隐藏转发"},user_profile:{timeline_title:"用户时间线",profile_does_not_exist:"抱歉,此个人资料不存在。",profile_loading_error:"抱歉,载入个人资料时出错。"},user_reporting:{title:"报告 {0}",add_comment_description:"此报告会发送给你的实例管理员。你可以在下面提供更多详细信息解释报告的缘由:",additional_comments:"其它信息",forward_description:"这个账号是从另外一个服务器。同时发送一个副本到那里?",forward_to:"转发 {0}",submit:"提交",generic_error:"当处理你的请求时,发生了一个错误。"},who_to_follow:{more:"更多",who_to_follow:"推荐关注"},tool_tip:{media_upload:"上传多媒体",repeat:"转发",reply:"回复",favorite:"收藏",user_settings:"用户设置",reject_follow_request:"拒绝关注请求",add_reaction:"添加互动"},upload:{error:{base:"上传不成功。",file_too_big:"文件太大了 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",default:"迟些再试"},file_size_units:{B:"B",KiB:"KiB",MiB:"MiB",GiB:"GiB",TiB:"TiB"}},search:{people:"人",hashtags:"Hashtags",person_talking:"{count} 人正在讨论",people_talking:"{count} 人正在讨论",no_results:"没有搜索结果"},password_reset:{forgot_password:"忘记密码了?",password_reset:"重置密码",instruction:"输入你的电邮地址或者用户名,我们将发送一个链接到你的邮箱,用于重置密码。",placeholder:"你的电邮地址或者用户名",check_email:"检查你的邮箱,会有一个链接用于重置密码。",return_home:"回到首页",not_found:"我们无法找到匹配的邮箱地址或者用户名。",too_many_requests:"你触发了尝试的限制,请稍后再试。",password_reset_disabled:"密码重置已经被禁用。请联系你的实例管理员。"},remote_user_resolver:{error:"未找到。",searching_for:"搜索",remote_user_resolver:"远程用户解析器"},emoji:{keep_open:"选择器保持打开",stickers:"贴图",unicode:"Unicode 表情符号",custom:"自定义表情符号",add_emoji:"插入表情符号",search_emoji:"搜索表情符号",emoji:"表情符号"},about:{mrf:{simple:{quarantine_desc:"本实例只会把公开状态发送非下列实例:",quarantine:"隔离",reject_desc:"本实例不会接收来自下列实例的消息:",reject:"拒绝",accept_desc:"本实例只接收来自下列实例的消息:",simple_policies:"站规",accept:"接受",media_removal:"移除媒体"},mrf_policies_desc:"MRF 策略会影响本实例的互通行为。以下策略已启用:",mrf_policies:"已启动 MRF 策略",keyword:{ftl_removal:"从“全部已知网络”时间线上移除",keyword_policies:"关键词策略",is_replaced_by:"→",replace:"替换",reject:"拒绝"},federation:"联邦"}},domain_mute_card:{unmute_progress:"正在取消隐藏…",unmute:"取消隐藏",mute_progress:"隐藏中…",mute:"隐藏"}}}}]); +//# sourceMappingURL=30.73e09f3b43617410dec7.js.map \ No newline at end of file diff --git a/priv/static/static/js/30.73e09f3b43617410dec7.js.map b/priv/static/static/js/30.73e09f3b43617410dec7.js.map new file mode 100644 index 000000000..cb546de17 --- /dev/null +++ b/priv/static/static/js/30.73e09f3b43617410dec7.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/30.73e09f3b43617410dec7.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/4.c3f92d0b6ff90b36e3f5.js b/priv/static/static/js/4.2d3bef896b463484e6eb.js similarity index 77% rename from priv/static/static/js/4.c3f92d0b6ff90b36e3f5.js rename to priv/static/static/js/4.2d3bef896b463484e6eb.js index 98ea02539..4a611feb4 100644 --- a/priv/static/static/js/4.c3f92d0b6ff90b36e3f5.js +++ b/priv/static/static/js/4.2d3bef896b463484e6eb.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{564:function(t,e,i){var c=i(565);"string"==typeof c&&(c=[[t.i,c,""]]),c.locals&&(t.exports=c.locals);(0,i(4).default)("cc6cdea4",c,!0,{})},565:function(t,e,i){(t.exports=i(3)(!1)).push([t.i,".sticker-picker{width:100%}.sticker-picker .contents{min-height:250px}.sticker-picker .contents .sticker-picker-content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 4px}.sticker-picker .contents .sticker-picker-content .sticker{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;margin:4px;width:56px;height:56px}.sticker-picker .contents .sticker-picker-content .sticker img{height:100%}.sticker-picker .contents .sticker-picker-content .sticker img:hover{filter:drop-shadow(0 0 5px var(--accent,#d8a070))}",""])},617:function(t,e,i){"use strict";i.r(e);var c=i(55),n={components:{TabSwitcher:i(130).a},data:function(){return{meta:{stickers:[]},path:""}},computed:{pack:function(){return this.$store.state.instance.stickers||[]}},methods:{clear:function(){this.meta={stickers:[]}},pick:function(t,e){var i=this,n=this.$store;fetch(t).then(function(t){t.blob().then(function(t){var a=new File([t],e,{mimetype:"image/png"}),r=new FormData;r.append("file",a),c.a.uploadMedia({store:n,formData:r}).then(function(t){i.$emit("uploaded",t),i.clear()},function(t){console.warn("Can't attach sticker"),console.warn(t),i.$emit("upload-failed","default")})})})}}},a=i(0);var r=function(t){i(564)},s=Object(a.a)(n,function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"sticker-picker"},[i("tab-switcher",{staticClass:"tab-switcher",attrs:{"render-only-focused":!0,"scrollable-tabs":""}},t._l(t.pack,function(e){return i("div",{key:e.path,staticClass:"sticker-picker-content",attrs:{"image-tooltip":e.meta.title,image:e.path+e.meta.tabIcon}},t._l(e.meta.stickers,function(c){return i("div",{key:c,staticClass:"sticker",on:{click:function(i){return i.stopPropagation(),i.preventDefault(),t.pick(e.path+c,e.meta.title)}}},[i("img",{attrs:{src:e.path+c}})])}),0)}),0)],1)},[],!1,r,null,null);e.default=s.exports}}]); -//# sourceMappingURL=4.c3f92d0b6ff90b36e3f5.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{582:function(t,e,i){var c=i(583);"string"==typeof c&&(c=[[t.i,c,""]]),c.locals&&(t.exports=c.locals);(0,i(5).default)("cc6cdea4",c,!0,{})},583:function(t,e,i){(t.exports=i(4)(!1)).push([t.i,".sticker-picker{width:100%}.sticker-picker .contents{min-height:250px}.sticker-picker .contents .sticker-picker-content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 4px}.sticker-picker .contents .sticker-picker-content .sticker{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;margin:4px;width:56px;height:56px}.sticker-picker .contents .sticker-picker-content .sticker img{height:100%}.sticker-picker .contents .sticker-picker-content .sticker img:hover{filter:drop-shadow(0 0 5px var(--accent,#d8a070))}",""])},635:function(t,e,i){"use strict";i.r(e);var c=i(61),n={components:{TabSwitcher:i(140).a},data:function(){return{meta:{stickers:[]},path:""}},computed:{pack:function(){return this.$store.state.instance.stickers||[]}},methods:{clear:function(){this.meta={stickers:[]}},pick:function(t,e){var i=this,n=this.$store;fetch(t).then(function(t){t.blob().then(function(t){var a=new File([t],e,{mimetype:"image/png"}),r=new FormData;r.append("file",a),c.a.uploadMedia({store:n,formData:r}).then(function(t){i.$emit("uploaded",t),i.clear()},function(t){console.warn("Can't attach sticker"),console.warn(t),i.$emit("upload-failed","default")})})})}}},a=i(0);var r=function(t){i(582)},s=Object(a.a)(n,function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"sticker-picker"},[i("tab-switcher",{staticClass:"tab-switcher",attrs:{"render-only-focused":!0,"scrollable-tabs":""}},t._l(t.pack,function(e){return i("div",{key:e.path,staticClass:"sticker-picker-content",attrs:{"image-tooltip":e.meta.title,image:e.path+e.meta.tabIcon}},t._l(e.meta.stickers,function(c){return i("div",{key:c,staticClass:"sticker",on:{click:function(i){return i.stopPropagation(),i.preventDefault(),t.pick(e.path+c,e.meta.title)}}},[i("img",{attrs:{src:e.path+c}})])}),0)}),0)],1)},[],!1,r,null,null);e.default=s.exports}}]); +//# sourceMappingURL=4.2d3bef896b463484e6eb.js.map \ No newline at end of file diff --git a/priv/static/static/js/4.c3f92d0b6ff90b36e3f5.js.map b/priv/static/static/js/4.2d3bef896b463484e6eb.js.map similarity index 99% rename from priv/static/static/js/4.c3f92d0b6ff90b36e3f5.js.map rename to priv/static/static/js/4.2d3bef896b463484e6eb.js.map index 261abbb00..ebcc883e5 100644 --- a/priv/static/static/js/4.c3f92d0b6ff90b36e3f5.js.map +++ b/priv/static/static/js/4.2d3bef896b463484e6eb.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/components/sticker_picker/sticker_picker.vue?d6cd","webpack:///./src/components/sticker_picker/sticker_picker.vue?d5ea","webpack:///./src/components/sticker_picker/sticker_picker.js","webpack:///./src/components/sticker_picker/sticker_picker.vue","webpack:///./src/components/sticker_picker/sticker_picker.vue?7504"],"names":["content","__webpack_require__","module","i","locals","exports","add","default","push","StickerPicker","components","TabSwitcher","data","meta","stickers","path","computed","pack","this","$store","state","instance","methods","clear","pick","sticker","name","_this","store","fetch","then","res","blob","file","File","mimetype","formData","FormData","append","statusPosterService","uploadMedia","fileData","$emit","error","console","warn","__vue_styles__","context","Component","Object","component_normalizer","sticker_picker","_vm","_h","$createElement","_c","_self","staticClass","attrs","render-only-focused","scrollable-tabs","_l","stickerpack","key","image-tooltip","title","image","tabIcon","on","click","$event","stopPropagation","preventDefault","src","__webpack_exports__"],"mappings":"6EAGA,IAAAA,EAAcC,EAAQ,KACtB,iBAAAD,MAAA,EAA4CE,EAAAC,EAASH,EAAA,MACrDA,EAAAI,SAAAF,EAAAG,QAAAL,EAAAI,SAGAE,EADUL,EAAQ,GAAgEM,SAClF,WAAAP,GAAA,4BCRAE,EAAAG,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFO,KAAA,CAAcN,EAAAC,EAAS,4iBAA4iB,0DC8CpjBM,EA/CO,CACpBC,WAAY,CACVC,sBAEFC,KAJoB,WAKlB,MAAO,CACLC,KAAM,CACJC,SAAU,IAEZC,KAAM,KAGVC,SAAU,CACRC,KADQ,WAEN,OAAOC,KAAKC,OAAOC,MAAMC,SAASP,UAAY,KAGlDQ,QAAS,CACPC,MADO,WAELL,KAAKL,KAAO,CACVC,SAAU,KAGdU,KANO,SAMDC,EAASC,GAAM,IAAAC,EAAAT,KACbU,EAAQV,KAAKC,OAEnBU,MAAMJ,GACHK,KAAK,SAACC,GACLA,EAAIC,OAAOF,KAAK,SAACE,GACf,IAAIC,EAAO,IAAIC,KAAK,CAACF,GAAON,EAAM,CAAES,SAAU,cAC1CC,EAAW,IAAIC,SACnBD,EAASE,OAAO,OAAQL,GACxBM,IAAoBC,YAAY,CAAEZ,QAAOQ,aACtCN,KAAK,SAACW,GACLd,EAAKe,MAAM,WAAYD,GACvBd,EAAKJ,SACJ,SAACoB,GACFC,QAAQC,KAAK,wBACbD,QAAQC,KAAKF,GACbhB,EAAKe,MAAM,gBAAiB,2BCnC5C,IAEAI,EAVA,SAAAC,GACE9C,EAAQ,MAeV+C,EAAgBC,OAAAC,EAAA,EAAAD,CACdE,ECjBF,WAA0B,IAAAC,EAAAlC,KAAamC,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,kBAA6B,CAAAF,EAAA,gBAAqBE,YAAA,eAAAC,MAAA,CAAkCC,uBAAA,EAAAC,kBAAA,KAAiDR,EAAAS,GAAAT,EAAA,cAAAU,GAAyC,OAAAP,EAAA,OAAiBQ,IAAAD,EAAA/C,KAAA0C,YAAA,yBAAAC,MAAA,CAAiEM,gBAAAF,EAAAjD,KAAAoD,MAAAC,MAAAJ,EAAA/C,KAAA+C,EAAAjD,KAAAsD,UAA4Ff,EAAAS,GAAAC,EAAAjD,KAAA,kBAAAY,GAAsD,OAAA8B,EAAA,OAAiBQ,IAAAtC,EAAAgC,YAAA,UAAAW,GAAA,CAAsCC,MAAA,SAAAC,GAA0E,OAAjDA,EAAAC,kBAAyBD,EAAAE,iBAAwBpB,EAAA5B,KAAAsC,EAAA/C,KAAAU,EAAAqC,EAAAjD,KAAAoD,UAAsE,CAAAV,EAAA,OAAYG,MAAA,CAAOe,IAAAX,EAAA/C,KAAAU,SAAsC,KAAK,QACjwB,IDOA,EAaAqB,EATA,KAEA,MAYe4B,EAAA,QAAA1B,EAAiB","file":"static/js/4.c3f92d0b6ff90b36e3f5.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a \n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c1790f52\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list\"},[_vm._l((_vm.items),function(item){return _c('div',{key:_vm.getKey(item),staticClass:\"list-item\"},[_vm._t(\"item\",null,{\"item\":item})],2)}),_vm._v(\" \"),(_vm.items.length === 0 && !!_vm.$slots.empty)?_c('div',{staticClass:\"list-empty-content faint\"},[_vm._t(\"empty\")],2):_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./checkbox.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-01a5cae8\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./checkbox.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"checkbox\",class:{ disabled: _vm.disabled, indeterminate: _vm.indeterminate }},[_c('input',{attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"checked\":_vm.checked,\"indeterminate\":_vm.indeterminate},on:{\"change\":function($event){return _vm.$emit('change', $event.target.checked)}}}),_vm._v(\" \"),_c('i',{staticClass:\"checkbox-indicator\"}),_vm._v(\" \"),(!!_vm.$slots.default)?_c('span',{staticClass:\"label\"},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { map } from 'lodash'\nimport apiService from '../api/api.service.js'\n\nconst postStatus = ({\n store,\n status,\n spoilerText,\n visibility,\n sensitive,\n poll,\n media = [],\n inReplyToStatusId = undefined,\n contentType = 'text/plain',\n preview = false\n}) => {\n const mediaIds = map(media, 'id')\n\n return apiService.postStatus({\n credentials: store.state.users.currentUser.credentials,\n status,\n spoilerText,\n visibility,\n sensitive,\n mediaIds,\n inReplyToStatusId,\n contentType,\n poll,\n preview\n })\n .then((data) => {\n if (!data.error && !preview) {\n store.dispatch('addNewStatuses', {\n statuses: [data],\n timeline: 'friends',\n showImmediately: true,\n noIdUpdate: true // To prevent missing notices on next pull.\n })\n }\n return data\n })\n .catch((err) => {\n return {\n error: err.message\n }\n })\n}\n\nconst uploadMedia = ({ store, formData }) => {\n const credentials = store.state.users.currentUser.credentials\n return apiService.uploadMedia({ credentials, formData })\n}\n\nconst setMediaDescription = ({ store, id, description }) => {\n const credentials = store.state.users.currentUser.credentials\n return apiService.setMediaDescription({ credentials, id, description })\n}\n\nconst statusPosterService = {\n postStatus,\n uploadMedia,\n setMediaDescription\n}\n\nexport default statusPosterService\n","const StillImage = {\n props: [\n 'src',\n 'referrerpolicy',\n 'mimetype',\n 'imageLoadError',\n 'imageLoadHandler',\n 'alt'\n ],\n data () {\n return {\n stopGifs: this.$store.getters.mergedConfig.stopGifs\n }\n },\n computed: {\n animated () {\n return this.stopGifs && (this.mimetype === 'image/gif' || this.src.endsWith('.gif'))\n }\n },\n methods: {\n onLoad () {\n this.imageLoadHandler && this.imageLoadHandler(this.$refs.src)\n const canvas = this.$refs.canvas\n if (!canvas) return\n const width = this.$refs.src.naturalWidth\n const height = this.$refs.src.naturalHeight\n canvas.width = width\n canvas.height = height\n canvas.getContext('2d').drawImage(this.$refs.src, 0, 0, width, height)\n },\n onError () {\n this.imageLoadError && this.imageLoadError()\n }\n }\n}\n\nexport default StillImage\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./still-image.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./still-image.js\"\nimport __vue_script__ from \"!!babel-loader!./still-image.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6a0d8118\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./still-image.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"still-image\",class:{ animated: _vm.animated }},[(_vm.animated)?_c('canvas',{ref:\"canvas\"}):_vm._e(),_vm._v(\" \"),_c('img',{key:_vm.src,ref:\"src\",attrs:{\"alt\":_vm.alt,\"title\":_vm.alt,\"src\":_vm.src,\"referrerpolicy\":_vm.referrerpolicy},on:{\"load\":_vm.onLoad,\"error\":_vm.onError}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","// When contributing, please sort JSON before committing so it would be easier to see what's missing and what's being added compared to English and other languages. It's not obligatory, but just an advice.\n// To sort json use jq https://stedolan.github.io/jq and invoke it like `jq -S . xx.json > xx.sorted.json`, AFAIK, there's no inplace edit option like in sed\n// Also, when adding a new language to \"messages\" variable, please do it alphabetically by language code so that users can search or check their custom language easily.\n\n// For anyone contributing to old huge messages.js and in need to quickly convert it to JSON\n// sed command for converting currently formatted JS to JSON:\n// sed -i -e \"s/'//gm\" -e 's/\"/\\\\\"/gm' -re 's/^( +)(.+?): ((.+?))?(,?)(\\{?)$/\\1\"\\2\": \"\\4\"/gm' -e 's/\\\"\\{\\\"/{/g' -e 's/,\"$/\",/g' file.json\n// There's only problem that apostrophe character ' gets replaced by \\\\ so you have to fix it manually, sorry.\n\nconst loaders = {\n ar: () => import('./ar.json'),\n ca: () => import('./ca.json'),\n cs: () => import('./cs.json'),\n de: () => import('./de.json'),\n eo: () => import('./eo.json'),\n es: () => import('./es.json'),\n et: () => import('./et.json'),\n eu: () => import('./eu.json'),\n fi: () => import('./fi.json'),\n fr: () => import('./fr.json'),\n ga: () => import('./ga.json'),\n he: () => import('./he.json'),\n hu: () => import('./hu.json'),\n it: () => import('./it.json'),\n ja: () => import('./ja_pedantic.json'),\n ja_easy: () => import('./ja_easy.json'),\n ko: () => import('./ko.json'),\n nb: () => import('./nb.json'),\n nl: () => import('./nl.json'),\n oc: () => import('./oc.json'),\n pl: () => import('./pl.json'),\n pt: () => import('./pt.json'),\n ro: () => import('./ro.json'),\n ru: () => import('./ru.json'),\n te: () => import('./te.json'),\n zh: () => import('./zh.json')\n}\n\nconst messages = {\n languages: ['en', ...Object.keys(loaders)],\n default: {\n en: require('./en.json')\n },\n setLanguage: async (i18n, language) => {\n if (loaders[language]) {\n let messages = await loaders[language]()\n i18n.setLocaleMessage(language, messages)\n }\n i18n.locale = language\n }\n}\n\nexport default messages\n","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./progress_button.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./progress_button.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9f751ae6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./progress_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{attrs:{\"disabled\":_vm.progress || _vm.disabled},on:{\"click\":_vm.onClick}},[(_vm.progress && _vm.$slots.progress)?[_vm._t(\"progress\")]:[_vm._t(\"default\")]],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set, delete as del } from 'vue'\nimport { setPreset, applyTheme } from '../services/style_setter/style_setter.js'\nimport messages from '../i18n/messages'\n\nconst browserLocale = (window.navigator.language || 'en').split('-')[0]\n\n/* TODO this is a bit messy.\n * We need to declare settings with their types and also deal with\n * instance-default settings in some way, hopefully try to avoid copy-pasta\n * in general.\n */\nexport const multiChoiceProperties = [\n 'postContentType',\n 'subjectLineBehavior'\n]\n\nexport const defaultState = {\n colors: {},\n theme: undefined,\n customTheme: undefined,\n customThemeSource: undefined,\n hideISP: false,\n // bad name: actually hides posts of muted USERS\n hideMutedPosts: undefined, // instance default\n collapseMessageWithSubject: undefined, // instance default\n padEmoji: true,\n hideAttachments: false,\n hideAttachmentsInConv: false,\n maxThumbnails: 16,\n hideNsfw: true,\n preloadImage: true,\n loopVideo: true,\n loopVideoSilentOnly: true,\n autoLoad: true,\n streaming: false,\n hoverPreview: true,\n emojiReactionsOnTimeline: true,\n autohideFloatingPostButton: false,\n pauseOnUnfocused: true,\n stopGifs: false,\n replyVisibility: 'all',\n notificationVisibility: {\n follows: true,\n mentions: true,\n likes: true,\n repeats: true,\n moves: true,\n emojiReactions: false,\n followRequest: true,\n chatMention: true\n },\n webPushNotifications: false,\n muteWords: [],\n highlight: {},\n interfaceLanguage: browserLocale,\n hideScopeNotice: false,\n useStreamingApi: false,\n scopeCopy: undefined, // instance default\n subjectLineBehavior: undefined, // instance default\n alwaysShowSubjectInput: undefined, // instance default\n postContentType: undefined, // instance default\n minimalScopesMode: undefined, // instance default\n // This hides statuses filtered via a word filter\n hideFilteredStatuses: undefined, // instance default\n playVideosInModal: false,\n useOneClickNsfw: false,\n useContainFit: false,\n greentext: undefined, // instance default\n hidePostStats: undefined, // instance default\n hideUserStats: undefined // instance default\n}\n\n// caching the instance default properties\nexport const instanceDefaultProperties = Object.entries(defaultState)\n .filter(([key, value]) => value === undefined)\n .map(([key, value]) => key)\n\nconst config = {\n state: defaultState,\n getters: {\n mergedConfig (state, getters, rootState, rootGetters) {\n const { instance } = rootState\n return {\n ...state,\n ...instanceDefaultProperties\n .map(key => [key, state[key] === undefined\n ? instance[key]\n : state[key]\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {})\n }\n }\n },\n mutations: {\n setOption (state, { name, value }) {\n set(state, name, value)\n },\n setHighlight (state, { user, color, type }) {\n const data = this.state.config.highlight[user]\n if (color || type) {\n set(state.highlight, user, { color: color || data.color, type: type || data.type })\n } else {\n del(state.highlight, user)\n }\n }\n },\n actions: {\n setHighlight ({ commit, dispatch }, { user, color, type }) {\n commit('setHighlight', { user, color, type })\n },\n setOption ({ commit, dispatch }, { name, value }) {\n commit('setOption', { name, value })\n switch (name) {\n case 'theme':\n setPreset(value)\n break\n case 'customTheme':\n case 'customThemeSource':\n applyTheme(value)\n break\n case 'interfaceLanguage':\n messages.setLanguage(this.getters.i18n, value)\n break\n }\n }\n }\n}\n\nexport default config\n","import { filter } from 'lodash'\n\nexport const muteWordHits = (status, muteWords) => {\n const statusText = status.text.toLowerCase()\n const statusSummary = status.summary.toLowerCase()\n const hits = filter(muteWords, (muteWord) => {\n return statusText.includes(muteWord.toLowerCase()) || statusSummary.includes(muteWord.toLowerCase())\n })\n\n return hits\n}\n","export const findOffset = (child, parent, { top = 0, left = 0 } = {}, ignorePadding = true) => {\n const result = {\n top: top + child.offsetTop,\n left: left + child.offsetLeft\n }\n if (!ignorePadding && child !== window) {\n const { topPadding, leftPadding } = findPadding(child)\n result.top += ignorePadding ? 0 : topPadding\n result.left += ignorePadding ? 0 : leftPadding\n }\n\n if (child.offsetParent && (parent === window || parent.contains(child.offsetParent) || parent === child.offsetParent)) {\n return findOffset(child.offsetParent, parent, result, false)\n } else {\n if (parent !== window) {\n const { topPadding, leftPadding } = findPadding(parent)\n result.top += topPadding\n result.left += leftPadding\n }\n return result\n }\n}\n\nconst findPadding = (el) => {\n const topPaddingStr = window.getComputedStyle(el)['padding-top']\n const topPadding = Number(topPaddingStr.substring(0, topPaddingStr.length - 2))\n const leftPaddingStr = window.getComputedStyle(el)['padding-left']\n const leftPadding = Number(leftPaddingStr.substring(0, leftPaddingStr.length - 2))\n\n return { topPadding, leftPadding }\n}\n","const fetchRelationship = (attempt, userId, store) => new Promise((resolve, reject) => {\n setTimeout(() => {\n store.state.api.backendInteractor.fetchUserRelationship({ id: userId })\n .then((relationship) => {\n store.commit('updateUserRelationship', [relationship])\n return relationship\n })\n .then((relationship) => resolve([relationship.following, relationship.requested, relationship.locked, attempt]))\n .catch((e) => reject(e))\n }, 500)\n}).then(([following, sent, locked, attempt]) => {\n if (!following && !(locked && sent) && attempt <= 3) {\n // If we BE reports that we still not following that user - retry,\n // increment attempts by one\n fetchRelationship(++attempt, userId, store)\n }\n})\n\nexport const requestFollow = (userId, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.followUser({ id: userId })\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n\n if (updated.following || (updated.locked && updated.requested)) {\n // If we get result immediately or the account is locked, just stop.\n resolve()\n return\n }\n\n // But usually we don't get result immediately, so we ask server\n // for updated user profile to confirm if we are following them\n // Sometimes it takes several tries. Sometimes we end up not following\n // user anyway, probably because they locked themselves and we\n // don't know that yet.\n // Recursive Promise, it will call itself up to 3 times.\n\n return fetchRelationship(1, updated, store)\n .then(() => {\n resolve()\n })\n })\n})\n\nexport const requestUnfollow = (userId, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.unfollowUser({ id: userId })\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n resolve({\n updated\n })\n })\n})\n","import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate'\nexport default {\n props: ['relationship', 'labelFollowing', 'buttonClass'],\n data () {\n return {\n inProgress: false\n }\n },\n computed: {\n isPressed () {\n return this.inProgress || this.relationship.following\n },\n title () {\n if (this.inProgress || this.relationship.following) {\n return this.$t('user_card.follow_unfollow')\n } else if (this.relationship.requested) {\n return this.$t('user_card.follow_again')\n } else {\n return this.$t('user_card.follow')\n }\n },\n label () {\n if (this.inProgress) {\n return this.$t('user_card.follow_progress')\n } else if (this.relationship.following) {\n return this.labelFollowing || this.$t('user_card.following')\n } else if (this.relationship.requested) {\n return this.$t('user_card.follow_sent')\n } else {\n return this.$t('user_card.follow')\n }\n }\n },\n methods: {\n onClick () {\n this.relationship.following ? this.unfollow() : this.follow()\n },\n follow () {\n this.inProgress = true\n requestFollow(this.relationship.id, this.$store).then(() => {\n this.inProgress = false\n })\n },\n unfollow () {\n const store = this.$store\n this.inProgress = true\n requestUnfollow(this.relationship.id, store).then(() => {\n this.inProgress = false\n store.commit('removeStatus', { timeline: 'friends', userId: this.relationship.id })\n })\n }\n }\n}\n","/* script */\nexport * from \"!!babel-loader!./follow_button.js\"\nimport __vue_script__ from \"!!babel-loader!./follow_button.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-fae84d0a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./follow_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn btn-default follow-button\",class:{ toggled: _vm.isPressed },attrs:{\"disabled\":_vm.inProgress,\"title\":_vm.title},on:{\"click\":_vm.onClick}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n\")])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\nconst VideoAttachment = {\n props: ['attachment', 'controls'],\n data () {\n return {\n loopVideo: this.$store.getters.mergedConfig.loopVideo\n }\n },\n methods: {\n onVideoDataLoad (e) {\n const target = e.srcElement || e.target\n if (typeof target.webkitAudioDecodedByteCount !== 'undefined') {\n // non-zero if video has audio track\n if (target.webkitAudioDecodedByteCount > 0) {\n this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly\n }\n } else if (typeof target.mozHasAudio !== 'undefined') {\n // true if video has audio track\n if (target.mozHasAudio) {\n this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly\n }\n } else if (typeof target.audioTracks !== 'undefined') {\n if (target.audioTracks.length > 0) {\n this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly\n }\n }\n }\n }\n}\n\nexport default VideoAttachment\n","/* script */\nexport * from \"!!babel-loader!./video_attachment.js\"\nimport __vue_script__ from \"!!babel-loader!./video_attachment.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-45029e08\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./video_attachment.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('video',{staticClass:\"video\",attrs:{\"src\":_vm.attachment.url,\"loop\":_vm.loopVideo,\"controls\":_vm.controls,\"alt\":_vm.attachment.description,\"title\":_vm.attachment.description,\"playsinline\":\"\"},on:{\"loadeddata\":_vm.onVideoDataLoad}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Attachment from '../attachment/attachment.vue'\nimport { chunk, last, dropRight, sumBy } from 'lodash'\n\nconst Gallery = {\n props: [\n 'attachments',\n 'nsfw',\n 'setMedia'\n ],\n data () {\n return {\n sizes: {}\n }\n },\n components: { Attachment },\n computed: {\n rows () {\n if (!this.attachments) {\n return []\n }\n const rows = chunk(this.attachments, 3)\n if (last(rows).length === 1 && rows.length > 1) {\n // if 1 attachment on last row -> add it to the previous row instead\n const lastAttachment = last(rows)[0]\n const allButLastRow = dropRight(rows)\n last(allButLastRow).push(lastAttachment)\n return allButLastRow\n }\n return rows\n },\n useContainFit () {\n return this.$store.getters.mergedConfig.useContainFit\n }\n },\n methods: {\n onNaturalSizeLoad (id, size) {\n this.$set(this.sizes, id, size)\n },\n rowStyle (itemsPerRow) {\n return { 'padding-bottom': `${(100 / (itemsPerRow + 0.6))}%` }\n },\n itemStyle (id, row) {\n const total = sumBy(row, item => this.getAspectRatio(item.id))\n return { flex: `${this.getAspectRatio(id) / total} 1 0%` }\n },\n getAspectRatio (id) {\n const size = this.sizes[id]\n return size ? size.width / size.height : 1\n }\n }\n}\n\nexport default Gallery\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./gallery.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./gallery.js\"\nimport __vue_script__ from \"!!babel-loader!./gallery.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3db94942\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./gallery.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"galleryContainer\",staticStyle:{\"width\":\"100%\"}},_vm._l((_vm.rows),function(row,index){return _c('div',{key:index,staticClass:\"gallery-row\",class:{ 'contain-fit': _vm.useContainFit, 'cover-fit': !_vm.useContainFit },style:(_vm.rowStyle(row.length))},[_c('div',{staticClass:\"gallery-row-inner\"},_vm._l((row),function(attachment){return _c('attachment',{key:attachment.id,style:(_vm.itemStyle(attachment.id, row)),attrs:{\"set-media\":_vm.setMedia,\"nsfw\":_vm.nsfw,\"attachment\":attachment,\"allow-play\":false,\"natural-size-load\":_vm.onNaturalSizeLoad.bind(null, attachment.id)}})}),1)])}),0)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","const LinkPreview = {\n name: 'LinkPreview',\n props: [\n 'card',\n 'size',\n 'nsfw'\n ],\n data () {\n return {\n imageLoaded: false\n }\n },\n computed: {\n useImage () {\n // Currently BE shoudn't give cards if tagged NSFW, this is a bit paranoid\n // as it makes sure to hide the image if somehow NSFW tagged preview can\n // exist.\n return this.card.image && !this.nsfw && this.size !== 'hide'\n },\n useDescription () {\n return this.card.description && /\\S/.test(this.card.description)\n }\n },\n created () {\n if (this.useImage) {\n const newImg = new Image()\n newImg.onload = () => {\n this.imageLoaded = true\n }\n newImg.src = this.card.image\n }\n }\n}\n\nexport default LinkPreview\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./link-preview.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./link-preview.js\"\nimport __vue_script__ from \"!!babel-loader!./link-preview.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7c8d99ac\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./link-preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('a',{staticClass:\"link-preview-card\",attrs:{\"href\":_vm.card.url,\"target\":\"_blank\",\"rel\":\"noopener\"}},[(_vm.useImage && _vm.imageLoaded)?_c('div',{staticClass:\"card-image\",class:{ 'small-image': _vm.size === 'small' }},[_c('img',{attrs:{\"src\":_vm.card.image}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"card-content\"},[_c('span',{staticClass:\"card-host faint\"},[_vm._v(_vm._s(_vm.card.provider_name))]),_vm._v(\" \"),_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.card.title))]),_vm._v(\" \"),(_vm.useDescription)?_c('p',{staticClass:\"card-description\"},[_vm._v(_vm._s(_vm.card.description))]):_vm._e()])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","export default {\n props: [ 'user' ],\n computed: {\n subscribeUrl () {\n // eslint-disable-next-line no-undef\n const serverUrl = new URL(this.user.statusnet_profile_url)\n return `${serverUrl.protocol}//${serverUrl.host}/main/ostatus`\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./remote_follow.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./remote_follow.js\"\nimport __vue_script__ from \"!!babel-loader!./remote_follow.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e95e446e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./remote_follow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"remote-follow\"},[_c('form',{attrs:{\"method\":\"POST\",\"action\":_vm.subscribeUrl}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"nickname\"},domProps:{\"value\":_vm.user.screen_name}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"profile\",\"value\":\"\"}}),_vm._v(\" \"),_c('button',{staticClass:\"remote-button\",attrs:{\"click\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.remote_follow'))+\"\\n \")])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import UserAvatar from '../user_avatar/user_avatar.vue'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst AvatarList = {\n props: ['users'],\n computed: {\n slicedUsers () {\n return this.users ? this.users.slice(0, 15) : []\n }\n },\n components: {\n UserAvatar\n },\n methods: {\n userProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n }\n }\n}\n\nexport default AvatarList\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./avatar_list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./avatar_list.js\"\nimport __vue_script__ from \"!!babel-loader!./avatar_list.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4cea5bcf\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./avatar_list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"avatars\"},_vm._l((_vm.slicedUsers),function(user){return _c('router-link',{key:user.id,staticClass:\"avatars-item\",attrs:{\"to\":_vm.userProfileLink(user)}},[_c('UserAvatar',{staticClass:\"avatar-small\",attrs:{\"user\":user}})],1)}),1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","const fileSizeFormat = (num) => {\n var exponent\n var unit\n var units = ['B', 'KiB', 'MiB', 'GiB', 'TiB']\n if (num < 1) {\n return num + ' ' + units[0]\n }\n\n exponent = Math.min(Math.floor(Math.log(num) / Math.log(1024)), units.length - 1)\n num = (num / Math.pow(1024, exponent)).toFixed(2) * 1\n unit = units[exponent]\n return { num: num, unit: unit }\n}\nconst fileSizeFormatService = {\n fileSizeFormat\n}\nexport default fileSizeFormatService\n","import { debounce } from 'lodash'\n/**\n * suggest - generates a suggestor function to be used by emoji-input\n * data: object providing source information for specific types of suggestions:\n * data.emoji - optional, an array of all emoji available i.e.\n * (state.instance.emoji + state.instance.customEmoji)\n * data.users - optional, an array of all known users\n * updateUsersList - optional, a function to search and append to users\n *\n * Depending on data present one or both (or none) can be present, so if field\n * doesn't support user linking you can just provide only emoji.\n */\n\nconst debounceUserSearch = debounce((data, input) => {\n data.updateUsersList(input)\n}, 500)\n\nexport default data => input => {\n const firstChar = input[0]\n if (firstChar === ':' && data.emoji) {\n return suggestEmoji(data.emoji)(input)\n }\n if (firstChar === '@' && data.users) {\n return suggestUsers(data)(input)\n }\n return []\n}\n\nexport const suggestEmoji = emojis => input => {\n const noPrefix = input.toLowerCase().substr(1)\n return emojis\n .filter(({ displayText }) => displayText.toLowerCase().match(noPrefix))\n .sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // An exact match always wins\n aScore += a.displayText.toLowerCase() === noPrefix ? 200 : 0\n bScore += b.displayText.toLowerCase() === noPrefix ? 200 : 0\n\n // Prioritize custom emoji a lot\n aScore += a.imageUrl ? 100 : 0\n bScore += b.imageUrl ? 100 : 0\n\n // Prioritize prefix matches somewhat\n aScore += a.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0\n bScore += b.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0\n\n // Sort by length\n aScore -= a.displayText.length\n bScore -= b.displayText.length\n\n // Break ties alphabetically\n const alphabetically = a.displayText > b.displayText ? 0.5 : -0.5\n\n return bScore - aScore + alphabetically\n })\n}\n\nexport const suggestUsers = data => input => {\n const noPrefix = input.toLowerCase().substr(1)\n const users = data.users\n\n const newUsers = users.filter(\n user =>\n user.screen_name.toLowerCase().startsWith(noPrefix) ||\n user.name.toLowerCase().startsWith(noPrefix)\n\n /* taking only 20 results so that sorting is a bit cheaper, we display\n * only 5 anyway. could be inaccurate, but we ideally we should query\n * backend anyway\n */\n ).slice(0, 20).sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // Matches on screen name (i.e. user@instance) makes a priority\n aScore += a.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n bScore += b.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n\n // Matches on name takes second priority\n aScore += a.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n bScore += b.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n\n const diff = (bScore - aScore) * 10\n\n // Then sort alphabetically\n const nameAlphabetically = a.name > b.name ? 1 : -1\n const screenNameAlphabetically = a.screen_name > b.screen_name ? 1 : -1\n\n return diff + nameAlphabetically + screenNameAlphabetically\n /* eslint-disable camelcase */\n }).map(({ screen_name, name, profile_image_url_original }) => ({\n displayText: screen_name,\n detailText: name,\n imageUrl: profile_image_url_original,\n replacement: '@' + screen_name + ' '\n }))\n\n // BE search users to get more comprehensive results\n if (data.updateUsersList) {\n debounceUserSearch(data, noPrefix)\n }\n return newUsers\n /* eslint-enable camelcase */\n}\n","import Vue from 'vue'\n\nimport './tab_switcher.scss'\n\nexport default Vue.component('tab-switcher', {\n name: 'TabSwitcher',\n props: {\n renderOnlyFocused: {\n required: false,\n type: Boolean,\n default: false\n },\n onSwitch: {\n required: false,\n type: Function,\n default: undefined\n },\n activeTab: {\n required: false,\n type: String,\n default: undefined\n },\n scrollableTabs: {\n required: false,\n type: Boolean,\n default: false\n },\n sideTabBar: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n active: this.$slots.default.findIndex(_ => _.tag)\n }\n },\n computed: {\n activeIndex () {\n // In case of controlled component\n if (this.activeTab) {\n return this.$slots.default.findIndex(slot => this.activeTab === slot.key)\n } else {\n return this.active\n }\n }\n },\n beforeUpdate () {\n const currentSlot = this.$slots.default[this.active]\n if (!currentSlot.tag) {\n this.active = this.$slots.default.findIndex(_ => _.tag)\n }\n },\n methods: {\n activateTab (index) {\n return (e) => {\n e.preventDefault()\n if (typeof this.onSwitch === 'function') {\n this.onSwitch.call(null, this.$slots.default[index].key)\n }\n this.active = index\n if (this.scrollableTabs) {\n this.$refs.contents.scrollTop = 0\n }\n }\n }\n },\n render (h) {\n const tabs = this.$slots.default\n .map((slot, index) => {\n if (!slot.tag) return\n const classesTab = ['tab']\n const classesWrapper = ['tab-wrapper']\n if (this.activeIndex === index) {\n classesTab.push('active')\n classesWrapper.push('active')\n }\n if (slot.data.attrs.image) {\n return (\n
\n \n \n {slot.data.attrs.label ? '' : slot.data.attrs.label}\n \n
\n )\n }\n return (\n
\n \n {!slot.data.attrs.icon ? '' : ()}\n \n {slot.data.attrs.label}\n \n \n
\n )\n })\n\n const contents = this.$slots.default.map((slot, index) => {\n if (!slot.tag) return\n const active = this.activeIndex === index\n const classes = [ active ? 'active' : 'hidden' ]\n if (slot.data.attrs.fullHeight) {\n classes.push('full-height')\n }\n const renderSlot = (!this.renderOnlyFocused || active)\n ? slot\n : ''\n\n return (\n
\n {\n this.sideTabBar\n ?

{slot.data.attrs.label}

\n : ''\n }\n {renderSlot}\n
\n )\n })\n\n return (\n
\n
\n {tabs}\n
\n
\n {contents}\n
\n
\n )\n }\n})\n","import isFunction from 'lodash/isFunction'\n\nconst getComponentOptions = (Component) => (isFunction(Component)) ? Component.options : Component\n\nconst getComponentProps = (Component) => getComponentOptions(Component).props\n\nexport {\n getComponentOptions,\n getComponentProps\n}\n","import { reduce, find } from 'lodash'\n\nexport const replaceWord = (str, toReplace, replacement) => {\n return str.slice(0, toReplace.start) + replacement + str.slice(toReplace.end)\n}\n\nexport const wordAtPosition = (str, pos) => {\n const words = splitIntoWords(str)\n const wordsWithPosition = addPositionToWords(words)\n\n return find(wordsWithPosition, ({ start, end }) => start <= pos && end > pos)\n}\n\nexport const addPositionToWords = (words) => {\n return reduce(words, (result, word) => {\n const data = {\n word,\n start: 0,\n end: word.length\n }\n\n if (result.length > 0) {\n const previous = result.pop()\n\n data.start += previous.end\n data.end += previous.end\n\n result.push(previous)\n }\n\n result.push(data)\n\n return result\n }, [])\n}\n\nexport const splitIntoWords = (str) => {\n // Split at word boundaries\n const regex = /\\b/\n const triggers = /[@#:]+$/\n\n let split = str.split(regex)\n\n // Add trailing @ and # to the following word.\n const words = reduce(split, (result, word) => {\n if (result.length > 0) {\n let previous = result.pop()\n const matches = previous.match(triggers)\n if (matches) {\n previous = previous.replace(triggers, '')\n word = matches[0] + word\n }\n result.push(previous)\n }\n result.push(word)\n\n return result\n }, [])\n\n return words\n}\n\nconst completion = {\n wordAtPosition,\n addPositionToWords,\n splitIntoWords,\n replaceWord\n}\n\nexport default completion\n","import Checkbox from '../checkbox/checkbox.vue'\n\n// At widest, approximately 20 emoji are visible in a row,\n// loading 3 rows, could be overkill for narrow picker\nconst LOAD_EMOJI_BY = 60\n\n// When to start loading new batch emoji, in pixels\nconst LOAD_EMOJI_MARGIN = 64\n\nconst filterByKeyword = (list, keyword = '') => {\n return list.filter(x => x.displayText.includes(keyword))\n}\n\nconst EmojiPicker = {\n props: {\n enableStickerPicker: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n keyword: '',\n activeGroup: 'custom',\n showingStickers: false,\n groupsScrolledClass: 'scrolled-top',\n keepOpen: false,\n customEmojiBufferSlice: LOAD_EMOJI_BY,\n customEmojiTimeout: null,\n customEmojiLoadAllConfirmed: false\n }\n },\n components: {\n StickerPicker: () => import('../sticker_picker/sticker_picker.vue'),\n Checkbox\n },\n methods: {\n onStickerUploaded (e) {\n this.$emit('sticker-uploaded', e)\n },\n onStickerUploadFailed (e) {\n this.$emit('sticker-upload-failed', e)\n },\n onEmoji (emoji) {\n const value = emoji.imageUrl ? `:${emoji.displayText}:` : emoji.replacement\n this.$emit('emoji', { insertion: value, keepOpen: this.keepOpen })\n },\n onScroll (e) {\n const target = (e && e.target) || this.$refs['emoji-groups']\n this.updateScrolledClass(target)\n this.scrolledGroup(target)\n this.triggerLoadMore(target)\n },\n highlight (key) {\n const ref = this.$refs['group-' + key]\n const top = ref[0].offsetTop\n this.setShowStickers(false)\n this.activeGroup = key\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = top + 1\n })\n },\n updateScrolledClass (target) {\n if (target.scrollTop <= 5) {\n this.groupsScrolledClass = 'scrolled-top'\n } else if (target.scrollTop >= target.scrollTopMax - 5) {\n this.groupsScrolledClass = 'scrolled-bottom'\n } else {\n this.groupsScrolledClass = 'scrolled-middle'\n }\n },\n triggerLoadMore (target) {\n const ref = this.$refs['group-end-custom'][0]\n if (!ref) return\n const bottom = ref.offsetTop + ref.offsetHeight\n\n const scrollerBottom = target.scrollTop + target.clientHeight\n const scrollerTop = target.scrollTop\n const scrollerMax = target.scrollHeight\n\n // Loads more emoji when they come into view\n const approachingBottom = bottom - scrollerBottom < LOAD_EMOJI_MARGIN\n // Always load when at the very top in case there's no scroll space yet\n const atTop = scrollerTop < 5\n // Don't load when looking at unicode category or at the very bottom\n const bottomAboveViewport = bottom < scrollerTop || scrollerBottom === scrollerMax\n if (!bottomAboveViewport && (approachingBottom || atTop)) {\n this.loadEmoji()\n }\n },\n scrolledGroup (target) {\n const top = target.scrollTop + 5\n this.$nextTick(() => {\n this.emojisView.forEach(group => {\n const ref = this.$refs['group-' + group.id]\n if (ref[0].offsetTop <= top) {\n this.activeGroup = group.id\n }\n })\n })\n },\n loadEmoji () {\n const allLoaded = this.customEmojiBuffer.length === this.filteredEmoji.length\n\n if (allLoaded) {\n return\n }\n\n this.customEmojiBufferSlice += LOAD_EMOJI_BY\n },\n startEmojiLoad (forceUpdate = false) {\n if (!forceUpdate) {\n this.keyword = ''\n }\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = 0\n })\n const bufferSize = this.customEmojiBuffer.length\n const bufferPrefilledAll = bufferSize === this.filteredEmoji.length\n if (bufferPrefilledAll && !forceUpdate) {\n return\n }\n this.customEmojiBufferSlice = LOAD_EMOJI_BY\n },\n toggleStickers () {\n this.showingStickers = !this.showingStickers\n },\n setShowStickers (value) {\n this.showingStickers = value\n }\n },\n watch: {\n keyword () {\n this.customEmojiLoadAllConfirmed = false\n this.onScroll()\n this.startEmojiLoad(true)\n }\n },\n computed: {\n activeGroupView () {\n return this.showingStickers ? '' : this.activeGroup\n },\n stickersAvailable () {\n if (this.$store.state.instance.stickers) {\n return this.$store.state.instance.stickers.length > 0\n }\n return 0\n },\n filteredEmoji () {\n return filterByKeyword(\n this.$store.state.instance.customEmoji || [],\n this.keyword\n )\n },\n customEmojiBuffer () {\n return this.filteredEmoji.slice(0, this.customEmojiBufferSlice)\n },\n emojis () {\n const standardEmojis = this.$store.state.instance.emoji || []\n const customEmojis = this.customEmojiBuffer\n\n return [\n {\n id: 'custom',\n text: this.$t('emoji.custom'),\n icon: 'icon-smile',\n emojis: customEmojis\n },\n {\n id: 'standard',\n text: this.$t('emoji.unicode'),\n icon: 'icon-picture',\n emojis: filterByKeyword(standardEmojis, this.keyword)\n }\n ]\n },\n emojisView () {\n return this.emojis.filter(value => value.emojis.length > 0)\n },\n stickerPickerEnabled () {\n return (this.$store.state.instance.stickers || []).length !== 0\n }\n }\n}\n\nexport default EmojiPicker\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./emoji_picker.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./emoji_picker.js\"\nimport __vue_script__ from \"!!babel-loader!./emoji_picker.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-47d21b3b\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./emoji_picker.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"emoji-picker panel panel-default panel-body\"},[_c('div',{staticClass:\"heading\"},[_c('span',{staticClass:\"emoji-tabs\"},_vm._l((_vm.emojis),function(group){return _c('span',{key:group.id,staticClass:\"emoji-tabs-item\",class:{\n active: _vm.activeGroupView === group.id,\n disabled: group.emojis.length === 0\n },attrs:{\"title\":group.text},on:{\"click\":function($event){$event.preventDefault();return _vm.highlight(group.id)}}},[_c('i',{class:group.icon})])}),0),_vm._v(\" \"),(_vm.stickerPickerEnabled)?_c('span',{staticClass:\"additional-tabs\"},[_c('span',{staticClass:\"stickers-tab-icon additional-tabs-item\",class:{active: _vm.showingStickers},attrs:{\"title\":_vm.$t('emoji.stickers')},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleStickers($event)}}},[_c('i',{staticClass:\"icon-star\"})])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"emoji-content\",class:{hidden: _vm.showingStickers}},[_c('div',{staticClass:\"emoji-search\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.keyword),expression:\"keyword\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('emoji.search_emoji')},domProps:{\"value\":(_vm.keyword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.keyword=$event.target.value}}})]),_vm._v(\" \"),_c('div',{ref:\"emoji-groups\",staticClass:\"emoji-groups\",class:_vm.groupsScrolledClass,on:{\"scroll\":_vm.onScroll}},_vm._l((_vm.emojisView),function(group){return _c('div',{key:group.id,staticClass:\"emoji-group\"},[_c('h6',{ref:'group-' + group.id,refInFor:true,staticClass:\"emoji-group-title\"},[_vm._v(\"\\n \"+_vm._s(group.text)+\"\\n \")]),_vm._v(\" \"),_vm._l((group.emojis),function(emoji){return _c('span',{key:group.id + emoji.displayText,staticClass:\"emoji-item\",attrs:{\"title\":emoji.displayText},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onEmoji(emoji)}}},[(!emoji.imageUrl)?_c('span',[_vm._v(_vm._s(emoji.replacement))]):_c('img',{attrs:{\"src\":emoji.imageUrl}})])}),_vm._v(\" \"),_c('span',{ref:'group-end-' + group.id,refInFor:true})],2)}),0),_vm._v(\" \"),_c('div',{staticClass:\"keep-open\"},[_c('Checkbox',{model:{value:(_vm.keepOpen),callback:function ($$v) {_vm.keepOpen=$$v},expression:\"keepOpen\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('emoji.keep_open'))+\"\\n \")])],1)]),_vm._v(\" \"),(_vm.showingStickers)?_c('div',{staticClass:\"stickers-content\"},[_c('sticker-picker',{on:{\"uploaded\":_vm.onStickerUploaded,\"upload-failed\":_vm.onStickerUploadFailed}})],1):_vm._e()])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Completion from '../../services/completion/completion.js'\nimport EmojiPicker from '../emoji_picker/emoji_picker.vue'\nimport { take } from 'lodash'\nimport { findOffset } from '../../services/offset_finder/offset_finder.service.js'\n\n/**\n * EmojiInput - augmented inputs for emoji and autocomplete support in inputs\n * without having to give up the comfort of and